/* ===== engine additions on top of the NTC system ===== */
:root{--acc:#22C55E;--acc-soft:rgba(34,197,94,.12)}
[data-brand=tip]{--bk:#08071a;--s1:#0d0c24;--s2:#15133a;--paper:#F5F2EA;--acc:#E0574C;--acc-soft:rgba(224,87,76,.14);--ex:#E0574C;--serif:'Libre Caslon Text',Georgia,serif}
[data-brand=tf]{--bk:#05080d;--s1:#0a0f17;--s2:#111a26;--paper:#F2F4F6;--acc:#FFC94D;--acc-soft:rgba(255,201,77,.14);--ex:#FFC94D;--blue:#2B8AE0}
html,body{background:var(--bk)}
.serif{font-family:var(--serif,Georgia,serif);font-style:italic;font-weight:400;letter-spacing:-.02em}
.acc{color:var(--acc)}
.dots i.g{background:var(--acc);box-shadow:0 0 14px var(--acc)}
.ok{color:var(--acc)!important}
.progress{background:var(--acc);mix-blend-mode:normal}

/* nav with more links + mobile menu */
.nav .links{gap:20px}
.nav .links a{font-size:14.5px}
.nav .brand img{height:24px;width:auto;display:block}
.nav .brand .logo-dark{display:none}
.nav.onlight .brand .logo-light{display:none}.nav.onlight .brand .logo-dark{display:block}
.nav.onlight .nbtn{background:#000;color:#fff}
.menu{display:none;font-family:var(--d);font-weight:700;font-size:14px;padding:10px 16px;border-radius:999px;border:1px solid var(--line2)}
.nav.onlight .menu{border-color:rgba(0,0,0,.15)}
@media(max-width:1100px){
  .menu{display:block}.nav .nbtn{display:none}
  .nav.open{border-radius:26px;flex-wrap:wrap;background:rgba(10,10,11,.96)}
  .nav.open.onlight{background:rgba(255,255,255,.98)}
  .nav.open .links{display:flex;flex-direction:column;width:100%;gap:0;padding:8px 8px 12px;order:3}
  .nav.open .links a{padding:14px 8px;font-size:18px;border-top:1px solid var(--line)}
  .nav.open .links a.cta-m{display:block;margin-top:8px;text-align:center;border:0;border-radius:999px;background:#fff;color:#000;font-weight:700}
  .nav.onlight.open .links a.cta-m{background:#000;color:#fff}
}
.links a.cta-m{display:none}

/* hero with photo */
.hero{isolation:isolate}
.hero-bg{position:absolute;inset:-6% 0 0 0;z-index:-2;background-size:cover;background-position:right center;transform:scale(1.06);will-change:transform}
.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--bk) 0%,rgba(0,0,0,.82) 38%,rgba(0,0,0,.35) 72%,rgba(0,0,0,.55) 100%),linear-gradient(0deg,var(--bk) 0%,transparent 30%)}
[data-brand=tip] .hero-bg:after{background:linear-gradient(90deg,#08071a 0%,rgba(8,7,26,.86) 40%,rgba(8,7,26,.45) 75%,rgba(8,7,26,.7) 100%),linear-gradient(0deg,#08071a 0%,transparent 35%)}
.hero:before{z-index:-1}
.h1 .serif{font-weight:400}
.kick{font-family:var(--m);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:#C9C9CE;display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.04);backdrop-filter:blur(6px)}
.kick i{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 var(--acc);animation:pulse2 2.4s infinite}
@keyframes pulse2{0%{box-shadow:0 0 0 0 var(--acc-soft)}70%{box-shadow:0 0 0 10px rgba(0,0,0,0)}}
.sub{font-size:clamp(18px,1.6vw,21px);color:#C4C4CC}
@media(max-width:920px){.hero-bg{background-position:72% center}.hero-bg:after{background:linear-gradient(180deg,rgba(0,0,0,.55),var(--bk) 92%)}}

/* tickets: lot cards */
.tk-amt.sm{font-size:clamp(22px,2.2vw,28px);line-height:1.15}
.tk .lotimg{height:64px;margin:14px 0 2px;display:flex;align-items:center}
.tk .lotimg img{max-height:64px;width:auto;border-radius:8px}
.tk-wm.serif{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:24px;line-height:1.15;height:auto;min-height:56px;letter-spacing:-.01em}
.tk .ok.av{color:#B42318!important}

/* logos marquee */
.mi img.logo{height:30px;filter:brightness(0) invert(1);opacity:.9}
.mi b.press{font-family:var(--serif,Georgia,serif);font-style:italic;font-weight:400;font-size:24px}

/* bento extras */
.bx .lab{display:block}
.bx .note{font-family:var(--m);font-size:11px;color:var(--muted);margin-top:8px}
.bar-mini{display:grid;gap:10px;margin:14px 0 6px}
.bar-mini div{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:center;font-size:13px;color:var(--muted)}
.bar-mini s{display:block;height:12px;border-radius:9px;background:rgba(255,255,255,.12);text-decoration:none;position:relative;overflow:hidden}
.bar-mini s b{position:absolute;inset:0 auto 0 0;border-radius:9px;background:var(--acc);width:0;transition:width 1.8s var(--ease)}
.in .bar-mini s b{width:var(--w)}
.bar-mini s.bat b{background:#6b6b73}

/* lot / featured (light) */
.lot{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.sheet{background:#fbf8f0;border:1px solid rgba(0,0,0,.08);border-radius:24px;padding:22px;box-shadow:0 40px 80px -40px rgba(0,0,0,.35)}
[data-brand=tf] .sheet{background:#0d3b66;border-color:#0d3b66}
.sheet svg{display:block;width:100%;height:auto}
.lot h2{font-size:clamp(34px,4vw,60px)}
.ledger{width:100%;border-collapse:collapse;margin:26px 0 30px;font-size:16px}
.ledger th,.ledger td{text-align:left;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.1);vertical-align:top}
.ledger th{font-family:var(--m);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lmuted);font-weight:500;width:40%;padding-top:16px}
.ledger td{font-family:var(--d);font-weight:700;font-size:18px;letter-spacing:-.02em;color:var(--ink)}
.light .btn.line{border-color:rgba(0,0,0,.18);color:#000;background:transparent}.light .btn.line:hover{border-color:#000}
@media(max-width:920px){.lot{grid-template-columns:1fr}}

/* portfolio cards with an image (not a screenshot) */
.pc .pimg{aspect-ratio:16/10;background:#EDEAE2;overflow:hidden;border-bottom:1px solid var(--lline)}
.pc .pimg img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter .6s;filter:grayscale(.85)}
.pc:hover .pimg img{transform:scale(1.05);filter:none}
.pc.avail .pimg img{filter:none}
.pc .tip{font-family:var(--m);font-size:11px;letter-spacing:.1em;color:var(--lmuted);margin-top:2px}
.pc .xb.av{color:#B42318;border-color:rgba(180,35,24,.35);background:rgba(224,87,76,.08)}
.pc .xb.sold{color:#55555C;border-color:rgba(0,0,0,.15);background:rgba(0,0,0,.04)}
.pc[hidden]{display:none}
a.pc{color:inherit}

/* testimonial */
.bigq{max-width:1080px}
.bigq p{font-family:var(--serif,Georgia,serif);font-weight:400;font-size:clamp(26px,3vw,42px);line-height:1.3;letter-spacing:-.02em;color:#fff}
.bigq p:before{content:"\201C";display:block;font-size:2.6em;line-height:.5;color:var(--acc);margin-bottom:10px}
.bigq cite{display:block;margin-top:26px;font-style:normal;font-family:var(--m);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bigq cite b{color:#fff;font-weight:600}
.qrow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}
.qcard{background:linear-gradient(180deg,var(--s2),var(--s1));border:1px solid var(--line);border-radius:22px;padding:26px}
.qcard p{color:#C9C9CE;font-size:15.5px}
.qcard b{display:block;margin-top:16px;font-family:var(--d);font-size:16px}
.qcard span{font-size:13px;color:var(--muted)}
@media(max-width:920px){.qrow{grid-template-columns:1fr}}

/* founder card wide */
.founder{display:grid;grid-template-columns:380px 1fr;gap:20px}
.founder .ph{aspect-ratio:4/5;margin:0}
.founder .pp{display:flex;flex-direction:column;justify-content:center;padding:40px}
.founder .pp h3{font-size:clamp(40px,4.4vw,64px);padding:0;margin:10px 0 16px}
.founder .pp p,.founder .pp .role{padding:0}
.founder .pp ul{list-style:none;margin:20px 0 0}
.founder .pp li{padding:12px 0;border-top:1px solid var(--line);font-size:16px;color:#D4D4D8}
.founder .pp li b{color:#fff}
@media(max-width:920px){.founder{grid-template-columns:1fr}.founder .ph{aspect-ratio:1/1}}

/* race bars (dark) */
.race{display:grid;gap:14px;margin-top:10px}
.race .r{display:grid;grid-template-columns:280px 1fr;gap:22px;align-items:center}
.race .r span{font-size:16px;color:#C9C9CE;text-align:right}
.race .t{height:64px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);overflow:hidden}
.race .f{height:100%;width:0;border-radius:16px;display:flex;align-items:center;justify-content:flex-end;padding:0 20px;font-family:var(--d);font-weight:800;font-size:22px;letter-spacing:-.02em;white-space:nowrap;color:#000;background:#fff;transition:width 2s var(--ease)}
.race .f.bat{background:#3a3f48;color:#fff}
.race .f.acc{background:var(--acc)}
.race.in .f{width:var(--w)}
@media(max-width:760px){.race .r{grid-template-columns:1fr;gap:6px}.race .r span{text-align:left}.race .t{height:54px}.race .f{font-size:18px;min-width:130px}}

.mdl label.full{grid-column:1/-1}
.mdl .f-only{display:block}
.dots[data-n="50"]{grid-template-columns:repeat(10,1fr);max-width:460px}
.mi.chip{background:#fff;border-radius:12px;padding:8px 16px;height:58px;opacity:.92}
.mi.chip img{height:40px;width:auto;filter:none}
.mq-track{gap:22px}
.b-big .big{font-size:clamp(84px,9.4vw,150px)}
.big.sm{font-size:clamp(42px,4vw,62px)}
[data-brand=tip] .giant{font-size:clamp(56px,12.5vw,230px)}
.pc .pimg img{loading:auto}
.pc .pimg.pat{display:flex;flex-direction:column;justify-content:center;padding:0 22px;background:#0d3b66 linear-gradient(#1f5488 1px,transparent 1px) 0 0/22px 22px,#0d3b66;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;color:#fff}
.pc .pimg.pat b{font-family:var(--m);font-weight:600;font-size:clamp(22px,2vw,28px);color:#FFC94D;letter-spacing:-.01em}
.pc .pimg.pat span{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#cfe0f2;margin-top:6px}
.pmeta .go{color:#0A0A0A;font-family:var(--d);font-weight:700;letter-spacing:0;text-transform:none;font-size:13.5px}
[data-brand=tf] .giant{font-size:clamp(56px,13vw,240px)}
[data-brand=tf] .h1 .acc{color:#FFC94D}
.pc .pimg.pat{background-color:#0d3b66!important}
.pc .pimg.pat.pend{background-color:#3a4350!important}.pc .pimg.pat.pend b{color:#e8ecf1}
.apply{margin-top:56px;border-top:2px solid #0A0A0A;padding-top:22px}
.apply .chips{margin:14px 0 0;gap:8px}
.apply .chips span{font-family:var(--b);font-size:15px;padding:9px 14px;border:1px solid rgba(0,0,0,.15);border-radius:999px;color:#1a1a1a;background:#fff}
.light .lab{color:var(--lmuted)}
.tline{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line2)}
.tline div{padding:22px 20px 0 0;position:relative}
.tline div:before{content:"";position:absolute;top:-6px;left:0;width:11px;height:11px;border-radius:50%;background:var(--acc);box-shadow:0 0 12px var(--acc)}
.tline b{display:block;font-family:var(--d);font-weight:900;font-size:clamp(26px,2.4vw,36px);letter-spacing:-.04em;margin:8px 0 8px}
.tline span{font-size:14.5px;color:#A1A1A8;line-height:1.5;display:block}
@media(max-width:920px){.tline{grid-template-columns:1fr;border-top:0;border-left:1px solid var(--line2);padding-left:20px}.tline div{padding:0 0 24px}.tline div:before{left:-26px;top:16px}}
/* ===== Primus Volatus ===== */
.pvb{gap:12px;font-size:15px;letter-spacing:.08em}
.pvb em{font-weight:500;color:#8E8E95;margin-left:8px;letter-spacing:.06em}
.pvm{width:32px;height:32px;border-radius:9px;background:#FFC94D;color:#05080d;display:grid;place-items:center;font-family:var(--d);font-weight:900;font-size:13px;letter-spacing:0}
.nav.onlight .pvb em{color:#6B6B70}
.hero-fig{position:absolute;z-index:-1;right:4%;top:50%;transform:translateY(-48%);width:min(40vw,600px);opacity:.2;pointer-events:none;}
.hero-fig img{width:100%;height:auto}
@media(max-width:920px){.hero-fig{width:120vw;right:-30vw;opacity:.1}}
.mi b.pn{font-family:var(--m);font-weight:500;font-size:20px;letter-spacing:.02em;color:#E8ECF1}
.mi:has(b.pn){opacity:.75}
.areas{display:grid;gap:18px;margin-top:80px}
.area{display:grid;grid-template-columns:420px 1fr;gap:40px;align-items:center;background:#fff;border:1px solid var(--lline);border-radius:26px;padding:26px}
.area-fig{background:#fff;border-radius:16px;border:1px solid var(--lline);padding:18px;display:flex;flex-direction:column;align-items:center}
.area-fig img{width:100%;height:240px;object-fit:contain}
.area-fig span{font-family:var(--m);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lmuted);margin-top:10px}
.area-txt .n{font-family:var(--m);font-size:12px;color:var(--lmuted);letter-spacing:.08em}
.area-txt h3{font-size:clamp(28px,2.8vw,40px);font-weight:900;margin:10px 0 14px;color:#0A0A0A}
.area-txt p{color:#4a4a52;font-size:17px;max-width:640px}
.area-txt p.nums{margin-top:16px;font-family:var(--m);font-size:13.5px;color:#0A0A0A;line-height:1.7}
@media(max-width:920px){.area{grid-template-columns:1fr;gap:20px;padding:18px}.area-fig img{height:200px}}
.sheet.light-sheet{background:#fff;border-color:rgba(0,0,0,.08);display:flex;flex-direction:column;align-items:center}
.sheet.light-sheet img{width:100%;height:auto}
.sheet .cap{font-family:var(--m);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lmuted);margin-top:10px}
.ph .mono{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#1a2230,#0b0f16);font-family:var(--d);font-weight:900;font-size:110px;letter-spacing:-.05em;color:#FFC94D}
.inv-note{margin-top:26px;color:#A1A1A8;font-size:15.5px;max-width:860px}
[data-brand=tf] .giant{font-size:clamp(46px,10.5vw,200px)}
[data-brand=tf] .giant{font-size:clamp(40px,8.6vw,170px)}
/* ===== animated patent drawings ===== */
.dfig svg{display:block;width:100%;height:100%}
svg.draw path{stroke-dasharray:1;stroke-dashoffset:1}
svg.draw.go path{stroke-dashoffset:0;transition:stroke-dashoffset calc(var(--dur,2.4s)*.42) cubic-bezier(.3,.6,.3,1) calc(var(--d)*var(--dur,2.4s)*.62)}
svg.draw.done path{stroke-dashoffset:0}
.board{position:relative;justify-self:end;width:min(100%,560px);border-radius:24px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(13,59,102,.55),rgba(8,14,24,.9));box-shadow:0 40px 90px -40px rgba(0,0,0,.9);overflow:hidden;color:#E9F1FA}
.board:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.board-top{position:relative;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line2);font-family:var(--m);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#9FB6CC}
.board-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#FFC94D;margin-right:9px;box-shadow:0 0 10px #FFC94D;animation:pulse2 2s infinite}
.board-stage{position:relative;aspect-ratio:1/0.82;margin:18px}
.bd-slide{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.bd-slide.on{opacity:1}
.bd-slide svg{width:100%;height:100%;color:#E9F1FA}
.bd-slide svg path{stroke-width:2}
.scan{position:absolute;top:-6%;bottom:-6%;left:0;width:2px;background:#FFC94D;box-shadow:0 0 18px 4px rgba(255,201,77,.55);opacity:0;transform:translateX(-10px)}
@keyframes scan{0%{opacity:0;left:0}8%{opacity:1}92%{opacity:1}100%{opacity:0;left:100%}}
.board-cap{position:relative;padding:4px 20px 6px;min-height:78px}
.board-cap b{display:block;font-family:var(--m);font-weight:600;font-size:22px;color:#FFC94D}
.board-cap span{display:block;font-size:15px;color:#C9D6E3;margin-top:4px}
.board.cap-in .board-cap{animation:capin .7s var(--ease) both}
@keyframes capin{from{opacity:0;transform:translateY(8px)}}
.board-dots{position:relative;display:flex;gap:8px;padding:6px 20px 18px}
.board-dots button{width:8px;height:8px;border-radius:9px;background:var(--line2);transition:width .4s var(--ease),background .4s}
.board-dots button.on{width:26px;background:#FFC94D}
@media(max-width:920px){.board{justify-self:stretch;width:100%}}
/* area figures */
.area-fig .dfig{width:100%;height:250px;color:#0A0A0A}
.area-fig .dfig svg path{stroke-width:1.7}
@media(max-width:920px){.area-fig .dfig{height:220px}}
/* patent cards: own drawing draws in on a blueprint */
.pc .pimg.pat.dwg{position:relative;display:block;padding:0;aspect-ratio:16/11;background-color:#0d3b66!important}
.pc .pimg.pat.dwg .dfig{position:absolute;inset:12px 14px 54px;color:#DCE8F5}
.pc .pimg.pat.dwg .dfig svg path{stroke-width:2.2}
.pc .pimg.pat.dwg .pno{position:absolute;left:0;right:0;bottom:0;padding:10px 16px 12px;background:linear-gradient(0deg,rgba(6,24,44,.96),rgba(6,24,44,.6));border-top:1px solid rgba(255,255,255,.12)}
.pc .pimg.pat.dwg .pno b{display:block;font-family:var(--m);font-weight:600;font-size:clamp(18px,1.6vw,22px);color:#FFC94D}
.pc .pimg.pat.dwg .pno span{display:block;font-family:var(--m);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#BFD3E6;margin-top:3px}
.pc .pimg.pat.dwg.pend{background-color:#2a3442!important}
.pc:hover .pimg.pat.dwg .dfig{color:#fff}
/* inventor photos: consistent treatment */
.team .ph img{object-position:center 20%}
/* ===== how it works (series hybrid) ===== */
#lead{padding-top:120px}
.how{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.how-fig{position:sticky;top:110px}
.how-panel{border-radius:26px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(13,59,102,.5),rgba(8,14,24,.92));padding:22px;position:relative;overflow:hidden}
.how-panel:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;pointer-events:none}
.hyb{position:relative;display:block;width:100%;height:auto;font-family:var(--b)}
.hyb .part{fill:none;stroke:#5b7591;stroke-width:2;transition:stroke .6s,opacity .6s,filter .6s;opacity:.55}
.hyb text{fill:#7f97ae;stroke:none;font-size:15px;text-anchor:middle;transition:fill .6s}
.hyb text.sm,.hyb text.ref{font-size:13px}.hyb text.ref{text-decoration:underline}
.hyb .cap{fill:#6f859a;font-family:var(--m);font-size:12px;letter-spacing:.1em;text-anchor:start}
.hyb .unit{transform:translateY(var(--y))}
.hyb .cell{fill:none}.hyb .charge{fill:#5b7591;stroke:none;transform-origin:288px 358px;transform:scaleY(.35);transition:transform 1.2s var(--ease),fill .6s}
.hyb .flow{stroke:#FFC94D;stroke-width:3;stroke-dasharray:6 14;opacity:0;animation:flow 1s linear infinite;filter:url(#glow)}
@keyframes flow{to{stroke-dashoffset:-40}}
.hyb .spin{transform-box:fill-box;transform-origin:center}
@keyframes rot{to{transform:rotate(360deg)}}
.hyb .p ellipse{fill:rgba(91,117,145,.15);stroke:#5b7591;stroke-width:2;transition:stroke .6s}
.hyb .spin.s1 circle,.hyb .spin.s1 line{stroke:inherit}
.how-panel[data-step="3"] .p ellipse,.how-panel[data-step="4"] .p ellipse{stroke:#FFC94D;fill:rgba(255,201,77,.18)}
.hyb text{fill:#9fb3c6!important}
.how-panel[data-step="1"] .eng text,.how-panel[data-step="1"] .gen text,.how-panel[data-step="1"] .ecu text,.how-panel[data-step="2"] .bat text,.how-panel[data-step="2"] .gen text,.how-panel[data-step="3"] .mot text,.how-panel[data-step="4"] .esc text,.how-panel[data-step="4"] .mot text{fill:#fff!important}
.hl{stroke:#FFC94D!important;opacity:1!important;filter:url(#glow)}
/* step states */
.how-panel[data-step="1"] .eng,.how-panel[data-step="1"] .gen,.how-panel[data-step="1"] .shaft,.how-panel[data-step="1"] .ecu,
.how-panel[data-step="2"] .gen,.how-panel[data-step="2"] .bat,.how-panel[data-step="2"] .bus,
.how-panel[data-step="3"] .mot,.how-panel[data-step="3"] .bus,
.how-panel[data-step="4"] .esc,.how-panel[data-step="4"] .mot{stroke:#FFC94D;opacity:1;filter:url(#glow)}
.how-panel:not([data-step="0"]) .part{opacity:.85}
.how-panel[data-step="1"] .eng text,.how-panel[data-step="1"] .gen text,.how-panel[data-step="1"] .ecu text,.how-panel[data-step="2"] .bat text,.how-panel[data-step="2"] .gen text,.how-panel[data-step="3"] .mot text,.how-panel[data-step="4"] .esc text,.how-panel[data-step="4"] .mot text{fill:#fff}
.how-panel:not([data-step="0"]) .spin.s1{animation:rot .5s linear infinite}
.how-panel[data-step="2"] .flow,.how-panel[data-step="3"] .flow,.how-panel[data-step="4"] .flow{opacity:.9}
.how-panel[data-step="2"] .charge,.how-panel[data-step="3"] .charge,.how-panel[data-step="4"] .charge{transform:scaleY(1);fill:#FFC94D}
.how-panel[data-step="3"] .p,.how-panel[data-step="4"] .p{animation:rot .35s linear infinite}
.how-panel[data-step="4"] .p{animation-duration:var(--sp)}
.how-steps{list-style:none;margin:0;padding:0}
.how-steps li{min-height:62vh;padding:24px 0 24px 28px;border-left:2px solid var(--line2);opacity:.35;transition:opacity .5s,border-color .5s}
.how-steps li.on{opacity:1;border-color:#FFC94D}
.how-steps li:last-child{min-height:0}
.how-steps .k{font-family:var(--m);font-size:13px;color:#FFC94D;letter-spacing:.12em}
.how-steps h3{font-size:clamp(26px,2.4vw,36px);font-weight:900;margin:10px 0 14px}
.how-steps p{color:#B4B4BC;font-size:17px;max-width:520px}
.ledger.dk th{color:#8E8E95}.ledger.dk td{color:#fff}.ledger.dk th,.ledger.dk td{border-color:var(--line2)}
@media(max-width:920px){.how{grid-template-columns:1fr;gap:20px}.how-fig{top:70px;z-index:2}.how-panel{padding:12px;border-radius:18px}.how-steps li{min-height:46vh;background:var(--bk)}}
/* lineage line draws in */
.tline{position:relative}
.js .tline:after{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:#FFC94D;box-shadow:0 0 10px #FFC94D;transition:width 2.4s var(--ease) .2s}
.js .tline.in:after{width:100%}
.js .tline div:before{transform:scale(0);transition:transform .5s var(--ease)}
.js .tline.in div:before{transform:scale(1)}
.js .tline.in div:nth-child(2):before{transition-delay:.6s}.js .tline.in div:nth-child(3):before{transition-delay:1.1s}.js .tline.in div:nth-child(4):before{transition-delay:1.6s}.js .tline.in div:nth-child(5):before{transition-delay:2.1s}
@media(max-width:920px){.js .tline:after{display:none}}
@media(max-width:920px){.how-fig{background:var(--bk);padding:8px 0 10px;margin:0 -4px}.how-panel{background:#0b1626}.how-steps li{min-height:52vh}}
#lead{position:relative}
#lead:before{content:"";position:absolute;left:0;right:0;top:-1px;height:200px;background:linear-gradient(180deg,var(--paper),rgba(0,0,0,0));pointer-events:none}
#lead{padding-top:200px}
.pat-stamp{display:inline-block;border:2px solid #FFC94D;color:#FFC94D;font-family:var(--m);font-weight:700;font-size:14px;letter-spacing:.3em;padding:6px 10px 5px 14px;border-radius:4px;transform:rotate(-3deg);box-shadow:0 0 14px rgba(255,201,77,.25)}
.board-top{color:#C9D6E3;padding:16px 18px}
.board-cap b{font-size:20px}
.hyb .cap{fill:#FFC94D!important;opacity:.85}
/* ===== patent card animations ===== */
.js #pgrid .pc{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .8s var(--ease),transform .9s var(--ease),box-shadow .5s,border-color .4s}
.js #pgrid .pc.in-card{opacity:1;transform:none}
#pgrid .pc{animation:none}
#pgrid .pc.in-card:hover{transform:translateY(-6px);box-shadow:0 30px 60px -28px rgba(13,59,102,.55);border-color:rgba(13,59,102,.35)}
.pc .pimg.pat.dwg{aspect-ratio:16/12;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:22px 22px;transition:background-position 1.2s var(--ease)}
.pc:hover .pimg.pat.dwg{background-position:11px 11px}
.pc .pimg.pat.dwg .dfig{inset:16px 18px 64px}
.cscan{position:absolute;top:0;bottom:56px;left:0;width:2px;background:#FFC94D;box-shadow:0 0 14px 3px rgba(255,201,77,.6);opacity:0;pointer-events:none}
.dwg.run .cscan{animation:cscan calc(var(--sd,2s)*.75) cubic-bezier(.45,.05,.35,1) forwards}
@keyframes cscan{0%{opacity:0;left:0}10%{opacity:1}90%{opacity:1}100%{opacity:0;left:100%}}
.cstamp{position:absolute;top:12px;right:12px;font-family:var(--m);font-weight:700;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:#FFC94D;border:1.5px solid #FFC94D;border-radius:3px;padding:4px 6px 3px 9px;opacity:0;transform:scale(1.8) rotate(-14deg)}
.cstamp.soft{color:#cfd8e3;border-color:#cfd8e3}
.dwg.stamped .cstamp{animation:stamp .45s cubic-bezier(.2,1.4,.4,1) forwards}
@keyframes stamp{0%{opacity:0;transform:scale(1.8) rotate(-14deg)}60%{opacity:1;transform:scale(.94) rotate(-6deg)}100%{opacity:1;transform:scale(1) rotate(-6deg)}}
.dwg.stamped .pno{animation:flash .9s ease}
@keyframes flash{0%{box-shadow:inset 0 2px 0 rgba(255,201,77,.0)}30%{box-shadow:inset 0 2px 0 rgba(255,201,77,.9)}100%{box-shadow:inset 0 2px 0 rgba(255,201,77,0)}}
.pc .pimg.pat.dwg .pno b{font-variant-numeric:tabular-nums}
@media (prefers-reduced-motion:reduce){.js #pgrid .pc{opacity:1;transform:none}.cstamp{opacity:1;transform:rotate(-6deg)}}
