/* ══ KACHIK · product page (1 Oct 2026) ═════════════════════════════════════════
   Loaded after styles.css, on kachik.html only.
   The page wears the app's own identity instead of the studio paper: near-black #131413,
   panel #232522, warm paper #F4F1E8 and flash yellow #DFFF00 (Kachik/Design/Brand.swift).
   It looks the same in light and dark, so the theme button is hidden here; the saved
   site theme is left untouched and still applies on every other page.
   Display caps use Anton (SIL OFL 1.1), the closest open match to the launch posters. */
@font-face{font-family:Anton;src:url('assets/fonts/anton-400.woff2') format('woff2');font-weight:400;font-display:swap}

body.k{
  --k-ink:#131413;--k-panel:#232522;--k-paper:#F4F1E8;--k-acid:#DFFF00;--k-muted:#A6AAA0;--k-line:#2C2F2B;
  --paper:var(--k-ink);--paper-2:#1A1C19;--ink:var(--k-paper);--muted:var(--k-muted);--line:var(--k-line);
  --accent:var(--k-acid);--accent-text:var(--k-acid);--mark:var(--k-acid);--grain:.07;
  --shout:Anton,Impact,"Arial Narrow",sans-serif;
  background:var(--k-ink);color:var(--k-paper);overflow-x:clip;color-scheme:dark}
