/* ============================================================
   PLUTERO — Europe's Wealth Method
   Black · violet→magenta · white · sparing gold
   Mobile-first. OKLCH tokens tinted toward the brand hue.
   ============================================================ */

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg{display:block;max-width:100%}
[hidden]{display:none!important}
/* Lucide-style icon system (geometry lives in the inline #i-* sprite) */
.ic{display:inline-block;flex:none;width:24px;height:24px;fill:none;stroke:currentColor;
  stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.ic-defs{position:absolute;width:0;height:0;overflow:hidden}
button,input{font:inherit;color:inherit}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
:focus-visible{outline:2px solid var(--violet-bright);outline-offset:3px;border-radius:4px}

/* ---------- Tokens ---------- */
:root{
  /* surfaces — near-black, faintly violet */
  --bg:        oklch(0.115 0.014 312);
  --bg-2:      oklch(0.150 0.018 312);
  --bg-3:      oklch(0.195 0.022 312);
  --bg-glass:  oklch(0.150 0.020 312 / .62);

  /* ink */
  --ink:   oklch(0.975 0.006 312);
  --ink-2: oklch(0.760 0.022 312);
  --ink-3: oklch(0.600 0.022 312);

  /* lines */
  --line:    oklch(0.98 0.02 312 / .10);
  --line-2:  oklch(0.98 0.02 312 / .18);

  /* brand accents */
  --violet:    oklch(0.585 0.205 300);
  --violet-br: oklch(0.700 0.190 305);
  --magenta:   oklch(0.660 0.245 350);
  --gold:      oklch(0.830 0.125 86);
  --gold-deep: oklch(0.720 0.130 78);

  --grad: linear-gradient(125deg, var(--violet) 0%, var(--magenta) 100%);
  --grad-soft: linear-gradient(125deg, oklch(0.585 0.205 300 / .22), oklch(0.660 0.245 350 / .22));

  /* radii */
  --r-sm:10px; --r-md:16px; --r-lg:22px; --r-xl:30px;

  /* spacing scale (4pt) */
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;

  /* fluid */
  --shell: 1200px;
  --pad: clamp(20px, 5.5vw, 40px);
  --sec-pad: clamp(72px, 12vw, 150px);

  --ease: cubic-bezier(.16,1,.3,1);          /* ease-out-expo-ish */
  --ease-2: cubic-bezier(.22,.61,.36,1);

  --shadow: 0 30px 80px -40px oklch(0 0 0 / .9);
  --glow: 0 0 60px -10px oklch(0.66 0.245 350 / .55);
}

/* ---------- Base ---------- */
html{scroll-behavior:smooth;scroll-padding-top:clamp(72px,10vw,98px)}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:"Schibsted Grotesk", system-ui, sans-serif;
  font-size:clamp(15px,1.1vw,16.5px);
  line-height:1.6;
  letter-spacing:-0.01em;
  overflow-x:clip;
  position:relative;
  min-height:100vh;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body.is-locked{overflow:hidden}
.shell{width:100%;max-width:var(--shell);margin-inline:auto;padding-inline:var(--pad)}

/* ============================================================
   ATMOSPHERE
   ============================================================ */
.atmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.atmos__embers{position:absolute;inset:0;width:100%;height:100%}
.atmos__aurora{
  position:absolute;left:50%;top:-10%;width:140vmax;height:140vmax;translate:-50% 0;
  background:
    radial-gradient(38% 38% at 30% 30%, oklch(0.585 0.205 300 / .20), transparent 70%),
    radial-gradient(34% 34% at 72% 42%, oklch(0.660 0.245 350 / .16), transparent 70%);
  filter:blur(10px);
  animation:aurora 26s var(--ease-2) infinite alternate;
}
@keyframes aurora{
  0%{transform:translate(-2%,-3%) rotate(0deg) scale(1)}
  100%{transform:translate(3%,4%) rotate(8deg) scale(1.12)}
}
.atmos__grain{
  position:absolute;inset:-50%;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 6s steps(6) infinite;
}
@keyframes grain{
  0%{transform:translate(0,0)} 20%{transform:translate(-4%,3%)}
  40%{transform:translate(3%,-2%)} 60%{transform:translate(-2%,4%)}
  80%{transform:translate(4%,1%)} 100%{transform:translate(0,0)}
}

/* ============================================================
   CURSOR
   ============================================================ */
.cursor{position:fixed;left:0;top:0;z-index:120;pointer-events:none;display:none;mix-blend-mode:screen}
.cursor__ring{position:absolute;width:34px;height:34px;translate:-50% -50%;border:1.5px solid oklch(0.70 0.19 320 / .8);border-radius:50%;transition:width .25s var(--ease),height .25s var(--ease),background .25s,border-color .25s}
.cursor__dot{position:absolute;width:5px;height:5px;translate:-50% -50%;border-radius:50%;background:var(--magenta)}
.cursor.is-hot .cursor__ring{width:52px;height:52px;background:oklch(0.66 0.245 350 / .12);border-color:transparent}
@media (pointer:fine){.cursor{display:block}}

/* ============================================================
   SCROLL PROGRESS
   ============================================================ */
.scrollbar{position:fixed;left:0;top:0;width:100%;height:2px;z-index:90;background:transparent}
.scrollbar i{display:block;height:100%;width:0%;background:var(--grad);box-shadow:0 0 14px oklch(0.66 0.245 350 / .6)}

/* ============================================================
   INTRO / CINEMATIC LOADER
   ============================================================ */
.intro{position:fixed;inset:0;z-index:200;display:grid;place-content:center;overflow:hidden;
  background:transparent;transition:visibility 0s linear .95s}
.intro.is-done{visibility:hidden;pointer-events:none}

/* black panels that split apart to reveal the page */
.intro__curtain{position:absolute;left:0;right:0;height:50.5%;z-index:1;background:var(--bg);
  transition:transform .85s var(--ease)}
.intro__curtain--t{top:0;box-shadow:0 1px 0 oklch(1 0 0 / .04)}
.intro__curtain--b{bottom:0;box-shadow:0 -1px 0 oklch(1 0 0 / .04)}
.intro.is-done .intro__curtain--t{transform:translateY(-100%)}
.intro.is-done .intro__curtain--b{transform:translateY(100%)}

/* ghost bust rising behind the wordmark */
.intro__bust{position:absolute;left:50%;top:46%;width:min(440px,82vw);z-index:2;
  filter:grayscale(1) brightness(1.2);opacity:0;
  -webkit-mask-image:radial-gradient(58% 62% at 50% 42%,#000,transparent 72%);
          mask-image:radial-gradient(58% 62% at 50% 42%,#000,transparent 72%);
  animation:introBust 1.9s var(--ease) forwards}
@keyframes introBust{0%{opacity:0;transform:translate(-50%,-46%) scale(1.14)}
  60%{opacity:.16}100%{opacity:.13;transform:translate(-50%,-50%) scale(1)}}

.intro__inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;
  gap:clamp(18px,4vw,30px);transition:opacity .55s var(--ease),transform .55s var(--ease),filter .55s var(--ease)}
.intro.is-done .intro__inner{opacity:0;transform:translateY(-12px) scale(1.05);filter:blur(7px)}

.intro__wordwrap{position:relative;overflow:hidden;padding:.08em .04em}
.intro__word{display:flex;font-family:"Anton",sans-serif;line-height:.9;letter-spacing:.02em;
  font-size:clamp(48px,15vw,128px);color:var(--ink)}
.intro__word span{display:inline-block;opacity:0;transform:translateY(105%);
  animation:introLetter .8s var(--ease) forwards}
.intro__word span:nth-child(1){animation-delay:.12s}
.intro__word span:nth-child(2){animation-delay:.18s}
.intro__word span:nth-child(3){animation-delay:.24s}
.intro__word span:nth-child(4){animation-delay:.30s}
.intro__word span:nth-child(5){animation-delay:.36s}
.intro__word span:nth-child(6){animation-delay:.42s}
.intro__word span:nth-child(7){animation-delay:.48s}
@keyframes introLetter{to{opacity:1;transform:translateY(0)}}
/* gold sheen sweep across the wordmark */
.intro__wordwrap::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;
  background:linear-gradient(105deg,transparent 42%,oklch(0.95 0.06 90 / .85) 50%,transparent 58%);
  transform:translateX(-130%);animation:introSheen 1.1s var(--ease) .9s}
@keyframes introSheen{to{transform:translateX(130%)}}

.intro__sub{font-family:"Schibsted Grotesk";font-weight:700;letter-spacing:.5em;text-indent:.5em;
  font-size:clamp(11px,2.6vw,14px);color:var(--magenta);opacity:0;transform:translateY(8px);
  animation:introUp .7s var(--ease) .72s forwards}
@keyframes introUp{to{opacity:1;transform:none}}

.intro__meter{display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;
  animation:introUp .6s var(--ease) .5s forwards}
.intro__line{width:min(240px,58vw);height:2px;border-radius:2px;background:var(--line);overflow:hidden;position:relative}
.intro__line i{position:absolute;inset:0 auto 0 0;width:0;background:var(--grad);
  box-shadow:0 0 12px oklch(0.66 0.245 350 / .6)}
.intro__count{font-family:"Cinzel",serif;font-weight:600;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--ink-3)}
.intro__count b{color:var(--ink-2);font-weight:700}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;inset:0 0 auto;z-index:80;transition:transform .4s var(--ease),background .4s,backdrop-filter .4s,border-color .4s;border-bottom:1px solid transparent}
.nav.is-stuck{background:var(--bg-glass);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-bottom-color:var(--line)}
.nav.is-hidden{transform:translateY(-100%)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:clamp(64px,9vw,82px)}

