/* Approved campaign copy, contact reminder and always-visible terms. */
.prices .prices-title{max-width:none}
.form-delivery-note .form-terms-link{
  color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.form-terms-link:hover{color:var(--ink)}
section.closing-contact{padding-block:40px;background:var(--paper-2)}
.closing-contact-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.closing-contact h2{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.25;max-width:none;letter-spacing:-.02em}
.closing-contact p{margin:10px 0 0;color:var(--muted);line-height:1.5}
.closing-contact .btn{flex:none}
section.campaign-terms{margin:0;border:0;padding-block:64px;background:#e2dfd8}
.campaign-terms-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:70px;align-items:start}
.campaign-terms h2{font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.25;letter-spacing:-.02em;max-width:22ch}
.campaign-terms-copy{max-width:76ch;color:#53534f;min-width:0}
.campaign-terms-copy p{font-size:1rem;line-height:1.6;margin:0 0 16px}
.campaign-terms-copy p:last-child{margin-bottom:0}
@media(max-width:980px){
 .campaign-terms-layout{grid-template-columns:minmax(0,1fr);gap:24px}
}
@media(max-width:680px){
 .closing-contact-inner{flex-direction:column;align-items:flex-start}
 .closing-contact .btn{width:100%}
 section.campaign-terms{padding-block:44px}
}

/* Bring products and the enquiry form closer after shortening the price note. */
#prices{padding-bottom:64px}
#offer{padding-top:64px}
@media(max-width:1040px){
 #prices{padding-bottom:48px}
 #offer{padding-top:48px}
}
@media(max-width:680px){
 #prices{padding-bottom:32px}
 #offer{padding-top:32px}
}

/* A slightly deeper neutral background separates the local service section. */
#local-service{background:#e5e1da}