body.k main{overflow-x:clip}
body.k ::selection{background:var(--k-acid);color:var(--k-ink)}
body.k .theme-btn{display:none}
body.k a:focus-visible,body.k button:focus-visible,body.k input:focus-visible{outline:2px solid var(--k-acid);outline-offset:4px}
.k .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* shared pieces */
.k-eyebrow{display:inline-flex;align-items:center;gap:9px;font:11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--k-muted)}
.k-live{display:inline-flex;align-items:center;gap:9px;border:1px solid #3A3E37;border-radius:999px;padding:7px 13px 7px 10px;font:11px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-paper)}
.k-live i{width:8px;height:8px;border-radius:50%;background:var(--k-acid);box-shadow:0 0 0 0 #DFFF0099;animation:k-ping 1.8s infinite}
@keyframes k-ping{70%{box-shadow:0 0 0 9px #DFFF0000}100%{box-shadow:0 0 0 0 #DFFF0000}}
.k-h{font:400 clamp(44px,7vw,108px)/.9 var(--shout);letter-spacing:-.005em;text-transform:uppercase;margin:0}
.k-h mark{background:none;color:var(--k-acid)}
.k-sub{font-size:clamp(17px,1.6vw,21px);line-height:1.45;color:#D8D9D2;max-width:560px}
.k-btn{display:inline-flex;align-items:center;gap:14px;background:var(--k-acid);color:var(--k-ink);font:700 16px/1 var(--display);letter-spacing:-.01em;
  padding:17px 22px;border-radius:18px;text-decoration:none;transition:transform .2s cubic-bezier(.2,.9,.25,1),box-shadow .2s}
.k-btn:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 12px 0 -4px #DFFF0040}
.k-btn svg{width:18px;height:18px}
.k-btn.dark{background:var(--k-ink);color:var(--k-acid)}
.k-btn.dark:hover{box-shadow:0 12px 0 -4px #13141333}
.k-ghost{display:inline-flex;align-items:center;gap:10px;color:var(--k-paper);font-size:15px;text-decoration:none;border-bottom:1px solid #4A4E46;padding:6px 0}
.k-ghost:hover{border-color:var(--k-acid);color:var(--k-acid)}
.k-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;padding:0;list-style:none}
.k-chips li{font:11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid #33372F;border-radius:999px;padding:7px 11px;color:var(--k-muted)}
.k-sec{padding-block:clamp(70px,9vw,130px)}
.k-sec-head{display:grid;grid-template-columns:1fr minmax(0,420px);gap:24px 50px;align-items:end;margin-bottom:clamp(34px,4vw,56px)}
.k-sec-head p{color:var(--k-muted);font-size:16px;line-height:1.6}
.k-note{font:11px/1.7 var(--mono);color:var(--k-muted);margin-top:14px}

/* ── hero ── */
.k-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(30px,5vw,80px);align-items:center;padding-block:28px 70px}
.k-wm{margin:26px 0 20px;line-height:0;color:var(--k-paper)}
.k-wm svg{width:clamp(210px,30vw,400px);height:auto;overflow:visible}
.k-wm .flash{transform-box:fill-box;transform-origin:50% 50%;animation:k-zap 4.5s ease-in-out infinite}
@keyframes k-zap{0%,86%,100%{transform:none;filter:none}89%{transform:scale(1.14) rotate(-6deg);filter:drop-shadow(0 0 10px #DFFF00)}93%{transform:scale(.96)}}
.k-shout{font:400 clamp(58px,7.6vw,122px)/.88 var(--shout);text-transform:uppercase;letter-spacing:-.005em;margin:0}
.k-shout span{display:block}
.k-shout .hl{margin-top:.06em}
.k-shout mark{display:inline-block;line-height:.92;background:var(--k-acid);color:var(--k-ink);padding:.04em .07em 0;margin:0 0 .05em -.04em;transform:rotate(-1.5deg)}
.k-shout mark+mark{transform:rotate(1deg)}
.k-hero .k-sub{margin-top:28px}
.k-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 26px;margin-top:30px}

.k-stage{position:relative;height:clamp(520px,52vw,700px);display:flex;align-items:center;justify-content:center}
.k-stage .glow{position:absolute;inset:12% 6%;background:radial-gradient(closest-side,#DFFF0055,#DFFF0000);filter:blur(20px);animation:k-breathe 6s ease-in-out infinite}
@keyframes k-breathe{50%{opacity:.6;transform:scale(.94)}}
.k-phone{position:absolute;width:clamp(200px,19vw,272px);aspect-ratio:9/19.5;border-radius:34px;overflow:hidden;background:#000;
  box-shadow:0 0 0 7px #1E201D,0 0 0 8px #3A3E37,0 40px 60px -20px #000c}
.k-phone img,.k-phone video{width:100%;height:100%;object-fit:cover;display:block}
.k-phone.p1{transform:translateX(-62%) rotate(-9deg);opacity:.95}
.k-phone.p3{transform:translateX(62%) rotate(8deg);opacity:.95}
.k-phone.p2{z-index:2;width:clamp(230px,21vw,300px);transform:translateY(-10px)}
.k-badge{position:absolute;z-index:3;right:0;top:4%;width:clamp(120px,11vw,150px);aspect-ratio:1;display:grid;place-items:center}
.k-badge svg.ring{position:absolute;inset:0;width:100%;height:100%;animation:k-spin 16s linear infinite}
.k-badge svg.ring text{font:600 10px var(--mono);letter-spacing:1.55px;fill:var(--k-ink);text-transform:uppercase}
.k-badge .disc{position:absolute;inset:0;border-radius:50%;background:var(--k-acid)}
.k-badge .bolt{position:relative;width:34%;height:auto;color:var(--k-ink)}
@keyframes k-spin{to{transform:rotate(360deg)}}
.k-sticker{position:absolute;z-index:3;left:0;bottom:1%;background:var(--k-paper);color:var(--k-ink);font:400 22px/1 var(--shout);text-transform:uppercase;padding:11px 14px 9px;border-radius:6px;transform:rotate(-7deg);box-shadow:0 10px 0 -3px #0007}
.k-sticker small{display:block;font:10px/1.3 var(--mono);letter-spacing:.08em;margin-top:5px;color:#4A4E46}

/* ── ticker ── */
.k-ticker-wrap{overflow:hidden;padding-block:18px}
.k-ticker{background:var(--k-acid);color:var(--k-ink);overflow:hidden;transform:rotate(-1.6deg);margin:10px -2vw 0;padding-block:15px 12px;border-block:2px solid var(--k-ink)}
.k-ticker .track{display:flex;width:max-content;animation:k-marquee 32s linear infinite}
.k-ticker span{font:400 clamp(24px,3vw,40px)/1 var(--shout);text-transform:uppercase;white-space:nowrap;padding-right:28px}
.k-ticker b{font-weight:400;padding-right:28px}
.k-ticker:hover .track{animation-play-state:paused}
@keyframes k-marquee{to{transform:translateX(-50%)}}

/* ── recipe ── */
.k-recipe{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0;counter-reset:r}
.k-step{position:relative;background:var(--k-panel);border:1px solid #2F322D;border-radius:22px;padding:20px 20px 24px;min-height:330px;display:flex;flex-direction:column;
  transition:transform .3s cubic-bezier(.2,.9,.25,1),border-color .3s,background .3s}
.k-step:hover{transform:translateY(-8px) rotate(-1deg);border-color:var(--k-acid)}
.k-step:nth-child(even):hover{transform:translateY(-8px) rotate(1deg)}
.k-step .n{font:11px/1 var(--mono);letter-spacing:.1em;color:var(--k-acid)}
.k-step h3{font:400 40px/.95 var(--shout);text-transform:uppercase;letter-spacing:0;margin:auto 0 10px}
.k-step p{font-size:15px;line-height:1.5;color:#C9CBC3}
.k-step .viz{height:96px;margin:18px 0 22px;display:flex;align-items:center}
.viz-sw{display:flex;gap:6px}.viz-sw i{width:30px;height:62px;border-radius:9px;transition:height .3s}
.k-step:hover .viz-sw i:nth-child(odd){height:84px}
.viz-yr{display:flex;align-items:flex-end;gap:7px;font:10px var(--mono);color:var(--k-muted)}
.viz-yr i{width:2px;height:16px;background:#4A4E46}.viz-yr i.on{height:42px;background:var(--k-acid)}
.viz-yr b{font-weight:400;color:var(--k-acid);font-size:22px;margin-left:8px;font-family:var(--shout)}
.viz-mix{width:100%;display:grid;gap:12px}
.viz-mix i{display:block;height:5px;border-radius:9px;background:#3A3E37;position:relative}
.viz-mix i::after{content:"";position:absolute;top:50%;left:var(--v);width:15px;height:15px;border-radius:50%;background:var(--k-paper);transform:translate(-50%,-50%);transition:left .5s cubic-bezier(.2,.9,.25,1)}
.k-step:hover .viz-mix i::after{left:var(--v2)}
.viz-crack{width:96px;height:96px;border-radius:14px;background:linear-gradient(135deg,#E8B778,#98BED2);position:relative;overflow:hidden}
.viz-crack svg{position:absolute;inset:0;width:100%;height:100%}
.viz-sig{display:inline-flex;align-items:center;gap:10px;background:var(--k-acid);color:var(--k-ink);border-radius:14px;padding:13px 15px;font:700 14px var(--display)}
.viz-sig i{width:18px;height:18px;border-radius:50%;background:#8AA8CD;border:2px solid var(--k-ink)}

/* ── playground ── */
.k-play{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);align-items:start;background:var(--k-panel);border-radius:30px;padding:clamp(18px,3vw,40px)}
.k-shot{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:3/4;background:#000;isolation:isolate;max-height:720px;margin-inline:auto;width:100%}
.k-shot .base,.k-shot .orig{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:filter .45s ease}
.k-shot .orig{opacity:0;transition:opacity .2s}
/* "soft" years glow through a blurred copy on top; the photo underneath always stays sharp */
.k-shot .bloom{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(14px) brightness(1.15);mix-blend-mode:screen;opacity:0;transition:opacity .45s;pointer-events:none;transform:scale(1.04)}
.k-shot.show-orig .bloom,.k-shot.show-orig .tone,.k-shot.show-orig .temp,.k-shot.show-orig .lift,.k-shot.show-orig .vig,.k-shot.show-orig .grain{visibility:hidden}
.k-shot.show-orig .orig{opacity:1}
.k-shot .tone{position:absolute;inset:0;mix-blend-mode:soft-light;transition:background .45s,opacity .45s;pointer-events:none}
.k-shot .temp{position:absolute;inset:0;mix-blend-mode:overlay;transition:background .45s,opacity .45s;pointer-events:none}
.k-shot .lift{position:absolute;inset:0;background:#8a8a80;mix-blend-mode:lighten;opacity:0;transition:opacity .45s;pointer-events:none}
.k-shot .vig{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0000 45%,#000 100%);opacity:0;transition:opacity .45s;pointer-events:none}
.k-shot .grain{position:absolute;inset:-50%;opacity:0;mix-blend-mode:overlay;pointer-events:none;transition:opacity .45s;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.6 -.3'/></filter><rect width='100%' height='100%' filter='url(%23g)'/></svg>");animation:k-grain .5s steps(4) infinite}
@keyframes k-grain{25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-2%,-4%)}}
.k-shot .stamp{position:absolute;right:16px;bottom:14px;font:600 clamp(15px,1.6vw,20px)/1 var(--mono);letter-spacing:.06em;color:#FF8A2A;text-shadow:0 0 6px #ff6a00aa;opacity:0;transition:opacity .3s}
.k-shot.stamped .stamp{opacity:1}
.k-shot .tag{position:absolute;left:14px;top:14px;display:flex;align-items:center;gap:7px;background:#131413cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--k-paper);
  font:10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:7px 10px;border-radius:999px}
.k-shot .tag i{width:7px;height:7px;border-radius:50%;background:var(--k-acid)}
.k-hold{position:absolute;right:14px;top:12px;z-index:2;background:#131413cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--k-paper);border:0;border-radius:999px;padding:8px 13px;font:12px var(--display);cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}
.k-hold[aria-pressed="true"]{background:var(--k-acid);color:var(--k-ink)}
.k-ctrl h2{font:400 clamp(34px,3.6vw,52px)/.95 var(--shout);text-transform:uppercase;margin:6px 0 10px}
.k-ctrl .lbl{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 12px;font:11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--k-muted)}
.k-ctrl .lbl output{color:var(--k-paper);letter-spacing:.02em;text-transform:none;font-family:var(--display);font-size:14px;text-align:right}
.k-pal{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.k-pal button{width:100%;border:2px solid transparent;border-radius:14px;padding:44px 9px 9px;text-align:left;cursor:pointer;color:var(--k-ink);font:600 13px/1.15 var(--display);position:relative;transition:transform .15s,border-color .15s}
.k-pal button small{display:block;font:9px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin-top:3px}
.k-pal button:hover{transform:translateY(-2px)}
.k-pal button[aria-pressed="true"]{border-color:var(--k-acid);box-shadow:0 0 0 3px var(--k-panel),0 0 0 5px var(--k-acid)}
.k-pal button[aria-pressed="true"]::after{content:"";position:absolute;right:8px;top:8px;width:18px;height:18px;border-radius:50%;background:var(--k-ink) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M4 8.4 6.7 11 12 5.2' fill='none' stroke='%23DFFF00' stroke-width='2'/></svg>") center/14px no-repeat}
.k-dial{position:relative;padding-top:6px}
.k-dial input{width:100%;appearance:none;-webkit-appearance:none;background:none;height:44px;margin:0;cursor:grab}
.k-dial input::-webkit-slider-runnable-track{height:44px;background:repeating-linear-gradient(90deg,#4A4E46 0 2px,#0000 2px calc((100% - 2px)/11));background-size:100% 18px;background-repeat:no-repeat;background-position:0 50%}
.k-dial input::-moz-range-track{height:44px;background:repeating-linear-gradient(90deg,#4A4E46 0 2px,#0000 2px calc((100% - 2px)/11));background-size:100% 18px;background-repeat:no-repeat;background-position:0 50%}
.k-dial input::-webkit-slider-thumb{-webkit-appearance:none;width:6px;height:44px;border-radius:3px;background:var(--k-acid);box-shadow:0 0 14px #DFFF00aa}
.k-dial input::-moz-range-thumb{width:6px;height:44px;border:0;border-radius:3px;background:var(--k-acid)}
.k-years{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--k-muted);margin-top:4px}
.k-years span.on{color:var(--k-acid)}
.k-era{display:flex;gap:16px;align-items:baseline;margin-top:18px;padding:16px 18px;border-radius:16px;background:#1A1C19}
.k-era b{font:400 44px/1 var(--shout);color:var(--k-acid);font-weight:400}
.k-era p{font-size:15px;line-height:1.45;color:#D8D9D2}
.k-era p strong{display:block;color:var(--k-paper)}
.k-toggles{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.k-toggle{display:inline-flex;align-items:center;gap:10px;background:#1A1C19;border:1px solid #33372F;color:var(--k-paper);border-radius:999px;padding:9px 14px 9px 9px;font:14px var(--display);cursor:pointer}
.k-toggle i{width:34px;height:20px;border-radius:999px;background:#3A3E37;position:relative;transition:background .2s}
.k-toggle i::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:var(--k-paper);transition:transform .2s}
.k-toggle[aria-pressed="true"] i{background:var(--k-acid)}
.k-toggle[aria-pressed="true"] i::after{transform:translateX(14px);background:var(--k-ink)}
.k-pill{display:flex;align-items:center;gap:12px;margin-top:22px;background:var(--k-ink);border-radius:16px;padding:12px 14px}
.k-pill i{width:34px;height:34px;border-radius:10px;flex:none;transition:background .3s}
.k-pill span{font-size:15px}.k-pill small{display:block;color:var(--k-muted);font-size:13px}

/* ── screens ── */
.k-rail{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:10px var(--gutter) 30px;margin-inline:calc(var(--gutter) * -1);scrollbar-width:none;overscroll-behavior-x:contain;scroll-padding-inline:var(--gutter)}
.k-rail::-webkit-scrollbar{display:none}
.k-rail figure{flex:none;width:clamp(230px,24vw,300px);margin:0;scroll-snap-align:start}
.k-rail figure:nth-child(even){margin-top:46px}
.k-rail .frame{border-radius:30px;overflow:hidden;box-shadow:0 0 0 1px #2F322D,0 30px 50px -25px #000;transition:transform .35s cubic-bezier(.2,.9,.25,1)}
.k-rail figure:hover .frame{transform:translateY(-8px) rotate(-1.2deg)}
.k-rail figcaption{margin-top:16px;font-size:15px;line-height:1.45;color:#C9CBC3}
.k-rail figcaption b{display:block;font:400 26px/1 var(--shout);text-transform:uppercase;color:var(--k-paper);margin-bottom:6px;font-weight:400}
.k-rail figcaption b i{font:11px var(--mono);font-style:normal;color:var(--k-acid);margin-right:8px;vertical-align:4px}
.k-rail-nav{display:flex;gap:10px}
.k-rail-nav button{width:48px;height:48px;border-radius:50%;border:1px solid #3A3E37;background:none;color:var(--k-paper);cursor:pointer;font-size:20px}
.k-rail-nav button:hover{background:var(--k-acid);color:var(--k-ink);border-color:var(--k-acid)}

/* ── India atlas ── */
.k-atlas{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;list-style:none;padding:0;margin:0}
.k-atlas li{position:relative;background:var(--c);color:var(--k-ink);border-radius:18px;padding:16px;min-height:150px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;
  transition:transform .3s cubic-bezier(.2,.9,.25,1)}
.k-atlas li:hover{transform:translateY(-5px) rotate(-1.5deg)}
.k-atlas li:nth-child(3n):hover{transform:translateY(-5px) rotate(1.5deg)}
.k-atlas .pl{font:10px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.k-atlas h3{font:400 26px/1 var(--shout);text-transform:uppercase;letter-spacing:0;margin:6px 0 0}
.k-atlas p{font-size:13px;line-height:1.35;margin-top:8px;max-height:0;opacity:0;transition:max-height .35s,opacity .3s}
.k-atlas li:hover p,.k-atlas li:focus-within p{max-height:60px;opacity:.85}
.k-atlas .hex{position:absolute;right:14px;top:14px;font:10px var(--mono);opacity:.55}
.k-everyday{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;list-style:none;padding:0}
.k-everyday li{display:inline-flex;align-items:center;gap:8px;border:1px solid #33372F;border-radius:999px;padding:6px 12px 6px 6px;font-size:14px}
.k-everyday i{width:22px;height:22px;border-radius:50%;background:var(--c)}

/* ── misclick (the lime poster) ── */
.k-lime{background:var(--k-acid);color:var(--k-ink)}
.k-lime ::selection{background:var(--k-ink);color:var(--k-acid)}
.k-lime .k-sub,.k-lime .k-sec-head p{color:#2A2C27}
.k-lime .k-eyebrow{color:#3A3E37}
.k-mis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center}
.k-mis .card{background:var(--k-ink);border-radius:26px;padding:12px;transform:rotate(2deg);box-shadow:16px 16px 0 #13141322}
.k-mis .card img{border-radius:16px;width:100%;height:auto}
.k-mis .card figcaption{font:10px var(--mono);letter-spacing:.06em;color:var(--k-muted);padding:10px 6px 2px}
.k-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:30px 0 0}
.k-tags li{font:400 24px/1 var(--shout);text-transform:uppercase;background:var(--k-ink);color:var(--k-acid);padding:10px 14px 8px;border-radius:8px;transition:transform .2s}
.k-tags li:nth-child(odd){transform:rotate(-2deg)}.k-tags li:nth-child(even){transform:rotate(1.5deg)}
.k-tags li:hover{transform:rotate(0) scale(1.08)}

/* ── built right ── */
.k-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#2C2F2B;border:1px solid #2C2F2B;border-radius:24px;overflow:hidden}
.k-fact{background:var(--k-ink);padding:28px 26px 30px;transition:background .25s}
.k-fact:hover{background:#1A1C19}
.k-fact svg{width:34px;height:34px;color:var(--k-acid);margin-bottom:28px}
.k-fact h3{font-size:22px;letter-spacing:-.02em;margin-bottom:8px}
.k-fact p{font-size:15px;line-height:1.55;color:#B9BBB3}
.k-no{display:flex;flex-wrap:wrap;gap:6px 26px;margin-top:40px;font:400 clamp(30px,4.4vw,64px)/1 var(--shout);text-transform:uppercase}
.k-no span{color:#6B7066;text-decoration:line-through;text-decoration-color:var(--k-acid);text-decoration-thickness:.09em}
.k-no strong{font-weight:400;color:var(--k-acid)}

/* ── posters ── */
.k-posters{display:grid;max-width:1040px;margin-inline:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2.4vw,34px);align-items:start}
.k-posters figure{margin:0}
.k-posters .frame{display:block;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px #2F322D,0 30px 40px -20px #000;transition:transform .35s cubic-bezier(.2,.9,.25,1)}
.k-posters figure:nth-child(1) .frame{transform:rotate(-3deg)}
.k-posters figure:nth-child(2) .frame{transform:translateY(30px)}
.k-posters figure:nth-child(3) .frame{transform:rotate(3deg)}
.k-posters figure:hover .frame{transform:translateY(-10px) rotate(0)}
.k-posters figcaption{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--k-muted)}
.k-posters figure:nth-child(2) figcaption{margin-top:52px}
.k-posters figcaption a{color:var(--k-acid);text-decoration:none;border-bottom:1px solid currentColor;padding:4px 0}

/* ── next ── */
.k-next{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,5vw,80px);border:1px dashed #4A4E46;border-radius:26px;padding:clamp(24px,3.5vw,48px)}
.k-next h2{font:400 clamp(36px,4.4vw,64px)/.95 var(--shout);text-transform:uppercase}
.k-next ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.k-next li{display:grid;grid-template-columns:28px 1fr;gap:12px;padding:16px 0;border-top:1px solid #2C2F2B;font-size:15px;line-height:1.5;color:#C9CBC3}
.k-next li:first-child{border-top:0;padding-top:0}
.k-next li b{color:var(--k-paper);font-weight:650}
.k-next li::before{content:"";width:12px;height:16px;margin-top:4px;background:var(--k-acid);clip-path:polygon(61% 0,15% 55%,45% 55%,32% 100%,88% 35%,56% 35%)}

/* ── final call ── */
.k-final{background:var(--k-acid);color:var(--k-ink);border-radius:34px;padding:clamp(34px,6vw,90px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;position:relative;overflow:hidden}
.k-final .k-h{font-size:clamp(56px,9vw,150px)}
.k-final p{font-size:19px;margin-top:22px;max-width:460px}
.k-final .icon{width:clamp(110px,12vw,170px);border-radius:24%;box-shadow:0 22px 40px -14px #13141366;transform:rotate(8deg);transition:transform .4s cubic-bezier(.2,.9,.25,1)}
.k-final:hover .icon{transform:rotate(-4deg) scale(1.05)}
.k-final .k-actions{margin-top:34px}
.k-final .k-note{color:#3A3E37;font-size:11px;margin-top:16px}
.k-final .k-eyebrow{color:#3A3E37}

/* detail-limits / next-product / footer inherit the site styles on the dark tokens */
body.k .detail-limits,body.k .next-product,body.k .footer{border-color:#2C2F2B}
body.k .next-product:hover h2{color:var(--k-acid)}

/* ── reveal on scroll (only once the page has JS) ── */
.k-js .k-rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.k-js .k-rv.in{opacity:1;transform:none}

/* ── responsive ── */
@media (max-width:1100px){
  .k-recipe{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k-step{min-height:290px}
  .k-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .k-hero{grid-template-columns:1fr;padding-bottom:40px}
  .k-stage{height:540px}
  .k-sec-head{grid-template-columns:1fr}
  .k-play{grid-template-columns:1fr}
  .k-shot{max-width:460px}
  .k-mis{grid-template-columns:1fr}
  .k-mis .card{max-width:520px}
  .k-next{grid-template-columns:1fr}
}
@media (max-width:650px){
  .k-shout{font-size:clamp(54px,17vw,92px)}
  .k-stage{height:440px;overflow:clip;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .k-phone{width:170px;border-radius:26px;box-shadow:0 0 0 5px #1E201D,0 0 0 6px #3A3E37,0 30px 40px -18px #000c}
  .k-phone.p2{width:196px}
  .k-phone.p1{transform:translateX(-56%) rotate(-9deg)}
  .k-phone.p3{transform:translateX(56%) rotate(8deg)}
  .k-badge{width:104px;right:-4px;top:0}
  
  .k-sticker{font-size:18px;left:0;bottom:4%}
  .k-recipe{grid-template-columns:1fr 1fr;gap:10px}
  .k-step{min-height:250px;padding:16px;border-radius:18px}
  .k-step:last-child{grid-column:1 / -1;min-height:200px}
  .k-step h3{font-size:32px}
  .k-step p{font-size:14px}
  .k-step .viz{height:70px;margin:8px 0 14px}
  .viz-sw i{width:22px;height:48px}.k-step:hover .viz-sw i:nth-child(odd){height:62px}
  .viz-crack{width:70px;height:70px}
  .k-play{border-radius:22px;padding:14px 14px 22px}
  .k-pal{grid-template-columns:repeat(3,minmax(0,1fr))}
  .k-pal button{padding-top:34px}
  .k-era b{font-size:36px}
  .k-rail figure{width:72vw}
  .k-rail figure:nth-child(even){margin-top:0}
  .k-atlas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .k-atlas li{min-height:128px;padding:13px;border-radius:14px}
  .k-atlas h3{font-size:22px}
  .k-atlas p{max-height:60px;opacity:.85;font-size:12px}
  .k-facts{grid-template-columns:1fr;border-radius:18px}
  .k-fact{padding:22px 20px}
  .k-fact svg{margin-bottom:16px}
  .k-tags li{font-size:20px}
  .k-posters{grid-template-columns:repeat(3,minmax(64vw,1fr));overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(var(--gutter) * -1);padding:10px var(--gutter) 10px;scrollbar-width:none}
  .k-posters::-webkit-scrollbar{display:none}
  .k-posters figure{scroll-snap-align:center}
  .k-posters figure .frame,.k-posters figure:nth-child(n) .frame{transform:none}
  .k-posters figure:nth-child(2) figcaption{margin-top:22px}
  .k-final{grid-template-columns:1fr;border-radius:24px}
  .k-final .icon{position:absolute;right:18px;top:18px;width:84px}
  .k-final .k-h{padding-right:70px}
}
@media (prefers-reduced-motion:reduce){
  .k-ticker .track,.k-badge svg.ring,.k-wm .flash,.k-stage .glow,.k-live i,.k-shot .grain{animation:none!important}
  .k-js .k-rv{opacity:1;transform:none}
}