.brand{display:inline-flex;flex-direction:column;line-height:.78;will-change:transform}
.brand__word{font-family:"Anton",sans-serif;font-size:clamp(22px,5vw,28px);letter-spacing:.02em}
.brand__tag{font-weight:700;font-size:9px;letter-spacing:.5em;color:var(--magenta);text-indent:.5em;margin-top:.45em}
.brand--lg .brand__word{font-size:clamp(30px,7vw,40px)}

.nav__links{display:none;gap:clamp(18px,3vw,34px)}
.nav__links a{font-weight:500;font-size:14.5px;color:var(--ink-2);position:relative;padding-block:6px;transition:color .25s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:0;background:var(--grad);transition:width .3s var(--ease)}
.nav__links a:hover{color:var(--ink)}
.nav__links a:hover::after{width:100%}

.nav__right{display:flex;align-items:center;gap:var(--s-3)}
.nav__right .nav__cta{display:none}   /* shown ≥768; specificity beats .btn */

.burger{width:46px;height:46px;display:grid;place-content:center;gap:5px;background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;cursor:pointer}
.burger span{display:block;width:20px;height:1.8px;background:var(--ink);border-radius:2px;transition:transform .35s var(--ease),opacity .25s}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.4px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.4px) rotate(-45deg)}

/* ---------- Drawer ---------- */
.drawer{position:fixed;inset:0;z-index:79;background:linear-gradient(180deg,var(--bg) 0%, oklch(0.10 0.02 320) 100%);
  padding:calc(clamp(64px,9vw,82px) + 24px) var(--pad) 40px;display:flex;flex-direction:column;gap:var(--s-4);
  clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease);visibility:hidden}
