/* Campaign service pages only: existing section structure and film layers retained. */
.service-landing #commercial-project-form{scroll-margin-top:110px;outline:none}
.service-landing .contact-layout{grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:5vw;align-items:start}
.service-landing .inline-enquiry-card{padding:0;overflow:hidden;border:1px solid #b8d7c0;box-shadow:0 18px 55px #19653218}
.service-landing .inline-enquiry-card>.card-kicker{padding:25px 25px 0;margin-bottom:8px}
.service-landing .inline-enquiry-card>h3{padding:0 25px;margin:0 0 12px;font-size:1.65rem;letter-spacing:-.04em}
.service-landing .inline-enquiry-card>p:not(.card-kicker){padding:0 25px;font-size:.83rem;line-height:1.6}
.service-landing .inline-enquiry-card iframe{display:block;width:100%;height:1500px;border:0;background:#f5f7f3}
.service-landing .inline-enquiry-card>.inline-form-fallback{padding:18px 25px 0;margin-bottom:12px}
.service-landing .inline-form-fallback a{text-decoration:underline;text-underline-offset:3px}
.service-landing .inline-enquiry-card>.privacy-note{padding:0 25px 24px;margin-top:0}
@media(max-width:1100px){.service-landing .contact-layout{grid-template-columns:1fr;gap:35px}.service-landing .inline-enquiry-card{width:100%;max-width:850px}}
.service-landing .hero-copy{max-width:820px}
.service-landing .hero-copy>p{max-width:650px}
.service-landing .hero-qualifier{display:table;max-width:100%;font-size:.72rem;letter-spacing:.08em;line-height:1.6;margin-top:18px}
.service-landing .hero-actions{margin-top:28px;gap:28px;flex-wrap:wrap}
.service-landing .hero-copy>.enquiry-reassurance{font-size:.76rem;line-height:1.5;color:#c0d7ce;margin:15px 0 0;max-width:520px}
.service-landing .hero-actions .button{gap:14px}
.service-landing .hero-secondary{white-space:nowrap}
.service-landing .hero-aside{max-width:225px;font-size:.65rem;gap:12px}
.service-landing .hero-aside a{color:#d6f0df;text-decoration:underline;text-underline-offset:5px;line-height:1.7}
.service-landing .intro-band{padding-block:44px}
.service-landing .intro-layout p{font-size:clamp(1.45rem,2.1vw,2.2rem)}
.service-landing .section{padding-block:88px}
.service-landing .editorial-intro{gap:5vw;grid-template-columns:1fr 1fr}
.service-landing .editorial-intro h2{font-size:clamp(2.1rem,3vw,3.4rem);line-height:1.12}
.service-landing .editorial-intro p{font-size:1rem;line-height:1.7}
.service-benefits{list-style:none;margin:25px 0;padding:0;display:grid;gap:12px;color:#365747;font-size:.92rem;line-height:1.55}
.service-benefits li{position:relative;padding-left:23px}
.service-benefits li:before{content:'↗';position:absolute;left:0;top:0;color:#297b50;font-weight:700}
.service-landing .evidence-link{font-size:.8rem;line-height:1.6;display:table;max-width:100%}
.editorial-enquiry{margin-top:24px}
.service-landing .visual-quote{min-height:530px}
.service-landing .visual-quote h2{font-size:clamp(2.6rem,4.2vw,4.7rem);max-width:780px}
.service-landing .process,.service-landing .faq-section{padding-block:88px}
.service-landing .context-section{gap:5vw}
.service-landing .project-card-copy>span{font-size:.92rem}
.service-landing .connected-section .service-card{min-height:350px}
.service-landing .contact-panel{padding-block:88px}
.service-landing .contact-layout h2{font-size:clamp(2.5rem,3.6vw,4.2rem)}
.service-landing a:focus-visible,.service-landing button:focus-visible,.service-landing summary:focus-visible{outline:3px solid #62ad80;outline-offset:5px}
@media(min-width:1161px){.service-landing .hero-copy{max-width:72%}}
@media(max-width:900px){.service-landing .editorial-intro{grid-template-columns:1fr;gap:38px}.service-landing .editorial-intro p{max-width:680px}.service-landing .editorial-image,.service-landing .editorial-image img{min-height:340px}.service-landing .section{padding-block:70px}}
@media(max-width:600px){
  .service-landing .hero{min-height:650px}
  .service-landing .hero-inner{padding-block:112px 125px}
  .service-landing .hero h1{font-size:clamp(2.45rem,9.8vw,3.6rem);margin-bottom:18px}
  .service-landing .hero-eyebrow{font-size:.62rem;letter-spacing:.11em;line-height:1.65;margin-bottom:18px}
  .service-landing .hero-copy>p{font-size:1rem;line-height:1.55}
  .service-landing .hero-qualifier{font-size:.64rem;margin-top:16px}
  .service-landing .hero-actions{gap:18px;margin-top:23px}
  .service-landing .hero-actions .button{font-size:.8rem;max-width:100%;padding-inline:20px;min-height:48px}
  .service-landing .hero-secondary{font-size:.85rem;min-height:44px;display:inline-flex;align-items:center;padding-bottom:4px}
  .service-landing .hero-copy>.enquiry-reassurance{font-size:.71rem;margin-top:10px}
  .service-landing .intro-band{padding-block:36px}
  .service-landing .intro-layout{gap:12px}
  .service-landing .intro-layout p{font-size:1.45rem}
  .service-landing .section{padding-block:58px}
  .service-landing .editorial-image,.service-landing .editorial-image img{min-height:260px}
  .service-landing .editorial-image figcaption{left:18px;right:18px;font-size:.6rem;line-height:1.6}
  .service-landing .visual-quote{min-height:470px}
  .service-landing .visual-quote-inner{padding-block:65px}
  .service-landing .process,.service-landing .faq-section,.service-landing .contact-panel{padding-block:60px}
  .service-landing .contact-lines{flex-direction:column;gap:18px;font-size:.94rem;overflow-wrap:anywhere}
  .service-landing .contact-layout h2{font-size:2.5rem}
  .service-landing .context-section{gap:30px}
}
