/* Vorani marketing layout. Tokens, type, buttons, cards, chips, reveals and reduced motion live in royal.css.
   Animate only transform / opacity / clip-path. Loops sit inside [data-loop] so motion.js pauses them off-screen. */

html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{min-width:320px}
img,svg{display:block;max-width:100%}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:var(--gold);color:var(--on-gold);padding:14px 18px;border-radius:var(--r-sm);font-weight:700;text-decoration:none}
.skip:focus{top:12px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.anchor{position:relative;top:-8px;display:block;height:0}
.fine{color:var(--ivory-3);font-size:var(--fs-small)}
.btn{box-sizing:border-box}
.btn-sm{min-height:44px;padding:0 18px;font-size:15px}
.btn-lg{min-height:56px;padding:0 30px;font-size:17px}
.tl{position:relative;display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--gold-hi);font-weight:600;text-decoration:underline;text-decoration-color:rgba(241,215,142,.35);text-underline-offset:5px}
.tl::after{content:"";position:absolute;left:0;right:0;bottom:9px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform var(--d-ui) var(--ease-out)}
.tl:hover::after{transform:scaleX(1)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;z-index:50}
.site-header::before{content:"";position:absolute;inset:0;background:rgba(11,10,34,.8);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);opacity:0;transition:opacity var(--d-ui) var(--ease-out)}
.site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--line-gold) 30%,var(--line-gold) 70%,transparent);opacity:0;transition:opacity var(--d-ui) var(--ease-out)}
.site-header.is-stuck::before,.site-header.is-stuck::after{opacity:1}
.bar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;font:600 24px/1 var(--display);letter-spacing:.16em;color:var(--ivory);text-decoration:none}
.brand::before{content:"";width:9px;height:9px;background:var(--gold);transform:rotate(45deg);transition:transform var(--d-ui) var(--ease-out)}
.brand:hover::before{transform:rotate(225deg)}
.bar-end{display:flex;align-items:center;gap:8px}
.site-nav{display:flex;gap:2px}
.site-nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;color:var(--ivory-2);font-weight:500;font-size:15px;text-decoration:none;transition:color var(--d-hover)}
.site-nav a::after{content:"";position:absolute;left:14px;right:14px;bottom:8px;height:1px;background:var(--gold);transform:scaleX(0);transition:transform var(--d-ui) var(--ease-out)}
.site-nav a:hover{color:var(--ivory)}
.site-nav a:hover::after,.site-nav a[aria-current]::after{transform:scaleX(1)}
.site-nav a[aria-current]{color:var(--ivory)}
@media (max-width:719px){.site-nav{display:none}}

/* ---------- Hero ---------- */
.hero{position:relative;overflow:clip;margin-top:-72px;padding:calc(72px + clamp(28px,6vh,80px)) 0 clamp(56px,9vh,104px);border-bottom:1px solid var(--line)}
.sentinel{position:absolute;top:96px;left:0;height:1px;width:1px}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:clamp(24px,4vw,72px)}
.hero-copy{display:grid;gap:24px;justify-items:start}
.hero h1{font-size:clamp(44px,6.1vw,90px);max-width:12ch}
.hero h1 em{font-style:italic;font-weight:500;padding-right:.06em}
.hero .lede{max-width:34ch}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 16px;border:1px solid var(--line-gold);border-radius:var(--r-pill);background:rgba(216,178,92,.07);color:var(--gold-hi);font:600 14px/1.2 var(--sans)}
.pill::before{content:"";width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
.cta-row{display:grid;gap:6px;justify-items:start;margin-top:4px}

/* Orbit: 100 specialists on the outer ring, the 3 red-teamers on the inner one. */
.orbit-fig{margin:0;display:grid;gap:18px;justify-items:center}
.orbit{position:relative;width:min(520px,100%);aspect-ratio:1;container-type:inline-size}
.orbit svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.orbit-glow{position:absolute;inset:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(110,63,216,.55),rgba(46,76,201,.18) 60%,transparent);animation:breathe-glow 8s var(--ease-io) infinite alternate}
@keyframes breathe-glow{from{opacity:.5}to{opacity:.85}}
.o-hair{stroke:var(--gold);stroke-opacity:.16}
.o-dots{stroke:var(--ivory);stroke-opacity:.75}
.o-dash{stroke:var(--gold);stroke-opacity:.34}
.o-team{fill:var(--gold-hi)}
.o-turn{transform-origin:200px 200px;animation:spin 90s linear infinite}
.o-team-g{transform-origin:200px 200px;animation:spin 40s linear infinite reverse}
.o-crest{transform-origin:200px 200px;animation:spin 150s linear infinite}
.medal{position:absolute;left:50%;top:50%;width:44%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-content:center;justify-items:center;gap:.6cqi;text-align:center;
  background:radial-gradient(circle at 50% 30%,var(--surface-3),var(--surface-1) 70%);box-shadow:inset 0 0 0 1px rgba(216,178,92,.45),inset 0 0 0 6px rgba(11,10,34,.6),inset 0 0 0 7px rgba(216,178,92,.18),0 20px 60px -20px rgba(3,2,14,.9)}