.drawer.is-open{clip-path:inset(0 0 0 0);visibility:visible}
.drawer__nav{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.drawer__nav a{display:flex;align-items:center;gap:18px;padding:22px 4px;font-family:"Anton",sans-serif;font-size:clamp(26px,8vw,40px);
  border-bottom:1px solid var(--line);color:var(--ink);opacity:0;transform:translateX(-12px);transition:color .3s}
.drawer.is-open .drawer__nav a{animation:drawerIn .5s var(--ease) forwards}
.drawer.is-open .drawer__nav a:nth-child(1){animation-delay:.10s}
.drawer.is-open .drawer__nav a:nth-child(2){animation-delay:.16s}
.drawer.is-open .drawer__nav a:nth-child(3){animation-delay:.22s}
.drawer.is-open .drawer__nav a:nth-child(4){animation-delay:.28s}
.drawer.is-open .drawer__nav a:nth-child(5){animation-delay:.34s}
@keyframes drawerIn{to{opacity:1;transform:translateX(0)}}
.drawer__nav a:hover{color:var(--magenta)}
.drawer__num{font-family:"Cinzel",serif;font-size:.5em;color:var(--magenta);width:1.4em;text-align:center}
.drawer__cta{margin-top:auto;justify-content:center}
.drawer__foot{text-align:center;color:var(--ink-3);font-size:12.5px;letter-spacing:.04em}

/* ============================================================
   BUTTONS
   ============================================================ */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  padding:15px 26px;border-radius:var(--r-sm);font-weight:600;font-size:15px;letter-spacing:-0.01em;
  cursor:pointer;border:1px solid transparent;will-change:transform;transition:transform .25s var(--ease),box-shadow .3s,background .3s,color .3s,border-color .3s;white-space:nowrap}
.btn__i{width:18px;height:18px;transition:transform .3s var(--ease)}
.btn:hover .btn__i{transform:translateX(4px)}

.btn--solid{background:var(--grad);color:oklch(0.99 0.01 320);box-shadow:0 14px 34px -16px oklch(0.62 0.21 320 / .9), inset 0 1px 0 oklch(1 0 0 / .25)}
.btn--solid::before{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,oklch(0.66 0.22 305),oklch(0.70 0.24 348));opacity:0;transition:opacity .3s}
.btn--solid:hover{box-shadow:0 20px 50px -16px oklch(0.66 0.24 345 / .95), inset 0 1px 0 oklch(1 0 0 / .35);transform:translateY(-2px)}
.btn--solid:hover::before{opacity:1}
.btn--solid>*{position:relative;z-index:1}

.btn--ghost{background:oklch(0.98 0.02 312 / .04);border-color:var(--line-2);color:var(--ink)}
.btn--ghost:hover{border-color:oklch(0.70 0.19 320 / .6);background:oklch(0.66 0.245 350 / .10);transform:translateY(-2px)}

.btn--text{padding-inline:6px;color:var(--ink-2);background:none}
.btn--text::after{content:"";position:absolute;left:6px;right:6px;bottom:8px;height:1px;background:var(--ink-3);transform:scaleX(.0);transform-origin:left;transition:transform .3s var(--ease)}
.btn--text:hover{color:var(--ink)}
.btn--text:hover::after{transform:scaleX(1);background:var(--magenta)}

