/* ============================================================
   Zeiko — staked ETH that still behaves like a plain token
   ============================================================ */

:root{
  --ink:#05070c;
  --ink-2:#080b13;
  --paper:#eaf0f2;
  --dim:rgba(234,240,242,.76);
  --dimmer:rgba(234,240,242,.58);
  --faint:rgba(234,240,242,.36);
  --line:rgba(234,240,242,.16);
  --line-soft:rgba(234,240,242,.07);
  --glass:rgba(234,240,242,.045);
  --glass-2:rgba(234,240,242,.08);

  --aqua:#5fe6d4;
  --aqua-deep:#2bbfae;
  --blue:#7ea6ff;
  --warn:#ffc978;

  --shell:min(1180px,calc(100vw - 8vw));
  --ease:cubic-bezier(.22,.68,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);

  --sans:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  --disp:"Instrument Serif",Georgia,"Times New Roman",serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip;scroll-padding-top:96px}
body{
  margin:0;background:var(--ink);color:var(--paper);
  font-family:var(--sans);font-size:16px;line-height:1.6;font-weight:300;
  letter-spacing:-.005em;-webkit-font-smoothing:antialiased;overflow-x:clip;
}
img,svg,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,output{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
::selection{background:var(--aqua);color:#04120f}

.mono{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:400}
.dim{color:var(--dim)}
.shell{width:var(--shell);margin-inline:auto;position:relative;z-index:1}
.shell--narrow{width:min(880px,calc(100vw - 8vw))}

/* ── scroll progress ─────────────────────────────────────── */
.progress{position:fixed;inset:0 0 auto;height:1px;z-index:90;background:none}
.progress__bar{
  display:block;height:100%;width:100%;transform:scaleX(0);transform-origin:0 50%;
  background:var(--aqua);
  box-shadow:0 0 12px rgba(95,230,212,.5);
}

/* ── the looping film ────────────────────────────────────
   Fixed to the viewport, so it sits under the whole document and
   holds still while the page scrolls over it. Nothing below sets
   an opaque background, which is what keeps it visible end to end. */
.film{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.film__video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  /* the source tops out at 720p, so only magnify by what the parallax
     actually needs — every extra percent is upscaling the browser has to do */
  transform:scale(1.028) translate3d(var(--px,0),var(--py,0),0);
  transition:transform 1.4s var(--ease);
  opacity:0;animation:filmIn 2.4s var(--ease) .15s forwards;
}
@keyframes filmIn{to{opacity:1}}

/* the constant read-veil: the plate is graded dark already, this
   just buys the last bit of contrast for white text */
.film__veil{
  position:absolute;inset:0;
  background:
    radial-gradient(135% 100% at 50% 28%,rgba(5,7,12,.06) 0%,rgba(5,7,12,.22) 55%,rgba(5,7,12,.44) 100%),
    linear-gradient(180deg,rgba(5,7,12,.16),rgba(5,7,12,.04) 45%,rgba(5,7,12,.20));
}
/* one extra stop of veil once you are past the hero and reading body
   copy — a single class flip, so the compositor animates it */
.film::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(5,7,12,.14),rgba(5,7,12,.12));
  opacity:0;transition:opacity .9s var(--ease);
}
.is-past-hero .film::after{opacity:1}

.film__scrim{position:absolute;left:0;right:0}
.film__scrim--top{top:0;height:20%;background:linear-gradient(180deg,rgba(5,7,12,.44),transparent)}
.film__scrim--bottom{bottom:0;height:20%;background:linear-gradient(0deg,rgba(5,7,12,.34),transparent)}
/* blocks of bare copy get their own soft falloff, so display type never
   lands on one of the plate's blown-out highlights. A wide radial reads as
   light falling away, not as a box — and it beats darkening the whole film. */
