@font-face{font-family:Syne;src:url(fonts/syne-var.woff2) format("woff2");font-weight:400 800;font-display:swap}
@font-face{font-family:Manrope;src:url(fonts/manrope-var.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"DM Mono";src:url(fonts/dmmono-500.woff2) format("woff2");font-weight:500;font-display:swap}
:root{--bg:#F6F2FF;--aub:#2E1A47;--aub2:#432869;--lil:#B9A6FF;--lil2:#E4DBFF;--lil3:#EFE9FF;--volt:#D4FF3F;--vio:#5B33C4;--ink:#22143A;--mut:#54476B;--line:#DCD2F5;--amz:#FF9900}
*{box-sizing:border-box}html{scroll-behavior:smooth}html.lock{overflow:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.7 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}a{color:inherit}
code{font:500 .78em/1 "DM Mono",ui-monospace,monospace;letter-spacing:.04em}
.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}
.sy{font-family:Syne,sans-serif;font-weight:800;letter-spacing:-.025em;line-height:1.02;margin:0}
.kick{display:inline-flex;gap:8px;align-items:center;font:500 12.5px/1.2 "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--vio)}
.kick.lt{color:var(--volt)}.kick code{font-size:1em;padding:3px 6px;border-radius:4px;background:var(--aub);color:var(--volt)}.kick.lt code{background:var(--volt);color:var(--aub)}
.skip{position:absolute;left:-999px;top:8px;background:var(--aub);color:#fff;padding:10px 14px;z-index:99}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--vio);outline-offset:3px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mono{font:500 15px/1.2 "DM Mono",monospace;white-space:nowrap}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:14px;font:700 16px/1 Manrope,sans-serif;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btn svg{width:18px;height:18px;flex:none}
.btn-aub{background:var(--aub);color:#fff;box-shadow:0 0 0 0 var(--volt)}.btn-aub:hover{transform:translate(-3px,-3px);box-shadow:5px 5px 0 0 var(--volt)}
.btn-line{background:transparent;color:var(--aub);border:2px solid var(--aub)}.btn-line:hover{background:var(--lil2)}
.btn-volt{background:var(--volt);color:var(--aub)}.btn-volt:hover{transform:translateY(-2px)}
.btn-amz{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:12px;background:var(--amz);color:#111;font:800 15.5px/1 Manrope,sans-serif;text-decoration:none;white-space:nowrap;transition:transform .2s,box-shadow .2s}
.btn-amz:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--aub)}.btn-amz svg{width:16px;height:16px;flex:none}.btn-amz.sm{min-height:42px;padding:0 14px;font-size:14px}
.amz-note{font-size:12.5px;color:var(--mut);margin:8px 0 0;line-height:1.45}
/* header boarding strip */
.hdr{position:sticky;top:0;z-index:60;background:var(--aub);color:#fff}
.hdr .wrap{display:flex;align-items:center;gap:22px;height:74px}
.perf{position:absolute;left:0;right:0;bottom:-8px;height:8px;background:radial-gradient(circle at 8px 0,transparent 4px,var(--aub) 4.5px) 0 0/16px 8px repeat-x}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:800 23px/1 Syne,sans-serif;letter-spacing:-.03em}
.logo .lg{width:38px;height:38px;padding:3px;border-radius:10px;background:var(--lil)}
.route{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;border:1.5px dashed rgba(185,166,255,.6);color:var(--lil)}.route code{font-size:12px;color:#fff}.route svg{width:50px;height:12px}
.nav{margin-left:auto;display:flex;gap:4px}
.nav a{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;text-decoration:none;font-weight:700;font-size:15px;color:#EDE7FF}
.nav a code{font-size:11.5px;padding:3px 5px;border-radius:4px;background:rgba(185,166,255,.18);color:var(--lil)}
.nav a:hover{background:rgba(185,166,255,.14)}.nav a[aria-current]{background:var(--volt);color:var(--aub)}.nav a[aria-current] code{background:var(--aub);color:var(--volt)}
.menu-btn{display:none}
.sheet{visibility:hidden;position:fixed;inset:0;z-index:70;background:rgba(20,10,35,.55);display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:opacity .35s,visibility 0s .45s}
.sheet.open{visibility:visible;opacity:1;transition-delay:0s}
.pass{width:min(460px,calc(100% - 24px));margin-bottom:12px;background:#fff;border-radius:22px;overflow:hidden;transform:translateY(110%) rotate(-3deg);transition:transform .5s cubic-bezier(.2,.9,.2,1);box-shadow:0 30px 60px rgba(0,0,0,.4)}
.sheet.open .pass{transform:none}
.pass-top{position:relative;background:var(--aub);color:#fff;padding:22px 22px 18px}.pass-x{position:absolute;right:14px;top:14px;width:40px;height:40px;border-radius:12px;border:0;background:rgba(185,166,255,.2);color:#fff;font:500 24px/1 Manrope;cursor:pointer}.pass-top .kick{color:var(--volt)}
.pass-route{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.pass-route code{display:block;color:var(--lil);font-size:11px}.pass-route b{font:800 30px/1 Syne}.pass-route svg{width:90px}
.pass-links{padding:8px 14px}
.pass-links a{display:flex;align-items:center;gap:14px;padding:14px 8px;border-bottom:1.5px dashed var(--line);text-decoration:none;font:700 19px/1.2 Manrope}.pass-links a:last-child{border:0}
.pass-links code{font-size:13px;padding:5px 7px;border-radius:6px;background:var(--lil2);color:var(--aub)}.pass-links span{flex:1}.pass-links svg{width:18px;color:var(--vio)}
.tear{position:relative;height:22px;background:radial-gradient(circle at 0 50%,transparent 11px,#fff 11.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 11px,#fff 11.5px) right/51% 100% no-repeat}
.tear::after{content:"";position:absolute;left:18px;right:18px;top:50%;border-top:2px dashed var(--lil)}
.stub{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px 20px;background:#fff}.stub code{display:block;font-size:11px;color:var(--vio)}.stub b{font-size:14.5px;line-height:1.3;display:block}
.stub .btn{min-height:46px;padding:0 18px}
/* hero */
.hero{padding:70px 0 40px;text-align:center;position:relative;overflow:hidden;background:radial-gradient(1000px 500px at 50% 0,#fff 0,transparent 70%)}
.chip{display:inline-flex;gap:10px;align-items:center;padding:8px 14px 8px 8px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:700;font-size:14px}.chip code{padding:5px 8px;border-radius:999px;background:var(--volt);color:var(--aub);font-size:11px}
.hero h1{font-size:clamp(44px,6.7vw,104px);margin:24px 0 20px;color:var(--aub)}
.hl{position:relative;display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .12em;background:linear-gradient(transparent 58%,var(--volt) 58%,var(--volt) 92%,transparent 92%)}
.lede{max-width:640px;margin:0 auto 28px;font-size:19px;color:var(--mut)}
.ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.windows{display:flex;justify-content:center;gap:clamp(18px,3vw,46px);margin:60px auto 0;padding:0 24px}
.win{position:relative;width:clamp(150px,19vw,260px);aspect-ratio:13/20;border-radius:999px;padding:14px;background:linear-gradient(145deg,#fff,#DCD2F5);box-shadow:inset 0 0 0 1.5px #CFC3F5,0 30px 50px -30px rgba(46,26,71,.55)}
.win:nth-child(2){transform:translateY(-26px)}
.win svg{width:100%;height:100%;border-radius:999px;box-shadow:inset 0 0 0 6px rgba(46,26,71,.12);max-width:none}
.win::after{content:"";position:absolute;inset:14px;border-radius:999px;box-shadow:inset 0 0 0 6px rgba(46,26,71,.15),inset 10px 14px 30px rgba(255,255,255,.35);pointer-events:none}
.shade{position:absolute;left:14px;right:14px;top:14px;height:22%;border-radius:999px 999px 0 0;background:linear-gradient(#E9E3F7,#D3C8EF);z-index:2;box-shadow:0 3px 0 rgba(46,26,71,.12)}
.wl{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);white-space:nowrap;font:500 12px "DM Mono",monospace;color:var(--mut);letter-spacing:.06em}
.wc{animation:wdrift linear infinite}@keyframes wdrift{from{transform:translateX(-260px)}to{transform:translateX(300px)}}
.plane{animation:pfly 9s cubic-bezier(.45,0,.55,1) infinite}@keyframes pfly{0%{transform:translate(-70px,270px)}100%{transform:translate(330px,150px)}}
@keyframes fly{from{offset-distance:0%}to{offset-distance:100%}}
.flightinfo{display:grid;grid-template-columns:repeat(4,1fr);margin:80px auto 0;max-width:980px;background:#fff;border-radius:20px;border:1.5px solid var(--line);text-align:left;position:relative}
.flightinfo div{padding:20px 24px;border-left:2px dashed var(--line)}.flightinfo div:first-child{border-left:0}
.flightinfo code{display:block;font-size:11px;color:var(--vio);margin-bottom:6px}.flightinfo b{display:block;font:800 28px/1.1 Syne;color:var(--aub)}.flightinfo span{font-size:13.5px;color:var(--mut)}
/* sections */
.sec{padding:110px 0 20px}.sh{margin-bottom:46px;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.sh h2{font-size:clamp(38px,5vw,66px);color:var(--aub)}
.tags{display:grid;grid-template-columns:1.35fr 1fr;gap:34px 30px;align-items:start}
.tag{position:relative;display:block;text-decoration:none;border-radius:16px 16px 22px 22px;padding:58px 32px 32px;clip-path:polygon(44px 0,calc(100% - 44px) 0,100% 44px,100% 100%,0 100%,0 44px);transition:transform .4s cubic-bezier(.2,.9,.2,1)}
.tag:hover{transform:rotate(-1.2deg) translateY(-4px)}
.eye{position:absolute;left:50%;top:18px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--bg);box-shadow:0 0 0 5px rgba(255,255,255,.35)}
.strap{position:absolute;left:50%;top:-40px;width:6px;height:70px;margin-left:-3px;background:repeating-linear-gradient(180deg,#8B78C9 0 4px,#6E5AB0 4px 8px);border-radius:3px;z-index:2;display:none}
.t-aub{background:var(--aub);color:#fff}.t-lil{background:var(--lil);color:var(--aub)}
.tag.big{grid-row:span 2;display:grid;grid-template-columns:1.3fr .7fr;gap:24px;padding-top:64px}
.tag h3{font-size:clamp(26px,2.6vw,38px);margin:14px 0 12px}.tag p{margin:0 0 16px;opacity:.92}
.t-aub p{color:#E2D9FA}
.t-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.t-meta span{padding:6px 10px;border-radius:8px;font-size:13.5px;background:rgba(255,255,255,.1)}.t-lil .t-meta span{background:rgba(46,26,71,.1)}
.t-meta code{font-size:13px;color:var(--volt)}.t-lil .t-meta code{color:var(--vio)}
.fact{font-size:15px}
.go{display:inline-flex;gap:8px;align-items:center;font-weight:800;padding:12px 16px;border-radius:12px;background:var(--volt);color:var(--aub)}.go svg{width:16px}
.t-lil .go{background:var(--aub);color:var(--volt)}
.t-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;border-radius:16px;background:rgba(185,166,255,.12)}
.t-cap{font-size:13px;color:#E2D9FA}.t-cap code{color:var(--volt)}
.bg{width:100%;height:auto}.bg.big{max-width:200px}
.bg .sp{fill:none;stroke:#8B78C9;stroke-width:1.2;stroke-dasharray:2 3}.bg .fr{fill:none;stroke:#C7B9FF;stroke-width:1.2;stroke-dasharray:2 3}
.bg .safe{fill:rgba(212,255,63,.12);stroke:var(--volt);stroke-width:1.6;stroke-dasharray:5 4}
.bg .bag{fill:var(--lil)}.bg .hdl{fill:none;stroke:var(--lil);stroke-width:2.5}
.t-art .bg .bag{fill:var(--lil)}
.st .bg .safe,.pk-art .bg .safe{fill:rgba(91,51,196,.06);stroke:var(--vio)}.st .bg .bag,.pk-art .bg .bag{fill:var(--aub)}.st .bg .hdl,.pk-art .bg .hdl{stroke:var(--aub)}
.checklist{padding:28px 28px 20px;border-radius:20px;background:#fff;border:1.5px solid var(--line)}
.checklist ul{list-style:none;margin:14px 0 0;padding:0}.checklist li{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1.5px dashed var(--line);font-weight:700}
.checklist i{flex:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--aub)}
.stamps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.stamp{display:grid;place-items:center;aspect-ratio:1;text-decoration:none;border-radius:50%;border:3px solid currentColor;padding:12px;transition:transform .4s}
.stamp .s-ring{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%;border-radius:50%;border:2px dashed currentColor;text-align:center;padding:20px}
.stamp code{font-size:15px;padding:4px 8px;border-radius:6px;background:var(--sc);color:#fff}
.stamp b{font-size:clamp(20px,2vw,27px);line-height:1.05}.stamp span span,.stamp .s-ring>span{font:500 12px "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.s0{--sc:#2E1A47;color:var(--aub);transform:rotate(-6deg)}.s1{--sc:#5B33C4;color:var(--vio);transform:rotate(4deg);border-radius:28px}.s1 .s-ring{border-radius:20px}.s2{--sc:#7A2E6E;color:#7A2E6E;transform:rotate(-3deg)}.s3{--sc:#3D4FA8;color:#3D4FA8;transform:rotate(7deg);border-radius:28px}.s3 .s-ring{border-radius:20px}
.stamp:hover{transform:rotate(0) scale(1.04)}
.stamp.rv.in{opacity:1}
.method{margin-top:100px;padding:110px 0;background:var(--aub);color:#fff;position:relative;overflow:hidden}
.method::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 85% 30%,rgba(185,166,255,.25),transparent 70%)}
.m-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.m-grid h2{font-size:clamp(36px,4.6vw,60px);margin:14px 0 16px}.m-grid p{color:#E2D9FA}
.wts{display:flex;flex-direction:column;gap:12px;margin-top:24px}
.wts div{display:grid;gap:7px}
.wts i{display:block;height:12px;border-radius:99px;background:linear-gradient(90deg,var(--lil) var(--w),rgba(255,255,255,.1) var(--w))}
.wts div:first-child i{background:linear-gradient(90deg,var(--volt) var(--w),rgba(255,255,255,.1) var(--w))}
.wts span{display:flex;gap:12px;align-items:center;font-weight:700;color:#fff;font-size:15px}.wts code{font-size:14px;color:var(--volt)}
.method .small{color:#CFC3F5;font-size:13.5px}
.sizer{position:relative;padding:20px;border-radius:26px;background:rgba(255,255,255,.05);border:1.5px solid rgba(185,166,255,.3)}
.sbag{animation:slide 4s cubic-bezier(.5,0,.3,1) infinite alternate}@keyframes slide{from{transform:translateY(-40px)}to{transform:none}}
.sz-cap{display:block;text-align:center;font-weight:700;color:#E2D9FA}.sz-cap code{color:var(--volt);margin-right:6px}
.bpass{display:grid;grid-template-columns:1fr 290px;border-radius:26px;overflow:hidden;background:#fff;border:1.5px solid var(--line);box-shadow:0 40px 70px -50px rgba(46,26,71,.6)}
.bp-main{padding:44px 48px}.bp-main h2{font-size:clamp(30px,3.4vw,46px);color:var(--aub);margin:12px 0 10px}.bp-main p{margin:0 0 20px;color:var(--mut)}
.bp-main label{display:block;font-weight:800;font-size:14px;margin-bottom:8px}.bp-row{display:flex;gap:10px}.bp-row input{flex:1;min-width:0;height:56px;padding:0 18px;border-radius:14px;border:2px solid var(--aub);font:400 16px Manrope}
.small{font-size:13px;color:var(--mut)}.bp-main .small{margin:10px 0 0}
.bp-stub{position:relative;padding:34px 28px;background:var(--lil);display:flex;flex-direction:column;gap:14px;border-left:3px dashed var(--aub)}
.bp-stub code{display:block;font-size:11px;color:var(--aub);opacity:.8}.bp-stub b{font:800 22px/1.1 Syne;color:var(--aub)}
.code{margin-top:auto;height:54px;background:repeating-linear-gradient(90deg,var(--aub) 0 2px,transparent 2px 5px,var(--aub) 5px 6px,transparent 6px 9px,var(--aub) 9px 13px,transparent 13px 15px)}
/* footer */
.ftr{position:relative;margin-top:130px;padding:0 0 30px;background:var(--aub);color:#EDE7FF;overflow:hidden}
.arcs{width:100%;height:220px;max-width:none}
.arc{animation:dash 6s linear infinite}@keyframes dash{to{stroke-dashoffset:-100}}
.word{font:800 clamp(50px,11.6vw,172px)/.9 Syne;letter-spacing:-.05em;text-align:center;color:transparent;-webkit-text-stroke:2px var(--lil);margin:-10px 0 50px}
.fcols{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
.fcols h4{display:flex;gap:8px;align-items:center;font:800 18px Syne;margin:0 0 12px;color:#fff}.fcols h4 code{font-size:11px;padding:3px 6px;border-radius:4px;background:var(--volt);color:var(--aub)}
.fcols p{margin:0;color:#CFC3F5;font-size:15px}.fcols a{display:block;padding:6px 0;color:#EDE7FF;text-decoration:none;font-size:15.5px}.fcols a:hover{color:var(--volt)}
.fbase{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-top:40px;padding-top:22px;border-top:1.5px dashed rgba(185,166,255,.4);font-size:14px;color:#CFC3F5}.fbase code{color:var(--volt)}
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1)}.rv.in{opacity:1;transform:none}
.stamp.rv{transform:translateY(26px)}.stamp.rv.in{transform:none}.s0.rv.in{transform:rotate(-6deg)}.s1.rv.in{transform:rotate(4deg)}.s2.rv.in{transform:rotate(-3deg)}.s3.rv.in{transform:rotate(7deg)}
/* article */
.progress{position:fixed;left:0;top:0;height:4px;width:100%;background:var(--volt);transform-origin:left;transform:scaleX(0);z-index:65}
.ahero{padding:70px 0 70px;background:radial-gradient(900px 500px at 80% 20%,#E4DBFF,transparent 70%)}
.ah{display:grid;grid-template-columns:1.3fr .7fr;gap:60px;align-items:center}
.crumbs{display:flex;gap:10px;flex-wrap:wrap;font:500 13px "DM Mono",monospace;color:var(--mut)}.crumbs a{color:var(--vio)}
.ahero h1{font-size:clamp(40px,5vw,72px);color:var(--aub);margin:18px 0 18px}
.dek{font-size:19px;color:var(--mut);margin:0 0 24px;max-width:640px}
.byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.av{display:grid;place-items:center;flex:none;width:50px;height:50px;border-radius:14px;background:var(--aub);color:var(--volt);font:800 17px Syne}
.byline b{display:block;font-size:15.5px}.byline div span{font-size:14px;color:var(--mut)}
.ver{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;background:var(--volt);color:var(--aub);font-weight:800;font-size:13.5px}.ver i{width:8px;height:8px;border-radius:50%;background:var(--aub)}
.disc{font-size:14.5px;color:var(--mut);margin:16px 0 0}.disc a{color:var(--vio);font-weight:800}
.hpass{background:var(--aub);color:#fff;border-radius:22px;overflow:hidden;transform:rotate(3deg);box-shadow:0 40px 70px -30px rgba(46,26,71,.7);transition:transform .5s}
.hpass:hover{transform:rotate(0)}
.hp-top{display:flex;justify-content:space-between;padding:18px 22px;font-size:13px;color:var(--lil)}.hp-top code{color:#fff}
.hp-route{display:flex;align-items:center;justify-content:space-between;padding:0 22px 14px}.hp-route code{display:block;font-size:11px;color:var(--lil)}.hp-route b{font:800 56px/1 Syne;color:var(--volt)}
.hp-route svg{width:110px;overflow:visible}
.hplane{offset-path:path("M4 34 Q60 -10 116 34");animation:fly 5s ease-in-out infinite alternate;offset-rotate:auto}
.hp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(185,166,255,.25);border-top:1px solid rgba(185,166,255,.25)}.hp-grid div{padding:14px 22px;background:var(--aub)}.hp-grid code{display:block;font-size:10.5px;color:var(--lil)}.hp-grid b{font-size:15.5px}
.hp-tear{height:22px;background:radial-gradient(circle at 0 50%,var(--bg) 11px,transparent 11.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,var(--bg) 11px,transparent 11.5px) right/51% 100% no-repeat,var(--aub);position:relative}
.hp-tear::after{content:"";position:absolute;left:18px;right:18px;top:50%;border-top:2px dashed var(--lil)}
.hp-code{height:46px;margin:2px 22px 20px;background:repeating-linear-gradient(90deg,var(--lil) 0 2px,transparent 2px 5px,var(--lil) 5px 6px,transparent 6px 9px,var(--lil) 9px 13px,transparent 13px 15px)}
.itin{position:sticky;top:74px;z-index:50;background:rgba(246,242,255,.92);backdrop-filter:blur(10px);border-top:1.5px solid var(--line);border-bottom:1.5px solid var(--line);margin-top:12px}
.itin ol{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}.itin ol::-webkit-scrollbar{display:none}
.itin a{display:flex;align-items:center;gap:8px;padding:14px 12px;white-space:nowrap;text-decoration:none;font-weight:700;font-size:14px;color:var(--mut)}.itin a code{font-size:11px;padding:3px 5px;border-radius:4px;background:var(--lil2);color:var(--aub)}
.itin a:hover{color:var(--aub)}.itin li:first-child a code{background:var(--volt)}
.acol{max-width:1160px}
.answer{display:grid;grid-template-columns:1.4fr 1fr;gap:28px;margin-top:56px;padding:36px;border-radius:24px;background:#fff;border:2px solid var(--aub);box-shadow:10px 10px 0 var(--lil)}
.answer .big{font:700 22px/1.5 Manrope;margin:14px 0 20px;color:var(--aub)}
mark{background:linear-gradient(transparent 55%,var(--volt) 55%);color:inherit;padding:0 2px}
.ans-cta{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.ans-cta>span{font-size:14px;font-weight:700;color:var(--mut)}
.minis{display:flex;flex-direction:column;gap:10px}
.mini{display:flex;gap:14px;align-items:center;padding:16px;border-radius:16px;background:var(--lil3);text-decoration:none;border:1.5px solid var(--line);transition:transform .25s}
.mini:hover{transform:translateX(4px)}.mini code{font-size:18px;padding:8px;border-radius:10px;background:var(--aub);color:var(--volt)}
.mini b{display:block;font-size:15.5px;line-height:1.25}.mini small{display:block;color:var(--mut);font-size:13px}
.tier{font-size:13.5px;font-weight:700;color:var(--mut);white-space:nowrap}.tier b{font:500 15.5px "DM Mono";color:var(--aub)}.tier s{text-decoration:none;font:500 15.5px "DM Mono";color:#B8AED0}
.prose{margin-top:84px}.prose h2{font-size:clamp(30px,3.4vw,44px);color:var(--aub);margin:0 0 18px}.prose p{max-width:70ch}
.sizerbox{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;padding:36px;border-radius:24px;background:var(--lil2)}
.sizerbox h2{margin-top:10px}
.cmp{width:100%;max-width:340px;height:auto;justify-self:center}
.cmp .sp{fill:rgba(91,51,196,.08);stroke:var(--vio);stroke-width:2;stroke-dasharray:6 5}.cmp .fr{fill:rgba(122,46,110,.06);stroke:#7A2E6E;stroke-width:2;stroke-dasharray:2 4}.cmp .safe2{fill:var(--volt);stroke:var(--aub);stroke-width:2.5}
.cmp .lab{font:500 13px "DM Mono",monospace}.cmp .sp-t{fill:var(--vio)}.cmp .fr-t{fill:#7A2E6E}.cmp .safe-t{fill:var(--aub);font-size:15px}.cmp .safe-t2{fill:var(--aub);font-size:13px}
.tblwrap{border-radius:22px;overflow:hidden;background:#fff;border:2px solid var(--aub)}
.st{width:100%;border-collapse:collapse;font-size:15px}
.st caption{caption-side:top;text-align:left;padding:14px 20px;background:var(--aub);color:#E2D9FA;font-size:13px}.st caption code{color:var(--volt);margin-right:8px}
.st th{text-align:left;padding:14px 12px;font:500 11.5px/1.2 "DM Mono";letter-spacing:.1em;text-transform:uppercase;color:var(--vio);border-bottom:2px dashed var(--line)}
.st td{padding:14px 12px;border-bottom:1.5px dashed var(--line);vertical-align:middle}.st tr:last-child td{border-bottom:0}
.st th:first-child,.st td:first-child{padding-left:20px}.st td.cta{padding-right:18px;text-align:right}
.st td.m{display:flex;gap:12px;align-items:center}.st td.m a{font-weight:800;text-decoration:none;font-size:15.5px;line-height:1.3}.st td.m small{display:block;color:var(--mut);font-size:13px}
.no code{display:inline-block;font-size:14px;padding:7px 8px;border-radius:8px;background:var(--lil2);color:var(--aub)}
.st tbody tr:hover{background:var(--lil3)}
.szc{display:flex;align-items:center;gap:10px}.szc .bg{width:44px;flex:none}.szc small{display:block;font-size:12px;color:var(--mut)}
.fit{display:inline-flex;align-items:center;gap:4px;margin:2px 4px 2px 0;padding:4px 8px;border-radius:8px;background:var(--volt);color:var(--aub);font-weight:800;font-size:13px}.fit code{font-size:11px}
.note{font-size:13px;color:var(--mut);margin-top:14px}
.picks{margin-top:90px}.picks>h2{font-size:clamp(30px,3.4vw,44px);color:var(--aub);margin-bottom:30px}
.pick{display:grid;grid-template-columns:96px 1fr;margin-bottom:34px;border-radius:24px;background:#fff;border:1.5px solid var(--line);overflow:hidden;box-shadow:0 30px 60px -48px rgba(46,26,71,.6)}
.pk-tag{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 0;background:var(--aub);color:#fff}
.pk-tag .eye{position:static;margin:0;width:20px;height:20px;background:#fff;box-shadow:0 0 0 5px var(--lil)}
.pk-tag code{font:500 30px "DM Mono";color:var(--volt)}
.pk-tag .award{writing-mode:vertical-rl;transform:rotate(180deg);font:500 12px "DM Mono";letter-spacing:.14em;text-transform:uppercase;color:var(--lil)}
.pick.up .pk-tag{background:var(--volt);color:var(--aub)}.pick.up .pk-tag code,.pick.up .pk-tag .award{color:var(--aub)}.pick.up .pk-tag .eye{box-shadow:0 0 0 5px var(--aub)}
.pick.up{border:2px solid var(--aub)}
.pk-main{padding:30px 32px}
.pk-main h3{font-size:clamp(23px,2.3vw,30px);color:var(--aub)}.bf{margin:8px 0 22px;color:var(--mut)}.bf b{color:var(--ink)}
.pk-grid{display:grid;grid-template-columns:200px 1fr;gap:28px}
.pk-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px;border-radius:18px;background:var(--lil3)}.pk-art .bg.big{max-width:150px}.cap{font-size:12px;color:var(--mut);text-align:center;margin:10px 0 0;line-height:1.4}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}.specs div{padding:12px 14px;border-radius:12px;background:var(--lil3);border:1.5px solid var(--line)}.specs .wide{grid-column:1/-1}
.specs dt{font:500 11px "DM Mono";letter-spacing:.1em;text-transform:uppercase;color:var(--vio)}.specs dd{margin:4px 0 0;font:800 17px/1.25 Manrope;color:var(--aub)}
.pbody{margin:0 0 16px;color:var(--mut);font-size:15.5px}
.buy{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:14px;border-top:1.5px dashed var(--line)}.pl{display:block;font:500 11px "DM Mono";letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.pc{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.pc>div{padding:18px;border-radius:16px;background:#F3FFD1}.pc>div.cn{background:#FFECEF}
.pc h4{font:500 12px "DM Mono";letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;color:#3D5A00}.cn h4{color:#9B1C3A}
.pc ul{margin:0;padding-left:18px}.pc li{font-size:15px;line-height:1.5;padding-bottom:6px}
.themes{margin:16px 0 0;padding:16px 18px;border-radius:14px;border:1.5px dashed var(--lil);font-size:15px}
.mbox{padding:40px;border-radius:24px;background:var(--aub);color:#fff}.mbox h2{color:#fff;margin-top:12px}.mbox p{color:#E2D9FA}
.expl h2{display:flex;align-items:baseline;gap:14px;margin-top:48px}.expl h2:first-child{margin-top:0}.expl h2 code{flex:none;font-size:13px;padding:6px 8px;border-radius:6px;background:var(--aub);color:var(--volt);transform:translateY(-6px)}
.faq details{border-bottom:1.5px dashed var(--line)}.faq summary{list-style:none;cursor:pointer;padding:20px 50px 20px 0;font:700 18.5px/1.35 Manrope;position:relative;color:var(--aub)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:14px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--lil2);font:500 20px "DM Mono";transition:transform .3s,background .3s}
.faq details[open] summary::after{transform:rotate(45deg);background:var(--volt)}.faq details p{margin:0 0 20px;color:var(--mut)}
.endcta{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center;margin-top:80px;padding:44px;border-radius:26px;background:var(--volt);color:var(--aub);box-shadow:10px 10px 0 var(--aub)}
.endcta h2{font-size:clamp(28px,3vw,40px);margin:10px 0 8px}.endcta p{margin:0}.endcta .amz-note{color:#3F3358}
.author{display:flex;gap:18px;padding:26px;border-radius:20px;background:var(--lil2)}.author p{margin:6px 0 0;color:var(--mut);font-size:15.5px}
.src{padding-left:22px;font-size:14.5px;color:var(--mut)}.src li{padding:4px 0}
.related{margin-top:60px}.related h2{font-size:28px;color:var(--aub);margin-bottom:16px}.related .tag{max-width:560px}
.mob-bar{display:none}
@media (max-width:1100px){.route{display:none}.nav a{padding:10px 10px}}
@media (max-width:960px){
 .nav{display:none}.menu-btn{display:inline-flex;margin-left:auto;align-items:center;gap:10px;height:46px;padding:0 6px 0 16px;border-radius:12px;border:0;background:var(--volt);color:var(--aub);font:800 15px Manrope;cursor:pointer}
 .menu-btn code{padding:7px 8px;border-radius:8px;background:var(--aub);color:var(--volt);font-size:11px}
 .tags,.m-grid,.ah,.answer,.sizerbox,.endcta{grid-template-columns:1fr}.tag.big{grid-row:auto}.stamps{grid-template-columns:1fr 1fr}.fcols{grid-template-columns:1fr 1fr}.bpass{grid-template-columns:1fr}.bp-stub{flex-direction:row;flex-wrap:wrap;border-left:0;border-top:3px dashed var(--aub)}.bp-stub .code{width:100%}
 .hpass{max-width:440px}
}
@media (max-width:640px){
 body{font-size:16.5px}.wrap{padding:0 18px}.hdr .wrap{height:66px}.logo{font-size:21px}.logo .lg{width:34px;height:34px}
 .itin{top:66px}
 .hero{padding:44px 0 20px}.hero h1{font-size:clamp(46px,13.4vw,58px);margin:20px 0 16px}.lede{font-size:17px}.ctas .btn{width:100%}
 .windows{gap:10px;margin-top:40px;padding:0 14px}.win{width:31%;padding:7px}.win::after,.shade{inset:7px}.shade{left:7px;right:7px;top:7px;bottom:auto}.win:nth-child(2){transform:translateY(-14px)}.wl{font-size:10px;bottom:-26px}
 .flightinfo{grid-template-columns:1fr 1fr;margin-top:56px}.flightinfo div{padding:16px 18px}.flightinfo div:nth-child(3){border-left:0}.flightinfo div:nth-child(n+3){border-top:2px dashed var(--line)}.flightinfo b{font-size:22px}
 .sec{padding:80px 0 10px}
 .tag{padding:54px 22px 24px;clip-path:polygon(30px 0,calc(100% - 30px) 0,100% 30px,100% 100%,0 100%,0 30px)}.tag.big{grid-template-columns:1fr;padding-top:56px}
 .t-art .bg.big{max-width:110px}.stamps{gap:16px}.stamp{padding:8px}.stamp .s-ring{padding:10px;gap:5px}.stamp b{font-size:17px}.stamp code{font-size:12px}.stamp .s-ring>span{font-size:10px}
 .method{padding:80px 0;margin-top:80px}.m-grid{gap:40px}
 .bp-main{padding:30px 22px}.bp-row{flex-direction:column}.bp-row .btn{width:100%}.bp-stub{padding:20px 22px}.bp-stub b{font-size:18px}
 .arcs{height:140px}.word{font-size:16.5vw;-webkit-text-stroke-width:1.5px;margin-bottom:34px}.fcols{grid-template-columns:1fr;gap:26px}
 .hp-grid,.hp-code{display:none}.hp-tear{display:none}.hpass{margin-top:4px}.hp-route b{font-size:38px!important}
 .ahero{padding:36px 0 40px}.ahero h1{font-size:36px}.dek{font-size:17px}.hpass{transform:rotate(1.5deg)}.hp-route b{font-size:44px}
 .answer{margin-top:36px;padding:24px 20px;box-shadow:6px 6px 0 var(--lil)}.answer .big{font-size:19px}.ans-cta .btn-amz{width:100%}
 .sizerbox{padding:26px 20px}
 .tblwrap{background:none;border:0;border-radius:0;overflow:visible}
 .st,.st tbody,.st tr,.st td,.st caption{display:block;width:100%}.st thead{display:none}.st caption{border-radius:14px;margin-bottom:14px}
 .st tr{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;padding:18px;border-radius:18px;background:#fff;border:2px solid var(--aub);box-shadow:6px 6px 0 var(--lil)}
 .st td{padding:0!important;border:0;text-align:left!important}.st td.m,.st td.cta,.st td[data-l="Overall size"]{grid-column:1/-1}
 .st td[data-l]:not(.m)::before{content:attr(data-l);display:block;font:500 10.5px/1.2 "DM Mono";letter-spacing:.1em;text-transform:uppercase;color:var(--vio);margin-bottom:5px}
 .st td.m a{font-size:17px}.st .btn-amz{width:100%}
 .pick{grid-template-columns:1fr}.pk-tag{flex-direction:row;padding:14px 20px;gap:14px}.pk-tag .award{writing-mode:horizontal-tb;transform:none;margin-left:auto}.pk-tag code{font-size:24px}
 .pk-main{padding:22px 20px}.pk-grid{grid-template-columns:1fr;gap:18px}.pk-art{flex-direction:row;gap:16px}.pk-art .bg.big{max-width:90px}.cap{text-align:left}
 .pc{grid-template-columns:1fr}.buy .btn-amz{width:100%}
 .mbox{padding:28px 20px}.endcta{padding:30px 22px;box-shadow:6px 6px 0 var(--aub)}.endcta .btn-amz{width:100%}
 .mob-bar{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:40;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 20px;border-radius:16px;background:var(--aub);color:#fff;box-shadow:0 20px 40px -14px rgba(0,0,0,.5);transform:translateY(150%);transition:transform .4s cubic-bezier(.2,.8,.2,1);
  -webkit-mask:radial-gradient(circle at 0 50%,transparent 9px,#000 9.5px) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,transparent 9px,#000 9.5px) right/51% 100% no-repeat}
 .mob-bar.show{transform:none}.mob-bar div{display:flex;flex-direction:column;min-width:0}.mob-bar code{font-size:11px;color:var(--volt)}.mob-bar b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .mob-bar .btn-amz{min-height:46px;padding:0 14px;font-size:14px;flex:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

/* ===== Stowlore theme layer (appended after the mockup stylesheet, which is kept verbatim above) ===== */
/* Reviewer rule 2: reveal animations default to VISIBLE. They only run when JavaScript has
   added the .js class to <html>, and never under prefers-reduced-motion. Without JS, every
   .rv element is fully visible; nothing is hidden behind JavaScript. Specificity (not
   !important) keeps the mockup hover effects working once an element is revealed. */
.rv{opacity:1;transform:none}
.stamp.rv{transform:none}
html.js .rv{opacity:0;transform:translateY(26px)}
html.js .rv.in{opacity:1;transform:none}
html.js .s0.rv.in{transform:rotate(-6deg)}
html.js .s1.rv.in{transform:rotate(4deg)}
html.js .s2.rv.in{transform:rotate(-3deg)}
html.js .s3.rv.in{transform:rotate(7deg)}
html.js .tag.rv.in:hover{transform:rotate(-1.2deg) translateY(-4px)}
html.js .stamp.rv.in:hover{transform:rotate(0) scale(1.04)}
@media (prefers-reduced-motion:reduce){html.js .rv,html.js .rv.in,html.js .s0.rv.in,html.js .s1.rv.in,html.js .s2.rv.in,html.js .s3.rv.in,html.js .tag.rv.in:hover,html.js .stamp.rv.in:hover{opacity:1;transform:none}}
/* Template helpers: builder-rendered fragments inside mockup wrappers. */
.crumbs-bar{padding-top:26px}
.logo .lg-word{display:flex;flex-direction:column;line-height:1.05}
.logo .lg-word small{font:500 11px/1.4 Manrope,sans-serif;letter-spacing:0;color:#CFC3F5;margin-top:4px}
.fcols--three{grid-template-columns:1.5fr 1fr 1fr}
.stamps--three{grid-template-columns:repeat(3,1fr)}
.tag:not(.t-lil){background:var(--aub);color:#fff}
.tag:not(.t-lil) p{color:#E2D9FA}
.tag:not(.t-lil) .t-meta span{background:rgba(255,255,255,.1)}
.tag:not(.t-lil) .t-meta code{color:var(--volt)}
.itin ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.itin ul::-webkit-scrollbar{display:none}
.itin ul a{display:flex;align-items:center;gap:8px;padding:14px 12px;white-space:nowrap;text-decoration:none;font-weight:700;font-size:14px;color:var(--mut)}
.itin ul a:hover{color:var(--aub)}
.itin a[aria-current]{color:var(--aub)}
.answer--single{grid-template-columns:1fr}
.answer--single .an-l p{font:700 20px/1.55 Manrope,sans-serif;color:var(--aub);margin:14px 0 0}
.trust{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:26px}
.trust a{padding:8px 14px;border-radius:999px;background:#fff;border:1.5px solid var(--line);font-weight:700;font-size:14px;text-decoration:none;color:var(--aub)}
.ahero .meta{font:500 13px "DM Mono",monospace;color:var(--mut);margin:0 0 12px}
.ahero .intro{max-width:70ch;color:var(--mut)}
.ahero .intro p{margin:0 0 12px}
.prose ul{padding-left:22px}
.prose li{margin-bottom:6px}
.prose li a{color:var(--vio);font-weight:700}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th{padding:12px;text-align:left;font:500 11.5px/1.2 "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--vio);border-bottom:2px dashed var(--line)}
.prose td{padding:12px;border-bottom:1.5px dashed var(--line);vertical-align:top}
.author h2{font-size:22px;margin:0 0 6px}
.faq h3{font:700 18.5px/1.35 Manrope,sans-serif;color:var(--aub);margin:22px 0 6px}
.faq p{color:var(--mut);margin:0 0 20px}
.faq .faq-item{border-bottom:1.5px dashed var(--line)}
/* Real compare tables use data-label and row headers; the mockup table uses data-l. */
.st th[scope="row"]{font:800 15.5px/1.3 Manrope,sans-serif;color:var(--aub);text-transform:none;letter-spacing:0}
.tblwrap table:not(.st){width:100%;border-collapse:collapse;font-size:15px}
.tblwrap table:not(.st) th{padding:12px;text-align:left;font:500 11.5px/1.2 "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--vio);border-bottom:2px dashed var(--line)}
.tblwrap table:not(.st) td{padding:12px;border-bottom:1.5px dashed var(--line);vertical-align:top}
/* Pick specs arrive as list items from the builder; style them as mockup spec chips. */
.specs li{list-style:none;padding:12px 14px;border-radius:12px;background:var(--lil3);border:1.5px solid var(--line);font:800 15px/1.3 Manrope,sans-serif;color:var(--aub)}
.pk-body p{margin:0 0 14px;color:var(--mut);font-size:15.5px}
.pk-body ul{margin:0 0 14px;padding-left:20px}
.pk-body li{font-size:15px;line-height:1.5;padding-bottom:4px}
.pk-body p a{color:var(--vio);font-weight:700}
/* Related links arrive as plain list items from the builder. */
.related .tags li{list-style:none}
.related .tags li a{display:block;padding:20px 24px;border-radius:16px;background:var(--lil);color:var(--aub);font:800 19px Syne,sans-serif;text-decoration:none}
/* Sponsored placement (sponsored partial). */
.sponsored{padding:20px;border:2px dashed var(--lil);border-radius:16px}
.sponsored-tab{font:500 11px "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--vio);margin:0 0 8px}
@media (max-width:640px){
 .st th{display:block;padding:0!important;border:0;text-align:left!important}
 .st th[scope="row"]{grid-column:1/-1;font-size:17px}
 .st td[data-label]:not(.m)::before{content:attr(data-label);display:block;font:500 10.5px/1.2 "DM Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--vio);margin-bottom:5px}
}
.mbox a{color:var(--volt);font-weight:700}
.tags--three{grid-template-columns:repeat(3,1fr)}
@media (max-width:960px){
 .tags--three{grid-template-columns:1fr}
 .stamps--three{grid-template-columns:1fr 1fr}
 .fcols--three{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .fcols--three{grid-template-columns:1fr}
}

/* PC merge 3 Nov 2026: builder logo_svg in the header; card link restored as a stretched link */
.logo .lg-svg{display:flex;align-items:center}.logo .lg-svg svg{display:block;height:32px;width:auto}.logo .lg-word small{margin-top:0}
.tag .go::after{content:"";position:absolute;inset:0;border-radius:inherit}
/* PC merge 3 Nov 2026: the pick CTA comes from the article body (one link per pick), styled as the mockup button */
.pk-body p>a[rel~="sponsored"]:only-child{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;padding:0 22px;border-radius:12px;background:var(--amz);color:#111;font:800 15.5px/1.2 Manrope,sans-serif;text-decoration:none;text-align:center;transition:transform .2s,box-shadow .2s}
.pk-body p>a[rel~="sponsored"]:only-child:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--aub)}
.buy:not(:has(.pl)){display:none}
.related ul.tags{margin:0;padding:0}
.hero .meta{font:500 13px "DM Mono",monospace;color:var(--mut);margin:0 0 12px}
.prose li,.prose p{overflow-wrap:anywhere}
.logo .lg-svg svg{overflow:visible}.logo .lg-svg svg text{font-size:18px;letter-spacing:-.02em}
