/* Polished Family Dental. Design direction: "polished", premium and quiet.
   Porcelain and white canvas, midnight-navy sections with soft light and frosted-glass cards, champagne gold
   from the office sign as the only accent (the four-point sparkle), pill buttons with spaced capitals.
   Playfair Display headlines, Open Sans body. Brand blue is used sparingly, never as large fills. */
:root{
  --ink:#0E1A26; --midnight:#0D1E33; --midnight-2:#17304F; --navy:#0A3D6E; --primary:#006DA6;
  --gold:#C8A96B; --gold-ink:#8E6F33; --porcelain:#F6F4EF; --stone:#ECE8E0; --white:#fff;
  --text:#1E252D; --muted:#5D6670; --line:rgba(14,26,38,.10);
  --glass:rgba(255,255,255,.07); --glass-2:rgba(255,255,255,.12); --glass-line:rgba(255,255,255,.18);
  --satin:radial-gradient(1200px 600px at 85% -10%,rgba(200,169,107,.14),transparent 60%),radial-gradient(900px 600px at -10% 110%,rgba(0,109,166,.22),transparent 60%),linear-gradient(160deg,var(--midnight) 0%,var(--midnight-2) 100%);
  --r:24px; --r-sm:16px; --shadow:0 24px 60px -24px rgba(14,26,38,.28); --shadow-sm:0 8px 24px -12px rgba(14,26,38,.22); --wrap:1200px;
  /* legacy names used by markup */
  --deep:var(--ink); --bg:var(--porcelain); --accent:var(--gold); --acc-text:var(--gold-ink); --tint:#E9DDC4;
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--porcelain);color:var(--text);font:400 18px/1.7 "Open Sans",Arial,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img{max-width:100%;height:auto;display:block}
a{color:var(--ink);text-underline-offset:4px;text-decoration-thickness:1px;text-decoration-color:rgba(14,26,38,.35)}
a:hover{color:var(--primary);text-decoration-color:currentColor}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;line-height:1.08;margin:0 0 .5em;color:var(--ink);font-weight:600;letter-spacing:-.018em}
h1{font-size:clamp(2.5rem,5.2vw,4.1rem)}
h2{font-size:clamp(2rem,3.6vw,3rem)}
h3{font-size:1.32rem;letter-spacing:-.01em}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--gold-ink)}
p{margin:0 0 1em}
svg{width:1.1em;height:1.1em;fill:currentColor;flex:none}
.spark{width:.85em;height:.85em;fill:var(--gold)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.narrow{max-width:840px}
.center{text-align:center}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:99}
.skip:focus{left:10px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.eyebrow{display:flex;align-items:center;gap:.6em;font-weight:600;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin:0 0 1.1em}

/* dark "midnight" surfaces: deep navy with soft light, like satin */
.dark,.va,.trust,.band,.hero-home,.foot,.offer{
  background:radial-gradient(1200px 600px at 85% -10%,rgba(200,169,107,.14),transparent 60%),
             radial-gradient(900px 600px at -10% 110%,rgba(0,109,166,.22),transparent 60%),
             linear-gradient(160deg,var(--midnight) 0%,var(--midnight-2) 100%);
  color:rgba(255,255,255,.82)}
.dark h1,.dark h2,.dark h3,.va h2,.va h3,.band h1,.hero-home h1,.offer h3{color:#fff}
.dark h2 em,.va h2 em,.band h1 em,.hero-home h1 em,.foot-cta em{color:var(--tint)}
.dark .eyebrow,.va .eyebrow,.band .eyebrow,.hero-home .eyebrow,.offer .eyebrow,.foot .eyebrow,.trust .eyebrow{color:rgba(255,255,255,.6)}
.dark a:not(.btn),.va a:not(.btn),.band a:not(.btn),.foot a:not(.btn){color:#fff;text-decoration-color:rgba(255,255,255,.4)}
.glass{background:var(--glass);border:1px solid var(--glass-line);border-radius:28px;-webkit-backdrop-filter:blur(18px) saturate(140%);backdrop-filter:blur(18px) saturate(140%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 30px 80px -30px rgba(0,0,0,.5)}

/* buttons: pills with spaced capitals. Book = solid ink on light, frosted glass on dark */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:52px;padding:14px 28px;border-radius:999px;font-weight:600;text-decoration:none;font-size:.86rem;letter-spacing:.14em;text-transform:uppercase;line-height:1.2;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease,color .2s ease}
.btn svg{width:1.05em;height:1.05em;transition:transform .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:hover svg{transform:translateX(2px)}
.btn-book{background:var(--ink);color:#fff;box-shadow:0 10px 24px -10px rgba(14,26,38,.55)}
.btn-book:hover{background:#1B2B3C;color:#fff;box-shadow:0 14px 30px -10px rgba(14,26,38,.6)}
.btn-line{border-color:rgba(14,26,38,.28);color:var(--ink);background:rgba(255,255,255,.55)}
.btn-line:hover{border-color:var(--ink);color:var(--ink);background:#fff}
.dark .btn,.va .btn,.band .btn,.hero-home .btn,.offer .btn,.foot .btn{color:#fff;background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.dark .btn-book,.va .btn-book,.band .btn-book,.hero-home .btn-book,.offer .btn-book,.foot .btn-book{background:#fff;color:var(--ink);border-color:#fff;box-shadow:0 12px 30px -12px rgba(0,0,0,.6)}
.dark .btn:hover,.va .btn:hover,.band .btn:hover,.hero-home .btn:hover,.offer .btn:hover,.foot .btn:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.7);color:#fff}
.dark .btn-book:hover,.va .btn-book:hover,.band .btn-book:hover,.hero-home .btn-book:hover,.offer .btn-book:hover,.foot .btn-book:hover{background:var(--tint);border-color:var(--tint);color:var(--ink)}
.btn-lg{min-height:58px;padding:16px 34px}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}
.acts-center{justify-content:center}

/* top strip + header */
.strip{background:var(--ink);color:rgba(255,255,255,.7);font-size:.82rem;letter-spacing:.02em}
.strip-in{display:flex;justify-content:space-between;gap:16px;min-height:38px;align-items:center}
.strip a{color:#fff;text-decoration:none;font-weight:600}
.strip-tel{display:flex;gap:24px}
.top{position:sticky;top:0;z-index:50;background:rgba(246,244,239,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:30px;min-height:76px}
.brand img{width:178px;height:auto}
.nav{display:flex;gap:26px;margin-left:auto;white-space:nowrap}
.nav a{color:var(--text);text-decoration:none;font-weight:500;font-size:.93rem;padding:6px 0;border-bottom:1px solid transparent;opacity:.85}
.nav a:hover,.nav a[aria-current]{border-color:var(--gold);color:var(--ink);opacity:1}
.top-in>.btn{min-height:44px;padding:10px 22px;font-size:.78rem}
.menu{display:none}
.menu summary{list-style:none;cursor:pointer;width:48px;height:48px;display:grid;place-content:center;gap:6px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:22px;height:1.5px;background:var(--ink);border-radius:2px}
.menu-panel{position:absolute;left:0;right:0;top:76px;background:rgba(246,244,239,.97);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--line);padding:12px 24px 24px;display:grid;gap:2px;box-shadow:var(--shadow);max-height:calc(100vh - 76px);overflow:auto}
.menu-panel>a:not(.btn){padding:14px 0;font-weight:500;color:var(--text);text-decoration:none;border-bottom:1px solid var(--line);font-size:1.05rem}
.menu-offices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}
.office{display:grid;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;text-decoration:none;color:var(--ink)}
.office span{font-size:.9rem;color:var(--muted)}
.menu-panel .btn{margin-top:12px}
@media (max-width:1180px){.nav{display:none}.menu{display:block}.top-in>.btn-book{margin-left:auto}}
@media (max-width:720px){.strip-tel a:not(.lang){display:none}.strip-in{font-size:.78rem}.top-in>.btn-book{display:none}.brand img{width:150px}.menu{margin-left:auto}}

/* photos: generous radius, soft deep shadow, no outlines */
.frame{position:relative;margin:0}
.frame img{border-radius:var(--r);width:100%;aspect-ratio:3/2;object-fit:cover;box-shadow:var(--shadow)}
.doc .frame img,.doc-in .frame img{aspect-ratio:4/5;object-position:top}
.dark .frame img,.va .frame img,.band .frame img{box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}

/* hero (location pages) */
.hero{background:linear-gradient(180deg,#fff 0%,var(--porcelain) 100%);padding:72px 0 88px;position:relative;overflow:hidden}
.hero-in{display:grid;grid-template-columns:1.05fr 1fr;gap:64px;align-items:center;position:relative;z-index:1}
.hero-sub{font-size:1.15rem;color:var(--muted);max-width:620px}
.hero-photo{margin:0}
.hero-photo img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;aspect-ratio:3/2;object-fit:cover}
.stars{display:flex;gap:.45em;align-items:center;color:var(--muted);font-size:.95rem;margin-top:18px}
.stars svg{fill:var(--gold)}

/* home hero: midnight stage, wide team photo, copy and glass pills below (no text over faces) */
.hero.hero-home{padding:40px 0 88px;background:var(--satin)}
.hero-home .hero-in{display:block}
.hero-home .hero-photo{position:relative;margin:0 0 56px}
.hero-home .hero-photo img{aspect-ratio:2.4/1;object-position:center 32%;border-radius:28px;box-shadow:0 40px 100px -40px rgba(0,0,0,.8)}
.hero-home .hero-photo figcaption{position:absolute;right:18px;bottom:18px;display:inline-flex;gap:.5em;align-items:center;color:#fff;font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:9px 16px;border-radius:999px;background:rgba(13,30,51,.45);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hero-home .hero-copy{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:end}
.hero-home h1{font-size:clamp(2.4rem,4.4vw,3.7rem);margin:0 0 .45em}
.hero-home .hero-sub{color:rgba(255,255,255,.72);font-size:1.08rem;margin:0;max-width:600px}
.hero-pick{display:grid;gap:12px}
.hero-loc{display:flex;align-items:center;justify-content:center;gap:.55em;min-height:60px;padding:16px 28px;border-radius:999px;text-decoration:none;font-size:.88rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.38);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 rgba(255,255,255,.12);transition:background .2s,border-color .2s,transform .2s}
.hero-loc b{font-weight:700}
.hero-loc svg{width:1.05em;height:1.05em;transition:transform .2s}
.hero-loc:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.75);color:#fff;transform:translateY(-1px)}
.hero-loc:hover svg{transform:translateX(3px)}
.hero-tel{margin:6px 0 0;color:rgba(255,255,255,.6);font-size:.92rem;text-align:center}
.hero-tel a{color:#fff;font-weight:600;text-decoration:none}
@media (max-width:1000px){.hero-home .hero-copy{grid-template-columns:1fr;gap:32px}.hero-home .hero-photo img{aspect-ratio:16/9}}
@media (max-width:720px){.hero.hero-home{padding:0 0 64px}.hero-home .wrap.hero-in{padding:0}.hero-home .hero-photo{margin-bottom:36px}.hero-home .hero-photo img{aspect-ratio:4/3;border-radius:0;object-position:center 40%}.hero-home .hero-copy{padding:0 24px}.hero-home .hero-photo figcaption{display:none}}

.hero.hero-office{background:var(--satin)}
.hero-office .hero-sub{color:rgba(255,255,255,.72)}
.hero-office .stars{color:rgba(255,255,255,.6)}
.hero-office .hero-photo img{box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}

/* trust bar: quiet stats on midnight with hairline dividers */
.trust{border-top:1px solid rgba(255,255,255,.06)}
.trust ul{list-style:none;margin:0;padding:34px 0;display:grid;grid-template-columns:repeat(4,1fr)}
.trust li{display:grid;gap:2px;padding:0 28px;border-left:1px solid rgba(255,255,255,.14);text-align:center}
.trust li:first-child{border-left:0}
.trust b{font-family:"Playfair Display",Georgia,serif;font-size:1.3rem;font-weight:500;color:#fff;letter-spacing:-.01em}
.trust span{color:rgba(255,255,255,.55);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}

/* sections */
.sec{padding:120px 0}
.white{background:#fff}
.sec-head{max-width:760px;margin:0 auto 60px;text-align:center}
.sec-head .eyebrow{justify-content:center}
.sec-head p{color:var(--muted);font-size:1.08rem}
.dark .sec-head p{color:rgba(255,255,255,.7)}
.split{display:grid;grid-template-columns:1.2fr .9fr;gap:72px;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px;box-shadow:var(--shadow-sm)}
.white .card{background:var(--porcelain);box-shadow:none}
.fine{font-size:.86rem;color:var(--muted)}
.dark .fine{color:rgba(255,255,255,.55)}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.svc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 30px;display:flex;flex-direction:column;transition:box-shadow .3s ease,transform .3s ease}
.white .svc{background:var(--porcelain);border-color:transparent}
.svc:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.svc>.spark{margin-bottom:18px;width:1.15em;height:1.15em}
.svc h3 a{color:var(--ink);text-decoration:none}
.svc p{color:var(--muted);font-size:.98rem;flex:1}
.svc-links{display:flex;gap:20px;flex-wrap:wrap;margin-top:6px}
.svc-link{display:inline-flex;align-items:center;gap:.45em;font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-decoration:none;color:var(--ink)}
.svc-link svg{transition:transform .2s}
.svc-link:hover{color:var(--primary)}.svc-link:hover svg{transform:translateX(3px)}
.svc-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px}
.svc-group{background:#fff;border-radius:var(--r);padding:32px;border:1px solid var(--line)}
.svc-group h3{display:flex;gap:.55em;align-items:center}
.svc-group>p{color:var(--muted);font-size:.95rem}
.svc-group ul{list-style:none;margin:0;padding:0}
.svc-group li{display:flex;gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}
.svc-group li span{flex:1;font-weight:600;min-width:150px}
.svc-group li a{font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}

/* location picker */
.pick{background:var(--porcelain)}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.loc-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line);display:flex;flex-direction:column;transition:box-shadow .3s,transform .3s}
.loc-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.loc-card figure{margin:0}
.loc-card img{aspect-ratio:16/9;object-fit:cover;width:100%}
.loc-body{padding:34px;flex:1}
.loc-body h3{font-size:1.8rem}
.loc-body h3 a{color:var(--ink);text-decoration:none}
.loc-more{margin-top:18px;font-size:.92rem;color:var(--muted)}

/* membership: split glass panel with frosted plan cards */
.mem-in{display:grid;grid-template-columns:.8fr 1.55fr;gap:48px;align-items:center;padding:56px}
.mem-copy p{color:rgba(255,255,255,.72);font-size:1.08rem}
.mem-copy h2{font-size:clamp(2rem,3.4vw,2.9rem)}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.plans+.fine{grid-column:1/-1;text-align:center;margin:6px 0 0}
.plan{border-radius:22px;padding:28px 20px;position:relative;background:#fff;border:1px solid var(--line);text-align:center}
.dark .plan,.offer .plan{background:var(--glass);border:1px solid var(--glass-line);color:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.plan h3{font-family:"Open Sans",sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}
.dark .plan h3{color:rgba(255,255,255,.65)}
.plan-hi{background:#fff}
.dark .plan-hi{background:var(--glass-2);border-color:rgba(255,255,255,.45)}
.plan-price{display:flex;flex-direction:column;align-items:center;gap:2px;margin:0}
.plan-price b{font-family:"Open Sans",sans-serif;font-weight:700;font-size:2.5rem;color:var(--ink);line-height:1;letter-spacing:-.02em}
.dark .plan-price b{color:#fff}
.plan-price span{color:var(--muted);font-size:.9rem}
.dark .plan-price span{color:rgba(255,255,255,.55)}
.plan-who{color:var(--gold-ink);font-weight:600;font-size:.85rem;margin:.5em 0 1.2em}
.dark .plan-who{color:var(--tint)}
.plan .ticks{text-align:left;font-size:.88rem;line-height:1.5;gap:9px}
.dark .plan .ticks svg{fill:var(--tint);background:none;padding:0}
.dark .fine.center{margin-top:10px}

/* ticks + offer */
.ticks{list-style:none;padding:0;margin:0 0 1em;display:grid;gap:10px}
.ticks li{display:flex;gap:.65em;align-items:flex-start}
.ticks svg{fill:var(--gold-ink);margin-top:.32em;width:1em;height:1em}
.dark .ticks svg,.va .ticks svg,.offer .ticks svg{fill:var(--tint)}
.offer{border-radius:28px;padding:40px;box-shadow:var(--shadow);position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.offer-price{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.price{font-family:"Open Sans",sans-serif;font-size:4rem;line-height:1;font-weight:700;color:#fff;letter-spacing:-.03em}
.was{color:rgba(255,255,255,.6);font-weight:500}
.was s{text-decoration-thickness:1px}
.offer .fine{color:rgba(255,255,255,.55);margin-top:14px}
.offer .btn{width:100%}

/* doctors + crew */
.docs{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 30px}
.doc .frame{margin-bottom:24px}
.doc h3{margin-bottom:.25em}
.doc-where{display:flex;gap:.5em;align-items:center;color:var(--muted);font-weight:600;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.8em}
.doc p{color:var(--muted);font-size:.98rem}
.doc-in{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px;align-items:center}
.doc-in.flip{grid-template-columns:1.2fr .8fr}
.doc-in.flip>figure{order:2}
.crew-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px}
.crew{margin:0;background:#fff;border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.crew img{aspect-ratio:4/5;object-fit:cover;object-position:top;width:100%}
.crew figcaption{padding:16px 18px;display:grid}
.crew b{color:var(--ink);font-weight:600}
.crew span{color:var(--muted);font-size:.86rem}

/* VA band */
.va-in{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.steps-mini{padding-left:1.2em;display:grid;gap:10px;color:rgba(255,255,255,.8)}
.steps-mini li::marker{color:var(--tint)}

/* reviews */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.quote{margin:0;background:var(--porcelain);border-radius:var(--r);padding:36px 32px;display:flex;flex-direction:column}
.stars-row svg{fill:var(--gold);width:1em;height:1em}
.quote blockquote{margin:16px 0 20px;font-family:"Playfair Display",Georgia,serif;font-size:1.22rem;line-height:1.5;color:var(--ink);flex:1}
.quote figcaption{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.stat-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.stat{background:var(--porcelain);border-radius:var(--r);padding:36px;display:grid;gap:4px;text-align:center}
.stat b{font-family:"Open Sans",sans-serif;font-weight:700;font-size:2.8rem;color:var(--ink);letter-spacing:-.03em}
.stat span{color:var(--muted)}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.steps li{background:#fff;border-radius:var(--r);padding:32px;border:1px solid var(--line)}
.white .steps li{background:var(--porcelain);border:0}
.steps-col{grid-template-columns:1fr}
.num{display:inline-grid;place-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-weight:600;font-size:.9rem;margin-bottom:16px}
.white .num{background:#fff}
.steps p{color:var(--muted);margin:0}

/* band (inner page header): midnight stage */
.band{padding:72px 0 88px;position:relative;overflow:hidden}
.band-in{display:grid;grid-template-columns:1.1fr .9fr;gap:72px;align-items:center;position:relative;z-index:1}
.band-in.no-photo{grid-template-columns:1fr}
.band h1{font-size:clamp(2.3rem,4.6vw,3.6rem)}
.band-sub{font-size:1.12rem;color:rgba(255,255,255,.72);max-width:640px}
.band-legal{padding:56px 0 48px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 24px;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.band .crumbs ol{color:rgba(255,255,255,.5)}
.crumbs li+li::before{content:"/";margin-right:8px;opacity:.5}
.crumbs a{color:inherit;text-decoration:none}
.band .crumbs a{color:rgba(255,255,255,.7)}
.band .crumbs a:hover{color:#fff}

/* misc */
.areas{list-style:none;padding:0;margin:0 0 1em;display:flex;flex-wrap:wrap;gap:8px}
.areas li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.88rem;font-weight:500;color:var(--ink)}
.white .areas li{background:var(--porcelain)}
.pay{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pay li{background:#fff;border-radius:var(--r);padding:26px;border:1px solid var(--line)}
.pay h3{font-size:1.12rem}
.pay p{color:var(--muted);font-size:.95rem;margin:0}
.rel{padding-left:1.1em;display:grid;gap:8px}
.map-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.map{width:100%;height:280px;border:0;display:block;filter:saturate(.75)}
.map-info{padding:30px}
.two-maps{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.hours{border-collapse:collapse;width:100%;font-size:.93rem;margin:12px 0 20px}
.hours th{text-align:left;font-weight:500;padding:6px 0;border-bottom:1px solid var(--line)}
.hours td{text-align:right;padding:6px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.foot .hours th,.foot .hours td{border-color:rgba(255,255,255,.1);color:rgba(255,255,255,.7)}
.prose h2{font-size:1.7rem;margin-top:1.4em}
.prose h3{margin-top:1.2em}
.legal h2{font-size:1.5rem}
.post{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.post .frame{margin-bottom:32px}
.post-side{position:sticky;top:110px}
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.post-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .3s,transform .3s}
.post-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.post-card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.post-card h3{font-size:1.15rem;padding:20px 22px 24px;margin:0}
.post-card h3 a{color:var(--ink);text-decoration:none}

/* FAQ */
.q{border-bottom:1px solid var(--line);padding:4px 0}
.q summary{cursor:pointer;font-weight:600;color:var(--ink);padding:20px 40px 20px 0;list-style:none;position:relative;font-size:1.05rem}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"";position:absolute;right:6px;top:50%;width:10px;height:10px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .25s}
.q[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.q p{color:var(--muted)}

/* footer */
.foot{padding:0 0 96px;color:rgba(255,255,255,.7)}
.foot-cta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding:72px 24px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-cta .spark{width:1.4em;height:1.4em}
.foot-cta p{font-family:"Playfair Display",Georgia,serif;font-size:clamp(1.7rem,3.2vw,2.5rem);color:#fff;margin:0;flex:1;min-width:260px;letter-spacing:-.015em;line-height:1.15}
.foot-in{display:grid;grid-template-columns:1.3fr 1fr 1fr .9fr;gap:40px;padding-top:56px;padding-bottom:40px}
.foot-brand img{width:190px;margin-bottom:18px;opacity:.95}
.foot-h{font-family:"Open Sans",sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:16px}
.foot-list{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.95rem}
.foot-list a{text-decoration:none}
.foot a:not(.btn){text-decoration:none}
.foot a:not(.btn):hover{color:var(--tint)}
.foot .hours{max-width:280px}
.soc{display:flex;gap:14px}
.soc svg{width:1.3em;height:1.3em}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);font-size:.82rem;color:rgba(255,255,255,.5)}

/* mobile dock: frosted bar with pill buttons */
.dock{display:none}
@media (max-width:900px){
  .dock{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(246,244,239,.85);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:10px}
  .dock>a,.dock summary{display:flex;align-items:center;justify-content:center;gap:.5em;min-height:50px;border-radius:999px;font-weight:600;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:var(--ink);border:1px solid rgba(14,26,38,.3);background:#fff;list-style:none;cursor:pointer}
  .dock summary::-webkit-details-marker{display:none}
  .dock .dock-book{background:var(--ink);border-color:var(--ink);color:#fff}
  .dock-call{position:relative}
  .dock-call div{position:absolute;bottom:64px;left:0;width:min(320px,90vw);background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:8px;display:grid;gap:6px;border:1px solid var(--line)}
  .dock-call div a{display:flex;justify-content:space-between;padding:14px 16px;border-radius:14px;background:var(--porcelain);color:var(--ink);font-weight:600;text-decoration:none}
  .dock-call div span{font-weight:500;color:var(--muted)}
  .has-chat .dock{padding-right:84px}
}

/* responsive */
@media (max-width:1000px){
  .hero-in,.band-in,.split,.va-in,.doc-in,.post,.two-maps,.mem-in{grid-template-columns:1fr;gap:44px}
  .mem-in{padding:44px 32px}
  .doc-in.flip{grid-template-columns:1fr}.doc-in.flip>figure{order:0}
  .doc-in .frame{max-width:420px}
  .svc-grid,.docs{grid-template-columns:1fr 1fr}
  .trust ul{grid-template-columns:1fr 1fr;row-gap:24px}
  .trust li:nth-child(3){border-left:0}
  .foot-in{grid-template-columns:1fr 1fr}
  .post-side{position:static}
}
@media (max-width:720px){
  body{font-size:17px}
  .sec{padding:80px 0}
  .hero,.band{padding:48px 0 64px}
  .svc-grid,.docs,.loc-grid,.pay,.stat-row,.plans{grid-template-columns:1fr}
  .mem-in{padding:36px 22px;border-radius:24px}
  .foot-in{grid-template-columns:1fr}
  .btn{white-space:normal;text-align:center}
  .acts .btn{flex:1 1 100%}
  .menu-offices{grid-template-columns:1fr}
  .trust li{padding:0 12px}
}

/* careers: the practice's Typeform application */
.apply-form{border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);background:#fff;margin:8px 0 18px;border:1px solid var(--line)}
@media (max-width:720px){.apply-form{height:720px!important}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.card-stack{display:grid;gap:16px;align-content:start}
.olist{margin:8px 0 0;padding-left:1.2em}.olist li{margin-bottom:8px}.olist li::marker{color:var(--gold-ink);font-weight:700}
.va-role{margin-top:28px}

/* GHL review widgets */
.rwidget{margin:28px 0 8px;background:#fff;border-radius:18px;overflow:hidden}
.rw-label{margin:28px 0 0}
