/* ============================================================
   VEXT LABS — the lab expression · vextlabs.css
   One system, two expressions. JUWEL is Liquid Candy at full
   volume; the lab is the same tokens INVERTED: paper and ink,
   serif-led display, hairlines, one gem (amethyst), near-still
   motion. The receipt is the shared artifact across both.
   Loads AFTER juwel-ds.css + juwel-liquid.css and re-voices them.
   ============================================================ */

:root{
  --lab-accent:var(--amethyst-2);
  --lab-accent-deep:var(--amethyst-deep);
  --lab-r:14px;                        /* quieter radius language */
  --lab-maxw:1080px;
}

/* ── editorial type: serif leads, Geist serves ── */
.lab-display{font-family:var(--serif);font-weight:400;font-style:normal;
  font-size:clamp(40px,5.6vw,76px);line-height:1.04;letter-spacing:-.015em;}
.lab-display em{font-style:italic;color:var(--lab-accent);}
.lab-h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,44px);
  line-height:1.1;letter-spacing:-.01em;}
.lab-h2 em{font-style:italic;color:var(--lab-accent);}
.lab-k{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.24em;
  text-transform:uppercase;color:var(--ink-3);}
.lab-body{font-size:16.5px;line-height:1.65;color:var(--ink-2);font-weight:450;}
.lab-body b{color:var(--ink);font-weight:650;}

/* ── nav: ink wordmark, no gradient ── */
.lab-wordmark{font-family:var(--ff);font-weight:800;font-size:17px;letter-spacing:.14em;color:var(--ink);}
.lab-wordmark i{font-style:normal;color:var(--lab-accent);}

/* ── section scaffold: hairlines carry the structure ── */
.lab-sec{padding:84px clamp(20px,4.5vw,56px);border-top:1px solid var(--line-2);}
.lab-sec .inner{max-width:var(--lab-maxw);}
.lab-sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:36px;}
.lab-sec-head .lab-rule{flex:1;height:1px;background:var(--line-2);}

/* ── quiet cards: paper, hairline, small radius — glass whispers ── */
.lab-card{background:color-mix(in srgb,var(--surface) 88%,transparent);
  backdrop-filter:blur(14px) saturate(1.2);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  border:1px solid var(--line);border-radius:var(--lab-r);padding:26px 28px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 18px 40px -30px rgba(25,14,36,.25);
  transition:border-color .3s var(--ease),transform .35s var(--ease);}
.lab-card:hover{border-color:color-mix(in srgb,var(--lab-accent) 40%,var(--line));transform:translateY(-2px);}
html[data-theme="dark"] .lab-card{box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 40px -30px rgba(0,0,0,.6);}

/* status chips: semantic gems only */
.lab-st{font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.05em;
  border-radius:var(--r-full);padding:5px 12px;white-space:nowrap;}
.lab-st.ship{color:var(--jade-deep);background:color-mix(in srgb,var(--jade-2) 14%,transparent);}
html[data-theme="dark"] .lab-st.ship{color:var(--jade-2);}
.lab-st.exp{color:var(--lab-accent-deep);background:color-mix(in srgb,var(--amethyst-2) 12%,transparent);}
html[data-theme="dark"] .lab-st.exp{color:var(--amethyst);}

/* ── lab buttons: ink, not candy ── */
.lab-btn{display:inline-flex;align-items:center;gap:9px;font-weight:650;font-size:15px;
  color:var(--paper);background:var(--ink);border:1px solid var(--ink);border-radius:var(--r-full);
  padding:13px 26px;text-decoration:none;cursor:pointer;
  transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.lab-btn:hover{transform:translateY(-1px);box-shadow:0 14px 30px -16px rgba(25,14,36,.5);}
html[data-theme="dark"] .lab-btn{color:var(--paper);background:var(--ink);border-color:var(--ink);}
.lab-btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.lab-btn.ghost:hover{border-color:var(--ink);box-shadow:none;}

/* ── brand discipline: the mascot lives on the product side ── */
.pullgem{display:none!important;}
#sheet .grab{display:none;}

/* ── near-still: the current barely breathes here ── */
.liquid-bg{opacity:.38;}
html[data-theme="dark"] .liquid-bg{opacity:.5;}

/* hero */
.lab-hero{min-height:88vh;display:flex;align-items:center;
  padding:calc(var(--nav-h) + 30px) clamp(20px,4.5vw,56px) 70px;}
.lab-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,80px);
  align-items:center;width:min(1120px,100%);margin:0 auto;}
