/* This campaign extends the original brand without changing the first page. */
.top{padding:10px 0;font-size:.875rem;align-items:center}
.header{min-height:108px}
.campaign-hero{padding:48px 0 52px}
.campaign-hero .hero-grid{grid-template-columns:1.25fr .85fr;gap:56px}
.campaign-hero h1{font-size:clamp(2.6rem,4.5vw,3.65rem);line-height:1.16;letter-spacing:-1.4px;margin:20px 0 24px}
.campaign-hero h1 span{color:var(--cream)}
.campaign-hero .lead{font-size:1.28rem;line-height:1.5}
.campaign-hero .hero-note{font-size:.875rem;line-height:1.6;max-width:440px}
.campaign-hero .credentials{font-size:.875rem;margin-top:22px;color:#cbd5cc}
.credentials span{margin:0 6px}
.campaign-hero .actions{margin:26px 0 14px;gap:12px}
.campaign-hero .actions .button{font-size:.875rem;padding:17px 18px}
.campaign-hero figure{border-radius:6px;border-bottom:5px solid var(--orange)}
.campaign-hero figure img{height:480px;object-position:center 20%}
.campaign-hero figcaption{background:var(--cream);font-size:.8125rem;font-weight:700;padding:17px 20px;line-height:1.5}
.campaign-hero figcaption span{display:block;font-size:.8125rem;font-weight:400;margin-top:4px}
.outcome-strip{background:var(--cream)}
.outcomes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:25px 0}
.outcomes a{text-decoration:none;text-align:center;padding:4px 14px;font-weight:700;font-size:1rem;border-right:1px solid #d6d1ae;line-height:1.5}
.outcomes a:last-child{border-right:0}
.outcomes a:hover{text-decoration:underline;text-underline-offset:5px}
.outcomes span{display:block;margin-top:5px;font-size:.875rem;font-weight:400}
.section{padding:68px 0}
.intro{max-width:790px;margin-bottom:36px}
.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.design-card{border:1px solid var(--line);border-top:4px solid var(--orange);border-radius:5px;padding:30px 32px;display:flex;flex-direction:column;scroll-margin-top:28px}
.design-card .pillar{display:flex;align-items:center;gap:12px;font-size:.875rem;line-height:1.4;font-weight:700;color:#93401d;margin-bottom:20px}
.pillar span{color:var(--green);background:var(--cream);border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
.design-card h3{font-size:1.75rem;line-height:1.24;margin-bottom:18px}
.design-card>p:not(.pillar){font-size:1rem;color:var(--muted)}
.design-card .design-reason{border-top:1px solid var(--line);padding-top:18px;margin-top:auto!important}
.design-card>p:nth-last-child(2){padding-bottom:22px}
.design-reason strong{color:var(--green)}
.design-note{margin-top:24px;padding:25px 30px}
.first-call-intro{align-items:center;grid-template-columns:1.2fr 1fr;gap:60px;margin-bottom:32px}
.first-call-intro h2{margin-bottom:20px}
.first-call-intro>div>p:not(.eyebrow){color:var(--muted);margin-top:0}
.first-call-intro .eyebrow{margin-top:0}
.call-prompt{border-left:3px solid var(--orange);padding:4px 0 4px 28px}
.call-prompt h3{font-size:1.3rem}
.call-prompt .phone{margin:12px 0 8px}
.call-prompt p,.call-prompt .online{font-size:.875rem}
.call-prompt .online{display:inline-block;margin-top:14px}
.steps{padding:0;margin:0;list-style:none}
.steps li{background:white;padding:27px;border-radius:6px;border-bottom:3px solid var(--line)}
.steps h3{font-size:1.2rem}
.steps p{font-size:1rem;color:var(--muted);margin-top:16px}
.local>img{height:390px}
.faq-items details p{font-size:1rem}
.faq-items details .reference{font-size:.875rem;margin-top:0}
.reference a{text-underline-offset:3px}
.contact-card .online{display:inline-block;margin:20px 0 0;font-size:.9375rem}
.contact-card .contact-detail{font-size:.875rem;margin-bottom:0}
.copyright{font-size:.8125rem}
@media(max-width:960px){
 .campaign-hero .hero-grid{gap:32px;grid-template-columns:1.15fr .85fr}
 .campaign-hero h1{font-size:2.8rem}
 .campaign-hero figure img{height:460px}
 .outcomes a{padding:4px 10px;font-size:.9375rem}
 .outcomes span{font-size:.875rem}
 .first-call-intro{gap:30px}
 .design-card{padding:27px}
 .steps{gap:16px}
 .steps li{padding:23px}
}
@media(max-width:650px){
 .wrap{width:89%}
 .top{font-size:.75rem;gap:12px;line-height:1.5;padding:8px 0}
 .top>span{max-width:170px}
 .top strong{display:inline;margin-left:4px}
 .header{min-height:94px}
 .header img{width:100px}
 .campaign-hero{padding:28px 0 30px}
 .campaign-hero .hero-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .campaign-hero h1{font-size:clamp(2rem,8.4vw,2.85rem);line-height:1.16;letter-spacing:-.8px;margin:15px 0 20px}
 .campaign-hero .eyebrow{font-size:.875rem}
 .campaign-hero .lead{font-size:1.125rem}
 .campaign-hero .actions{display:grid;grid-template-columns:1fr;margin-top:23px}
 .campaign-hero .actions .button{padding:16px;font-size:.875rem}
 .campaign-hero .credentials{margin-top:16px;line-height:1.6}
 .campaign-hero figure img{height:340px;object-position:center 20%}
 .campaign-hero figcaption{padding:14px 17px}
 .outcomes{grid-template-columns:1fr 1fr;padding:10px 0}
 .outcomes a{padding:16px 6px;font-size:.875rem}
 .outcomes a:nth-child(2){border-right:0}
 .outcomes a:nth-child(-n+2){border-bottom:1px solid #d6d1ae}
 .outcomes span{font-size:.875rem}
 .section{padding:45px 0}
 .intro{margin-bottom:28px}
 .design-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .design-card{padding:25px}
 .design-card h3{font-size:1.55rem}
 .design-card .pillar{font-size:.8125rem;margin-bottom:18px}
 .design-note{padding:23px}
 .design-note h3{font-size:1.25rem}
 .first-call-intro{grid-template-columns:1fr;gap:28px;margin-bottom:25px}
 .call-prompt{padding-left:23px}
 .steps{gap:16px}
 .steps li{padding:25px}
 .local>img{height:320px}
 .estimate h2{font-size:2.1rem}
 .mobile-call a{font-size:.875rem}
 .mobile-call span{font-size:1rem}
}

/* Bottom quote section uses the same dark green as the hero. */
#estimate{background:var(--green);color:#e5eae6}
#estimate>.wrap>div:first-child h2{color:var(--cream)}
#estimate>.wrap>div:first-child .eyebrow{color:#ef996f}
