/* Pie Detailing — one dark theme: graphite + warm pine, our orange crust and purple slits */
:root{--bg:#0e0c10;--bg2:#141117;--card:#1a171d;--card2:#211d25;--line:rgba(255,236,214,.09);--line2:rgba(255,236,214,.16);
 --tx:#f7f0e7;--mut:#bcb1a6;--dim:#8b8279;--or:#ffa62b;--or2:#ff8a00;--crust:#f08c16;--pu:#a479f0;--pu2:#7a3fd0;--ok:#7ddc8a;
 --f-d:'Fraunces',Georgia,serif;--f-b:'Plus Jakarta Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;--f-m:'IBM Plex Mono',ui-monospace,monospace;
 --r:22px;--wrap:1240px;--hdr:64px}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 12px)}
body{background:var(--bg);color:var(--tx);font:400 16.5px/1.62 var(--f-b);overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--or);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--wrap),100% - 40px);margin-inline:auto}
::selection{background:var(--or);color:#1a0f05}

/* ---------- living background ---------- */
.bgfx{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.bgfx .glow{position:absolute;inset:-20%;background:radial-gradient(40% 32% at 12% 8%,rgba(255,150,40,.13),transparent 70%),radial-gradient(36% 30% at 92% 62%,rgba(122,63,208,.14),transparent 70%),radial-gradient(50% 40% at 50% 110%,rgba(255,170,80,.08),transparent 70%)}
.bgfx .hexes{position:absolute;inset:0;opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='145.5' viewBox='0 0 84 145.5'%3E%3Cpath d='M42 0l42 24.25v48.5L42 97 0 72.75v-48.5zM42 97v48.5' fill='none' stroke='rgba(255,214,170,0.05)' stroke-width='1'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 85%);mask-image:radial-gradient(70% 60% at 50% 40%,#000,transparent 85%)}
.bgfx canvas{position:absolute;inset:0;width:100%;height:100%}
.bgfx .cur{position:absolute;left:0;top:0;width:600px;height:600px;border-radius:50%;background:radial-gradient(closest-side,rgba(255,160,60,.07),transparent);will-change:transform}

/* ---------- type ---------- */
h1,h2,h3{font-family:var(--f-d);font-weight:800;letter-spacing:-.015em;line-height:1.06;font-variation-settings:"SOFT" 50,"WONK" 0}
h1{font-size:clamp(46px,7.4vw,104px);line-height:.98}
h2{font-size:clamp(34px,4.6vw,62px)}
h3{font-size:clamp(21px,1.7vw,25px);line-height:1.18}
em{font-style:italic;font-weight:800;color:var(--or);padding-right:.04em}
.k{display:inline-flex;align-items:center;gap:10px;font:600 12.5px/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:18px}
.k i{width:22px;height:22px;border-radius:50%;background:conic-gradient(var(--or) 0 25%,rgba(255,166,43,.18) 0);box-shadow:0 0 0 1.5px rgba(255,166,43,.45) inset}
.lead{font-size:clamp(17px,1.35vw,19.5px);color:var(--mut);line-height:1.6}
p+p{margin-top:14px}
.splt .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.splt .w>span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.8,.15,1);transition-delay:calc(var(--d)*45ms)}
.splt.in .w>span{transform:none}
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.15,1)}
[data-rv].in{opacity:1;transform:none}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border-radius:999px;font-weight:700;font-size:16px;border:0;cursor:pointer;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s;white-space:nowrap}
.btn svg{width:19px;height:19px;flex:none}
.btn.pri{background:linear-gradient(135deg,#ffc35a,var(--or) 45%,var(--or2));color:#1d1004;box-shadow:0 10px 30px -10px rgba(255,140,20,.65),inset 0 1px 0 rgba(255,255,255,.45)}
.btn.pri:hover{transform:translateY(-2px);box-shadow:0 16px 36px -12px rgba(255,140,20,.8),inset 0 1px 0 rgba(255,255,255,.45)}
.btn.gh{background:rgba(255,240,225,.05);border:1.5px solid var(--line2);color:var(--tx)}
.btn.gh:hover{border-color:rgba(255,166,43,.6);background:rgba(255,166,43,.08)}
.btn.sm{min-height:42px;padding:0 18px;font-size:14.5px}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.lnk{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--or)}
.lnk svg{width:18px;height:18px;transition:transform .25s}.lnk:hover svg{transform:translateX(4px)}

/* ---------- header ---------- */
.topbar{background:#0a080b;border-bottom:1px solid var(--line);font-size:13px;color:var(--mut)}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;min-height:36px;gap:16px}
.tb-l{display:flex;align-items:center;gap:7px}.tb-l svg{width:15px;height:15px;color:var(--or)}
.tb-r{display:flex;gap:18px}.tb-r a:hover{color:var(--or)}
.hdr{position:sticky;top:0;z-index:50;height:var(--hdr);background:rgba(14,12,16,.82);border-bottom:1px solid var(--line);transition:background .3s}
@supports (backdrop-filter:blur(1px)){@media (min-width:861px) and (pointer:fine){.hdr{backdrop-filter:blur(14px) saturate(1.3);background:rgba(14,12,16,.62)}}}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;height:100%;gap:20px}
.hdr .pg{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform-origin:left;transform:scaleX(var(--pg,0));background:linear-gradient(90deg,var(--or),var(--pu))}
.brand{display:flex;align-items:center;gap:11px}
.brand .logo{width:42px;height:42px;flex:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4));transition:transform .8s cubic-bezier(.2,.8,.15,1)}
.brand:hover .logo{transform:rotate(60deg)}
.brand b{display:block;font:800 21px/1 var(--f-d);letter-spacing:-.01em}.brand b em{font-size:inherit}
.brand small{display:block;font:500 11.5px/1.2 var(--f-m);color:var(--dim);letter-spacing:.06em;margin-top:4px}
.nav{display:flex;gap:4px}
.nav a{padding:8px 12px;border-radius:999px;font-weight:600;font-size:15px;color:var(--mut);transition:color .2s,background .2s}
.nav a:hover{color:var(--tx);background:rgba(255,240,225,.06)}
.hcta{display:flex;align-items:center;gap:10px}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line2);background:transparent;cursor:pointer;position:relative}
.burger span,.burger span:before,.burger span:after{position:absolute;left:50%;top:50%;width:18px;height:2px;background:var(--tx);border-radius:2px;transform:translate(-50%,-50%);transition:transform .3s,background .3s;content:""}
.burger span:before{transform:translate(-50%,-7px)}.burger span:after{transform:translate(-50%,5px)}
.burger[aria-expanded=true] span{background:transparent}.burger[aria-expanded=true] span:before{transform:translate(-50%,-1px) rotate(45deg)}.burger[aria-expanded=true] span:after{transform:translate(-50%,-1px) rotate(-45deg)}
.mnav{position:fixed;inset:calc(var(--hdr) + 36px) 0 0;z-index:49;background:#0e0c10;display:flex;flex-direction:column;padding:24px 20px;gap:4px;transform:translateY(-8px);opacity:0;visibility:hidden;transition:.3s}
.mnav.on{opacity:1;visibility:visible;transform:none}
.mnav a{padding:14px 6px;font:800 26px/1.1 var(--f-d);border-bottom:1px solid var(--line)}
.mnav .btn{margin-top:20px;font:700 17px var(--f-b);border:0}

/* ---------- hero ---------- */
.hero{position:relative;height:540vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;background:#0d0b0f}
#gl{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .5s}
#gl.on{opacity:1}
.poster{position:absolute;inset:0;background-size:cover;background-position:center}
.poster{transition:opacity .5s}#gl.on~.poster{opacity:0;visibility:hidden;transition:opacity .5s,visibility 0s .5s}
.poster.d{background-image:url(m/poster-d.webp)}.poster.m{background-image:url(m/poster-m.webp);display:none}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(13,11,15,.82) 0%,rgba(13,11,15,.45) 32%,transparent 55%),linear-gradient(0deg,rgba(13,11,15,.5),transparent 25%)}
.intro{position:absolute;inset:0;display:flex;align-items:center;transition:opacity .5s,transform .6s cubic-bezier(.2,.8,.15,1)}
.intro.off{opacity:0;transform:translateY(-24px);pointer-events:none}
.intro .ib{max-width:600px}
.intro .lead{margin-top:20px;max-width:520px;color:#d9cfc4}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(20,17,23,.7);border:1px solid var(--line2);font-size:13.5px;font-weight:600;color:#e8ddd2}
.chip svg{width:16px;height:16px;color:var(--or)}.chip .sc{display:flex}
.beats{list-style:none;position:absolute;inset:0;pointer-events:none}
.beat{position:absolute;left:max(20px,calc((100vw - var(--wrap))/2));top:50%;width:min(460px,38vw);transform:translateY(-44%);opacity:0;visibility:hidden;transition:opacity .45s,transform .6s cubic-bezier(.2,.8,.15,1),visibility 0s .5s}
.beat.on{opacity:1;visibility:visible;transform:translateY(-50%);transition:opacity .5s .05s,transform .7s cubic-bezier(.2,.8,.15,1),visibility 0s;pointer-events:auto}
.beat.past{transform:translateY(-58%)}
.beat .card{background:rgba(20,17,23,.78);border:1px solid var(--line2);border-radius:var(--r);padding:28px 28px 26px;box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
@supports (backdrop-filter:blur(1px)){@media (min-width:861px) and (pointer:fine){.beat .card{backdrop-filter:blur(12px);background:rgba(20,17,23,.6)}}}
.beat .n{font:600 12.5px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--mut);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.beat .n b{color:#1d1004;background:var(--or);border-radius:999px;padding:5px 9px;font-weight:700;letter-spacing:.04em}
.beat h2{font-size:clamp(30px,3vw,44px);margin-bottom:12px}
.beat p{color:#d6ccc1;font-size:16.5px}
.beat .ctas{margin-top:20px}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.tags span{font:600 12.5px/1 var(--f-m);padding:8px 11px;border-radius:999px;border:1px solid rgba(255,166,43,.35);color:#ffd39a;background:rgba(255,166,43,.07)}
.hud{position:absolute;right:max(20px,calc((100vw - var(--wrap))/2));bottom:34px;display:flex;align-items:center;gap:14px;padding:12px 18px 12px 12px;border-radius:999px;background:rgba(20,17,23,.72);border:1px solid var(--line2);opacity:0;transform:translateY(12px);transition:opacity .4s,transform .5s}
.hud.on{opacity:1;transform:none}
.dial{width:62px;height:62px;flex:none;transform:rotate(0)}
.dial .tyre{fill:#2b2a2e;stroke:#57555b;stroke-width:1.2;stroke-dasharray:3 2.6}
.dial .sl{fill:rgba(255,166,43,.08);stroke:rgba(14,12,16,.9);stroke-width:1.6;transition:fill .4s}
.dial .sl.done{fill:var(--or)}
.dial .ins{fill:none;stroke:rgba(255,236,214,.12);stroke-width:1}
.dial .fill{fill:rgba(255,166,43,.55)}
.dial .knob{fill:#fff;filter:drop-shadow(0 0 4px var(--or))}
.hud .rd span{display:block;font:600 11.5px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.hud .rd b{display:block;font:800 19px/1.2 var(--f-d);margin:4px 0 2px}
.hud .rd small{display:block;font:600 13px/1 var(--f-m);color:var(--or)}
.hint{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font:600 11.5px/1 var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:var(--mut);transition:opacity .4s}
.hint i{width:24px;height:38px;border:1.5px solid var(--line2);border-radius:14px;position:relative}
.hint i:after{content:"";position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--or);animation:wh 1.6s infinite}
@keyframes wh{0%{transform:translateY(0);opacity:1}70%{transform:translateY(12px);opacity:0}100%{opacity:0}}
.hint.off{opacity:0}

/* ---------- marquee ---------- */
.mq{position:relative;overflow:hidden;border-block:1px solid var(--line);background:linear-gradient(90deg,#120f14,#18131a,#120f14);padding:18px 0}
.mq .tr{display:flex;align-items:center;gap:28px;width:max-content;animation:mq 46s linear infinite}
.mq span{font:800 clamp(22px,2.4vw,32px)/1 var(--f-d);white-space:nowrap}
.mq span:nth-child(4n+1){font-style:italic;color:var(--or)}
.mq svg{width:22px;height:22px;color:var(--pu);flex:none}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- sections ---------- */
.sec{position:relative;padding:clamp(80px,10vw,140px) 0}
.sec:before{content:"";position:absolute;left:50%;top:0;width:min(var(--wrap),100% - 40px);height:14px;transform:translateX(-50%) scaleX(0);transform-origin:left;transition:transform 1.4s cubic-bezier(.2,.8,.15,1);
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cpath d='M2 2l12 10L26 2' fill='none' stroke='rgba(255,236,214,0.13)' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x center/28px 14px}
.sec.lit:before{transform:translateX(-50%) scaleX(1)}
.shd{max-width:760px;margin-bottom:clamp(36px,5vw,60px)}
.shd .lead{margin-top:18px}
.shd.row{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:end}

/* photos reveal like a slice cut out of a pie */
.pw img,.pw video{-webkit-mask-image:conic-gradient(from -90deg at 50% 50%,#000 var(--a,0deg),transparent 0);mask-image:conic-gradient(from -90deg at 50% 50%,#000 var(--a,0deg),transparent 0)}
.pw.done img,.pw.done video,.no-pw .pw img{-webkit-mask-image:none;mask-image:none}

/* about */
.ab{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,90px);align-items:center}
.abt .lead{margin-top:22px}
.abt p:not(.lead):not(.k){color:var(--mut)}
.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:34px}
.sx{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px 18px 16px}
.sx b{display:block;font:800 clamp(30px,3vw,40px)/1 var(--f-d);color:var(--or)}
.sx span{display:block;margin-top:8px;font-size:14px;color:var(--mut);line-height:1.4}
.abg{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto;gap:14px}
.ph{position:relative;border-radius:var(--r);overflow:hidden;background:var(--card)}
.ph img{width:100%;height:100%;object-fit:cover}
.ph figcaption{position:absolute;left:12px;right:12px;bottom:12px;font-size:13px;font-weight:600;padding:8px 12px;border-radius:12px;background:rgba(14,12,16,.78);color:#eadfd3}
.ph.a1{grid-column:1/3;aspect-ratio:16/10}
.ph.a2{aspect-ratio:3/4}.ph.a3{aspect-ratio:3/4}
.ph.a3 img{object-position:40% 50%}

/* menu: pie + slices */
.menu{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(30px,5vw,70px);align-items:start}
.pieW{position:sticky;top:calc(var(--hdr) + 40px)}
.pieS{position:relative}
.pie{width:100%;max-width:420px;margin:auto;overflow:visible}
.pie .pt{fill:#232126;stroke:#3c3a40;stroke-width:1.5;stroke-dasharray:6 4}
.pie .ps path{fill:#2d2a31;stroke:var(--bg);stroke-width:2.5;transition:fill .45s}
.pie .ps ellipse{fill:#45404b;transition:fill .45s}
.pie .ps text{font:800 18px var(--f-d);fill:#6b6570;text-anchor:middle;transition:fill .45s}
.pie .ps{transition:transform .6s cubic-bezier(.2,.8,.15,1);cursor:pointer}
.pie .ps.on{transform:translate(var(--dx),var(--dy))}
.pie .ps.on path{fill:url(#pg)}
.pie .ps.on ellipse{fill:var(--pu2)}.pie .ps.on text{fill:#1d1004}
.pie .ps.seen:not(.on) path{fill:#4a3420}
.pieL{text-align:center;margin-top:16px;font:800 24px/1.2 var(--f-d)}
.svs{display:flex;flex-direction:column;gap:20px}
.sv{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:border-color .4s,transform .5s,box-shadow .5s}
.sv.on{border-color:rgba(255,166,43,.45);box-shadow:0 30px 70px -40px rgba(255,140,20,.55)}
.sh{position:relative;min-height:260px;background:#1f1c22}
.sh img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sh .no{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:8px;font:600 12px/1 var(--f-m);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px 7px 7px;border-radius:999px;background:rgba(14,12,16,.82)}
.mini{width:18px;height:18px}.mini circle{fill:#3a363e}.mini path{fill:var(--or)}
.sb{padding:26px 26px 22px;display:flex;flex-direction:column}
.sb h3{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.sb .ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:rgba(255,166,43,.12);color:var(--or);flex:none}
.sb .ic svg{width:22px;height:22px}
.sb ul{list-style:none;display:grid;gap:9px;margin-bottom:20px}
.sb li{display:flex;gap:10px;font-size:15.5px;color:#dcd2c7;line-height:1.45}
.sb li svg{width:17px;height:17px;flex:none;margin-top:3px;color:var(--or)}
.sf{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px dashed var(--line2)}
.sf b{font:800 19px var(--f-d);color:var(--tx)}

/* inspection lamp */
.lamp{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);align-items:center}
.lamp .lead{margin-top:18px}
.lvls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:28px;padding:6px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.lv{min-height:48px;border-radius:13px;border:0;background:transparent;font-weight:700;font-size:15px;color:var(--mut);cursor:pointer;transition:background .3s,color .3s}
.lv[aria-checked=true]{background:linear-gradient(135deg,#ffc35a,var(--or));color:#1d1004}
.lvt{min-height:78px;margin:18px 0 14px;color:#dcd2c7}
.panel{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line2);aspect-ratio:4/3;background:#060507;touch-action:pan-y;cursor:none}
.panel canvas{width:100%;height:100%}
.ptag{position:absolute;left:14px;top:14px;font:600 12px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;padding:8px 11px;border-radius:999px;background:rgba(14,12,16,.82);color:var(--or)}
.phint{position:absolute;right:14px;bottom:14px;display:flex;align-items:center;gap:8px;font:600 12.5px/1 var(--f-m);padding:8px 11px;border-radius:999px;background:rgba(14,12,16,.82);color:var(--mut);transition:opacity .4s}
.phint svg{width:16px;height:16px}.panel.used .phint{opacity:0}

/* gallery: bento */
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:230px;grid-auto-flow:dense;gap:12px}
.g{position:relative;border-radius:18px;overflow:hidden;background:var(--card)}
.g.tall{grid-row:span 2}.g.wide{grid-column:span 2}
.g button{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.g img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.8,.15,1)}
.g:hover img{transform:scale(1.05)}
.g figcaption{position:absolute;left:10px;bottom:10px;font:600 12.5px/1 var(--f-m);padding:7px 10px;border-radius:999px;background:rgba(14,12,16,.8);pointer-events:none}
.g.xtra{display:none}.gal.all .g.xtra{display:block}
.more{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:26px}

/* reels */
.reels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.rl{position:relative;border-radius:18px;overflow:hidden;background:var(--card);aspect-ratio:9/16}
.rl video{width:100%;height:100%;object-fit:cover}
.rl figcaption{position:absolute;left:8px;right:8px;bottom:8px;font-size:12.5px;font-weight:600;line-height:1.3;padding:7px 9px;border-radius:10px;background:rgba(14,12,16,.78)}
.rl:after{content:"";position:absolute;right:10px;top:10px;width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.6);opacity:0;transition:opacity .3s}
.rl.play:after{opacity:1;animation:rec 1.6s infinite}
@keyframes rec{70%{box-shadow:0 0 0 8px rgba(255,59,48,0)}}

/* tip: before / after */
.tip{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center}
.tip .lead{margin-top:18px}.tip p:not(.lead):not(.k){color:var(--mut)}
.tipP{position:relative;border-radius:var(--r);overflow:hidden;aspect-ratio:2/1.15;background:#111}
.tb{position:absolute;inset:0}
.tb img{width:100%;height:100%;object-fit:cover}
.tb.b1{clip-path:inset(0 0 0 var(--cut,100%))}
.tl{position:absolute;top:14px;left:14px;font:600 12px/1 var(--f-m);letter-spacing:.12em;text-transform:uppercase;padding:8px 11px;border-radius:999px;background:rgba(14,12,16,.82);color:#ffb4a0}
.b1 .tl{left:auto;right:14px;color:var(--ok)}
.tk{position:absolute;top:0;bottom:0;left:var(--cut,100%);width:3px;margin-left:-1.5px;background:linear-gradient(var(--or),#fff,var(--or));box-shadow:0 0 18px 2px rgba(255,166,43,.6)}

/* tyre hotel */
.ht{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(30px,5vw,70px);align-items:center}
.ht .lead{margin-top:18px}
.ticks{list-style:none;display:grid;gap:10px;margin-top:24px}
.ticks li{display:flex;gap:10px;color:#dcd2c7}.ticks svg{width:19px;height:19px;flex:none;margin-top:3px;color:var(--or)}
.calc{background:var(--card);border:1px solid var(--line2);border-radius:28px;padding:28px}
.stack{height:150px;position:relative;margin:4px auto 18px;width:220px}
.stack i{position:absolute;left:0;right:0;bottom:calc(var(--i)*30px);height:74px;transform:translateY(-40px);opacity:0;transition:transform .7s cubic-bezier(.3,1.5,.5,1),opacity .4s;transition-delay:calc(var(--i)*.12s)}
.calc.in .stack i{transform:none;opacity:1}
.stack svg{width:100%;height:100%;overflow:visible}
.stack .t0{fill:#232126;stroke:#5c5a60;stroke-width:1.2;stroke-dasharray:4 3}.stack .t1{fill:#17151a}.stack .t2{fill:#8f8d93;stroke:#c9c7cc}
.cl{display:block;font-weight:700;margin-bottom:12px}
.rng{display:flex;align-items:center;gap:16px}
.rng input{flex:1;-webkit-appearance:none;appearance:none;height:8px;border-radius:99px;background:linear-gradient(90deg,var(--or) var(--v,45%),#2e2a32 0);outline-offset:6px}
.rng input::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;border-radius:50%;background:#fff;border:6px solid var(--or);box-shadow:0 4px 12px rgba(0,0,0,.5);cursor:grab}
.rng input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:6px solid var(--or);cursor:grab}
.rng output{min-width:76px;text-align:right;font:700 16px var(--f-m);color:var(--or)}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin:22px 0 10px;padding-top:18px;border-top:1px dashed var(--line2)}
.tot span{color:var(--mut)}.tot b{font:800 clamp(34px,4vw,46px)/1 var(--f-d)}
.fine{font-size:13px;color:var(--dim);line-height:1.5}
.calc .btn{margin-top:18px;width:100%}

/* products */
.prods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.pr{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.pr figure{position:relative;min-height:300px;background:#1f1c22}
.pr figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pr>div{padding:24px;display:flex;flex-direction:column;gap:12px}
.pr p{color:var(--mut);font-size:15.5px}
.pl{list-style:none;display:grid;gap:6px}
.pl li{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:12px;background:rgba(255,240,225,.04);border:1px solid var(--line);font-size:15px}
.pl b{font:700 15px var(--f-m);color:var(--or)}
.pr .btn{margin-top:auto;align-self:flex-start}

/* reviews */
.rvh{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(30px,5vw,70px);align-items:center;margin-bottom:44px}
.rvh .lead{margin-top:16px}
.meter{position:relative;width:220px;text-align:center}
.meter svg{width:220px;height:220px;transform:rotate(-90deg)}
.meter .m0{fill:none;stroke:#2a262e;stroke-width:10}.meter .m1{fill:none;stroke:url(#pg);stroke:var(--or);stroke-width:10;stroke-linecap:round;stroke-dasharray:326.7;stroke-dashoffset:326.7;transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.15,1)}
.meter .mv{position:absolute;left:0;right:0;top:60px;text-align:center}
.meter .mv b{display:block;font:800 58px/1 var(--f-d)}.meter .mv span{color:var(--mut);font-size:14px}
.meter .stars{justify-content:center;margin-top:12px}.meter p{color:var(--mut);font-size:14px;margin-top:6px}
.stars{display:flex;gap:3px;color:#ffc24a}.stars svg{width:18px;height:18px}
.rvs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) repeat(2,minmax(0,1.2fr));gap:16px;align-items:stretch}
.rv{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;display:flex;flex-direction:column;gap:16px;transition-delay:calc(var(--i)*.08s)}
.rv q{font:600 19px/1.45 var(--f-d);quotes:"„" "”";flex:1}
.who{display:flex;align-items:center;gap:12px}.who .av{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:800 18px var(--f-d);background:linear-gradient(135deg,var(--or),var(--pu2));color:#1d1004}
.who b{display:block}.who span span{font-size:13px;color:var(--dim)}
.st{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition-delay:calc(var(--i)*.08s)}
.st figure{position:relative;aspect-ratio:16/10;background:#1f1c22}.st figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.st>div{padding:20px 22px 22px;display:flex;flex-direction:column;gap:10px}.st p{color:var(--mut);font-size:15px}
.st .lnk svg{width:20px;height:20px}

/* contact */
.ct{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);align-items:start}
.ct .lead{margin-top:18px}
.cards{list-style:none;display:grid;gap:10px;margin-top:28px}
.cards li{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.cards .ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:rgba(255,166,43,.12);color:var(--or);flex:none}
.cards .ic svg{width:21px;height:21px}
.cards small{display:block;font-size:12.5px;color:var(--dim)}.cards a,.cards b{font-weight:700;font-size:16px;word-break:break-word}.cards a:hover{color:var(--or)}
.form{background:var(--card);border:1px solid var(--line2);border-radius:28px;padding:clamp(22px,3vw,34px);display:grid;gap:16px}
.form fieldset{border:0}.form legend{font-weight:700;margin-bottom:12px}
.chipsel{display:flex;flex-wrap:wrap;gap:8px}
.cb{min-height:42px;padding:0 16px;border-radius:999px;border:1.5px solid var(--line2);background:transparent;font-weight:600;font-size:14.5px;cursor:pointer;transition:.25s}
.cb[aria-pressed=true]{background:var(--or);border-color:var(--or);color:#1d1004}
.form label{display:block;font-weight:600;font-size:14px;margin-bottom:7px;color:#e4d9cd}
.form input,.form select,.form textarea{width:100%;min-height:50px;padding:12px 15px;border-radius:14px;background:#120f14;border:1.5px solid var(--line2);font-size:16px;transition:border-color .2s}
.form textarea{resize:vertical;min-height:96px}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--or);outline:0}
.form select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffa62b' stroke-width='2.4'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px;padding-right:44px}
.br{display:none}.br.on{display:block;animation:fi .4s}
@keyframes fi{from{opacity:0;transform:translateY(-6px)}}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fb{display:flex;flex-wrap:wrap;gap:10px}.fb .btn.pri{flex:1}
.map{position:relative;display:block;margin-top:clamp(40px,6vw,70px);border-radius:28px;overflow:hidden;border:1px solid var(--line2);height:300px;background:#120f14}
.map svg{width:100%;height:100%}
.map .rv0{fill:none;stroke:rgba(90,150,255,.35);stroke-width:14;stroke-linecap:round}
.map .rd0{fill:none;stroke:rgba(255,236,214,.18);stroke-width:5}.map .rd1{fill:none;stroke:rgba(255,236,214,.12);stroke-width:3}
.map .tgm circle{fill:var(--mut)}.map .tgm text{font:700 15px var(--f-b);fill:var(--mut)}.map .rvl{font:italic 600 14px var(--f-d);fill:rgba(120,170,255,.6)}
.map .dot{fill:var(--or)}.map .pulse{fill:rgba(255,166,43,.18);transform-origin:center;animation:pl 2.4s infinite}
@keyframes pl{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.4);opacity:0}}
.map .lbl{position:absolute;left:20px;top:20px;display:flex;gap:12px;align-items:center;padding:12px 16px;border-radius:16px;background:rgba(14,12,16,.86);border:1px solid var(--line2)}
.map .lbl>svg{width:22px;height:22px;color:var(--or)}
.map .lbl b,.map .lbl span>span{display:block}.map .lbl small{display:block;color:var(--mut);font-size:13px}
.map .lbl span{font-weight:800}
.map .go{position:absolute;right:20px;bottom:20px;display:flex;align-items:center;gap:8px;font-weight:700;color:var(--or);padding:10px 14px;border-radius:999px;background:rgba(14,12,16,.86)}
.map .go svg{width:18px;height:18px}

/* final */
.fin{position:relative;padding:clamp(90px,12vw,170px) 0;text-align:center;overflow:hidden}
.fin:before{content:"";position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 40%,rgba(255,150,40,.14),transparent 70%)}
.fin .wrap{position:relative}
.fl{width:clamp(150px,18vw,220px);margin:0 auto 30px}
.flogo{width:100%;height:auto;filter:drop-shadow(0 20px 40px rgba(255,130,20,.35))}
.fin .lead{max-width:560px;margin:20px auto 0}.fin .ctas{justify-content:center}

/* footer */
footer{position:relative;background:#09070a;border-top:1px solid var(--line);padding:0 0 30px}
.tread{height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='16' viewBox='0 0 32 16'%3E%3Cpath d='M2 2l14 12L30 2' fill='none' stroke='rgba(255,166,43,0.25)' stroke-width='2.5' stroke-linejoin='round'/%3E%3C/svg%3E") repeat-x 0 0/32px 16px;animation:tr 6s linear infinite}
@keyframes tr{to{background-position:32px 0}}
.ft{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:34px;padding:56px 0 40px}
.fdesc{color:var(--mut);font-size:14.5px;margin-top:16px;max-width:340px}
.soc{display:flex;gap:10px;margin-top:18px}.soc a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line2);transition:.25s}.soc a:hover{border-color:var(--or);color:var(--or)}.soc svg{width:19px;height:19px}
footer h4{font:600 12.5px/1 var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--or);margin-bottom:16px}
footer ul{list-style:none;display:grid;gap:8px;font-size:14.5px;color:var(--mut)}footer ul a:hover{color:var(--tx)}footer .mt{margin-top:8px;color:var(--tx)}
.legal{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}
.legal a:hover{color:var(--tx)}.anpc{display:flex;gap:16px}
.made a{color:var(--or);font-weight:700}

/* floating button, lightbox */
.fab{position:fixed;right:18px;bottom:18px;z-index:40;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:#fff;box-shadow:0 12px 30px -8px rgba(0,0,0,.6);transform:scale(0);transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.fab svg{width:28px;height:28px}.fab.on{transform:scale(1)}.fab.on.hid{transform:scale(0)}
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,6,9,.94);display:grid;place-items:center;padding:60px 70px}
.lb[hidden]{display:none}
.lb figure{max-width:min(1100px,100%);max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center}
.lb img{max-height:calc(100vh - 160px);width:auto;border-radius:16px}
.lb figcaption{color:var(--mut);font-size:15px;text-align:center}
.lb button{position:absolute;width:50px;height:50px;border-radius:50%;border:1px solid var(--line2);background:rgba(20,17,23,.9);display:grid;place-items:center;cursor:pointer}
.lb button svg{width:22px;height:22px}
.lb .x{right:18px;top:18px}.lb .nv{top:50%;transform:translateY(-50%)}.lb .p{left:14px}.lb .p svg{transform:rotate(180deg)}.lb .n{right:14px}

/* terms page */
.terms h2{margin-bottom:24px}.th{margin:30px 0 10px;font-size:22px}.terms .back{margin-top:36px}.terms a{color:var(--or)}

/* ---------- tablet / phone ---------- */
@media (max-width:1100px){.nav{display:none}.burger{display:block}.reels{grid-template-columns:repeat(3,minmax(0,1fr))}.rvs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){
 :root{--hdr:60px;--r:18px}
 body{font-size:16px}
 .wrap{width:calc(100% - 32px)}
 .hide-m{display:none}.tb-l span{font-size:12px}.topbar .wrap{min-height:32px}
 .hcta .btn span{display:none}.hcta .btn{width:46px;padding:0}
 .hero{height:500vh}
 .poster.d{display:none}.poster.m{display:block}
 .shade{background:linear-gradient(0deg,rgba(13,11,15,.96) 0%,rgba(13,11,15,.8) 30%,rgba(13,11,15,.1) 52%,transparent 60%)}
 .intro{align-items:flex-end;padding-bottom:max(26px,env(safe-area-inset-bottom))}
 .intro .lead{font-size:15.5px;margin-top:12px}
 h1{font-size:clamp(40px,11.6vw,56px)}
 .intro .ctas{margin-top:18px}.intro .btn{min-height:48px;padding:0 18px;font-size:15px}
 .chips{margin-top:14px}.chip{font-size:12px;padding:6px 10px}
 .beat{left:12px;right:12px;width:auto;top:auto;bottom:max(14px,env(safe-area-inset-bottom));transform:translateY(16px)}
 .beat.on{transform:none}.beat.past{transform:translateY(-10px)}
 .beat .card{padding:18px 18px 16px;background:rgba(18,15,20,.94)}
 .beat h2{font-size:28px;margin-bottom:8px}.beat p{font-size:15px;line-height:1.5}
 .beat .n{margin-bottom:10px;font-size:11.5px}
 .tags{margin-top:12px;gap:6px}.tags span{font-size:11.5px;padding:6px 9px}
 .beat .ctas{margin-top:14px}.beat .btn{min-height:46px;font-size:15px;padding:0 16px}
 .hud{right:12px;top:calc(var(--hdr) + 10px);bottom:auto;padding:8px 14px 8px 8px;gap:10px}
 .hm{display:none}
 .intro .ctas{flex-wrap:nowrap;gap:8px}.intro .btn{flex:1;min-width:0;padding:0 14px}.intro .btn.gh{flex:0 0 48px;padding:0;font-size:0;gap:0}
 .dial{width:44px;height:44px}.hud .rd b{font-size:16px}.hud .rd span{font-size:10px}.hud .rd small{font-size:12px}
 .hint{display:none}
 .sec{padding:72px 0}
 .shd.row,.ab,.menu,.lamp,.tip,.ht,.ct,.rvh{grid-template-columns:minmax(0,1fr)}
 .shd.row{gap:14px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sx{padding:14px}.sx b{font-size:30px}.sx span{font-size:13px}
 .abg{gap:10px}.ph.a1{aspect-ratio:4/3}
 .pieW{display:none}
 .sv{grid-template-columns:minmax(0,1fr)}.sh{min-height:0;aspect-ratio:16/10}
 .sb{padding:20px 18px 18px}.sb li{font-size:15px}
 .lvls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.lv{font-size:14px;min-height:46px}
 .lvt{min-height:96px}.panel{aspect-ratio:1/1;order:-1}.lamp>.lt{order:2}
 .gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:8px}
 .g.wide{grid-column:span 2}
 .reels{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.rl.xm{display:none}
 .tipP{aspect-ratio:4/3}
 .prods{grid-template-columns:minmax(0,1fr)}.pr{grid-template-columns:minmax(0,1fr)}.pr figure{min-height:0;aspect-ratio:16/10}
 .rvh{justify-items:center;text-align:center}.rvh .k{justify-content:center}
 .rvs{grid-template-columns:minmax(0,1fr)}
 .two{grid-template-columns:minmax(0,1fr)}
 .map{height:240px}.map .lbl{left:12px;top:12px;right:12px}.map .go{right:12px;bottom:12px}
 .ft{grid-template-columns:minmax(0,1fr);gap:28px;padding:40px 0 30px}
 .legal{flex-direction:column;gap:10px}
 .lb{padding:60px 10px}.lb .nv{top:auto;bottom:16px;transform:none}
}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.splt .w>span{transform:none}[data-rv]{opacity:1;transform:none}.pw img,.pw video{-webkit-mask-image:none;mask-image:none}}
