/* Tokens */
:root{
  --ink:#0d0e0f; --surface:#15171a; --surface-2:#1c1f22; --line:#2a2d30;
  --chalk:#f2f0ea; --muted:#a7a49c; --dim:#8a8781;
  --red:#d81f2a; --red-deep:#a3141d; --amber:#d9822b; --green:#3fa66b;
  --display:'Big Shoulders Display', 'Arial Narrow', sans-serif;
  --body:'Archivo', system-ui, sans-serif;
  --wrap:1180px;
  --header-h:60px;
  --buybar-h:64px;
}
@media (min-width:768px){ :root{ --header-h:72px; } }
*{margin:0; padding:0; box-sizing:border-box;}
html{scroll-behavior:smooth; -webkit-text-size-adjust:100%;}
body{background:var(--ink); color:var(--chalk); font-family:var(--body); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; -webkit-tap-highlight-color:transparent;}
img, video{max-width:100%; display:block;}
a{color:inherit;}
button{font:inherit; color:inherit;}
[hidden]{display:none !important;}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 16px;}
@media (min-width:768px){ .wrap{padding:0 24px;} }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, summary:focus-visible{outline:2px solid var(--chalk); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{transition:none !important; scroll-behavior:auto !important;} }

/* Type */
h1,h2,h3{font-family:var(--display); font-weight:800; text-transform:uppercase; line-height:.95; letter-spacing:.01em;}
.label{display:block; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:14px;}
.label.amber{color:var(--amber);}
.h2{font-size:clamp(34px,4.6vw,56px); margin-bottom:18px;}
.h2 em{font-style:normal; color:var(--red);}
.lede{font-size:17px; color:var(--muted); max-width:620px;}
.lede strong{color:var(--chalk); font-weight:700;}
.block{padding:72px 0; border-top:1px solid var(--line);}
@media (min-width:768px){ .block{padding:96px 0;} }
.block.alt{background:var(--surface);}
section[id]{scroll-margin-top:calc(var(--header-h) + 8px);}
.section-cta{margin-top:36px; display:flex; flex-direction:column; align-items:flex-start; gap:10px;}

