:root{--navy:#14315c;--sun:#f4b81f;--cream:#fbf6ea;--ink:#1d2433;--mist:#e8eef6;--sage:#2f7d6d}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Outfit',sans-serif;color:var(--ink);background:var(--cream);font-size:1.08rem;line-height:1.65}
h1,h2,h3,h4,.display{font-family:'Gloock',Georgia,serif;font-weight:400;color:var(--navy);line-height:1.08}
.eyebrow{font-family:'Outfit';text-transform:uppercase;letter-spacing:.2em;font-size:.8rem;font-weight:600;color:var(--sage)}
.topbar{background:var(--navy);color:#fff;font-size:.9rem;padding:.4rem 0}
.topbar a{color:#fff;text-decoration:none;font-weight:600}.topbar a:hover{color:var(--sun)}
.navbar{background:var(--cream);border-bottom:2px solid var(--navy)}
.navbar-brand{font-family:'Gloock',serif;color:var(--navy);font-size:1.35rem;display:flex;align-items:center;gap:.55rem}
.navbar-brand svg{flex:none}
.nav-link{color:var(--navy);font-weight:500}.nav-link:hover{color:var(--sage)}
.btn-sun{background:var(--sun);color:var(--navy);font-weight:700;border:2px solid var(--navy);border-radius:999px;padding:.6rem 1.4rem}
.btn-sun:hover{background:var(--navy);color:#fff}
.btn-ghost{border:2px solid var(--navy);color:var(--navy);border-radius:999px;font-weight:600;padding:.6rem 1.4rem}
.btn-ghost:hover{background:var(--navy);color:#fff}
.hero{background:var(--cream);padding:3.5rem 0 0;position:relative;overflow:hidden}
.hero h1{font-size:clamp(2.4rem,5.4vw,4.4rem)}
.hero .lead{max-width:34rem}
.hero-photo{border-radius:240px 240px 24px 24px;overflow:hidden;border:3px solid var(--navy);box-shadow:12px 12px 0 var(--sun);aspect-ratio:4/5;object-fit:cover;width:100%}
.sunrise{position:absolute;right:-90px;top:-120px;width:420px;opacity:.9;z-index:0}
.hero .container{position:relative;z-index:1}
.horizon{display:block;width:100%;height:70px;margin-top:2.5rem}
.notice{background:var(--sun);color:var(--navy);border:2px solid var(--navy);border-radius:14px;padding:.8rem 1.1rem;font-weight:600}
section{padding:4.5rem 0}
.bg-mist{background:var(--mist)}
.svc-list{list-style:none;padding:0;margin:0;border-top:2px solid var(--navy)}
.svc-list li{font-family:'Gloock',serif;font-size:1.45rem;color:var(--navy);padding:.7rem 0;border-bottom:1px solid rgba(20,49,92,.25);display:flex;justify-content:space-between;gap:1rem}
.svc-list li span{font-family:'Outfit';font-size:.9rem;color:var(--sage);align-self:center;text-align:right}
.doc-card{background:#fff;border:2px solid var(--navy);border-radius:20px;padding:1.2rem;height:100%;box-shadow:6px 6px 0 var(--sun)}
#services .doc-card{height:auto}
#services .doc-card h3{margin-top:0}
.doc-card img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;border-radius:999px 999px 14px 14px;background:var(--mist)}
.doc-card h3{font-size:1.35rem;margin-top:1rem}
.doc-card p{font-size:.98rem;margin:0}
.office{background:#fff;border:2px solid var(--navy);border-radius:18px;padding:1.5rem;height:100%}
.office h3{font-size:1.4rem}
.office a{color:var(--navy);font-weight:600}
.hours{width:100%;max-width:26rem}
.hours td{padding:.35rem 0;border-bottom:1px dashed rgba(20,49,92,.3)}
.hours td:last-child{text-align:right;font-weight:600}
.pill{display:inline-block;background:#fff;border:2px solid var(--navy);border-radius:999px;padding:.35rem 1rem;margin:.25rem .15rem;font-weight:600;color:var(--navy)}
.band{background:var(--navy);color:#fff;text-align:center;padding:2.2rem 1rem;font-family:'Gloock',serif;font-size:clamp(1.3rem,2.6vw,1.9rem)}
.band a{color:var(--sun)}
.map iframe{width:100%;height:340px;border:2px solid var(--navy);border-radius:18px}
footer{background:var(--navy);color:#dfe7f3;padding:3rem 0 1.5rem}
footer a{color:#fff}
.powered{font-size:.85rem;opacity:.85}
.powered a{color:var(--sun)}
@media(max-width:767px){section{padding:3rem 0}.sunrise{width:260px;right:-70px;top:-80px}.svc-list li{font-size:1.2rem}}
