.landing-page{background:var(--cream,#f4f0e8);min-height:100vh;color:var(--ink,#17382e)}
.landing-main{padding:clamp(2.5rem,6vw,5rem) 0 6rem}
.landing-intro{max-width:820px;margin:0 auto 3.5rem;text-align:center}
.landing-intro h1{font-size:clamp(3.2rem,8vw,7rem);line-height:.91;letter-spacing:-.07em;margin:.8rem 0 1.4rem}
.landing-intro h1 em,.landing-content h2 em{font-family:var(--display-serif,Georgia,serif);font-weight:400;letter-spacing:-.04em}
.landing-lede{max-width:700px;margin:0 auto;color:#52655f;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.6}
.landing-content{max-width:980px;margin:0 auto}
.landing-content h2{color:var(--ink,#17382e);letter-spacing:-.05em;line-height:1.05}
.landing-content p{color:#52655f;line-height:1.65}
.landing-cta{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(230px,.65fr);gap:2rem;align-items:center;max-width:980px;margin:4.5rem auto 0;padding:clamp(1.5rem,4vw,2.8rem);background:var(--forest,#173a2d);color:#f6f1e8}
.landing-cta h2{color:#fff;font-size:clamp(1.7rem,3vw,2.7rem);letter-spacing:-.05em;line-height:1;margin:.35rem 0 .85rem}
.landing-cta p{color:#c8d5ce;margin:0;line-height:1.6}
.landing-cta .section-kicker{color:var(--orange-light,#f4b37e)}
.landing-actions{display:flex;flex-direction:column;gap:1.1rem;align-items:flex-start}
.landing-actions .text-link{color:#fff}
.landing-footer-inner{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 1.5rem}
.landing-footer-inner a{color:var(--orange,#e77e3d)}
.content-drawer-inline-link{display:inline-block;margin-top:.55rem;color:var(--orange,#e77e3d);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.home-faq-teaser{padding:clamp(4rem,8vw,7rem) 0}
.home-faq-teaser .faq-layout{display:block}
.home-faq-teaser .faq-heading{max-width:620px}
.home-faq-teaser .button{display:inline-flex;margin-top:1.3rem}
.reference-intro-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:3rem;align-items:end;background:#e9efe4;padding:clamp(1.5rem,4vw,3.2rem);margin-bottom:4rem}
.reference-intro-card h2{font-size:clamp(2rem,4vw,4rem);margin:.4rem 0 0}
.reference-intro-card p{margin:0}
.reference-projects{display:grid;gap:3.5rem}
.reference-project{background:#fff;padding:clamp(1rem,2.5vw,2rem);box-shadow:var(--shadow,0 16px 40px rgba(23,56,46,.08))}
.reference-project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}
.reference-project-heading h2{font-size:clamp(1.5rem,3vw,2.5rem);margin:.25rem 0 0}
.reference-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.reference-card{position:relative;margin:0;aspect-ratio:4/3;overflow:hidden;background:#183a2f}
.reference-card img{display:block;width:100%;height:100%;object-fit:cover}
.reference-card figcaption{position:absolute;left:14px;top:14px;padding:7px 11px;background:rgba(255,255,255,.94);color:var(--ink,#17382e);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.reference-card:nth-child(2) figcaption{background:var(--orange,#e77e3d);color:#fff}
.reference-project>p{max-width:760px;margin:1.2rem 0 .2rem;font-size:1.05rem}
.reference-note{margin:3.5rem 0 0;padding:1.2rem 1.4rem;border-left:4px solid var(--orange,#e77e3d);background:#fffaf3;color:#52655f;line-height:1.6}
.reference-note strong{color:var(--ink,#17382e)}
.faq-page-intro{max-width:700px;margin:0 auto 2rem;text-align:center}
.faq-page-list{max-width:820px;margin:0 auto;border-top:1px solid rgba(22,55,47,.25)}
.faq-page-list .faq-item{border-bottom:1px solid rgba(22,55,47,.25)}
.faq-page-list .faq-item summary{padding:1.35rem 0}
.faq-page-list .faq-item p{padding-bottom:1.5rem}
@media(max-width:760px){.landing-main{padding-top:2rem}.landing-intro{margin-bottom:2.5rem}.reference-intro-card,.landing-cta{grid-template-columns:1fr}.reference-project-heading{display:block}.reference-pair{grid-template-columns:1fr}.landing-actions{align-items:stretch}.landing-actions a{text-align:center}.landing-footer-inner{display:grid;gap:.6rem}}
.landing-main-wide-gap{height:0}.landing-content-wide{margin:clamp(2rem,5vw,4rem) 0}.landing-content-wide>section:first-child{padding-top:0}.landing-main .landing-cta{margin-top:clamp(2rem,5vw,4rem)}
