:root {
  color-scheme: light;
  --ink:#0e0e0e; --ink-2:#3a3a38; --muted:#6b6b68; --paper:#f5f5f3; --white:#fff; --line:#e2e1dc;
  --champagne:#d7c7a9; --champagne-soft:#f1ebdf; --bronze:#8a6f45;
  --black:#0b0b0b;
  --radius:20px; --radius-sm:12px;
  --gutter:clamp(1.25rem,5vw,4rem); --max:1280px;
  --shadow:0 1px 2px rgba(14,14,14,.04),0 12px 32px -12px rgba(14,14,14,.12);
  --ease:cubic-bezier(.2,.7,.1,1);
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:5.5rem; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Montserrat,Arial,sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; color:inherit; }
::selection { background:var(--champagne); color:var(--ink); }
.wrap { width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--gutter); }
.star { display:inline-block; width:1em; height:1em; vertical-align:-.12em; fill:currentColor; }
:focus-visible { outline:2px solid var(--bronze); outline-offset:3px; }

/* Type */
.eyebrow { display:inline-flex; align-items:center; gap:.55rem; margin:0; font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--bronze); }
h1,h2,h3 { margin:0; letter-spacing:-.035em; }
h1 { font-size:clamp(2.6rem,5.6vw,4.9rem); font-weight:600; line-height:1.02; }
h2 { font-size:clamp(2rem,4vw,3.25rem); font-weight:600; line-height:1.06; }
h3 { font-size:1.25rem; font-weight:600; letter-spacing:-.02em; }
.accent { color:var(--bronze); }
.lead { font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.65; color:var(--ink-2); }
.sec-head { max-width:40rem; margin-bottom:clamp(2.5rem,5vw,3.75rem); }
.sec-head.center { margin-left:auto; margin-right:auto; text-align:center; }
.sec-head h2 { margin-top:1rem; }
.sec-head p:not(.eyebrow) { margin:1.1rem 0 0; font-size:1.0625rem; line-height:1.7; color:var(--muted); }

/* Buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.6rem; height:3.25rem; padding:0 1.6rem; border-radius:999px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); font-size:.9375rem; font-weight:600; cursor:pointer; white-space:nowrap; transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s; }
.btn:hover { transform:translateY(-1px); box-shadow:0 10px 24px -10px rgba(14,14,14,.45); }
.btn svg { width:1.05rem; height:1.05rem; }
.btn.light { color:var(--ink); border-color:var(--line); background:var(--white); }
.btn.light:hover { border-color:var(--ink); box-shadow:none; }
.btn.gold { background:var(--champagne); border-color:var(--champagne); color:var(--ink); }
.btn.sm { height:2.6rem; padding:0 1.15rem; font-size:.875rem; }
.btn.block { width:100%; }

/* Announcement */
.announce { background:var(--ink); color:#e9e6de; font-size:.8125rem; text-align:center; padding:.6rem var(--gutter); }
.announce b { color:var(--champagne); font-weight:600; }

/* Header */
.site-header { position:sticky; top:0; z-index:50; background:rgba(245,245,243,.86); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid transparent; transition:border-color .3s; }
.site-header.scrolled { border-color:var(--line); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:1.5rem; height:4.75rem; }
.logo { position:relative; z-index:2; }
.logo img { width:8.75rem; height:auto; }
.nav-links { display:flex; align-items:center; gap:2rem; list-style:none; margin:0; padding:0; font-size:.9375rem; font-weight:500; }
.nav-links a:not(.btn) { color:var(--ink-2); transition:color .2s; }
.nav-links a:not(.btn):hover { color:var(--ink); }
.menu-toggle { display:none; position:relative; z-index:2; width:2.75rem; height:2.75rem; border:1px solid var(--line); border-radius:50%; background:var(--white); cursor:pointer; }
.menu-toggle span { display:block; width:1.05rem; height:1.5px; margin:0 auto; background:var(--ink); transition:transform .3s var(--ease); }
.menu-toggle span + span { margin-top:5px; }
.menu-open .menu-toggle span:first-child { transform:translateY(3.25px) rotate(45deg); }
.menu-open .menu-toggle span:last-child { transform:translateY(-3.25px) rotate(-45deg); }

/* Hero */
.hero { padding:clamp(2.5rem,6vw,5rem) 0 clamp(4rem,8vw,6.5rem); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); gap:clamp(2.5rem,5vw,5rem); align-items:center; }
.hero h1 { margin-top:1.25rem; }
.hero .lead { margin:1.5rem 0 0; max-width:31rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2.25rem; }
.trust { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; margin:2.25rem 0 0; padding:0; list-style:none; font-size:.875rem; font-weight:500; color:var(--ink-2); }
.trust li { display:flex; align-items:center; gap:.5rem; }
.trust svg { width:1.1rem; height:1.1rem; stroke:var(--bronze); fill:none; stroke-width:2; flex:none; }
.hero-visual { position:relative; }
.hero-photo { position:relative; aspect-ratio:4/4.4; border-radius:28px; overflow:hidden; background:var(--black); box-shadow:0 30px 60px -30px rgba(14,14,14,.5); }
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:58% 60%; }
.hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.45),transparent 40%); }
.hero-photo .tag { position:absolute; left:1.25rem; bottom:1.25rem; z-index:1; color:var(--paper); font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.hero-photo .tag .star { color:var(--champagne); margin-right:.4rem; }
.float-card { position:absolute; background:var(--white); border-radius:16px; box-shadow:var(--shadow); padding:1rem 1.15rem; }
.price-card { left:-1.75rem; top:12%; display:flex; align-items:center; gap:.9rem; }
.price-card .ic { width:2.75rem; height:2.75rem; border-radius:12px; background:var(--champagne-soft); display:grid; place-items:center; color:var(--bronze); }
.price-card .ic svg { width:1.3rem; height:1.3rem; }
.price-card small { display:block; font-size:.75rem; color:var(--muted); }
.price-card b { display:block; margin-top:.15rem; font-size:1rem; font-weight:600; }
.guar-card { right:-1.25rem; bottom:14%; max-width:13.5rem; font-size:.8125rem; line-height:1.5; color:var(--ink-2); }
.guar-card b { display:flex; align-items:center; gap:.45rem; margin-bottom:.3rem; font-size:.875rem; color:var(--ink); }
.guar-card .star { color:var(--bronze); }

/* Sections */
.section { padding:clamp(4.5rem,9vw,7.5rem) 0; }
.section.white { background:var(--white); }

/* Steps */
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; list-style:none; margin:0; padding:0; }
.step { position:relative; padding:2rem; border-radius:var(--radius); background:var(--paper); border:1px solid var(--line); }
.step-num { display:inline-grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--ink); color:var(--champagne); font-size:.875rem; font-weight:600; }
.step h3 { margin:1.5rem 0 .6rem; }
.step p { margin:0; font-size:.9375rem; line-height:1.7; color:var(--muted); }