.medal .m-h{font:600 max(11px,2.7cqi)/1.2 var(--sans);color:var(--ivory-2)}
.medal b{font:600 max(30px,11cqi)/1 var(--display);color:var(--gold-hi)}
.medal .m-l{font:500 max(12px,2.9cqi)/1.2 var(--sans);color:var(--ivory)}
.medal small{margin-top:.8cqi;font:700 max(12px,2.4cqi)/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ivory-3)}
.orbit-fig figcaption{width:min(300px,100%);text-align:center;color:var(--ivory-2);font-size:var(--fs-small)}
@media (max-width:899px){
  .hero .wrap{grid-template-columns:1fr}
  .orbit{width:min(360px,86vw)}
  .orbit-fig{margin-top:8px}
}
@media (max-width:560px){
  .cta-row,.cta-row .btn{width:100%}
  .cta-row{justify-items:center}
}

/* ---------- Sections ---------- */
.sec{position:relative;padding:clamp(72px,11vw,128px) 0}
.sec-head{display:grid;gap:16px;max-width:760px;margin-bottom:clamp(36px,5vw,56px)}
.sec-head .lede{max-width:44ch}

/* How it works */
.steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.steps::before{content:"";position:absolute;left:32px;right:calc((100% - 2 * clamp(20px,3vw,40px)) / 3 - 32px);top:31px;height:1px;background:linear-gradient(90deg,var(--gold),rgba(216,178,92,.25));transform-origin:0 50%}
.steps li{position:relative;display:grid;gap:10px;align-content:start}
.step-n{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;margin-bottom:10px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-gold),0 0 0 8px var(--bg);font:600 32px/1 var(--display);color:var(--purple-ink)}
.steps p{color:var(--ivory-2);max-width:30ch}
.motion .steps::before{transform:scaleX(0);transition:transform 1100ms var(--ease-out) 150ms}
.motion .steps .step-n{opacity:0;transform:scale(.8);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-back);transition-delay:calc(var(--k) * 180ms + 200ms)}
.motion .steps.is-in::before{transform:none}
.motion .steps.is-in .step-n{opacity:1;transform:none}
@media (max-width:759px){
  .steps{grid-template-columns:1fr;gap:28px}
  .steps::before{left:31px;right:auto;top:32px;bottom:32px;width:1px;height:auto;background:linear-gradient(180deg,var(--gold),rgba(216,178,92,.25));transform-origin:50% 0}
  .motion .steps::before{transform:scaleY(0)}
  .steps li{grid-template-columns:64px 1fr;column-gap:20px;row-gap:4px}
  .step-n{grid-row:span 2;margin:0}
  .steps h3{align-self:end}
}