.btn--lg{padding:19px 38px;font-size:17px;border-radius:var(--r-md)}
.btn.is-busy{pointer-events:none;opacity:.85}

/* ============================================================
   SHARED SECTION FURNITURE
   ============================================================ */
main{position:relative;z-index:1}
section{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:12px;font-family:"Cinzel",serif;font-weight:700;
  font-size:clamp(11px,2.4vw,13px);letter-spacing:.34em;text-transform:uppercase;color:var(--ink-2)}
.eyebrow--center{justify-content:center}
.eyebrow__key{width:30px;height:8px;flex:none;position:relative}
.eyebrow__key::before{content:"";position:absolute;left:0;top:50%;width:22px;height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow__key::after{content:"";position:absolute;right:0;top:50%;width:6px;height:6px;translate:0 -50%;background:var(--gold);transform:rotate(45deg)}

.sec-head{max-width:720px;margin-inline:auto;text-align:center;margin-bottom:clamp(40px,7vw,72px);display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}
.sec-head--left{align-items:flex-start;text-align:left;margin-inline:0}
.sec-title{font-family:"Anton",sans-serif;font-weight:400;line-height:.98;letter-spacing:.005em;
  font-size:clamp(34px,7.5vw,68px);text-wrap:balance}
.sec-sub{color:var(--ink-2);font-size:clamp(15px,2.4vw,18px);max-width:60ch;text-wrap:pretty}
.sec-sub strong{color:var(--ink)}
.sec-sub code{font-family:"Schibsted Grotesk";background:var(--bg-3);border:1px solid var(--line-2);padding:.1em .5em;border-radius:7px;font-weight:600;letter-spacing:.02em;color:var(--ink)}

/* meander divider */
.meander{height:1px;max-width:var(--shell);margin:0 auto;
  background:linear-gradient(90deg,transparent,var(--line-2) 18%,var(--line-2) 82%,transparent);position:relative}
.meander::after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;translate:-50% -50%;
  background:var(--gold);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 16px oklch(0.83 0.125 86 / .5)}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;
  padding-top:clamp(110px,20vw,150px);padding-bottom:clamp(60px,10vw,90px);overflow:hidden}
.hero__bust{position:absolute;top:clamp(70px,14vw,90px);left:50%;translate:-50% 0;width:min(560px,118vw);
  opacity:.16;filter:grayscale(1) brightness(1.25) drop-shadow(0 0 50px oklch(0.62 0.2 320 / .35));
  -webkit-mask-image:radial-gradient(60% 75% at 50% 38%,#000 35%,transparent 78%);
          mask-image:radial-gradient(60% 75% at 50% 38%,#000 35%,transparent 78%);
  pointer-events:none;z-index:0;will-change:transform}
.hero__glow{position:absolute;left:50%;top:34%;width:min(720px,120vw);aspect-ratio:1;translate:-50% -50%;z-index:0;
  background:radial-gradient(circle,oklch(0.62 0.2 320 / .22),transparent 62%);filter:blur(20px)}
.hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--s-5);width:100%}

.hero__title{font-family:"Anton",sans-serif;font-weight:400;line-height:.92;letter-spacing:.004em;
  font-size:clamp(46px,13.5vw,128px);text-transform:none}
.hero__title span{display:block}
.hero__title em{font-style:normal;color:var(--magenta);position:relative}
.hero__title em::after{content:"";position:absolute;left:2%;right:2%;bottom:.06em;height:.07em;background:var(--grad);border-radius:3px;opacity:.9}
.hero__title--muted{color:var(--ink-3)}
/* "miracle" crossed out — the line drawn ON TOP after reveal */
.strike{position:relative;color:var(--ink-2);white-space:nowrap}
.strike::after{content:"";position:absolute;left:-3%;right:-3%;top:54%;height:.075em;border-radius:3px;
  background:var(--magenta);box-shadow:0 0 16px oklch(0.66 0.245 350 / .7);
  transform:scaleX(0);transform-origin:left;transition:transform .65s var(--ease) .55s}
.reveal.in .strike::after{transform:scaleX(1)}

.hero__lede{max-width:54ch;color:var(--ink-2);font-size:clamp(16px,2.7vw,20px);line-height:1.62}
.hero__lede strong{color:var(--ink);font-style:italic}

.hero__cta{display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:center;align-items:center;margin-top:var(--s-2)}

.hero__trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:clamp(14px,4vw,30px);margin-top:var(--s-4)}
.hero__trust li{display:flex;flex-direction:column;align-items:center;gap:2px}
.hero__trust strong{font-family:"Anton",sans-serif;font-size:clamp(24px,5vw,34px);line-height:1;color:var(--ink)}
.hero__trust span{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.hero__trust-div{width:1px;height:30px;background:var(--line-2);align-self:center}

.hero__scroll{position:absolute;left:50%;bottom:22px;translate:-50% 0;z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;
  font-size:10.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3)}
