:root{--navy:#020c1d;--navy2:#0a1a33;--red:#fd433d;--green:#fd433d;--ink:#0b1424;--mut:#5b6678;--line:#e3e7ee;--bg:#fff;--alt:#f4f6f9;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:'Barlow',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
img{max-width:100%;display:block}a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}
h1,h2,h3,.btn,.chip,.nl{font-family:'Barlow Condensed',sans-serif}
h1{font-size:clamp(46px,8vw,96px);line-height:.95;margin:0 0 16px;font-weight:700;text-transform:uppercase;letter-spacing:.01em}
h2{font-size:clamp(30px,4vw,44px);line-height:1.05;margin:0 0 18px;font-weight:700;text-transform:uppercase}
h3{font-size:24px;margin:0 0 6px;font-weight:600;text-transform:uppercase}
.lead{font-size:clamp(18px,2.2vw,23px);max-width:640px;margin:0 0 26px}
.big{font-size:19px}.fine{font-size:14px;color:var(--mut)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(2,12,29,.96);backdrop-filter:blur(8px)}
.bar{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand img{height:40px;width:auto}
.menu{display:flex;gap:4px;list-style:none;margin:0;padding:0;align-items:center}
.nl{display:block;padding:10px 14px;color:#fff;text-decoration:none;font-size:19px;text-transform:uppercase;letter-spacing:.04em;font-weight:500}
.nl:hover,.nl.active{color:var(--red)}
.has-dd{position:relative}.dd{position:absolute;top:100%;left:0;min-width:220px;background:var(--navy2);border-radius:10px;padding:8px;display:none;box-shadow:0 12px 30px rgba(0,0,0,.35)}
.has-dd:hover .dd,.has-dd:focus-within .dd{display:block}
.dd a{display:block;color:#fff;text-decoration:none;padding:9px 12px;border-radius:6px;font-size:16px}.dd a:hover{background:rgba(255,255,255,.08);color:var(--red)}
.burger{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;padding:10px}
.burger span{display:block;height:2px;background:#fff;margin:7px 0;transition:.2s}
/* buttons, chips */
.btn{display:inline-block;background:var(--red);color:#fff;text-decoration:none;padding:14px 28px;border-radius:999px;font-size:20px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:2px solid var(--red);transition:.2s}
.btn:hover{background:#e22f29;border-color:#e22f29}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.7)}.btn-ghost:hover{background:#fff;color:var(--navy);border-color:#fff}
.btn-sm{padding:8px 20px;font-size:17px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:0}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 10px}
.chip{display:inline-block;font-size:15px;padding:2px 12px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;text-transform:uppercase;letter-spacing:.06em;font-weight:600}
.chip.red{background:var(--red)}
.card .chip{background:var(--alt);color:var(--ink)}.card .chip.red{background:var(--red);color:#fff}
/* hero */
.hero{min-height:88vh;background-size:cover;background-position:center;color:#fff;display:flex;align-items:flex-end;padding:120px 0 70px}
.hero em{font-style:normal;color:var(--green)}
.phero{background-size:cover;background-position:center;color:#fff;padding:90px 0 70px}
.phero h1{margin-top:6px}.crumb{margin:0;font-size:15px;opacity:.85}.crumb a{text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.phero .chips{margin:0 0 24px}
.ihero{background:var(--navy);color:#fff;padding:70px 0 50px}.ihero h1{font-size:clamp(42px,6vw,72px)}.ihero .lead{margin:0}
.stats{background:var(--navy);color:#fff}.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding-top:26px;padding-bottom:26px}
.stats b{display:block;font-family:'Barlow Condensed';font-size:26px;text-transform:uppercase;color:var(--green)}.stats span{font-size:15px;opacity:.8}
/* sections */
.sec{padding:76px 0}.sec.alt{background:var(--alt)}
.shead{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.more{font-family:'Barlow Condensed';font-size:19px;text-transform:uppercase;letter-spacing:.05em;color:var(--red);text-decoration:none;font-weight:600}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}.two.center{align-items:center}
.feat{display:grid;gap:14px}.f{border-left:3px solid var(--red);padding:2px 0 2px 16px}.f h3{font-size:21px}.f p{margin:0;color:var(--mut);font-size:16px}
.ticks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.ticks li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px 14px 44px;position:relative}
.ticks li:before{content:"";position:absolute;left:16px;top:20px;width:14px;height:8px;border-left:3px solid var(--green);border-bottom:3px solid var(--green);transform:rotate(-45deg)}
/* cards */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.g3{grid-template-columns:repeat(3,1fr)}
.card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.25s}
a.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(2,12,29,.14)}
.ci{aspect-ratio:4/3;overflow:hidden;background:var(--alt)}.ci img{width:100%;height:100%;object-fit:cover;transition:.5s}a.card:hover .ci img{transform:scale(1.05)}
.ph{width:100%;height:100%;background:linear-gradient(135deg,#e9edf3,#d6dce6)}
.cb{padding:18px 20px 22px}.cb p{margin:0;color:var(--mut);font-size:16px}.cb .chips{margin-bottom:8px}
/* gallery */
.gal{columns:3 280px;column-gap:14px}.gi{display:block;margin:0 0 14px;border-radius:10px;overflow:hidden;break-inside:avoid;cursor:zoom-in}.gi img{width:100%;transition:.4s}.gi:hover img{transform:scale(1.03)}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:10px}.cols .gi{margin:0}
/* table */
.tw{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:#fff}
.tech{width:100%;border-collapse:collapse;font-size:16px;min-width:480px}
.tech th,.tech td{padding:11px 16px;border-bottom:1px solid var(--line);text-align:center}
.tech thead th{background:var(--navy);color:#fff;font-family:'Barlow Condensed';font-size:19px;letter-spacing:.05em;text-transform:uppercase}
.tech tbody th{text-align:left;font-weight:600;background:var(--alt)}.tech tr:last-child>*{border-bottom:0}
.tech:not(:has(thead)) td{text-align:left}
/* band */
.band{background:var(--navy);color:#fff;text-align:center;padding:76px 0}.band p{opacity:.85}.band .actions{justify-content:center}
/* misc */
.dgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.dealer{border:1px solid var(--line);border-radius:var(--r);padding:26px}.dealer.become{background:var(--navy);color:#fff;border-color:var(--navy)}.dealer p{margin:8px 0}
.dealer .chip{background:var(--alt);color:var(--ink)}
.prose p{margin:0 0 18px}.prose.narrow{max-width:800px}.prose h2{margin-top:36px}.prose h3{margin-top:24px;font-size:22px}.prose ul,.prose ol{padding-left:22px}
.rimg{border-radius:var(--r);margin-bottom:18px;width:100%}
/* footer */
.site-footer{background:var(--navy);color:#fff;padding:60px 0 0}.fgrid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.4fr;gap:32px}
.site-footer h4{font-family:'Barlow Condensed';font-size:20px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;color:var(--green)}
.site-footer a{display:block;color:rgba(255,255,255,.82);text-decoration:none;padding:3px 0;font-size:16px}.site-footer a:hover{color:var(--red)}
.site-footer .fine{color:rgba(255,255,255,.6);margin:8px 0 0}
.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding:20px;font-size:14px;color:rgba(255,255,255,.6)}.legal a{display:inline;font-size:14px}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;background:#25d366;color:#fff!important;padding:12px 20px!important;border-radius:999px;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.3);font-size:16px!important}
.wa-float:hover{color:#fff!important;background:#1ebe5a}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(2,12,29,.94);z-index:100;display:flex;align-items:center;justify-content:center;padding:30px}.lb[hidden]{display:none}
.lb img{max-height:90vh;max-width:94vw;border-radius:8px}.lb-x{position:absolute;top:14px;right:22px;background:none;border:0;color:#fff;font-size:44px;cursor:pointer}
@media(max-width:900px){
 .burger{display:block}.menu{position:absolute;top:68px;left:0;right:0;background:var(--navy);flex-direction:column;align-items:stretch;padding:10px 20px 24px;display:none;gap:0}
 .menu.open{display:flex}.has-dd .dd{display:block;position:static;background:none;box-shadow:none;padding:0 0 6px 14px}.dd a{font-size:15px;color:rgba(255,255,255,.75);padding:5px 8px}
 .cta-li{margin-top:10px}
 .two,.dgrid{grid-template-columns:1fr}.grid,.grid.g3{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}.stats .wrap{grid-template-columns:1fr 1fr}
 .sec{padding:56px 0}.hero{min-height:78vh}
}
@media(max-width:560px){.grid,.grid.g3,.fgrid{grid-template-columns:1fr}body{font-size:16px}.wa-float{right:12px;bottom:12px}}

.grid.g4{grid-template-columns:repeat(4,1fr)}
.narrow2{max-width:860px}
.quote{background:var(--navy);color:#fff;text-align:center;padding:64px 0}.quote p{font-family:'Barlow Condensed';font-size:clamp(30px,5vw,54px);text-transform:uppercase;margin:0;font-weight:600}
.team{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.tm{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.tm img,.tph{width:100%;aspect-ratio:4/5;object-fit:cover}.tm h3,.tm p{padding:0 18px}.tm h3{margin-top:14px}.tm p{margin:0 0 18px;color:var(--mut);font-size:16px}
.ck{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;background:var(--navy);color:#fff;border-radius:14px;padding:16px 20px;display:flex;gap:18px;align-items:center;justify-content:space-between;box-shadow:0 12px 40px rgba(0,0,0,.4);max-width:760px;margin:0 auto;font-size:15px}.ck[hidden]{display:none}.ck p{margin:0}.ck a{color:var(--green)}.ck div{display:flex;gap:8px;flex-shrink:0}
@media(max-width:900px){.grid.g4,.team{grid-template-columns:1fr 1fr}.ck{flex-direction:column;align-items:flex-start}}
@media(max-width:560px){.grid.g4,.team{grid-template-columns:1fr}}
.lhero{background-color:var(--navy);background-repeat:no-repeat;background-size:auto 115%;background-position:right 6% center;min-height:420px}
.lhero .crumb{color:#fff}.lhero .crumb a{color:#fff}
@media(max-width:700px){.lhero{background-size:auto 60%;background-position:right -20px bottom;padding-bottom:200px}}

/* ---- light theme overrides ---- */
:root{--soft:#eaf2fb;--soft2:#f4f7fb}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line)}
.nl{color:var(--ink)}.nl:hover,.nl.active{color:var(--red)}
.dd{background:#fff;box-shadow:0 12px 30px rgba(11,20,36,.15);border:1px solid var(--line)}.dd a{color:var(--ink)}.dd a:hover{background:var(--soft2);color:var(--red)}
.burger span{background:var(--ink)}
.btn-ghost{color:var(--ink);border-color:rgba(11,20,36,.3)}.btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip{background:rgba(11,20,36,.07);color:var(--ink)}.chip.red{background:var(--red);color:#fff}
.hero,.phero{color:var(--ink)}.hero em{color:#fd433d}
.crumb{opacity:1}.crumb a{border-bottom-color:rgba(11,20,36,.3)}
.ihero{background:var(--soft);color:var(--ink)}.lhero .crumb,.lhero .crumb a{color:var(--ink)}
.stats{background:var(--soft2);color:var(--ink);border-bottom:1px solid var(--line)}.stats b{color:#fd433d}.stats span{opacity:.75}
.band,.quote{background:var(--soft);color:var(--ink)}.band p{opacity:.8}
.dealer.become{background:var(--soft);color:var(--ink);border-color:var(--soft)}
.tech thead th{background:#dce8f6;color:var(--ink)}
.site-footer{background:var(--soft2);color:var(--ink);border-top:1px solid var(--line)}
.site-footer a{color:var(--mut)}.site-footer a:hover{color:var(--red)}.site-footer .fine{color:var(--mut)}
.site-footer h4{color:#fd433d}.legal{border-top-color:var(--line);color:var(--mut)}
.ck{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 40px rgba(11,20,36,.18)}.ck a{color:#fd433d}
.lb{background:rgba(255,255,255,.96)}.lb-x{color:var(--ink)}
@media(max-width:900px){.menu{background:#fff;border-bottom:1px solid var(--line)}.dd a{color:var(--mut)}}

/* ---- crisp header photos, no green ---- */
.hbox{background:rgba(255,255,255,.93);padding:28px 32px 32px;border-radius:16px;max-width:640px;box-shadow:0 10px 40px rgba(11,20,36,.18)}
.hero .hbox h1{font-size:clamp(44px,6.5vw,84px)}.phero .hbox h1{font-size:clamp(44px,6vw,76px)}
.hero em{color:var(--red)}.stats b{color:var(--red)}.site-footer h4{color:var(--ink)}
.ticks li:before{border-color:var(--red)}.ck a{color:var(--red)}
.hero{min-height:84vh}.phero{padding:70px 0 60px;min-height:440px;display:flex;align-items:flex-end}.phero .wrap{width:100%}
@media(max-width:700px){.hbox{padding:20px 20px 24px}}
.hbox{max-width:560px;padding:22px 26px 26px}.hero .hbox h1{font-size:clamp(40px,5.5vw,72px)}.phero .hbox h1{font-size:clamp(38px,5vw,64px)}.hero .hbox .lead,.phero .hbox .lead{font-size:18px;margin-bottom:18px}
.hero{background-position:65% 30%}.phero{background-position:60% 35%}
.hero{background-position:55% 12%}

/* home: GLIDE + weFLY split, hobby GT feature */
.split{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#fff}
.sp{display:flex;align-items:flex-end;min-height:min(78vh,720px);background-size:cover;background-position:center;text-decoration:none;color:var(--ink);padding:24px}
.sp .hbox{max-width:440px;padding:20px 24px 24px}.sp h2{font-size:clamp(40px,5vw,64px);margin:0 0 6px}.sp p{margin:0 0 14px;font-size:17px}.sp .chips{margin-bottom:8px}
.sp:hover .btn{background:#e22f29}
.gtfeat{background-size:cover;background-position:50% 18%;min-height:min(80vh,760px);display:flex;align-items:flex-end;padding:60px 0 50px;color:var(--ink)}
.gtfeat .wrap{width:100%}.gtfeat .hbox{max-width:480px}.gtfeat h2{font-size:clamp(40px,5vw,64px);margin:0 0 6px}.gtfeat p{margin:0 0 14px;font-size:17px}.gtfeat .chips{margin-bottom:8px}
@media(max-width:800px){.split{grid-template-columns:1fr}.sp{min-height:62vh}}

/* photos first, text below */
.phero{min-height:0;height:min(70vh,640px);padding:0;display:block;background-size:cover;background-position:55% 30%}
.pinfo{background:var(--soft2);border-bottom:1px solid var(--line);padding:26px 0 30px}
.pinfo h1{font-size:clamp(40px,5.5vw,68px);margin:4px 0 6px}.pinfo .lead{margin:0 0 14px;font-size:19px}.pinfo .chips{margin:0 0 16px}.pinfo .crumb{color:var(--mut);font-size:15px;margin:0}.pinfo .crumb a{border-bottom:1px solid var(--line)}
.split{gap:4px}.sp{display:block;min-height:0;padding:0;background:#fff}
.spi{height:min(68vh,640px);background-size:cover;background-position:center}
.spc{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px 22px;background:var(--soft2);border-bottom:1px solid var(--line)}
.spc h2{font-size:clamp(34px,4vw,52px);margin:0 0 4px}.spc p{margin:0;font-size:16px;color:var(--mut)}.spc .chips{margin-bottom:6px}.spc .btn{flex-shrink:0}
.sp:hover .btn,.gtfeat .btn:hover{background:#e22f29}
.gtfeat{display:block;min-height:0;padding:0;background:none;margin-top:4px}
.gtfeat .spi{height:min(78vh,720px);background-position:50% 20%}.gtfeat .spc{max-width:none;padding-left:max(22px,calc((100vw - 1180px)/2 + 20px));padding-right:max(22px,calc((100vw - 1180px)/2 + 20px))}
@media(max-width:800px){.spc{flex-direction:column;align-items:flex-start}.spi{height:52vh}.phero{height:50vh}}

.fit{background-size:contain;background-repeat:no-repeat;background-position:center;background-color:var(--soft2)}
.phero.fit{height:auto;aspect-ratio:3/2;max-height:86vh}
.gtfeat .spi.fit{height:auto;aspect-ratio:3/2;max-height:86vh}
.phero.fit,.gtfeat .spi.fit{width:100%;aspect-ratio:auto;max-height:none;height:min(86vh,66.67vw)}
@media(max-width:800px){.phero.fit,.gtfeat .spi.fit{height:66.67vw}}

.mapsec{padding:56px 0 0}.mapsec h2{margin-bottom:14px}#map{height:480px;width:100%;background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pin span{display:block;width:20px;height:20px;border-radius:50%;background:var(--ink);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4)}.pin.hq span{background:var(--red);width:24px;height:24px;margin:-2px}
.leaflet-popup-content{font-family:'Barlow',sans-serif;font-size:15px}
@media(max-width:700px){#map{height:360px}}
.nc{text-transform:none}

.ig{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--ink)}.ig:hover{color:var(--red);background:var(--soft2)}
.igrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.igrid a{display:block;aspect-ratio:1;overflow:hidden;border-radius:10px}.igrid img{width:100%;height:100%;object-fit:cover;transition:.4s}.igrid a:hover img{transform:scale(1.06)}
@media(max-width:900px){.igrid{grid-template-columns:repeat(3,1fr)}.ig-li{padding:6px 14px}}

.igembed{max-width:860px;margin:10px auto 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}
.igembed iframe{display:block;width:100%;height:760px;border:0}
.igsec p{text-align:center}
@media(max-width:700px){.igembed iframe{height:620px}}
/* Lucy viewer */
.viewer{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:22px;outline:none}
.viewer:focus-visible{box-shadow:0 0 0 3px rgba(253,67,61,.4)}
.vstage{position:relative;aspect-ratio:1/1;background:#fff;cursor:grab;touch-action:pan-y;user-select:none}.vstage:active{cursor:grabbing}
.vs{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transform:scale(1.04);transition:opacity .8s ease,transform 4s ease;pointer-events:none}
.vs.on{opacity:1;transform:scale(1)}
.vbar{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--soft2);border-top:1px solid var(--line)}
.vcap{flex:1;margin:0;text-align:center;font-family:'Barlow Condensed';font-size:19px;text-transform:uppercase;letter-spacing:.04em;animation:none}
.vb{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:18px;color:var(--ink);transition:.2s}.vb:hover{background:var(--red);color:#fff;border-color:var(--red)}
.vdots{display:flex;justify-content:center;gap:7px;padding:0 0 14px;background:var(--soft2)}
.vdots button{width:9px;height:9px;padding:0;border-radius:50%;border:0;background:#c6cfdc;cursor:pointer;transition:.3s}.vdots button.on{background:var(--red);width:26px;border-radius:6px}
@media(prefers-reduced-motion:reduce){.vs{transition:opacity .2s;transform:none!important}}

/* ===== thinner type ===== */
body{font-weight:300;letter-spacing:.005em}
h1{font-weight:400;letter-spacing:.02em}
h2{font-weight:400;letter-spacing:.02em}
h3{font-weight:500;letter-spacing:.02em}
.nl{font-weight:400;letter-spacing:.06em;font-size:18px}
.btn{font-weight:500;letter-spacing:.07em}
.chip{font-weight:500}
.lead,.big{font-weight:300}
.fine{font-weight:300}
.cb p,.f p,.dealer p,.spc p,.ticks li,.prose p{font-weight:300}
.tech{font-weight:300}.tech tbody th{font-weight:500}.tech thead th{font-weight:500}
.vcap{font-weight:400}.stats b{font-weight:500}.quote p{font-weight:400}.more{font-weight:500}
strong{font-weight:500}
/* ===== motion ===== */
@keyframes pagein{from{opacity:0}to{opacity:1}}
body{animation:pagein .7s ease both}
body.leaving{opacity:0;transition:opacity .25s ease}
.site-header{transition:box-shadow .3s,background .3s}
.site-header .bar{transition:height .3s}
.site-header.scrolled{box-shadow:0 6px 24px rgba(11,20,36,.10)}.site-header.scrolled .bar{height:58px}
.brand img{transition:height .3s}.site-header.scrolled .brand img{height:34px}
.js .rv{opacity:0;transform:translateY(32px);transition:opacity 1s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);will-change:opacity,transform}
.js .rv.in{opacity:1;transform:none}
.js .rv.rl{transform:translateX(-36px)}.js .rv.rr{transform:translateX(36px)}.js .rv.rl.in,.js .rv.rr.in{transform:none}
.js .rv.zi{transform:scale(.96)}.js .rv.zi.in{transform:none}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.08)}}
.sp .spi,.gtfeat .spi:not(.fit),.phero:not(.fit){transition:transform 1.2s ease}
.spi{overflow:hidden}
.sp{overflow:hidden}.sp .spi{animation:kb 22s ease-in-out infinite alternate}.sp:hover .spi{animation-play-state:paused;transform:scale(1.05)}
.phero:not(.fit){background-size:cover;animation:phz 26s ease-in-out infinite alternate}
@keyframes phz{from{background-size:100%}to{background-size:108%}}
.gtfeat .spi.fit{animation:none}
.card,.dealer,.tm,.f{transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s,border-color .4s}
.dealer:hover,.tm:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,20,36,.10)}
.f{transition:border-color .4s,padding .4s}.f:hover{border-left-color:var(--ink);padding-left:22px}
.tm img{transition:transform .8s ease}.tm{overflow:hidden}.tm:hover img{transform:scale(1.05)}
.btn{position:relative;overflow:hidden;transition:background .3s,border-color .3s,color .3s,transform .3s,box-shadow .3s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(253,67,61,.28)}.btn-ghost:hover{box-shadow:0 8px 20px rgba(11,20,36,.18)}
.more,.site-footer a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s,color .3s}
.more:hover,.site-footer a:hover{background-size:100% 1px}
.nl{background:linear-gradient(var(--red),var(--red)) 50% 100%/0 2px no-repeat;transition:background-size .35s,color .3s}.nl:hover,.nl.active{background-size:calc(100% - 28px) 2px}
.gi img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}.gi:hover img{filter:saturate(1.08)}
.ticks li{transition:transform .35s,border-color .35s}.ticks li:hover{transform:translateX(4px);border-color:var(--red)}
.wa-float{animation:wap 3.2s ease-in-out infinite}@keyframes wap{0%,100%{box-shadow:0 8px 24px rgba(0,0,0,.3)}50%{box-shadow:0 8px 24px rgba(0,0,0,.3),0 0 0 10px rgba(37,211,102,.18)}}
.lb{animation:pagein .25s ease both}.lb img{animation:lbz .35s cubic-bezier(.2,.7,.2,1) both}@keyframes lbz{from{transform:scale(.94);opacity:0}to{transform:none;opacity:1}}
.quote p,.band h2{letter-spacing:.03em}
.pin span{transition:transform .3s}.pin:hover span{transform:scale(1.25)}
.pin.hq span{animation:pulse 2.4s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(253,67,61,.55)}100%{box-shadow:0 0 0 18px rgba(253,67,61,0)}}
.stats b{transition:color .3s}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .js .rv{opacity:1;transform:none}
}

/* welcome popup */
.wl{position:fixed;inset:0;z-index:95;background:rgba(11,20,36,.55);display:flex;align-items:center;justify-content:center;padding:20px;animation:pagein .35s ease both}.wl[hidden]{display:none}
.wl-card{position:relative;width:min(520px,100%);border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:wlin .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes wlin{from{opacity:0;transform:translateY(40px) scale(.94)}to{opacity:1;transform:none}}
.wl-img{display:block;aspect-ratio:4/5;background-size:cover;background-position:50% 30%;text-decoration:none;color:var(--ink);position:relative}
.wl-txt{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,255,255,.94);border-radius:14px;padding:20px 22px 22px;display:block}
.wl-txt small{display:block;font-family:'Barlow Condensed';font-size:16px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);font-weight:500}
.wl-txt b{display:block;font-family:'Barlow Condensed';font-weight:400;font-size:clamp(36px,7vw,52px);line-height:1;text-transform:uppercase;margin:6px 0 8px;letter-spacing:.02em}
.wl-txt em{display:block;font-style:normal;font-size:16px;color:var(--mut);margin-bottom:14px}.wl-txt i{font-style:normal}
.wl-img:hover .btn{background:#e22f29;transform:translateY(-2px)}
.wl-x{position:absolute;top:10px;right:10px;z-index:2;width:38px;height:38px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:26px;line-height:1;cursor:pointer;color:var(--ink);transition:.2s}.wl-x:hover{background:var(--red);color:#fff;transform:rotate(90deg)}

/* accessories: show the whole product */
.acc .ci{aspect-ratio:1/1;background:#fff;border-bottom:1px solid var(--line)}
.acc .ci img{object-fit:contain;padding:16px}
.acc a.card:hover .ci img,.acc .card:hover .ci img{transform:scale(1.04)}

.lang{display:inline-flex;align-items:center;justify-content:center;font-family:'Barlow Condensed';font-size:16px;letter-spacing:.1em;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--ink);text-decoration:none;transition:.25s}.lang:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.lang-li{margin:0 4px}

.phero.fit169{height:min(82vh,56.25vw)}
@media(max-width:800px){.phero.fit169{height:56.25vw}}

#map{position:relative;z-index:0;isolation:isolate}
.mapfb{padding:28px 20px}.mapfb ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}.mapfb a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:#fff}

.mapnote{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:1000;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 18px;font-size:15px;color:var(--ink);text-decoration:none;box-shadow:0 6px 20px rgba(11,20,36,.15)}

/* blurred backdrop + whole portrait photo */
.phero.blurfit{position:relative;isolation:isolate;overflow:hidden;background:none!important;height:min(80vh,760px);animation:none}
.phero.blurfit::before,.phero.blurfit::after{content:"";position:absolute;inset:0}
.phero.blurfit::before{background:var(--img) center/cover no-repeat;filter:blur(26px) saturate(1.1);transform:scale(1.2)}
.phero.blurfit::after{background:var(--img) center/contain no-repeat}
@media(max-width:800px){.phero.blurfit{height:70vh}}

.phero.crop169{height:auto;aspect-ratio:1157/720;max-height:none;background-size:cover;animation:none}
.phero.crop169.fit{background-size:cover}
@media(min-width:1100px){.phero.crop169{aspect-ratio:auto;height:min(72vh,680px)}}

/* acro wing path */
.kick{font-family:'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-size:16px;margin:0 0 6px;font-weight:500}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end;margin-top:18px}
.stp{display:flex;flex-direction:column;justify-content:flex-end}
.stp h3{font-size:clamp(28px,3.4vw,44px);margin:0 0 10px;text-transform:none;font-weight:500}
.stp h3:not(.nc){text-transform:uppercase}
.sn{font-family:'Barlow Condensed';letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-size:15px;margin:0 0 4px}
.sb{border-radius:12px 12px 0 0;padding:18px 18px 14px;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;transform-origin:bottom;transition:height 1.1s cubic-bezier(.2,.7,.2,1)}
.sb ul{list-style:none;margin:0;padding:0;font-size:17px;line-height:1.75}.sb .all{font-size:17px;margin:0;line-height:1.5}.plus{font-size:14px;opacity:.75;margin:14px 0 0}
.s1 .sb{background:#dbe3ee;min-height:210px}.s2 .sb{background:#a4b2cb;min-height:300px}.s3 .sb{background:#5c7494;color:#fff;min-height:390px}.s4 .sb{background:#10223f;color:#fff;min-height:480px}
.stepfoot{display:flex;justify-content:space-between;border-top:2px solid var(--line);margin-top:0;padding-top:10px;font-family:'Barlow Condensed';letter-spacing:.16em;text-transform:uppercase;color:var(--mut);font-size:15px}
.pick{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px}
.pk{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
a.pk:hover,.pk:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(11,20,36,.12)}
.pki{aspect-ratio:3/2;background:var(--soft2);overflow:hidden}.pki img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.pk:hover .pki img{transform:scale(1.05)}
.pkb{padding:14px 18px 18px}.pkb h3{margin:0 0 2px;font-size:30px;text-transform:uppercase}.pkb h3.nc{text-transform:none}.pkb p{margin:0;color:var(--mut);font-size:16px}.pkb .sn{margin-bottom:6px}
.calc{max-width:860px;margin:10px auto 0;border:1px solid var(--line);border-radius:var(--r);padding:28px;background:#fff}
.cf{display:flex;gap:30px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.formula{display:flex;align-items:center;gap:16px;font-family:'Barlow Condensed'}.formula b{font-size:72px;font-weight:600;line-height:1}.formula i{font-style:normal;font-size:40px;color:var(--mut)}
.frac{display:flex;flex-direction:column;align-items:center}.frac em{font-style:normal;font-size:52px;font-weight:600;line-height:1.05}.frac em:first-child{border-bottom:3px solid var(--ink);padding:0 22px 2px}
.legend{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:16px}.legend dt{font-family:'Barlow Condensed';font-weight:600;font-size:20px}.legend dd{margin:0;color:var(--mut)}
.inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.inputs label{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--mut)}
.inputs input{font:inherit;font-size:22px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--soft2);width:100%}.inputs input:focus{outline:2px solid var(--red);outline-offset:1px}
.result{font-family:'Barlow Condensed';font-size:54px;margin:4px 0 14px;font-weight:500;letter-spacing:.02em}.result span{color:var(--red)}
.gauge{margin:6px 0 20px}.gbar{position:relative;height:26px;border-radius:6px;background:linear-gradient(90deg,#1f9d4a 0%,#8bbf3a 28%,#dcb021 58%,#e9742a 82%,#d8452a 100%)}
.gbar .rec{position:absolute;left:40%;width:40%;top:-6px;bottom:-6px;border:2px solid var(--ink);border-radius:4px}
.gbar .pin{position:absolute;top:-12px;bottom:-12px;width:4px;background:var(--ink);border-radius:2px;left:0;transition:left .6s cubic-bezier(.2,.7,.2,1);margin-left:-2px}
.gscale{display:flex;justify-content:space-between;margin-top:12px;font-family:'Barlow Condensed';font-size:17px;color:var(--mut)}
.glabel{text-align:center;margin:-2px 0 6px;font-family:'Barlow Condensed';letter-spacing:.14em;text-transform:uppercase;font-size:14px;padding-left:28%}
.gdir{display:flex;justify-content:space-between;color:var(--mut);font-family:'Barlow Condensed';letter-spacing:.12em;text-transform:uppercase;font-size:14px;margin:8px 0 0}
.zones{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.zones li{display:grid;grid-template-columns:22px 150px 1fr;gap:10px;align-items:center;padding:13px 6px;border-bottom:1px solid var(--line);transition:background .4s}
.zones li.on{background:var(--soft)}
.zones b{font-family:'Barlow Condensed';font-size:24px;text-transform:uppercase;font-weight:500}.zones span{color:var(--mut)}
.zones i{width:14px;height:14px;border-radius:50%;display:block}.zones i.g{background:#1f9d4a}.zones i.y{background:#dcb021}.zones i.r{background:#d8452a}
.wlnote{margin:16px 0 0;font-size:17px;min-height:26px}
@media(max-width:900px){.steps{grid-template-columns:1fr 1fr}.pick{grid-template-columns:1fr 1fr}.s1 .sb,.s2 .sb,.s3 .sb,.s4 .sb{min-height:0}.inputs{grid-template-columns:1fr}.zones li{grid-template-columns:22px 120px 1fr}}
@media(max-width:560px){.steps,.pick{grid-template-columns:1fr}.formula b{font-size:54px}.frac em{font-size:40px}}
.nl{white-space:nowrap}
@media(max-width:1180px){.nl{padding:10px 9px;font-size:16.5px;letter-spacing:.04em}.menu{gap:0}.lang-li{margin:0 2px}.ig-li{margin:0}}

/* ===== Acro Wing Path theme: blueprint ===== */
body.page-awp{background:#f4f7fb}
.awphero{position:relative;overflow:hidden;color:#fff;background:#0b1a33;padding:96px 0 84px;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:56px 56px}
.awphero .hgrid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.awphero .kick{color:#ff8a85}
.awphero h1{font-size:clamp(52px,8.6vw,118px);font-weight:500;line-height:.92;margin:0 0 18px}
.awphero .lead{color:rgba(255,255,255,.82)}
.awphero .chip{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.22)}.awphero .chip.red{background:var(--red);border-color:var(--red)}
.awphero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.5)}.awphero .btn-ghost:hover{background:#fff;color:#0b1a33}
.hfig{margin:0;border-radius:16px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.16);transform:rotate(1.6deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}.hfig:hover{transform:rotate(0)}
.hfig img{display:block;width:100%;height:auto}
.awps{position:relative;overflow:hidden;padding:84px 0;background-image:linear-gradient(rgba(16,34,63,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(16,34,63,.045) 1px,transparent 1px);background-size:56px 56px}
.awps.alt2{background-color:#eaf0f8}
.awps>.wrap{position:relative;z-index:2}
.bgart{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.bgw{position:absolute;will-change:transform}.bgw svg{display:block;width:100%;height:auto;overflow:visible}
.awphero .bgw{color:rgba(255,255,255,.26)}.awps .bgw{color:rgba(16,34,63,.17)}
.hw1{width:min(940px,92vw);right:-160px;top:-70px}.hw2{width:520px;left:-150px;bottom:30px}.hw3{width:420px;left:38%;bottom:-60px;opacity:.7}
.sw1{width:760px;right:-240px;top:40px}.sw2{width:430px;left:-130px;bottom:-40px}
.pw1{width:640px;right:-150px;top:20px}
.cw1{width:560px;left:-170px;top:30px}.cw2{width:620px;right:-200px;bottom:-70px}
.gw1{width:720px;left:-230px;bottom:-110px}
.sat svg{transform:rotate(-34deg);transform-origin:50% 90%}
.dr{stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.8s cubic-bezier(.3,.6,.2,1);transition-delay:var(--dl,0s)}
.dr.thin{stroke-width:1;opacity:.8}.dr.hair{stroke-width:.8;opacity:.7}
.bgart.in .dr,html:not(.js) .dr,.sico.in .dr{stroke-dashoffset:0}
.sway svg{transform-origin:50% 88%;animation:sway 8s ease-in-out infinite alternate}
@keyframes sway{from{transform:rotate(-3.5deg)}to{transform:rotate(3.5deg)}}
.sico{width:84px;margin:0 0 12px auto;opacity:.9}.sico svg{display:block;width:100%;height:auto}
.s3 .sico,.s4 .sico{color:#fff}
.js .steps .sb{min-height:70px;transition:min-height 1.3s cubic-bezier(.2,.7,.2,1)}
.js .steps.in .s1 .sb{min-height:230px;transition-delay:.05s}.js .steps.in .s2 .sb{min-height:320px;transition-delay:.25s}.js .steps.in .s3 .sb{min-height:410px;transition-delay:.45s}.js .steps.in .s4 .sb{min-height:500px;transition-delay:.65s}
.js .steps .sb ul,.js .steps .sb .all,.js .steps .plus{opacity:0;transition:opacity .9s ease 1s}.js .steps.in .sb ul,.js .steps.in .sb .all,.js .steps.in .plus{opacity:1}
.awps .calc{background:rgba(255,255,255,.92);backdrop-filter:blur(3px)}
.awps .pk{background:rgba(255,255,255,.94)}
@media(max-width:900px){.awphero .hgrid{grid-template-columns:1fr}.hfig{transform:none}.awphero{padding:70px 0 60px}.hw1{width:640px;right:-260px;top:-20px}.js .steps .sb,.js .steps.in .s1 .sb,.js .steps.in .s2 .sb,.js .steps.in .s3 .sb,.js .steps.in .s4 .sb{min-height:0}}
@media(prefers-reduced-motion:reduce){.dr{stroke-dashoffset:0!important;transition:none!important}.sway svg{animation:none!important}.js .steps .sb{min-height:0!important}.js .steps .sb ul,.js .steps .sb .all,.js .steps .plus{opacity:1!important}}
.hw1{width:min(660px,86vw);left:26%;right:auto;top:10px}.hw2{width:420px;left:-70px;bottom:-10px}.hw3{width:380px;right:-50px;bottom:-40px;left:auto;opacity:.6}
.awphero{min-height:520px}
.sw1{width:600px;right:-110px;top:10px}.sw2{width:380px;left:-90px;bottom:10px}
.cw1{width:520px;left:-150px;top:40px}.cw2{width:560px;right:-150px;bottom:-30px}
.gw1{width:640px;left:-180px;bottom:-60px}.pw1{width:620px;right:-130px;top:10px}
@media(max-width:900px){.hw1{left:-20%;width:140vw;top:0}.hw3{display:none}}

/* ===== X-ray drawings made from the photos ===== */
.xr{display:block;width:100%;height:auto;overflow:visible}
.xr path{stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.3,.6,.2,1);transition-delay:var(--d,0s)}
.bgart.in .xr path,.hdraw.in .xr path,html:not(.js) .xr path{stroke-dashoffset:0}
.awphero .bgw{color:rgba(140,190,255,.22)}.awps .bgw{color:rgba(16,34,63,.2)}
.hdraw{position:relative;color:#b7dcff;filter:drop-shadow(0 0 6px rgba(120,185,255,.55));animation:flt 9s ease-in-out infinite alternate}
.hdraw .xr path{stroke-width:1.7}
.hdraw::after{content:"";position:absolute;top:-2%;bottom:-2%;width:70px;left:-70px;background:linear-gradient(90deg,transparent,rgba(160,215,255,.5),transparent);mix-blend-mode:screen;pointer-events:none;animation:scan 7s ease-in-out 1.2s infinite}
@keyframes scan{0%{left:-70px;opacity:0}8%{opacity:1}55%{left:100%;opacity:1}62%,100%{left:100%;opacity:0}}
@keyframes flt{from{transform:translateY(-8px) rotate(-1deg)}to{transform:translateY(8px) rotate(1deg)}}
.hw1{width:min(760px,90vw);left:-150px;right:auto;top:auto;bottom:-120px}
.sw1{width:640px;right:-150px;top:0}.sw2{width:430px;left:-110px;bottom:-30px}
.pw1{width:600px;right:-130px;top:20px}.cw1{width:520px;left:-170px;top:30px}.cw2{width:520px;right:-130px;bottom:-40px}.gw1{width:600px;left:-150px;bottom:-50px}
.awphero .hgrid{grid-template-columns:1fr 1fr}
@media(max-width:900px){.hdraw{max-width:520px;margin:10px auto 0}.awphero .hgrid{grid-template-columns:1fr}.hw1{width:130vw;left:-30vw}}
@media(prefers-reduced-motion:reduce){.xr path{stroke-dashoffset:0!important;transition:none!important}.hdraw,.hdraw::after{animation:none!important}}
.awps .bgw{color:rgba(16,34,63,.3)}
.sw1{width:430px;left:12px;right:auto;top:150px}.sw2{display:none}
@media(max-width:900px){.sw1{width:70vw;top:auto;bottom:40px;left:-10vw}}

/* ===== Acro Wing Path: site colours + more motion ===== */
body.page-awp{background:var(--soft2)}
.awphero{background-color:var(--soft);color:var(--ink);background-image:linear-gradient(rgba(11,20,36,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,20,36,.05) 1px,transparent 1px);background-size:56px 56px;min-height:540px}
.awphero .kick{color:var(--red)}.awphero h1{color:var(--ink)}.awphero .lead{color:var(--mut)}
.awphero .chip{background:#fff;color:var(--ink);border:1px solid var(--line)}.awphero .chip.red{background:var(--red);color:#fff;border-color:var(--red)}
.awphero .btn-ghost{color:var(--ink);border-color:rgba(11,20,36,.3)}.awphero .btn-ghost:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.awphero .bgw{color:rgba(11,20,36,.13)}.awps .bgw{color:rgba(11,20,36,.26)}
.hdraw{color:var(--ink);filter:none}
.hdraw .xr path{stroke-width:1.7;transition:none}
.hdraw.in .xr path{stroke-dashoffset:1;animation:redraw 15s ease-in-out infinite;animation-delay:var(--d)}
@keyframes redraw{0%{stroke-dashoffset:1}14%{stroke-dashoffset:0}84%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
.hdraw::after{background:linear-gradient(90deg,transparent,rgba(253,67,61,.5),transparent);mix-blend-mode:multiply}
.traj{display:block;width:100%;height:auto;overflow:visible}
.traj path{stroke:rgba(11,20,36,.32);stroke-width:1.4;stroke-dasharray:6 9;vector-effect:non-scaling-stroke;animation:march 2.4s linear infinite}
@keyframes march{to{stroke-dashoffset:-30}}
.traj circle{fill:var(--red)}
.hw4{width:min(1200px,112vw);left:-6vw;top:36px}
.seqband{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:26px 0;overflow:hidden}
.seq{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:center}
.sf{color:var(--ink);padding:6px 12px;position:relative;animation:sfloat 6s ease-in-out infinite alternate;animation-delay:calc(var(--k) * -1.3s)}
.sf:not(:last-child)::after{content:"";position:absolute;right:-8px;top:50%;width:12px;height:12px;border-top:2px solid var(--red);border-right:2px solid var(--red);transform:translateY(-50%) rotate(45deg);animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{0%,100%{right:-8px}50%{right:-14px}}
.seqband .xr path{stroke-width:1.4;transition:none;animation:redraw2 9s ease-in-out infinite;animation-delay:calc(var(--k) * .9s + var(--d))}
@keyframes redraw2{0%{stroke-dashoffset:1}22%,78%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
@keyframes sfloat{from{transform:translateY(-5px) rotate(-1.5deg)}to{transform:translateY(5px) rotate(1.5deg)}}
.s1 .sb{background:#e6eef8;color:var(--ink)}.s2 .sb{background:#bcd0ea;color:var(--ink)}.s3 .sb{background:var(--ink);color:#fff}.s4 .sb{background:var(--red);color:#fff}
.sico{width:120px;margin:0 0 10px auto;opacity:.95}.s3 .sico,.s4 .sico{color:#fff}.sico .xr path{stroke-width:1.3}
.sico.in .xr path{stroke-dashoffset:0}
.stp .sb .plus{opacity:.85}
.gbar{background:linear-gradient(90deg,#cfe3f8 0%,#7fa7d6 35%,#0b1424 70%,#fd433d 100%)}
.gbar .rec{border:2px solid #fff;box-shadow:0 0 0 1px var(--ink)}
.gbar .pin{background:#fff;box-shadow:0 0 0 2px var(--ink)}
.zones i.g{background:#7fa7d6}.zones i.y{background:#0b1424}.zones i.r{background:#fd433d}
.awps .bgw svg{animation:drift 22s ease-in-out infinite alternate}
.awps .bgw:nth-child(2) svg{animation-duration:30s;animation-direction:alternate-reverse}
@keyframes drift{from{transform:translate(-12px,8px) rotate(-2deg)}to{transform:translate(12px,-8px) rotate(2deg)}}
.sw3{width:420px;right:-60px;bottom:10px}.pw2{width:380px;left:-80px;bottom:-30px}.cw1{width:440px;left:-120px;top:30px}
@media(max-width:900px){.seq{grid-template-columns:repeat(3,1fr)}.sf:nth-child(n+4){display:none}.sf::after{display:none}.hw4{width:170vw;left:-30vw}.sico{width:90px}}
@media(prefers-reduced-motion:reduce){.seqband .xr path,.hdraw .xr path,.traj path,.awps .bgw svg,.sf,.sf::after{animation:none!important}.xr path{stroke-dashoffset:0!important}.traj circle{display:none}}

/* ===== technical-drawing look ===== */
.xr circle{stroke-width:.9;vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s ease;transition-delay:var(--d,0s)}
.bgart.in .xr circle,.hdraw.in .xr circle,.sico.in .xr circle,html:not(.js) .xr circle{stroke-dashoffset:0}
.xr path.o{stroke-width:1.9}
.xr path.r{stroke-width:.85}
.xr path.l{stroke-width:.85}
.xr .t{stroke:#fd433d;stroke-width:.9}
.xr path.dd{opacity:.55}
.xr text{fill:#fd433d;stroke:none;font:600 13px 'Barlow Condensed',sans-serif;letter-spacing:.04em;opacity:0;transition:opacity .7s ease 3.4s}
.bgart.in .xr text,.hdraw.in .xr text,html:not(.js) .xr text{opacity:1}
.awps .bgw .t,.awphero .bgw .t{stroke:rgba(253,67,61,.5)}.awps .bgw .xr text,.awphero .bgw .xr text{fill:rgba(253,67,61,.6)}
.sico .xr .t,.sico .xr text,.seqband .xr .t,.seqband .xr text{display:none}
.hdraw .xr path.o{stroke-width:2}
.seqband .xr path.o{stroke-width:1.7}.seqband .xr path.r,.seqband .xr path.l{stroke-width:.8}
.sico .xr path.o{stroke-width:2.4}

/* level + size recommender */
.lvt{margin:4px 0 8px}
.lvl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}
.lvl button{font:500 19px 'Barlow Condensed',sans-serif;letter-spacing:.06em;text-transform:uppercase;padding:12px 10px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.25s}
.lvl button:hover{border-color:var(--ink)}.lvl button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sizebox{display:grid;grid-template-columns:auto 1fr;gap:26px;align-items:center;background:var(--soft2);border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:4px 0 18px}
.rs .bigsz{font-family:'Barlow Condensed';font-size:64px;line-height:1;margin:2px 0 6px;font-weight:500}.rs .bigsz span{color:var(--red)}
.rs .fine{margin:0;max-width:240px}
.sizes{display:flex;flex-wrap:wrap;gap:8px}
.sz{display:flex;flex-direction:column;align-items:center;min-width:64px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;transition:.25s;font-family:inherit}
.sz b{font-family:'Barlow Condensed';font-size:24px;font-weight:500;line-height:1.1}.sz small{font-size:13px;color:var(--mut)}
.sz:hover{border-color:var(--ink)}.sz.in{background:#e6eef8;border-color:#7fa7d6}.sz.best{background:var(--ink);color:#fff;border-color:var(--ink)}.sz.best small{color:#b9c6d8}
.gbar .rec{transition:left .5s cubic-bezier(.2,.7,.2,1),width .5s cubic-bezier(.2,.7,.2,1)}
.glabel{padding-left:0}
@media(max-width:700px){.sizebox{grid-template-columns:1fr}.lvl button{font-size:16px;padding:10px 6px}}
.glabel{display:block;width:max-content;position:relative;left:var(--gx,50%);transform:translateX(-50%);padding:0;margin:-2px 0 6px;transition:left .5s cubic-bezier(.2,.7,.2,1)}

/* ===== real X-ray images: scan reveal ===== */
.xp{position:relative;display:block}
.xp img{display:block;width:100%;height:auto;clip-path:inset(0 100% 0 0);transition:clip-path 2.6s cubic-bezier(.6,.05,.2,1);filter:drop-shadow(0 0 .7px rgba(11,20,36,.55))}
.xp::after{content:"";position:absolute;top:-2%;bottom:-2%;left:0;width:2px;background:var(--red);box-shadow:0 0 14px 3px rgba(253,67,61,.55);opacity:0;pointer-events:none}
.bgart.in .xp img,.sico.in .xp img,html:not(.js) .xp img{clip-path:inset(0 0 0 0)}
.bgart.in .xp::after,.sico.in .xp::after{animation:xpScan 2.6s cubic-bezier(.6,.05,.2,1) both}
@keyframes xpScan{0%{left:0;opacity:1}92%{opacity:1}100%{left:100%;opacity:0}}
.hdraw::after{display:none}
.hdraw{filter:none}
.hdraw .xp img{clip-path:inset(0 100% 0 0);transition:none}
.hdraw.in .xp img{animation:xpLoop 15s ease-in-out infinite}
.hdraw.in .xp::after{animation:xpLoopScan 15s ease-in-out infinite}
@keyframes xpLoop{0%{clip-path:inset(0 100% 0 0)}20%,80%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
@keyframes xpLoopScan{0%{left:0;opacity:0}1%{left:0;opacity:1}20%{left:100%;opacity:1}22%{left:100%;opacity:0}79%{left:0;opacity:0}80%{left:0;opacity:1}100%{left:100%;opacity:1}}
.hann{position:absolute;left:-4.5%;top:-4.6%;width:112%;height:112%;pointer-events:none;overflow:visible}
.hdraw{position:relative}
.awphero .bgw .xp img,.awps .bgw .xp img{opacity:.34}
.awphero .bgw .xp img{opacity:.22}
.awps .bgw .xp{animation:drift 24s ease-in-out infinite alternate}
.awps .bgw:nth-child(2) .xp{animation-duration:32s;animation-direction:alternate-reverse}
.sico .xp::after,.seqband .xp::after,.bgw .xp::after{display:none}
.bgw .xp::after{display:block}
.seqband .xp img{transition:none;animation:xpLoop2 10s ease-in-out infinite;animation-delay:calc(var(--k) * .9s)}
@keyframes xpLoop2{0%{clip-path:inset(0 100% 0 0)}22%,80%{clip-path:inset(0 0 0 0)}100%{clip-path:inset(0 0 0 100%)}}
.sico{width:130px}.s3 .sico,.s4 .sico{filter:invert(1) brightness(1.1)}
.sico .xp img{filter:none}
@media(prefers-reduced-motion:reduce){.xp img{clip-path:none!important;animation:none!important;transition:none!important}.xp::after,.hdraw .xp::after{display:none!important}.awps .bgw .xp{animation:none!important}}
.hdraw{margin-right:46px}@media(max-width:900px){.hdraw{margin-right:26px}}
.awps .bgw .xp img{opacity:.2}.awphero .bgw .xp img{opacity:.18}
.sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;padding:0}
