/* ============================================================================
   10K DESIGNS — cinematic site system.  Base+Forge stays generic; this paints
   the home one-pager and drapes the shop in the same dark helmet.
   Tokens (--canvas/--ink/--brand/--font-display …) come from the applied
   design system; this file references them and never hard-forks the palette.
   ========================================================================== */

/* Concrete palette (the applied design system maps to theme palette slots, not
   these names, so this bespoke layer owns its own values — no self-reference). */
:root{
  --tenk-max: 1240px;
  --tenk-gut: clamp(20px, 5vw, 64px);
  --tenk-nav-h: 74px;
  --canvas:#0b0b0c;
  --surface:#141417;
  --surface-2:#1d1d22;
  --ink:#f2efe9;
  --ink-2:#c7c2b7;
  --muted:#8f8a80;
  --brand:#f5a623;
  --brand-strong:#ffcf7a;
  --amber:#f5a623;
  --line:#24242b;
  --glass: rgba(255,255,255,.045);
  --glass-line: rgba(255,255,255,.10);
  --glow-amber: 0 0 0 1px rgba(245,166,35,.30), 0 24px 90px rgba(245,166,35,.26);
  --grain-opacity:.05;
  --font-display:"DM Serif Display","Playfair Display",Georgia,serif;
  --font-body:"Inter",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,monospace;
  --text-hero:clamp(2.9rem,1rem+7vw,7rem);
  --text-lead:1.2rem;
  --ease: cubic-bezier(.16,1,.3,1);
}

/* ---- sitewide dark helmet ------------------------------------------------ */
/* window is the scroller: the theme makes BODY a scroll container (overflow:auto),
   which zeroes window.scrollY (breaking nav-shrink/parallax/sticky). Force the
   standard document scroll — hero/marquee clip their own horizontal overflow. */
