/* Photo-led FV with charcoal typography; v2.5 copy stays verbatim. */
.site-header{background:#f3f4ef}
.site-header .brand{font-family:var(--sans);font-size:23px;font-weight:700;letter-spacing:-.045em;color:#192c2c}
.hero.v-section{background:#edf0ec;color:#172c2b}
.hero.v-section:before{background:linear-gradient(90deg,#edf0ec 0%,#edf0ecf5 28%,#edf0ecbd 44%,#edf0ec20 59%,transparent 68%)}
.hero h1 .hero-line:first-child{color:#263935}
.hero h1 .accent,.hero h1 .hero-line:last-child{color:#172c2b}
.hero-key:after{display:none}
.hero .hero-tagline{font-family:var(--sans);font-size:21px;font-weight:600;letter-spacing:-.04em;color:#1c302d;text-shadow:none}
.hero .hero-rest{max-width:560px}
.hero-rest .hero-scope{display:block;font-family:var(--sans);font-size:20px;font-weight:600;line-height:1.6;letter-spacing:-.03em;color:#172c2b;border:0;background:none;padding:0;margin:0 0 22px}
.scope-line{display:block;white-space:nowrap}
.scope-line:first-child{font-size:30px;font-weight:700;line-height:1.5;letter-spacing:-.055em}
.scope-dot{font-size:.7em;font-weight:500;padding:0 .22em;vertical-align:.04em}
.scope-line:first-child .scope-dot:last-child{font-size:0;padding:0}
.scope-ending{font-size:.83em}
.hero .hero-rest .hero-definition{font-family:var(--sans);font-weight:500;line-height:1.6;margin-bottom:25px;color:#172c2b}
.definition-intro,.definition-core,.definition-brand,.definition-action{display:block}
.definition-intro{font-size:17px;font-weight:600;margin-bottom:5px;letter-spacing:-.035em}
.definition-core{white-space:normal}
.definition-core strong{display:block;font:700 38px/1.4 var(--serif);letter-spacing:-.055em;color:#172c2b}
.definition-action{font-size:18px;font-weight:500;line-height:1.65;letter-spacing:-.04em;margin-top:2px}
.definition-brand{font-size:28px;font-weight:700;line-height:1.5;letter-spacing:-.055em;margin-top:12px}
.hero-rest p.hero-signature{font:600 25px/1.6 var(--serif);color:#243733;margin:0 0 25px;letter-spacing:-.055em}
.hero-signature>span{color:inherit}
.hero-rest .cta{margin-top:0}
/* Bronze marks the promise; blue identifies practical support. */
.hero h1 .hero-key{color:#80501f}
.hero-rest .scope-line:first-child{color:#254957}
.hero-rest .scope-dot{color:#80501f}
.hero-rest .definition-core strong{color:#884321}
.hero-signature>span{color:#80501f}
.cta,.v-section .cta,.hero-rest .cta,.site-header .header-cta,.sp-fixed-cta{background:#d5a849;border-color:#b08a37;color:#172c2b;font-weight:700}
.cta:hover,.v-section .cta:hover,.hero-rest .cta:hover,.site-header .header-cta:hover,.sp-fixed-cta:hover{background:#e2ba64;border-color:#b08a37;color:#172c2b}
.cta:focus-visible,.sp-fixed-cta:focus-visible{outline:3px solid #172c2b;outline-offset:4px}
@media(min-width:761px){
 .hero.v-section{padding-top:55px;padding-bottom:48px}
 .hero h1 .hero-line:first-child{margin-bottom:12px}
 .hero h1{margin-bottom:24px}
 .hero .hero-tagline{margin-bottom:26px}
}
@media(max-width:760px){
 .site-header .brand{font-size:20px}
 .hero .hero-copy{min-height:480px;padding-bottom:12px}
 .hero .hero-photo{top:120px;height:630px;object-position:87% center;-webkit-mask-image:linear-gradient(#000 80%,transparent 100%);mask-image:linear-gradient(#000 80%,transparent 100%)}
 .hero.v-section:before{height:840px;background:linear-gradient(180deg,#edf0ec 0%,#edf0ec 17%,#edf0ece8 26%,#edf0ec00 37%,#edf0ec00 44%,#edf0ecb8 55%,#edf0ece6 75%,#edf0ec 100%)}
 .hero h1{text-shadow:none}
 .hero h1 .hero-line:first-child{font-family:var(--sans);font-size:20px;font-weight:500;line-height:1.7;margin-bottom:15px;letter-spacing:-.015em}
 .hero h1 .accent{font-weight:700}
 .hero .hero-tagline{font-size:18px;line-height:1.7;gap:10px}
 .hero .hero-rest{padding-top:12px;max-width:none}
 .hero-rest .hero-scope{font-size:19px;line-height:1.65;margin-bottom:21px}
 .scope-line:first-child{font-size:28px;line-height:1.5}
 .definition-intro{font-size:17px;margin-bottom:4px}
 .definition-core strong{font-size:36px;line-height:1.4}
 .definition-action{font-size:17px;line-height:1.65;margin-top:1px}
 .definition-brand{font-size:26px;line-height:1.5;margin-top:11px}
 .hero .hero-rest .hero-definition{margin-bottom:24px}
 .hero-rest p.hero-signature{border:0;padding:0;margin:0 0 24px;font-size:24px;white-space:nowrap;text-align:left}
}
@media(max-width:360px){
 .site-header .brand{font-size:18px}
 .hero .hero-copy{min-height:455px}
 .hero .hero-photo{top:105px;height:610px;object-position:84% center}
 .hero.v-section:before{height:810px}
 .hero h1 .hero-line:first-child{font-size:18px}
 .hero .hero-tagline{font-size:16px;gap:8px}
 .hero-rest .hero-scope{font-size:16px}
 .scope-line:first-child{font-size:25px}
 .definition-intro{font-size:16px}
 .definition-core strong{font-size:33px}
 .definition-action{font-size:16px}
 .definition-brand{font-size:23px}
 .hero-rest p.hero-signature{font-size:22px}
}
