:root{
  --bg:#0d0d0c; --bg2:#161514; --card:#1c1b19; --line:#2e2c29;
  --text:#e8e4dc; --bright:#f4f1ea; --muted:#b9b4aa; --dim:#8a857c;
  --accent:#e2733a; --accent-ink:#0d0d0c; --error:#ff8a7a;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:'Manrope',system-ui,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--text)}
img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.narrow{max-width:820px;margin:0 auto;padding:0 24px}
section{padding:96px 0}
.alt{background:var(--bg2)}
.eyebrow{margin:0 0 12px;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
h1,h2{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;color:var(--bright);line-height:1.04;margin:0}
h1{font-size:clamp(46px,7vw,88px);margin-bottom:24px}
h2{font-size:clamp(36px,5vw,56px);margin-bottom:28px}
h3{margin:0 0 8px;font-size:20px;color:var(--bright)}
p{margin:0 0 18px}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 28px;border-radius:4px;font-weight:700;text-decoration:none;font-size:17px;border:0;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-ghost{border:1px solid #4a4743;color:var(--text);background:transparent}
.btn-ghost:hover{border-color:var(--text)}
.photo{background:var(--card);border:1px dashed #4a4743;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:15px;text-align:center;padding:24px;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}

/* header */
header{position:sticky;top:0;z-index:10;background:rgba(13,13,12,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.logo{font-family:'Anton',sans-serif;font-size:26px;letter-spacing:.06em;color:var(--bright);text-decoration:none;display:flex;flex-direction:column;line-height:1.05}
.tagline{font-family:'Manrope',sans-serif;font-size:10.5px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.hero h1 .accent{color:var(--accent)}
.lead-lines{font-size:20px;color:var(--muted);max-width:560px;margin-bottom:36px}
.lead-lines span{display:block}
.lead-lines .last{color:var(--bright);margin-top:14px}
.links{display:flex;gap:28px;align-items:center;font-size:15px}
.links a{text-decoration:none}
.links a:not(.btn):hover{color:#fff}
.menu-btn{display:none;background:none;border:1px solid #4a4743;color:var(--text);border-radius:4px;width:48px;height:48px;cursor:pointer}
@media (max-width:820px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .links{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:8px 24px 20px}
  .links.open{display:flex}
  .links a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line)}
  .links .btn{margin-top:16px}
}

/* hero */
.hero{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding:72px 0 96px}
.hero-copy{flex:1 1 520px;min-width:0}
.hero-photo{flex:1 1 360px;aspect-ratio:4/5;max-height:620px}
.lead{font-size:20px;color:var(--muted);max-width:560px;margin-bottom:36px}
.actions{display:flex;flex-wrap:wrap;gap:16px}

/* story */
.story{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.story-photo{flex:1 1 320px;aspect-ratio:3/4;max-height:560px;position:sticky;top:100px}
.story-copy{flex:1 1 520px;min-width:0;font-size:18px}
.story-copy p{color:#d6d1c7}
.pull{font-family:'Anton',sans-serif;font-size:clamp(28px,3.4vw,40px);line-height:1.15;text-transform:uppercase;color:var(--bright);border-left:3px solid var(--accent);padding:4px 0 4px 24px;margin:36px 0}
.stats{display:flex;flex-wrap:wrap;gap:40px;margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}
.stat b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:48px;color:var(--accent);line-height:1}
.stat span{font-size:15px;color:var(--dim)}
@media (max-width:820px){.story-photo{position:static}}
.chapter{display:flex;align-items:baseline;gap:14px;margin:44px 0 14px;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--bright)}
.chapter span{font-family:'Anton',sans-serif;font-size:22px;letter-spacing:0;color:var(--accent);font-weight:400}
.closing{font-size:20px;color:var(--bright)!important;margin-top:28px}
.certs{margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.certs ul{list-style:none;margin:0;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.certs li{display:flex;flex-direction:column;gap:2px;padding-left:16px;border-left:2px solid var(--accent)}
.certs b{color:var(--bright);font-size:16px}
.certs span{color:var(--dim);font-size:14px}
.trust{margin-top:22px;font-size:14px;color:var(--dim);letter-spacing:.04em}

/* grids */
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--bg2);padding:32px;border-radius:6px;border-top:2px solid var(--accent)}
.alt .card{background:var(--bg)}
.card p{margin:0;color:var(--muted)}
.step-num{font-family:'Anton',sans-serif;font-size:56px;color:var(--accent);line-height:1;margin-bottom:12px}
.fit{display:grid;gap:48px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.fit ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:14px}
.fit h2{font-size:40px}

/* testimonials */
.testi{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:28px;display:flex;flex-direction:column;gap:20px}
.testi .ba{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.testi .ba .photo{aspect-ratio:3/4;padding:8px;font-size:13px}
.testi blockquote{margin:0;color:#d6d1c7;font-size:17px}
.testi .who{font-weight:700;color:var(--bright)}
.testi .result{font-size:14px;color:var(--accent);font-weight:700;letter-spacing:.04em}

.honest{margin-top:40px;max-width:760px;border-left:3px solid var(--accent);padding:4px 0 4px 24px;color:#d6d1c7;font-size:18px}

/* pricing */
.region{display:inline-flex;gap:4px;margin-top:12px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg2);flex-wrap:wrap;justify-content:center}
.region button{font:inherit;font-size:15px;font-weight:700;color:var(--muted);background:none;border:0;border-radius:999px;padding:10px 20px;min-height:44px;cursor:pointer}
.region button[aria-selected=true]{background:var(--accent);color:var(--accent-ink)}
.region button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.prices{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.price-card{position:relative;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:36px 28px;display:flex;flex-direction:column;align-items:center;text-align:center}
.price-card.featured{border-color:var(--accent);background:#1d1714}
.price-card h3{font-size:18px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.price{font-family:'Anton',sans-serif;font-size:56px;line-height:1;color:var(--bright);margin:0 0 8px}
.per{color:var(--dim);font-size:15px;margin:0 0 12px}
.save{color:var(--accent);font-weight:700;font-size:14px;letter-spacing:.04em;margin:0 0 28px;min-height:22px}
.price-card .btn{width:100%;margin-top:auto}
.badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--accent-ink);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:999px;white-space:nowrap}
.launch-banner{max-width:760px;margin:0 auto 40px;text-align:center;background:#2a1d14;border:1px solid #6b3d1f;color:#f3c9a8;border-radius:6px;padding:14px 20px;font-size:15px}
.launch-banner strong{color:#fff}
.was{display:block;font-family:'Manrope',sans-serif;font-size:15px;color:var(--muted);margin-bottom:4px}
.soon{cursor:default;color:var(--dim);border-color:var(--line);margin:0;width:100%;margin-top:auto}
.price-card.closed .price{color:var(--dim)}
.includes{list-style:none;padding:0;margin:40px auto 0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px 28px;color:#d6d1c7;font-size:15px;max-width:900px}
.includes li::before{content:'✓ ';color:var(--accent);font-weight:700}

/* faq */
details{border-top:1px solid var(--line);padding:22px 0}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-weight:700;font-size:19px;color:var(--bright);list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';color:var(--accent);font-size:24px;line-height:1}
details[open] summary::after{content:'–'}
details p{margin:12px 0 0;color:var(--muted)}

/* form */
.form-intro{text-align:center;max-width:640px;margin:0 auto 48px}
form{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:40px clamp(20px,4vw,48px)}
fieldset{border:0;padding:0;margin:0 0 40px}
legend{font-family:'Anton',sans-serif;font-size:26px;text-transform:uppercase;color:var(--bright);padding:0;margin-bottom:6px;display:flex;align-items:center;gap:12px}
legend .n{color:var(--accent)}
.fs-note{color:var(--dim);font-size:15px;margin:0 0 20px}
.row{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:20px}
.field{display:flex;flex-direction:column;gap:8px;min-width:0}
label,.q{font-size:15px;font-weight:700;color:var(--text)}
.req{color:var(--accent)}
.hint{font-weight:400;color:var(--dim);font-size:14px}
input[type=text],input[type=email],input[type=tel],input[type=number],select,textarea{
  width:100%;background:var(--card);border:1px solid #3a3835;color:var(--bright);border-radius:4px;padding:13px 14px;font:inherit;font-size:16px;min-height:48px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.combo{display:flex;gap:8px}
.combo input{flex:1 1 auto;min-width:0}
.combo select{flex:0 0 96px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;width:1px;height:1px}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;border:1px solid #3a3835;border-radius:999px;background:var(--card);font-size:15px;cursor:pointer;user-select:none}
.chip input:checked + span{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:700}
.chip input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.parq{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin-bottom:20px}
.parq-item{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--line)}
.parq-item:last-child{border-bottom:0}
.parq-item .q{font-weight:500;flex:1 1 360px}
.yn{display:flex;gap:8px}
.warn{display:none;background:#2a1d14;border:1px solid #6b3d1f;color:#f3c9a8;border-radius:6px;padding:16px 18px;margin-bottom:20px;font-size:15px}
.warn.show{display:block}
.consent{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:15px;color:var(--muted);margin-bottom:14px;cursor:pointer}
.consent input{width:22px;height:22px;margin-top:2px;accent-color:var(--accent);flex:0 0 auto}
.submit-row{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:28px}
.err{color:var(--error);font-size:14px;display:none}
.invalid{border-color:var(--error)!important}
.hp{position:absolute;left:-9999px}
.thanks{display:none;text-align:center;padding:48px 24px;background:var(--bg);border:1px solid var(--line);border-radius:8px}
.thanks.show{display:block}

footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--dim);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}
footer a{color:var(--dim)}

/* multi-page additions */
.page-title{font-size:clamp(40px,6vw,64px)!important;margin-bottom:28px}
.links a[aria-current=page]:not(.btn){color:#fff;box-shadow:inset 0 -2px 0 var(--accent)}
@media (max-width:820px){.links a[aria-current=page]:not(.btn){box-shadow:none;color:var(--accent)}}
.cta-band{text-align:center;padding:112px 0;border-top:1px solid var(--line)}
.cta-band h2{max-width:900px;margin:0 auto 20px}
.cta-band p{max-width:560px;margin:0 auto 36px}
.cta-band .actions{justify-content:center}
.price small{font-family:'Manrope',sans-serif;font-size:18px;font-weight:500;color:var(--muted);margin-left:4px}
.price.soon-price{font-size:36px;color:var(--dim)}
.save{display:flex;flex-direction:column;gap:4px}
.save .later{color:var(--dim);font-weight:500;letter-spacing:0}
.testi-grid{align-items:start}
.testi blockquote + blockquote{margin-top:-8px}
.home-quote{padding:112px 0;border-top:1px solid var(--line)}
.big-quote{margin:0 0 20px;font-size:clamp(24px,3vw,34px);line-height:1.35;color:var(--bright);font-weight:500}
.who-line{color:var(--accent);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:14px;margin-bottom:32px}
.paybox{max-width:640px;margin:48px auto 0;text-align:center;padding:28px 24px;border:1px solid var(--line);border-radius:8px;background:var(--bg2)}
.paymethods{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.pay{display:inline-flex;align-items:center;min-height:40px;padding:8px 18px;border:1px solid #3a3835;border-radius:999px;background:var(--bg);color:var(--bright);font-weight:700;font-size:15px}
.qr{width:180px;height:180px;margin:20px auto 0;border-radius:8px;background:#fff;padding:8px}
@media (max-width:480px){.region{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;border-radius:12px}.region button{border-radius:8px;padding:8px 6px;font-size:13px;line-height:1.25}}
.hero-text{padding:120px 24px 128px}
.hero-text .hero-copy{flex:1 1 100%;max-width:1100px}
.hero-text h1{font-size:clamp(52px,8vw,104px)}
.ig-line{margin-top:28px;font-size:15px}
.ig-line a{color:var(--accent);text-decoration:none;font-weight:700}
.ig-line a:hover{text-decoration:underline}
.story-solo{justify-content:center}
.story-solo .story-copy{flex:0 1 760px}
.thennow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 12px}
.thennow figure{margin:0;position:relative}
.thennow img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:6px;display:block}
.thennow figcaption{position:absolute;left:12px;bottom:12px;background:rgba(13,13,12,.8);color:var(--bright);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;border-radius:4px}
.thennow figure:last-child figcaption{color:var(--accent)}
/* logo mark */
.logo{flex-direction:row!important;align-items:center;gap:12px}
.logo .mark{height:42px;width:auto;flex:0 0 auto}
.logo-text{display:flex;flex-direction:column;line-height:1.05}
.hero-text{align-items:center}
.hero-text .hero-copy{flex:1 1 560px;max-width:none}
.hero-mark{flex:0 1 360px;max-width:360px;width:100%;height:auto;opacity:.92}
@media (max-width:900px){.hero-mark{display:none}}
@media (max-width:420px){.logo .mark{height:34px}.logo-text{font-size:22px}}
/* raster emblem: "lighten" lets its black background melt into the dark page */
.logo .mark,.hero-mark{mix-blend-mode:lighten}
.logo .mark{height:46px}
.hero-mark{flex:0 1 420px;max-width:420px}
.wm{font-family:'Michroma',sans-serif;font-size:17px;letter-spacing:.18em;color:var(--bright)}
.wm-accent{color:var(--accent)}
.logo-text .tagline{letter-spacing:.34em;margin-top:6px}
@media (max-width:420px){.wm{font-size:13px;letter-spacing:.14em}.logo .mark{height:36px}}
@media (max-width:420px){.logo-text .tagline{letter-spacing:.16em;font-size:9.5px;white-space:nowrap}}
.logo .mark-svg{mix-blend-mode:normal;height:40px}
@media (max-width:420px){.logo .mark-svg{height:34px}}
.legal h2{font-size:28px;margin:40px 0 12px}
.legal p,.legal li{color:#d6d1c7}
.legal ul{padding-left:20px;display:flex;flex-direction:column;gap:8px;margin:0 0 18px}
.legal a{color:var(--accent)}
.consent a{color:var(--accent)}
/* pricing: country switcher + payment options */
.region-label{margin:22px 0 0;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}
.region{margin-top:10px}
.region button{font-size:16px;padding:12px 22px;display:inline-flex;flex-direction:column;align-items:center;line-height:1.2}
.region button .cur{font-size:11px;font-weight:600;letter-spacing:.08em;opacity:.8;margin-top:2px}
.region button:not([aria-selected=true]):hover{color:var(--bright);background:#232220}
.payrows{display:flex;flex-direction:column;gap:10px;text-align:left}
.payrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;transition:border-color .2s,background .2s}
.payrow.active{border-color:var(--accent);background:#1d1714}
.payregion{flex:0 0 130px;font-weight:700;color:var(--bright)}
.pays{display:flex;flex-wrap:wrap;gap:8px}
.pay{gap:8px}
.pay svg{color:var(--accent);flex:0 0 auto}
@media (max-width:480px){.region button{font-size:13px;padding:8px 6px}.region button .cur{font-size:10px}.payregion{flex-basis:100%}}
.paysteps{list-style:none;counter-reset:ps;margin:0;padding:0;display:grid;gap:10px;text-align:left}
.paysteps li{counter-increment:ps;display:grid;grid-template-columns:34px 1fr;column-gap:12px;align-items:start}
.paysteps li::before{content:counter(ps);grid-row:span 2;width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px}
.paysteps b{color:var(--bright)}
.paysteps span{color:var(--muted);font-size:15px}
.chosen{margin-top:18px;display:inline-block;padding:10px 18px;border:1px solid var(--accent);border-radius:999px;color:var(--text);font-size:15px}
.chosen b{color:var(--accent)}
.chosen a{color:var(--muted);margin-left:4px}
.gate{text-align:center;max-width:560px;margin:0 auto;padding:48px 24px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}
.gate p{margin:12px auto 28px}
/* announcement bar */
.topbar{background:var(--accent);text-align:center}
.topbar a{display:block;padding:9px 16px;color:var(--accent-ink);font-size:14px;font-weight:600;text-decoration:none;line-height:1.4}
.topbar a:hover .topbar-cta{text-decoration:underline}
.topbar-cta{font-weight:800;white-space:nowrap}

/* ===================== motion ===================== */
/* scroll reveal */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.js .reveal.in{opacity:1;transform:none}

/* hero entrance */
.hero-h1 .line{display:inline-block;animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-h1 .line.accent{animation-delay:.18s}
.hero .eyebrow{animation:fade .8s ease both}
.hero .lead-lines span{animation:rise .8s cubic-bezier(.2,.7,.2,1) both}
.hero .lead-lines span:nth-child(1){animation-delay:.35s}
.hero .lead-lines span:nth-child(2){animation-delay:.45s}
.hero .lead-lines span:nth-child(3){animation-delay:.55s}
.hero .actions,.hero .trust,.hero .ig-line{animation:rise .8s cubic-bezier(.2,.7,.2,1) .65s both}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}

/* hero emblem: slow float + breathing glow */
.hero-mark{animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes glow{0%,100%{filter:drop-shadow(0 0 0 rgba(226,115,58,0))}50%{filter:drop-shadow(0 0 28px rgba(226,115,58,.35))}}

/* moving ticker */
.ticker{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg2);padding:16px 0}
.ticker-track{display:flex;align-items:center;gap:28px;width:max-content;animation:scroll 38s linear infinite}
.ticker-track span{font-family:'Michroma','Manrope',sans-serif;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:var(--text);white-space:nowrap}
.ticker-track i{width:8px;height:8px;background:var(--accent);transform:rotate(45deg);flex:0 0 auto}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(-50%)}}

/* hover life */
.btn{transition:transform .2s ease, box-shadow .2s ease, filter .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary:hover{box-shadow:0 10px 30px -10px rgba(226,115,58,.7)}
.card,.price-card,.testi,.t{transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.card:hover,.testi:hover{transform:translateY(-4px);box-shadow:0 18px 40px -24px rgba(0,0,0,.9)}
.price-card:hover{transform:translateY(-6px);border-color:var(--accent)}
.price-card.featured{animation:pulse-border 3s ease-in-out infinite}
@keyframes pulse-border{0%,100%{box-shadow:0 0 0 0 rgba(226,115,58,0)}50%{box-shadow:0 0 0 6px rgba(226,115,58,.12)}}
.step-num{transition:transform .3s ease}
.grid > div:hover .step-num{transform:scale(1.12)}
.topbar a{background:linear-gradient(90deg,var(--accent),#f08a50,var(--accent));background-size:200% 100%;animation:sheen 6s linear infinite}
@keyframes sheen{to{background-position:-200% 0}}

/* respect people who turn motion off on their device */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .reveal{opacity:1;transform:none}
}

/* calculator */
.calc-section{padding-top:72px}
.calc{display:grid;gap:32px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;margin-top:8px}
@media (max-width:900px){.calc{grid-template-columns:1fr}}
.calc-form{display:flex;flex-direction:column;gap:24px}
.calc-form .row{margin-bottom:0}
.combo.two input{flex:1 1 0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.calc-err{margin:0;color:var(--error);font-size:15px;font-weight:700}
.calc-form .btn{align-self:flex-start}
.calc-out{position:sticky;top:96px;background:var(--bg2);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:8px;padding:32px clamp(20px,3vw,36px);scroll-margin-top:90px}
@media (max-width:900px){.calc-out{position:static}}
.kcal b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(64px,9vw,88px);line-height:1;color:var(--bright)}
.kcal span{color:var(--muted);font-size:16px}
.rate{margin:12px 0 28px;color:var(--accent);font-weight:700;font-size:15px}
.macros{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.macro{background:var(--bg);border-radius:6px;padding:16px 12px;text-align:center}
.macro b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:32px;line-height:1.1;color:var(--bright)}
.macro span{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.macro:nth-child(1) b{color:var(--accent)}
.mbar{display:flex;height:8px;border-radius:999px;overflow:hidden;margin:14px 0 24px;background:var(--bg)}
.mbar i{display:block;height:100%;transition:width .4s ease}
#bar-p{background:var(--accent)}#bar-c{background:#d9cbb4}#bar-f{background:#6f6a62}
.calc-facts{margin:0;display:flex;flex-direction:column}
.calc-facts div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--line);font-size:15px}
.calc-facts dt{color:var(--muted)}
.calc-facts dd{margin:0;color:var(--bright);font-weight:700;white-space:nowrap}
.calc-note{margin:16px 0 0;background:#2a1d14;border:1px solid #6b3d1f;color:#f3c9a8;border-radius:6px;padding:12px 14px;font-size:14px}
.share{margin:20px 0 0;font-size:14px;color:var(--dim)}
.share a{color:var(--accent)}
.calc-disclaimer{margin:32px 0 0;font-size:14px;color:var(--dim);max-width:820px}
@media (prefers-reduced-motion:reduce){.mbar i{transition:none}}
@media (min-width:821px) and (max-width:1180px){.links{gap:18px;font-size:14px}.links .btn{padding:12px 18px;font-size:15px}}
@media (max-width:960px){
  .menu-btn{display:inline-flex;align-items:center;justify-content:center}
  .links{display:none;position:absolute;left:0;right:0;top:72px;background:var(--bg);flex-direction:column;align-items:stretch;gap:0;border-bottom:1px solid var(--line);padding:8px 24px 20px;font-size:15px}
  .links.open{display:flex}
  .links a:not(.btn){padding:14px 0;border-bottom:1px solid var(--line)}
  .links .btn{margin-top:16px;padding:14px 28px;font-size:17px}
}
.act{display:flex;flex-direction:column;gap:8px}
.act legend{font-family:inherit;font-size:15px;text-transform:none;color:var(--text);margin-bottom:4px}
.act-opt{position:relative;display:block;cursor:pointer;font-weight:400}
.act-opt input{position:absolute;opacity:0;width:1px;height:1px}
.act-opt span{display:block;padding:12px 16px 12px 44px;border:1px solid #3a3835;border-radius:6px;background:var(--card);font-size:14px;color:var(--muted);line-height:1.45;position:relative}
.act-opt span::before{content:'';position:absolute;left:16px;top:15px;width:16px;height:16px;border-radius:50%;border:2px solid #5a5650}
.act-opt b{display:block;color:var(--bright);font-size:15px}
.act-opt input:checked + span{border-color:var(--accent);background:#1d1714}
.act-opt input:checked + span::before{border-color:var(--accent);background:radial-gradient(var(--accent) 45%,transparent 50%)}
.act-opt input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}
.macro b{white-space:nowrap}.macro small{font-size:.55em;margin-left:2px;color:var(--muted)}@media (max-width:480px){.macro{padding:14px 6px}.macro b{font-size:28px}.macro span{font-size:11px;letter-spacing:.08em}}
/* tool tabs + extras */
.tooltabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 36px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--bg2);width:max-content;max-width:100%}
.tooltabs a{text-decoration:none;font-size:15px;font-weight:700;color:var(--muted);padding:10px 18px;border-radius:999px;min-height:44px;display:inline-flex;align-items:center}
.tooltabs a[aria-current=page]{background:var(--accent);color:var(--accent-ink)}
.tooltabs a:not([aria-current]):hover{color:var(--bright);background:#232220}
@media (max-width:560px){.tooltabs{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border-radius:12px}.tooltabs a{justify-content:center;text-align:center;font-size:13px;padding:8px 6px;border-radius:8px;line-height:1.25}}
.goal-date{margin:-12px 0 24px;padding:14px 16px;border-radius:6px;background:var(--bg);border-left:3px solid var(--accent)}
.goal-date span{display:block;font-size:14px;color:var(--muted)}
.goal-date b{display:block;font-family:'Anton',sans-serif;font-weight:400;font-size:30px;line-height:1.15;color:var(--bright);margin:2px 0 4px}
.goal-date p{margin:0;font-size:14px;color:#f3c9a8}
/* resources hub */
.res-grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:8px}
.res-card{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:8px;padding:32px 28px;text-decoration:none;color:var(--text);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.res-card:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:0 18px 40px -24px rgba(0,0,0,.9)}
.res-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.res-num{font-family:'Anton',sans-serif;font-size:48px;line-height:1;color:var(--accent);margin-bottom:16px}
.res-card h2{font-size:32px;margin-bottom:14px}
.res-card p{color:var(--muted);flex:1 1 auto}
.res-go{font-weight:700;color:var(--accent);margin-top:8px}
@media (prefers-reduced-motion:reduce){.res-card{transition:none}.res-card:hover{transform:none}}

/* food guide */
.food-tools{display:flex;flex-direction:column;gap:14px;margin-bottom:12px}
input[type=search]{width:100%;max-width:560px;background:var(--card);border:1px solid #3a3835;color:var(--bright);border-radius:4px;padding:13px 14px;font:inherit;font-size:16px;min-height:48px}
input[type=search]:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{font:inherit;font-size:14px;font-weight:700;color:var(--muted);background:var(--card);border:1px solid #3a3835;border-radius:999px;padding:8px 14px;min-height:40px;cursor:pointer}
.fchip[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.fchip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (max-width:560px){.fchips{flex-wrap:nowrap;overflow-x:auto;margin:0 -24px;padding:0 24px 6px;scrollbar-width:none}.fchips::-webkit-scrollbar{display:none}.fchip{flex:0 0 auto}}
.food-count{font-size:14px;color:var(--dim);margin:8px 0 12px}
.food-head,.food{display:grid;grid-template-columns:minmax(0,1fr) 90px 80px 80px 70px;gap:12px;align-items:center}
.food-head{padding:0 18px 8px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-weight:700;border-bottom:1px solid var(--line)}
.food-head span:not(:first-child){text-align:right}
.food-list{list-style:none;margin:0;padding:0}
.food{padding:14px 18px;border-bottom:1px solid var(--line)}
.food:hover{background:var(--bg2)}
.food-name b{display:block;color:var(--bright);font-size:16px}
.food-name span{font-size:14px;color:var(--dim)}
.hp{font-style:normal;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);border:1px solid #6b3d1f;border-radius:999px;padding:1px 8px;margin-left:6px;vertical-align:2px;white-space:nowrap}
.food-kcal,.food-m{text-align:right}
.food-kcal b{font-family:'Anton',sans-serif;font-weight:400;font-size:24px;color:var(--bright)}
.food-kcal small,.food-m small{display:none}
.food-m b{font-weight:700;color:var(--text);font-size:15px}
.food-m:nth-of-type(3) b{color:var(--accent)}
@media (max-width:640px){
  .food-head{display:none}
  .food{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:4px 12px;padding:14px 4px}
  .food-name{grid-column:1/4}
  .food-kcal{grid-column:4;grid-row:1;align-self:start}
  .food-kcal small{display:block;font-size:11px;color:var(--dim);margin-top:-4px}
  .food-m{text-align:left;grid-row:2}
  .food-m b{display:inline;font-size:14px}
  .food-m small{display:inline;font-size:12px;color:var(--dim);margin-left:4px}
}
.food-none{color:var(--muted);padding:24px 0}
.food-notes{margin-top:32px;display:grid;gap:12px;max-width:820px;font-size:15px;color:var(--muted)}
.food-notes p{margin:0}
.food-notes b{color:var(--bright)}

/* night-out planner */
.pick-h{font-family:'Anton',sans-serif;font-weight:400;font-size:26px;text-transform:uppercase;margin:0}
.picks{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}
.pick{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--card);border:1px solid #3a3835;border-radius:6px;padding:10px 12px 10px 16px}
.pick.on{border-color:var(--accent);background:#1d1714}
.pick-name{min-width:0}
.pick-name b{display:block;color:var(--bright);font-size:15px}
.pick-name span{font-size:13px;color:var(--dim)}
.step{display:flex;align-items:center;gap:4px;flex:0 0 auto}
.step button{width:40px;height:40px;border-radius:50%;border:1px solid #4a4743;background:transparent;color:var(--bright);font-size:20px;line-height:1;cursor:pointer;font-family:inherit}
.step .plus{border-color:var(--accent);color:var(--accent)}
.step button:disabled{opacity:.35;cursor:default}
.step button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.step output{min-width:24px;text-align:center;font-weight:700;color:var(--bright)}
#no-reset{align-self:flex-start}
.no-split{margin-top:20px}
.no-target{margin-top:20px}
.no-target .hint a{color:var(--accent)}
.no-plan{margin-top:18px;padding:16px;border-radius:6px;background:var(--bg);border-left:3px solid var(--accent);font-size:15px}
.no-plan p{margin:0 0 10px}
.no-plan p:last-child{margin:0}
.no-pct{color:var(--bright)}
.no-pct b,.no-plan b{color:var(--accent)}
.no-bar{position:fixed;left:12px;right:12px;bottom:12px;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--accent);color:var(--accent-ink);text-decoration:none;font-weight:700;border-radius:8px;padding:14px 18px;box-shadow:0 10px 30px -8px rgba(0,0,0,.8)}
.no-bar b{font-family:'Anton',sans-serif;font-weight:400;font-size:22px}
#no-out{scroll-margin-top:90px}
.food-cu{font-style:normal}
.food-list.one-cu .food-cu{display:none}
.fchips-cu .fchip[aria-pressed=false]{color:var(--text)}
