/* MotionLoved · v6, the premium light design.
   White pages, near-black type in Geist, and the logo's gradient (crimson → ember → orange → gold) used sparingly:
   on the orb, buttons, one band and the drops card. Motion lives in js/scenes.js (headline reveals, the orb that docks
   into the nav, floating cards, counters, live mini interfaces) and js/motion.js (buttons, indicators, panels). */

/* Geist + Geist Mono (SIL Open Font License), variable, from Google's font server */
@font-face{font-family:"Geist";font-style:normal;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwcGFU.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist";font-style:normal;font-weight:300 800;font-display:swap;src:url(https://fonts.gstatic.com/s/geist/v5/gyByhwUxId8gMEwSGFWfOw.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Geist Mono";font-style:normal;font-weight:400 600;font-display:swap;src:url(https://fonts.gstatic.com/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* palette */
  --bg:#ffffff; --bg-2:#f6f5f3; --bg-3:#eeece8;
  --ink:#0b0b0c; --ink-2:#2c2b29; --mute:#6b6862; --faint:#8a867f;
  --line:#e8e5e0; --line-2:#d9d5cf;
  --dark:#0b0b0c; --dark-2:#151517; --dark-3:#1e1e21; --dark-line:#2a2a2e; --on-dark:#f6f4f1; --on-dark-2:#a8a49e;
  --crimson:#f31d36; --ember:#f55f26; --orange:#f68d1e; --gold:#ffc73a;
  --grad:linear-gradient(105deg,var(--crimson) 0%,var(--ember) 42%,var(--orange) 72%,#ffb13a 100%);
  --grad-text:linear-gradient(100deg,#e3132c 0%,var(--ember) 55%,#dd6a0a 100%);   /* darker stops: legible on white */
  --ring:#f55f26;
  --fg:var(--ink); --fg-2:var(--ink-2); --line-c:var(--line); --edge-c:var(--line-2); --surface:var(--bg); --surface-2:var(--bg-2);
  /* type */
  --sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  /* space + shape */
  --gut:clamp(16px,3.2vw,48px);
  --nav-h:68px;
  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:32px;
  --sh-1:0 1px 2px rgba(11,11,12,.05),0 6px 20px -8px rgba(11,11,12,.12);
  --sh-2:0 2px 6px rgba(11,11,12,.05),0 30px 70px -20px rgba(11,11,12,.25);
  --sh-glow:0 18px 50px -14px rgba(243,29,54,.45);
  /* ---- the motion system (read by js/motion.js) ---- */
  --d-press:110ms; --d-fast:220ms; --d-base:360ms; --d-panel:600ms; --d-reveal:950ms; --d-scroll:1400ms;   /* calm: nothing snaps */
  --e-out:cubic-bezier(.16,1,.3,1);
  --e-in:cubic-bezier(.5,0,.75,0);
  --e-sine:cubic-bezier(.37,0,.63,1);
  --e-spring:linear(0, 0.0251, 0.0881, 0.1737, 0.2705, 0.3703, 0.4674, 0.5581, 0.6402, 0.7126, 0.775, 0.8277, 0.8715, 0.907, 0.9354, 0.9576, 0.9745, 0.9872, 0.9962, 1.0025, 1.0066, 1.009, 1.0102, 1.0105, 1.0101, 1.0094, 1.0084, 1.0073, 1.0061, 1.005, 1.004, 1.0031, 1.0022, 1.0015, 1.0009, 1.0004, 1);
}
@media (max-width:720px){ :root{ --nav-h:60px; } }

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0;padding:0}
[hidden]{display:none!important}
html{background:var(--bg);color:var(--ink);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
html.locked{overflow:hidden}
body{font-family:var(--sans);font-size:16px;line-height:1.55;font-weight:400;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip;background:var(--bg)}
img,video{display:block;max-width:100%}
a{color:inherit}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
ul,ol{list-style:none}
::selection{background:#ffd9c7;color:var(--ink)}
:focus{outline:none}
:focus-visible{outline:2px solid var(--ring);outline-offset:3px;border-radius:6px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1320px,100%);margin-inline:auto;padding-inline:var(--gut)}
.num{font-variant-numeric:tabular-nums}
.skip{position:fixed;left:12px;top:12px;z-index:200;background:var(--ink);color:#fff;padding:12px 16px;border-radius:var(--r-s);font-weight:600;text-decoration:none;transform:translateY(-200%)}
.skip:focus-visible{transform:none}
.grad{background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}

/* what the scenes reveal starts hidden (only while motion is on; a 3 s failsafe lifts it) */
html.mo.anim [data-reveal]{opacity:0;transform:translateY(22px)}
html.mo.anim [data-hero-in]{opacity:.001}   /* .001, not 0: painted at first paint, so the largest-paint metric doesn't wait for the intro */
html.mo.anim [data-words]:not(.is-split){opacity:.001}
html.mo.anim .hero-art{opacity:.001}
html.mo.anim .wm-in:not(.is-split),html.mo.anim .fm-in:not(.is-split){visibility:hidden}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}   /* a word's mask */
.w>span{display:inline-block;will-change:transform}
.is-split .grad{background:none;color:inherit}
.grad .w>span{background:var(--grad-text);background-size:var(--gw,100%) 100%;background-position:var(--gx,0px) 0;background-repeat:no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- type ---------- */
.kicker{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.kicker .no{display:inline-grid;place-items:center;min-width:28px;height:22px;padding:0 7px;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);font-size:11px}
.h-hero{font-size:clamp(46px,6.4vw,104px);font-weight:600;line-height:.96;letter-spacing:-.048em;color:var(--ink)}
.h2{font-size:clamp(36px,4.8vw,76px);font-weight:600;line-height:1;letter-spacing:-.045em;color:var(--ink)}
.h2:focus,.h-hero:focus{outline:none}
.sub{font-size:clamp(16px,1.25vw,19px);line-height:1.55;color:var(--fg-2);max-width:46ch;letter-spacing:-.01em}

/* ---------- buttons: a stable hit area, the face moves (js/motion.js) ---------- */
.btn{position:relative;display:inline-flex;border:0;background:none;padding:0;text-decoration:none;color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:999px;flex:none}
.btn:focus-visible{outline:none}
.btn-face{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;isolation:isolate;transform-origin:50% 50%;transition:background-color var(--d-fast) var(--e-out),box-shadow var(--d-base) var(--e-out),color var(--d-fast) var(--e-out)}
.btn:focus-visible .btn-face{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ring)}
.btn-label{position:relative;z-index:2;display:inline-block}
.btn-icon{position:relative;z-index:2;display:inline-block;width:14px;height:10px;transition:transform var(--d-base) var(--e-spring)}
.btn-icon::before{content:"";position:absolute;left:0;top:4.25px;width:12px;height:1.5px;background:currentColor;border-radius:2px}
.btn-icon::after{content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;transform:rotate(45deg)}
@media (hover:hover){.btn:hover .btn-icon{transform:translateX(3px)}}
.btn-label::before,.btn-label::after{display:none}
/* dark: the main action */
.btn-dark .btn-face{background:var(--ink);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 24px -10px rgba(11,11,12,.45)}
@media (hover:hover){.btn-dark:hover .btn-face{background:#232326;box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 14px 34px -12px rgba(243,29,54,.55)}}
/* primary: the logo's gradient, near-black label */
.btn-primary .btn-face{background:var(--grad);background-size:160% 100%;background-position:0% 50%;color:var(--ink);font-weight:600;box-shadow:var(--sh-glow);transition:background-position var(--d-reveal) var(--e-out),box-shadow var(--d-base) var(--e-out)}
@media (hover:hover){.btn-primary:hover .btn-face{background-position:100% 50%;box-shadow:0 22px 56px -14px rgba(243,29,54,.6)}}
.btn-primary .btn-face::after{content:"";position:absolute;inset:-2px auto -2px 0;width:42%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-130%) skewX(-18deg);z-index:1;pointer-events:none}
@media (hover:hover){.btn-primary:hover .btn-face::after{transform:translateX(280%) skewX(-18deg);transition:transform var(--d-reveal) var(--e-out)}}
/* secondary: hairline outline; a dark fill rises on hover (the fill copy is made by motion.js) */
.btn-secondary .btn-face{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink)}
.btn-fill{position:absolute;inset:0;z-index:3;overflow:hidden;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;transform:translateY(101%);transition:transform var(--d-base) var(--e-out);pointer-events:none;border-radius:inherit}
.btn-fill-in{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:10px;transform:translateY(-101%);transition:transform var(--d-base) var(--e-out)}
.btn-secondary.is-pressed .btn-fill,.btn-secondary.is-pressed .btn-fill-in{transform:none}
@media (hover:hover){.btn-secondary:hover .btn-fill,.btn-secondary:hover .btn-fill-in{transform:none}}
/* ghost: text with a hairline on hover */
.btn-ghost .btn-face{min-height:40px;padding:0 16px;color:var(--ink);font-size:14px}
.btn-ghost .btn-face::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px var(--line-2);opacity:0;transition:opacity var(--d-fast) var(--e-out)}
@media (hover:hover){.btn-ghost:hover .btn-face::before{opacity:1}}
.btn-ghost[aria-expanded="true"] .btn-face::before{opacity:1;box-shadow:inset 0 0 0 1px var(--ink)}
.btn-wide,.btn-wide .btn-face{width:100%}
.nav-av{display:inline-flex;flex:none;margin-left:-8px}
.nav-av .av{width:24px;height:24px;font-size:11px}
@media (max-width:720px){ [data-login] .nav-av~.btn-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} [data-login] .nav-av{margin:0} .btn-ghost:has(.nav-av) .btn-face{padding:0 8px} }   /* phones: the avatar alone (the label stays for screen readers) */

/* ---------- segmented controls (nav, chips, sort): a sliding indicator (js/motion.js) ---------- */
.seg{position:relative;display:flex;align-items:center;gap:2px;isolation:isolate}
.seg-ind{position:absolute;left:0;top:0;width:100px;height:100px;transform-origin:0 0;pointer-events:none;opacity:0;z-index:-1}
.seg-item{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:0 14px;border:0;background:none;border-radius:999px;font-size:14px;font-weight:500;color:var(--ink-2);text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color var(--d-fast) var(--e-out)}
@media (hover:hover){.seg-item:hover{color:var(--ink)}}
.seg-item .cnt{font-family:var(--mono);font-size:11px;color:var(--mute);transition:color var(--d-base) var(--e-out) 60ms}
.seg--pill .seg-item[aria-pressed="true"] .cnt{color:rgba(255,255,255,.74)}
.seg-item:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
.seg-item[disabled]{opacity:.4;cursor:not-allowed}
.seg--pill .seg-ind{width:0;height:38px}
.seg--pill .seg-ind i{position:absolute;top:0;height:38px;background:var(--ink)}
.seg--pill .seg-ind .cap{left:0;width:38px;border-radius:50%}
.seg--pill .seg-ind .mid{left:19px;width:1px;transform-origin:0 0}
.seg--pill .seg-ind .cap.r{left:0}
.seg--pill .seg-item{color:var(--ink-2)}
.seg--pill .seg-item>span{transition:color var(--d-base) var(--e-out) 60ms}
.seg--pill .seg-item[aria-pressed="true"]>span{color:#fff}
@media (hover:hover){.seg--pill .seg-item:not([aria-pressed="true"]):hover>span{color:var(--ink)}}
.seg--line .seg-ind{height:2px!important;top:auto;bottom:-2px;background:var(--line);border-radius:2px}
.seg-ind .fill{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transform:scaleX(0);border-radius:inherit}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto;z-index:60;height:var(--nav-h);background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid rgba(11,11,12,.06)}
.nav-in{height:100%;display:flex;align-items:center;gap:22px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:600;font-size:17px;letter-spacing:-.03em;border-radius:8px}
.logo-orb{position:relative;display:block;width:28px;height:28px;border-radius:50%}
.logo-orb img{width:28px;height:28px;border-radius:50%}
.logo-orb::after{content:"";position:absolute;inset:-5px;border-radius:50%;box-shadow:0 0 0 1.5px var(--ember),0 0 18px rgba(245,95,38,.55);opacity:var(--ring-o,0);transform:scale(var(--ring-s,1));pointer-events:none}
.nav-streak{position:absolute;left:0;bottom:-1px;width:220px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--crimson),var(--ember) 22%,rgba(246,141,30,.45) 60%,rgba(255,199,58,0));box-shadow:-6px 0 14px rgba(243,29,54,.55);opacity:0;pointer-events:none;will-change:transform,opacity}
.nav-links{margin-left:auto}
.nav-links .seg-item{min-height:40px;padding:0 12px;gap:0}
.nav-links .seg-item[aria-current="true"]{color:var(--ink)}
.nav-act{display:flex;align-items:center;gap:6px;margin-left:8px}
.nav-cta .btn-face{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:900px){ .nav-links .seg li:nth-child(2){display:none} }
@media (max-width:720px){ .nav-links{display:none} .nav-act{margin-left:auto} .nav-cta{display:none} }
main{padding-top:var(--nav-h)}