html{ background:#0b0b0c; overflow-x:hidden; overflow-y:visible!important; height:auto!important; }
body.tenk{ background:var(--canvas); color:var(--ink); font-family:var(--font-body, Inter,system-ui,sans-serif); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow:visible!important; height:auto!important; min-height:100vh; }
/* front page = the composition only; suppress the theme's page-title/header */
body.tenk-home .entry-header,
body.tenk-home .entry-title,
body.tenk-home .page-title,
body.tenk-home .ct-page-title-container,
body.tenk-home .page-header{ display:none!important; }
body.tenk-home main :where(.entry-content,.ct-container){ max-width:none!important; padding:0!important; margin:0!important; }
/* non-home pages (cart/checkout/account/access/404) must clear the fixed nav */
body.tenk:not(.tenk-home) main{ padding-top:calc(var(--tenk-nav-h) + 34px); padding-bottom:60px; min-height:60vh; }
body.tenk:not(.tenk-home) main :where(.tenk-wrap,.entry-content,.woocommerce,.ct-container){ max-width:var(--tenk-max); margin-inline:auto; padding-inline:var(--tenk-gut); }
body.tenk ::selection{ background:var(--amber); color:#160d00; }
.tenk h1,.tenk h2,.tenk h3,.tenk .serif{ font-family:var(--font-display, "DM Serif Display",Georgia,serif); font-weight:400; letter-spacing:-.015em; }

/* film grain + vignette, fixed, behind content, non-interactive */
body.tenk::before{ content:""; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% -10%, rgba(245,166,35,.06), transparent 60%),
    radial-gradient(140% 120% at 50% 120%, rgba(0,0,0,.7), transparent 55%); }
body.tenk::after{ content:""; position:fixed; inset:0; z-index:1; pointer-events:none; opacity:var(--grain-opacity,.05); mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)' opacity='0.9'/></svg>"); }

/* ---- home: full-bleed, theme chrome already suppressed ------------------- */
body.tenk-home #main-container,
body.tenk-home main{ max-width:none!important; width:100%!important; margin:0!important; padding:0!important; }
body.tenk-home main{ position:relative; z-index:2; overflow-x:clip; }
.tenk-wrap{ max-width:var(--tenk-max); margin-inline:auto; padding-inline:var(--tenk-gut); }
.tenk-section{ position:relative; padding-block:clamp(72px,10vw,150px); }
.tenk-eyebrow{ font-family:var(--font-mono,monospace); font-size:12px; letter-spacing:.28em; text-transform:uppercase; color:var(--amber); display:inline-flex; align-items:center; gap:10px; }
.tenk-eyebrow::before{ content:""; width:26px; height:1px; background:var(--amber); opacity:.7; }
.tenk-h2{ font-size:clamp(2rem,1rem+3.6vw,3.6rem); line-height:1.02; margin:.35em 0 .2em; max-width:16ch; }
.tenk-sub{ color:var(--ink-2); font-size:var(--text-lead,1.2rem); max-width:52ch; line-height:1.6; }

/* ---- buttons ------------------------------------------------------------- */
.tenk-btn{ --pad:15px 26px; display:inline-flex; align-items:center; gap:10px; padding:var(--pad); border-radius:999px; font-weight:600; font-size:15px; letter-spacing:.01em; cursor:pointer; border:1px solid transparent; text-decoration:none; transition:transform .3s var(--ease), background .3s var(--ease), box-shadow .3s var(--ease), color .2s; will-change:transform; }
.tenk-btn--amber{ background:var(--amber); color:#160d00; box-shadow:0 10px 30px -8px rgba(245,166,35,.5); }
.tenk-btn--amber:hover{ background:var(--brand-strong,#ffcf7a); box-shadow:0 16px 46px -8px rgba(245,166,35,.65); }
.tenk-btn--ghost{ background:var(--glass); color:var(--ink); border-color:var(--glass-line); backdrop-filter:blur(10px); }
.tenk-btn--ghost:hover{ border-color:rgba(255,255,255,.28); background:rgba(255,255,255,.07); }
.tenk-btn--lg{ --pad:18px 34px; font-size:16px; }
.tenk-magnetic{ display:inline-flex; }

/* ---- NAV (glass pill, shrink-on-scroll) ---------------------------------- */
.tenk-nav{ position:fixed; inset:14px 0 auto; z-index:60; display:flex; justify-content:center; pointer-events:none; transition:top .4s var(--ease); }
.tenk-nav__inner{ pointer-events:auto; display:flex; align-items:center; gap:26px; padding:10px 12px 10px 22px; border-radius:999px; background:rgba(14,14,16,.55); border:1px solid var(--glass-line); backdrop-filter:blur(16px) saturate(1.3); box-shadow:0 12px 40px -12px rgba(0,0,0,.7); transition:background .4s var(--ease), box-shadow .4s var(--ease); max-width:calc(100vw - 28px); }
.is-scrolled .tenk-nav__inner{ background:rgba(12,12,14,.8); box-shadow:0 16px 50px -14px rgba(0,0,0,.8); }
.tenk-brand{ font-family:var(--font-display,serif); font-size:20px; letter-spacing:-.02em; color:var(--ink); text-decoration:none; display:flex; align-items:center; gap:9px; white-space:nowrap; }
.tenk-brand b{ color:var(--amber); font-family:inherit; }
.tenk-nav__links{ display:flex; gap:22px; }
.tenk-nav__links a{ color:var(--ink-2); text-decoration:none; font-size:14.5px; transition:color .2s; }
.tenk-nav__links a:hover{ color:var(--ink); }
.tenk-nav__cart{ position:relative; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:999px; background:var(--glass); border:1px solid var(--glass-line); color:var(--ink); text-decoration:none; }
.tenk-nav__cart[data-count]::after{ content:attr(data-count); position:absolute; top:-4px; right:-4px; min-width:18px; height:18px; padding:0 4px; border-radius:999px; background:var(--amber); color:#160d00; font-size:11px; font-weight:700; display:grid; place-items:center; opacity:0; transform:scale(.6); transition:.25s var(--ease); }
.tenk-nav__cart[data-count]:not([data-count="0"])::after{ opacity:1; transform:scale(1); }
.tenk-burger{ display:none; width:42px; height:42px; border-radius:999px; background:var(--glass); border:1px solid var(--glass-line); color:var(--ink); align-items:center; justify-content:center; cursor:pointer; }

/* ---- HERO ---------------------------------------------------------------- */
.tenk-hero{ position:relative; min-height:100svh; display:grid; align-items:center; padding-top:var(--tenk-nav-h); overflow:hidden; }
.tenk-hero__mesh{ position:absolute; inset:-20% -10% auto; height:80vh; z-index:0; pointer-events:none;
  background:
    radial-gradient(40% 50% at 20% 30%, rgba(245,166,35,.16), transparent 60%),
    radial-gradient(35% 45% at 85% 20%, rgba(255,120,40,.10), transparent 60%);
  filter:blur(30px); animation:tenk-drift 22s var(--ease) infinite alternate; }
.tenk-hero__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(24px,4vw,64px); align-items:center; position:relative; z-index:2; }
.tenk-hero__eyebrow{ margin-bottom:22px; }
.tenk-hero h1{ font-size:var(--text-hero,clamp(2.9rem,1rem+7vw,7rem)); line-height:.98; margin:0; letter-spacing:-.02em; }
.tenk-hero h1 .word{ display:inline-block; }
.tenk-hero h1 .amber{ color:var(--amber); font-style:italic; }
.tenk-hero__lead{ margin:26px 0 0; color:var(--ink-2); font-size:clamp(1.05rem,.9rem+.6vw,1.3rem); max-width:44ch; line-height:1.6; }
.tenk-hero__cta{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; align-items:center; }
.tenk-hero__meta{ display:flex; gap:30px; margin-top:40px; }
.tenk-stat__n{ font-family:var(--font-display,serif); font-size:2.4rem; line-height:1; color:var(--ink); }
.tenk-stat__l{ font-size:12.5px; color:var(--muted); letter-spacing:.04em; margin-top:6px; text-transform:uppercase; }
/* device frame */
.tenk-device{ position:relative; aspect-ratio:1080/1440; border-radius:26px; overflow:hidden; border:1px solid var(--glass-line); background:var(--surface); box-shadow:0 50px 120px -40px rgba(0,0,0,.8), var(--glow-amber,0 24px 90px rgba(245,166,35,.26)); transform:perspective(1400px) rotateY(-9deg) rotateX(3deg); transition:transform .6s var(--ease); }
.tenk-hero:hover .tenk-device{ transform:perspective(1400px) rotateY(-5deg) rotateX(2deg); }
.tenk-device video,.tenk-device img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tenk-device__tag{ position:absolute; left:14px; bottom:14px; z-index:3; padding:7px 13px; border-radius:999px; background:rgba(10,10,12,.6); border:1px solid var(--glass-line); backdrop-filter:blur(8px); font-size:12.5px; color:var(--ink); font-family:var(--font-mono,monospace); }

/* ---- MARQUEE rails ------------------------------------------------------- */
.tenk-marquee{ position:relative; padding-block:14px; overflow:hidden; border-block:1px solid var(--line); background:linear-gradient(var(--surface),rgba(20,20,23,.4)); }
.tenk-marquee__row{ display:flex; gap:18px; width:max-content; animation:tenk-scroll 60s linear infinite; }
.tenk-marquee__row--rev{ animation-direction:reverse; animation-duration:74px; margin-top:18px; }
.tenk-marquee:hover .tenk-marquee__row{ animation-play-state:paused; }
.tenk-chip{ flex:0 0 auto; width:190px; aspect-ratio:16/10; border-radius:12px; overflow:hidden; border:1px solid var(--line); position:relative; background:var(--surface-2); transition:transform .35s var(--ease); }
.tenk-chip img{ width:100%; height:100%; object-fit:cover; opacity:.9; transition:.35s var(--ease); }
.tenk-marquee__row:hover .tenk-chip{ opacity:.5; }
.tenk-chip:hover{ transform:scale(1.06); z-index:2; }
.tenk-chip:hover img{ opacity:1; }

/* ---- BENTO (what you get) ------------------------------------------------ */
.tenk-bento{ display:grid; grid-template-columns:repeat(6,1fr); grid-auto-rows:minmax(150px,auto); gap:16px; margin-top:52px; }
.tenk-cell{ position:relative; border-radius:20px; border:1px solid var(--line); background:var(--surface); padding:26px; overflow:hidden; min-height:150px; transition:border-color .4s var(--ease), transform .4s var(--ease); }
.tenk-cell:hover{ border-color:rgba(245,166,35,.4); transform:translateY(-3px); }
.tenk-cell::after{ content:""; position:absolute; inset:0; opacity:0; background:radial-gradient(60% 80% at 30% 0,rgba(245,166,35,.14),transparent 70%); transition:opacity .4s; }
.tenk-cell:hover::after{ opacity:1; }
.tenk-cell--wide{ grid-column:span 4; } .tenk-cell--tall{ grid-column:span 2; grid-row:span 2; }
.tenk-cell--3{ grid-column:span 3; } .tenk-cell--2{ grid-column:span 2; }
.tenk-cell__k{ font-family:var(--font-display,serif); font-size:clamp(1.4rem,1rem+1.4vw,2.1rem); line-height:1.05; position:relative; z-index:1; }
.tenk-cell__p{ color:var(--ink-2); font-size:14.5px; margin-top:10px; line-height:1.55; position:relative; z-index:1; max-width:34ch; }
.tenk-cell__n{ font-family:var(--font-mono,monospace); color:var(--amber); font-size:12px; letter-spacing:.2em; }
.tenk-cell video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.16; }

/* ---- GALLERY (filter + hover-play + add to cart) ------------------------- */
.tenk-filters{ display:flex; flex-wrap:wrap; gap:10px; margin:34px 0 30px; }
.tenk-filter{ padding:9px 18px; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--ink-2); font-size:13.5px; cursor:pointer; transition:.25s var(--ease); }
.tenk-filter:hover{ color:var(--ink); border-color:var(--glass-line); }
.tenk-filter.is-active{ background:var(--ink); color:#0b0b0c; border-color:var(--ink); }
.tenk-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:20px; }
.tenk-card{ position:relative; border-radius:18px; overflow:hidden; border:1px solid var(--line); background:var(--surface-2); transition:transform .4s var(--ease), border-color .4s; }
.tenk-card:hover{ transform:translateY(-4px); border-color:rgba(245,166,35,.35); }
.tenk-card__media{ position:relative; aspect-ratio:1080/1440; overflow:hidden; }
.tenk-card__media img,.tenk-card__media video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.tenk-card__media video{ opacity:0; transition:opacity .4s; }
.tenk-card:hover .tenk-card__media video{ opacity:1; }
.tenk-card__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 16px; }
.tenk-card__name{ font-size:15px; font-weight:600; }
.tenk-card__tags{ font-size:11.5px; color:var(--muted); margin-top:3px; font-family:var(--font-mono,monospace); letter-spacing:.03em; }
.tenk-add{ flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; padding:9px 14px; border-radius:999px; background:var(--glass); border:1px solid var(--glass-line); color:var(--ink); font-size:13px; font-weight:600; cursor:pointer; transition:.25s var(--ease); white-space:nowrap; }
.tenk-add:hover{ background:var(--amber); color:#160d00; border-color:var(--amber); }
.tenk-add.is-added{ background:var(--amber); color:#160d00; border-color:var(--amber); }
.tenk-card__zoom{ position:absolute; top:12px; right:12px; z-index:2; width:34px; height:34px; border-radius:999px; background:rgba(10,10,12,.55); border:1px solid var(--glass-line); backdrop-filter:blur(6px); display:grid; place-items:center; color:var(--ink); opacity:0; transition:.3s; cursor:pointer; }
.tenk-card:hover .tenk-card__zoom{ opacity:1; }
.tenk-gallery__more{ text-align:center; margin-top:36px; }

/* ---- PERSONAS ------------------------------------------------------------ */
.tenk-personas{ display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:20px; overflow:hidden; margin-top:48px; }
.tenk-persona{ background:var(--canvas); padding:34px 28px; transition:background .4s; }
.tenk-persona:hover{ background:var(--surface); }
.tenk-persona__n{ font-family:var(--font-mono,monospace); color:var(--amber); font-size:12px; letter-spacing:.2em; }
.tenk-persona h3{ font-size:1.5rem; margin:14px 0 8px; }
.tenk-persona p{ color:var(--ink-2); font-size:14.5px; line-height:1.6; }

/* ---- HOW IT WORKS (pinned steps) ---------------------------------------- */
.tenk-steps{ display:grid; grid-template-columns:1fr 1fr; gap:60px; margin-top:52px; align-items:start; }
.tenk-steps__sticky{ position:sticky; top:calc(var(--tenk-nav-h) + 40px); }
.tenk-steps__big{ font-family:var(--font-display,serif); font-size:clamp(4rem,3rem+8vw,10rem); line-height:.9; color:var(--amber); }
.tenk-step{ padding:34px 0; border-top:1px solid var(--line); opacity:.4; transition:opacity .5s var(--ease); }
.tenk-step.is-active{ opacity:1; }
.tenk-step h3{ font-size:1.7rem; margin:0 0 10px; }
.tenk-step p{ color:var(--ink-2); line-height:1.6; max-width:44ch; }

/* ---- PRICING ------------------------------------------------------------- */
.tenk-prices{ display:grid; grid-template-columns:1fr 1.15fr; gap:22px; margin-top:52px; align-items:stretch; }
.tenk-price{ position:relative; border-radius:24px; border:1px solid var(--line); background:var(--surface); padding:38px 34px; display:flex; flex-direction:column; }
.tenk-price--hero{ border-color:rgba(245,166,35,.5); background:linear-gradient(180deg,rgba(245,166,35,.06),var(--surface)); box-shadow:var(--glow-amber,0 24px 90px rgba(245,166,35,.26)); }
.tenk-price--hero::before{ content:"Best value"; position:absolute; top:20px; right:22px; font-family:var(--font-mono,monospace); font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--amber); }
.tenk-price__k{ font-family:var(--font-mono,monospace); font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-2); }
.tenk-price__amt{ font-family:var(--font-display,serif); font-size:clamp(3rem,2rem+4vw,4.6rem); line-height:1; margin:14px 0 4px; }
.tenk-price__amt s{ color:var(--muted); font-size:.4em; text-decoration-thickness:1.5px; margin-left:12px; vertical-align:middle; }
.tenk-price__list{ list-style:none; padding:0; margin:22px 0 28px; display:grid; gap:11px; }
.tenk-price__list li{ display:flex; gap:11px; color:var(--ink-2); font-size:14.5px; }
.tenk-price__list li::before{ content:"→"; color:var(--amber); }
.tenk-price .tenk-btn{ margin-top:auto; justify-content:center; }

/* ---- FAQ ----------------------------------------------------------------- */
.tenk-faq{ max-width:760px; margin:44px auto 0; }
.tenk-q{ border-top:1px solid var(--line); }
.tenk-q:last-child{ border-bottom:1px solid var(--line); }
.tenk-q__h{ width:100%; text-align:left; background:none; border:0; color:var(--ink); font-size:clamp(1.05rem,.9rem+.5vw,1.3rem); font-family:var(--font-display,serif); padding:24px 40px 24px 0; cursor:pointer; position:relative; }
.tenk-q__h::after{ content:"+"; position:absolute; right:6px; top:50%; transform:translateY(-50%); color:var(--amber); font-size:1.4em; transition:transform .3s; }
.tenk-q.is-open .tenk-q__h::after{ transform:translateY(-50%) rotate(45deg); }
.tenk-q__a{ max-height:0; overflow:hidden; transition:max-height .4s var(--ease); }
.tenk-q__a p{ color:var(--ink-2); line-height:1.65; padding:0 0 24px; max-width:64ch; }

/* ---- FOOTER -------------------------------------------------------------- */
.tenk-foot{ position:relative; padding:clamp(70px,9vw,130px) 0 50px; border-top:1px solid var(--line); overflow:hidden; }
.tenk-foot__cta{ font-family:var(--font-display,serif); font-size:clamp(2.4rem,1rem+6vw,6rem); line-height:1; text-align:center; }
.tenk-foot__cta .amber{ color:var(--amber); font-style:italic; }
.tenk-foot__row{ display:flex; justify-content:center; margin-top:36px; }
.tenk-foot__band{ margin-top:clamp(50px,7vw,90px); border-top:1px solid var(--line); padding-top:28px; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; color:var(--muted); font-size:13.5px; }
.tenk-foot__band a{ color:var(--ink-2); text-decoration:none; }
.tenk-foot__band a:hover{ color:var(--amber); }

/* ---- CART DRAWER --------------------------------------------------------- */
.tenk-drawer{ position:fixed; inset:0 0 0 auto; width:min(420px,92vw); z-index:80; background:var(--surface); border-left:1px solid var(--line); transform:translateX(100%); transition:transform .45s var(--ease); display:flex; flex-direction:column; }
.tenk-drawer.is-open{ transform:none; }
.tenk-backdrop{ position:fixed; inset:0; z-index:79; background:rgba(0,0,0,.6); opacity:0; visibility:hidden; transition:.35s; backdrop-filter:blur(2px); }
.tenk-backdrop.is-open{ opacity:1; visibility:visible; }
.tenk-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid var(--line); }
.tenk-drawer__head h3{ font-size:1.3rem; }
.tenk-drawer__body{ flex:1; overflow:auto; padding:12px 24px; }
.tenk-drawer__foot{ padding:20px 24px; border-top:1px solid var(--line); }
.tenk-drawer__row{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); align-items:center; }
.tenk-drawer__row img{ width:52px; height:66px; object-fit:cover; border-radius:8px; }
.tenk-x{ background:none; border:0; color:var(--muted); cursor:pointer; font-size:20px; }

