/* Oakwood Dental — locally defined showroom system */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:7rem}body{min-height:100dvh;background:var(--color-bg);color:var(--color-text);font:var(--text-base)/1.65 var(--font-body);overflow-x:hidden}img,svg{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0}h1,h2{font-family:var(--font-display);font-weight:600;line-height:1.04;letter-spacing:-.04em;text-wrap:balance}h3,h4{line-height:1.2;text-wrap:balance}p,li{max-width:68ch}::selection{background:color-mix(in srgb,var(--color-accent-bright) 35%,transparent)}:focus-visible{outline:3px solid var(--color-accent-bright);outline-offset:3px}
:root,[data-theme='light']{--color-bg:#f5f1e8;--color-surface:#fff;--color-surface-2:#ebe4d6;--color-ink:#1a3a3d;--color-text:#1a3a3d;--color-text-muted:#5a6e70;--color-accent:#2d7a7d;--color-accent-bright:#4ba8ab;--color-border:#d9d0be;--font-display:'Fraunces',Georgia,serif;--font-body:'Manrope',system-ui,sans-serif;--text-xs:clamp(.75rem,.7rem + .2vw,.875rem);--text-sm:clamp(.875rem,.82rem + .2vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.1rem);--text-lg:clamp(1.15rem,1rem + .6vw,1.45rem);--text-xl:clamp(1.55rem,1.2rem + 1.2vw,2.25rem);--text-2xl:clamp(2.15rem,1.25rem + 3vw,4.15rem);--text-3xl:clamp(2.7rem,1rem + 5vw,6rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--radius-xl:2rem;--radius-full:999px;--shadow:0 18px 45px rgba(32,55,54,.10);--transition:220ms cubic-bezier(.2,.8,.2,1)}
[data-theme='dark']{--color-bg:#102b2e;--color-surface:#17383a;--color-surface-2:#20484a;--color-ink:#ecf6f3;--color-text:#ecf6f3;--color-text-muted:#bfd0cc;--color-accent:#73c1c1;--color-accent-bright:#82d5d3;--color-border:#396064;--shadow:0 18px 45px rgba(0,0,0,.3)}
.container{width:min(100%,1200px);margin-inline:auto;padding-inline:clamp(var(--space-5),4vw,var(--space-10))}.container--wide{width:min(100%,1400px)}.skip-link{position:absolute;z-index:100;top:-5rem;left:1rem;background:var(--color-ink);color:var(--color-bg);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm)}.skip-link:focus{top:1rem}
.showroom-banner{background:#16383a;color:#d8e8e2;font-size:var(--text-xs)}.showroom-banner__inner{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;padding-block:var(--space-2)}.showroom-banner a{text-decoration:underline;text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--color-bg) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid transparent}.site-header.is-scrolled{border-color:var(--color-border)}.site-header__inner{min-height:5.25rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:600}.brand img{width:2.5rem;color:var(--color-accent)}.brand span{display:grid;line-height:1.1}.brand small{font:600 var(--text-xs)/1 var(--font-body);letter-spacing:.09em;text-transform:uppercase;color:var(--color-text-muted);margin-top:.2rem}.nav{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-sm);font-weight:600}.nav a{padding-block:var(--space-3);border-bottom:2px solid transparent}.nav a:hover,.nav a[aria-current='page']{border-color:var(--color-accent)}.actions{display:flex;gap:var(--space-2);align-items:center}.icon-btn{width:2.75rem;height:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-full);display:grid;place-items:center}.icon-btn:hover{background:var(--color-surface-2)}.nav-toggle{display:none}.mobile-nav{position:fixed;inset:0;z-index:50;background:var(--color-bg);padding:var(--space-6);transform:translateX(100%);visibility:hidden;transition:transform .45s ease,visibility .45s}.mobile-nav[data-open='true']{transform:none;visibility:visible}.mobile-top{display:flex;justify-content:space-between;align-items:center}.mobile-nav nav{display:grid;gap:var(--space-5);margin-top:var(--space-16)}.mobile-nav nav a{font:600 var(--text-xl)/1 var(--font-display);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}
section{padding-block:clamp(var(--space-16),8vw,var(--space-24))}.eyebrow{font-size:var(--text-xs);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent)}.eyebrow::before{content:'✦';font-size:.8em;margin-right:var(--space-2)}.lede{color:var(--color-text-muted);font-size:var(--text-lg);line-height:1.55}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:2.9rem;padding:var(--space-3) var(--space-6);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:700;border:1px solid transparent;transition:transform var(--transition),background var(--transition)}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--color-accent);color:#fff}.btn--primary:hover{background:var(--color-ink)}.btn--quiet{border-color:var(--color-border);background:var(--color-surface)}.btn--quiet:hover{background:var(--color-surface-2)}
.hero{padding-top:clamp(var(--space-12),6vw,var(--space-20))}.hero__grid{display:grid;gap:var(--space-10);align-items:center}.hero h1{font-size:var(--text-3xl);margin-top:var(--space-4)}.hero h1 em{color:var(--color-accent);font-style:italic}.hero .lede{margin-top:var(--space-6)}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-8)}.hero__media{position:relative}.hero__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow)}.hero-note{position:absolute;left:var(--space-5);bottom:var(--space-5);background:var(--color-surface);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);box-shadow:var(--shadow);font-size:var(--text-sm);max-width:14rem}.hero-note strong{font-family:var(--font-display);display:block;font-size:var(--text-lg)}
.intro{display:grid;gap:var(--space-8);align-items:center;background:var(--color-surface-2);border-radius:var(--radius-xl);padding:clamp(var(--space-6),5vw,var(--space-12))}.intro img{border-radius:var(--radius-lg);width:100%;aspect-ratio:4/3;object-fit:cover}.intro h2,.section-head h2{font-size:var(--text-2xl);margin-top:var(--space-3)}.intro p:not(.eyebrow){margin-top:var(--space-5);color:var(--color-text-muted)}.service-layout{display:grid;gap:var(--space-5);margin-top:var(--space-10)}.service-card{padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:13rem;display:flex;flex-direction:column}.service-card:nth-child(2){background:var(--color-surface-2)}.service-card span{color:var(--color-accent);font:600 var(--text-sm)/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase}.service-card h3{font:600 var(--text-xl)/1.1 var(--font-display);margin-top:var(--space-4)}.service-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-3)}.service-card a{font-size:var(--text-sm);font-weight:700;color:var(--color-accent);margin-top:auto;padding-top:var(--space-5)}
.doctors{background:var(--color-surface-2)}.doctors-grid{display:grid;gap:var(--space-6);margin-top:var(--space-10)}.doctor{display:grid;grid-template-columns:10rem 1fr;gap:var(--space-5);align-items:end;border-bottom:1px solid var(--color-border);padding-bottom:var(--space-6)}.doctor img{border-radius:var(--radius-md);width:100%;aspect-ratio:2/3;object-fit:cover}.doctor h3{font:600 var(--text-xl)/1.05 var(--font-display)}.doctor .role{font-size:var(--text-sm);color:var(--color-accent);font-weight:700;margin-top:var(--space-2)}.doctor p{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-3)}.new-patient{display:grid;gap:var(--space-6);background:var(--color-ink);color:#f5f1e8;border-radius:var(--radius-xl);overflow:hidden}.new-patient__copy{padding:var(--space-8)}.new-patient h2{font-size:var(--text-2xl)}.new-patient p{color:#c8dddd;margin-top:var(--space-4)}.new-patient img{height:100%;width:100%;min-height:16rem;object-fit:cover}.new-patient .btn{background:#f5f1e8;color:var(--color-ink);margin-top:var(--space-6)}.quotes{display:grid;gap:var(--space-5);margin-top:var(--space-10)}.quote{border-top:1px solid var(--color-border);padding-top:var(--space-5)}.quote blockquote{font:600 var(--text-lg)/1.4 var(--font-display)}.quote figcaption{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-top:var(--space-4)}
.page-hero{padding-block:var(--space-16) var(--space-10)}.page-hero h1{font-size:var(--text-2xl);margin-top:var(--space-4)}.page-hero .lede{margin-top:var(--space-5)}.service-list{display:grid;gap:0}.service-row{display:grid;gap:var(--space-5);padding-block:var(--space-8);border-top:1px solid var(--color-border)}.service-row h2{font-size:var(--text-xl)}.service-row p{color:var(--color-text-muted);font-size:var(--text-sm)}.service-row .hint{font-weight:700;color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.payment{padding:var(--space-8);border-radius:var(--radius-lg);background:var(--color-surface-2);display:grid;gap:var(--space-3)}.payment h2{font-size:var(--text-xl)}.faq{display:grid;gap:var(--space-3);margin-top:var(--space-8)}details{border-bottom:1px solid var(--color-border);padding:var(--space-5) 0}summary{font:600 var(--text-lg)/1.25 var(--font-display);cursor:pointer;list-style:none}summary::after{content:'+';float:right;color:var(--color-accent)}details[open] summary::after{content:'−'}details p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:var(--space-3)}.cta{background:var(--color-accent);color:white;border-radius:var(--radius-xl);padding:clamp(var(--space-8),6vw,var(--space-16))}.cta h2{font-size:var(--text-2xl)}.cta p{margin-top:var(--space-4);color:#d9ffff}.cta .btn{margin-top:var(--space-6);background:white;color:var(--color-ink)}
.care-image{width:100%;max-width:34rem;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);margin-top:var(--space-5);box-shadow:var(--shadow)}
.contact-grid{display:grid;gap:var(--space-8);align-items:start}.form{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:grid;gap:var(--space-5)}.form h2{font-size:var(--text-xl)}.field{display:grid;gap:var(--space-2)}.field label{font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase}.field input,.field textarea,.field select{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);width:100%}.field textarea{resize:vertical}.field-row{display:grid;gap:var(--space-4)}.success{display:none;background:#dcefeb;color:#174f4e;padding:var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600}.success.is-visible{display:block}.info-stack{display:grid;gap:var(--space-4)}.info-card{border:1px solid var(--color-border);background:var(--color-surface-2);border-radius:var(--radius-md);padding:var(--space-5)}.info-card h2{font-size:var(--text-lg)}.info-card p,.info-card li{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2)}.info-card ul{padding-left:1.2rem}.info-card a{color:var(--color-accent);font-weight:700}.new-callout{background:color-mix(in srgb,var(--color-accent-bright) 24%,var(--color-surface));border-color:var(--color-accent-bright)}
.site-footer{background:#15383a;color:#c9d9d5;margin-top:var(--space-12);padding-block:var(--space-16) var(--space-6)}.footer-grid{display:grid;gap:var(--space-8)}.site-footer .brand{color:#fff}.site-footer h3{font:700 var(--text-xs)/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:#fff}.site-footer ul{display:grid;gap:var(--space-2);list-style:none;margin-top:var(--space-4);font-size:var(--text-sm)}.site-footer p{font-size:var(--text-sm);margin-top:var(--space-4)}.footer-bottom{border-top:1px solid rgba(255,255,255,.17);margin-top:var(--space-10);padding-top:var(--space-4);font-size:var(--text-xs)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s ease}.reveal.is-visible{opacity:1;transform:none}.reveal--delay-1{transition-delay:.12s}.reveal--delay-2{transition-delay:.24s}@media(min-width:768px){.hero__grid{grid-template-columns:1fr 1fr}.intro{grid-template-columns:1fr 1fr}.service-layout{grid-template-columns:1.2fr .8fr .8fr}.service-card:first-child{grid-row:span 2}.doctors-grid{grid-template-columns:1fr 1fr}.doctor{grid-template-columns:8.5rem 1fr}.new-patient{grid-template-columns:1.1fr .9fr}.quotes{grid-template-columns:repeat(3,1fr)}.service-row{grid-template-columns:.75fr 1.25fr;align-items:start}.contact-grid{grid-template-columns:1.1fr .9fr}.field-row{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}@media(min-width:1100px){.hero{min-height:38rem;display:grid;align-items:center}.new-patient__copy{padding:var(--space-12)}.service-row{grid-template-columns:.6fr 1.4fr}}@media(max-width:900px){.nav{display:none}.nav-toggle{display:grid}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
.care-image{width:100%;max-width:34rem;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);margin-top:var(--space-5);box-shadow:var(--shadow)}

/* Dark-mode contrast fixes — new-patient callout keeps its dark-teal panel, info-cards + doctor cards keep readable contrast */
[data-theme='dark'] .new-patient{background:#0f2c2f;color:#f5f1e8}
[data-theme='dark'] .new-patient h2{color:#f5f1e8}
[data-theme='dark'] .new-patient .eyebrow{color:#82d5d3 !important}
[data-theme='dark'] .new-patient p{color:#c8dddd}
[data-theme='dark'] .new-patient .btn{background:#f5f1e8;color:#0f2c2f;font-weight:700}
[data-theme='dark'] .new-patient .btn:hover{background:#82d5d3;color:#0f2c2f}
[data-theme='dark'] .doctor h3{color:#f5f1e8}
[data-theme='dark'] .doctor .role{color:#82d5d3}
[data-theme='dark'] .doctor p{color:#d0e0dc}
[data-theme='dark'] .doctors{background:#17383a}
[data-theme='dark'] .new-callout{background:color-mix(in srgb,#82d5d3 22%,#17383a);border-color:#82d5d3;color:#f5f1e8}
[data-theme='dark'] .hero-note{background:#17383a;color:#f5f1e8;border:1px solid #396064}
[data-theme='dark'] .hero-note strong{color:#82d5d3}

/* Mobile header + doctor grid fixes (iPhone 15 Pro width 393px) */
@media (max-width: 520px){
  .site-header__inner{gap:var(--space-2);min-height:4.5rem}
  .brand img{width:2rem}
  .brand span{font-size:var(--text-sm)}
  .brand small{font-size:.62rem;letter-spacing:.06em}
  .actions{gap:var(--space-1)}
  .actions .icon-btn:not(.nav-toggle){display:none}
  .actions .btn{padding:.55rem .8rem;font-size:var(--text-xs);white-space:nowrap}
  .icon-btn{width:2.4rem;height:2.4rem}
  .hero__actions{flex-wrap:wrap;gap:var(--space-3)}
  .hero__actions .btn{width:100%;justify-content:center}
  .doctor{grid-template-columns:1fr;gap:var(--space-3)}
  .doctor img{width:100%;max-width:14rem;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:var(--radius-lg)}
  .doctor h3{margin-top:var(--space-2)}
}