/* What you get */
.docs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-4)}
.doc{display:grid;gap:10px;align-content:start}
.doc p{color:var(--ivory-2);font-size:16px}
.ico{box-sizing:border-box;width:44px;height:44px;margin-bottom:10px;padding:10px;border-radius:12px;background:rgba(110,63,216,.16);box-shadow:inset 0 0 0 1px rgba(187,166,255,.22);overflow:visible}
.ico *{fill:none;stroke:var(--gold-hi);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}
.doc:hover .i-lid{animation:blink 420ms var(--ease-io)}
@keyframes blink{40%{transform:scaleY(.1)}}
.i-needle{transition:transform 500ms var(--ease-back)}
.doc:hover .i-needle{transform:rotate(20deg)}
.i-page{transform-origin:50% 0}
.doc:hover .i-page{animation:flip 520ms var(--ease-io)}
@keyframes flip{45%{transform:scaleY(.15)}}
.i-clap{transform-origin:0 100%;transition:transform 360ms var(--ease-back)}
.doc:hover .i-clap{transform:rotate(-16deg)}
.get-foot{display:flex;flex-wrap:wrap;align-items:center;gap:6px 22px;margin-top:28px;color:var(--ivory-2)}
.get-foot .key{display:inline-flex;align-items:center;gap:10px}
.get-foot .key::before{content:"";width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
@media (max-width:1099px){.docs{grid-template-columns:1fr 1fr}}
@media (max-width:599px){
  .docs{grid-template-columns:1fr;gap:12px}
  .doc{grid-template-columns:44px 1fr;column-gap:16px;row-gap:2px;padding:20px}
  .doc .ico{grid-row:span 2;margin:0}
  .doc h3{font-size:20px}
}

/* Why trust it */
.trust{background:radial-gradient(50% 60% at 85% 40%,rgba(110,63,216,.16),transparent 70%),radial-gradient(40% 50% at 5% 80%,rgba(46,76,201,.12),transparent 70%)}
.trust-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,72px);align-items:center}
.trust-copy{display:grid;gap:20px;align-content:start}
.promises{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.promises li{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:rgba(255,255,255,.02);font-weight:600;font-size:15px}
.promises li::before{content:"";width:12px;height:7px;border:solid var(--emerald-ink);border-width:0 0 2px 2px;transform:translateY(-2px) rotate(-45deg)}
.proof{overflow:clip;container-type:inline-size;display:grid;gap:20px;margin:0}
.proof-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.proof-label{font-size:14px;font-weight:600;color:var(--ivory-3)}
.claim{position:relative;padding:18px 20px;border-radius:var(--r-md);background:rgba(6,5,26,.55);box-shadow:inset 0 0 0 1px var(--line)}
.claim q{display:block;quotes:none;font:italic 500 clamp(22px,6.4cqi,32px)/1.2 var(--display);font-variant-numeric:lining-nums;color:var(--ivory)}
.claim q span{position:relative;display:block;width:fit-content}
.claim q span::after{content:"";position:absolute;left:-4px;right:-4px;top:52%;height:2px;border-radius:2px;background:var(--crimson-ink);clip-path:inset(0 0 0 0);transition:clip-path 420ms var(--ease-out)}
.claim q span+span::after{transition-delay:160ms}
.claim .who{display:block;margin-bottom:8px;font-size:13px;font-weight:600;color:var(--ivory-3)}
.stamp{position:absolute;right:14px;top:-16px;padding:8px 14px;border:2px solid var(--crimson-ink);border-radius:8px;font:800 clamp(15px,3.6cqi,20px)/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--crimson-ink);background:rgba(180,45,69,.14);transform:rotate(-6deg);transition:opacity 200ms,transform 280ms cubic-bezier(.2,.8,.2,1)}
.plot{position:relative;height:clamp(150px,36cqi,200px);margin-top:30px}
@container (min-width:480px){.stamp{top:50%;margin-top:-20px;right:22px}}
.bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:clamp(3px,1.2cqi,8px);border-bottom:1px solid var(--line-strong)}
.bars i{flex:1;height:100%;border-radius:4px 4px 0 0;background:linear-gradient(180deg,rgba(187,166,255,.75),rgba(110,63,216,.45));transform-origin:50% 100%;transform:scaleY(var(--v));transition:transform 700ms var(--ease-out);transition-delay:calc(var(--i) * 35ms)}
.bars i.out{position:relative;background:linear-gradient(180deg,var(--crimson-ink),var(--gold) 70%);transition:transform 900ms var(--ease-io)}
.cap{position:absolute;left:calc(100% * 10.5 / 16);top:-4px;transform:translate(-50%,-100%);font-size:12px;font-weight:700;color:var(--crimson-ink);transition:opacity 300ms}
.ln{position:absolute;inset:0;pointer-events:none;transform:translateY(calc((1 - var(--f)) * 100%));transition:transform 900ms var(--ease-io),opacity 400ms}
.ln::before{content:"";position:absolute;left:0;right:0;top:0;border-top:2px dashed}
.ln span{position:absolute;left:0;top:-6px;transform:translateY(-100%);padding:2px 8px;border-radius:6px;background:rgba(6,5,26,.85);font-size:13px;font-weight:700;white-space:nowrap}
.ln-med{--f:var(--fm,.2875);color:var(--blue-ink)}
.ln-med span{left:auto;right:0;top:8px;transform:none}
@container (max-width:479px){.ln-med span{right:auto;left:0}}
.ln-avg{--f:var(--fa,.5133);color:var(--crimson-ink)}
.verdict{display:flex;gap:12px;align-items:flex-start;font-weight:500;color:var(--ivory);transition:opacity 500ms var(--ease-out),transform 500ms var(--ease-out)}
.verdict::before{content:"";flex:none;width:8px;height:8px;margin-top:9px;background:var(--gold);transform:rotate(45deg)}
/* Armed: the demo is waiting to play. Without JS the final frame above is what shows. */
.proof.is-armed .bars i{transform:scaleY(0)}
.proof.is-armed.st-1 .bars i{transform:scaleY(var(--v))}
.proof.is-armed:not(.st-2) .bars i.out{transform:scaleY(var(--fm,.2875))}
.proof.is-armed:not(.st-1) .bars i.out{transform:scaleY(0)}
.proof.is-armed:not(.st-2) .cap{opacity:0}
.proof.is-armed.st-2 .cap{transition-delay:650ms}
.proof.is-armed:not(.st-2) .ln-avg{--f:var(--fm,.2875);opacity:0}
.proof.is-armed:not(.st-1) .ln-med{opacity:0}
.proof.is-armed:not(.st-3) .claim q span::after{clip-path:inset(0 100% 0 0)}
.proof.is-armed:not(.st-4) .stamp{opacity:0;transform:rotate(-14deg) scale(2.2)}
.proof.st-4 .claim{animation:nudge 200ms 120ms}
@keyframes nudge{50%{transform:translateY(4px)}}
.proof.is-armed:not(.st-5) .verdict{opacity:0;transform:translateY(8px)}
.proof.no-tx *,.proof.no-tx *::after{transition:none!important}
@media (max-width:959px){.trust-grid{grid-template-columns:1fr}}