.head,.rows,.faq,.afternote{position:relative}
.hero__inner::before{
  content:"";position:absolute;inset:-150px -150px;z-index:-1;
  background:radial-gradient(72% 86% at 50% 50%,rgba(5,7,12,.44) 0%,rgba(5,7,12,.22) 30%,rgba(5,7,12,0) 50%);
}
.head::before,.rows::before,.faq::before,.afternote::before,.cta::after{
  /* the gradient must hit zero alpha inside its own box; a stop that is
     still opaque when the box ends shows up as a hard rule over the film */
  content:"";position:absolute;inset:-150px -160px;z-index:-1;
  background:radial-gradient(76% 88% at 50% 50%,rgba(5,7,12,.58) 0%,rgba(5,7,12,.30) 28%,rgba(5,7,12,0) 50%);
}
/* the CTA headline sits high in a tall section, so the box grows upward
   rather than moving the centre off 50% — an off-centre radial pulls the
   nearest edge in and brings the clipped line straight back */
.cta::after{
  inset:-190px -150px -60px;
  background:radial-gradient(76% 88% at 50% 50%,rgba(5,7,12,.72) 0%,rgba(5,7,12,.38) 28%,rgba(5,7,12,0) 50%);
}
.hero__title,.head__title,.cta h2{
  text-shadow:0 2px 6px rgba(4,6,10,.46),0 4px 30px rgba(4,6,10,.40);
}
/* the closing line is the one piece of display type with no card, no
   veil peak and nothing else to sit on */
.cta h2{text-shadow:0 2px 10px rgba(4,6,10,.62),0 6px 44px rgba(4,6,10,.52)}

/* text over daylight footage: a soft shadow buys the contrast a heavy
   veil used to, without pulling the plate back down into the dark */
.panel,.step,.cell,.card,.code,
.hero__inner,.ticker,.head,.rows,.faq,.cta,.afternote,.foot__inner{
  text-shadow:0 1px 2px rgba(4,6,10,.42),0 2px 20px rgba(4,6,10,.34);
}

/* ── mark: the Zeiko app-icon logo ────────────────────────── */
.mark{display:block;flex:none;width:34px;height:34px;border-radius:9px;
  box-shadow:0 2px 10px rgba(0,0,0,.32);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
a:hover .mark{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.42)}

/* ── nav ─────────────────────────────────────────────────── */
.nav{
  position:fixed;top:14px;left:50%;transform:translateX(-50%);z-index:70;
  width:var(--shell);display:flex;align-items:center;gap:18px;
  opacity:0;animation:navIn 1s var(--ease-out) .1s forwards;
}
@keyframes navIn{from{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%,0)}}

.nav__brand{display:flex;align-items:center;gap:9px;font-size:17px;letter-spacing:-.02em}
.nav__word{font-family:var(--disp);font-size:21px;line-height:1}

.nav__links{
  margin-inline:auto;display:flex;gap:4px;padding:5px;border-radius:999px;
  background:rgba(10,14,22,.5);border:1px solid var(--line-soft);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.nav__links a{
  position:relative;padding:7px 15px;border-radius:999px;font-size:13.5px;color:var(--dim);
  transition:color .35s var(--ease),background .35s var(--ease);
}
.nav__links a:hover{color:var(--paper);background:var(--glass)}
.nav__links a.is-on{color:var(--paper);background:var(--glass-2)}

.nav__end{display:flex;align-items:center;gap:8px}
.icon-btn{
  display:grid;place-items:center;width:34px;height:34px;border-radius:999px;
  border:1px solid var(--line-soft);background:rgba(10,14,22,.5);color:var(--dim);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  transition:color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease);
}
.icon-btn:hover{color:var(--paper);border-color:var(--line);transform:translateY(-1px)}

/* ── buttons ─────────────────────────────────────────────── */
.btn{
  position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;
  gap:8px;height:38px;padding:0 20px;border-radius:999px;font-size:13.5px;font-weight:500;
  letter-spacing:-.01em;white-space:nowrap;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),opacity .3s var(--ease);
}
.btn>span{position:relative;z-index:1}
.btn::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.5) 50%,transparent 70%);
  transform:translateX(-130%);transition:transform .85s var(--ease);
}
.btn:hover::after{transform:translateX(130%)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}

