/* security page v2 — the seam as a lens */
#psec{--ez:cubic-bezier(.25,.8,.25,1);--seal:#8f89c2;justify-content:flex-start;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}
#psec::-webkit-scrollbar{display:none}
#psec .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sc{width:100%;max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:min(32px,4vh);padding:min(20px,2.6vh) 0 calc(var(--ftr,56px) + 28px)}

/* head */
.sc-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px 48px}
.sc-ht{display:flex;flex-direction:column;gap:12px}
.sc-h{margin:0;font-family:var(--disp);font-weight:800;letter-spacing:-.036em;line-height:1.03;font-size:max(30px,min(clamp(34px,4.4vw,58px),7vh));max-width:17ch;text-wrap:balance}
#psec .cw{display:inline-block;opacity:0;filter:blur(10px);transform:translateY(.35em);transition:opacity .7s var(--ez),filter .7s var(--ez),transform .8s var(--ez);transition-delay:calc(var(--w) * 70ms + .1s)}
#psec.act2 .cw{opacity:1;filter:none;transform:none}
#psec .cw-b{color:var(--purple-lt)}
.sc-spec{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;border-left:1px solid var(--line-str);padding-left:20px}
.sc-spec li{display:grid;grid-template-columns:112px auto;align-items:baseline;gap:12px;opacity:0;transform:translateX(8px);transition:opacity .5s var(--ez),transform .5s var(--ez);transition-delay:calc(var(--n,0) * 90ms + .7s)}
.sc-spec li:nth-child(2){--n:1}.sc-spec li:nth-child(3){--n:2}
#psec.act2 .sc-spec li{opacity:1;transform:none}
.sc-spec b{font-family:var(--mono);font-weight:500;font-size:12.5px;color:var(--ink)}
.sc-spec span{font-family:var(--body);font-size:12.5px;color:var(--grey)}

/* lens */
.cz{margin:0;display:flex;flex-direction:column;gap:12px;opacity:0;transform:translateY(12px);transition:opacity .6s var(--ez) .35s,transform .7s var(--ez) .35s}
#psec.act2 .cz{opacity:1;transform:none}
.cz-top{display:flex;justify-content:space-between;gap:16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.cz-top em{font-style:normal;letter-spacing:.12em;opacity:.7;margin:0 8px}
.cz-l{display:flex;align-items:center;gap:8px;color:var(--teal-br)}
.cz-l i{width:6px;height:6px;border-radius:50%;background:var(--teal-br);box-shadow:0 0 8px rgba(22,201,144,.9)}
.cz-r{color:var(--seal)}
.cz-body{position:relative;border-radius:16px;border:1px solid var(--line-str);overflow:hidden;cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none;
background:linear-gradient(90deg,rgba(13,158,114,.09) 0,rgba(13,158,114,.04) calc(var(--x) * 1%),rgba(127,119,221,.05) calc(var(--x) * 1%),rgba(127,119,221,.09) 100%),rgba(6,16,30,.6)}
.cz-body::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(159,176,196,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(159,176,196,.05) 1px,transparent 1px);background-size:22px 22px}
.cz-plain,.cz-ciph{position:relative;padding:22px clamp(18px,2.6vw,32px);font-family:var(--mono);font-size:clamp(11px,1.12vw,14px);line-height:2;white-space:pre;overflow:hidden}
.cz-ciph{position:absolute;inset:0;color:var(--seal)}
.cz-plain{clip-path:inset(0 calc(100% - var(--x) * 1%) 0 0)}
.cz-ciph{clip-path:inset(0 0 0 calc(var(--x) * 1%))}
.cz-plain .ln{color:var(--ink)}
.cz-plain .k{color:var(--teal-br)}
.cz-plain .d{color:var(--grey)}
.cz-ciph .ln{opacity:.85}
.cz-ciph .ln:nth-child(odd){opacity:.62}
.cz-seam{position:absolute;top:0;bottom:0;left:calc(var(--x) * 1%);width:44px;margin-left:-22px;display:flex;align-items:center;justify-content:center;cursor:ew-resize;outline:none;z-index:2}
.cz-beam{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:linear-gradient(180deg,rgba(214,218,245,.15),#fff 50%,rgba(214,218,245,.15));box-shadow:0 0 14px 2px rgba(127,119,221,.6),0 0 40px 8px rgba(127,119,221,.18)}
.cz-beam::after{content:"";position:absolute;left:50%;top:-60px;width:6px;height:60px;margin-left:-3px;border-radius:6px;background:linear-gradient(180deg,transparent,#fff,transparent);filter:blur(1px)}
#psec.act2 .cz-beam::after{animation:czRun 3.6s ease-in-out 2.4s infinite}
@keyframes czRun{0%{top:-60px}100%{top:100%}}
.cz-h{position:relative;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy);border:1.5px solid #fff;color:#fff;box-shadow:0 0 0 4px rgba(127,119,221,.22),0 8px 20px -6px rgba(0,0,0,.8);transition:box-shadow .15s var(--ez),background-color .15s var(--ez)}
.cz-h svg{width:15px;height:15px}
.cz-h::after{content:"";position:absolute;inset:-1.5px;border-radius:50%;border:1.5px solid #fff;opacity:0}
.cz:not(.touched) .cz-h::after{animation:czPing 2.2s ease-out 2.6s infinite}
@keyframes czPing{0%{opacity:.8;transform:scale(1)}70%,100%{opacity:0;transform:scale(2)}}
.cz-seam:hover .cz-h,.cz-seam:focus-visible .cz-h,.cz.drag .cz-h{background:var(--purple);box-shadow:0 0 0 6px rgba(127,119,221,.3),0 8px 20px -6px rgba(0,0,0,.8)}
.cz-cap{margin:0;font-family:var(--body);font-size:13px;color:var(--grey)}
.cz-cap span{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-right:6px}

/* statements — nothing moves on hover */
.sc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,40px);row-gap:28px}
.ss{position:relative;display:grid;grid-template-rows:auto auto 1fr;gap:8px;padding-top:18px;border-top:1px solid var(--line-str);outline:none;opacity:0;transform:translateY(12px);transition:opacity .55s var(--ez),transform .55s var(--ez);transition-delay:calc(var(--i) * 80ms + 1s)}
#psec.act2 .ss{opacity:1;transform:none}
.ss::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,var(--purple-lt),var(--teal-br));transform:scaleX(0);transform-origin:left;transition:transform .2s var(--ez)}
.ss:hover::before,.ss:focus-visible::before{transform:scaleX(1)}
.ss-n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--grey);transition:color .15s var(--ez)}
.ss:hover .ss-n,.ss:focus-visible .ss-n{color:var(--teal-br)}
.ss h3{margin:0;font-family:var(--disp);font-weight:700;font-size:17.5px;line-height:1.25;letter-spacing:-.015em;color:var(--ink);text-wrap:balance}
.ss p{margin:0;font-family:var(--body);font-size:13.5px;line-height:1.55;color:var(--grey);text-wrap:pretty}
.ss code{font-family:var(--mono);font-size:12px;color:var(--ink);padding:1px 5px;border-radius:4px;background:rgba(127,119,221,.16)}

