/* Packard Dental. Design direction: "black & gold, family-run". Warm off-white canvas, charcoal bands,
   thin gold rules and offset gold photo frames, square-cornered cards, Montserrat with wide letter-spacing
   (like the logo) over Open Sans. Signatures: the Packard brothers band and the one-visit crown strip. */
:root{
  --ink:#1C1C1C; --deep:#121212; --gold:#D2A94F; --gold-text:#7E5F17; --tint:#EFE6CF; --bg:#F3F2EF; --white:#fff;
  --text:#1E1E1E; --muted:#555049; --line:#E3DED3; --dline:rgba(255,255,255,.14);
  --r:6px; --wrap:1180px; --shadow:0 14px 34px rgba(18,18,18,.12);
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:400 17.5px/1.7 "Open Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:var(--gold-text);text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3{font-family:Montserrat,Arial,sans-serif;line-height:1.15;margin:0 0 .5em;color:var(--ink);letter-spacing:-.005em}
h1{font-size:clamp(2.1rem,4.6vw,3.5rem);font-weight:700}
h2{font-size:clamp(1.65rem,3.2vw,2.4rem);font-weight:700}
h3{font-size:1.18rem;font-weight:700}
h1 em,h2 em{font-style:normal;color:var(--gold-text)}
p{margin:0 0 1em}
svg{width:1.1em;height:1.1em;fill:currentColor;flex:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.narrow{max-width:820px}
.center{text-align:center}
.skip{position:absolute;left:-999px;top:0;background:var(--gold);color:var(--ink);padding:10px 16px;z-index:99}
.skip:focus{left:10px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.eyebrow{font-family:Montserrat,Arial,sans-serif;text-transform:uppercase;letter-spacing:.24em;font-size:.76rem;font-weight:700;color:var(--gold-text);margin-bottom:1em;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--gold)}
.center .eyebrow,.eyebrow.c{justify-content:center}

/* buttons: gold is reserved for Book */
.btn{display:inline-flex;align-items:center;gap:.55em;min-height:48px;padding:13px 24px;border-radius:var(--r);font:700 .86rem/1.2 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;white-space:nowrap;transition:transform .15s,background .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-book{background:var(--gold);color:var(--ink);box-shadow:0 8px 20px rgba(210,169,79,.35)}
.btn-book:hover{background:#ddb862;color:var(--ink)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff}
.dark .btn-line,.hero .btn-line,.band .btn-line{border-color:rgba(255,255,255,.6);color:#fff}
.dark .btn-line:hover,.hero .btn-line:hover,.band .btn-line:hover{background:#fff;color:var(--ink)}
.btn-lg{min-height:56px;padding:16px 30px}
.acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.5em}

/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(243,242,239,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;gap:24px;min-height:78px;max-width:1400px}
.brand{flex:none;display:block}
.brand img{width:210px;height:auto;display:block}
@media (max-width:600px){.brand img{width:170px}}
.nav{display:flex;gap:20px;margin-left:auto;white-space:nowrap}
@media (max-width:1460px){.nav{gap:16px}.nav a{letter-spacing:.06em;font-size:.78rem}.top-in{gap:18px}}
.nav a{color:var(--ink);text-decoration:none;font:600 .82rem Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-color:var(--gold)}
.top-cta{display:flex;align-items:center;gap:16px}
.tel{display:inline-flex;gap:.4em;align-items:center;color:var(--ink);font-weight:700;text-decoration:none;white-space:nowrap}
.lang{font-size:.88rem;color:var(--muted)}
.menu{display:none;margin-left:auto}
.menu summary{list-style:none;cursor:pointer;width:48px;height:48px;display:grid;place-content:center;gap:5px}
.menu summary::-webkit-details-marker{display:none}
.menu summary span{display:block;width:24px;height:2px;background:var(--ink)}
.menu-panel{position:absolute;left:0;right:0;top:78px;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 20px 20px;display:grid;gap:4px;box-shadow:var(--shadow)}
.menu-panel a{padding:12px 0;font-weight:700;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.menu-panel .btn{justify-content:center;margin-top:10px;border:0}
@media (max-width:1560px){.top-cta .tel span{display:none}}
@media (max-width:1300px){.nav{display:none}.menu{display:block}}
@media (max-width:820px){.top-cta{display:none}}

/* hero: charcoal, photo in an offset gold frame */
.hero{background:var(--ink);color:#E9E5DC;padding:72px 0 84px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;border:1px solid rgba(210,169,79,.25);border-radius:50%}
.hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;position:relative;z-index:1}
.hero h1{color:#fff}
.hero h1 em{color:var(--gold);display:block}
.hero .eyebrow{color:var(--gold)}
.hero-sub{font-size:1.15rem;color:#D8D3C8;max-width:34em}
.hero-facts{list-style:none;padding:0;margin:30px 0 0;display:flex;flex-wrap:wrap;gap:10px 22px}
.hero-facts li{display:inline-flex;gap:.5em;align-items:center;font:600 .82rem Montserrat,Arial,sans-serif;letter-spacing:.06em;color:#E9E5DC}
.hero-facts svg{color:var(--gold)}
.frame{position:relative}
.frame img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r)}
.frame::before{content:"";position:absolute;inset:18px -18px -18px 18px;border:2px solid var(--gold);border-radius:var(--r)}
.frame.wide img{aspect-ratio:3/2}
@media (max-width:900px){.hero-in{grid-template-columns:1fr;gap:44px}.hero{padding:44px 0 64px}.frame{max-width:440px;margin-right:18px}}

/* sections */
.sec{padding:88px 0}
.white{background:#fff}
.tint{background:var(--tint)}
.dark{background:var(--ink);color:#E1DDD3}
.dark h2,.dark h3{color:#fff}
.dark h2 em{color:var(--gold)}
.dark .eyebrow{color:var(--gold)}
.dark a:not(.btn){color:var(--gold)}
.dark p{color:#CFCAC0}
.sec-head{max-width:760px;margin-bottom:44px}
.sec-head.center{margin-left:auto;margin-right:auto}
.sec-head p{color:var(--muted);font-size:1.08rem}
.dark .sec-head p{color:#CFCAC0}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.split.top-al{align-items:start}
@media (max-width:900px){.split{grid-template-columns:1fr;gap:40px}.sec{padding:62px 0}}
.ticks{list-style:none;padding:0;margin:0 0 1em}
.ticks li{display:flex;gap:.65em;align-items:flex-start;margin:.55em 0}
.ticks svg{color:var(--gold);margin-top:.3em;width:1.15em;height:1.15em}
.fine{font-size:.84rem;color:var(--muted)}
.dark .fine{color:#A9A398}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;border-top:3px solid var(--gold)}
.dark .card{background:#1F1F1F;border-color:var(--dline);border-top-color:var(--gold)}
.tag{display:inline-block;font:700 .7rem Montserrat,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text);border:1px solid var(--gold);padding:5px 10px;border-radius:3px;margin-bottom:14px}
.dark .tag{color:var(--gold)}

/* worry grid (from their own site) */
.worries{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);background:#fff}
.worries div{padding:28px 24px;border-right:1px solid var(--line)}
.worries div:last-child{border-right:0}
.worries h3{font-size:1.05rem}
.worries p{font-size:.95rem;color:var(--muted);margin:0}
@media (max-width:900px){.worries{grid-template-columns:1fr 1fr}.worries div:nth-child(2){border-right:0}.worries div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media (max-width:560px){.worries{grid-template-columns:1fr}.worries div{border-right:0;border-bottom:1px solid var(--line)}}

/* one-visit crown strip (signature) */
.crown-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.crown-steps::before{content:"";position:absolute;left:12%;right:12%;top:27px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(210,169,79,.25))}
.crown-steps li{text-align:center;padding:0 16px;position:relative}
.crown-steps .n{display:grid;place-content:center;width:56px;height:56px;margin:0 auto 18px;border-radius:50%;background:var(--ink);border:2px solid var(--gold);color:var(--gold);font:700 1.2rem Montserrat,Arial,sans-serif}
.crown-steps h3{font-size:1.05rem}
.crown-steps p{font-size:.95rem;margin:0}
@media (max-width:820px){.crown-steps{grid-template-columns:1fr 1fr;gap:32px 0}.crown-steps::before{display:none}}

/* brothers (signature) */
.bros{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.bro{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:start;text-decoration:none;color:inherit;background:#1F1F1F;border:1px solid var(--dline);border-radius:var(--r);padding:26px;transition:border-color .2s}
.bro:hover{border-color:var(--gold);color:inherit}
.mono{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;aspect-ratio:4/5;padding:12px;border-radius:var(--r);background:linear-gradient(160deg,#2A2A2A,#151515);border:1px solid var(--gold);color:var(--gold);font:700 2.6rem Montserrat,Arial,sans-serif;letter-spacing:.06em}
.mono div{width:100%}
.mono img{width:52%;margin:0 auto 10px;opacity:.95}
.mono small{display:block;font-size:.62rem;letter-spacing:.2em;color:#A9A398;text-align:center;font-weight:600}
.bro b{display:block;font:700 1.25rem Montserrat,Arial,sans-serif;color:#fff}
.bro .role{display:block;color:var(--gold);font:600 .72rem Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;margin:4px 0 10px}
.bro p{font-size:.96rem;margin:0 0 .8em}
.bro .more{font-weight:700;color:var(--gold);display:inline-flex;gap:.4em;align-items:center}
@media (max-width:960px){.bros{grid-template-columns:1fr}}
@media (max-width:520px){.bro{grid-template-columns:1fr}.bro .mono{max-width:160px}}

/* offer */
.offer{background:var(--ink);color:#E9E5DC;border-radius:var(--r);padding:34px;position:relative;box-shadow:var(--shadow)}
.offer::before{content:"";position:absolute;inset:10px;border:1px solid rgba(210,169,79,.45);border-radius:4px;pointer-events:none}
.offer h2,.offer h3{color:#fff;font-size:1.5rem;margin-bottom:.15em}
.offer p{color:#CFCAC0}
.offer .ticks li{color:#E9E5DC}
.offer .btn{width:100%;justify-content:center;position:relative}
.offer .fine{color:#A9A398}
.offer .fine a{color:var(--gold)}

/* services */
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc-group{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px;border-top:3px solid var(--gold)}
.svc-group h3{margin-bottom:.3em}
.svc-group p{font-size:.93rem;color:var(--muted)}
.svc-group ul{list-style:none;padding:0;margin:0}
.svc-group li a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--text);font-weight:600}
.svc-group li a:hover{color:var(--gold-text)}
.svc-group li svg{color:var(--gold)}
@media (max-width:1000px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr}}
.grp-head{display:grid;grid-template-columns:300px 1fr;gap:44px;align-items:center;margin-bottom:30px}
@media (max-width:760px){.grp-head{grid-template-columns:1fr}.grp-head .frame{max-width:300px}}
.svc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.svc-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.svc-card:hover{border-color:var(--gold);transform:translateY(-2px);color:var(--text)}
.svc-card b{font:700 1.08rem Montserrat,Arial,sans-serif;color:var(--ink)}
.svc-card span{font-size:.94rem;color:var(--muted)}
.svc-card em{font-style:normal;font-weight:700;color:var(--gold-text);display:inline-flex;gap:.4em;align-items:center;margin-top:auto;padding-top:8px}

/* photo strip */
.strip{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:220px 220px;gap:14px;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.strip figure{margin:0;overflow:hidden;border-radius:var(--r)}
.strip figure:first-child{grid-row:span 2}
.strip img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.strip{grid-template-columns:1fr 1fr;grid-template-rows:auto}.strip figure:first-child{grid-column:span 2;grid-row:auto}.strip img{aspect-ratio:3/2}}

/* membership */
.plan{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:start}
.plan-t{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}
.plan-t caption{text-align:left;font:700 .76rem Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);padding-bottom:10px}
.plan-t th,.plan-t td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left;color:var(--text);font-weight:400}
.plan-t td{font-weight:700;white-space:nowrap}
.plan-t td.inc{color:var(--gold-text)}
.tiers{display:grid;gap:14px}
.tier{display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r);padding:18px 22px}
.tier h3{margin:0;font-size:1.05rem}
.tier p{margin:0;font-size:.88rem;color:var(--muted)}
.tier .p{font:700 1.7rem Montserrat,Arial,sans-serif;color:var(--ink);white-space:nowrap}
.tier .p span{font-size:.8rem;color:var(--muted);font-weight:600}
.nos{list-style:none;padding:0;margin:20px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px}
.nos li{display:flex;gap:.5em;font-size:.95rem}
.nos svg{color:var(--gold);margin-top:.3em}
@media (max-width:900px){.plan{grid-template-columns:1fr}.nos{grid-template-columns:1fr}}

/* reviews */
.rev-wrap{background:#fff;border-radius:var(--r);padding:12px;border:1px solid var(--line)}
.stat-row{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}
.stat{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:var(--r);padding:16px 22px}
.stat b{display:block;font:700 1.8rem/1.1 Montserrat,Arial,sans-serif;color:var(--ink)}
.stat span{font-size:.88rem;color:var(--muted)}

/* FAQ */
.q{border-bottom:1px solid var(--line)}
.q summary{cursor:pointer;list-style:none;font:600 1.04rem Montserrat,Arial,sans-serif;padding:18px 40px 18px 0;position:relative;color:var(--ink)}
.q summary::-webkit-details-marker{display:none}
.q summary::after{content:"+";position:absolute;right:6px;top:12px;font-size:1.6rem;color:var(--gold-text);font-weight:400}
.q[open] summary::after{content:"–"}
.q p{color:var(--muted);margin:0 0 18px}

/* inner band */
.band{background:var(--ink);color:#E1DDD3;padding:48px 0 60px}
.band h1{color:#fff}
.band-in{display:grid;grid-template-columns:1.3fr .7fr;gap:56px;align-items:center}
.band-sub{font-size:1.12rem;color:#CFCAC0;max-width:36em}
.band .frame{max-width:320px;margin-left:auto;margin-right:18px}
.band .tag{color:var(--gold)}
.band-legal .band-in{grid-template-columns:1fr}
@media (max-width:820px){.band-in{grid-template-columns:1fr}.band .frame{max-width:240px;margin:8px 18px 0 0}}
.crumbs ol{list-style:none;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:6px;font-size:.86rem;color:#A9A398}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--gold)}
.crumbs a{color:#CFCAC0}

/* article */
.art{display:grid;grid-template-columns:1fr 340px;gap:52px;align-items:start}
.prose h2{font-size:1.55rem;margin-top:1.4em}
.prose h2:first-child{margin-top:0}
.side{display:grid;gap:20px;position:sticky;top:100px}
.note{background:var(--tint);border-radius:var(--r);padding:26px;border-left:4px solid var(--gold)}
.note h3{margin-bottom:.3em}
@media (max-width:960px){.art{grid-template-columns:1fr}.side{position:static}}
.rels{display:flex;flex-wrap:wrap;gap:10px}
.rel{display:inline-flex;gap:.45em;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:11px 18px;text-decoration:none;color:var(--ink);font-weight:700}
.rel:hover{border-color:var(--gold)}
.rel svg{color:var(--gold)}

/* team */
.crew-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.crew{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.crew-h{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.crew .ini{flex:none;width:52px;height:52px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-content:center;font:700 1rem Montserrat,Arial,sans-serif;border:2px solid var(--gold)}
.crew b{display:block;font:700 1.08rem Montserrat,Arial,sans-serif;color:var(--ink)}
.crew .role{display:block;color:var(--gold-text);font:600 .7rem/1.4 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.crew p{font-size:.94rem;margin:0;color:var(--muted)}
@media (max-width:900px){.crew-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.crew-grid{grid-template-columns:1fr}}

/* doctor page */
.doc-in{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:start}
.doc-in .mono{position:sticky;top:110px;font-size:4.2rem}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.facts div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.facts b{display:block;font:700 .7rem Montserrat,Arial,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
@media (max-width:900px){.doc-in{grid-template-columns:1fr;gap:32px}.doc-in .mono{position:static;max-width:240px}}

/* visit */
.hours{border-collapse:collapse;width:100%}
.hours th,.hours td{text-align:left;padding:8px 0;border-bottom:1px solid var(--line);font-weight:400}
.hours th{font-weight:700}
.dark .hours th,.dark .hours td,.foot .hours th,.foot .hours td{border-color:var(--dline)}
.map{border:0;width:100%;aspect-ratio:4/3;border-radius:var(--r)}
.big{font:700 1.25rem Montserrat,Arial,sans-serif;color:var(--ink)}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.areas{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.areas li{border:1px solid var(--gold);border-radius:3px;padding:6px 14px;font:600 .82rem Montserrat,Arial,sans-serif;letter-spacing:.06em;color:var(--ink);background:#fff}
.steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:18px}
.steps li{display:grid;grid-template-columns:44px 1fr;gap:4px 16px}
.steps .num{grid-row:span 2;width:44px;height:44px;border-radius:50%;background:var(--ink);color:var(--gold);display:grid;place-content:center;font:700 1rem Montserrat,Arial,sans-serif}
.steps h3{margin:6px 0 2px;font-size:1.05rem}
.steps p{margin:0;color:var(--muted)}

/* cta + legal */
.cta{background:var(--tint)}
.cta-in{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.cta h2{margin:0 0 .3em}
.cta p{margin:0;color:var(--muted)}
.cta .acts{margin:0}
.legal h2{font-size:1.35rem;margin-top:1.6em}
.legal .lead{font-size:1.08rem}

/* footer */
.foot{background:var(--deep);color:#BDB7AB;padding:0 0 100px;font-size:.95rem}
.foot-big{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:56px 20px;border-bottom:1px solid var(--dline)}
.foot-big p{font:700 clamp(1.4rem,2.8vw,2.1rem)/1.2 Montserrat,Arial,sans-serif;color:#fff;margin:0}
.foot-big p em{font-style:normal;color:var(--gold)}
.foot-in{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:36px;padding-top:48px;padding-bottom:36px}
.foot a{color:#E7D7AE}
.foot-h{color:#fff;font:700 .78rem Montserrat,Arial,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.foot-brand img{width:190px;margin-bottom:16px}
.foot-list{list-style:none;padding:0;margin:0}
.foot-list li{margin:.35em 0}
.soc{display:flex;gap:10px;margin-top:14px}
.soc a{display:grid;place-content:center;width:42px;height:42px;border-radius:50%;border:1px solid var(--gold);color:var(--gold)}
.soc svg{width:20px;height:20px}
.foot-base{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;border-top:1px solid var(--dline);padding-top:20px;font-size:.85rem}
@media (max-width:900px){.foot-in{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot-in{grid-template-columns:1fr}}
.dock{display:none}
@media (max-width:820px){
  .dock{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:60;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(18,18,18,.97)}
  .dock a{display:flex;justify-content:center;align-items:center;gap:.5em;min-height:48px;border-radius:var(--r);font:700 .82rem Montserrat,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.4)}
  .dock .dock-book{background:var(--gold);color:var(--ink);border-color:var(--gold)}
  .has-chat .dock{padding-right:84px}
}
html[lang="es"] .top-cta .tel span{display:none}

/* ===== Refresh 2026-10-14: "Google function, Apple finish".
   Quieter type (sentence case, no wide tracking, 600 not 700), light canvas with one dark signature band
   (the brothers), soft rounded cards with hairline borders, gold kept for the Book button and small accents.
   Second clauses of headlines go soft gray instead of gold. */
:root{--ink:#1D1D1F;--text:#1D1D1F;--muted:#6E6E73;--line:#E6E3DD;--bg:#FBFAF8;--soft:#F5F4F1;--r:14px;--rl:22px;--shadow:0 1px 2px rgba(0,0,0,.04),0 8px 28px rgba(0,0,0,.06)}
body{font-size:17px;line-height:1.65;color:var(--text);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-weight:600;letter-spacing:-.022em;line-height:1.1}
h1{font-size:clamp(2.3rem,5vw,3.9rem)}
h2{font-size:clamp(1.8rem,3.4vw,2.7rem)}
h3{font-size:1.15rem;letter-spacing:-.01em}
h1 em,h2 em{color:var(--muted)}
.eyebrow{text-transform:none;letter-spacing:0;font-size:.95rem;font-weight:600;color:var(--gold-text);margin-bottom:.6em}
.eyebrow::before{display:none}
.tag{text-transform:none;letter-spacing:0;font-size:.82rem;font-weight:600;border:0;background:var(--tint);border-radius:999px;padding:5px 12px}
/* buttons: pills, sentence case */
.btn{border-radius:999px;text-transform:none;letter-spacing:0;font:600 1rem/1.2 "Open Sans",system-ui,-apple-system,sans-serif;min-height:48px;padding:12px 24px;border-width:1px}
.btn-book{box-shadow:none}
.btn-book:hover{background:#DDB862}
.btn-line{border-color:#C9C5BD}
.btn-line:hover{background:var(--ink);border-color:var(--ink)}
.btn-lg{min-height:54px;padding:15px 30px;font-size:1.05rem}
.btn:hover{transform:none}
/* header: slim, translucent, quiet links */
.top{background:rgba(251,250,248,.82);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid rgba(0,0,0,.07)}
.top-in{min-height:64px;gap:28px;max-width:1240px}
.brand img{width:150px}
.nav{gap:30px}
.nav a,.nav a:hover{font:500 .95rem "Open Sans",system-ui,-apple-system,sans-serif;letter-spacing:0;text-transform:none;color:#424245;border:0;padding:4px 0}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border:0}
.nav a[aria-current]{font-weight:600}
.top-cta{gap:18px}
.tel{font-weight:600;font-size:.95rem;color:#424245}
.lang{font-size:.9rem;text-decoration:none;color:#424245}
.lang:hover{color:var(--ink)}
.top .btn{min-height:38px;padding:8px 18px;font-size:.92rem}
.top .btn svg{display:none}
@media (max-width:1460px){.nav{gap:24px}.nav a{font-size:.92rem}.top-in{gap:22px}}
@media (max-width:1300px){.nav{display:none}.menu{display:block}}
.menu-panel{top:64px;background:#fff}
.menu-panel a{font-weight:500;font-size:1.05rem}
/* hero: light, photo in a soft rounded frame */
.hero{background:var(--bg);color:var(--text);padding:80px 0 96px}
.hero::after{display:none}
.hero h1{color:var(--ink)}
.hero h1 em{color:var(--muted)}
.hero .eyebrow{color:var(--gold-text)}
.hero-sub{color:var(--muted);font-size:1.2rem}
.hero-facts{gap:10px}
.hero-facts li{font:500 .9rem "Open Sans",system-ui,sans-serif;letter-spacing:0;color:#424245;background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 14px}
.hero-facts svg{color:var(--gold-text)}
.hero .btn-line{border-color:#C9C5BD;color:var(--ink)}
.hero .btn-line:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.frame::before{display:none}
.frame img{border-radius:var(--rl);box-shadow:var(--shadow)}
@media (max-width:900px){.hero{padding:40px 0 64px}.frame{margin-right:0}}
/* sections */
.sec{padding:104px 0}
@media (max-width:900px){.sec{padding:68px 0}}
.soft{background:var(--soft)}
.tint{background:var(--soft)}
.dark{background:#1D1D1F}
.dark h2 em{color:#A1A1A6}
.sec-head p{color:var(--muted);font-size:1.12rem}
.card,.svc-group,.svc-card,.crew,.stat,.tier,.facts div,.rev-wrap,.rel{border:1px solid var(--line);border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:var(--rl);background:#fff}
.svc-group{padding:28px}
.svc-card:hover,.rel:hover{border-color:#CFCAC0;transform:none;box-shadow:var(--shadow)}
.svc-group li a{font-weight:500}
.svc-group li svg,.ticks svg,.nos svg,.rel svg{color:var(--gold-text)}
.ticks svg{width:1em;height:1em}
.worries{border-radius:var(--rl);overflow:hidden}
.worries h3{font-size:1.05rem}
/* crown steps on light */
.soft .crown-steps .n,.crown-steps .n{background:#fff;color:var(--gold-text);border:1px solid var(--line);font-weight:600;box-shadow:var(--shadow)}
.crown-steps::before{background:var(--line);height:1px}
.soft .btn-line{border-color:#C9C5BD;color:var(--ink)}
/* brothers: the one dark band */
.bro{background:#2A2A2C;border:0;border-radius:var(--rl)}
.bro .role{text-transform:none;letter-spacing:0;font:500 .9rem "Open Sans",system-ui,sans-serif;color:#C9A55A}
.bro b{font-weight:600}
.mono{border:0;border-radius:16px;background:linear-gradient(160deg,#333336,#1D1D1F);font-weight:600}
.mono small{letter-spacing:.12em}
/* offer: clean white card */
.offer{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:var(--rl);box-shadow:var(--shadow)}
.offer::before{display:none}
.offer h2,.offer h3{color:var(--ink)}
.offer p,.offer .ticks li{color:var(--muted)}
.offer .fine,.offer .fine a{color:var(--muted)}
/* inner band: light */
.band{background:var(--bg);color:var(--text);padding:56px 0 72px}
.band h1{color:var(--ink)}
.band-sub{color:var(--muted)}
.band .btn-line{border-color:#C9C5BD;color:var(--ink)}
.band .btn-line:hover{background:var(--ink);color:#fff}
.band .tag{color:var(--gold-text)}
.band .frame{margin-right:0}
.crumbs ol{color:var(--muted)}
.crumbs a{color:var(--muted)}
.crumbs li+li::before{color:#C9C5BD}
/* tables, tiers, team */
.plan-t{border-radius:var(--rl);overflow:hidden;border-collapse:separate;border-spacing:0}
.plan-t caption{text-transform:none;letter-spacing:0;font:600 .95rem "Open Sans",system-ui,sans-serif}
.plan-t td{font-weight:600}
.tier .p{font-weight:600}
.note{background:var(--soft);border-left:0;border-radius:var(--rl)}
.crew .ini{background:var(--tint);color:var(--gold-text);border:0;font-weight:600}
.crew .role,.facts b{text-transform:none;letter-spacing:0;font:500 .88rem "Open Sans",system-ui,sans-serif;color:var(--gold-text)}
.crew b{font-weight:600}
.areas li{border:1px solid var(--line);border-radius:999px;font:500 .9rem "Open Sans",system-ui,sans-serif;letter-spacing:0}
.steps .num{background:var(--tint);color:var(--gold-text);font-weight:600}
.big{font-weight:600}
.q summary{font-weight:600}
.cta{background:var(--soft)}
/* footer */
.foot{background:#1D1D1F;color:#A1A1A6}
.foot a{color:#E8E8ED;text-decoration:none}
.foot a:hover{text-decoration:underline}
.foot-big p{font-weight:600;letter-spacing:-.02em}
.foot-big p em{color:#A1A1A6}
.foot-h{text-transform:none;letter-spacing:0;font:600 .95rem "Open Sans",system-ui,sans-serif}
.soc a{border-color:#424245;color:#E8E8ED}
@media (max-width:820px){.dock{background:rgba(255,255,255,.9);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(0,0,0,.08)}
  .dock a{text-transform:none;letter-spacing:0;font:600 .98rem "Open Sans",system-ui,sans-serif;color:var(--ink);border:1px solid #C9C5BD;border-radius:999px}
  .dock .dock-book{border-color:var(--gold)}}
h1{font-size:clamp(2.05rem,4.4vw,3.4rem)}
.foot a.btn-book,.dark a.btn-book{color:var(--ink)}
.foot a.btn-book:hover{text-decoration:none}
@media (max-width:600px){.hero-sub{font-size:1.08rem}.hero-facts li{font-size:.84rem;padding:5px 12px}.hero .acts .btn{flex:1 1 auto;justify-content:center}}
.mono.photo{padding:0;background:none;overflow:hidden}
.mono.photo img{width:100%;height:100%;margin:0;object-fit:cover;object-position:50% 20%;opacity:1}
