/* Scoped layouts for the three brand-specific service pages. */
.campaign-hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding-block:62px 58px}
.campaign-hero-copy{min-width:0}
.campaign-hero .eyebrow{font-size:10px;margin-bottom:26px}
.campaign-hero h1{font-size:clamp(44px,5vw,70px);line-height:1.08}
.campaign-lead{font-size:17px;line-height:1.8;margin-top:26px;max-width:490px}
.campaign-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:29px}
.campaign-location{font-family:var(--mono);font-size:10px;line-height:1.8;margin-top:22px;max-width:380px}
.campaign-photo{margin:0;min-width:0}
.campaign-photo picture{display:block;background:var(--soft)}
.campaign-photo img{display:block;width:100%;height:auto}
.campaign-photo figcaption{font-size:10px;line-height:1.6;color:var(--muted);padding-top:10px}
.campaign-choices{padding-block:26px 68px}
.campaign-section-heading .eyebrow{font-size:10px;margin-bottom:20px}
.campaign-section-heading h2{font-size:clamp(32px,3.8vw,48px)}
.campaign-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;margin-top:37px}
.campaign-choice-grid article{border-top:1px solid var(--line);padding-top:20px;min-width:0}
.campaign-choice-grid .cap-number{font-size:10px;color:var(--muted)}
.campaign-choice-grid h3{font-size:26px;line-height:1.25;margin-top:21px}
.campaign-choice-grid p{font-size:15px;line-height:1.85;margin-top:17px}
.campaign-detail{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px;padding-block:0 72px}
.campaign-detail>div{min-width:0;max-width:520px}
.campaign-detail .eyebrow{font-size:10px;margin-bottom:23px}
.campaign-detail h2{font-size:clamp(32px,3.5vw,45px);line-height:1.16}
.campaign-detail p:not(.eyebrow){font-size:15px;line-height:1.85;margin-top:23px}
.campaign-detail .text-link{margin-top:22px}
.campaign-planning{padding-block:62px;background:var(--soft)}
.campaign-planning-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.campaign-planning-grid>div{max-width:470px;min-width:0}
.campaign-planning .eyebrow{font-size:10px;margin-bottom:23px}
.campaign-planning h2{font-size:clamp(32px,3.5vw,45px);line-height:1.16}
.campaign-planning-grid>div>p:not(.eyebrow){margin-top:24px;font-size:15px;line-height:1.85}
.campaign-planning ol{list-style:none;counter-reset:campaign-step;padding:0;margin:0}
.campaign-planning li{counter-increment:campaign-step;padding:0 0 23px 42px;position:relative}
.campaign-planning li+li{padding-top:23px;border-top:1px solid var(--line)}
.campaign-planning li:last-child{padding-bottom:0}
.campaign-planning li::before{content:"0" counter(campaign-step);position:absolute;left:0;top:3px;font-family:var(--mono);font-size:10px;color:var(--muted)}
.campaign-planning li+li::before{top:26px}
.campaign-planning h3{font-size:23px;line-height:1.25;letter-spacing:-.035em}
.campaign-planning li p{font-size:14px;line-height:1.8;margin-top:10px}
.campaign-faq{padding-top:68px;padding-bottom:48px}
.campaign-faq h2{font-size:clamp(30px,3vw,40px);line-height:1.2}
.campaign-related{display:flex;flex-wrap:wrap;gap:20px 38px;padding-block:0 65px}
.campaign-service-links{padding-block:0 55px}
.campaign-service-links h2{font-size:clamp(28px,3vw,39px);line-height:1.25}
.campaign-service-links>div{display:flex;flex-wrap:wrap;gap:15px 32px;margin-top:22px}
.campaign-service-links .text-link{max-width:100%;font-size:12px}
.campaign-cta h2{font-size:clamp(36px,4.1vw,57px)}
.campaign-cta .cta-inner>div:last-child{max-width:380px;min-width:0;margin-right:0}
.campaign-cta .button{font-size:13px}
@media(max-width:1100px){
  .campaign-hero{gap:38px;padding-top:48px}
  .campaign-hero h1{font-size:clamp(43px,5.4vw,60px)}
  .campaign-lead{font-size:16px}
  .campaign-detail,.campaign-planning-grid{gap:42px}
  .campaign-choice-grid{gap:25px}
  .campaign-choice-grid h3{font-size:24px}
}
@media(max-width:900px){
  .campaign-hero{grid-template-columns:1fr;gap:33px;padding-block:40px 46px}
  .campaign-hero-copy{max-width:640px}
  .campaign-hero h1{font-size:clamp(48px,7.4vw,65px)}
  .campaign-lead{max-width:620px}
  .campaign-hero>.campaign-photo{max-width:640px;justify-self:stretch}
  .campaign-choice-grid{grid-template-columns:1fr;gap:24px;margin-top:30px}
  .campaign-choice-grid article{display:grid;grid-template-columns:28px 1fr;gap:7px 16px}
  .campaign-choice-grid h3{margin:0}
  .campaign-choice-grid p{grid-column:2;margin-top:7px;max-width:650px}
  .campaign-choice-grid .cap-number{padding-top:3px}
  .campaign-detail{grid-template-columns:1fr;gap:32px}
  .campaign-detail .campaign-photo{max-width:640px}
  .campaign-detail>div{max-width:640px}
  .campaign-planning-grid{grid-template-columns:1fr;gap:32px}
  .campaign-planning-grid>div{max-width:640px}
}
@media(max-width:650px){
  .campaign-hero{padding-block:32px 40px;gap:29px}
  .campaign-hero .eyebrow{font-size:9px;margin-bottom:23px}
  .campaign-hero h1{font-size:clamp(40px,10.6vw,58px)}
  .campaign-lead{font-size:16px;line-height:1.75;margin-top:22px}
  .campaign-actions{margin-top:24px}
  .campaign-actions .button,.campaign-cta .button{font-size:12px;gap:20px;max-width:100%}
  .campaign-location{font-size:9px;margin-top:18px}
  .campaign-photo figcaption{font-size:9px}
  .campaign-choices{padding-block:6px 43px}
  .campaign-section-heading .eyebrow{font-size:9px}
  .campaign-section-heading h2{font-size:32px;line-height:1.15}
  .campaign-choice-grid h3{font-size:25px}
  .campaign-choice-grid p{font-size:14px}
  .campaign-detail{padding-bottom:43px;gap:27px}
  .campaign-detail h2,.campaign-planning h2{font-size:33px}
  .campaign-detail .eyebrow,.campaign-planning .eyebrow{font-size:9px;margin-bottom:19px}
  .campaign-detail p:not(.eyebrow){margin-top:20px}
  .campaign-planning{padding-block:41px}
  .campaign-planning li{padding-left:34px}
  .campaign-faq{padding-top:43px;padding-bottom:35px}
  .campaign-related{gap:13px 25px;padding-bottom:43px}
  .campaign-service-links{padding-bottom:39px}
  .campaign-service-links>div{display:grid;justify-items:start;gap:14px}
  .campaign-cta h2{font-size:37px}
}