/* ---- reveal / motion ----------------------------------------------------- */
[data-reveal]{ opacity:0; transform:translateY(26px); transition:opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal].is-in{ opacity:1; transform:none; }
[data-reveal-stagger]>*{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
[data-reveal-stagger].is-in>*{ opacity:1; transform:none; }
.tenk-cursor{ position:fixed; top:0; left:0; width:26px; height:26px; border-radius:999px; border:1px solid rgba(245,166,35,.6); pointer-events:none; z-index:90; transform:translate(-50%,-50%); transition:width .25s,height .25s,background .25s; mix-blend-mode:screen; }
.tenk-cursor.is-hot{ width:52px; height:52px; background:rgba(245,166,35,.10); }

@keyframes tenk-scroll{ to{ transform:translateX(-50%); } }
@keyframes tenk-drift{ to{ transform:translate(4%,3%) scale(1.08); } }

/* ---- shop helmet (cart/checkout/account inherit the dark system) --------- */
.tenk-shop .tenk-bumps{ margin:20px 0; display:grid; gap:12px; }
.tenk-bumps__title{ font-family:var(--font-mono,monospace); font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--amber); }
.tenk-bump{ display:flex; gap:14px; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface); cursor:pointer; transition:border-color .3s,background .3s; }
.tenk-bump:hover{ border-color:var(--glass-line); }
.tenk-bump.is-in{ border-color:rgba(245,166,35,.5); background:linear-gradient(rgba(245,166,35,.05),var(--surface)); }
.tenk-bump__cb{ margin-top:3px; accent-color:var(--amber); width:18px; height:18px; }
.tenk-bump__name{ font-weight:600; } .tenk-bump__price{ color:var(--amber); }
.tenk-bump__desc{ display:block; color:var(--ink-2); font-size:13.5px; margin-top:4px; }