/* Buttons */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; font-family:var(--body); font-weight:700; font-size:16px; letter-spacing:.02em; text-decoration:none; cursor:pointer; border:1.5px solid transparent; padding:14px 24px; border-radius:2px; transition:background .15s ease, border-color .15s ease, color .15s ease, transform .1s ease; user-select:none; -webkit-user-select:none;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--red); color:#fff;}
@media (hover:hover){ .btn-primary:hover{background:var(--red-deep);} .btn-ghost:hover{border-color:var(--chalk);} }
.btn-ghost{background:transparent; border-color:#45484c; color:var(--chalk);}
.btn-block{width:100%;}
.btn-xl{font-size:18px; padding:16px 28px; min-height:56px;}
.text-link{display:inline-flex; align-items:center; min-height:44px; color:var(--muted); font-size:16px; font-weight:500; text-decoration:underline; text-underline-offset:4px;}
@media (hover:hover){ .text-link:hover{color:var(--chalk);} }

/* Top bar */
.topbar{position:fixed; inset:0 0 auto 0; z-index:50; background:rgba(13,14,15,.94); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top);}
.topbar-inner{display:flex; align-items:center; justify-content:space-between; height:var(--header-h); gap:10px;}
.topbar-logo{flex:0 0 auto; display:flex; align-items:center; min-height:44px;}
.topbar-logo img{height:40px; width:40px;}
@media (min-width:768px){ .topbar-logo img{height:56px; width:56px;} }
.topbar-msg{display:none; font-size:14px; color:var(--amber); font-weight:700; text-align:center; flex:1 1 auto;}
.topbar-msg .js-countdown{color:var(--chalk); font-weight:500; margin-left:6px; font-variant-numeric:tabular-nums;}
@media (min-width:900px){ .topbar-msg{display:block;} }
.topbar-right{display:flex; align-items:center; gap:8px; flex:0 0 auto;}
.lang-toggle{display:inline-flex; align-items:center; gap:7px; min-height:44px; padding:0 14px; border:0; border-radius:999px; background:var(--amber); color:var(--ink); font-size:15px; font-weight:700; letter-spacing:.01em; cursor:pointer; white-space:nowrap;}
.lang-toggle .flag{width:20px; height:14px; border-radius:2px; flex:0 0 auto;}
@media (hover:hover){ .lang-toggle:hover{background:#eb9440;} }
.topbar-cta{min-height:44px; padding:10px 14px; font-size:15px; white-space:nowrap;}
@media (max-width:359px){ .lang-toggle .lang-long{display:none;} }

/* Spanish suggestion */
.lang-hint{position:fixed; top:calc(var(--header-h) + env(safe-area-inset-top)); inset-inline:0; z-index:45; background:var(--surface-2); border-bottom:1px solid var(--line); font-size:15px;}
.lang-hint .wrap{display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px;}
.lang-hint button{background:none; border:0; cursor:pointer; min-height:44px;}
.lang-hint .lang-hint-go{color:var(--amber); font-weight:700; text-decoration:underline; text-underline-offset:3px;}
.lang-hint .lang-hint-close{min-width:44px; font-size:18px; color:var(--muted);}
body.has-lang-hint .hero{padding-top:calc(var(--header-h) + env(safe-area-inset-top) + 48px);}

/* Hero */
.hero{position:relative; padding-top:calc(var(--header-h) + env(safe-area-inset-top)); overflow:hidden;}
.hero-media{position:absolute; inset:0; z-index:0;}
.hero-media picture{display:block; height:100%;}
.hero-media img{width:100%; height:100%; object-fit:cover; object-position:58% 30%;}
.hero-media::after{content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(13,14,15,.72) 0%, rgba(13,14,15,.82) 45%, rgba(13,14,15,.97) 100%);}
.hero-inner{position:relative; z-index:2; padding-top:20px; padding-bottom:36px;}
.hero-copy{max-width:640px;}
.hero-title{margin-bottom:14px;}
.hero-eyebrow{display:block; font-family:var(--body); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--amber); line-height:1.4; margin-bottom:10px;}
.hero-hook{display:block; font-size:42px; font-weight:900; line-height:1.02;}
.hero-sub{font-size:17px; line-height:1.45; color:var(--chalk); max-width:560px; margin-bottom:10px;}
.hero-sub strong{color:#fff;}
.hero-support{font-size:15px; font-weight:700; color:var(--muted); margin-bottom:18px; line-height:1.45;}
.hero-micro{margin-top:12px; font-size:14px; color:var(--amber); font-weight:700;}
.hero-micro .js-countdown{color:var(--chalk); font-weight:500; font-variant-numeric:tabular-nums;}
.hero-pay{margin-top:6px; font-size:14px; color:var(--muted);}
.hero .btn-primary{width:100%;}
.hero-secondary{margin-top:4px;}
.stats{margin-top:22px; padding-top:16px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; gap:6px 22px; font-size:14px; color:var(--muted);}
.stats b{color:var(--chalk); font-weight:700;}
@media (min-width:768px){
  .hero{min-height:min(100vh,920px); display:flex; align-items:stretch;}
  .hero-media{left:auto; top:var(--header-h); width:46%;}
  .hero-media::after{background:linear-gradient(90deg, var(--ink) 0%, rgba(13,14,15,.55) 22%, rgba(13,14,15,0) 55%), linear-gradient(0deg, var(--ink) 0%, rgba(13,14,15,0) 30%);}
  .hero-inner{width:100%; display:flex; flex-direction:column; justify-content:center; padding-top:56px; padding-bottom:56px;}
  .hero-hook{font-size:clamp(56px,6vw,72px);}
  .hero-eyebrow{font-size:13px;}
  .hero-sub{font-size:19px;}
  .hero .btn-primary{width:auto;}
}

/* Payment badges */
.pay{margin-top:14px;}
.pay-badges{display:flex; flex-wrap:wrap; gap:6px; list-style:none;}
.pay-badges li{font-size:12px; font-weight:700; letter-spacing:.02em; color:#c9c6be; border:1px solid #3a3d41; border-radius:3px; padding:3px 8px; background:rgba(255,255,255,.03);}
.pay-copy{margin-top:8px; font-size:14px; color:var(--muted); line-height:1.5; max-width:560px;}
.pay-copy strong{color:var(--chalk);}
.pay-note{margin-top:4px; font-size:12px; color:var(--dim);}

/* Quick facts strip */
.facts-strip{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--surface); padding:20px 0;}
.facts-list{list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:14px 12px;}
.facts-list li{display:flex; align-items:center; gap:10px; font-size:15px; font-weight:700; line-height:1.25;}
.facts-list li:last-child{grid-column:1 / -1;}
.facts-list svg{width:24px; height:24px; flex:0 0 24px; color:var(--red);}
.facts-list a{text-decoration:underline; text-underline-offset:3px; text-decoration-color:#55585c;}
.facts-caption{margin-top:14px; font-size:13px; color:var(--dim); letter-spacing:.08em; text-transform:uppercase;}
@media (min-width:900px){
  .facts-list{grid-template-columns:repeat(5,auto); justify-content:space-between;}
  .facts-list li:last-child{grid-column:auto;}
}

/* Video testimonials: carousel on phones/tablets, 4 columns on desktop */
.vgrid{margin-top:32px; display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding-bottom:8px; margin-inline:-16px; padding-inline:16px; scroll-padding-inline:16px; scrollbar-width:none;}
.vgrid::-webkit-scrollbar{display:none;}
.vcard{flex:0 0 72%; max-width:320px; scroll-snap-align:start;}
.vframe{position:relative; aspect-ratio:9/16; background:var(--surface-2); border:1px solid var(--line); overflow:hidden;}
.vframe video{width:100%; height:100%; object-fit:cover; background:#000;}
.vplay{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border:0; background:linear-gradient(0deg, rgba(0,0,0,.55), rgba(0,0,0,0) 45%); cursor:pointer;}
.vplay span{width:72px; height:72px; border-radius:50%; background:var(--red); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 30px rgba(0,0,0,.5); transition:transform 160ms ease-out;}
.vplay:active span{transform:scale(.94);}
.vplay svg{width:28px; height:28px; margin-left:4px; fill:#fff;}
.vlen{position:absolute; top:10px; left:10px; z-index:1; font-size:12px; font-weight:700; letter-spacing:.04em; color:#fff; background:rgba(13,14,15,.72); padding:3px 7px; border-radius:2px; pointer-events:none;}
.vcard figcaption{margin-top:10px; font-size:14px; color:var(--muted);}
@media (min-width:1024px){
  .vgrid{display:grid; grid-template-columns:repeat(4,1fr); overflow:visible; margin-inline:0; padding-inline:0;}
  .vcard{flex:none; max-width:none;}
}

/* Coach short */
.coach-short{display:grid; gap:28px; margin-top:32px; align-items:center;}
.coach-short img{width:100%; max-height:520px; object-fit:cover; object-position:center 15%;}
.coach-points{list-style:none; border-top:2px solid var(--chalk);}
.coach-points li{display:flex; gap:14px; align-items:center; padding:14px 0; border-bottom:1px solid var(--line); font-size:16.5px; color:var(--muted);}
.coach-points li strong{color:var(--chalk);}
.coach-points .ico{flex:0 0 28px; font-size:22px; line-height:1; text-align:center;}
.coach-points .ico svg{width:26px; height:18px; display:block; margin:0 auto; border-radius:2px;}
.coach-line{margin-top:20px; font-size:17px; font-weight:500;}
@media (min-width:900px){ .coach-short{grid-template-columns:.8fr 1.2fr; gap:56px;} }

/* Included */
.included{display:grid; grid-template-columns:1fr; gap:32px; margin-top:36px; align-items:start;}
@media (min-width:900px){ .included{grid-template-columns:1.05fr .95fr; gap:56px;} }
.feature img{width:100%; height:auto; aspect-ratio:3/2; object-fit:cover;}
.feature figcaption{padding-top:14px; font-size:14px; color:var(--muted);}
.checklist{list-style:none; border-top:2px solid var(--chalk);}
.checklist li{position:relative; padding:14px 0 14px 36px; border-bottom:1px solid var(--line); font-size:16.5px; font-weight:700;}
.checklist li::before{content:''; position:absolute; left:0; top:16px; width:22px; height:22px; border-radius:50%; background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;}
.checklist em{font-style:normal; font-weight:500; color:var(--muted);}
.raffles{margin-top:40px; border:2px solid var(--amber); background:linear-gradient(135deg, rgba(217,130,43,.12), rgba(217,130,43,0) 60%), var(--surface); padding:24px;}
.raffles h3{font-size:28px; margin-bottom:14px;}
.raffles ul{list-style:none;}
.raffles li{display:flex; gap:12px; padding:10px 0; font-size:17px; color:var(--muted); border-bottom:1px solid var(--line);}
.raffles li strong{color:var(--chalk);}
.raffles li .ico{font-size:22px; line-height:1.2;}
.raffles .raffle-note{margin-top:14px; font-weight:700; color:var(--chalk);}
@media (min-width:768px){ .raffles{padding:32px;} }

/* Agenda */
.agenda{display:grid; grid-template-columns:1fr; gap:36px; margin-top:36px; align-items:start;}
@media (min-width:900px){ .agenda{grid-template-columns:1.25fr .75fr; gap:56px;} }
.runsheet{border-top:2px solid var(--chalk);}
.run{display:grid; grid-template-columns:84px 1fr; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); align-items:baseline;}
.run time{font-family:var(--display); font-weight:800; font-size:24px; color:var(--red); font-variant-numeric:tabular-nums;}
.run strong{font-weight:700; font-size:16.5px;}
.run span{display:block; font-size:15px; color:var(--muted);}
.run.after{background:var(--surface-2); padding-left:14px; padding-right:14px; border-bottom:0; margin-top:10px;}
.run.after time{color:var(--amber); font-size:18px;}
.where{margin-top:18px; font-size:15px; color:var(--muted);}
.where a{color:var(--chalk); display:inline-flex; min-height:44px; align-items:center;}
.side .side-h{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); margin-bottom:10px;}
.side ul{list-style:none; margin-bottom:30px; border-top:1px solid var(--line);}
.side li{padding:10px 0; border-bottom:1px solid var(--line); font-size:16px;}

/* Gallery */
.gallery{margin-top:32px; display:flex; gap:10px; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; padding-bottom:10px; margin-inline:-16px; padding-inline:16px; scroll-padding-inline:16px; scrollbar-width:thin; scrollbar-color:#45484c transparent;}
.gallery-item{flex:0 0 auto; scroll-snap-align:start; border:0; padding:0; background:none; cursor:zoom-in;}
.gallery-item img{height:260px; width:auto; object-fit:cover;}
@media (min-width:768px){ .gallery{margin-inline:0; padding-inline:0;} .gallery-item img{height:300px;} }
.gallery-hint{margin-top:10px; font-size:13px; color:var(--dim); letter-spacing:.08em; text-transform:uppercase;}
.lightbox{position:fixed; inset:0; z-index:100; background:rgba(8,9,10,.95); display:none; align-items:center; justify-content:center; padding:24px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:min(92vw,960px); max-height:86vh; object-fit:contain;}
.lightbox-close{position:absolute; top:calc(14px + env(safe-area-inset-top)); right:14px; width:48px; height:48px; border:1px solid #45484c; background:var(--ink); color:var(--chalk); font-size:18px; cursor:pointer;}

/* Coach full bio */
.coach{display:grid; grid-template-columns:1fr; gap:32px; margin-top:36px; align-items:start;}
@media (min-width:900px){ .coach{grid-template-columns:.85fr 1.15fr; gap:56px;} }
.coach-photo{position:relative;}
.coach-photo img{width:100%; height:440px; object-fit:cover; object-position:center 30%;}
@media (min-width:768px){ .coach-photo img{height:560px;} }
.coach-photo figcaption{position:absolute; left:0; bottom:0; background:var(--red); color:#fff; padding:12px 16px; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;}
.coach-photo figcaption b{display:block; font-family:var(--display); font-size:24px; letter-spacing:.02em;}
.coach-bio p{color:var(--muted); font-size:16.5px; margin-bottom:16px;}
.coach-bio p strong{color:var(--chalk);}
.stat-line{display:flex; align-items:baseline; gap:18px; padding:22px 0; margin:24px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.stat-line b{font-family:var(--display); font-weight:900; font-size:56px; line-height:.9; color:var(--red);}
.stat-line > span{font-size:15px; color:var(--muted);}
.stat-line strong{display:block; color:var(--chalk); font-size:12px; letter-spacing:.12em; text-transform:uppercase;}
.clubs{list-style:none;}
.clubs li{display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); font-size:15px; color:var(--muted);}
.clubs li b{color:var(--chalk); text-align:right;}

/* Register */
.offer{display:grid; grid-template-columns:1fr; border:1px solid var(--line); background:var(--ink); margin-top:36px;}
@media (min-width:860px){ .offer{grid-template-columns:1fr 360px;} }
.offer-main{padding:24px;}
.offer-main h3{font-size:32px; margin-bottom:6px;}
.offer-sub{font-size:15px; color:var(--muted); margin-bottom:18px;}
.offer-main ul{list-style:none; border-top:1px solid var(--line);}
.offer-main li{padding:11px 0 11px 22px; border-bottom:1px solid var(--line); position:relative; font-size:16px;}
.offer-main li::before{content:''; position:absolute; left:0; top:19px; width:8px; height:8px; background:var(--red);}
.offer-side{padding:24px; background:var(--surface-2); border-top:1px solid var(--line); display:flex; flex-direction:column;}
@media (min-width:860px){ .offer-main{padding:34px;} .offer-side{padding:32px 28px; border-top:0; border-left:1px solid var(--line);} }
.offer-side .tag{font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--amber); margin-bottom:6px;}
.price{display:flex; align-items:baseline; gap:12px;}
.price .now{font-family:var(--display); font-weight:900; font-size:72px; line-height:.9; color:var(--chalk);}
.price .was{font-family:var(--display); font-weight:700; font-size:30px; color:var(--dim); text-decoration:line-through; text-decoration-thickness:2px;}
.countdown-box{margin:12px 0 16px; padding:10px 12px; border:1px solid var(--amber); color:var(--amber); font-weight:700; font-size:15px; font-variant-numeric:tabular-nums;}
.countdown-box .js-countdown{color:var(--chalk);}
.offer-side .fine{font-size:14px; color:var(--muted); margin-top:10px;}

.photo-line{margin:10px 0 0; font-size:14.5px; line-height:1.5; color:var(--muted);}
.photo-line strong{color:var(--amber);}
.photo-line s{color:var(--dim);}
.pay-line{margin-top:10px; font-size:14px; color:var(--muted);}

/* 2 Goalie Pack: sits right under the $80 card, one step quieter */
.duo{display:grid; gap:16px; margin-top:16px; padding:22px 24px; border:1px solid var(--line); background:var(--surface);}
@media (min-width:860px){ .duo{grid-template-columns:1fr auto; align-items:center; padding:26px 34px;} }
.duo h3{font-size:clamp(26px,3vw,32px); margin-bottom:6px;}
.duo p{color:var(--muted); font-size:16px;}
.duo-right{display:flex; flex-direction:column; gap:10px;}
.duo-price{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
.duo-now{font-family:var(--display); font-weight:900; font-size:52px; line-height:.9;}
.duo-price s{font-size:20px; color:var(--dim);}
.duo-badge{background:var(--red); color:#fff; font-family:var(--display); font-weight:900; font-size:24px; letter-spacing:.02em; line-height:1; padding:8px 12px; transform:rotate(-3deg);}
.duo-pay{font-size:14px; color:var(--muted);}

/* Photo pack keepsake: after both cards, no button (bought only at checkout) */
.keepsake{display:grid; grid-template-columns:auto 1fr; gap:16px 20px; align-items:center; margin-top:24px; padding:20px; border:1px solid rgba(217,130,43,.35); box-shadow:inset 0 2px 0 var(--amber); background:radial-gradient(120% 140% at 0% 0%, rgba(217,130,43,.14), rgba(217,130,43,0) 55%), var(--surface);}
.keepsake-stack{position:relative; width:104px; height:92px;}
.keepsake-stack img{position:absolute; width:68px; height:68px; object-fit:cover; border:3px solid #f4f1ea; border-radius:2px; box-shadow:0 10px 22px rgba(0,0,0,.5);}
.keepsake-stack img:nth-child(1){left:0; top:10px; transform:rotate(-9deg);}
.keepsake-stack img:nth-child(2){left:34px; top:4px; transform:rotate(7deg);}
.keepsake-stack img:nth-child(3){left:17px; top:18px; transform:rotate(-1.5deg); z-index:1;}
.keepsake-eyebrow{display:block; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--amber); margin-bottom:6px;}
.keepsake-title{font-size:clamp(24px,3vw,32px); margin-bottom:6px;}
.keepsake-text{font-size:15px; line-height:1.45; color:var(--muted); max-width:520px;}
.keepsake-price{grid-column:1 / -1; display:flex; align-items:center; flex-wrap:wrap; gap:8px 14px; padding-top:14px; border-top:1px solid var(--line);}
.ks-now{font-family:var(--display); font-weight:900; font-size:44px; line-height:.9; color:var(--amber);}
.ks-meta{display:flex; align-items:center; gap:10px;}
.ks-meta s{font-family:var(--display); font-weight:700; font-size:22px; color:var(--dim);}
.ks-off{background:var(--red); color:#fff; font-family:var(--display); font-weight:800; font-size:16px; letter-spacing:.04em; line-height:1; padding:5px 8px;}
.ks-note{font-size:13px; color:var(--dim);}
@media (min-width:768px){
  .keepsake{grid-template-columns:auto 1fr auto; gap:28px; padding:22px 28px;}
  .keepsake-stack{width:150px; height:122px;}
  .keepsake-stack img{width:92px; height:92px;}
  .keepsake-stack img:nth-child(2){left:52px;}
  .keepsake-stack img:nth-child(3){left:26px; top:24px;}
  .keepsake-price{grid-column:auto; flex-direction:column; align-items:flex-end; gap:6px; padding:0 0 0 28px; border-top:0; border-left:1px solid var(--line);}
}
.secure{display:flex; flex-wrap:wrap; gap:8px 24px; margin-top:22px; font-size:14px; color:var(--dim);}

/* FAQ */
.faq{max-width:840px; margin-top:32px; border-top:2px solid var(--chalk);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; display:flex; justify-content:space-between; align-items:center; gap:16px; min-height:56px; padding:16px 0; font-size:17px; font-weight:700; cursor:pointer;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:'+'; font-family:var(--display); font-size:28px; line-height:1; color:var(--red); transition:transform .2s ease; flex:0 0 auto;}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq details p{padding-bottom:20px; color:var(--muted); max-width:720px; font-size:16px;}

/* Contact */
.contact{display:grid; grid-template-columns:1fr; gap:32px; margin-top:32px; align-items:start;}
@media (min-width:900px){ .contact{grid-template-columns:1fr 1fr; gap:56px;} }
.contact-info p{color:var(--muted); margin-bottom:20px; max-width:440px;}
.contact-line{padding:12px 0; border-top:1px solid var(--line);}
.contact-line span{display:block; font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--dim);}
.contact-line a{display:inline-flex; min-height:44px; align-items:center; font-family:var(--display); font-weight:700; font-size:22px; text-decoration:none;}
.contact-line a.small{font-size:18px;}
.form{background:var(--ink); border:1px solid var(--line); padding:20px;}
@media (min-width:768px){ .form{padding:28px;} }
.form label{display:block; margin-bottom:14px;}
.form .f{display:block; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); margin-bottom:6px;}
.form input, .form textarea{width:100%; min-height:48px; background:var(--surface-2); border:1px solid var(--line); border-radius:2px; padding:12px 13px; color:var(--chalk); font-family:var(--body); font-size:16px;}
.form input:focus, .form textarea:focus{border-color:var(--chalk); outline:none;}
.form textarea{min-height:72px; resize:vertical;}
.form-actions{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px;}
.btn-wa{background:#25d366; color:#0d0e0f;}
@media (hover:hover){ .btn-wa:hover{background:#1fb457;} }

/* Locations (compact) */
.locations{list-style:none; display:grid; grid-template-columns:1fr; gap:10px; margin-top:28px;}
@media (min-width:768px){ .locations{grid-template-columns:repeat(3,1fr); gap:14px;} }
.loc{display:grid; grid-template-columns:96px 1fr; gap:14px; align-items:center; border:1px solid var(--line); background:var(--ink);}
.loc img{width:96px; height:80px; object-fit:cover;}
.loc small{display:block; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--muted);}
.loc.near{border-color:var(--amber);}
.loc.near small{color:var(--amber);}
.loc h3{font-size:24px;}
.loc p{font-size:14px; color:var(--muted);}

/* Final + footer */
.final{padding:80px 0; border-top:1px solid var(--line);}
@media (min-width:768px){ .final{padding:110px 0;} }
.final h2{font-size:clamp(38px,6vw,76px); max-width:940px; margin-bottom:22px;}
.final h2 em{font-style:normal; color:var(--red);}
.final p.final-sub{color:var(--muted); max-width:560px; margin-bottom:24px; font-size:17px;}
.final .btn-primary{width:100%;}
@media (min-width:768px){ .final .btn-primary{width:auto;} }
.final .hero-micro{margin-top:12px;}
footer{border-top:1px solid var(--line); padding:52px 0 28px; font-size:15px; color:var(--dim);}
.foot{display:grid; grid-template-columns:1fr; gap:32px; margin-bottom:32px;}
@media (min-width:768px){ .foot{grid-template-columns:2fr 1fr 1fr;} }
.foot-brand{display:flex; align-items:center; gap:10px; margin-bottom:12px; color:var(--chalk); font-family:var(--display); font-weight:800; font-size:18px; text-transform:uppercase;}
.foot-brand img{width:32px; height:32px;}
.foot p{margin-bottom:8px;}
.foot .foot-h{font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:8px;}
.foot a{display:flex; align-items:center; min-height:44px; text-decoration:none; color:var(--muted);}
@media (hover:hover){ .foot a:hover{color:var(--chalk);} }
.foot-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:20px; border-top:1px solid var(--line); font-size:13px;}

/* Mobile buy bar */
.buybar{position:fixed; inset:auto 0 0 0; z-index:40; display:none; align-items:center; justify-content:space-between; gap:12px; min-height:var(--buybar-h); padding:8px 16px calc(8px + env(safe-area-inset-bottom)); background:rgba(13,14,15,.97); border-top:1px solid var(--line); transform:translateY(110%); transition:transform .25s ease;}
.buybar.is-visible{transform:none;}
.buybar-price{line-height:1.15;}
.buybar-price b{font-family:var(--display); font-weight:800; font-size:24px;}
.buybar-price span{font-size:13px; font-weight:700; color:var(--amber);}
.buybar-price .js-countdown{display:block; font-size:12px; color:var(--muted); font-weight:500; font-variant-numeric:tabular-nums;}
.buybar .btn{min-height:48px; padding:12px 16px; white-space:nowrap;}
@media (max-width:767px){
  .buybar{display:flex;}
  body{padding-bottom:calc(var(--buybar-h) + env(safe-area-inset-bottom));}
}