/* honest strip + foot */
.sc-honest{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,56px);padding:20px 24px;border-radius:14px;background:rgba(16,35,61,.45);border:1px solid var(--line);opacity:0;transition:opacity .6s var(--ez) 1.6s}
#psec.act2 .sc-honest{opacity:1}
.sc-honest h4{margin:0 0 6px;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}
.sc-honest p{margin:0;font-size:13.5px;line-height:1.55;color:var(--grey);max-width:56ch}
.sc-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;opacity:0;transition:opacity .6s var(--ez) 1.8s}
#psec.act2 .sc-foot{opacity:1}
.sc-links{display:flex;flex-direction:column;gap:6px}

@media(max-width:960px){.sc-head{grid-template-columns:1fr}.sc-spec{border-left:0;padding-left:0;flex-direction:row;flex-wrap:wrap;gap:8px 24px}.sc-spec li{grid-template-columns:auto auto}.sc-list{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
.cz-body{cursor:ns-resize;touch-action:pan-x;background:linear-gradient(180deg,rgba(13,158,114,.09) 0,rgba(13,158,114,.04) calc(var(--x) * 1%),rgba(127,119,221,.05) calc(var(--x) * 1%),rgba(127,119,221,.09) 100%),rgba(6,16,30,.6)}
.cz-plain,.cz-ciph{font-size:10.5px;line-height:2.1;padding:16px}
.cz-plain{clip-path:inset(0 0 calc(100% - var(--x) * 1%) 0)}
.cz-ciph{clip-path:inset(calc(var(--x) * 1%) 0 0 0)}
.cz-seam{top:calc(var(--x) * 1%);bottom:auto;left:0;right:0;width:auto;height:44px;margin:-22px 0 0;cursor:ns-resize}
.cz-beam{top:50%;bottom:auto;left:0;right:0;width:auto;height:2px;margin:-1px 0 0;background:linear-gradient(90deg,rgba(214,218,245,.15),#fff 50%,rgba(214,218,245,.15))}
.cz-beam::after{display:none}
.cz-top{flex-direction:column;gap:6px}.cz-top em{display:none}
.sc-list,.sc-honest{grid-template-columns:1fr}
.sc-links .cl-flk{white-space:normal}
}
@media(prefers-reduced-motion:reduce){#psec *{animation:none!important;transition:none!important}}
@media(max-width:1000px){.cz-top em{display:none}}

/* arrival story */
.st{display:flex;flex-direction:column;gap:14px;opacity:0;transition:opacity .5s var(--ez) .3s}
#psec.act2 .st{opacity:1}
.st-zones{position:relative;display:grid;grid-template-columns:minmax(0,2.6fr) 56px minmax(0,1fr);align-items:stretch}
.st-mac,.st-srv{display:flex;flex-direction:column;gap:12px;min-width:0}
.st-zh{display:flex;flex-direction:column;gap:3px}
.st-zh b{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.st-mac .st-zh b{color:var(--teal-br)}.st-srv .st-zh b{color:var(--seal)}
.st-zh b i{width:6px;height:6px;border-radius:50%;background:var(--teal-br);box-shadow:0 0 8px rgba(22,201,144,.9)}
.st-zh span{font-family:var(--body);font-size:12.5px;color:var(--grey)}
.st-lap{position:relative;flex:1;display:flex;flex-direction:column;align-items:center}
.st-scr{position:relative;width:100%;height:200px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;border:1.5px solid rgba(22,201,144,.35);border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,rgba(13,158,114,.08),rgba(6,16,30,.6));box-shadow:inset 0 0 0 5px rgba(6,16,30,.6)}
.st-base{width:calc(100% + 32px);height:9px;border-radius:0 0 10px 10px;background:linear-gradient(180deg,rgba(22,201,144,.3),rgba(22,201,144,.1));clip-path:polygon(2% 0,98% 0,100% 100%,0 100%)}
.sx{position:relative;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.mv{transform:translate(var(--dx,0px),var(--dy,0px)) scale(var(--sc,1));transition:transform .7s var(--ez),opacity .35s var(--ez)}
.st.snap *,.st.snap *::before,.st.snap *::after{transition:none!important}

.pw{display:flex;flex-direction:column;gap:6px;width:min(170px,90%);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ez),transform .45s var(--ez)}
.st.s1 .pw{opacity:1;transform:none}
.st.collapse .pw{opacity:0;transform:scale(.08,.3)}
.pw-l{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}
.pw-f{display:flex;align-items:center;gap:4px;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--teal-br);background:rgba(6,16,30,.8);box-shadow:0 0 0 3px rgba(22,201,144,.14)}
.pw-d{display:flex;gap:5px}
.pw-d i{width:6px;height:6px;border-radius:50%;background:var(--ink);opacity:0;transform:scale(.3);transition:opacity .12s,transform .2s var(--ez);transition-delay:calc(var(--k) * 85ms + .35s)}
.st.s1 .pw-d i{opacity:1;transform:none}
.pw-c{width:1.5px;height:16px;background:var(--teal-br);animation:pwc 1s steps(1) infinite}
@keyframes pwc{50%{opacity:0}}
.seed{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;border-radius:50%;background:var(--teal-br);box-shadow:0 0 14px 4px rgba(22,201,144,.8);opacity:0;--sc:.3}
.st.collapse .seed{opacity:1;--sc:1;transition-delay:.2s}
.st.absorb .seed{opacity:0;--sc:.4}

.kdf{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:min(170px,92%);padding:12px 10px 10px;border-radius:10px;border:1px solid rgba(127,119,221,.45);background:rgba(16,35,61,.85);opacity:0;transform:translateY(8px);transition:opacity .4s var(--ez),transform .45s var(--ez),border-color .3s,box-shadow .3s}
.st.s2 .kdf{opacity:1;transform:none}
.st.churn .kdf{border-color:var(--purple-lt);box-shadow:0 0 0 4px rgba(127,119,221,.15),0 0 24px rgba(127,119,221,.3)}
.st.keyout .kdf{border-color:rgba(22,201,144,.5);box-shadow:none}
.kdf-h{font-family:var(--mono);font-weight:500;font-size:12px;color:var(--ink)}
.kdf-x{display:block;width:100%;font-family:var(--mono);font-size:10px;line-height:1.5;color:var(--purple-lt);text-align:center;white-space:pre;overflow:hidden;opacity:.35;transition:opacity .2s}
.st.churn .kdf-x{opacity:1}
.st.keyout .kdf-x{color:var(--teal-br);opacity:.6}
.kdf-in{font-family:var(--mono);font-size:10px;color:var(--grey)}
.key{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--teal-br);background:rgba(13,158,114,.16);border:1px solid var(--teal-br);opacity:0;--sc:.4;position:relative;z-index:4}
.key svg{width:17px;height:17px}
.st.keyout .key{opacity:1;--sc:1;box-shadow:0 0 16px rgba(22,201,144,.6)}
.keep{position:absolute;bottom:14px;font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--teal-br);opacity:0;transition:opacity .4s var(--ez)}
.st.s4 .keep{opacity:1}

.rec{position:relative;z-index:6;width:128px;height:88px;border-radius:9px;border:1px solid var(--teal-br);background:rgba(6,16,30,.92);overflow:hidden;opacity:0;--sc:.9;transition:transform 1.25s cubic-bezier(.55,0,.25,1),opacity .4s var(--ez),border-color .3s,background-color .3s}
.st.s3 .rec{opacity:1;--sc:1}
.rec-d{position:absolute;inset:0;padding:11px 12px;display:flex;flex-direction:column;gap:7px;transition:opacity .25s}
.rec-d b{font-family:var(--disp);font-weight:600;font-size:12px;color:var(--ink);white-space:nowrap}
.rec-d i{display:block;height:4px;border-radius:2px;background:rgba(214,218,245,.45)}
.rec-d i.sh{width:60%}
.rec-c{position:absolute;inset:0;padding:8px 9px;font-family:var(--mono);font-size:9.5px;line-height:1.45;color:var(--seal);word-break:break-all;opacity:0;transition:opacity .25s}
.lid{position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(22,201,144,.22) 0 6px,rgba(22,201,144,.1) 6px 12px);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ez)}
.st.locked .lid{transform:none}
.lk{position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--teal);box-shadow:0 0 0 4px rgba(22,201,144,.25);opacity:0;transform:scale(.4);transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1),background-color .3s,box-shadow .3s}
.lk svg{width:16px;height:16px}
.st.locked .lk{opacity:1;transform:none;transition-delay:.3s}
.st.ct .rec{border-color:rgba(143,137,194,.6);background-color:rgba(16,35,61,.95)}
.st.ct .rec-d,.st.ct .lid{opacity:0}
.st.ct .rec-c{opacity:1}
.st.ct .lk{background:var(--purple);box-shadow:0 0 0 4px rgba(127,119,221,.25)}