.lab-hero-copy h1{margin:26px 0 0;max-width:17ch;}
.lab-hero-copy .lab-body{margin:24px 0 0;max-width:48ch;font-size:clamp(16px,1.8vw,19px);}
.lab-hero-copy .hero-cta{margin-top:32px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
.lab-hero-proof{display:flex;flex-direction:column;gap:16px;align-items:center;}
.lab-hero-proof .receipt{--unf:1;width:min(460px,100%);}
.lab-hero-proof .tamper-row{margin:0;}
.lab-hero-proof .lab-proof-note{font-size:13.5px;color:var(--ink-3);text-align:center;max-width:42ch;line-height:1.55;}
.lab-hero-proof .lab-proof-note b{color:var(--ink-2);}
@media(max-width:920px){
  .lab-hero-grid{grid-template-columns:1fr;gap:44px;}
  .lab-hero-copy{text-align:center;}
  .lab-hero-copy h1,.lab-hero-copy .lab-body{margin-left:auto;margin-right:auto;}
  .lab-hero-copy .hero-cta{justify-content:center;}
}

/* the one rule — an editorial pull line, not a card */
.lab-rule-line{padding:64px clamp(20px,4.5vw,56px);text-align:center;border-top:1px solid var(--line-2);}
.lab-rule-line p{font-family:var(--serif);font-size:clamp(22px,3vw,34px);line-height:1.3;
  max-width:30ch;margin:0 auto;color:var(--ink);}
.lab-rule-line p em{font-style:italic;color:var(--lab-accent);}
.lab-rule-line .lab-k{display:block;margin-bottom:18px;}

/* programs */
.lab-programs{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:860px){.lab-programs{grid-template-columns:1fr;}}
.lab-prog h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);
  margin:14px 0 0;line-height:1.12;}
.lab-prog h3 em{font-style:italic;color:var(--lab-accent);}
.lab-prog .p-k{display:flex;align-items:center;gap:10px;}
.lab-prog p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:12px 0 0;}
.lab-prog p b{color:var(--ink);font-weight:650;}
.lab-prog .p-now{margin-top:16px;padding-top:14px;border-top:1px solid var(--line-2);
  font-family:var(--mono);font-size:11.5px;color:var(--ink-3);line-height:1.7;}

/* notes: an index, not tiles */
.lab-notes{display:flex;flex-direction:column;}
.lab-note{display:grid;grid-template-columns:110px 1fr auto;gap:20px;align-items:baseline;
  padding:20px 4px;border-top:1px solid var(--line-2);text-decoration:none;color:var(--ink);
  transition:background .2s var(--ease);}
.lab-note:last-child{border-bottom:1px solid var(--line-2);}
.lab-note:hover{background:color-mix(in srgb,var(--surface) 60%,transparent);}
.lab-note .n-id{font-family:var(--mono);font-size:11.5px;color:var(--ink-3);}
.lab-note .n-t{font-weight:700;font-size:17px;letter-spacing:-.01em;}
.lab-note .n-s{grid-column:2;font-size:14px;color:var(--ink-2);line-height:1.55;max-width:64ch;}
.lab-note .n-go{font-family:var(--mono);font-size:11.5px;color:var(--lab-accent-deep);white-space:nowrap;}
html[data-theme="dark"] .lab-note .n-go{color:var(--amethyst);}
@media(max-width:700px){.lab-note{grid-template-columns:1fr;gap:6px;}.lab-note .n-s{grid-column:1;}}

/* the product — the ONE full-candy moment on the lab site */
.lab-product{display:flex;align-items:center;gap:clamp(20px,3.5vw,40px);
  background:linear-gradient(160deg,var(--amethyst-2),var(--amethyst-deep));color:#fff;
  border-radius:var(--r-xl);padding:clamp(26px,3.6vw,44px);position:relative;overflow:hidden;
  box-shadow:var(--shadow-lg),inset 0 1.5px 0 rgba(255,255,255,.42);}
.lab-product::before{content:"";position:absolute;left:0;right:0;top:0;height:44%;
  background:linear-gradient(180deg,rgba(255,255,255,.38),transparent);pointer-events:none;}
.lab-product h3{font-size:clamp(24px,3vw,34px);font-weight:900;letter-spacing:-.03em;margin:0;line-height:1.05;}
.lab-product p{font-size:15.5px;font-weight:500;margin:10px 0 0;opacity:.97;max-width:52ch;line-height:1.55;}
.lab-product .cbtn.onglass{background:rgba(255,255,255,.95);color:#17101F;
  box-shadow:0 12px 30px -10px rgba(0,0,0,.35),inset 0 1px 0 #fff;}
@media(max-width:700px){.lab-product{flex-direction:column;text-align:center;}}

/* company facts */
.lab-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:860px){.lab-facts{grid-template-columns:1fr;}}
.lab-fact .f-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);}
.lab-fact b{display:block;font-size:17px;font-weight:750;letter-spacing:-.01em;margin-top:8px;}
.lab-fact span{display:block;font-size:14px;color:var(--ink-2);line-height:1.55;margin-top:6px;}

/* footer */
.lab-foot{padding:60px clamp(20px,4.5vw,56px) 56px;border-top:1px solid var(--line-2);}
.lab-foot .inner{max-width:var(--lab-maxw);display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:space-between;}
.lab-foot .lf-links{display:flex;gap:20px;flex-wrap:wrap;font-size:13.5px;}
.lab-foot .lf-links a{color:var(--ink-2);text-decoration:none;}
.lab-foot .lf-links a:hover{color:var(--ink);}
.lab-foot .lf-legal{width:100%;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-4);margin-top:6px;}
