/* ============================================================
   Crewe Ear Wax Removal — "Copper & Espresso" design system
   Fraunces (display) + Manrope (body)
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --espresso:#1B130E;        /* near-black warm ink — dark surfaces */
  --espresso-2:#261B13;      /* raised dark surface */
  --espresso-3:#33251A;      /* borders on dark */
  --copper:#C56E39;          /* primary accent */
  --copper-d:#9E4E1F;        /* hover */
  --copper-l:#E5A876;        /* light accent on dark */
  --bone:#F4EDE2;            /* light background */
  --bone-2:#EBE1D1;          /* tinted light surface */
  --ink:#2A1D12;             /* text on light */
  --muted:#6E5D4D;           /* secondary text on light */
  --gold:#D99A2B;            /* stars */
  --ok:#3E7C4F;              /* success */
  --serif:'Fraunces',Georgia,serif;
  --sans:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --rad:12px;
  --shadow-soft:0 10px 34px rgba(27,19,14,.10);
  --shadow-deep:0 24px 60px rgba(27,19,14,.22);
}

html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;background:var(--bone);color:var(--ink);line-height:1.7;-webkit-font-smoothing:antialiased;font-size:16.5px}
::selection{background:var(--copper);color:#fff}
img,svg{display:block;max-width:100%}
a{color:inherit}

/* --- grain overlay ------------------------------------------------ */
.grain{position:fixed;inset:0;pointer-events:none;z-index:2000;opacity:.05;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.7'/%3E%3C/svg%3E")}

/* --- reveal animations -------------------------------------------- */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1)}
.rv.on{opacity:1;transform:none}
.rv2{transition-delay:.12s}.rv3{transition-delay:.24s}.rv4{transition-delay:.36s}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* --- skip link / a11y ---------------------------------------------- */
.skip{position:absolute;left:-999px;top:0;background:var(--copper);color:#fff;padding:.7rem 1.2rem;z-index:5000;border-radius:0 0 8px 0}
.skip:focus{left:0}

/* --- top ribbon ----------------------------------------------------- */
.ribbon{background:var(--espresso);color:rgba(244,237,226,.78);font-size:.78rem;letter-spacing:.06em;padding:.55rem 1.5rem;display:flex;gap:1.8rem;justify-content:center;flex-wrap:wrap}
.ribbon b{color:var(--copper-l);font-weight:600}
.ribbon a{color:var(--copper-l);text-decoration:none;font-weight:700}
.ribbon a:hover{text-decoration:underline}

/* --- nav ------------------------------------------------------------ */
nav.site{position:sticky;top:0;z-index:900;background:rgba(244,237,226,.9);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(42,29,18,.09);padding:.95rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
nav.site.scrolled{box-shadow:0 6px 30px rgba(27,19,14,.08)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand-mark{width:40px;height:40px;border-radius:50%;background:var(--espresso);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.brand-mark svg{width:22px;height:22px}
.brand-name{font-family:var(--serif);font-size:1.14rem;font-weight:500;line-height:1.05;color:var(--ink);display:block}
.brand-sub{font-size:.6rem;letter-spacing:.26em;text-transform:uppercase;color:var(--copper-d);display:block;margin-top:.18rem;font-weight:700}
.nav-links{display:flex;gap:1.5rem;align-items:center;list-style:none}
.nav-links a{text-decoration:none;font-size:.86rem;font-weight:600;color:var(--ink);letter-spacing:.01em;transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--copper-d)}
.nav-cta{background:var(--copper);color:#fff!important;padding:.66rem 1.35rem;border-radius:999px;font-size:.8rem!important;font-weight:700!important;letter-spacing:.06em;transition:background .2s,transform .2s}
.nav-cta:hover{background:var(--copper-d);transform:translateY(-1px);color:#fff!important}
.burger{display:none;background:none;border:none;cursor:pointer;padding:.4rem;color:var(--ink)}
.burger svg{width:27px;height:27px}

/* mobile menu */
.mmenu{display:none;position:fixed;inset:0;background:var(--espresso);z-index:1500;flex-direction:column;padding:5.5rem 2rem 2.5rem;overflow-y:auto}
.mmenu.open{display:flex}
.mmenu a{color:var(--bone);text-decoration:none;font-family:var(--serif);font-size:1.5rem;font-weight:400;padding:.95rem 0;border-bottom:1px solid rgba(244,237,226,.09)}
.mmenu a[aria-current="page"]{color:var(--copper-l);font-style:italic}
.mmenu .m-book{font-family:var(--sans);background:var(--copper);border:none;border-radius:999px;text-align:center;font-size:.9rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:1.1rem;margin-top:2.2rem}
.m-close{position:absolute;top:1.4rem;right:1.5rem;background:none;border:none;color:var(--bone);cursor:pointer;padding:.5rem}
.m-close svg{width:26px;height:26px}

/* --- buttons --------------------------------------------------------- */
.btn{display:inline-block;text-decoration:none;border-radius:999px;font-weight:700;font-size:.84rem;letter-spacing:.07em;padding:1.02rem 2.3rem;transition:all .22s;cursor:pointer;border:none;text-align:center}
.btn-copper{background:var(--copper);color:#fff;box-shadow:0 10px 26px rgba(197,110,57,.35)}
.btn-copper:hover{background:var(--copper-d);transform:translateY(-2px);box-shadow:0 14px 34px rgba(197,110,57,.42)}
.btn-ghost-d{border:1.5px solid rgba(244,237,226,.4);color:var(--bone);background:transparent}
.btn-ghost-d:hover{border-color:var(--copper-l);color:var(--copper-l)}
.btn-ghost-l{border:1.5px solid var(--copper-d);color:var(--copper-d);background:transparent}
.btn-ghost-l:hover{background:var(--copper);border-color:var(--copper);color:#fff}
.btn-bone{background:var(--bone);color:var(--espresso)}
.btn-bone:hover{background:#fff;transform:translateY(-2px)}

/* --- hero ------------------------------------------------------------- */
header.hero{background:radial-gradient(1100px 600px at 78% 8%,rgba(197,110,57,.16),transparent 60%),var(--espresso);color:var(--bone);padding:6.5rem 2rem 5rem;position:relative;overflow:hidden}
.hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.kicker{font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--copper-l);font-weight:800;display:flex;align-items:center;gap:.9rem;margin-bottom:1.6rem}
.kicker::before{content:'';width:38px;height:1px;background:var(--copper)}
h1.display{font-family:var(--serif);font-weight:300;font-size:clamp(2.7rem,5.6vw,4.6rem);line-height:1.02;letter-spacing:-.015em;margin-bottom:1.7rem}
h1.display em,.sh em{font-style:italic;color:var(--copper-l);font-weight:400}
.hero-sub{font-size:1.08rem;font-weight:300;color:rgba(244,237,226,.75);line-height:1.8;max-width:520px;margin-bottom:2.4rem}
.hero-acts{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem}
.hero-facts{display:flex;gap:2.6rem;flex-wrap:wrap;border-top:1px solid rgba(244,237,226,.12);padding-top:1.8rem}
.hf b{font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--bone);display:block;line-height:1}
.hf span{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,237,226,.5);font-weight:700;display:block;margin-top:.45rem}

/* --- section scaffolding ---------------------------------------------- */
.sec{padding:5.5rem 2rem}
.sec-inner{max-width:1180px;margin:0 auto}
.sec-dark{background:var(--espresso);color:var(--bone)}
.sec-tint{background:var(--bone-2)}
.idx{display:flex;align-items:baseline;gap:1.1rem;margin-bottom:1.3rem}
.idx-n{font-family:var(--serif);font-style:italic;color:var(--copper-d);font-size:1rem}
.sec-dark .idx-n{color:var(--copper-l)}
.idx-t{font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;font-weight:800;color:var(--muted)}
.sec-dark .idx-t{color:rgba(244,237,226,.55)}
.sh{font-family:var(--serif);font-weight:300;font-size:clamp(2rem,4vw,3.1rem);line-height:1.08;letter-spacing:-.01em;margin-bottom:1.2rem;max-width:720px}
.lead{font-size:1.06rem;color:var(--muted);font-weight:400;max-width:640px;line-height:1.8}
.sec-dark .lead{color:rgba(244,237,226,.7)}

/* short-answer block — AEO target */
.short-answer{border-left:3px solid var(--copper);background:rgba(197,110,57,.07);padding:1.3rem 1.6rem;border-radius:0 10px 10px 0;font-size:1.02rem;line-height:1.75;max-width:760px;margin:1.8rem 0}
.sec-dark .short-answer{background:rgba(197,110,57,.12);color:rgba(244,237,226,.9)}
.short-answer b{color:var(--copper-d);font-weight:700}
.sec-dark .short-answer b{color:var(--copper-l)}

/* --- cards -------------------------------------------------------------- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:3rem}
.card{background:#fff;border:1px solid rgba(42,29,18,.08);border-radius:var(--rad);padding:2.1rem;transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft)}
.card h3{font-family:var(--serif);font-weight:400;font-size:1.32rem;margin:.2rem 0 .7rem}
.card p{font-size:.93rem;color:var(--muted);line-height:1.75}
.card-ico{width:50px;height:50px;border-radius:12px;background:rgba(197,110,57,.12);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.card-ico svg{width:26px;height:26px;stroke:var(--copper-d);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.card-d{background:var(--espresso-2);border:1px solid var(--espresso-3);color:var(--bone)}
.card-d p{color:rgba(244,237,226,.65)}
.card-d:hover{box-shadow:var(--shadow-deep)}

/* --- steps ---------------------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem;counter-reset:step}
.step{position:relative;padding:2rem 1.8rem 1.8rem;border:1px solid rgba(42,29,18,.1);border-radius:var(--rad);background:#fff}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--serif);font-style:italic;font-size:2.6rem;font-weight:300;color:var(--copper);display:block;line-height:1;margin-bottom:1rem}
.step h3{font-family:var(--serif);font-weight:400;font-size:1.25rem;margin-bottom:.6rem}
.step p{font-size:.92rem;color:var(--muted)}

/* --- price panel ------------------------------------------------------------ */
.price-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1.8rem;margin-top:3rem;max-width:880px}
.price-card{background:#fff;border:1px solid rgba(42,29,18,.1);border-radius:16px;padding:2.5rem 2.3rem;position:relative}
.price-card.hot{border:1.5px solid var(--copper);box-shadow:0 22px 54px rgba(197,110,57,.16)}
.price-tag{position:absolute;top:-13px;left:2.3rem;background:var(--copper);color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:.4rem 1rem;border-radius:999px}
.price-card h3{font-family:var(--serif);font-weight:400;font-size:1.3rem}
.price-num{font-family:var(--serif);font-weight:300;font-size:3.4rem;color:var(--copper-d);line-height:1;margin:1rem 0 .4rem}
.price-num small{font-size:1.1rem;color:var(--muted)}
.price-note{font-size:.82rem;color:var(--muted);margin-bottom:1.4rem}
.tick-list{list-style:none;margin:1.2rem 0 1.8rem}
.tick-list li{padding:.5rem 0 .5rem 1.9rem;position:relative;font-size:.92rem;color:var(--ink);border-bottom:1px dashed rgba(42,29,18,.08)}
.tick-list li:last-child{border-bottom:none}
.tick-list li::before{content:'';position:absolute;left:0;top:.82rem;width:15px;height:15px;border-radius:50%;background:var(--copper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-size:9px;background-repeat:no-repeat;background-position:center}
.sec-dark .tick-list li,.card-d .tick-list li{color:rgba(244,237,226,.85);border-color:rgba(244,237,226,.1)}

/* --- anatomy film ------------------------------------------------------------- */
.film{background:var(--espresso);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-deep);margin-top:3rem;border:1px solid var(--espresso-3)}
.film-stage{position:relative;padding:1.6rem 1.6rem .6rem}
.film-stage svg{width:100%;height:auto}
.film-bar{display:flex;align-items:center;gap:1.2rem;padding:1.1rem 1.6rem 1.4rem;border-top:1px solid rgba(244,237,226,.08)}
.film-play{width:46px;height:46px;border-radius:50%;background:var(--copper);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .2s,transform .2s}
.film-play:hover{background:var(--copper-d);transform:scale(1.05)}
.film-play svg{width:17px;height:17px;fill:#fff}
.film-cap{flex:1;min-width:0}
.film-cap b{display:block;font-family:var(--serif);font-weight:400;font-size:1.05rem;color:var(--bone);letter-spacing:.01em}
.film-cap span{display:block;font-size:.8rem;color:rgba(244,237,226,.55);margin-top:.15rem}
.film-dots{display:flex;gap:.5rem;flex-shrink:0}
.fdot{width:26px;height:4px;border-radius:4px;background:rgba(244,237,226,.16);border:none;cursor:pointer;padding:0;transition:background .3s}
.fdot.on{background:var(--copper)}

/* film chapters — scene states */
.film .wax{transform-box:fill-box;transform-origin:center;transition:transform 2s cubic-bezier(.4,0,.2,1),opacity 1.6s}
.film .lbl-wax{transition:opacity 1s}
.film .scope{opacity:0;transition:opacity 1s}
.film .wand{opacity:0;transform:translate(-260px,110px);transition:transform 1.8s cubic-bezier(.22,.61,.36,1),opacity .7s}
.film .particles circle{opacity:0}
.film .waves-in path{opacity:0;transition:opacity .8s}
.film .glow{transition:opacity 1.4s}
.film .waves-out{transition:opacity 1s}

.film.f-ch1 .waves-out{animation:wavePulse 2.2s ease-in-out infinite}
.film.f-ch2 .scope{opacity:1}
.film.f-ch2 .waves-out{opacity:.35}
.film.f-ch3 .wand{opacity:1;transform:none}
.film.f-ch3 .wax{transform:scale(.14);opacity:.3}
.film.f-ch3 .lbl-wax{opacity:0}
.film.f-ch3 .particles circle{animation:drift 1.5s ease-in infinite}
.film.f-ch3 .particles .p2{animation-delay:.35s}
.film.f-ch3 .particles .p3{animation-delay:.7s}
.film.f-ch3 .particles .p4{animation-delay:1.05s}
.film.f-ch4 .wax{transform:scale(0);opacity:0}
.film.f-ch4 .lbl-wax{opacity:0}
.film.f-ch4 .waves-in path{opacity:.85}
.film.f-ch4 .waves-in path:nth-child(1){transition-delay:.1s}
.film.f-ch4 .waves-in path:nth-child(2){transition-delay:.45s}
.film.f-ch4 .waves-in path:nth-child(3){transition-delay:.8s}
.film.f-ch4 .waves-in path:nth-child(4){transition-delay:1.15s}
.film.f-ch4 .glow{opacity:.22;animation:glowPulse 2.4s ease-in-out infinite}
.film.f-ch4 .drum path{animation:drumFlex 1.6s ease-in-out infinite}

@keyframes wavePulse{0%,100%{opacity:.9}50%{opacity:.35}}
@keyframes drift{0%{opacity:0;transform:translate(0,0)}25%{opacity:1}100%{opacity:0;transform:translate(-46px,10px)}}
@keyframes glowPulse{0%,100%{opacity:.14}50%{opacity:.3}}
@keyframes drumFlex{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}
@media (prefers-reduced-motion:reduce){
  .film .wax,.film .wand,.film .waves-in path{transition:none}
  .film.f-ch1 .waves-out,.film.f-ch3 .particles circle,.film.f-ch4 .glow,.film.f-ch4 .drum path{animation:none}
}

/* --- comparison table ----------------------------------------------------------- */
.cmp{width:100%;border-collapse:collapse;margin-top:2.6rem;background:#fff;border-radius:var(--rad);overflow:hidden;box-shadow:var(--shadow-soft);font-size:.92rem}
.cmp th{background:var(--espresso);color:var(--bone);font-family:var(--serif);font-weight:400;font-size:1.02rem;text-align:left;padding:1.1rem 1.4rem}
.cmp th:first-child{width:34%}
.cmp td{padding:1rem 1.4rem;border-bottom:1px solid rgba(42,29,18,.07);vertical-align:top;color:var(--ink)}
.cmp tr:last-child td{border-bottom:none}
.cmp td:first-child{font-weight:700;color:var(--muted);font-size:.85rem}
.cmp .good{color:var(--ok);font-weight:700}
.cmp .bad{color:#A33B2A;font-weight:700}

/* --- FAQ -------------------------------------------------------------------------- */
.faq-list{max-width:820px;margin-top:2.6rem}
.faq{border-bottom:1px solid rgba(42,29,18,.12)}
.faq-q{width:100%;background:none;border:none;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.5rem .2rem;cursor:pointer;font-family:var(--serif);font-weight:400;font-size:1.18rem;color:var(--ink);line-height:1.35}
.faq-q:hover{color:var(--copper-d)}
.faq-q .fx{width:30px;height:30px;border:1.5px solid var(--copper-d);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--copper-d);font-size:1.2rem;font-family:var(--sans);font-weight:400;transition:transform .3s,background .3s;line-height:1}
.faq.open .fx{transform:rotate(45deg);background:var(--copper);border-color:var(--copper);color:#fff}
.faq-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.22,.61,.36,1)}
.faq-a-in{padding:0 .2rem 1.6rem;font-size:.96rem;color:var(--muted);line-height:1.8;max-width:700px}
.faq-a-in a{color:var(--copper-d)}

/* --- area chips / grid --------------------------------------------------------------- */
.chips{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}
.chip{text-decoration:none;font-size:.86rem;font-weight:600;padding:.6rem 1.35rem;border-radius:999px;border:1px solid rgba(42,29,18,.16);color:var(--ink);background:#fff;transition:all .2s}
.chip:hover{border-color:var(--copper);color:var(--copper-d);transform:translateY(-1px)}
.chip.dim{background:transparent;color:var(--muted)}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:3rem}
.area-card{text-decoration:none;background:#fff;border:1px solid rgba(42,29,18,.09);border-radius:var(--rad);padding:1.7rem 1.5rem;transition:all .25s}
.area-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:rgba(197,110,57,.4)}
.area-card b{font-family:var(--serif);font-weight:400;font-size:1.18rem;display:block;color:var(--ink)}
.area-card span{font-size:.8rem;color:var(--muted);display:block;margin-top:.4rem}
.area-card .mins{color:var(--copper-d);font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:.9rem}

/* --- reviews ----------------------------------------------------------------------- */
.stars{color:var(--gold);letter-spacing:.18em;font-size:.95rem;margin-bottom:.9rem}
.quote{font-family:var(--serif);font-style:italic;font-weight:300;font-size:1.08rem;line-height:1.65;color:var(--ink)}
.quote-by{margin-top:1.1rem;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-weight:800}

/* --- CTA band ------------------------------------------------------------------------- */
.cta-band{background:linear-gradient(120deg,var(--copper-d),var(--copper));color:#fff;border-radius:20px;padding:3.6rem 3.2rem;display:flex;align-items:center;justify-content:space-between;gap:2.5rem;flex-wrap:wrap;box-shadow:0 26px 60px rgba(158,78,31,.35)}
.cta-band h2{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,3.3vw,2.7rem);line-height:1.12;max-width:560px}
.cta-band p{color:rgba(255,255,255,.85);margin-top:.7rem;font-size:.98rem;max-width:520px}
.cta-acts{display:flex;gap:1rem;flex-wrap:wrap}

/* --- contact / form -------------------------------------------------------------------- */
.form-card{background:#fff;border:1px solid rgba(42,29,18,.1);border-radius:16px;padding:2.6rem;max-width:640px;box-shadow:var(--shadow-soft)}
.f-row{margin-bottom:1.3rem}
.f-row label{display:block;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem}
.f-row input,.f-row textarea,.f-row select{width:100%;background:var(--bone);border:1.5px solid rgba(42,29,18,.12);border-radius:8px;padding:.85rem 1.05rem;font-family:var(--sans);font-size:1rem;color:var(--ink);transition:border-color .2s}
.f-row input:focus,.f-row textarea:focus,.f-row select:focus{outline:none;border-color:var(--copper)}
.f-row input:focus-visible,.f-row textarea:focus-visible,.f-row select:focus-visible{outline:2px solid var(--copper-d);outline-offset:2px}
.f-row ::placeholder{color:#7A6A55;opacity:1}
.f-row input:user-invalid,.f-row textarea:user-invalid{border-color:#A33B2A}
.f-hint{font-size:.8rem;color:var(--muted);margin:-.15rem 0 .5rem;line-height:1.55}
.f-note{font-size:.78rem;color:var(--muted);margin-top:1.1rem;line-height:1.65}
.f-flag{border-left:3px solid #A33B2A;background:rgba(163,59,42,.06);padding:.95rem 1.15rem;border-radius:0 8px 8px 0;font-size:.86rem;line-height:1.65;margin-top:1.4rem;color:var(--ink)}
.f-row textarea{min-height:130px;resize:vertical}
.info-line{display:flex;gap:1rem;align-items:flex-start;padding:1.05rem 0;border-bottom:1px solid rgba(42,29,18,.08)}
.info-line:last-child{border-bottom:none}
.info-line svg{width:21px;height:21px;stroke:var(--copper-d);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;margin-top:.2rem}
.info-line b{display:block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-bottom:.2rem}
.info-line p,.info-line a{font-size:.96rem;color:var(--ink);text-decoration:none}
.info-line a:hover{color:var(--copper-d)}

/* --- hours table --------------------------------------------------------------------------- */
.hours{width:100%;border-collapse:collapse;font-size:.93rem}
.hours td{padding:.65rem 0;border-bottom:1px dashed rgba(42,29,18,.1)}
.hours td:last-child{text-align:right;font-weight:700}
.hours .closed td:last-child{color:#A33B2A}

/* --- breadcrumbs ------------------------------------------------------------------------------ */
.crumbs{font-size:.78rem;color:var(--muted);padding:1.2rem 2rem;max-width:1180px;margin:0 auto}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--copper-d)}
.crumbs span{margin:0 .5rem;color:rgba(42,29,18,.3)}

/* --- footer -------------------------------------------------------------------------------------- */
footer.site{background:var(--espresso);color:rgba(244,237,226,.6);padding:4.5rem 2rem 2.5rem;margin-top:5rem}
.foot-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:3rem}
.foot-inner h4{font-family:var(--serif);font-weight:400;color:var(--bone);font-size:1.06rem;margin-bottom:1.1rem}
.foot-inner a{color:rgba(244,237,226,.6);text-decoration:none;font-size:.87rem;display:block;padding:.28rem 0;transition:color .2s}
.foot-inner a:hover{color:var(--copper-l)}
.foot-inner p{font-size:.85rem;line-height:1.75}
.foot-reg{max-width:1180px;margin:3rem auto 0;padding-top:1.8rem;border-top:1px solid rgba(244,237,226,.1);font-size:.76rem;color:rgba(244,237,226,.4);line-height:1.8}
.foot-reg a{color:rgba(244,237,226,.55)}

/* --- page hero (interior pages) --------------------------------------------------------------------- */
.page-hero{background:radial-gradient(900px 480px at 82% 0%,rgba(197,110,57,.15),transparent 55%),var(--espresso);color:var(--bone);padding:5rem 2rem 4rem}
.page-hero .sec-inner{max-width:1180px;margin:0 auto}
.page-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(2.4rem,4.6vw,3.8rem);line-height:1.05;letter-spacing:-.012em;margin-bottom:1.4rem;max-width:820px}
.page-hero h1 em{font-style:italic;color:var(--copper-l);font-weight:400}
.page-hero .lead{color:rgba(244,237,226,.72)}

/* --- prose (long-form pages) --------------------------------------------------------------------------- */
.prose{max-width:760px}
.prose h2{font-family:var(--serif);font-weight:400;font-size:1.75rem;margin:2.8rem 0 1rem;line-height:1.2}
.prose h3{font-family:var(--serif);font-weight:500;font-size:1.28rem;margin:2rem 0 .7rem}
.prose p{margin-bottom:1.15rem;color:var(--ink)}
.prose ul,.prose ol{margin:0 0 1.3rem 1.4rem}
.prose li{margin-bottom:.55rem}
.prose a{color:var(--copper-d)}
.prose strong{font-weight:700}

/* --- responsive -------------------------------------------------------------------------------------------- */
.area-grid.cols-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1080px){
  .hero-inner{grid-template-columns:1fr;gap:3rem}
  .area-grid,.area-grid.cols-3{grid-template-columns:repeat(2,1fr)}
  .foot-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  .nav-links{display:none}
  .burger{display:flex}
  .grid-3,.steps{grid-template-columns:1fr}
  .grid-2,.price-wrap{grid-template-columns:1fr}
  .sec{padding:4rem 1.4rem}
  header.hero{padding:4.5rem 1.4rem 3.5rem}
  .cta-band{padding:2.6rem 1.8rem}
  .film-bar{flex-wrap:wrap}
}
@media(max-width:600px){
  .area-grid,.area-grid.cols-3{grid-template-columns:1fr}
  .foot-inner{grid-template-columns:1fr}
  .hero-facts{gap:1.6rem}
  .ribbon{gap:.8rem;font-size:.72rem}
}