.hero__scroll i{width:1px;height:34px;background:linear-gradient(var(--ink-3),transparent);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;left:0;top:0;width:100%;height:40%;background:var(--magenta);animation:scrolldot 1.9s var(--ease-2) infinite}
@keyframes scrolldot{0%{transform:translateY(-100%)}60%,100%{transform:translateY(280%)}}

/* ============================================================
   TRUST BAND
   ============================================================ */
.trust{padding-block:clamp(40px,6vw,64px)}
.trust__grid{display:grid;gap:var(--s-3);grid-template-columns:1fr}
.trust__item{padding:24px;border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(180deg,oklch(0.16 0.02 312 / .5),oklch(0.13 0.016 312 / .4));backdrop-filter:blur(4px)}
.trust__i{width:30px;height:30px;color:var(--magenta);margin-bottom:14px}
.trust__item h3{font-size:16px;font-weight:700;letter-spacing:-0.01em;margin-bottom:6px}
.trust__item p{color:var(--ink-2);font-size:14px;line-height:1.55}

/* ============================================================
   METHOD / STEPS
   ============================================================ */
.method{padding-block:var(--sec-pad)}
.steps{display:flex;flex-direction:column;gap:0;max-width:880px;margin-inline:auto}
.step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4vw,34px);
  padding:clamp(22px,4vw,34px) 0;border-top:1px solid var(--line)}
.step:first-child{border-top:0}
.step__num{font-family:"Cinzel",serif;font-weight:800;font-size:clamp(30px,8vw,56px);line-height:.9;
  color:transparent;-webkit-text-stroke:1.4px oklch(0.70 0.19 320 / .55);min-width:1.6em;text-align:center;
  transition:-webkit-text-stroke-color .4s, color .4s}
.step:hover .step__num{color:var(--magenta);-webkit-text-stroke-color:transparent}
.step__body h3{font-family:"Schibsted Grotesk";font-weight:700;font-size:clamp(20px,4vw,27px);letter-spacing:-0.015em;margin-bottom:8px}
.step__body p{color:var(--ink-2);max-width:54ch;font-size:clamp(14.5px,2.4vw,16.5px)}
.step__rail{display:none}

/* ============================================================
   EDITIONS / CARDS
   ============================================================ */
.editions{padding-block:var(--sec-pad)}
.cards{display:grid;gap:var(--s-4);grid-template-columns:1fr;perspective:1400px}
.card{position:relative;display:flex;flex-direction:column;gap:var(--s-4);padding:clamp(26px,5vw,34px);
  border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(180deg,oklch(0.165 0.02 312 / .85),oklch(0.13 0.016 312 / .85));
  transform-style:preserve-3d;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s}
.card:hover{border-color:oklch(0.70 0.19 320 / .4);box-shadow:var(--shadow)}
.card__sheen{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),oklch(0.70 0.2 330 / .16),transparent 60%)}
.card:hover .card__sheen{opacity:1}
.card>*{position:relative;transform:translateZ(28px)}
.card__sheen{transform:none}

.card__flag{position:absolute;top:16px;right:16px;z-index:3;font-size:11px;font-weight:700;letter-spacing:.04em;
  padding:6px 12px;border-radius:999px;background:var(--grad);color:oklch(0.99 0.01 320);transform:translateZ(40px);
  box-shadow:0 8px 20px -8px oklch(0.66 0.24 345 / .8)}
.card__flag--gold{background:linear-gradient(120deg,var(--gold),var(--gold-deep));color:oklch(0.2 0.04 80);box-shadow:0 8px 20px -8px oklch(0.83 0.125 86 / .7)}

.card__head{display:flex;align-items:center;gap:14px}
.card__coin{display:grid;place-content:center;width:54px;height:54px;flex:none;border-radius:50%;
  font-family:"Cinzel",serif;font-size:26px;font-weight:700;color:var(--ink);
  background:radial-gradient(circle at 32% 28%,oklch(0.30 0.03 312),oklch(0.16 0.02 312));
  border:1px solid var(--line-2);box-shadow:inset 0 1px 0 oklch(1 0 0 / .12)}
.card__tier{font-family:"Cinzel",serif;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:13px;color:var(--ink-2)}
.card__name{font-family:"Anton",sans-serif;font-size:23px;letter-spacing:.01em}

.card__price{font-family:"Anton",sans-serif;font-size:clamp(52px,12vw,68px);line-height:.9;display:flex;align-items:flex-start;gap:4px}
.card__cur{font-size:.42em;color:var(--ink-2);margin-top:.35em}
.card__pitch{color:var(--ink-2);font-size:15px;line-height:1.55}
.card__list{display:flex;flex-direction:column;gap:11px;margin-block:2px}
.card__list li{position:relative;padding-left:28px;font-size:14.5px;color:var(--ink);line-height:1.45}
.card__list li::before{content:"";position:absolute;left:0;top:.18em;width:18px;height:18px;border-radius:50%;
  background:var(--grad-soft);border:1px solid oklch(0.70 0.19 320 / .4)}