/* How the beta works */
.perks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4);align-items:stretch}
.perk{display:flex;flex-direction:column;gap:12px}
.perk h3{font-size:24px}
.perk p{color:var(--ivory-2)}
.perk-n{font:600 var(--fs-stat)/1 var(--display);color:var(--gold-hi)}
.perk.is-featured{background:linear-gradient(180deg,var(--surface-3),var(--surface-2) 45%,var(--surface-1))}
.halo{position:absolute;inset:-1px;z-index:-1;border-radius:inherit;padding:1.5px;overflow:hidden;pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.halo i{position:absolute;left:50%;top:50%;width:160%;aspect-ratio:1;margin:-80% 0 0 -80%;background:conic-gradient(from 0deg,transparent 0 62%,rgba(216,178,92,.2) 74%,var(--gold-hi) 86%,rgba(216,178,92,.2) 94%,transparent);animation:spin 6s linear infinite}
@media (max-width:899px){.perks{grid-template-columns:1fr;max-width:520px}}

/* Apply + FAQ */
.book{background:radial-gradient(60% 50% at 20% 0%,rgba(110,63,216,.14),transparent 70%)}
.book-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"head form" "faq form";gap:clamp(28px,4vw,56px) clamp(32px,5vw,72px);align-items:start}
.book-head{grid-area:head;display:grid;gap:16px}
.book-form{grid-area:form;display:grid;gap:20px}
.faq{grid-area:faq}
.fld{display:grid;gap:8px}
.fld label{font-weight:600;font-size:15px;color:var(--ivory);transition:transform var(--d-hover) var(--ease-out),color var(--d-hover);transform-origin:0 50%}
.fld:focus-within label{transform:translateY(-2px);color:var(--gold-hi)}
.ctl{position:relative;display:block}
.ctl::after{content:"";position:absolute;left:10px;right:10px;bottom:0;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--d-ui) var(--ease-out)}
.ctl:focus-within::after{transform:scaleX(1)}
.ctl::before{content:"";position:absolute;right:16px;top:50%;width:12px;height:7px;margin-top:-6px;border:solid var(--emerald-ink);border-width:0 0 2px 2px;transform:rotate(-45deg);opacity:0;transition:opacity var(--d-ui)}
.ctl:has(input:user-valid)::before{opacity:1}
.input{width:100%;min-height:52px;box-sizing:border-box;padding:0 44px 0 16px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:rgba(6,5,26,.5);color:var(--ivory);font:500 17px/1.2 var(--sans);transition:border-color var(--d-hover),background-color var(--d-hover)}
.input::placeholder{color:var(--ivory-3)}
.input:hover{border-color:rgba(205,198,221,.75)}
.input:focus{outline:none;border-color:var(--gold-hi);background:rgba(6,5,26,.75)}
.input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.input:user-invalid{border-color:var(--crimson-ink)}
select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23F1D78E' stroke-width='1.8'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
select.input option{background:var(--surface-1);color:var(--ivory)}
textarea.input{display:block;min-height:128px;padding:14px 16px;line-height:1.5;resize:vertical}
.fld .opt{font-weight:500;color:var(--ivory-3)}
.help{font-size:14px;color:var(--ivory-3)}
.check{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;font-size:15px;color:var(--ivory-2);cursor:pointer}
.check input{appearance:none;width:22px;height:22px;margin:1px 0 0;border:1.5px solid var(--line-strong);border-radius:6px;background:rgba(6,5,26,.5);display:grid;place-content:center;cursor:pointer;transition:background-color var(--d-hover),border-color var(--d-hover)}
.check input:hover{border-color:rgba(205,198,221,.75)}
.check input:checked{background:var(--gold);border-color:var(--gold)}
.check input:checked::after{content:"";width:10px;height:6px;border:solid var(--on-gold);border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg)}
.check input:user-invalid{border-color:var(--crimson-ink)}
.book-form .btn{width:100%}
.form-note{text-align:center;margin-top:-6px}
.faq h3{margin-bottom:12px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:8px 0;cursor:pointer;list-style:none;font-weight:600;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:9px;height:9px;margin-right:6px;border:solid var(--gold);border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg);transition:transform var(--d-ui) var(--ease-out)}
.faq details[open] summary::after{transform:translateY(2px) rotate(225deg)}
.faq details p{padding:0 0 18px;color:var(--ivory-2);max-width:56ch}
.faq details[open] p{animation:hero-fade 420ms var(--ease-out)}
@media (max-width:959px){.book-grid{grid-template-columns:1fr;grid-template-areas:"head" "form" "faq"}}