/* ---------- 01 · hero ---------- */
.hero{--wm-f:clamp(96px,16.8vw,270px);position:relative;overflow:clip;min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column;isolation:isolate}
.hero-glow{position:absolute;z-index:-1;right:-12vw;top:-6vw;width:min(78vw,1100px);aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(245,95,38,.28),rgba(243,29,54,.12) 45%,rgba(255,199,58,.08) 62%,transparent 72%);filter:blur(10px);pointer-events:none}
.hero-in{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,64px);padding-top:clamp(36px,6vh,72px);padding-bottom:calc(var(--wm-f) * .79 + 12px)}
.hero-copy{display:flex;flex-direction:column;gap:26px;position:relative;z-index:3}
.chip{align-self:flex-start;display:inline-flex;align-items:center;gap:9px;min-height:32px;padding:0 14px 0 10px;border-radius:999px;background:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);font-size:13px;font-weight:500;color:var(--ink-2)}
.chip-dot{width:14px;height:14px;border-radius:50%;background:url(../assets/brand/orb-96.webp) center/cover}
.hero-line{font-size:clamp(17px,1.35vw,20px);line-height:1.55;color:var(--ink-2);max-width:44ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.hero-stats{display:flex;flex-wrap:wrap;gap:12px 40px;padding-top:8px;border-top:1px solid var(--line);max-width:520px}
.hero-stats div{display:flex;flex-direction:column;gap:2px;padding-top:14px}
.hero-stats dt{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.hero-stats dd{font-size:30px;font-weight:600;letter-spacing:-.04em;line-height:1.1;min-width:2ch}
.hero-art{position:relative;align-self:stretch;min-height:440px;z-index:2}
.orb-stage{position:absolute;left:50%;top:50%;width:min(36vw,500px);aspect-ratio:1;margin:calc(min(36vw,500px) / -2) 0 0 calc(min(36vw,500px) / -2);z-index:2}
.orb-halo{position:absolute;inset:-22%;border-radius:50%;background:conic-gradient(from 0deg,rgba(243,29,54,.0),rgba(243,29,54,.32),rgba(246,141,30,.34),rgba(255,199,58,.22),rgba(243,29,54,.0) 70%);filter:blur(42px);opacity:.75}
.orb-ring{position:absolute;inset:-9%;border-radius:50%;border:1px solid rgba(11,11,12,.08)}
.orb-ring.r2{inset:-19%;border-color:rgba(11,11,12,.05)}
.orb-ring::after{content:"";position:absolute;top:-4px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--grad);box-shadow:0 0 12px rgba(245,95,38,.6)}
.orb-ring.r2::after{width:6px;height:6px;top:-3px;margin-left:-3px;background:var(--ink)}
.hero-orb{position:relative;width:100%;height:100%;border-radius:50%;object-fit:cover;filter:drop-shadow(0 40px 60px rgba(243,29,54,.28))}
.float-card{position:absolute;z-index:4;border-radius:18px;background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(11,11,12,.06),var(--sh-2)}
.fc-prompt{left:-4%;bottom:6%;width:min(300px,62%);padding:14px 16px 12px}
.fc-top{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:500}
.fc-av{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--grad);color:var(--ink);font-size:11px;font-weight:700;text-transform:uppercase}
.fc-who{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fc-tag{font-family:var(--mono);font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--bg-2);color:var(--mute)}
.fc-prompt-text{margin:10px 0 10px;min-height:4.4em;font-family:var(--mono);font-size:12px;line-height:1.45;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fc-prompt-text::after{content:"";display:inline-block;width:6px;height:13px;margin-left:2px;vertical-align:-2px;background:var(--ember);animation:blink 1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
.fc-foot{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:var(--mute)}
.fc-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--ink);color:#fff;font-weight:500}
.fc-copy i{width:9px;height:10px;border:1.5px solid currentColor;border-radius:2px;box-shadow:2px -2px 0 -0.5px var(--ink),2px -2px 0 1px currentColor}
.fc-stat{right:-2%;top:6%;padding:14px 16px;display:grid;gap:4px;min-width:178px}
.fc-label{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.fc-big{font-size:15px;color:var(--ink-2)}
.fc-big b{font-size:34px;font-weight:600;letter-spacing:-.04em;color:var(--ink);margin-right:2px}
.fc-bars{display:flex;align-items:flex-end;gap:4px;height:30px;margin-top:4px}
.fc-bars i{flex:1;border-radius:3px;background:var(--bg-3);height:30%;transform-origin:50% 100%}
.fc-bars i:nth-child(2){height:55%} .fc-bars i:nth-child(3){height:42%} .fc-bars i:nth-child(4){height:78%;background:var(--grad)} .fc-bars i:nth-child(5){height:60%} .fc-bars i:nth-child(6){height:88%} .fc-bars i:nth-child(7){height:70%}
.wordmark{position:absolute;left:0;right:0;bottom:0;z-index:1;overflow:hidden;height:calc(var(--wm-f) * .79);pointer-events:none;user-select:none}
.wm-in{position:absolute;left:50%;bottom:calc(var(--wm-f) * -.142);white-space:nowrap;transform:translateX(-50%);font-size:var(--wm-f);font-weight:700;letter-spacing:-.065em;line-height:1;color:var(--ink)}
@media (max-width:900px){
  .hero-in{grid-template-columns:1fr;padding-bottom:calc(var(--wm-f) * .79 + 12px)}
  .hero-art{min-height:380px;order:-1}
  .orb-stage{width:min(62vw,360px);margin:calc(min(62vw,360px) / -2) 0 0 calc(min(62vw,360px) / -2)}
  .fc-prompt{left:0;bottom:2%} .fc-stat{right:0;top:2%}
}
@media (max-width:560px){ .hero-art{min-height:320px} .fc-prompt{width:68%} .fc-stat{min-width:0} .fc-big b{font-size:26px} .hero-stats{gap:6px 26px} .hero-stats dd{font-size:24px} }

/* ---------- creators strip ---------- */
.strip{display:flex;align-items:center;gap:28px;padding:30px 0;border-block:1px solid var(--line);background:var(--bg)}
.strip-lab{flex:none;padding-left:var(--gut);font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.strip-mask{flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.strip-row{display:flex;align-items:center;gap:44px;width:max-content;will-change:transform}
.strip-row span{display:inline-flex;align-items:center;gap:12px;font-size:clamp(18px,1.7vw,24px);font-weight:500;letter-spacing:-.02em;color:#77736d;white-space:nowrap}
.strip-row span::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--grad);opacity:.85}

/* ---------- sections ---------- */
.sec{position:relative;padding-block:clamp(84px,10vw,150px)}
.sec-head{display:grid;gap:22px;margin-bottom:clamp(30px,4vw,54px)}
.sec-head .row{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 48px}
.sec-head .row .h2{max-width:15ch}

/* ---------- 02 · gallery ---------- */
.gal-open{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.gal-open-note{font-size:14px;color:var(--mute)}
.gal-open-note b{color:var(--ink);font-weight:600}
.gal-videos{margin-top:clamp(26px,3vw,40px)}
.gal-quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:22px}
.gal-quick-lab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.gal-quick-list{display:flex;flex-wrap:wrap;gap:8px}
.gal-quick-list a,.gal-quick-list button{all:unset;box-sizing:border-box;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 14px;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px var(--line-2);font-size:13.5px;font-weight:500;color:var(--ink-2);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--d-fast) var(--e-out),color var(--d-fast) var(--e-out),box-shadow var(--d-fast) var(--e-out)}
.gal-quick-list a .cnt,.gal-quick-list button .cnt{font-family:var(--mono);font-size:11px;color:var(--mute)}
@media (hover:hover){.gal-quick-list a:hover,.gal-quick-list button:hover{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1px var(--ink)} .gal-quick-list a:hover .cnt,.gal-quick-list button:hover .cnt{color:rgba(255,255,255,.74)}}
.gal-quick-list a:focus-visible,.gal-quick-list button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.tools{display:grid;grid-template-columns:minmax(260px,400px) 1fr auto;grid-template-areas:"search . sort" "chips chips chips";gap:14px 18px;align-items:center;margin-bottom:18px}
.search{grid-area:search;position:relative;display:flex;align-items:center} .sort-wrap{grid-area:sort} .chips-wrap{grid-area:chips}
.search input{width:100%;min-height:46px;padding:0 74px 0 42px;border:0;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);font-size:15px;-webkit-appearance:none;appearance:none;transition:box-shadow var(--d-fast) var(--e-out),background-color var(--d-fast) var(--e-out)}
.search input::placeholder{color:var(--faint);opacity:1}
.search input:focus-visible{outline:none;background:#fff;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px rgba(245,95,38,.18)}
.search input::-webkit-search-cancel-button{display:none}
.search-ic{position:absolute;left:16px;width:14px;height:14px;border:1.6px solid var(--mute);border-radius:50%;pointer-events:none}
.search-ic::after{content:"";position:absolute;right:-5px;bottom:-5px;width:6px;height:1.6px;background:var(--mute);transform:rotate(45deg)}
.search-kbd{position:absolute;right:14px;font-family:var(--mono);font-size:11px;padding:2px 7px;border-radius:6px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--mute);pointer-events:none;transition:opacity var(--d-fast) var(--e-out)}
.search input:focus~.search-kbd,.search.has-q .search-kbd{opacity:0}
.search-clear{position:absolute;right:6px;width:36px;height:36px;border:0;border-radius:50%;background:none;color:var(--ink);display:grid;place-items:center;opacity:0;transform:scale(.6);pointer-events:none;transition:opacity var(--d-fast) var(--e-out),transform var(--d-base) var(--e-spring)}
.search.has-q .search-clear{opacity:1;transform:none;pointer-events:auto}
.search-clear::before,.search-clear::after{content:"";position:absolute;width:12px;height:1.5px;background:currentColor}
.search-clear::before{transform:rotate(45deg)} .search-clear::after{transform:rotate(-45deg)}
.chips-wrap{position:relative;min-width:0;min-height:46px;overflow-x:auto;scrollbar-width:none;margin:-4px 0;padding:4px 2px}
.chips-wrap::-webkit-scrollbar{display:none}
.chips{flex-wrap:wrap;row-gap:6px}
.sort-wrap{display:flex;align-items:center;gap:10px}
.sort-wrap .lab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
@media (max-width:720px){ .tools{grid-template-columns:1fr;grid-template-areas:"search" "chips" "sort"} .chips{flex-wrap:nowrap;width:max-content} .chips-wrap{margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)} .sort-wrap{min-width:0;overflow-x:auto;scrollbar-width:none;margin:-4px calc(var(--gut) * -1);padding:4px var(--gut)} .sort-wrap::-webkit-scrollbar{display:none} .sort-wrap .seg{flex:none;width:max-content} }
.meta-row{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:20px;font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute)}
.meta-row b{color:var(--ink);font-weight:600}
.pv{color:var(--ember)}
/* the wall: placed by js/gallery.js (layout), each tile the shape of its clip */
.grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px}
.grid.is-masonry{display:block}
.grid.is-masonry>.card{position:absolute;left:0;top:0;margin:0}
.grid.is-moving{overflow:clip;overflow-clip-margin:20px}
.card{position:relative;-webkit-tap-highlight-color:transparent}
.card.is-leaving{position:absolute;margin:0;pointer-events:none}
.card.skeleton .thumb{aspect-ratio:16/9;border-radius:var(--r-m);background:linear-gradient(100deg,var(--bg-2) 30%,var(--bg-3) 50%,var(--bg-2) 70%);background-size:220% 100%;animation:shimmer 1.6s var(--e-sine) infinite}
@keyframes shimmer{from{background-position:120% 0}to{background-position:-120% 0}}
.tile-card .tile{all:unset;box-sizing:border-box;position:relative;display:block;width:100%;aspect-ratio:var(--ar,1.7778);border-radius:var(--r-m);overflow:hidden;cursor:pointer;background:var(--bg-2);box-shadow:0 0 0 1px rgba(11,11,12,.06),0 10px 30px -18px rgba(11,11,12,.35);-webkit-tap-highlight-color:transparent;transform-origin:50% 50%;transition:box-shadow var(--d-base) var(--e-out)}
@media (hover:hover){.tile-card .tile:hover{box-shadow:0 0 0 1px rgba(11,11,12,.08),0 26px 50px -22px rgba(11,11,12,.45)}}
.tile-card .tile::after{content:none}
.tile-card .tile:focus-visible{outline:none;box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--ring)}
.tile .thumb{position:absolute;inset:0}
.tile-video,.tile .thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--d-reveal) var(--e-out)}
.tile-cap{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(transparent,rgba(11,11,12,.72));color:#fff;font-size:14px;font-weight:600;letter-spacing:-.01em;line-height:1.2;opacity:0;transform:translateY(6px);transition:opacity var(--d-fast) var(--e-out),transform var(--d-base) var(--e-out);pointer-events:none}
@media (hover:hover){.tile:hover .tile-cap{opacity:1;transform:none} .tile:hover .tile-video{transform:scale(1.035)}}
.tile:focus-visible .tile-cap{opacity:1;transform:none}
.tile-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px 2px;min-height:44px}
.tile-foot .who{display:inline-flex;align-items:center;gap:9px;min-width:0;font-size:14px;color:var(--ink-2);text-decoration:none;border-radius:6px;padding:4px 2px}
.who-h{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (hover:hover){.tile-foot .who:hover{color:var(--ink)}}
.ava{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--grad);color:var(--ink);font-size:11px;font-weight:700;text-transform:uppercase}
.ava::before{content:attr(data-l)}
.pill{flex:none;display:inline-flex;align-items:center;min-height:30px;padding:0 13px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line-2);color:var(--ink-2);font-size:12.5px;font-weight:500;text-decoration:none;transition:box-shadow var(--d-fast) var(--e-out),color var(--d-fast) var(--e-out),background-color var(--d-fast) var(--e-out)}
@media (hover:hover){.pill:hover{color:#fff;background:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}}
@media (max-width:560px){ .tile-foot{gap:6px;min-height:40px;padding-top:8px} .tile-foot .who{font-size:12px;gap:6px} .ava{width:20px;height:20px;font-size:10px} .pill{min-height:28px;padding:0 10px;font-size:11.5px} }
.tfall{position:absolute;inset:0;display:flex;align-items:flex-end;padding:14px;background:radial-gradient(120% 90% at var(--fx,70%) var(--fy,30%),var(--orange),var(--crimson) 45%,#2b0c0a 85%)}
.tfall span{position:relative;font-weight:600;font-size:16px;color:#fff}
.empty{display:grid;justify-items:start;gap:16px;padding:44px 0}
.empty p{font-size:17px;color:var(--ink-2);max-width:52ch}

/* ---------- 03 · how it works: three small working interfaces ---------- */
.how{background:var(--bg-2)}
.how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.how-card{display:flex;flex-direction:column;gap:12px;padding:16px 16px 26px;border-radius:var(--r-l);background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh-1)}
.how-card h3{display:flex;align-items:center;gap:10px;margin-top:10px;padding-inline:8px;font-size:20px;font-weight:600;letter-spacing:-.03em}
.how-card>p{padding-inline:8px;color:var(--ink-2);font-size:15.5px}
.how-card>p b{font-weight:600;color:var(--ink)}
.how-no{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;font-weight:600}
.ui{position:relative;height:230px;border-radius:calc(var(--r-l) - 8px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;padding:18px}
.ui-field{display:flex;align-items:center;gap:10px;height:42px;padding:0 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1px var(--line-2),0 6px 16px -10px rgba(11,11,12,.2);font-size:14px}
.ui-ic{width:12px;height:12px;border:1.5px solid var(--mute);border-radius:50%;position:relative;flex:none}
.ui-ic::after{content:"";position:absolute;right:-4px;bottom:-4px;width:5px;height:1.5px;background:var(--mute);transform:rotate(45deg)}
.ui-typed{white-space:nowrap;overflow:hidden}
.ui-caret{width:1.5px;height:16px;background:var(--ink);animation:blink 1s steps(1) infinite}
.ui-results{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}
.ui-results figure{border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line);aspect-ratio:4/3.4;display:flex;flex-direction:column}
.ui-results img{flex:1;min-height:0;width:100%;object-fit:cover}
.ui-results figcaption{padding:5px 7px;font-size:10.5px;font-weight:500;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ui-prompt{background:var(--dark);box-shadow:none;color:var(--on-dark)}
.ui-bar{display:flex;align-items:center;gap:6px;margin-bottom:14px}
.ui-dot{width:9px;height:9px;border-radius:50%;background:#3a3a3f}
.ui-dot:first-child{background:#f31d36} .ui-dot:nth-child(2){background:#f68d1e} .ui-dot:nth-child(3){background:#ffc73a}
.ui-name{margin-left:8px;font-family:var(--mono);font-size:11px;color:var(--on-dark-2)}
.ui-code{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:#e9e6e1;white-space:pre-wrap;height:120px;overflow:hidden}
.ui-code::after{content:"";display:inline-block;width:7px;height:14px;margin-left:2px;vertical-align:-2px;background:var(--orange);animation:blink 1s steps(1) infinite}
.ui-copy{position:absolute;right:16px;bottom:16px;padding:6px 12px;border-radius:999px;background:var(--grad);color:var(--ink);font-size:12px;font-weight:600}
.ui-checks{display:grid;gap:10px}
.ui-checks li{display:flex;align-items:center;gap:12px;height:34px;padding:0 12px;border-radius:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;font-weight:500;color:var(--ink-2)}
.ui-checks li::before{content:"";flex:none;width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--line-2);background:#fff center/10px no-repeat;transition:background-color var(--d-base) var(--e-out),box-shadow var(--d-base) var(--e-out)}
.ui-checks li.on::before{background-color:var(--ink);box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2 4 7.5l4.5-5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ui-progress{position:absolute;left:18px;right:18px;bottom:16px;height:6px;border-radius:6px;background:var(--bg-3);overflow:hidden}
.ui-progress i{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transform:scaleX(0)}
@media (max-width:900px){ .how-grid{grid-template-columns:1fr} }

/* cards that catch the pointer's light (js/scenes.js adds .lit on fine pointers) */
.lit{position:relative}
.lit::before,.lit::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity var(--d-panel) var(--e-out)}
.lit::before{padding:1px;background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),rgba(243,29,54,.75),rgba(246,141,30,.4) 42%,transparent 72%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lit::after{background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(245,95,38,.07),transparent 65%)}
@media (hover:hover){.lit:hover::before,.lit:hover::after{opacity:1}}

/* ---------- the numbers, on dark ---------- */
.band{position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark);padding-block:clamp(70px,9vw,130px);isolation:isolate}
.band-glow{position:absolute;z-index:-1;left:50%;bottom:-60%;width:90vw;max-width:1300px;aspect-ratio:2.2;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(245,95,38,.55),rgba(243,29,54,.28) 45%,transparent 75%);filter:blur(30px)}
.band-in{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.big-stat{display:grid;gap:8px;padding-top:18px;border-top:1px solid var(--dark-line)}
.big-stat b{font-size:clamp(52px,7.2vw,112px);font-weight:600;letter-spacing:-.06em;line-height:.95;background:linear-gradient(180deg,#fff 30%,#d8d3cc);-webkit-background-clip:text;background-clip:text;color:transparent}
.big-stat span{font-size:15px;color:var(--on-dark-2)}
@media (max-width:760px){ .band-in{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 18px} }

/* ---------- 03 · plans (Free, Plus, Pro) and the kit ---------- */
.bill-seg{padding:4px;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.bill-seg .seg-item{min-height:36px}
.bill-save{margin-left:6px;padding:2px 7px;border-radius:999px;background:rgba(245,95,38,.13);color:#a63c0d;font-style:normal;font-size:11px;font-weight:600;transition:background-color var(--d-base) var(--e-out),color var(--d-base) var(--e-out)}
.bill-seg .seg-item[aria-pressed="true"] .bill-save{background:rgba(255,255,255,.18);color:#fff}
.plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
.plan-card{position:relative;display:flex;border-radius:var(--r-xl);padding:1px;background:var(--line-2);box-shadow:var(--sh-1)}
.plan-card.is-best{padding:1.5px;background:linear-gradient(140deg,rgba(243,29,54,.85),rgba(246,141,30,.6) 45%,rgba(255,199,58,.35) 75%);box-shadow:0 30px 70px -26px rgba(243,29,54,.5)}
.plan-card.is-mine{background:var(--ink)}
.plan-edge{position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--a,0deg),transparent 0 68%,rgba(255,215,140,.95) 80%,transparent 92%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.pc-in{position:relative;flex:1;display:flex;flex-direction:column;gap:18px;border-radius:calc(var(--r-xl) - 1px);background:#fff;padding:clamp(22px,2.4vw,30px)}
.is-best .pc-in{border-radius:calc(var(--r-xl) - 1.5px);background:var(--dark);color:var(--on-dark)}
.pc-name{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;letter-spacing:-.02em}
.pc-badge{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--grad);color:var(--ink)}
.pc-mine{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--ink);color:#fff}
.is-best .pc-mine{background:#fff;color:var(--ink)}
.pc-price{display:flex;align-items:baseline;gap:8px;min-height:62px}
.pc-price b{display:inline-block;font-size:clamp(46px,4.4vw,62px);font-weight:600;letter-spacing:-.05em;line-height:1}
.pc-per{font-size:15px;color:var(--mute)}
.is-best .pc-per{color:var(--on-dark-2)}
.pc-quota{padding:14px 16px;border-radius:14px;background:var(--bg-2);font-size:15px;color:var(--ink-2)}
.pc-quota b{font-size:22px;font-weight:600;letter-spacing:-.03em;color:var(--ink);margin-right:2px}
.is-best .pc-quota{background:var(--dark-3);color:var(--on-dark)}
.is-best .pc-quota b{color:#fff}
.pc-dots{display:flex;gap:5px;margin-top:10px}
.pc-dots i{width:16px;height:6px;border-radius:6px;background:var(--grad);transform-origin:0 50%}
.pc-dots i.off{background:var(--line-2)}
.is-best .pc-dots i.off{background:var(--dark-line)}
.pc-list{display:grid;gap:11px;font-size:15px;color:var(--ink-2)}
.pc-list li{display:flex;align-items:flex-start;gap:10px}
.pc-list li::before{content:"";flex:none;width:18px;height:18px;margin-top:2px;border-radius:50%;background:var(--ink) center/10px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2 4 7.5l4.5-5' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.is-best .pc-list{color:var(--on-dark)}
.is-best .pc-list li::before{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 5.2 4 7.5l4.5-5' fill='none' stroke='%230b0b0c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.pc-act{margin-top:auto;display:grid;gap:8px;min-height:48px}
.pc-act .form-note{text-align:center}
.is-best .pc-act .form-note{color:var(--on-dark-2)}
.is-best .btn-secondary .btn-face{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.3);color:#fff}
.plans-note{margin-top:20px;font-size:13px;color:var(--mute);max-width:78ch}
@media (max-width:980px){ .plan-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto} .pc-price{min-height:0} }
/* the kit */
.kit{margin-top:clamp(56px,7vw,96px);padding-top:clamp(30px,4vw,48px);border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(24px,4vw,64px);align-items:start;scroll-margin-top:calc(var(--nav-h) + 24px)}
.kit-head{display:grid;gap:12px}
.kit-title{font-size:clamp(26px,2.6vw,36px);font-weight:600;letter-spacing:-.04em;line-height:1.08}
.kit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.kit-card{display:flex;gap:14px;padding:18px;border-radius:var(--r-m);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.kit-card h4{font-size:16px;font-weight:600;letter-spacing:-.02em}
.kit-card p{font-size:14px;color:var(--mute);margin-top:2px}
.kit-video{grid-column:1/-1;margin:clamp(8px,2vw,20px) 0 0}
.kit-video video{display:block;width:100%;aspect-ratio:16/9;border-radius:var(--r-l);background:#0c0c0d;box-shadow:0 30px 70px -40px rgba(30,20,10,.45),inset 0 0 0 1px var(--line)}
.kit-video figcaption{margin-top:10px;font-size:14px;color:var(--mute)}
.k-ic{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.k-ic i{display:block;width:14px;height:14px;background:var(--grad);border-radius:3px}
.k-ic .i-skills{border-radius:50%} .k-ic .i-prompts{clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0} .k-ic .i-rules{height:4px;box-shadow:0 5px 0 var(--ember),0 -5px 0 var(--crimson)}
.buy-note,.demo-note,.form-note{font-size:13px;color:var(--mute)}
@media (max-width:900px){ .kit{grid-template-columns:1fr} }
@media (max-width:520px){ .kit-grid{grid-template-columns:1fr} }
/* the account panel: plan, today's downloads, actions */
.acct-plan{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:14px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);font-size:14px}
.acct-plan b{font-weight:600}
.acct-plan span{color:var(--mute);font-size:13px;text-align:right}
.acct-plan.warn{background:#fff4ec;box-shadow:inset 0 0 0 1px #f6c7a8}
.quota{display:grid;gap:7px}
.q-row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}
.q-row span:last-child{color:var(--mute)}
.q-bar{height:6px;border-radius:6px;background:var(--bg-3);overflow:hidden}
.q-bar i{display:block;height:100%;border-radius:inherit;background:var(--grad);transform-origin:0 50%}
.acct-actions{display:grid;gap:8px}
.text-btn{all:unset;cursor:pointer;justify-self:start;font-size:13px;color:var(--mute);text-decoration:underline;text-underline-offset:3px;border-radius:4px}
.text-btn:hover{color:var(--ink)}
.text-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
/* the download box in a video's panel */
.dl-box{display:grid;gap:10px;padding:14px 16px;border-radius:14px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.dl-box .btn{justify-self:start}
.dl-note{font-size:13px;color:var(--mute)}
.dl-note b{color:var(--ink);font-weight:600}

/* ---------- forms ---------- */
.mailform{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.mailform .field{display:grid;gap:6px}
.mailform label.lab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.mailform input{width:100%;min-height:48px;padding:0 16px;border:0;border-radius:12px;background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line-2);font-size:15px;-webkit-appearance:none;appearance:none;transition:box-shadow var(--d-fast) var(--e-out)}
.mailform input::placeholder{color:var(--faint);opacity:1}
@media (hover:hover){.mailform input:hover{box-shadow:inset 0 0 0 1px var(--mute)}}
.mailform input:focus-visible{outline:none;box-shadow:inset 0 0 0 1.5px var(--ink),0 0 0 4px rgba(245,95,38,.2)}
.mailform input[aria-invalid="true"]{box-shadow:inset 0 0 0 1.5px #c8102e,0 0 0 4px rgba(200,16,46,.12)}
.mailform .btn{align-self:end}
.form-msg{grid-column:1/-1;font-size:13px;min-height:1.5em;color:var(--ink-2)}
.form-msg.err{color:#b4102a;font-weight:500}
.form-msg.ok{color:#1b7f47;font-weight:500}
@media (max-width:460px){ .mailform{grid-template-columns:1fr} .mailform .btn,.mailform .btn-face{width:100%} }

/* ---------- 05 · new drops ---------- */
.drops{padding-top:0}
.drops-card{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--grad);background-size:140% 140%;color:var(--ink);isolation:isolate;box-shadow:0 40px 90px -40px rgba(243,29,54,.6)}
.drops-glow{position:absolute;z-index:-1;right:-10%;top:-40%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(255,231,180,.55),transparent 70%);filter:blur(20px)}
.drops-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(24px,4vw,64px);padding:clamp(28px,5vw,72px)}
.drops-in>div:first-child{display:grid;gap:18px;align-content:start}
.kicker-light{color:rgba(11,11,12,.72)}
.kicker-light .no{background:rgba(255,255,255,.55);box-shadow:none}
.drops .sub{color:rgba(11,11,12,.82)}
.drops .mailform label.lab{color:rgba(11,11,12,.72)}
.drops .mailform input{box-shadow:none}
.drops .form-msg{color:var(--ink)}
.latest h2,.latest h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,11,12,.72);margin-bottom:12px}
.latest-list{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.latest-item{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:0 16px;border-radius:14px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;transition:background-color var(--d-fast) var(--e-out),transform var(--d-base) var(--e-out)}
@media (hover:hover){.latest-item:hover{background:#fff}}
.latest-item:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.latest-item .d{font-family:var(--mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--mute);min-width:9ch}
.latest-item .t{flex:1;min-width:0;font-weight:600;font-size:15px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.latest-item .go{width:14px;height:10px;position:relative}
.latest-item .go::before{content:"";position:absolute;left:0;top:4.25px;width:12px;height:1.5px;background:var(--ink)}
.latest-item .go::after{content:"";position:absolute;right:1px;top:1px;width:7px;height:7px;border-top:1.5px solid var(--ink);border-right:1.5px solid var(--ink);transform:rotate(45deg)}
@media (max-width:860px){ .drops-in{grid-template-columns:minmax(0,1fr)} }

/* ---------- footer ---------- */
.foot{--fm-f:clamp(90px,16.8vw,270px);position:relative;overflow:hidden;background:var(--dark);color:var(--on-dark);padding-top:clamp(56px,7vw,96px)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:28px 60px;padding-bottom:clamp(40px,6vw,80px)}
.foot-in>div{display:grid;gap:10px;max-width:60ch}
.rights{font-size:17px;font-weight:500;letter-spacing:-.02em}
.rights a{color:#fff;text-underline-offset:4px}
.credits,.small{font-size:13px;color:var(--on-dark-2)}
.foot-nav{display:flex;flex-wrap:wrap;gap:6px 22px;align-content:start}
.foot-nav a{font-size:14px;color:var(--on-dark);text-decoration:none;opacity:.8;border-radius:4px}
@media (hover:hover){.foot-nav a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}}
.foot-mark{position:relative;height:calc(var(--fm-f) * .79);overflow:hidden;user-select:none}
.fm-in{position:absolute;left:50%;bottom:calc(var(--fm-f) * -.142);transform:translateX(-50%);white-space:nowrap;font-size:var(--fm-f);font-weight:700;letter-spacing:-.065em;line-height:1;color:#fff}
.wm-in i,.fm-in i{position:relative}
.tittle{position:absolute;left:.14em;top:.192em;width:.19em;height:.19em;margin:-.095em 0 0 -.095em;border-radius:50%;background:url(../assets/brand/orb-96.webp) center/cover;box-shadow:0 .02em .08em rgba(243,29,54,.35)}

/* ---------- detail panel ---------- */
.layer{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:clamp(0px,3vw,32px)}
.scrim{position:absolute;inset:0;background:rgba(11,11,12,.42);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.dialog{position:relative;width:min(1100px,100%);height:min(88vh,880px);border-radius:var(--r-l);background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.06),0 40px 100px -20px rgba(11,11,12,.45);display:flex;flex-direction:column;overflow:hidden}
.dialog-bar{display:flex;align-items:center;gap:6px;padding:10px 12px 10px 22px;border-bottom:1px solid var(--line)}
.dialog-bar .kicker{margin-right:auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.icon-btn{position:relative;display:inline-grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:0;border-radius:999px;background:none;color:var(--ink);font-size:13px;font-weight:500;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background-color var(--d-fast) var(--e-out)}
@media (hover:hover){.icon-btn:hover{background:var(--bg-2)}}
.icon-btn:focus-visible{outline:2px solid var(--ring);outline-offset:1px}
.icon-btn[disabled]{opacity:.35;cursor:not-allowed}
.icon-btn .x{position:relative;width:14px;height:14px}
.icon-btn .x::before,.icon-btn .x::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1.5px;background:currentColor;transform:rotate(45deg)}
.icon-btn .x::after{transform:rotate(-45deg)}
.dialog-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.dialog-body{display:grid;grid-template-columns:minmax(0,580px) minmax(0,1fr);gap:30px;padding:24px}
.media{position:relative;align-self:start;border-radius:var(--r-m);overflow:hidden;background:var(--bg-2);min-height:0}
.media-thumb{position:relative;aspect-ratio:var(--ar,16/9);max-height:min(66vh,620px);overflow:hidden;background:var(--dark)}
.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover}
.media .thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.media-embed{display:grid;place-items:center;padding:6px 0}
.media-embed:empty{display:none}
.media-embed:focus{outline:none}
.media-embed .twitter-tweet{margin:0!important}
.media-msg{font-size:13px;color:var(--mute);text-align:center;padding:16px}
.media-msg a{color:var(--ink)}
.media-play{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-start;width:100%;border:0;padding:14px;background:linear-gradient(180deg,rgba(11,11,12,0) 55%,rgba(11,11,12,.34));color:#fff;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}
.mp-pill{display:inline-flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;border-radius:999px;background:rgba(11,11,12,.7);-webkit-backdrop-filter:blur(12px) saturate(1.4);backdrop-filter:blur(12px) saturate(1.4);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 14px 30px -12px rgba(11,11,12,.6);transition:background-color var(--d-fast) var(--e-out)}
.media-play .mp-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff;transition:transform var(--d-base) var(--e-spring)}
.media-play .mp-ic::before{content:"";width:12px;height:14px;margin-left:3px;background:var(--ink);clip-path:polygon(0 0,100% 50%,0 100%)}
.mp-txt{display:grid;line-height:1.25}
.media-play .mp-t{font-size:14px;font-weight:600}
.media-play .mp-n{font-size:12px;color:rgba(255,255,255,.78)}
@media (hover:hover){.media-play:hover .mp-pill{background:rgba(11,11,12,.84)} .media-play:hover .mp-ic{transform:scale(1.07)}}
.media-play:focus-visible{outline:none} .media-play:focus-visible .mp-pill{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--ring)}
.media-play[disabled]{cursor:progress} .media-play[disabled] .mp-ic{opacity:.75}
.info{display:flex;flex-direction:column;gap:16px;min-width:0}
.info h2{font-size:clamp(28px,3vw,44px);font-weight:600;letter-spacing:-.045em;line-height:1.02}
.info h2:focus{outline:none}
.info .by a{font-size:14px;font-weight:500;color:var(--ink);text-underline-offset:3px}
.info .note{color:var(--ink-2);line-height:1.6}
.info .note.from-post{padding-left:14px;border-left:2px solid var(--line-2)}
.info .note.from-post::before{content:"From the post";display:block;margin-bottom:4px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.prompt-box{border-radius:14px;background:var(--dark);color:#ebe8e3;padding:14px 16px 12px;display:grid;gap:10px}
.prompt-box .pb-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-2)}
.prompt-box pre{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}
.pb-copy{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--grad);color:var(--ink);font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:0;text-transform:none}
.pb-copy:focus-visible{outline:2px solid #fff;outline-offset:2px}
.tagrow{display:flex;flex-wrap:wrap;gap:6px}
.tag{display:inline-flex;align-items:center;min-height:32px;padding:0 13px;border:0;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);font-size:13px;font-weight:500;transform-origin:50% 50%;-webkit-tap-highlight-color:transparent;transition:background-color var(--d-fast) var(--e-out)}
@media (hover:hover){.tag:hover{background:var(--bg-3)}}
.linkrow{display:flex;flex-wrap:wrap;gap:8px 18px}
.linkrow a{font-size:14px;font-weight:600;color:var(--ink);text-underline-offset:3px}
.pstats{font-size:13px;color:var(--mute)}
.credit{font-size:12.5px;color:var(--mute);border-top:1px solid var(--line);padding-top:14px;margin-top:auto}
@media (max-width:860px){
  .layer{padding:0}
  .dialog{height:100%;border-radius:0}
  .dialog-body{grid-template-columns:1fr;padding:16px}
}

/* ---------- shared-element morph (a tile grows into the panel) ---------- */
.morph{position:fixed;inset:0;z-index:90;pointer-events:none;display:none}
.morph.on{display:block}
.morph-box{position:fixed;left:0;top:0;border-radius:var(--r-m);background:#fff;box-shadow:0 30px 80px -20px rgba(11,11,12,.4);transform-origin:0 0}
.morph-media{position:fixed;left:0;top:0;overflow:hidden;border-radius:var(--r-m);transform-origin:0 0}
.morph-media>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* ---------- log in panel ---------- */
.pop-scrim{position:fixed;inset:0;z-index:84;background:rgba(11,11,12,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.pop{position:fixed;z-index:85;top:calc(var(--nav-h) + 10px);right:max(var(--gut),calc((100vw - 1320px) / 2 + var(--gut)));width:min(390px,calc(100vw - 24px));border-radius:var(--r-l);background:#fff;box-shadow:0 0 0 1px rgba(11,11,12,.06),var(--sh-2);padding:24px;display:grid;gap:14px;transform-origin:100% 0}
.pop h2{font-size:26px;font-weight:600;letter-spacing:-.04em;line-height:1.05}
.pop h2:focus{outline:none}
.pop p{color:var(--ink-2);font-size:14.5px}
.pop .icon-btn{position:absolute;right:12px;top:12px}
.pop .mailform{grid-template-columns:1fr;margin-top:6px}
[data-auth]{display:grid;gap:14px}
.who{display:flex;align-items:center;gap:12px}
.who-t{display:grid;min-width:0}
.who-t b{font-size:15px;font-weight:600}
.who-t span{font-size:13px;color:var(--mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av{position:relative;display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--grad);color:var(--ink);font-weight:700;font-size:16px}
.av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.av i{font-style:normal}
.gsi{min-height:44px;display:flex;align-items:center}
.gsi-wait{font-size:13px;color:var(--mute)}
@media (max-width:560px){
  .pop{top:auto;bottom:0;right:0;left:0;width:100%;border-radius:var(--r-l) var(--r-l) 0 0;padding:22px var(--gut) calc(22px + env(safe-area-inset-bottom));transform-origin:50% 100%}
}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:24px;z-index:120;max-width:min(560px,92vw);padding:12px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:14px;font-weight:500;box-shadow:var(--sh-2);transform:translate(-50%,18px);opacity:0;pointer-events:none;transition:opacity var(--d-fast) var(--e-out),transform var(--d-base) var(--e-spring)}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- pages: each button opens its own page; pages change with a slow fade (browsers that support it) ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vt-out .5s cubic-bezier(.5,0,.75,0) both}
::view-transition-new(root){animation:vt-in .9s cubic-bezier(.16,1,.3,1) both}
@keyframes vt-out{to{opacity:0;transform:translateY(-10px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(16px)}}
.nav{view-transition-name:site-nav}   /* the nav stays put while the page under it changes */
::view-transition-group(site-nav){animation-duration:.6s}
.page-top{padding-top:clamp(56px,7vw,104px)}
.cta-end{padding-top:0}
.cta-card{display:grid;justify-items:start;gap:18px;padding:clamp(28px,5vw,64px);border-radius:var(--r-xl);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
/* the menu on phones: every page, one tap away */
.menu-btn{display:none}
.menu{position:fixed;left:0;right:0;top:var(--nav-h);z-index:59;display:grid;padding:8px var(--gut) 28px;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 30px 60px -30px rgba(11,11,12,.35);border-bottom:1px solid var(--line)}
.menu a{display:flex;align-items:center;justify-content:space-between;padding:14px 2px;border-bottom:1px solid var(--line);font-size:28px;font-weight:600;letter-spacing:-.035em;color:var(--ink);text-decoration:none}
.menu a::after{content:"";width:9px;height:9px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);opacity:.35}
.menu a[aria-current="page"]{background:linear-gradient(90deg,rgba(245,95,38,.1),transparent 60%)}
.menu a[aria-current="page"]::after{border-color:var(--ember);opacity:1}
.menu a:focus-visible{outline:2px solid var(--ring);outline-offset:-2px;border-radius:6px}
@media (max-width:720px){
  .menu-btn{display:inline-grid;place-items:center;width:44px;height:44px;margin-left:4px;border:0;border-radius:999px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);cursor:pointer}
  .menu-ic{position:relative;width:16px;height:10px}
  .menu-ic::before,.menu-ic::after{content:"";position:absolute;left:0;width:16px;height:1.75px;border-radius:2px;background:var(--ink);transition:transform var(--d-base) var(--e-out),top var(--d-base) var(--e-out)}
  .menu-ic::before{top:0} .menu-ic::after{top:8px}
  .menu-btn[aria-expanded="true"] .menu-ic::before{top:4px;transform:rotate(45deg)}
  .menu-btn[aria-expanded="true"] .menu-ic::after{top:4px;transform:rotate(-45deg)}
  .menu-btn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
}
@media (min-width:721px){ .menu{display:none!important} }

/* the account page */
.acct-wrap{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.acct-card{display:grid;gap:16px;padding:clamp(22px,3vw,32px);border-radius:var(--r-l);background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh-2)}
.acct-card [data-auth]{display:grid;gap:14px}
.acct-h{font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.04em;line-height:1.05}
.acct-h:focus{outline:none}
.acct-side{display:grid;gap:14px}
.acct-h2{font-size:22px;font-weight:600;letter-spacing:-.03em}
.acct-empty{color:var(--mute);font-size:15px}
.my-dl{display:grid;gap:10px}
.my-item{display:flex;align-items:center;gap:14px;padding:10px 12px 10px 10px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.my-item img,.my-ph{flex:none;width:96px;height:54px;border-radius:8px;object-fit:cover;background:var(--bg-2)}
.my-t{flex:1;min-width:0;font-weight:600;letter-spacing:-.02em;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (hover:hover){.my-t:hover{text-decoration:underline;text-underline-offset:3px}}
.my-item .btn-face{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:860px){ .acct-wrap{grid-template-columns:1fr} }
@media (max-width:560px){ .my-item{flex-wrap:wrap} .my-item .btn{width:100%} .my-item .btn-face{width:100%} }
/* the Download button on an Original's tile */
.pill-dl{gap:7px;border:0;background:var(--ink);color:#fff;box-shadow:none;cursor:pointer}
.pill-dl .btn-label{display:inline}
.dl-ic{position:relative;width:10px;height:12px}
.dl-ic::before{content:"";position:absolute;left:4.25px;top:0;width:1.5px;height:8px;background:currentColor;border-radius:2px}
.dl-ic::after{content:"";position:absolute;left:1.5px;top:3.5px;width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
@media (hover:hover){.pill-dl:hover{background:#2b2b2f;color:#fff;box-shadow:none}}
.pill-dl[disabled]{opacity:.6;cursor:progress}
/* videos stay on the page: no long-press save, no selecting, no dragging */
video,.thumb,.tile,.media-thumb{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.tile-video,.media .thumb-img,.ui-results img{pointer-events:none}

/* ---------- reduced motion: every scene shows its final frame ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  ::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}
}

/* ===================== the kit: home teaser + /kit page ===================== */
.kt-video{margin-top:0}
.kt-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:18px}
.kt-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:clamp(22px,3vw,34px)}
.kt-note{font-size:15px;color:var(--mute)}
@media (max-width:900px){ .kt-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:520px){ .kt-grid{grid-template-columns:1fr} }

.kp-hero{position:relative;overflow-x:clip;overflow-y:visible;isolation:isolate;padding-top:clamp(40px,7vh,88px);padding-bottom:clamp(40px,6vw,80px)}
.kp-hero-in{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,4vw,64px)}
.kp-copy{display:flex;flex-direction:column;gap:22px;min-width:0}
.kp-h{max-width:12ch;font-size:clamp(44px,5.4vw,92px)}
.kp-line{max-width:56ch}
.kp-incl{font-family:var(--mono);font-size:13px;letter-spacing:.02em;color:var(--mute)}
.kp-film{margin:0;min-width:0;grid-column:auto}
.kp-film video{border-radius:var(--r-xl)}

.kp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.kp-card{display:flex;flex-direction:column;gap:12px;padding:16px 16px 26px;border-radius:var(--r-l);background:#fff;box-shadow:inset 0 0 0 1px var(--line),var(--sh-1);min-width:0}
.kp-card h3{margin-top:10px;padding-inline:8px;font-size:21px;font-weight:600;letter-spacing:-.03em}
.kp-card > p{padding-inline:8px;font-size:15px;line-height:1.55;color:var(--mute)}
.kp-ui{position:relative;height:200px;border-radius:calc(var(--r-l) - 8px);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);overflow:hidden;padding:18px}
.kp-doc p{font-family:var(--mono);font-size:13px;line-height:1.95;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-doc p.hd{font-weight:600;color:var(--ink)}
.kp-sheet{height:84px;border-radius:10px;background:url(../media/kit/review-sheet.jpg) 0 50%/auto 100% repeat-x;box-shadow:inset 0 0 0 1px var(--line)}
.kp-row{display:flex;align-items:center;gap:12px;margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--mute)}
.kp-row > span:first-child{width:46px}
.kp-row b{font-weight:600;color:var(--ink-2);white-space:nowrap}
.kp-ticks{display:flex;gap:5px}
.kp-ticks i{display:block;width:8px;height:20px;border-radius:3px;background:#e0dcd4}
.kp-ticks i.bar{height:26px}
.kp-ticks i.on{background:var(--ember)}
.kp-meter{position:relative;flex:1;max-width:120px;height:9px;border-radius:9px;background:var(--bg-3);overflow:hidden}
.kp-meter i{position:absolute;inset:0;background:var(--grad);transform-origin:0 50%;transform:scaleX(.86)}
.kp-prompt{display:flex;flex-direction:column;gap:12px;background:#fff}
.kp-file{font-family:var(--mono);font-size:12px;color:var(--mute);letter-spacing:.03em}
.kp-typed{font-family:var(--mono);font-size:14px;line-height:1.6;color:var(--ink);min-height:90px}
.kp-typed::after{content:"";display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--ember);animation:kpCaret 1s steps(1) infinite}
@keyframes kpCaret{50%{opacity:0}}
.kp-term{background:#101114;box-shadow:none}
.kp-term p{font-family:var(--mono);font-size:12.5px;line-height:1.95;color:#d6d6dc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-term .c{color:#61c3ff}.kp-term .g{color:#46c46f}
.kp-packs{display:flex;flex-direction:column;gap:9px;background:#fff}
.kp-packs p{display:flex;justify-content:space-between;align-items:center;gap:10px;height:34px;padding:0 12px;border-radius:10px;box-shadow:inset 0 0 0 1px var(--line);font-size:13.5px}
.kp-packs b{font-family:var(--mono);font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-packs span{font-size:12px;color:var(--mute)}
.kp-packs p.opt{box-shadow:inset 0 0 0 1px var(--line);background:var(--bg-2)}
.kp-rules{display:flex;flex-wrap:wrap;align-content:flex-start;gap:8px;background:#fff}
.kp-rules span{padding:8px 13px;border-radius:999px;background:rgba(245,95,38,.08);box-shadow:inset 0 0 0 1px rgba(243,29,54,.22);font-size:13.5px;font-weight:600;color:#a32a12}

.kp-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;counter-reset:none}
.kp-step{position:relative;display:flex;flex-direction:column;gap:10px;padding:26px 24px 28px;border-radius:var(--r-l);background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line);min-width:0}
.kp-n{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-weight:700;font-size:17px}
.kp-step h3{font-size:24px;font-weight:600;letter-spacing:-.03em}
.kp-step p{font-size:16px;line-height:1.55;color:var(--ink-2)}
.kp-code{position:relative;margin-top:4px;padding:14px 16px 46px;border-radius:14px;background:#101114}
.kp-code code{display:block;font-family:var(--mono);font-size:13px;line-height:1.6;color:#e3e3e8;white-space:normal;word-break:break-word}
.kp-copybtn{position:absolute;right:10px;bottom:10px;height:30px;padding:0 14px;border-radius:9px;border:1px solid #33343a;background:#1b1c21;color:#d0d0d6;font:600 13px var(--sans);cursor:pointer;transition:color var(--d-fast) var(--e-out),border-color var(--d-fast) var(--e-out)}
.kp-copybtn:hover{color:#fff;border-color:#55565e}
.kp-copybtn:focus-visible{outline:2px solid var(--ring);outline-offset:2px}
.kp-copybtn.done{color:#46c46f;border-color:#2e5b3d}

.kp-reel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.kp-tile{position:relative;display:block;border-radius:var(--r-m);overflow:hidden;background:var(--bg-3);box-shadow:inset 0 0 0 1px var(--line);aspect-ratio:16/9;color:#fff;text-decoration:none}
.kp-tile video,.kp-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.kp-tile span{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:5px 10px;border-radius:999px;background:rgba(11,11,12,.72);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kp-tile:focus-visible{outline:2px solid var(--ring);outline-offset:3px}
.kp-more{margin-top:clamp(20px,3vw,30px)}

.kp-table{display:grid;border-top:1px solid var(--line)}
.kp-tr{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:20px;align-items:baseline;padding:18px 4px;border-bottom:1px solid var(--line)}
.kp-tr code{font-family:var(--mono);font-size:16px;font-weight:600;color:var(--ink)}
.kp-tr p{font-size:17px;line-height:1.5;color:var(--ink-2)}

.kp-qs{display:grid;gap:10px;max-width:900px}
.kp-q{border-radius:var(--r-m);background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.kp-q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;font-size:19px;font-weight:600;letter-spacing:-.02em}
.kp-q summary::-webkit-details-marker{display:none}
.kp-q summary::after{content:"";flex:none;width:12px;height:12px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg) translateY(-3px);transition:transform var(--d-base) var(--e-out)}
.kp-q[open] summary::after{transform:rotate(-135deg) translate(-2px,-2px)}
.kp-q summary:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-radius:var(--r-m)}
.kp-q p{padding:0 22px 22px;font-size:16.5px;line-height:1.6;color:var(--ink-2);max-width:70ch}
.kp-buy .hero-cta{margin-top:6px}

@media (max-width:1100px){ .kp-hero-in{grid-template-columns:1fr} .kp-grid{grid-template-columns:repeat(2,minmax(0,1fr))} .kp-reel{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:900px){ .kp-steps{grid-template-columns:1fr} }
@media (max-width:640px){ .kp-grid{grid-template-columns:1fr} .kp-tr{grid-template-columns:1fr;gap:6px} .kp-reel{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce){ .kp-typed::after{animation:none} }

/* ===================== legal pages ===================== */
.legal{max-width:820px;padding-top:clamp(48px,7vw,96px);padding-bottom:clamp(64px,9vw,120px)}
.legal .h2{margin-top:14px;font-size:clamp(36px,4.6vw,64px)}
.legal-date{margin-top:14px;font-family:var(--mono);font-size:13px;color:var(--mute)}
.legal h2{margin-top:40px;font-size:24px;font-weight:600;letter-spacing:-.025em;color:var(--ink)}
.legal p,.legal li,.legal dd{font-size:17px;line-height:1.65;color:var(--ink-2)}
.legal > p{margin-top:14px}
.legal ul{margin-top:12px;padding-left:22px;display:grid;gap:8px}
.legal a{color:var(--ink);text-underline-offset:3px}
.legal a:hover{color:#c2410c}
.legal code{font-family:var(--mono);font-size:15px;padding:1px 6px;border-radius:6px;background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line)}
.legal-dl{margin-top:14px;display:grid;gap:4px}
.legal-dl dt{margin-top:14px;font-size:17px;font-weight:600;color:var(--ink)}
.legal .fill{padding:0 4px;border-radius:4px;background:#fff1c2;color:#7a4b00;font-weight:600}
.legal-contact{margin-top:44px;padding-top:20px;border-top:1px solid var(--line)}
.legal-note{margin-top:10px;font-size:13px;line-height:1.5;color:var(--mute)}
.legal-note a{color:var(--ink-2);text-underline-offset:3px}
.foot-legal{flex-basis:100%;display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
.foot-legal a{font-size:13px}