.card__list li::after{content:"";position:absolute;left:6px;top:.42em;width:6px;height:3px;border-left:1.6px solid var(--magenta);border-bottom:1.6px solid var(--magenta);transform:rotate(-45deg)}
.card__cta{margin-top:auto;width:100%}

.card--feature{border-color:oklch(0.66 0.22 330 / .5);background:linear-gradient(180deg,oklch(0.20 0.04 320 / .9),oklch(0.135 0.02 318 / .92))}
.card--feature::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none}
.card--gold .card__coin{color:var(--gold);border-color:oklch(0.83 0.125 86 / .4)}

.editions__note{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:clamp(28px,5vw,42px);
  color:var(--ink-2);font-size:14.5px;text-align:center}
.editions__note svg{width:20px;height:20px;color:var(--gold);flex:none}

/* ============================================================
   PROOF / REVIEWS
   ============================================================ */
.proof{padding-block:var(--sec-pad)}
.proof__score{color:var(--magenta)}
.proof__shot{max-width:300px;margin:0 auto clamp(30px,5vw,46px);border:1px solid var(--line-2);border-radius:24px;
  overflow:hidden;background:var(--bg-2);box-shadow:var(--shadow)}
.proof__shot img{width:100%;display:block}
.proof__shot figcaption{padding:14px 18px 16px}
.proof__shot figcaption b{display:block;font-size:14.5px;margin-bottom:3px}
.proof__shot figcaption span{font-size:12.5px;color:var(--ink-3)}
.reviews{columns:1;column-gap:var(--s-4)}
.proof__more{text-align:center;margin-top:clamp(30px,5vw,46px)}
.review{break-inside:avoid;margin-bottom:var(--s-4);padding:24px;border:1px solid var(--line);border-radius:var(--r-md);
  background:linear-gradient(180deg,oklch(0.16 0.02 312 / .6),oklch(0.13 0.016 312 / .5))}
.review__stars{color:var(--gold);letter-spacing:2px;font-size:15px;margin-bottom:12px}
.review blockquote{font-size:16px;line-height:1.55;color:var(--ink);text-wrap:pretty}
.review figcaption{display:flex;align-items:center;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.review__av{display:grid;place-content:center;width:40px;height:40px;flex:none;border-radius:50%;font-weight:700;font-size:14px;
  color:oklch(0.99 0.01 320);background:var(--grad)}
.review figcaption b{display:block;font-weight:700;font-size:14.5px}
.review figcaption i{font-style:normal;font-size:12.5px;color:var(--ink-3);letter-spacing:.02em}
.review__ok{margin-left:auto;display:grid;place-content:center;width:24px;height:24px;border-radius:50%;
  font-size:12px;color:var(--gold);border:1px solid oklch(0.83 0.125 86 / .4)}

/* ============================================================
   TRACK ORDER
   ============================================================ */
.track{padding-block:var(--sec-pad)}
.track__inner{max-width:760px;margin-inline:auto}
.track__form{display:flex;gap:var(--s-3);margin-bottom:var(--s-3);flex-wrap:wrap}
.field{position:relative;flex:1;min-width:220px}
.field input{width:100%;height:58px;padding:22px 18px 8px;border-radius:var(--r-sm);background:var(--bg-2);
  border:1px solid var(--line-2);color:var(--ink);font-size:16px;letter-spacing:.02em;transition:border-color .25s,box-shadow .25s}
.field input:focus{outline:none;border-color:oklch(0.70 0.19 320 / .7);box-shadow:0 0 0 4px oklch(0.62 0.2 320 / .14)}
.field label{position:absolute;left:18px;top:18px;color:var(--ink-3);font-size:15px;pointer-events:none;
  transition:transform .2s var(--ease),color .2s,font-size .2s;transform-origin:left}
.field input:focus + label,.field input:not(:placeholder-shown) + label{transform:translateY(-11px) scale(.78);color:var(--magenta)}
.track__form.is-bad .field input{border-color:var(--magenta);animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(3px)}}
.track__msg{min-height:20px;font-size:13.5px;color:var(--magenta);letter-spacing:.02em}
.track__msg.is-ok{color:var(--gold)}