.btn--light{background:var(--paper);color:#06090f;box-shadow:0 6px 24px rgba(0,0,0,.4)}
.btn--light:hover{box-shadow:0 10px 34px rgba(0,0,0,.5)}
.btn--primary{
  height:46px;padding:0 26px;font-size:14.5px;color:#06090f;
  background:var(--paper);
  box-shadow:0 8px 28px rgba(0,0,0,.42);
}
.btn--primary:hover{box-shadow:0 14px 40px rgba(0,0,0,.52)}

/* the white sheen is invisible on a light button — darken it there */
.btn--light::after,.btn--primary::after{
  background:linear-gradient(105deg,transparent 30%,rgba(0,0,0,.09) 50%,transparent 70%);
}
.btn--ghost{height:46px;padding:0 26px;font-size:14.5px;border:1px solid var(--line);color:var(--paper)}
.btn--ghost:hover{background:var(--glass);border-color:var(--faint)}
.btn--block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none;transform:none}

/* ── hero ────────────────────────────────────────────────── */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:center;padding:128px 0 0;
}
.hero__inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:22px}

[data-enter]{opacity:0;transform:translateY(14px);transition:opacity 1s var(--ease-out),transform 1s var(--ease-out)}
.is-ready [data-enter]{opacity:1;transform:none}
.is-ready [data-enter="5"]{transition-delay:.86s}
.is-ready [data-enter="6"]{transition-delay:.98s}

@keyframes ping{
  0%{box-shadow:0 0 0 0 rgba(95,230,212,.6)}
  70%{box-shadow:0 0 0 7px rgba(95,230,212,0)}
  100%{box-shadow:0 0 0 0 rgba(95,230,212,0)}
}

