:root{--ink:#0f2742;--ink2:#1b3d66;--sky:#e8f3fb;--blue:#2f7fd1;--sun:#ffc83d;--paper:#fbfdff;--mute:#4b617a}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Albert Sans',system-ui,sans-serif;color:var(--ink);background:var(--paper);font-size:1.06rem;line-height:1.65}
h1,h2,h3,h4,.display{font-family:'Young Serif',Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.08;color:var(--ink)}
a{color:var(--blue)}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--blue)}
/* nav (c): centered logo stacked above link row */
.topbar{background:var(--ink);padding:.75rem 0 .6rem;text-align:center}
.topbar img{width:min(420px,78vw);height:auto;display:block;margin:0 auto}
.navbar.navbar-expand-lg{background:var(--ink);padding:0 0 .55rem;border-bottom:4px solid var(--sun)}
.navbar.navbar-expand-lg .navbar-collapse{justify-content:center}
.navbar .nav-link{color:#dbe9f7;font-weight:600;padding:.4rem 1rem;font-size:.98rem}
.navbar .nav-link:hover{color:var(--sun)}
.navbar .navbar-toggler{border-color:rgba(255,255,255,.5);margin:0 auto}
.navbar .navbar-toggler-icon{filter:invert(1)}
.navbar .nav-call{background:var(--sun);color:var(--ink)!important;border-radius:99px;margin-left:.5rem}
.sticky-top-wrap{position:sticky;top:0;z-index:1030}
/* diamond motif — from the practice's own logo */
.dia{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.lattice{background-image:linear-gradient(45deg,rgba(47,127,209,.10) 25%,transparent 25%,transparent 75%,rgba(47,127,209,.10) 75%),linear-gradient(45deg,rgba(47,127,209,.10) 25%,transparent 25%,transparent 75%,rgba(47,127,209,.10) 75%);background-size:56px 56px;background-position:0 0,28px 28px}
.facets{display:flex;justify-content:center;gap:10px;margin:0 0 1.2rem}
.facets i{width:18px;height:18px;background:var(--blue);transform:rotate(45deg);display:block}
.facets i:nth-child(2){background:var(--sun)}.facets i:nth-child(3){background:var(--ink)}
.facets.start{justify-content:flex-start}
/* hero: split-panel */
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:560px}
.hero-text{background:var(--sun);padding:5rem clamp(1.5rem,5vw,5rem);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}
.hero-text h1{font-size:clamp(2.3rem,4.6vw,4rem)}
.hero-text p{font-size:1.15rem;max-width:34rem;color:#1c2f48}
.hero-text .eyebrow{color:var(--ink)}
.hero-photo{background:#6fa83f url('img/hero.webp') 70% center/cover no-repeat;min-height:320px}
.smile{display:block;width:min(300px,70%);margin:.4rem 0 1.3rem}
.btn-wfw{background:var(--ink);color:#fff;border-radius:99px;padding:.8rem 1.6rem;font-weight:700;border:2px solid var(--ink)}
.btn-wfw:hover{background:#fff;color:var(--ink)}
.btn-ghost{border:2px solid var(--ink);color:var(--ink);border-radius:99px;padding:.8rem 1.6rem;font-weight:700;background:transparent}
.btn-ghost:hover{background:var(--ink);color:#fff}
.quote-band{background:var(--ink);color:#fff;text-align:center;padding:1.2rem 1rem;font-family:'Young Serif',serif;font-size:1.15rem}
.quote-band span{color:var(--sun)}
section{padding:5rem 0;position:relative}
.curve-top{border-radius:60% 60% 0 0/ 38px 38px 0 0}
.bg-sky{background:var(--sky)}
/* services index list */
.svc-list{border-top:2px solid var(--ink)}
.svc{border-bottom:2px solid var(--ink)}
.svc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:1rem;padding:1rem .25rem;font-family:'Young Serif',serif;font-size:1.45rem}
.svc summary::-webkit-details-marker{display:none}
.svc summary::before{content:"";width:16px;height:16px;background:var(--blue);transform:rotate(45deg);flex:none;transition:.2s}
.svc[open] summary::before{background:var(--sun);transform:rotate(135deg)}
.svc p{padding:0 .5rem 1.2rem 2.2rem;margin:0;max-width:46rem}
/* doctors */
.doc{text-align:center}
.doc .ph{width:190px;aspect-ratio:175/205;margin:0 auto 1rem;background:var(--blue);padding:0;position:relative}
.doc .ph img{width:100%;height:100%;object-fit:cover;object-position:top}
.doc h3{font-size:1.4rem}
.doc .role{font-size:.85rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.doc p{font-size:.98rem;color:var(--mute)}
.photo-frame{border:6px solid #fff;box-shadow:12px 12px 0 var(--sun);border-radius:6px}
.photo-frame img{width:100%;height:auto;display:block}
/* gallery */
.ba{background:var(--ink);padding:6px;border-radius:6px;box-shadow:6px 6px 0 var(--sun)}
.ba img{width:100%;height:auto;display:block;border-radius:3px}
/* hours */
.hours{width:100%;max-width:420px}
.hours tr{border-bottom:1px dashed #b7c9dc}
.hours td{padding:.45rem 0}
.hours td:last-child{text-align:right;font-weight:700}
.info-card{background:#fff;border:2px solid var(--ink);border-radius:8px;padding:1.6rem;height:100%}
.info-card h3{font-size:1.35rem;margin-bottom:.7rem}
.list-diamond{list-style:none;padding:0;margin:0}
.list-diamond li{padding-left:1.4rem;position:relative;margin-bottom:.4rem}
.list-diamond li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;background:var(--blue);transform:rotate(45deg)}
.map{border:0;width:100%;height:100%;min-height:340px;border-radius:8px}
.contact-block{background:var(--ink);color:#fff;border-radius:8px;padding:2rem}
.contact-block a{color:var(--sun)}
.contact-block .big{font-family:'Young Serif',serif;font-size:2rem;text-decoration:none}
.badge-top{width:130px;height:auto}
footer{background:var(--ink);color:#c5d6ea;padding:2.5rem 0;font-size:.95rem}
footer a{color:var(--sun)}
footer .logo-chip img{width:min(340px,80%);height:auto}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-photo{order:-1;min-height:260px}.hero-text{padding:3rem 1.5rem}section{padding:3.5rem 0}.navbar .nav-call{margin:.4rem 0}.navbar .navbar-nav{text-align:center}}
