:root{--navy:#24427f;--navy-d:#182c58;--sage:#b9d58b;--sage-d:#6f9a3a;--paper:#fbfaf5;--mist:#eef3e4;--ink:#1c2438;--mute:#58627a}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.display{font-family:'Instrument Serif',serif;font-weight:400;letter-spacing:-.01em;line-height:1.05}
.eyebrow{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--sage-d)}
.util{background:var(--navy-d);color:#dfe6f5;font-size:.85rem;padding:.4rem 0}
.util a{color:#fff;text-decoration:none;font-weight:600}
.navbar{background:var(--paper);border-bottom:1px solid #dfe3d2}
.navbar-brand{font-family:'Instrument Serif',serif;font-size:1.6rem;color:var(--navy)!important}
.navbar-brand small{font-family:'DM Sans';font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--sage-d);display:block;margin-top:-4px}
.nav-link{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--ink)!important}
.nav-link:hover{color:var(--sage-d)!important}
.btn-aspire{background:var(--navy);color:#fff;border-radius:2px;padding:.75rem 1.6rem;font-weight:600;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase;border:1px solid var(--navy)}
.btn-aspire:hover{background:var(--navy-d);color:#fff}
.btn-line{border:1px solid var(--navy);color:var(--navy);border-radius:2px;padding:.75rem 1.6rem;font-weight:600;letter-spacing:.06em;font-size:.85rem;text-transform:uppercase}
.btn-line:hover{background:var(--navy);color:#fff}
.hero{padding:3rem 0 3.5rem;background:linear-gradient(180deg,var(--mist),var(--paper))}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.6rem);color:var(--navy)}
.hero h1 em{color:var(--sage-d)}
.hero .lead{color:var(--mute);max-width:34rem}
.hero-photo{width:100%;aspect-ratio:900/615;max-height:min(66vh,480px);object-fit:cover;object-position:50% 25%;border-radius:4px;display:block}
.hero-photo-wrap{position:relative}
.hero-photo-wrap:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid var(--sage-d);border-radius:4px;z-index:-1}
.swoosh{display:block;width:min(420px,70%);margin:0 auto;opacity:.9}
section{padding:5rem 0}
h2{font-size:clamp(2.1rem,4vw,3.2rem);color:var(--navy)}
.index-list{list-style:none;padding:0;margin:0;counter-reset:s}
.index-list li{counter-increment:s;display:flex;gap:1rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid #d9dfc9;font-family:'Instrument Serif',serif;font-size:1.55rem;color:var(--navy)}
.index-list li:before{content:counter(s,decimal-leading-zero);font-family:'DM Sans';font-size:.72rem;letter-spacing:.15em;color:var(--sage-d);font-weight:600;min-width:1.8rem}
.index-list li span{font-family:'DM Sans';font-size:.9rem;color:var(--mute);margin-left:auto;text-align:right}
.band{background:var(--navy);color:#fff}
.band h2,.band .eyebrow{color:#fff}.band .eyebrow{color:var(--sage)}
.tech{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border-top:1px solid rgba(255,255,255,.25)}
.tech div{padding:1.3rem 1rem 1.3rem 0;border-bottom:1px solid rgba(255,255,255,.25);font-family:'Instrument Serif';font-size:1.45rem}
.quote{border-left:2px solid var(--sage-d);padding:.2rem 0 .2rem 1.2rem;height:100%}
.quote b{display:block;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sage-d);margin-bottom:.4rem}
.hours{width:100%;border-collapse:collapse}
.hours td{padding:.65rem 0;border-bottom:1px solid #d9dfc9}
.hours td:last-child{text-align:right;font-weight:600;color:var(--navy)}
.doc-photo{width:100%;aspect-ratio:900/615;object-fit:cover;border-radius:4px}
.map{width:100%;height:340px;border:0;border-radius:4px}
footer{background:var(--navy-d);color:#c9d3ea;padding:3rem 0 2rem;font-size:.92rem}
footer a{color:#fff}
footer .logo-chip{background:var(--paper);padding:.8rem 1.2rem;border-radius:4px;width:280px;max-width:100%;margin-bottom:1rem}footer .logo-chip img{width:100%;height:auto;display:block}
@media(max-width:575px){section{padding:3.2rem 0}.index-list li{font-size:1.3rem;flex-wrap:wrap}.index-list li span{margin-left:2.8rem;text-align:left}.hero{padding:2rem 0}.hero-photo-wrap:after{display:none}}
.swoosh{height:auto}
