:root{--fog:#f2f7f8;--ink:#0d3a40;--ink2:#082a2f;--lamp:#f6b94a;--lamp-d:#c98613;--mute:#4d6a6e;--line:#cfdfe1}
html{scroll-behavior:smooth}
body{font-family:'Karla',system-ui,sans-serif;color:var(--ink);background:#fff;font-size:1.07rem;line-height:1.65}
h1,h2,h3,.navbar-brand b{font-family:'Cormorant Garamond',Georgia,serif;font-weight:700;line-height:1.05;color:var(--ink)}
h1 em,.lead em{font-style:italic;color:var(--lamp)}
h2{font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:1rem}
h3{font-size:1.6rem}
.eyebrow{font-weight:700;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--lamp-d);margin-bottom:.6rem}
.py-section{padding:5rem 0;scroll-margin-top:90px}
.tint{background:var(--fog)}
.sub{color:var(--mute)}
a{color:var(--ink)}

.topnav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.navbar{padding:.5rem 0}
.navbar-brand{text-align:center;line-height:1;margin:0}
.navbar-brand small{display:block;font-size:.66rem;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.navbar-brand b{font-size:1.7rem;letter-spacing:.02em}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center}
.navbar-nav{gap:.3rem 1.6rem}
.nav-link{font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)!important}
.nav-link:hover{color:var(--lamp-d)!important}
.navbar-toggler{position:absolute;right:12px;top:14px}
.navbar .container{position:relative}

.hero{background:var(--ink2);color:#fff;position:relative;overflow:hidden;padding:6rem 0 6.5rem}
.beam{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.hero-copy{max-width:40rem;margin-left:auto;text-align:left}
.hero .eyebrow{color:var(--lamp)}
.hero h1{color:#fff;font-size:clamp(2.8rem,7vw,5.2rem);margin-bottom:1.2rem}
.hero .lead{font-size:1.2rem;color:#dcecee;margin-bottom:1.8rem}
.btn{border-radius:0;font-weight:700;letter-spacing:.06em;padding:.8rem 1.6rem}
.btn-lamp{background:var(--lamp);color:var(--ink2);border:2px solid var(--lamp)}
.btn-lamp:hover{background:#fff;border-color:#fff;color:var(--ink2)}
.btn-ghost{border:2px solid #fff;color:#fff}
.btn-ghost:hover{background:#fff;color:var(--ink2)}

.stripe{background:var(--lamp);color:var(--ink2);padding:1.8rem 0}
.stripe b{display:block;font-family:'Cormorant Garamond',serif;font-size:2.4rem;line-height:1}
.stripe span{font-size:.85rem;font-weight:500}

.paths{list-style:none;padding:0;margin:2.5rem 0 0;counter-reset:none;border-top:2px solid var(--ink)}
.paths li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.3rem .3rem;border-bottom:1px solid var(--line);transition:background .2s,padding .2s}
.paths li:hover{background:var(--fog);padding-left:1.2rem}
.paths h3{font-size:clamp(1.5rem,3vw,2.2rem);margin:0}
.paths p{margin:.2rem 0 0;color:var(--mute)}
.go{font-weight:700;text-decoration:none;white-space:nowrap;color:var(--lamp-d)}

.anniv{margin:0;border:10px solid #fff;box-shadow:12px 12px 0 var(--lamp)}
.anniv img{width:100%;height:auto;display:block}
.svc{list-style:none;padding:0;margin:0;columns:2 18rem;column-gap:3rem}
.svc li{break-inside:avoid;padding:.6rem 0 .6rem 1.4rem;border-bottom:1px solid var(--line);position:relative}
.svc li::before{content:"";position:absolute;left:0;top:1.15rem;width:.6rem;height:.6rem;border-radius:50%;background:var(--lamp)}

.bio{height:100%;background:#fff;border:1px solid var(--line);border-top:6px solid var(--ink);padding:1.8rem}
.bio.founder{border-top-color:var(--lamp)}
.bio .role{font-weight:700;color:var(--lamp-d);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.bio p{font-size:.98rem}

.dark{background:var(--ink2);color:#dcecee}
.dark h2{color:#fff}
.dark .eyebrow{color:var(--lamp)}
.callbox{border:2px solid var(--lamp);padding:2rem;text-align:center}
.bigphone{display:block;font-family:'Cormorant Garamond',serif;font-weight:700;font-size:2.4rem;color:var(--lamp);text-decoration:none;margin:.2rem 0 1rem}
.counties{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.7rem}
.counties li{border:2px solid var(--ink);padding:.55rem 1.1rem;font-weight:700}

.card-c{background:#fff;border:1px solid var(--line);border-left:6px solid var(--lamp);padding:1.8rem;font-style:normal;height:100%}
.card-c b{display:block;font-family:'Cormorant Garamond',serif;font-size:1.7rem;margin-bottom:.4rem}
.card-c .bigphone{color:var(--ink);margin:1rem 0 .4rem}
.map{width:100%;height:100%;min-height:340px;border:0}

.foot{background:var(--ink2);color:#b8d0d3;padding:1.6rem 0;font-size:.9rem}
.foot a{color:var(--lamp)}

@media(max-width:991px){
 .navbar .container{flex-direction:row!important;flex-wrap:wrap}
 .navbar-brand{text-align:left}
 .navbar.navbar-expand-lg .navbar-collapse{width:100%;padding:.8rem 0}
 .hero{padding:4rem 0 4.5rem}
 .hero-copy{margin:0}
 .beam{opacity:.45}
 .py-section{padding:3.5rem 0}
 .paths li{flex-wrap:wrap}
}