.timeline{margin-top:var(--s-5);display:flex;flex-direction:column;gap:0;position:relative}
.tl{position:relative;display:grid;grid-template-columns:auto 1fr;gap:18px;padding:0 0 26px 0;opacity:.32;filter:saturate(.4);transition:opacity .5s,filter .5s}
.tl:last-child{padding-bottom:0}
.tl__dot{position:relative;width:18px;height:18px;border-radius:50%;border:2px solid var(--line-2);background:var(--bg);margin-top:2px;z-index:1;transition:border-color .4s,background .4s,box-shadow .4s}
.tl::before{content:"";position:absolute;left:8px;top:18px;bottom:-2px;width:2px;background:var(--line);z-index:0}
.tl:last-child::before{display:none}
.tl__body b{display:block;font-weight:700;font-size:16px}
.tl__body span{color:var(--ink-2);font-size:14px}
.tl.on{opacity:1;filter:none}
.tl.on .tl__dot{border-color:var(--magenta);background:var(--grad);box-shadow:0 0 0 5px oklch(0.66 0.245 350 / .14)}
.tl.on::before{background:linear-gradient(var(--magenta),var(--line))}
.track__hint{margin-top:var(--s-4);font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:8px}

/* tracking result card */
.trackcard{margin-top:var(--s-5);border:1px solid var(--line-2);border-radius:var(--r-lg);overflow:hidden;
  background:oklch(0.14 0.018 312 / .6);animation:stepIn .5s var(--ease)}
.trackcard__top{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}
.trackcard__top>div{background:var(--bg-2);padding:14px 18px;display:flex;flex-direction:column;gap:3px}
.trackcard__top span{font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.trackcard__top b{font-size:15px;font-weight:600;color:var(--ink)}
.trackcard .timeline{padding:24px}
@media (min-width:620px){.trackcard__top{grid-template-columns:repeat(4,1fr)}}

/* ============================================================
   FAQ
   ============================================================ */
.faq{padding-block:var(--sec-pad)}
.faq__inner{max-width:820px;margin-inline:auto}
.acc{display:flex;flex-direction:column;gap:12px}
.acc__item{border:1px solid var(--line);border-radius:var(--r-md);background:oklch(0.15 0.018 312 / .5);overflow:hidden;transition:border-color .3s,background .3s}
.acc__item[open]{border-color:oklch(0.70 0.19 320 / .35);background:oklch(0.17 0.022 312 / .6)}
.acc__item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;
  font-weight:600;font-size:clamp(15.5px,2.6vw,18px);letter-spacing:-0.01em;color:var(--ink)}
.acc__pm{position:relative;flex:none;width:18px;height:18px}
.acc__pm::before,.acc__pm::after{content:"";position:absolute;left:50%;top:50%;background:var(--magenta);border-radius:2px;transition:transform .3s var(--ease),opacity .3s}
.acc__pm::before{width:14px;height:1.8px;translate:-50% -50%}
.acc__pm::after{width:1.8px;height:14px;translate:-50% -50%}
.acc__item[open] .acc__pm::after{transform:rotate(90deg);opacity:0}
.acc__panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.acc__item[open] .acc__panel{grid-template-rows:1fr}
.acc__panel>p{overflow:hidden;padding:0 22px;color:var(--ink-2);font-size:15px;line-height:1.62;max-width:64ch}
.acc__item[open] .acc__panel>p{padding-bottom:22px}

/* ============================================================
   FINALE
   ============================================================ */
.finale{padding-block:clamp(90px,16vw,180px);text-align:center;position:relative;overflow:hidden}
.finale__bust{position:absolute;left:50%;top:46%;translate:-50% -50%;width:min(640px,150vw);opacity:.08;
  filter:grayscale(1) brightness(1.3);-webkit-mask-image:radial-gradient(58% 60% at 50% 42%,#000,transparent 75%);mask-image:radial-gradient(58% 60% at 50% 42%,#000,transparent 75%);z-index:0;pointer-events:none}
.finale__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--s-5)}
.finale__title{font-family:"Anton",sans-serif;font-weight:400;line-height:.96;font-size:clamp(40px,10vw,92px);text-wrap:balance}
.finale__title em{font-style:normal;color:var(--magenta)}
.finale__sub{color:var(--ink-2);max-width:46ch;font-size:clamp(16px,2.6vw,19px)}
.finale__micro{font-size:12.5px;letter-spacing:.06em;color:var(--ink-3)}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{border-top:1px solid var(--line);padding-top:clamp(48px,8vw,80px);padding-bottom:36px;position:relative;z-index:1;background:oklch(0.10 0.014 312 / .6)}
.foot__grid{display:grid;gap:var(--s-7);grid-template-columns:1fr}
.foot__tag{font-family:"Cinzel",serif;font-style:italic;color:var(--ink-2);margin-top:14px;letter-spacing:.04em}
.pay{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.pay__b{font-size:11px;font-weight:700;letter-spacing:.06em;padding:7px 11px;border:1px solid var(--line-2);border-radius:8px;color:var(--ink-2);background:var(--bg-2)}
.foot__col{display:flex;flex-direction:column;gap:12px}
.foot__col h4{font-family:"Cinzel",serif;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);margin-bottom:4px}
.foot__col a{color:var(--ink-2);font-size:14.5px;width:fit-content;transition:color .25s}
.foot__col a:hover{color:var(--magenta)}
.foot__bottom{display:flex;flex-direction:column;gap:14px;margin-top:clamp(40px,7vw,64px);padding-top:28px;border-top:1px solid var(--line)}
.foot__secure{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}
.foot__secure svg{width:18px;height:18px;color:var(--gold)}
.foot__legal{font-size:12px;color:var(--ink-3);max-width:70ch;line-height:1.5}