.st-seam{position:relative;display:flex;justify-content:center}
.st-seam span{width:2px;height:100%;border-radius:2px;background:linear-gradient(180deg,transparent,#fff 50%,transparent);box-shadow:0 0 14px 2px rgba(127,119,221,.6),0 0 40px 8px rgba(127,119,221,.15);transform:scaleY(0);transform-origin:top;transition:transform .9s var(--ez) .2s}
#psec.act2 .st-seam span{transform:none}
.st.cross .st-seam span{animation:seamF .6s ease-out}
@keyframes seamF{40%{box-shadow:0 0 26px 8px rgba(180,174,240,.95),0 0 60px 16px rgba(127,119,221,.35)}}

.st-rack{position:relative;flex:1;height:auto;min-height:200px;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:46px 14px 30px;border-radius:12px;border:1.5px solid rgba(143,137,194,.35);background:linear-gradient(180deg,rgba(127,119,221,.07),rgba(6,16,30,.6))}
.st-rack+.st-iv{margin-top:9px}
.u{display:flex;align-items:center;gap:6px;height:18px;padding:0 10px;border-radius:6px;border:1px solid rgba(143,137,194,.3);background:rgba(6,16,30,.6)}
.u i{width:5px;height:5px;border-radius:50%;background:var(--seal);opacity:.6}
.u i:first-child{animation:led 2.4s ease-in-out infinite}
@keyframes led{50%{opacity:.15}}
.u em{flex:1;height:3px;margin-left:6px;border-radius:2px;background:rgba(143,137,194,.25)}
.slot{align-self:center;width:128px;height:88px;border-radius:9px;border:1px dashed rgba(143,137,194,.45);transition:border-color .3s,box-shadow .3s}
.st.s5 .slot{border-style:solid;border-color:rgba(143,137,194,.7);box-shadow:0 0 0 4px rgba(127,119,221,.12)}
.probe{position:absolute;right:12px;top:10px;z-index:7;display:flex;align-items:center;gap:2px;height:30px;padding:0 9px;border-radius:999px;color:var(--seal);border:1px dashed rgba(143,137,194,.6);background:var(--navy);opacity:0}
.probe svg{width:15px;height:15px}
.probe b{font-family:var(--mono);font-size:12px}
.st.probe-in .probe{opacity:1}
.st.denied .probe{animation:deny .45s var(--ez);opacity:.5}
@keyframes deny{20%,60%{translate:-5px 0}40%,80%{translate:5px 0}}
.deny{position:absolute;left:0;right:0;bottom:9px;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--seal);opacity:0;transition:opacity .3s}
.st.denied .deny{opacity:1}

.st-iv{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.st-iv li{display:flex;align-items:center;gap:6px;height:24px;padding:0 10px;border-radius:999px;font-family:var(--mono);font-size:10.5px;border:1px solid var(--line-str);color:var(--grey-dim);transition:color .3s,border-color .3s,background-color .3s}
.st-iv li::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.st.s1 .iv-pw,.st.keyout .iv-key,.st.s3 .iv-rec{color:var(--teal-br);border-color:rgba(22,201,144,.45);background:rgba(13,158,114,.1)}
.st.s5 .iv-ct{color:var(--ink);border-color:rgba(143,137,194,.55);background:rgba(127,119,221,.12)}
.iv-no::before{width:8px;height:1.5px;border-radius:1px}
.st.denied .iv-no{color:var(--seal);border-color:rgba(143,137,194,.45)}

.st-cap{display:flex;align-items:baseline;gap:12px;margin:14px 0 0;min-height:1.6em;font-family:var(--disp);font-weight:600;font-size:17px;color:var(--ink)}
.st-cap b{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;color:var(--teal-br)}
.st-cap span{transition:opacity .25s var(--ez),transform .3s var(--ez)}
.st-cap.sw span{opacity:0;transform:translateY(4px)}

/* stage collapses, line rises, lens opens in its place */
.st-stage,.sc-more{display:grid;transition:grid-template-rows .7s var(--ez),opacity .45s var(--ez)}
.st-stage{grid-template-rows:1fr}
.st-in,.sc-more-in{min-height:0;overflow:hidden}
.st-in{padding:4px 2px 18px}
.st.fin .st-stage{grid-template-rows:0fr;opacity:0}
.st-in{transition:padding .7s var(--ez)}
.st.fin .st-in{padding:0 2px}
.st-base{width:100%}

.st-line{position:relative;display:flex;flex-direction:column;gap:12px}
.ln-br{display:grid;grid-template-columns:4fr 1fr;font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--ez) .4s,opacity .4s var(--ez) .5s}
.st.fin .ln-br{max-height:30px;opacity:1}
.ln-br>span{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid currentColor;white-space:nowrap}
.ln-a{color:var(--teal-br);margin-right:8px}.ln-b{color:var(--seal);margin-left:8px}
.ln-a i{width:6px;height:6px;border-radius:50%;background:var(--teal-br);box-shadow:0 0 8px rgba(22,201,144,.9)}
.ln-tr{position:relative}
.ln-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.ln-steps button{width:100%;display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:0 6px;border:0;background:none;cursor:pointer;color:inherit;font:inherit}
.ln-i{position:relative;z-index:2;width:42px;height:42px;margin-bottom:6px;border-radius:50%;display:grid;place-items:center;color:var(--grey-dim);background:var(--navy);border:1.5px solid var(--line-str);transition:color .3s var(--ez),border-color .3s var(--ez),box-shadow .3s var(--ez),background-color .3s var(--ez)}
.ln-i svg{width:18px;height:18px}
.ln-n{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--grey-dim);transition:color .3s}
.ln-steps b{font-family:var(--disp);font-weight:600;font-size:14.5px;color:var(--grey);transition:color .3s}
.ln-steps small{font-family:var(--body);font-size:11.5px;line-height:1.35;color:var(--grey-dim);max-width:20ch;transition:color .3s}
.ln-steps li.past .ln-i{color:var(--teal-br);border-color:rgba(22,201,144,.55)}
.ln-steps li.srv.past .ln-i{color:var(--seal);border-color:rgba(143,137,194,.6)}
.ln-steps li.past b,.ln-steps li.on b{color:var(--ink)}
.ln-steps li.past small,.ln-steps li.on small{color:var(--grey)}
.ln-steps li.on .ln-i{color:#fff;border-color:var(--purple-lt);background:rgba(91,79,207,.35);box-shadow:0 0 0 5px rgba(127,119,221,.16),0 0 20px rgba(127,119,221,.45)}
.ln-steps li.on .ln-n{color:var(--purple-lt)}
.ln-steps button:hover .ln-i{border-color:rgba(159,176,196,.6)}
.ln-steps button:focus-visible{outline:none}.ln-steps button:focus-visible .ln-i{outline:2px solid var(--purple-lt);outline-offset:3px}
.ln-bar{position:absolute;left:10%;right:10%;top:21px;height:1px;background:var(--line-str);z-index:1}
.ln-bar i{position:absolute;inset:0;background:linear-gradient(90deg,var(--teal-br) 0,var(--teal-br) 87.5%,var(--seal) 87.5%);transform:scaleX(calc(var(--p,0) / 4));transform-origin:left;transition:transform .9s var(--ez)}
.ln-bar i::after{content:"";position:absolute;right:-4px;top:-3.5px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px 2px rgba(127,119,221,.9);transform:scaleX(calc(4 / max(var(--p,0),.0001)))}
.st.fin .ln-bar i::after{opacity:0}
.ln-seam{position:absolute;left:80%;top:3px;width:2px;height:36px;margin-left:-1px;border-radius:2px;background:linear-gradient(180deg,transparent,#fff 50%,transparent);box-shadow:0 0 12px 2px rgba(127,119,221,.6);z-index:1}
.st-re{align-self:flex-end;display:inline-flex;align-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey);opacity:0;pointer-events:none;transition:opacity .3s,color .15s}
.st.fin .st-re{opacity:1;pointer-events:auto}
.st-re:hover{color:var(--ink)}
.st-re:focus-visible{outline:2px solid var(--purple-lt);outline-offset:2px}

@media(max-width:860px){
.st-zones{grid-template-columns:1fr;row-gap:0}
.st-seam{height:40px;align-items:center}
.st-seam span{width:100%;height:2px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,transparent,#fff 50%,transparent)}
#psec.act2 .st-seam span{transform:none}
.st-rack{min-height:170px;flex-direction:row;align-items:center;justify-content:center;padding:46px 14px 30px}
.u{width:24px;height:88px;flex-direction:column;padding:8px 0}.u em{width:3px;height:auto;flex:1;margin:6px 0 0}
.st-scr{height:180px}
.pw,.kdf{width:94%}
.kdf-x{font-size:9px}
.rec,.slot{width:112px;height:80px}
}
@media(max-width:520px){.st-scr{grid-template-columns:1fr 1fr 1fr;height:170px}.pw-d{gap:3px}.pw-d i{width:5px;height:5px}.pw-f{padding:0 6px}.rec,.slot{width:96px;height:72px}.rec-d b{font-size:10.5px}.st-cap{font-size:15px}}
@media(prefers-reduced-motion:reduce){.pw-c,.u i{animation:none}}
.st-scr{height:auto;min-height:200px;align-self:stretch}
.st-lap{align-self:stretch}
.st-mac .st-lap,.st-srv .st-rack{flex:1}
@media(max-width:720px){.ln-steps small{display:none}.ln-steps b{font-size:12px}.ln-i{width:34px;height:34px}.ln-i svg{width:15px;height:15px}.ln-bar{top:17px}.ln-seam{top:1px;height:32px}.ln-br{font-size:9.5px;letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.st-stage,.cz-wrap{transition:none}}
#psec .st-re{align-self:center;height:38px;padding:0 16px 0 13px;gap:8px;border-radius:999px;border:1px solid rgba(127,119,221,.5);background:rgba(91,79,207,.14);color:var(--ink);font-family:var(--body);font-weight:600;font-size:13px;letter-spacing:0;text-transform:none;opacity:0;transform:translateY(6px);transition:opacity .35s var(--ez),transform .35s var(--ez),background-color .15s,border-color .15s;margin-top:4px}
#psec .st-re svg{width:15px;height:15px;transition:transform .5s var(--ez)}
#psec .st.fin .st-re{opacity:1;transform:none;transition-delay:.6s,.6s,0s,0s}
#psec .st-re:hover{background:rgba(91,79,207,.3);border-color:var(--purple-lt)}
#psec .st-re:hover svg{transform:rotate(-300deg)}

/* lens as the line's background; whole page fits one screen */
#psec{overflow-x:hidden}
.sc{transform-origin:50% 0;transition:transform .4s var(--ez)}
.sc-more{grid-template-rows:0fr;opacity:0;transition-delay:.3s}
#psec.fin .sc-more{grid-template-rows:1fr;opacity:1}
.sc-more-in{display:flex;flex-direction:column;gap:min(22px,2.6vh);padding-top:4px}
#psec .ss{transition-delay:calc(var(--i) * 60ms + .45s)}
#psec.act2 .ss{opacity:0;transform:translateY(12px)}
#psec.fin .ss{opacity:1;transform:none}
#psec.act2 .sc-honest,#psec.act2 .sc-foot{opacity:0}
#psec.fin .sc-honest,#psec.fin .sc-foot{opacity:1;transition-delay:.8s}
.sc-list{row-gap:20px}
.ss{padding-top:14px;gap:6px}.ss h3{font-size:16px}.ss p{font-size:13px}
.sc-honest{padding:14px 20px}

.st-line{padding:0;border-radius:16px;transition:padding .6s var(--ez)}
.st.fin .st-line{padding:16px 18px 18px}
#psec .st-line>.cz{position:absolute;inset:0;z-index:0;display:block;margin:0;opacity:0;transform:none;pointer-events:none;transition:opacity .7s var(--ez) .35s}
#psec .st.fin .st-line>.cz{opacity:1}
.st-line>.cz .cz-top,.st-line>.cz .cz-cap{display:none}
.st-line>.cz .cz-body{position:absolute;inset:0;cursor:default}
.st-line>.cz .cz-plain,.st-line>.cz .cz-ciph{opacity:.26;padding:12px 18px;font-size:12px;line-height:1.9}
.st-line>.cz .cz-h{display:none}
.st-line>.cz .cz-body::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 90% at 50% 55%,rgba(10,22,40,.55),rgba(10,22,40,.15) 70%)}
.st-line>.cz .cz-beam{opacity:.7}
.ln-br,.ln-tr,.st-line>.st-re{position:relative;z-index:1}
.st.fin .ln-seam{opacity:0}
#psec .st-re{opacity:1;transform:none;transition-delay:0s}
#psec .st-re,#psec .st-re span{white-space:nowrap}
.st-line>.cz .cz-plain,.st-line>.cz .cz-ciph{opacity:.15}
.ln-steps b,.ln-steps small,.ln-n{position:relative;padding:0 6px;border-radius:4px;background:rgba(10,22,40,.82)}
.ln-steps small{padding:1px 6px}






/* v3 final layout: wide, two columns, no lens background */
#psec .sc{max-width:1440px}
#psec .st-line>.cz{display:none}
#psec .st.fin .st-line{padding:0}
.ss h3{font-size:17px}.ss p{font-size:13.5px}.ss{padding-top:16px;gap:7px}
.sc-more-in{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);grid-template-areas:"list hon" "list foot";gap:20px clamp(28px,4vw,64px);align-items:start;padding-top:8px}
.sc-list{grid-area:list;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:24px}
.sc-honest{grid-area:hon;grid-template-columns:1fr;gap:16px;padding:18px 20px}
.sc-foot{grid-area:foot;align-self:end}
.sc-links{gap:8px}
@media(max-width:1100px){.sc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.sc-more-in{grid-template-columns:1fr;grid-template-areas:"list" "hon" "foot"}}
@media(max-width:720px){.sc-list{grid-template-columns:1fr}}

/* ambient: a key-sealed block keeps crossing the seam */
.ln-pk{position:absolute;left:10%;top:21px;width:12px;height:12px;margin:-6px 0 0 -6px;z-index:3;opacity:0;pointer-events:none}
.ln-pk b,.ln-pk s{position:absolute;inset:0}
.ln-pk b{border-radius:50%;background:var(--teal-br);box-shadow:0 0 10px 3px rgba(22,201,144,.8)}
.ln-pk s{border-radius:3px;background:repeating-linear-gradient(135deg,var(--seal) 0 2px,rgba(143,137,194,.45) 2px 4px);box-shadow:0 0 8px rgba(127,119,221,.7);opacity:0}
.st.fin .ln-pk{animation:lpk 6s linear 1.2s infinite}
.st.fin .ln-pk b{animation:lpkB 6s linear 1.2s infinite}
.st.fin .ln-pk s{animation:lpkS 6s linear 1.2s infinite}
@keyframes lpk{0%{left:10%;opacity:0}4%{opacity:1}70%{left:80%}88%{left:90%;opacity:1}94%,100%{left:90%;opacity:0}}
@keyframes lpkB{0%,69%{opacity:1}71%,100%{opacity:0}}
@keyframes lpkS{0%,69%{opacity:0}71%,100%{opacity:1}}
.st.fin .ln-seam{opacity:1;animation:lseam 6s linear 1.2s infinite}
@keyframes lseam{0%,66%,78%,100%{box-shadow:0 0 12px 2px rgba(127,119,221,.6)}70%{box-shadow:0 0 22px 6px rgba(180,174,240,.95)}}
@media(max-width:720px){.ln-pk{top:17px}}
@media(prefers-reduced-motion:reduce){.ln-pk{display:none}}

/* v4: fin = two-column split at full size, no scaling */
#psec .sc{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "st";align-content:start;gap:min(28px,3.4vh) clamp(32px,5vw,80px);transform:none!important;margin-bottom:0!important}
#psec .sc-head{grid-area:head}#psec .st{grid-area:st}
#psec .sc-more,#psec .sc-more-in{display:contents}
#psec .sc-list,#psec .sc-honest,#psec .sc-foot{display:none}
#psec.fin2 .sc{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"head list" "st list" "hon list" "foot list";grid-template-rows:auto auto auto 1fr}
#psec.fin2 .sc-head{grid-template-columns:1fr}
#psec.fin2 .sc-spec{display:none}
#psec.fin2 .sc-h{font-size:clamp(30px,3vw,46px)}
#psec.fin2 .sc-list{display:grid;grid-area:list;align-self:center;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));row-gap:26px;column-gap:clamp(20px,2.4vw,36px)}
#psec.fin2 .sc-honest{display:grid;grid-area:hon;grid-template-columns:1fr 1fr;gap:20px;padding:16px 18px;opacity:1;animation:scIn .5s var(--ez) .35s both}
#psec.fin2 .sc-foot{display:flex;grid-area:foot;align-self:start;opacity:1;animation:scIn .5s var(--ez) .5s both}
#psec.fin2 .ss{opacity:1;transform:none;transition:none;animation:scIn .5s var(--ez) both;animation-delay:calc(var(--i) * 60ms + .15s)}
@keyframes scIn{from{opacity:0;transform:translateY(10px)}}
@media(max-width:860px){#psec.fin2 .sc{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "st" "list" "hon" "foot";grid-template-rows:none}#psec.fin2 .sc-honest{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){#psec.fin2 .ss,#psec.fin2 .sc-honest,#psec.fin2 .sc-foot{animation:none}}
#psec.fin2 .sc{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);grid-template-areas:"head head" "st list" "hon list" "foot list";grid-template-rows:auto auto auto 1fr}
#psec.fin2 .sc-h{max-width:none;font-size:clamp(28px,2.9vw,46px)}
#psec.fin2 .sc-list{align-self:start;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
#psec.fin2 .ln-steps small{display:none}
@media(max-width:860px){#psec.fin2 .sc{grid-template-areas:"head" "st" "list" "hon" "foot"}}
#psec.fin2 .sc-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
@media(max-width:1179px){#psec.fin2 .sc{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "st" "list" "hon" "foot";grid-template-rows:none}#psec.fin2 .sc-list{grid-template-columns:repeat(3,minmax(0,1fr))}#psec.fin2 .ln-steps small{display:block}#psec.fin2 .sc-honest{grid-template-columns:1fr 1fr}}
@media(max-width:860px){#psec.fin2 .sc-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){#psec.fin2 .sc-list,#psec.fin2 .sc-honest{grid-template-columns:1fr}}
@media(max-width:1179px) and (min-width:861px){#psec.fin2 .sc{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);grid-template-areas:"head head" "st list" "hon list" "foot list";grid-template-rows:auto auto auto 1fr}#psec.fin2 .sc-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:20px}#psec.fin2 .ln-steps small{display:none}#psec.fin2 .sc-honest{grid-template-columns:1fr;gap:12px}}
#psec.fin2 .st-line{position:relative}
#psec.fin2 .st-re{position:absolute;right:calc(20% + 20px);top:-6px;height:28px;padding:0 12px 0 10px;font-size:12px;margin:0;z-index:3}
@media(max-width:860px){#psec.fin2 .st-re{position:static;align-self:flex-start;height:34px}}
#psec.fin2 .st-re{position:static;align-self:flex-start;height:32px;padding:0 13px 0 11px;font-size:12.5px;margin-top:2px}
#psec.fin2 .ln-steps b{font-size:12.5px;line-height:1.2;white-space:normal;padding:0 2px;overflow-wrap:anywhere}
#psec.fin2 .ln-steps button{padding:0 3px}
#psec.fin2 .ln-br{font-size:10px;letter-spacing:.14em}
@media(min-width:861px){
#psec:not(.fin2) .sc{grid-template-columns:minmax(0,.62fr) minmax(0,2fr);grid-template-areas:"head st";align-items:center}
#psec:not(.fin2) .sc-head{grid-template-columns:1fr;align-self:center}
#psec:not(.fin2) .sc-h{font-size:clamp(28px,2.7vw,42px);max-width:12ch}
#psec:not(.fin2) .sc-spec{border-left:0;padding-left:0;border-top:1px solid var(--line-str);padding-top:14px}
#psec:not(.fin2) .sc-spec li{grid-template-columns:1fr;gap:2px}
#psec:not(.fin2) .st-scr,#psec:not(.fin2) .st-rack{min-height:180px}
}
/* one orientation for the whole sequence: left = headline (+ honest, links), right = story → line + statements */
@media(min-width:861px){
#psec .sc,#psec.fin2 .sc,#psec:not(.fin2) .sc{grid-template-columns:minmax(0,.72fr) minmax(0,2fr);grid-template-areas:"head st" "hon list" "foot list";grid-template-rows:auto auto 1fr;align-items:start}
#psec .sc-head,#psec.fin2 .sc-head{grid-template-columns:1fr;align-self:start}
#psec .sc-h,#psec.fin2 .sc-h{font-size:clamp(28px,2.7vw,42px);max-width:12ch}
#psec .sc-spec,#psec.fin2 .sc-spec{display:flex;border-left:0;padding-left:0;border-top:1px solid var(--line-str);padding-top:14px}
#psec .sc-spec li{grid-template-columns:1fr;gap:2px}
#psec.fin2 .sc-honest{grid-template-columns:1fr;gap:12px;padding:14px 16px}
#psec.fin2 .sc-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
#psec.fin2 .ln-steps small{display:block}
}
@media(min-width:861px){
#psec .sc-spec,#psec.fin2 .sc-spec{flex-direction:column;flex-wrap:nowrap;gap:10px}
#psec .sc-spec li{display:grid;grid-template-columns:1fr;height:auto;gap:2px}
#psec .sc-spec span{white-space:normal}
#psec .sc,#psec.fin2 .sc,#psec:not(.fin2) .sc{grid-template-areas:"head st" "head list" "hon list" "foot list";grid-template-rows:auto auto auto 1fr}
}
/* Tweak: headline on top */
@media(min-width:861px){
#psec[data-lay="top"] .sc,#psec[data-lay="top"].fin2 .sc{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);grid-template-areas:"head head" "st st" "list list" "hon foot";grid-template-rows:auto auto auto auto;align-items:start}
#psec[data-lay="top"] .sc-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
#psec[data-lay="top"] .sc-h{font-size:max(30px,min(clamp(34px,4vw,54px),7vh));max-width:20ch}
#psec[data-lay="top"] .sc-spec{flex-direction:column;border-top:0;padding-top:0;border-left:1px solid var(--line-str);padding-left:20px}
#psec[data-lay="top"] .sc-spec li{grid-template-columns:112px auto;gap:12px}
#psec[data-lay="top"].fin2 .sc-list{grid-template-columns:repeat(3,minmax(0,1fr))}
#psec[data-lay="top"].fin2 .sc-honest{grid-template-columns:1fr 1fr;gap:20px}
#psec[data-lay="top"].fin2 .sc-foot{align-self:center;justify-content:flex-end}
}