/* access library */
.tenk-access__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; margin-top:24px; }
.tenk-access__card{ display:block; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--surface-2); text-decoration:none; color:var(--ink); transition:transform .3s var(--ease),border-color .3s; }
.tenk-access__card:hover{ transform:translateY(-3px); border-color:rgba(245,166,35,.4); }
.tenk-access__thumb{ display:block; aspect-ratio:1080/1440; background-size:cover; background-position:center; }
.tenk-access__name{ display:block; padding:12px 14px 2px; font-weight:600; font-size:14.5px; }
.tenk-access__go{ display:block; padding:0 14px 14px; color:var(--amber); font-size:13px; }
.tenk-access__meta{ color:var(--ink-2); }
.tenk-access-gate{ text-align:center; padding:60px 20px; }

/* ---- responsive ---------------------------------------------------------- */
@media (max-width:900px){
  .tenk-hero__grid{ grid-template-columns:1fr; }
  .tenk-device{ max-width:360px; margin-inline:auto; transform:none; }
  .tenk-steps{ grid-template-columns:1fr; } .tenk-steps__sticky{ position:static; }
  .tenk-prices{ grid-template-columns:1fr; }
  .tenk-bento{ grid-template-columns:repeat(2,1fr); }
  .tenk-cell--wide,.tenk-cell--tall,.tenk-cell--3,.tenk-cell--2{ grid-column:span 2; grid-row:auto; }
  .tenk-nav__links{ display:none; }
  .tenk-burger{ display:inline-flex; }
}
@media (max-width:560px){
  .tenk-hero__meta{ gap:20px; } .tenk-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .tenk-bento{ grid-template-columns:1fr; } .tenk-cell--wide,.tenk-cell--tall,.tenk-cell--3,.tenk-cell--2{ grid-column:auto; }
}

/* mobile flyout */
.tenk-flyout{ position:fixed; inset:0; z-index:85; background:rgba(9,9,10,.96); backdrop-filter:blur(10px); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:8px; transform:translateY(-100%); transition:transform .5s var(--ease); }
.tenk-flyout.is-open{ transform:none; }
.tenk-flyout a{ font-family:var(--font-display,serif); font-size:2rem; color:var(--ink); text-decoration:none; padding:10px; opacity:0; transform:translateY(14px); transition:.5s var(--ease); }
.tenk-flyout.is-open a{ opacity:1; transform:none; }
.tenk-flyout__x{ position:absolute; top:22px; right:22px; width:46px; height:46px; border-radius:999px; border:1px solid var(--glass-line); background:var(--glass); color:var(--ink); font-size:22px; cursor:pointer; }

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
  [data-reveal],[data-reveal-stagger]>*{ opacity:1!important; transform:none!important; }
  .tenk-hero__mesh{ animation:none; } .tenk-marquee__row{ animation:none; }
  .tenk-cursor{ display:none; }
}