/* ============================================================
   MOBILE STICKY UNLOCK BAR
   ============================================================ */
.mcta{position:fixed;left:10px;right:10px;bottom:10px;z-index:75;display:none;align-items:center;
  justify-content:space-between;gap:14px;padding:10px 10px 10px 18px;border-radius:18px;
  background:linear-gradient(125deg,oklch(0.22 0.05 320 / .92),oklch(0.15 0.03 318 / .92));
  border:1px solid oklch(0.70 0.19 320 / .35);backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
  box-shadow:0 18px 44px -18px oklch(0 0 0 / .9),inset 0 1px 0 oklch(1 0 0 / .1);
  transform:translateY(160%);transition:transform .5s var(--ease);
  padding-bottom:max(10px,env(safe-area-inset-bottom))}
.mcta.show{transform:none}
.mcta__txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.mcta__txt b{font-family:"Anton",sans-serif;font-weight:400;font-size:17px;letter-spacing:.01em;color:var(--ink)}
.mcta__txt span{font-size:11.5px;color:var(--ink-3);letter-spacing:.02em}
.mcta__go{flex:none;padding:13px 18px;border-radius:12px;background:var(--grad);font-weight:700;font-size:14.5px;
  color:oklch(0.99 0.01 320);box-shadow:0 10px 24px -10px oklch(0.66 0.24 345 / .9),inset 0 1px 0 oklch(1 0 0 / .3)}
@media (max-width:767px){.mcta{display:flex}}

/* ============================================================
   REVEAL
   ============================================================ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal[data-d="1"]{transition-delay:.08s}
.reveal[data-d="2"]{transition-delay:.16s}
.reveal[data-d="3"]{transition-delay:.24s}
.reveal[data-d="4"]{transition-delay:.32s}
.reveal[data-d="5"]{transition-delay:.40s}
.reveal[data-d="6"]{transition-delay:.48s}

/* ============================================================
   RESPONSIVE
   ============================================================ */
/* small-phone tuning + clearance for the sticky bar */
@media (max-width:767px){
  /* perf: drop the heaviest continuous effects on phones for smooth scroll */
  .atmos__embers,.atmos__grain{display:none}
  .atmos__aurora{animation:none;opacity:.6}
  .nav.is-stuck{backdrop-filter:blur(9px) saturate(1.1);-webkit-backdrop-filter:blur(9px) saturate(1.1)}
  .foot{padding-bottom:104px}
  .hero{padding-top:clamp(96px,24vw,130px)}
  .hero__title{font-size:clamp(48px,14.5vw,86px)}
  .hero__cta{width:100%}
  .hero__cta .btn--solid{flex:1;min-width:0}
  .sec-title{font-size:clamp(36px,9vw,52px)}
}
@media (min-width:560px){
  .trust__grid{grid-template-columns:1fr 1fr}
  .reviews{columns:2}
}
@media (min-width:768px){
  .nav__links{display:flex}
  .nav__right .nav__cta{display:inline-flex}
  .burger{display:none}
  .drawer{display:none}
  .hero__bust{width:min(680px,80vw);opacity:.2}
  .step__rail{display:block;position:absolute;left:calc(0.8em + 9px);top:0;bottom:0;width:1px}
}
@media (min-width:960px){
  .trust__grid{grid-template-columns:repeat(4,1fr)}
  .cards{grid-template-columns:repeat(3,1fr);align-items:start}
  .card--feature{transform:translateY(-18px)}
  .reviews{columns:3}
  .foot__grid{grid-template-columns:2fr 1fr 1fr 1fr}
  .foot__bottom{flex-direction:row;align-items:center;justify-content:space-between}
  .track__inner{margin-inline:auto}
}
@media (min-width:1100px){
  .hero__inner{align-items:flex-start;text-align:left;max-width:none}
  .hero__title{font-size:clamp(72px,9vw,132px)}
  .hero__lede{margin-left:2px}
  .hero__trust{justify-content:flex-start}
  .hero__cta{justify-content:flex-start}
  .hero__bust{left:auto;right:-4%;top:50%;translate:0 -50%;width:min(640px,46vw);opacity:.26}
  .eyebrow--center{justify-content:flex-start}
}

/* ============================================================
   REDUCED MOTION
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
  .reveal{opacity:1;transform:none}
  .atmos__aurora,.atmos__grain,.hero__scroll i::after{animation:none}
  .intro{display:none}
  .cursor{display:none !important}
}