.hero__title{
  margin:6px 0 0;font-family:var(--disp);font-weight:400;
  font-size:clamp(42px,7.4vw,88px);line-height:1.03;letter-spacing:-.018em;
}
.hero__title em{font-style:italic;color:#fff}
.line{display:block;overflow:hidden;padding-bottom:.06em}
.line>span{display:block;transform:translateY(112%);transition:transform 1.15s var(--ease-out)}
.is-ready .line>span{transform:none}
.is-ready [data-enter="2"] span{transition-delay:.30s}
.is-ready [data-enter="3"] span{transition-delay:.42s}
.is-ready [data-enter="4"] span{transition-delay:.54s}
[data-enter="2"],[data-enter="3"],[data-enter="4"]{opacity:1;transform:none}

.hero__sub{margin:0;max-width:58ch;font-size:clamp(14.5px,1.5vw,17px);color:var(--dim)}

/* ── ticker ──────────────────────────────────────────────── */
.ticker{
  margin-top:auto;overflow:hidden;padding:13px 0;position:relative;z-index:1;
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.ticker__track{display:flex;align-items:center;gap:26px;width:max-content;animation:roll 46s linear infinite}
.ticker__track:hover{animation-play-state:paused}
.ticker__track .mono{color:var(--dimmer);white-space:nowrap}
.ticker .dot{width:3px;height:3px;border-radius:50%;background:var(--aqua);opacity:.6;flex:none}
@keyframes roll{to{transform:translateX(-50%)}}

/* ── reveal ──────────────────────────────────────────────── */
[data-reveal]{
  opacity:0;transform:translateY(20px);
  transition:opacity .85s var(--ease-out),transform .85s var(--ease-out);
  transition-delay:calc(var(--i,0) * 80ms);
}
[data-reveal].is-in{opacity:1;transform:none}

/* ── section furniture ───────────────────────────────────── */
.band{position:relative;padding:clamp(84px,11vw,150px) 0;z-index:1}
.band--mint{background:linear-gradient(180deg,transparent,rgba(5,7,12,.34) 18%,rgba(5,7,12,.34) 82%,transparent)}

.head{max-width:74ch;margin-bottom:clamp(42px,5vw,68px)}
.head__idx{margin:0 0 18px;color:var(--aqua);letter-spacing:.24em}
.head__title{
  margin:0 0 18px;font-family:var(--disp);font-weight:400;
  font-size:clamp(32px,4.6vw,54px);line-height:1.08;letter-spacing:-.015em;
}
.head__lead{margin:0;font-size:clamp(15px,1.5vw,17.5px);color:var(--dim);max-width:62ch}

/* ── thesis ──────────────────────────────────────────────── */
.split{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:860px){.split{grid-template-columns:1fr 1fr;gap:20px}}

.panel{
  position:relative;overflow:hidden;padding:28px;border:1px solid var(--line);
  border-radius:16px;background:transparent;
  transition:border-color .5s var(--ease),background .5s var(--ease),transform .5s var(--ease);
}
.panel::after{
  content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;opacity:0;
  background:radial-gradient(420px 260px at var(--mx,50%) var(--my,0%),rgba(95,230,212,.10),transparent 70%);
  transition:opacity .5s var(--ease);
}
.panel:hover{border-color:var(--faint);background:rgba(234,240,242,.05);transform:translateY(-3px)}
.panel:hover::after{opacity:1}
.panel__tag{margin:0 0 20px;color:var(--dimmer)}
.panel__foot{margin:22px 0 0;color:var(--dimmer);font-size:14px}

.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.list li{position:relative;padding-left:26px;font-size:15.5px;color:var(--paper)}
.list li::before{
  position:absolute;left:0;top:.05em;font-family:var(--mono);font-size:13px;
}
.list--no li::before{content:"—";color:var(--dimmer)}
.list--yes li::before{content:"+";color:var(--aqua)}

/* ── steps ───────────────────────────────────────────────── */
.steps{
  list-style:none;margin:0 0 20px;padding:0;display:grid;gap:16px;
  grid-template-columns:repeat(auto-fit,minmax(228px,1fr));
}
.step{
  position:relative;padding:26px 22px;border:1px solid var(--line);border-radius:14px;
  background:transparent;
  transition:border-color .5s var(--ease),transform .5s var(--ease),background .5s var(--ease);
}
.step:hover{border-color:var(--faint);transform:translateY(-4px);background:rgba(234,240,242,.05)}
.step__n{
  display:grid;place-items:center;width:26px;height:26px;border-radius:8px;
  background:rgba(95,230,212,.12);color:var(--aqua);font-size:11px;letter-spacing:0;
}
.step h3{margin:16px 0 8px;font-size:19px;font-weight:400;font-family:var(--disp);letter-spacing:-.01em}
.step code{
  display:inline-block;font-family:var(--mono);font-size:11px;color:var(--blue);
  background:rgba(126,166,255,.10);padding:3px 8px;border-radius:6px;letter-spacing:.01em;
}
.step p{margin:14px 0 0;font-size:14.5px;color:var(--dim)}

.cells{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cell{
  padding:22px;border:1px solid var(--line);border-radius:14px;background:transparent;
  transition:background .5s var(--ease),border-color .5s var(--ease);
}
.cell:hover{background:rgba(234,240,242,.05);border-color:var(--faint)}
.cell h4{margin:0 0 7px;font-size:14.5px;font-weight:500;letter-spacing:-.01em}
.cell p{margin:0;font-size:13.5px;color:var(--dimmer)}

/* ── mint app ────────────────────────────────────────────── */
.app{display:grid;gap:18px;grid-template-columns:1fr;margin-bottom:22px}
@media (min-width:940px){.app{grid-template-columns:1.05fr .95fr;gap:20px}}

.card{
  padding:24px;border:1px solid var(--line);border-radius:18px;
  background:transparent;
}
.card--stats{display:flex;flex-direction:column;gap:2px;padding:8px 24px 16px}

.tabs{position:relative;display:flex;gap:0;padding:4px;border-radius:999px;
  background:rgba(234,240,242,.05);margin-bottom:20px}
.tabs__ink{
  position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;
  background:var(--glass-2);transition:transform .5s var(--ease);
}
.tabs__btn{
  position:relative;z-index:1;flex:1;height:34px;border-radius:999px;font-size:13.5px;
  color:var(--dimmer);transition:color .4s var(--ease);
}
.tabs__btn.is-on{color:var(--paper)}

.field{padding:16px 18px;border:1px solid var(--line-soft);border-radius:14px;background:rgba(234,240,242,.03);
  transition:border-color .4s var(--ease)}
.field:focus-within{border-color:rgba(95,230,212,.4)}
.field--out{background:transparent}
.field__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.field__top .mono{color:var(--dimmer)}
.field__top b{color:var(--dim);font-weight:400}
.field__row{display:flex;align-items:center;gap:10px}
.field__row input,.field__row output{
  flex:1;min-width:0;border:0;background:none;outline:none;
  font-size:clamp(24px,3.4vw,30px);font-weight:300;letter-spacing:-.02em;
}
.field__row input::placeholder{color:var(--faint)}
.field__row output{color:var(--dim)}
.field__link{display:grid;place-items:center;height:26px;color:var(--dimmer)}

.pill{
  display:inline-flex;align-items:center;height:28px;padding:0 11px;border-radius:999px;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line-soft);background:var(--glass);color:var(--dim);
  transition:background .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease);
}
button.pill:hover{background:var(--glass-2);color:var(--paper);border-color:var(--line)}
.pill--max{color:var(--aqua)}
.pill--asset{background:rgba(126,166,255,.10);color:var(--paper);border-color:transparent}

.card__note{margin:12px 0 0;text-align:center;color:var(--dimmer);letter-spacing:.08em}
.card__tx{
  display:block;margin:8px 0 0;text-align:center;color:var(--aqua);
  letter-spacing:.06em;text-transform:none;text-decoration:underline;
  text-underline-offset:3px;opacity:.9;
}
.card__tx:hover{opacity:1}
.btn--block{margin-top:16px}

.stat{position:relative;padding:15px 0}
.stat--hero{padding:22px 0 18px}
.stat__k{margin:0 0 6px;color:var(--dimmer)}
.stat__v{margin:0;font-size:16px;font-weight:400;letter-spacing:-.01em}
.stat--hero .stat__v{font-size:clamp(26px,3.2vw,34px);font-weight:300;letter-spacing:-.025em}
.stat--hero .stat__v b{font-weight:300;font-variant-numeric:tabular-nums}
.stat__v b{font-weight:500;font-variant-numeric:tabular-nums}
.stat__u{font-size:12.5px;color:var(--dimmer);letter-spacing:0}
.stat__pulse{
  position:absolute;right:0;top:26px;width:6px;height:6px;border-radius:50%;
  background:var(--aqua);animation:ping 2.4s var(--ease) infinite;
}
.stat.is-tick .stat__v b{animation:tick .6s var(--ease)}
@keyframes tick{
  0%{color:var(--paper)}
  30%{color:var(--aqua);transform:translateY(-1px)}
  100%{color:var(--paper)}
}

/* ── code ────────────────────────────────────────────────── */
.code{margin:0 0 22px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:transparent}
.code figcaption{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:12px 16px;background:rgba(234,240,242,.05);
}
.code figcaption .mono{color:var(--dimmer);text-transform:none;letter-spacing:.04em}
.code pre{margin:0;padding:20px 18px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.code code{font-family:var(--mono);font-size:12.5px;line-height:1.72;color:#cdd8de;white-space:pre}
.code .c{color:rgba(234,240,242,.34);font-style:italic}
.code .k{color:var(--blue)}
.code .f{color:var(--aqua)}
.code .t{color:#b79bff}
.code .n{color:#ffc978}
.code .s{color:#8fdca0}

.afternote{margin:0;max-width:78ch;color:var(--dim);font-size:15px}

/* ── status rows ─────────────────────────────────────────── */
.rows{list-style:none;margin:0;padding:0}
.row{
  display:grid;gap:6px 18px;padding:18px 4px;border-radius:12px;
  grid-template-columns:1fr;align-items:center;transition:background .45s var(--ease),padding-left .45s var(--ease);
}
@media (min-width:820px){.row{grid-template-columns:180px 150px 1fr;gap:22px}}
.row:hover{background:rgba(234,240,242,.025);padding-left:12px}
.row__k{font-size:15.5px;letter-spacing:-.01em}
.row__v{color:var(--dim);font-size:14.5px}
.row__v code{font-size:11px;color:var(--blue);background:rgba(126,166,255,.10);padding:2px 6px;border-radius:5px}
.badge{
  justify-self:start;padding:5px 11px;border-radius:999px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);color:var(--dim);
}
.badge--live{background:rgba(95,230,212,.11);border-color:transparent;color:var(--aqua)}
.badge--warn{background:rgba(255,201,120,.10);border-color:transparent;color:var(--warn)}

/* ── faq ─────────────────────────────────────────────────── */
.faq details+details{margin-top:2px}
.faq summary{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px 4px;cursor:pointer;list-style:none;font-size:clamp(16px,1.9vw,19px);
  letter-spacing:-.012em;transition:color .4s var(--ease),padding-left .4s var(--ease);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:#fff;padding-left:10px}
.faq summary i{
  position:relative;flex:none;width:14px;height:14px;transition:transform .5s var(--ease)
}
.faq summary i::before,.faq summary i::after{
  content:"";position:absolute;inset:50% 0 auto;height:1px;background:var(--dim);transform:translateY(-50%);
}
.faq summary i::after{transform:translateY(-50%) rotate(90deg);transition:opacity .4s var(--ease)}
.faq details[open] summary i{transform:rotate(180deg)}
.faq details[open] summary i::after{opacity:0}
.faq__body{overflow:hidden;max-height:0;transition:max-height .55s var(--ease),opacity .45s var(--ease);opacity:0}
.faq details[open] .faq__body{opacity:1}
.faq__body p{margin:0;padding:0 4px 26px;max-width:70ch;color:var(--dim);font-size:15.5px}
.faq__body code{font-size:11.5px;color:var(--blue);background:rgba(126,166,255,.10);padding:2px 6px;border-radius:5px}

/* ── cta ─────────────────────────────────────────────────── */
.cta{position:relative;z-index:1;padding:clamp(90px,12vw,160px) 0;text-align:center}
.cta h2{
  margin:0 0 30px;font-family:var(--disp);font-weight:400;
  font-size:clamp(34px,5.6vw,66px);line-height:1.06;letter-spacing:-.018em;
}
.cta h2 em{font-style:italic;color:var(--aqua)}
.cta__acts{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* ── footer ──────────────────────────────────────────────── */
.foot{position:relative;z-index:1;padding:40px 0 46px;background:rgba(5,7,12,.46)}
.foot__inner{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px}
.foot__brand{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:20px}
.foot__brand .mark{width:30px;height:30px}
.foot__links{display:flex;gap:18px;flex-wrap:wrap}
.foot__links a{font-size:13.5px;color:var(--dimmer);transition:color .35s var(--ease)}
.foot__links a:hover{color:var(--paper)}
.foot__note{flex:1 1 320px;margin:0;text-align:right;color:var(--dimmer);letter-spacing:.06em;line-height:1.8}

/* ── small screens ───────────────────────────────────────── */
@media (max-width:760px){
  .nav{gap:10px}
  .nav__links{display:none}
  .foot__note{text-align:left}
  .hero{padding-top:104px}
}

/* ── motion off ──────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  [data-reveal],[data-enter]{opacity:1!important;transform:none!important}
  .line>span{transform:none!important}
  .film__video{animation:none;opacity:1}
}