/* Pricing */
.size-toggle { display:inline-flex; padding:.3rem; border-radius:999px; background:var(--white); border:1px solid var(--line); margin-bottom:2.5rem; }
.size-toggle button { border:0; background:none; padding:.7rem 1.25rem; border-radius:999px; font-size:.875rem; font-weight:600; color:var(--muted); cursor:pointer; transition:background .25s,color .25s; }
.size-toggle button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.pricing-top { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:1rem 2rem; }
.plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:stretch; }
.plan { position:relative; display:flex; flex-direction:column; padding:2rem; border-radius:var(--radius); background:var(--white); border:1px solid var(--line); transition:transform .3s var(--ease),box-shadow .3s; }
.plan:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.plan.featured { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.plan .badge { position:absolute; top:1.5rem; right:1.5rem; padding:.35rem .7rem; border-radius:999px; background:var(--champagne); color:var(--ink); font-size:.6875rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.plan-name { font-size:.8125rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--bronze); }
.plan.featured .plan-name { color:var(--champagne); }
.plan h3 { margin-top:.6rem; font-size:1.5rem; }
.plan-desc { margin:.6rem 0 0; font-size:.9375rem; line-height:1.6; color:var(--muted); }
.plan.featured .plan-desc { color:#b9b8b3; }
.plan-price { display:flex; align-items:baseline; gap:.4rem; margin:1.75rem 0 .25rem; }
.plan-price .amt { font-size:3rem; font-weight:600; letter-spacing:-.04em; line-height:1; }
.plan-price .from { font-size:.8125rem; color:var(--muted); }
.plan.featured .plan-price .from { color:#b9b8b3; }
.plan-time { font-size:.8125rem; color:var(--muted); display:flex; align-items:center; gap:.4rem; }
.plan.featured .plan-time { color:#b9b8b3; }
.plan-time svg { width:.95rem; height:.95rem; stroke:currentColor; fill:none; stroke-width:2; }
.plan ul { list-style:none; margin:1.75rem 0 2rem; padding:1.5rem 0 0; border-top:1px solid var(--line); display:grid; align-content:start; gap:.75rem; font-size:.9375rem; line-height:1.45; flex:1; }
.plan.featured ul { border-color:#2c2c2a; }
.plan li { display:flex; gap:.65rem; }
.plan li svg { width:1.1rem; height:1.1rem; flex:none; margin-top:.1rem; stroke:var(--bronze); fill:none; stroke-width:2.2; }
.plan.featured li svg { stroke:var(--champagne); }
.plan li.inherit { font-weight:600; }
.plan.featured .btn { background:var(--champagne); border-color:var(--champagne); color:var(--ink); }
.pro { display:grid; grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr)); gap:1.25rem; align-items:center; margin-top:1.25rem; padding:2rem; border-radius:var(--radius); background:var(--black); color:var(--paper); position:relative; overflow:hidden; }
.pro::before { content:""; position:absolute; inset:0; background:url(finish.jpg) 80% 55%/cover; opacity:.35; }
.pro > * { position:relative; }
.pro .eyebrow { color:var(--champagne); }
.pro h3 { margin-top:.6rem; font-size:1.5rem; }
.pro-item { padding:1.25rem; border-radius:var(--radius-sm); background:rgba(11,11,11,.55); border:1px solid rgba(245,245,243,.12); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.pro-item b { display:block; font-weight:600; }
.pro-item span { display:block; margin-top:.4rem; font-size:.875rem; color:var(--champagne); }
.addons { margin-top:2.5rem; }
.addons h3 { font-size:1rem; }
.addon-list { display:flex; flex-wrap:wrap; gap:.6rem; margin:1rem 0 0; padding:0; list-style:none; }
.addon-list li { padding:.6rem 1rem; border-radius:999px; background:var(--white); border:1px solid var(--line); font-size:.875rem; }
.addon-list b { font-weight:600; margin-left:.35rem; }

/* Finish band */
.band { position:relative; background:var(--black); color:var(--paper); overflow:hidden; }
.band img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 55%; opacity:.9; }
.band::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(11,11,11,.92) 0%,rgba(11,11,11,.6) 45%,rgba(11,11,11,.1) 100%); }
.band .wrap { position:relative; z-index:2; padding-top:clamp(5rem,11vw,9rem); padding-bottom:clamp(5rem,11vw,9rem); }
.band .eyebrow { color:var(--champagne); }
.band h2 { margin-top:1.1rem; max-width:13ch; font-weight:500; font-size:clamp(2.4rem,5.5vw,4.5rem); }
.band h2 span { color:var(--champagne); }
.band p { max-width:29rem; margin:1.25rem 0 0; font-size:1.0625rem; line-height:1.7; color:#cfcfca; }

/* Why */
.why { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.why-item { padding:1.75rem; border-radius:var(--radius); background:var(--paper); border:1px solid var(--line); }
.why-ic { width:3rem; height:3rem; border-radius:14px; display:grid; place-items:center; background:var(--ink); color:var(--champagne); }
.why-ic svg { width:1.35rem; height:1.35rem; stroke:currentColor; fill:none; stroke-width:1.8; }
.why-item h3 { margin:1.35rem 0 .5rem; font-size:1.125rem; }
.why-item p { margin:0; font-size:.9375rem; line-height:1.65; color:var(--muted); }

/* Booking / calculator */
.book-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:1.5rem; align-items:start; }
.card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); padding:clamp(1.5rem,3vw,2.25rem); }
.card h3 { font-size:1.125rem; }
.card-step { display:flex; align-items:center; gap:.7rem; margin:0 0 1rem; font-size:.8125rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.card-step span { display:inline-grid; place-items:center; width:1.6rem; height:1.6rem; border-radius:50%; background:var(--ink); color:var(--champagne); font-size:.75rem; letter-spacing:0; }
.card-step small { text-transform:none; letter-spacing:0; font-weight:500; }
.card-block + .card-block { margin-top:2rem; padding-top:2rem; border-top:1px solid var(--line); }
.choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.choice { position:relative; }
.choice input { position:absolute; opacity:0; pointer-events:none; }
.choice label { display:block; height:100%; padding:1rem; border-radius:var(--radius-sm); border:1.5px solid var(--line); cursor:pointer; transition:border-color .2s,background .2s; }
.choice label b { display:block; font-size:.9375rem; font-weight:600; }
.choice label small { display:block; margin-top:.25rem; font-size:.8125rem; color:var(--muted); }
.choice input:checked + label { border-color:var(--ink); background:var(--paper); }
.choice input:focus-visible + label { outline:2px solid var(--bronze); outline-offset:2px; }
.addon-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; }
.check { display:flex; align-items:center; justify-content:space-between; gap:.75rem; padding:.85rem 1rem; border-radius:var(--radius-sm); border:1.5px solid var(--line); cursor:pointer; font-size:.9375rem; transition:border-color .2s,background .2s; }
.check input { width:1.1rem; height:1.1rem; accent-color:var(--ink); margin:0 .6rem 0 0; }
.check span { display:flex; align-items:center; }
.check b { font-weight:600; font-size:.875rem; color:var(--muted); }
.check:has(input:checked) { border-color:var(--ink); background:var(--paper); }
.fields { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field { display:flex; flex-direction:column; gap:.45rem; }
.field.full { grid-column:1/-1; }
.field label { font-size:.8125rem; font-weight:600; color:var(--ink-2); }
.field input,.field select,.field textarea { width:100%; padding:.85rem 1rem; border:1.5px solid var(--line); border-radius:var(--radius-sm); background:var(--white); font-size:1rem; transition:border-color .2s; }
.field input:focus,.field select:focus,.field textarea:focus { outline:0; border-color:var(--ink); }
.field textarea { resize:vertical; min-height:5.5rem; }
.field input.invalid { border-color:#b3261e; }
.summary { position:sticky; top:6.5rem; background:var(--ink); color:var(--paper); border-color:var(--ink); }
.summary .eyebrow { color:var(--champagne); }
.sum-rows { list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.85rem; font-size:.9375rem; }
.sum-rows li { display:flex; justify-content:space-between; gap:1rem; color:#cfcfca; }
.sum-rows li b { color:var(--paper); font-weight:500; white-space:nowrap; }
.sum-total { display:flex; justify-content:space-between; align-items:baseline; margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #2c2c2a; }
.sum-total span { font-size:.875rem; color:#b9b8b3; }
.sum-total b { font-size:2.5rem; font-weight:600; letter-spacing:-.04em; }
.sum-note { margin:1rem 0 1.5rem; font-size:.8125rem; line-height:1.6; color:#9a9994; }
.sum-guar { display:flex; gap:.6rem; margin:1.25rem 0 0; font-size:.8125rem; line-height:1.55; color:#cfcfca; }
.sum-guar .star { color:var(--champagne); flex:none; margin-top:.15rem; }

/* Areas */
.areas { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(2rem,5vw,5rem); align-items:center; }
.area-list { display:flex; flex-wrap:wrap; gap:.6rem; list-style:none; margin:0; padding:0; }
.area-list li { display:flex; align-items:center; gap:.45rem; padding:.7rem 1.1rem; border-radius:999px; background:var(--paper); border:1px solid var(--line); font-size:.9375rem; font-weight:500; }
.area-list svg { width:1rem; height:1rem; stroke:var(--bronze); fill:none; stroke-width:2; }
.areas .sec-head { margin-bottom:0; }
.area-note a { font-weight:600; color:var(--ink); border-bottom:1.5px solid var(--champagne); }

/* Detailers */
.join { background:var(--black); color:var(--paper); position:relative; overflow:hidden; }
.join::before { content:""; position:absolute; left:-15%; bottom:-40%; width:60%; aspect-ratio:1; background:radial-gradient(closest-side,rgba(215,199,169,.14),transparent); }
.join-grid { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.join .eyebrow { color:var(--champagne); }
.join h2 { margin-top:1rem; }
.join h2 span { color:var(--champagne); }
.join .lead { color:#cfcfca; margin:1.25rem 0 0; }
.perks { list-style:none; margin:2rem 0 0; padding:0; display:grid; gap:1rem; }
.perks li { display:flex; gap:.85rem; font-size:1rem; line-height:1.55; color:#e4e3de; }
.perks svg { width:1.35rem; height:1.35rem; flex:none; stroke:var(--champagne); fill:none; stroke-width:2; margin-top:.05rem; }
.join .card { background:#141414; border-color:#262624; }
.join .fields { margin-top:1.5rem; }
.join .field label { color:#cfcfca; }
.join .field input,.join .field select,.join .field textarea { background:#0e0e0e; border-color:#2c2c2a; color:var(--paper); }
.join .field input:focus,.join .field select:focus,.join .field textarea:focus { border-color:var(--champagne); }
.join .field select option { background:#141414; }
.join .card .btn { margin-top:1.5rem; }

/* FAQ */
.faq { max-width:52rem; margin:0 auto; }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.5rem 0; cursor:pointer; list-style:none; font-size:1.0625rem; font-weight:600; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; flex:none; display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%; border:1px solid var(--line); font-weight:400; font-size:1.25rem; transition:transform .3s var(--ease); }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq details p { margin:0 0 1.5rem; max-width:44rem; font-size:1rem; line-height:1.7; color:var(--muted); }

/* CTA + footer */
.cta { text-align:center; }
.cta h2 { max-width:16ch; margin:1rem auto 0; }
.cta .hero-actions { justify-content:center; }
footer { background:var(--ink); color:#cfcfca; padding:clamp(3.5rem,7vw,5rem) 0 2rem; }
.foot-top { display:grid; grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr)); gap:2.5rem; }
.foot-brand img { width:11rem; height:auto; }
.foot-brand p { margin:1.25rem 0 0; max-width:18rem; font-size:.9375rem; line-height:1.65; }
.foot-col h4 { margin:0 0 1rem; font-size:.75rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--champagne); }
.foot-col ul { list-style:none; margin:0; padding:0; display:grid; gap:.65rem; font-size:.9375rem; }
.foot-col a:hover { color:var(--paper); }
.foot-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; margin-top:3.5rem; padding-top:1.5rem; border-top:1px solid #2a2a28; font-size:.8125rem; color:#8a8a86; }

/* Toast */
.toast { position:fixed; left:50%; bottom:1.5rem; z-index:80; transform:translate(-50%,150%); max-width:calc(100% - 2rem); padding:1rem 1.25rem; border-radius:14px; background:var(--ink); color:var(--paper); font-size:.9375rem; box-shadow:0 20px 40px -12px rgba(0,0,0,.4); visibility:hidden; transition:transform .45s var(--ease),visibility .45s; }
.toast.show { transform:translate(-50%,0); visibility:visible; }

/* Reveal */
.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .8s var(--ease),transform .8s var(--ease); }
.js .reveal.in { opacity:1; transform:none; }
.js .reveal.d1 { transition-delay:.08s; } .js .reveal.d2 { transition-delay:.16s; } .js .reveal.d3 { transition-delay:.24s; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none !important; animation:none !important; } .js .reveal { opacity:1; transform:none; } html { scroll-behavior:auto; } }

@media (max-width:1080px) {
  .why { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pro { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .pro > div:first-child { grid-column:1/-1; }
  .foot-top { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .foot-brand { grid-column:1/-1; }
}
@media (max-width:900px) {
  .nav-links { position:fixed; inset:0; z-index:1; flex-direction:column; justify-content:center; gap:1.75rem; background:var(--paper); font-size:1.25rem; opacity:0; visibility:hidden; transition:opacity .3s,visibility .3s; }
  .menu-open .nav-links { opacity:1; visibility:visible; }
  .menu-open { overflow:hidden; }
  .menu-open .site-header { backdrop-filter:none; -webkit-backdrop-filter:none; background:var(--paper); }
  .menu-toggle { display:block; }
  .hero-grid { grid-template-columns:1fr; }
  .hero-photo { aspect-ratio:16/11; }
  .price-card { left:1rem; top:auto; bottom:-1.75rem; }
  .guar-card,.hero-photo .tag { display:none; }
  .steps,.plans { grid-template-columns:1fr; }
  .plans { max-width:32rem; }
  .book-grid,.areas,.join-grid { grid-template-columns:1fr; }
  .summary { position:static; }
}
@media (max-width:620px) {
  .announce { font-size:.75rem; }
  .nav { height:4.25rem; }
  .logo img { width:7.5rem; }
  .hero-actions .btn { flex:1 1 100%; }
  .size-toggle { display:flex; width:100%; }
  .size-toggle button { flex:1; padding:.7rem .3rem; font-size:.75rem; white-space:nowrap; }
  .pro { grid-template-columns:1fr; padding:1.5rem; }
  .why { grid-template-columns:1fr; }
  .choice-grid { gap:.5rem; }
  .choice label { padding:.85rem .7rem; }
  .choice label b { font-size:.8125rem; }
  input[name="size"] + label small { display:none; }
  .addon-grid,.fields { grid-template-columns:1fr; }
  .foot-top { grid-template-columns:1fr 1fr; }
}

/* Detailers page */
.nav-links a[aria-current="page"] { color:var(--ink); font-weight:600; }
.d-hero { position:relative; background:var(--black); color:var(--paper); overflow:hidden; }
.d-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% 55%; }
.d-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(11,11,11,.95) 0%,rgba(11,11,11,.7) 45%,rgba(11,11,11,.15) 100%); }
.d-hero .wrap { position:relative; z-index:2; padding-top:clamp(4.5rem,10vw,8rem); padding-bottom:clamp(4.5rem,10vw,8rem); }
.d-hero .eyebrow { color:var(--champagne); }
.d-hero h1 { margin-top:1.25rem; max-width:12ch; font-weight:600; }
.d-hero h1 span { color:var(--champagne); }
.d-hero .lead { max-width:32rem; margin:1.5rem 0 0; color:#d6d6d2; }
.d-hero .btn.light { background:transparent; color:var(--paper); border-color:rgba(245,245,243,.3); }
.d-hero .btn.light:hover { border-color:var(--paper); }
.d-hero .trust { color:#e4e3de; }
.d-hero .trust svg { stroke:var(--champagne); }
.steps.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.reqs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.req { padding:2rem; border-radius:var(--radius); background:var(--white); border:1px solid var(--line); }
.req h3 { display:flex; align-items:center; gap:.6rem; }
.req h3 .star { color:var(--bronze); }
.req ul { list-style:none; margin:1.5rem 0 0; padding:0; display:grid; gap:.9rem; font-size:.9375rem; line-height:1.5; color:var(--ink-2); }
.req li { display:flex; gap:.65rem; }
.req li svg { width:1.1rem; height:1.1rem; flex:none; margin-top:.15rem; stroke:var(--bronze); fill:none; stroke-width:2.2; }
.req.soft { background:var(--paper); }
.days { display:flex; flex-wrap:wrap; gap:.5rem; }
.day { position:relative; }
.day input { position:absolute; opacity:0; pointer-events:none; }
.day span { display:inline-grid; place-items:center; min-width:3rem; padding:.6rem .8rem; border-radius:999px; border:1.5px solid #2c2c2a; font-size:.8125rem; font-weight:600; color:#cfcfca; cursor:pointer; transition:background .2s,border-color .2s,color .2s; }
.day input:checked + span { background:var(--champagne); border-color:var(--champagne); color:var(--ink); }
.day input:focus-visible + span { outline:2px solid var(--champagne); outline-offset:2px; }
.fieldset-label { font-size:.8125rem; font-weight:600; color:#cfcfca; margin-bottom:.45rem; }
.form-note { margin:1rem 0 0; font-size:.8125rem; line-height:1.6; color:#8a8a86; }
@media (max-width:1080px) { .steps.four { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .reqs { grid-template-columns:1fr; } }
@media (max-width:620px) { .steps.four { grid-template-columns:1fr; } .req { padding:1.5rem; } }

/* Quote: condition + time */
.choice label em { display:block; margin-top:.6rem; font-style:normal; font-size:.8125rem; font-weight:600; color:var(--bronze); }
.cond-note { margin:.9rem 0 0; font-size:.8125rem; line-height:1.6; color:var(--muted); }
.sum-time { display:flex; align-items:center; gap:.5rem; margin:.9rem 0 0; font-size:.9375rem; color:#cfcfca; }
.sum-time svg { width:1.05rem; height:1.05rem; stroke:var(--champagne); fill:none; stroke-width:2; }
.sum-time b { color:var(--paper); font-weight:600; }
@media (max-width:620px) { .condition { grid-template-columns:1fr; } .condition small { display:block !important; } }

/* Detailer earnings */
.earn { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1.25rem; }
.earn-card { display:flex; flex-direction:column; gap:.6rem; padding:1.75rem; border-radius:var(--radius); background:var(--white); border:1px solid var(--line); }
.earn-card.featured { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.earn-pkg { font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--bronze); }
.earn-card.featured .earn-pkg { color:var(--champagne); }
.earn-card b { font-size:2.5rem; font-weight:600; letter-spacing:-.04em; line-height:1.1; }
.earn-time { display:flex; align-items:center; gap:.45rem; font-size:.875rem; color:var(--muted); }
.earn-card.featured .earn-time { color:#b9b8b3; }
.earn-time svg { width:1rem; height:1rem; stroke:currentColor; fill:none; stroke-width:2; }
.earn-note { margin:1.5rem 0 0; font-size:.875rem; color:var(--muted); }
@media (max-width:1080px) { .earn { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .earn { grid-template-columns:1fr 1fr; gap:.75rem; } .earn-card { padding:1.25rem; } .earn-card b { font-size:1.75rem; } }
