/* Goshen site-wide polish — 2026-11-08. Official logos are used without alteration. */
:root{--goshen-navy:#09263c;--goshen-deep:#071d2f;--goshen-gold:#eca52b}
html{scroll-padding-top:78px}
body{overflow-x:hidden}
header{background:#fffdf8;backdrop-filter:none}
.brand{gap:11px;min-width:0}
.brand img{height:49px;width:49px;object-fit:contain;flex-shrink:0}
.brand .bt{font-size:15px;letter-spacing:.025em}
.brand .bt small{font-size:9px;letter-spacing:.10em}
.nav{min-height:79px}
/* One consistent navy treatment for every page hero; retain warm cream content sections. */
.hero,.hero.hero-glow{background:linear-gradient(145deg,var(--goshen-navy) 0%,var(--goshen-deep) 100%);isolation:isolate}
.hero::before{content:none}
.hero .hero-wrap,.hero.hero-glow .hero-wrap{max-width:1180px;grid-template-columns:minmax(0,1.23fr) minmax(0,.77fr);gap:clamp(26px,4vw,64px);padding:clamp(60px,6vw,86px) 24px clamp(66px,7vw,96px)}
.hero h1{font-size:clamp(30px,3.55vw,44px);line-height:1.18;letter-spacing:.005em;overflow-wrap:normal}
.hero .lede{max-width:36em;font-size:clamp(19px,1.8vw,23px);line-height:1.42;margin:18px 0 28px;color:#e0e9eb}
.hero .eyebrow{font-size:11px;letter-spacing:.11em;line-height:1.65;margin-bottom:22px;max-width:45em}
.hero .eyebrow::before{width:24px;flex-shrink:0}
.hero .hero-art{min-width:0;align-self:center;position:relative}
.hero .hero-art .halo{display:none!important}
.hero .hero-art img,.hero.hero-glow .art-box img{display:block;width:min(340px,90%)!important;height:auto;margin:0 auto;filter:drop-shadow(0 12px 22px rgba(0,0,0,.20))!important}
.hero.hero-glow .art-box{width:100%}
.hero.hero-glow .hero-bg,.hero.hero-glow .art-river{display:none!important}
/* Remove decorative dividers in hero: no glowing line crossing copy on any screen. */
.hero>.river{display:none}
.hero .hero-cta{align-items:center}
.btn-flame{box-shadow:none}
.btn-flame:hover{box-shadow:0 5px 14px rgba(0,0,0,.16)}
.hero .btn-ghost{border-color:rgba(255,255,255,.65)}
.hero.compact .hero-wrap{padding-top:58px;padding-bottom:68px}
.hero.compact .hero-art img{width:min(275px,78%)!important}
/* Typography and page elements: less glow, better readability. */
.card,.path,.stat,.map-card{box-shadow:none}
.card:hover{box-shadow:0 10px 25px rgba(1,43,61,.08)}
img{height:auto}
@media(max-width:900px){
 .hero .hero-wrap,.hero.hero-glow .hero-wrap,.hero.compact .hero-wrap{grid-template-columns:minmax(0,1fr);gap:22px;padding:44px 24px 58px}
 .hero .hero-art{order:0}
 .hero .hero-copy{order:0}
 .hero .hero-art{order:1}
 .hero .hero-art img,.hero.hero-glow .art-box img{width:min(230px,45vw)!important}
 .hero.compact .hero-art img{width:min(190px,42vw)!important}
 .hero .lede{max-width:48em}
 .nav{min-height:70px}
 .brand .bt small{display:none}
}
@media(max-width:600px){
 .nav{padding:9px 18px;min-height:64px}
 .brand img{height:41px;width:41px}
 .brand .bt{display:block!important;font-size:clamp(11px,3.2vw,14px);line-height:1.15;letter-spacing:0}
 .burger{min-width:44px;min-height:44px;display:block}
 .util .wrap{padding:7px 18px;gap:10px;justify-content:space-between}
 .util .wrap>a:first-child{font-size:11px;min-width:0;overflow-wrap:anywhere}
 .util .fci{display:none}
 .util .give{font-size:11px;padding:6px 11px}
 .hero .hero-wrap,.hero.hero-glow .hero-wrap,.hero.compact .hero-wrap{padding:35px 20px 49px;gap:23px}
 .hero .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:16px;line-height:1.6}
 .hero .eyebrow::before{width:17px;margin-top:7px}
 .hero h1{font-size:clamp(25px,7vw,35px);line-height:1.22;letter-spacing:-.015em;overflow-wrap:break-word}
 .hero .lede{font-size:19px;line-height:1.4;margin:16px 0 22px}
 .hero .hero-art img,.hero.hero-glow .art-box img{width:min(225px,64vw)!important}
 .hero.compact .hero-art img{width:min(180px,52vw)!important}
 .hero .hero-cta{display:flex;flex-wrap:wrap;gap:10px}
 .hero .hero-cta .btn{font-size:13px;min-height:44px;padding:11px 16px;justify-content:center}
 .hero .hero-meta{gap:16px}
 .section{padding-left:20px;padding-right:20px}
 .fci-grid,.prog-grid,.stat-grid,.foot{grid-template-columns:minmax(0,1fr)}
 .card,.path,.stat{padding:22px}
 .gform{max-width:100%}
 nav.mobile{width:min(340px,88vw);height:100dvh;overflow-y:auto}
}
@media(max-width:380px){
 .brand .bt{font-size:11px}
 .hero h1{font-size:25px}
 .hero .hero-cta .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