/* ---------- Footer ---------- */
.site-footer{background:var(--bg-0);border-top:1px solid var(--line);padding:56px 0 48px;color:var(--ivory-2);font-size:15px}
.foot{display:grid;gap:14px}
.foot nav{display:flex;flex-wrap:wrap;gap:0 4px;margin:6px 0 6px -12px}
.foot nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;color:var(--ivory-2);text-decoration:none}
.foot nav a:hover{color:var(--gold-hi)}
.foot .legal{color:var(--ivory-3);font-size:14px}

/* ---------- Subpages ---------- */
.page .site-header::before,.page .site-header::after{opacity:1}
.page-main{position:relative;isolation:isolate;padding:clamp(56px,9vw,104px) 0 clamp(72px,10vw,120px)}
.page-main::before{content:"";position:absolute;inset:0 0 auto;height:520px;z-index:-1;background:radial-gradient(50% 70% at 20% 0%,rgba(110,63,216,.28),transparent 70%),radial-gradient(40% 60% at 90% 0%,rgba(46,76,201,.2),transparent 70%)}
.legal-col{max-width:68ch}
.legal-col h1{font-size:clamp(44px,6vw,72px)}
.legal-date{margin:14px 0 8px;color:var(--ivory-3);font-size:15px}
.legal-col h2{position:relative;margin:48px 0 12px;padding-top:24px;font-size:clamp(28px,3vw,36px)}
.legal-col h2::before{content:"";position:absolute;left:0;top:0;width:64px;height:1px;background:var(--gold)}
.legal-col p{font-size:17px;line-height:1.7;color:var(--ivory-2)}
.thanks-col{max-width:720px;display:grid;gap:24px;justify-items:start}
.seal{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:rgba(31,122,90,.2);box-shadow:inset 0 0 0 1px rgba(111,221,176,.45),0 0 48px -8px rgba(111,221,176,.35)}
.seal svg{width:32px;height:32px;fill:none;stroke:var(--emerald-ink);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;animation:draw 700ms var(--ease-out) 300ms both}
@keyframes draw{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}
.track{list-style:none;margin:8px 0;padding:0;display:grid;gap:4px;width:100%}
.track li{display:flex;align-items:center;gap:16px;min-height:56px;padding:0 18px;border-radius:var(--r-md);font-weight:600;color:var(--ivory-2);background:rgba(255,255,255,.02);box-shadow:inset 0 0 0 1px var(--line);animation:hero-fade 700ms var(--ease-out) both;animation-delay:calc(var(--i) * 160ms + 700ms)}
.track li.is-done{color:var(--ivory);background:rgba(31,122,90,.12);box-shadow:inset 0 0 0 1px rgba(111,221,176,.35)}
.track .dot{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line-strong);font-size:14px;color:var(--ivory-3)}
.track .is-done .dot{background:var(--emerald);box-shadow:none;color:var(--ivory)}
.track .dot svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.thanks-ctas{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:560px){.thanks-ctas,.thanks-ctas .btn{width:100%}}

@media (prefers-reduced-motion:reduce){
  .orbit-glow,.o-turn,.o-team-g,.o-crest,.halo i,.seal svg,.track li{animation:none!important}
  .motion .steps::before,.motion .steps .step-n{transform:none;opacity:1}
}
