/* Final shared details for all four pages. */
.site-footer .brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0;color:#1c2420;text-decoration:none}
.site-footer .brand-mark{display:block;width:42px;height:42px;flex:none}
.site-footer .brand>span{position:relative;font-family:Arial,'Helvetica Neue',sans-serif;font-size:20px;line-height:1.05;font-weight:800;letter-spacing:-.045em;white-space:nowrap;color:inherit}
.site-footer .brand-light{font-weight:400;margin-left:4px}
.site-footer .brand small{display:block;width:0;height:9.45px;margin-top:6px;font-size:9px;font-weight:400;letter-spacing:.005em;color:#677069}
.site-footer .kt-caption{position:absolute;left:0;bottom:0;width:100%;height:9.45px;overflow:visible}
.site-footer .kt-caption text{font-family:Arial,'Helvetica Neue',sans-serif;font-size:9px;font-weight:400;letter-spacing:.005em;fill:#677069}
.site-related{max-width:1208px;width:calc(100% - 72px);margin:32px auto;display:flex;flex-wrap:wrap;gap:16px 30px;font:14px/1.5 Arial,'Helvetica Neue',sans-serif}
.site-related a{padding:8px 0;border-bottom:1px solid #b4c4ae;color:#354a3b}
.home-page .articles-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.home-page .preparation-cta-text{font-size:23px;line-height:1.2;letter-spacing:-.02em}
.home-page .hero{padding-top:36px;padding-bottom:40px}
.home-page .hero-bottom{margin-top:38px;padding-top:22px}
.home-page .hero-project{padding-bottom:12px}
.home-page .hero-photo-link{height:540px}
.home-page .hero h1{font-size:clamp(42px,4.7vw,68px);letter-spacing:-.035em}
@media(max-width:1050px){.home-page .hero h1{font-size:clamp(36px,4.7vw,55px)}.home-page .hero-photo-link{height:480px}}
@media(max-width:800px){.home-page .articles-grid{grid-template-columns:1fr}.home-page .hero h1{font-size:clamp(37px,6.9vw,58px)}.home-page .hero-photo-link{height:480px}.site-related{width:calc(100% - 40px)}}
@media(max-width:540px){.home-page .hero{padding-top:28px;padding-bottom:30px}.home-page .hero-photo-link{height:430px}.home-page .preparation-cta-text{font-size:22px}}

.preparation-article .hero h1{font-size:clamp(34px,3.65vw,52px);line-height:1.1;font-weight:600;letter-spacing:-.025em}.preparation-article .hero-copy{padding-top:36px}.preparation-article .hero-note{background:#e9efdc}.preparation-article .process{background:#e9eddf}.preparation-article .num{background:#d7f277;border-color:#a1b574}.preparation-article .title{font-weight:600}.composition-article h1{font-weight:600;line-height:1.1}
/* Independent review corrections: contrast on the pale case background. */
.home-page .case-story h3{color:#243b2a}
.home-page .case-story>p:not(.case-source-note){color:#46594a}
.home-page .next-stage{color:#355b28}
.home-page .case-tabs button:focus-visible{outline-color:#355b28}
.home-page .case-delivery>div span{border-color:#a5b59d}
.home-page .case-section .lime-dot{background:#587345}
.home-page .contact-section{width:min(1200px,calc(100% - 72px));margin:0 auto 40px;border-radius:14px}
.home-page .contact-section .contact-grid{width:calc(100% - 72px);margin:auto}
@media(max-width:800px){.home-page .contact-section{width:calc(100% - 40px);margin-bottom:30px}.home-page .contact-section .contact-grid{width:calc(100% - 40px)}}
@media(max-width:540px){.home-page .contact-section h2{font-size:clamp(29px,8vw,40px)}}
.site-header .header-cta{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:44px;padding:12px 16px;border-radius:7px;background:#1c2420;color:#fff;font:600 12px/1.3 Arial,'Helvetica Neue',sans-serif;white-space:nowrap}
.site-header .header-cta>span{font-size:20px;line-height:1;font-weight:400}
.site-header .header-cta:hover{background:#3b4b3b}
@media(max-width:1050px){.site-header .header-cta{display:none}}
