/* ============================================================
   LIP DOCTOR CASE STUDY v3 — flagship styles (revision pass)
   lv3-  = desktop   ·   lv3m- = mobile
   Tokens from colors_and_type.css. Namespaced; never touches v1/v2.
   ============================================================ */

.lv3-root{background:var(--paper)}
.lv3-root .ds-accent{color:var(--pink-500)}

/* shared lede / points / vis cards ------------------------------------ */
.lv3-lede{font-family:var(--font-sans);font-size:1.18rem;line-height:1.62;color:var(--fg-on-light-2);margin:0;max-width:48ch}
.lv3-lede--ondark{color:var(--fg-on-dark-2)}
.lv3-points{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-direction:column;gap:13px}
.lv3-points li{display:flex;align-items:center;gap:11px;font-family:var(--font-sans);font-size:1rem;font-weight:500;color:var(--fg-on-light)}
.lv3-points--ondark li{color:#fff}
.lv3-vis-card{background:var(--paper);border:1px solid var(--line-200);border-radius:var(--r-lg);padding:24px 26px;box-shadow:var(--shadow-md)}
.lv3-vis-card--dark{background:linear-gradient(165deg,rgba(30,33,39,.9),rgba(15,17,21,.92));border-color:var(--ink-600);box-shadow:0 40px 90px -34px rgba(0,0,0,.8)}
.lv3-vis-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.lv3-vis-head span:first-child{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-vis-card--dark .lv3-vis-head span:first-child{color:var(--fg-on-dark-3)}
.lv3-vis-peak{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-500)}
.lv3-vis-peak.is-teal{color:#22C3D0}

/* phase eyebrow — readable, premium ----------------------------------- */
.lv3-phase-eb{display:inline-flex;align-items:center;gap:11px;margin:0}
.lv3-phase-eb-num{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.lv3-phase-eb-dot{width:5px;height:5px;border-radius:50%;flex:none}
.lv3-phase-eb-k{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light)}

/* =================================================================
   HERO
   ================================================================= */
/* Shared case-study hero (Lip Doctor, Smile Stylist, TLKShop, Fastball,
   VitaminTea). Locked to one viewport minus the ticker so header + hero + ticker
   == one screen and the ticker sits flush on the fold; content is height-aware so
   it never spills past the fold on short viewports while keeping the approved
   scale on normal/tall desktops. */
.lv3-hero{--lv3-tick-h:66px;position:relative;background:var(--ink-900);overflow:hidden;height:calc(100vh - var(--lv3-tick-h));height:calc(100dvh - var(--lv3-tick-h));min-height:480px;margin-top:-100px;padding:clamp(108px,15vh,138px) 0 clamp(20px,4.4vh,70px);display:flex;align-items:center}
.lv3-hero-glow{position:absolute;top:-10%;right:-6%;width:62%;height:104%;background:radial-gradient(circle at 64% 40%,rgba(255,0,94,.34),rgba(255,102,0,.13) 44%,transparent 70%);filter:blur(20px);pointer-events:none;z-index:1}
.lv3-hero-in{position:relative;z-index:3;display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center;width:100%}
.lv3-hero-copy{max-width:600px}
.lv3-back{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-2);background:none;border:0;padding:0;margin:0 0 30px;cursor:pointer;transition:color .2s}
.lv3-back:hover{color:#fff}
.lv3-back i{transition:transform .2s var(--ease)}
.lv3-back:hover i{transform:translateX(-3px)}
.lv3-hero-eb{color:var(--fg-on-dark-2);margin:0 0 clamp(10px,2vh,26px);display:inline-flex;align-items:center;gap:13px;font-family:var(--font-mono);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}
.lv3-eb-dot{width:9px;height:9px;border-radius:50%;background:var(--pink-500);flex:none;box-shadow:0 0 0 0 rgba(255,0,94,.6);animation:lv3dot 2.4s ease-in-out infinite}
@keyframes lv3dot{0%,100%{box-shadow:0 0 8px 1px rgba(255,0,94,.5)}50%{box-shadow:0 0 16px 4px rgba(255,0,94,.85)}}
.lv3-hero-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(2.6rem,min(7.4vw,11.9vh),7rem);line-height:.84;letter-spacing:-.018em;color:#fff;margin:0 0 clamp(12px,2.4vh,26px);display:flex;flex-direction:column}
/* Issue 267 (experimental): desktop hero brandmark variant — the approved Smile Stylist logo as the
   primary hero identity. Left-aligned at the title's position, filling most of the left copy column
   (capped before the portrait), natural aspect, with rebalanced space below the eyebrow and above the
   paragraph. Toggled by SS_HERO_LOGO in SmileStylist.jsx (typed title restores when false). */
.lv3-hero-h--logo{display:block;margin:clamp(6px,1.4vh,16px) 0 clamp(24px,3.6vh,42px)}
.lv3-hero-h--logo .ss-hero-logo-d{display:block;width:100%;max-width:33rem;height:auto}
.lv3-hero-lead{font-family:var(--font-sans);font-size:clamp(1rem,min(1.22rem,2.1vh),1.22rem);line-height:1.45;color:var(--fg-on-dark);max-width:40ch;margin:0 0 clamp(14px,2.8vh,34px)}
.lv3-hero-meta{display:flex;align-items:stretch;gap:26px;margin:0 0 clamp(14px,2.8vh,34px)}
.lv3-meta-item{display:flex;flex-direction:column;gap:7px}
.lv3-meta-div{width:1px;background:var(--ink-500);flex:none}
.lv3-meta-k{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-meta-v{font-family:var(--font-sans);font-size:.92rem;font-weight:600;color:#fff;white-space:nowrap}
.lv3-hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
/* Per-page ticker heights so hero + ticker == exactly one screen (the shared
   ticker renders at slightly different heights per case study). */
.tlk-root .lv3-hero{--lv3-tick-h:64px}
.fk-root .lv3-hero{--lv3-tick-h:56px}
/* TLKShop/Fastball carry the tallest hero block (4-row stat list); start tightening
   it a little earlier so it clears the fold on shorter laptops (e.g. 1280x720). */
@media (max-height:760px){
  .tlk-root .tlk-hero-meta .lv3-meta-item{padding:9px 0}
}
/* Very short desktop viewports: compress the shared case-study hero further so
   the whole composition still clears the fold (logo/header never shrink). */
@media (max-height:680px){
  .lv3-hero{padding-top:104px}
  .lv3-hero-eb{margin-bottom:clamp(6px,1.2vh,14px)}
  .lv3-hero-h{font-size:clamp(2.1rem,min(7.4vw,9.4vh),4.8rem);margin-bottom:clamp(8px,1.4vh,16px)}
  .lv3-hero-lead{margin-bottom:clamp(10px,1.8vh,20px)}
  .lv3-hero-meta{margin-bottom:clamp(10px,1.8vh,20px)}
}
/* Extreme-short desktop (heavy zoom / very short windows): clear the header with
   minimal padding (logo is 74px) and compress the dense case-study stack hard. */
@media (max-height:640px){
  .lv3-hero{padding-top:88px}
  .lv3-hero-eb{margin-bottom:4px;font-size:.68rem}
  .lv3-hero-h{font-size:clamp(1.5rem,min(7.4vw,5.4vh),2.7rem);margin-bottom:5px}
  .lv3-hero-lead{font-size:.85rem;line-height:1.28;margin-bottom:6px}
  .lv3-hero-meta{margin-bottom:6px;gap:14px}
  /* TLKShop/Fastball stat list is the tall block — tighten its rows so the dense
     hero clears the fold at extreme-short heights. (.tlk-root raises specificity
     above the base .tlk-hero-meta rules defined later in this file.) */
  .tlk-root .tlk-hero-meta .lv3-meta-item{padding:6px 0}
  .tlk-root .tlk-hero-meta .lv3-meta-v{font-size:.86rem;line-height:1.26}
  .tlk-hero .lv3-hero-cta{gap:8px}
  .lv3-hero-cta .ds-btn{padding-top:9px;padding-bottom:9px;font-size:.76rem}
}
.lv3-hero-vis{position:relative;display:flex;justify-content:center;align-items:center}
.lv3-hero-art-glow{position:absolute;inset:-6% -4%;background:radial-gradient(circle at 56% 46%,rgba(255,0,94,.3),transparent 62%);filter:blur(28px);pointer-events:none}
.lv3-hero-art{position:relative;width:100%;max-width:520px;max-height:74vh;object-fit:contain;border-radius:var(--r-lg);filter:drop-shadow(0 50px 90px rgba(0,0,0,.7));-webkit-mask-image:radial-gradient(125% 125% at 50% 45%,#000 72%,transparent 100%);mask-image:radial-gradient(125% 125% at 50% 45%,#000 72%,transparent 100%)}
.lv3-hero-badge{position:absolute;left:6%;bottom:5%;z-index:4;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:11px 17px;background:rgba(10,11,13,.6);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-pill);backdrop-filter:blur(10px)}
.lv3-hero-badge i{width:7px;height:7px;border-radius:50%;background:#16d97f;box-shadow:0 0 9px 1px rgba(22,217,127,.8);animation:lv3dotpulse 1.8s ease-in-out infinite}
@keyframes lv3dotpulse{0%,100%{opacity:1}50%{opacity:.4}}

/* =================================================================
   AS FEATURED IN — ticker (home-style, dark)
   ================================================================= */
/* Shared case-study hero ticker (Lip Doctor, Smile Stylist, TLKShop, Fastball,
   VitaminTea). Same fix as the home .d-ticker: dark ticker on the white .d-root
   can show a white hairline at its edges under fractional rendering, so lift it
   and bleed its own ink-900 colour 1px over each seam. No layout shift. */
.lv3-tick{position:relative;z-index:1;box-shadow:0 1px 0 0 var(--ink-900),0 -1px 0 0 var(--ink-900);background:var(--ink-900);border-top:1px solid var(--ink-600);border-bottom:1px solid var(--ink-600);overflow:hidden;padding:18px 0;display:flex;align-items:center}
.lv3-tick-label{position:absolute;left:0;top:0;bottom:0;z-index:3;display:flex;align-items:center;padding:0 88px 0 64px;font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.19em;text-transform:uppercase;color:var(--pink-500);white-space:nowrap;background:linear-gradient(90deg,var(--ink-900) 70%,transparent)}
.lv3-tick-fade{position:absolute;left:0;top:0;bottom:0;z-index:2;width:412px;pointer-events:none;background:linear-gradient(90deg,var(--ink-900) 52%,transparent)}
.lv3-tick-track{display:flex;width:max-content;white-space:nowrap;animation:tick var(--ticker-speed) linear infinite}
.lv3-tick-item{display:inline-flex;align-items:center;justify-content:center;padding:0 38px}
.lv3-tick-logo{height:28px;width:auto;object-fit:contain;opacity:.8;transition:opacity .3s}
.lv3-tick-item:hover .lv3-tick-logo{opacity:1}

/* =================================================================
   COMPACT PROOF STRIP (dark)
   ================================================================= */
.lv3-proofsec{position:relative;background:var(--ink-900);padding:58px 0 72px;overflow:visible}
.lv3-proof{position:relative}
.lv3-proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.lv3-proof-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:10px 30px;border:0;border-left:1px solid var(--ink-600);background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;opacity:0;transform:translateY(14px);animation:lv3proofin .6s var(--ease) forwards}
.lv3-proof-cell:first-child{border-left:0;padding-left:0}
@keyframes lv3proofin{to{opacity:1;transform:none}}
.lv3-proof-cell::after{content:"";position:absolute;left:30px;right:30px;bottom:-4px;height:2px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.lv3-proof-cell:first-child::after{left:0}
.lv3-proof-cell:hover::after,.lv3-proof-cell.is-open::after,.lv3-proof-cell.is-active::after{transform:scaleX(1)}
.lv3-proof-n{display:block;font-family:var(--font-display);font-weight:900;font-size:clamp(3rem,4.5vw,4.4rem);line-height:.82;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;animation:lv3breathe 4.6s ease-in-out infinite}
@keyframes lv3breathe{0%,100%{transform:translateY(0);text-shadow:0 0 0 transparent}50%{transform:translateY(-2px);text-shadow:0 8px 30px color-mix(in srgb,var(--acc) 32%,transparent)}}
.lv3-proof-l{display:flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:.96rem;font-weight:600;color:var(--fg-on-dark-2);margin-top:14px}
.lv3-proof-dot{width:9px;height:9px;border-radius:50%;background:var(--acc);flex:none;box-shadow:0 0 10px 1px color-mix(in srgb,var(--acc) 80%,transparent);animation:lv3dotglow 2.6s ease-in-out infinite}
@keyframes lv3dotglow{0%,100%{box-shadow:0 0 7px 0 color-mix(in srgb,var(--acc) 55%,transparent)}50%{box-shadow:0 0 16px 3px color-mix(in srgb,var(--acc) 92%,transparent)}}
.lv3-proof-cue{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-on-dark-3);transition:color .25s,transform .25s}
.lv3-proof-cell:hover .lv3-proof-cue,.lv3-proof-cell.is-open .lv3-proof-cue,.lv3-proof-cell.is-active .lv3-proof-cue{color:var(--acc);transform:translateX(2px)}
.lv3-proof-overlay{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:32px;background:rgba(8,9,11,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lv3overlayin .28s var(--ease)}
@keyframes lv3overlayin{from{opacity:0}to{opacity:1}}
.lv3-proof-panel{position:relative;width:min(880px,94vw);max-height:86vh;border-radius:var(--r-lg);background:linear-gradient(165deg,rgba(28,30,37,.92),rgba(12,14,18,.96));border:1px solid color-mix(in srgb,var(--acc) 30%,var(--ink-600));box-shadow:0 60px 130px -40px rgba(0,0,0,.92),0 0 0 1px color-mix(in srgb,var(--acc) 16%,transparent),inset 0 1px 0 rgba(255,255,255,.05);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:30px 34px 24px;overflow:hidden;animation:lv3panelin .42s var(--ease)}
@keyframes lv3panelin{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:none}}
.lv3-proof-panel-glow{position:absolute;top:-46%;left:50%;transform:translateX(-50%);width:64%;height:130%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 24%,transparent),transparent 64%);pointer-events:none}
.lv3-proof-panel-x{position:absolute;top:18px;right:18px;z-index:4;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid var(--ink-500);cursor:pointer;transition:background .2s,transform .2s}
.lv3-proof-panel-x:hover{background:rgba(255,255,255,.14);transform:rotate(90deg)}
.lv3-proof-panel-head{position:relative}
.lv3-proof-panel-unit{display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.lv3-proof-panel-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.3rem,1.65vw,1.65rem);line-height:1;letter-spacing:-.01em;color:#fff;margin:0;white-space:nowrap}
.lv3-proof-panel-copy{font-family:var(--font-sans);font-size:.92rem;line-height:1.6;color:var(--fg-on-dark-2);margin:10px 0 0;max-width:44ch}
.lv3-proof-panel-plot{position:relative;margin-top:16px}
.lv3-proof-panel-plot .lv3-rc-svg{height:230px}
.lv3-proof-panel-axis{display:flex;justify-content:space-between;margin-top:8px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3)}
@keyframes lv3pvping{0%{opacity:.35;r:5}70%,100%{opacity:0;r:13}}
@keyframes lv3draw{to{stroke-dashoffset:0}}
@keyframes lv3fade{to{opacity:1}}

/* =================================================================
   CHALLENGE / OPPORTUNITY (editorial, no cards)
   ================================================================= */
.lv3-challenge{background:var(--paper)}
.lv3-challenge-in{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}
.lv3-challenge-l{padding-top:0}
.lv3-challenge-r{padding-top:0}
.lv3-challenge-eb{margin:0 0 4px;line-height:1.1}
.lv3-challenge .d-sec-h{font-size:clamp(2.9rem,5vw,4.5rem);line-height:.98;margin-top:14px}
.lv3-challenge-lede{font-family:var(--font-sans);font-size:1.16rem;line-height:1.66;color:var(--fg-on-light-2);margin:26px 0 0;max-width:46ch}
.lv3-transform{position:relative;display:inline-flex;align-items:center;gap:16px;margin-top:34px;padding:15px 26px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line-300);box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:border-color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.lv3-transform:hover{border-color:var(--ink-800);box-shadow:0 18px 42px -22px rgba(10,11,13,.34),0 0 0 1px rgba(10,11,13,.05);transform:translateY(-2px)}
.lv3-transform-from{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-900);white-space:nowrap}
.lv3-transform-arrow{display:inline-flex;align-items:center;justify-content:center}
.lv3-transform-to{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--pink-500);white-space:nowrap}
.lv3-challenge-cta-wrap{display:flex;justify-content:center;margin-top:56px}
.lv3-rebuild-h{display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-light-3);margin-bottom:8px}
.lv3-rebuild{list-style:none;margin:0;padding:0}
.lv3-rebuild-row{position:relative;display:grid;grid-template-columns:auto auto 1fr;gap:18px;align-items:center;padding:20px 18px 20px 10px;border-top:1px solid var(--line-100);border-radius:var(--r-md);transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease)}
.lv3-rebuild-row:last-child{border-bottom:1px solid var(--line-100)}
.lv3-rebuild-row::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:linear-gradient(180deg,#FF005E,#FF6600);transform:scaleY(0);transform-origin:center;transition:transform .3s var(--ease)}
.lv3-rebuild-row:hover{background:var(--paper-2);transform:translateX(6px);box-shadow:0 18px 42px -28px rgba(255,0,94,.45)}
.lv3-rebuild-row:hover::before{transform:scaleY(1)}
.lv3-rebuild-n{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--line-300);transition:color .3s}
.lv3-rebuild-row:hover .lv3-rebuild-n{color:var(--pink-500)}
.lv3-rebuild-ic{width:40px;height:40px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--pink-100);transition:background .3s,transform .3s}
.lv3-rebuild-row:hover .lv3-rebuild-ic{background:var(--pink-500);transform:scale(1.07)}
.lv3-rebuild-row:hover .lv3-rebuild-ic svg{stroke:#fff!important}
.lv3-rebuild-body{display:flex;flex-direction:column;gap:3px}
.lv3-rebuild-t{font-family:var(--font-sans);font-size:1.06rem;font-weight:600;color:var(--fg-on-light)}
.lv3-rebuild-d{font-family:var(--font-sans);font-size:.92rem;line-height:1.4;color:var(--fg-on-light-2)}

/* =================================================================
   GROWTH SYSTEM (linear, auto-sequence — slowed & connected)
   ================================================================= */
.lv3-gsec{background:var(--ink-900)}
.lv3-gsec-head{margin-bottom:54px;max-width:64ch}
.lv3-gsec-head .ds-eyebrow{margin-bottom:8px}
.lv3-gsec-head .d-sec-h{max-width:26ch;line-height:1.04}
.lv3-gsec-sub{font-family:var(--font-sans);font-size:1.06rem;line-height:1.55;color:var(--fg-on-dark-2);margin:22px 0 0;max-width:54ch}
.lv3-gs{position:relative}
.lv3-gs-main{display:grid;grid-template-columns:300px 1fr;gap:30px;align-items:stretch}
.lv3-gs-found{position:relative;text-align:left;display:flex;flex-direction:column;background:linear-gradient(165deg,rgba(30,33,39,.85),rgba(15,17,21,.9));border:1px solid var(--ink-600);border-radius:var(--r-lg);padding:24px 24px 20px;cursor:pointer;overflow:visible;transition:border-color 1.2s var(--ease),box-shadow 1.2s var(--ease),transform 1.2s var(--ease)}
.lv3-gs-found::before{content:"";position:absolute;inset:0;border-radius:var(--r-lg);background:radial-gradient(circle at 18% 0%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 55%);opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
.lv3-gs-found.is-on{border-color:color-mix(in srgb,var(--acc) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent),0 24px 50px -26px color-mix(in srgb,var(--acc) 55%,transparent);transform:translateY(-3px)}
.lv3-gs-found.is-on::before{opacity:1}
.lv3-gs-found-top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:relative}
.lv3-gs-ic{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.lv3-gs-found-tag{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--acc) 80%,#fff);text-align:right}
.lv3-gs-found-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.7rem;line-height:1;letter-spacing:-.01em;color:#fff;margin:16px 0 14px;position:relative}
.lv3-gs-found-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;position:relative}
.lv3-gs-found-list li{display:flex;align-items:center;gap:9px;font-family:var(--font-sans);font-size:.88rem;font-weight:500;color:var(--fg-on-dark-2);line-height:1.3}
.lv3-gs-found-list li i{width:5px;height:5px;border-radius:50%;background:var(--acc);flex:none}
.lv3-gs-found-feed{margin-top:18px;display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3);position:relative}
.lv3-gs-connect--found{position:absolute;right:-30px;top:50%;width:30px;height:2px;background:var(--ink-600);overflow:hidden;z-index:2}
.lv3-gs-connect--found i{position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--acc));opacity:0;transition:opacity .6s}
.lv3-gs-connect--found.is-on i{opacity:1}
.lv3-gs-spine{display:flex;align-items:stretch;gap:0}
.lv3-gs-node{position:relative;flex:1;text-align:left;display:flex;flex-direction:column;background:rgba(255,255,255,.022);border:1px solid var(--ink-600);border-radius:var(--r-md);padding:20px 18px;cursor:pointer;overflow:hidden;transition:border-color 1.2s var(--ease),box-shadow 1.2s var(--ease),transform 1.2s var(--ease),background 1.2s var(--ease)}
.lv3-gs-node::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 0%,color-mix(in srgb,var(--acc) 24%,transparent),transparent 60%);opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
.lv3-gs-node.is-on{border-color:color-mix(in srgb,var(--acc) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 35%,transparent),0 22px 46px -24px color-mix(in srgb,var(--acc) 60%,transparent);transform:translateY(-4px);background:rgba(255,255,255,.04)}
.lv3-gs-node.is-on::before{opacity:1}
.lv3-gs-node-top{display:flex;align-items:center;justify-content:space-between;position:relative}
.lv3-gs-step{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--fg-on-dark-3)}
.lv3-gs-node-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.3rem;line-height:1;letter-spacing:-.005em;color:#fff;margin:15px 0 0;position:relative}
.lv3-gs-node-m{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin:7px 0 0;position:relative}
.lv3-gs-node-d{font-family:var(--font-sans);font-size:.86rem;line-height:1.4;color:var(--fg-on-dark-2);margin:10px 0 0;position:relative}
.lv3-gs-link{flex:0 0 30px;align-self:center;height:2px;position:relative;background:var(--ink-600);overflow:hidden;transition:background .6s}
.lv3-gs-link.is-on{background:linear-gradient(90deg,rgba(255,0,94,.25),rgba(255,0,94,.6))}
.lv3-gs-link-pulse{position:absolute;top:50%;left:0;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:radial-gradient(circle,rgba(255,0,94,.9),transparent 70%);opacity:0}
.lv3-gs-link.is-on .lv3-gs-link-pulse{animation:lv3flow 1.8s linear infinite}
@keyframes lv3flow{0%{left:-10px;opacity:0}30%{opacity:1}100%{left:32px;opacity:0}}
.lv3-gs-bracket{position:relative;height:34px;margin:14px 0 4px}
.lv3-gs-bracket::before{content:"";position:absolute;left:14%;right:14%;top:0;height:16px;border:2px solid var(--ink-600);border-bottom:0;border-radius:10px 10px 0 0;transition:border-color .6s}
.lv3-gs-bracket::after{content:"";position:absolute;left:50%;top:14px;width:2px;height:20px;background:var(--ink-600);transition:background .6s}
.lv3-gs-bracket.is-on::before{border-color:color-mix(in srgb,#FF6600 55%,transparent)}
.lv3-gs-bracket.is-on::after{background:linear-gradient(180deg,color-mix(in srgb,#FF6600 55%,transparent),#FF6600)}
.lv3-gs-bracket-label{position:absolute;left:50%;top:-4px;transform:translateX(-50%);background:var(--ink-900);padding:0 12px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-gs-rails{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.lv3-gs-rail{position:relative;text-align:left;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:14px;row-gap:2px;align-items:center;background:rgba(255,255,255,.022);border:1px solid var(--ink-600);border-radius:var(--r-md);padding:16px 22px;cursor:pointer;overflow:hidden;transition:border-color .7s var(--ease),box-shadow .7s var(--ease),background .7s var(--ease)}
.lv3-gs-rail.is-on{border-color:color-mix(in srgb,var(--acc) 60%,transparent);background:color-mix(in srgb,var(--acc) 8%,transparent);box-shadow:0 18px 40px -26px color-mix(in srgb,var(--acc) 60%,transparent)}
.lv3-gs-rail-flow{position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,var(--acc),transparent);background-size:50% 100%;background-repeat:no-repeat;opacity:0;transition:opacity .5s}
.lv3-gs-rail.is-on .lv3-gs-rail-flow{opacity:.9;animation:lv3railflow 2.2s linear infinite}
@keyframes lv3railflow{0%{background-position:-50% 0}100%{background-position:150% 0}}
.lv3-gs-rail-ic{grid-row:1/3;width:40px;height:40px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,transparent)}
.lv3-gs-rail-k{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.05rem;letter-spacing:-.005em;color:#fff;line-height:1}
.lv3-gs-rail-d{font-family:var(--font-sans);font-size:.86rem;line-height:1.35;color:var(--fg-on-dark-2)}
.lv3-gs-rail-tag{position:absolute;right:20px;top:16px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);opacity:0;transition:opacity .4s}
.lv3-gs-rail.is-on .lv3-gs-rail-tag{opacity:.9}

/* =================================================================
   WHAT WE BUILT (equal cards, bottom-line hover, centered CTA)
   ================================================================= */
.lv3-built{background:var(--paper)}
.lv3-built-head{margin-bottom:46px}
.lv3-built-head .ds-eyebrow{margin-bottom:12px}
.lv3-built-sub{font-family:var(--font-sans);font-size:1.06rem;line-height:1.5;color:var(--fg-on-light-2);max-width:42ch;margin:18px 0 0}
.lv3-built-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lv3-built-cell{display:flex}
.lv3-built-card{position:relative;width:100%;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-200);border-radius:var(--r-lg);padding:30px 28px 30px;overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease)}
.lv3-built-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.lv3-built-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--acc) 35%,transparent)}
.lv3-built-card--clk{cursor:pointer}
.lv3-built-cue{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:14px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc);opacity:.7;transition:opacity .2s}
.lv3-built-card--clk:hover .lv3-built-cue{opacity:1}
.lv3-built-card:hover::after{transform:scaleX(1)}
.lv3-built-num{position:absolute;top:24px;right:26px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;color:var(--line-300)}
.lv3-built-ic{width:50px;height:50px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,#fff);margin-bottom:18px}
.lv3-built-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.2rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 10px}
.lv3-built-d{font-family:var(--font-sans);font-size:.96rem;line-height:1.5;color:var(--fg-on-light-2);margin:0}
.lv3-built-cta{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:68px}
.lv3-built-cta-note{font-family:var(--font-sans);font-size:.94rem;color:var(--fg-on-light-3)}

/* =================================================================
   FLYWHEEL (reimagined, dark)
   ================================================================= */
.lv3-fwsec{background:var(--ink-900)}
/* Issue 265 (desktop): more breathing room between the flywheel intro paragraph and the wheel below
   it (the gap below .lv3-fwsec-head). Both pages get the larger gap; Smile Stylist (.lv3-fwsec--ss)
   gets a further increase per spec. Eyebrow/headline/headline->copy relationship + alignment unchanged. */
.lv3-fwsec-head{text-align:center;margin-bottom:84px}
.lv3-fwsec--ss .lv3-fwsec-head{margin-bottom:112px}
.lv3-fwsec-head .d-sec-h{margin-inline:auto}
.lv3-fwsec-sub{font-family:var(--font-sans);font-size:1.1rem;line-height:1.55;color:var(--fg-on-dark-2);margin:20px auto 0;max-width:56ch}
.lv3-fw{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.lv3-fw-wheel{position:relative;width:min(460px,100%);aspect-ratio:1;margin:0 auto}
.lv3-fw-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.lv3-fw-outer{fill:none;stroke:var(--ink-600);stroke-width:.6;opacity:.6}
.lv3-fw-seg{opacity:.45;transition:opacity .8s var(--ease),stroke-width .8s var(--ease);filter:drop-shadow(0 0 3px color-mix(in srgb,var(--acc) 60%,transparent))}
.lv3-fw-seg.is-on{opacity:1;filter:drop-shadow(0 0 7px color-mix(in srgb,var(--acc) 90%,transparent))}
.lv3-fw-sweep{transform-origin:50% 50%;animation:lv3fwspin 6s linear infinite;opacity:.7}
@keyframes lv3fwspin{to{transform:rotate(360deg)}}
.lv3-fw-coreglow{animation:lv3fwcore 3s ease-in-out infinite}
@keyframes lv3fwcore{0%,100%{opacity:.7}50%{opacity:1}}
.lv3-fw-dot{transition:r .6s var(--ease),fill .6s var(--ease)}
.lv3-fw-dot.is-on{filter:drop-shadow(0 0 6px #fff)}
.lv3-fw-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;gap:2px;pointer-events:none}
.lv3-fw-hub-k{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3-fw-hub-b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.9rem;line-height:.95;letter-spacing:-.01em;color:#fff}
.lv3-fw-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:7px;width:104px;padding:13px 8px;background:rgba(20,22,27,.85);border:1px solid var(--ink-500);border-radius:var(--r-md);cursor:pointer;backdrop-filter:blur(6px);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease),background .35s var(--ease);z-index:2}
.lv3-fw-node-ic{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc);transition:background .35s,color .35s}
.lv3-fw-node-k{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.lv3-fw-node.is-sel{transform:translate(-50%,-50%) scale(1.08);border-color:var(--acc);background:rgba(20,22,27,.95);box-shadow:0 18px 44px -16px color-mix(in srgb,var(--acc) 80%,transparent),0 0 0 1px color-mix(in srgb,var(--acc) 40%,transparent)}
.lv3-fw-node.is-sel .lv3-fw-node-ic{background:var(--acc);color:#fff}
.lv3-fw-card{position:relative;min-height:366px;display:flex;flex-direction:column;background:linear-gradient(165deg,rgba(30,33,39,.92),rgba(15,17,21,.95));border:1px solid var(--ink-600);border-left:4px solid var(--acc);border-radius:var(--r-lg);padding:34px 38px;box-shadow:0 40px 90px -34px rgba(0,0,0,.8);overflow:hidden;animation:lv3fwfade .75s var(--ease);transition:border-color .8s var(--ease)}
@keyframes lv3fwfade{from{opacity:0;transform:scale(.992)}to{opacity:1;transform:none}}
.lv3-fw-card::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 74% -12%,color-mix(in srgb,var(--acc) 14%,transparent),transparent 58%);pointer-events:none}
@keyframes lv3rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.lv3-fw-eyebrow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px}
.lv3-fw-step{position:relative;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-fw-tag{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0}
.lv3-fw-tag i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 9px 1px currentColor}
.lv3-fw-h{position:relative;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2.5rem;line-height:.95;letter-spacing:-.01em;color:#fff;margin:10px 0 14px}
.lv3-fw-d{position:relative;font-family:var(--font-sans);font-size:1.04rem;line-height:1.55;color:var(--fg-on-dark-2);margin:0;max-width:42ch}
.lv3-fw-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:auto 0 0;padding-top:24px;border-top:1px solid var(--ink-600)}
.lv3-fw-stat{display:flex;flex-direction:column;gap:5px}
.lv3-fw-stat-v{font-family:var(--font-display);font-weight:800;font-size:1.6rem;line-height:1;letter-spacing:-.01em}
.lv3-fw-stat-l{font-family:var(--font-sans);font-size:.82rem;font-weight:500;color:var(--fg-on-dark-3);line-height:1.3}
.lv3-fw-prog{position:relative;display:flex;justify-content:center;gap:16px;margin-top:34px}
.lv3-fw-prog-step{flex:0 0 auto;width:clamp(40px,8vw,62px);display:flex;flex-direction:column;gap:8px;background:none;border:0;padding:16px 6px;margin:-12px 0 -8px;cursor:pointer;text-align:left}
.lv3-fw-prog-bar{display:block;height:5px;border-radius:var(--r-pill);background:var(--ink-600);overflow:visible;transition:box-shadow .4s var(--ease)}
.lv3-fw-prog-bar i{display:block;height:100%;width:100%;border-radius:var(--r-pill);background:var(--acc);transform:scaleX(1);transform-origin:left;opacity:.32;transition:opacity .5s var(--ease),box-shadow .5s var(--ease)}
.lv3-fw-prog-step.is-sel .lv3-fw-prog-bar{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent)}
.lv3-fw-prog-step.is-sel .lv3-fw-prog-bar i{opacity:1;box-shadow:0 0 6px 0 color-mix(in srgb,var(--acc) 65%,transparent)}
.lv3-fw-prog-step:hover .lv3-fw-prog-bar i{opacity:.6}
.lv3-fw-prog-k{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);transition:color .3s}
.lv3-fw-prog-step.is-sel .lv3-fw-prog-k{color:#fff}
.lv3-fw-prog-step:hover .lv3-fw-prog-k{color:var(--fg-on-dark-2)}

/* =================================================================
   PHASES (shared) + ACQUISITION / RETENTION
   ================================================================= */
.lv3-phase-in{display:grid;grid-template-columns:1fr 1.05fr;gap:56px;align-items:center}
.lv3-phase-in--wide{grid-template-columns:.92fr 1.08fr}
.lv3-phase-copy{max-width:540px}
.lv3-phase-cta{margin-top:30px}
.lv3-phase--light{background:var(--paper)}
.lv3-phase--warm{background:var(--paper-2)}
.lv3-phase .d-sec-h{margin-top:14px}

/* demand dual chart */
.lv3-demand{position:relative}
.lv3-demand-plot{position:relative;height:250px;border-radius:var(--r-sm)}
.lv3-demand-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none;z-index:1}
.lv3-demand-grid i{display:block;height:1px;background:var(--line-100)}
.lv3-demand-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:7px;z-index:2;pointer-events:none}
.lv3-demand-hits{position:absolute;inset:0;display:flex;gap:7px;z-index:5}
.lv3-demand-hit{flex:1;height:100%;cursor:pointer}
.lv3-demand-bar{position:relative;flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#FF2E78,#FF005E);transition:height .7s var(--ease),filter .25s,transform .25s;cursor:pointer}
.lv3-demand-bar.is-hover{filter:brightness(1.1) saturate(1.08);transform:translateY(-2px)}
.lv3-demand-cost{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:3}
.lv3-demand-costline{stroke-dasharray:1400;stroke-dashoffset:1400}
.lv3-demand-cost.is-in .lv3-demand-costline{animation:lv3draw 1.8s var(--ease) .3s forwards}
.lv3-demand-costdot{transition:r .2s}
.lv3-demand-costend{animation:lv3pvping 2.6s ease-out 1.8s infinite;transform-origin:center}
.lv3-demand-tipcard{position:absolute;transform:translate(-50%,calc(-100% - 16px));z-index:6;pointer-events:none;display:flex;flex-direction:column;gap:5px;padding:11px 14px;background:rgba(255,255,255,.96);border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:0 16px 38px -16px rgba(10,11,13,.42);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-width:196px;transition:left .12s var(--ease),top .12s var(--ease)}
.lv3-demand-tipcard.is-below{transform:translate(-50%,16px)}
.lv3-demand-tipcard::after{content:"";position:absolute;left:50%;bottom:-6px;width:11px;height:11px;background:rgba(255,255,255,.96);border-right:1px solid var(--line-200);border-bottom:1px solid var(--line-200);transform:translateX(-50%) rotate(45deg)}
.lv3-demand-tipcard.is-below::after{bottom:auto;top:-6px;border:0;border-left:1px solid var(--line-200);border-top:1px solid var(--line-200)}
.lv3-demand-tip-yr{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-demand-tip-row{display:flex;align-items:center;gap:8px;white-space:nowrap;font-family:var(--font-sans);font-size:.84rem;font-weight:600;color:var(--fg-on-light)}
.lv3-demand-tip-row i{width:8px;height:8px;border-radius:2px;flex:none}
.lv3-demand-tip-row.is-leads i{background:#FF005E}
.lv3-demand-tip-row.is-cost i{background:#22C3D0}
.lv3-demand-legend{display:flex;align-items:center;gap:22px;margin-top:18px;flex-wrap:wrap}
.lv3-demand-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-demand-key{width:14px;height:4px;border-radius:var(--r-pill)}
.lv3-demand-key.is-leads{background:#FF005E}
.lv3-demand-key.is-cost{background:#22C3D0}
.lv3-demand-axis{margin-left:auto}

/* retention — toggle (flow / LTV), sits below the right-column content */
.lv3-rt{width:100%}
.lv3-rt-toggle{position:relative;display:inline-flex;padding:3px;border-radius:var(--r-pill);background:var(--paper-3);border:1px solid var(--line-200);margin-top:22px}
.lv3-rt-thumb{position:absolute;left:3px;top:3px;bottom:3px;width:calc(50% - 3px);border-radius:var(--r-pill);background:#fff;box-shadow:0 3px 10px -4px rgba(10,11,13,.28);transition:transform .4s var(--ease)}
.lv3-rt-thumb.is-flow{transform:translateX(0)}
.lv3-rt-thumb.is-ltv{transform:translateX(100%)}
.lv3-rt-tab{position:relative;z-index:2;flex:1;min-width:0;padding:8px 18px;background:none;border:0;cursor:pointer;white-space:nowrap;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-light-3);transition:color .3s}
.lv3-rt-tab.is-sel{color:#FF6600}
.lv3-rt-stagewrap{height:404px;display:flex;align-items:stretch;overflow:visible}
.lv3-rt-stage{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 10px;animation:lv3rtfade .45s var(--ease)}
@keyframes lv3rtfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lv3-rflow{display:flex;flex-direction:column;gap:0}
.lv3-rflow-row{display:flex;align-items:center;gap:15px;padding:18px 22px;background:#fff;border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:var(--shadow-sm);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s var(--ease)}
.lv3-rflow-row:hover{border-color:color-mix(in srgb,#FF6600 32%,var(--line-200));box-shadow:0 14px 30px -22px rgba(10,11,13,.3);transform:translateX(3px)}
.lv3-rflow-ic{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--craft-100);flex:none}
.lv3-rflow-k{font-family:var(--font-sans);font-size:1.02rem;font-weight:600;color:var(--fg-on-light)}
.lv3-rflow-step{margin-left:auto;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--line-300)}
.lv3-rflow-row.is-strong{background:var(--ink-900);border:1px solid var(--ink-600);border-radius:var(--r-md);box-shadow:0 12px 28px -18px rgba(0,0,0,.6)}
.lv3-rflow-row.is-strong:hover{border-color:color-mix(in srgb,#FF6600 50%,var(--ink-700));box-shadow:0 14px 30px -22px rgba(10,11,13,.45)}
.lv3-rflow-row.is-strong .lv3-rflow-ic{background:rgba(255,102,0,.4);box-shadow:0 0 18px -2px rgba(255,102,0,.55),inset 0 0 0 1px rgba(255,102,0,.4)}
.lv3-rflow-row.is-strong .lv3-rflow-k{color:#fff}
.lv3-rflow-row.is-strong .lv3-rflow-step{color:#FF6600}
.lv3-rflow-conn{display:flex;align-items:center;justify-content:center;height:30px;opacity:1}
.lv3-rflow-conn svg{display:block}
.lv3-rltv{background:#fff;border:1px solid var(--line-200);border-radius:var(--r-lg);padding:22px 24px;box-shadow:var(--shadow-md)}
.lv3-rltv-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.lv3-rltv-head span:first-child{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-rltv-tag{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--craft-500)}
.lv3-rltv-svg{width:100%;height:240px;display:block;overflow:visible}
.lv3-rltv-grid{stroke:var(--line-100);stroke-width:1}
.lv3-rltv-axis{stroke:#A9AFB9;stroke-width:1.5}
.lv3-rltv-without{opacity:.85}
.lv3-rltv-with{stroke-dasharray:1600;stroke-dashoffset:1600;filter:drop-shadow(0 6px 14px rgba(255,102,0,.35))}
.lv3-rltv-svg.is-play .lv3-rltv-with{animation:lv3draw 1.5s var(--ease) .1s forwards}
.lv3-rltv-area{opacity:0}
.lv3-rltv-svg.is-play .lv3-rltv-area{animation:lv3fade 1s var(--ease) .5s forwards}
.lv3-rltv-tip{opacity:0}
.lv3-rltv-svg.is-play .lv3-rltv-tip{animation:lv3fade .4s var(--ease) 1.2s forwards}
.lv3-rltv-legend{display:flex;gap:22px;margin-top:14px}
.lv3-rltv-legend span{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-rltv-key{width:16px;height:3px;border-radius:var(--r-pill)}
.lv3-rltv-key.is-with{background:#FF6600}
.lv3-rltv-key.is-without{background:#B7BCC6}

/* =================================================================
   PHASE 02 — CONVERSION (dark, clean devices)
   ================================================================= */
.lv3-conv{background:var(--ink-900);position:relative;overflow:hidden}
.lv3-conv-atmos{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(58% 48% at 50% 12%,rgba(34,195,208,.14),transparent 60%),radial-gradient(48% 58% at 82% 92%,rgba(255,0,94,.1),transparent 62%)}
.lv3-conv-head{margin-bottom:8px;display:flex;flex-direction:column;align-items:center;text-align:center}
.lv3-phase-eb--center{justify-content:center}
.lv3-conv-lede{margin-top:20px;max-width:64ch;text-align:center}
.lv3-conv-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:30px;padding:24px 0 8px}
.lv3-conv-stage--solo{flex-direction:column;align-items:center;gap:0;padding:0}
.lv3-conv-stage-glow{position:absolute;inset:4% 30% 18%;background:radial-gradient(circle at 50% 50%,rgba(34,195,208,.2),transparent 64%);filter:blur(30px);pointer-events:none}
.lv3-conv-phonewrap{position:relative;flex:none;width:245px;margin:0 auto}
.lv3-conv-phone{position:relative;width:100%;display:block;filter:drop-shadow(0 38px 64px rgba(0,0,0,.74))}
.lv3-conv-phone-badge{position:relative;z-index:3;margin:32px 0;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:8px 15px;background:rgba(10,11,13,.74);border:1px solid rgba(34,195,208,.42);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lv3-conv-phone-badge i{width:6px;height:6px;border-radius:50%;background:#22C3D0;box-shadow:0 0 8px 1px rgba(34,195,208,.8)}
.lv3-conv-qrmini{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:26px}
.lv3-conv-qrmini-img{width:62px;height:62px;border-radius:9px;background:#fff;padding:5px;border:1px solid var(--ink-500);box-shadow:0 12px 30px -14px rgba(0,0,0,.7)}
.lv3-conv-qrmini-s{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3);max-height:0;opacity:0;overflow:hidden;transform:translateY(-4px);transition:max-height .4s var(--ease),opacity .35s var(--ease),transform .4s var(--ease)}
.lv3-conv-qrmini:hover .lv3-conv-qrmini-s,.lv3-conv-qrmini:focus-within .lv3-conv-qrmini-s{max-height:30px;opacity:1;transform:none}
.lv3-arrow-pink{color:var(--pink-500);font-weight:700;padding:0 1px}

/* ---- Phase 02 lower: connected conversion journey (4 stages) ---- */
.lv3-conv-journey-wrap{margin-top:30px}
.lv3-journey{position:relative}
.lv3-journey-head{text-align:center;margin-bottom:40px}
.lv3-journey-eb{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#22C3D0;margin:0 0 12px}
.lv3-journey-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(1.7rem,2.8vw,2.4rem);line-height:1;letter-spacing:-.01em;color:#fff;margin:0}
.lv3-journey-h .ds-accent{color:var(--pink-500)}
.lv3-journey-track{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lv3-journey-rail{position:absolute;left:12.5%;right:12.5%;top:58px;height:2px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(34,195,208,.55),rgba(34,195,208,.55) 40%,rgba(255,0,94,.6));border-radius:2px;overflow:hidden;z-index:0}
.lv3-journey-rail-flow{position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);background-size:34% 100%;background-repeat:no-repeat;animation:lv3pipeflow 6s linear infinite}
@keyframes lv3pipeflow{0%{background-position:-40% 0}100%{background-position:150% 0}}
.lv3-journey-step{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;opacity:0;transform:translateY(14px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.lv3-journey.is-in .lv3-journey-step{opacity:1;transform:none}
.lv3-journey-num{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--acc)}
.lv3-journey-node{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,rgba(20,24,30,.96),rgba(8,10,13,.98));border:2px solid color-mix(in srgb,var(--acc) 70%,transparent);box-shadow:0 0 0 5px color-mix(in srgb,var(--acc) 12%,transparent),0 0 22px -2px color-mix(in srgb,var(--acc) 60%,transparent);transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.lv3-journey-step.is-lit .lv3-journey-node{transform:scale(1.08);box-shadow:0 0 0 6px color-mix(in srgb,var(--acc) 18%,transparent),0 0 34px 0 color-mix(in srgb,var(--acc) 75%,transparent)}
.lv3-journey-k{font-family:var(--font-mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff;margin-top:5px}
.lv3-journey-sub{font-family:var(--font-sans);font-size:.86rem;line-height:1.4;color:var(--fg-on-dark-2);max-width:22ch}
.lv3-journey-v{font-family:var(--font-display);font-weight:900;font-size:clamp(2.2rem,3.4vw,3rem);line-height:1;letter-spacing:-.02em;color:#fff;margin-top:10px;font-variant-numeric:tabular-nums}
.lv3-journey-step.is-payoff .lv3-journey-v{color:#fff}
.lv3-journey-vl{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.lv3-journey-foot{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:40px;padding:6px 8px;border-radius:0;background:none;border:0;opacity:0;transform:translateY(8px);transition:opacity 1s var(--ease) .4s,transform 1s var(--ease) .4s}
.lv3-journey.is-in .lv3-journey-foot{opacity:1;transform:none}
.lv3-journey-foot-ic{width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#22C3D0 16%,transparent);border:1px solid color-mix(in srgb,#22C3D0 34%,transparent);flex:none}
.lv3-journey-foot-t{font-family:var(--font-sans);font-size:.96rem;color:var(--fg-on-dark-2);letter-spacing:.01em}
.lv3-journey-foot-t b{color:#fff;font-weight:600;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin-right:6px}
/* Issue 254 (desktop Lip Doctor + Smile Stylist): explanatory card beneath the Phase 2 strategy line.
   Dark translucent panel, controlled width, centred in the section, text left-aligned; controlled
   WHITE accents (slim left line + small icon + eyebrow + subtle border) — premium, not harsh. */
.lv3-cv-insight{position:relative;max-width:680px;margin:22px auto 0;padding:18px 24px 18px 28px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.13);border-radius:16px;text-align:left;opacity:0;transform:translateY(12px);transition:opacity .7s var(--ease) .25s,transform .7s var(--ease) .25s,border-color .3s var(--ease),box-shadow .3s var(--ease)}
.lv3-journey.is-in .lv3-cv-insight.is-in{opacity:1;transform:none}
/* Issue 266: subtle, restrained blue hover glow (brighter border + soft outer glow), smooth in/out.
   No movement/scale/layout shift; body copy unchanged. The accent blue (#3B82F6) is the conversion/
   system design's existing blue (Conversion Operations block). */
.lv3-cv-insight:hover{border-color:rgba(59,130,246,.5);box-shadow:0 0 0 1px rgba(59,130,246,.16),0 14px 40px -18px rgba(59,130,246,.42)}
.lv3-cv-insight::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:3px;border-radius:3px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.3))}
/* Issue 266: WHY IT WORKS label + its lightbulb icon use the approved conversion-system blue. */
.lv3-cv-insight-eb{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3B82F6}
.lv3-cv-insight-ic{display:inline-flex;align-items:center}
.lv3-cv-insight-d{margin:10px 0 0;font-family:var(--font-sans);font-size:1rem;line-height:1.62;color:#D7DCE3}

/* =================================================================
   TIMELINE (drawn, glowing nodes — no ovals)
   ================================================================= */
.lv3-tlsec{background:var(--ink-900)}
.lv3-tlsec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:46px;flex-wrap:wrap}
.lv3-tlsec-sub{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:10px 16px;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.02)}
.lv3-tl{background:linear-gradient(165deg,rgba(30,33,39,.7),rgba(15,17,21,.7));border:1px solid var(--ink-600);border-radius:var(--r-lg);padding:30px 32px 26px;box-shadow:var(--shadow-darklift)}
.lv3-tl-reads{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}
.lv3-tl-read{display:flex;flex-direction:column;gap:7px;padding:16px 20px;background:rgba(255,255,255,.03);border:1px solid var(--ink-600);border-radius:var(--r-md)}
.lv3-tl-read.is-pink{border-color:color-mix(in srgb,var(--pink-500) 40%,transparent);background:rgba(255,0,94,.06)}
.lv3-tl-read-k{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3-tl-read-v{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:.9;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:6px}
.lv3-tl-read.is-pink .lv3-tl-read-v{color:var(--pink-500)}
.lv3-tl-read-v i{font-style:normal;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-tl-chart{position:relative}
.lv3-tl-svg{width:100%;height:250px;display:block;overflow:visible}
.lv3-tl-grid{stroke:rgba(255,255,255,.05);stroke-width:1}
.lv3-tl-line{filter:drop-shadow(0 4px 14px rgba(255,0,94,.45))}
.lv3-tl-node{fill:#0F1115;stroke:#FF005E;stroke-width:2.5;transition:r .3s var(--ease)}
.lv3-tl-node.is-lit{fill:#fff;stroke:#FF005E}
.lv3-tl-node-glow{fill:rgba(255,0,94,.25);animation:lv3tlpulse 2.4s ease-in-out infinite}
@keyframes lv3tlpulse{0%,100%{opacity:.5}50%{opacity:1}}
.lv3-tl-head{fill:#fff;stroke:#FF005E;stroke-width:2.5;filter:drop-shadow(0 0 8px rgba(255,0,94,.9))}
.lv3-tl-head-glow{fill:rgba(255,0,94,.3)}
.lv3-tl-scrub{position:relative;margin-top:18px;padding-bottom:46px}
.lv3-tl-range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--craft-500),var(--pink-500));outline:none;cursor:pointer;margin:0}
.lv3-tl-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--pink-500);box-shadow:0 4px 14px rgba(255,0,94,.5);cursor:grab}
.lv3-tl-range::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.08)}
.lv3-tl-range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:4px solid var(--pink-500);box-shadow:0 4px 14px rgba(255,0,94,.5);cursor:grab}
.lv3-tl-ticks{position:absolute;left:0;right:0;top:30px;height:30px}
.lv3-tl-tick{position:absolute;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:0;cursor:pointer;padding:0}
.lv3-tl-tick-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink-700);border:1px solid var(--ink-500);color:var(--fg-on-dark-3);transition:all .25s var(--ease)}
.lv3-tl-tick.is-active .lv3-tl-tick-dot{background:var(--pink-500);border-color:var(--pink-500);color:#fff;box-shadow:0 0 12px rgba(255,0,94,.6)}
.lv3-tl-tick-yr{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--fg-on-dark-3);transition:color .25s}
.lv3-tl-tick.is-active .lv3-tl-tick-yr{color:#fff}
.lv3-tl-cap{margin-top:14px;padding-top:18px;border-top:1px solid var(--ink-600);display:flex;align-items:center;gap:22px;animation:lv3rise .4s var(--ease)}
.lv3-tl-cap-yr-num{font-family:var(--font-display);font-weight:900;font-size:2.7rem;line-height:1;letter-spacing:-.02em;color:#fff;flex:none;padding-right:22px;border-right:1px solid var(--ink-600);font-variant-numeric:tabular-nums}
.lv3-tl-cap-text{display:flex;flex-direction:column;gap:5px}
.lv3-tl-cap-yr{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.3rem;letter-spacing:-.005em;color:var(--pink-500)}
.lv3-tl-cap-note{font-family:var(--font-sans);font-size:1rem;line-height:1.45;color:var(--fg-on-dark-2);max-width:64ch}

/* =================================================================
   WATCH THE SYSTEM COMPOUND (scroll-driven compounding chart)
   ================================================================= */
.lv3-cmp{position:relative;overflow:hidden;border-radius:24px;padding:34px 38px 30px;background:linear-gradient(165deg,rgba(28,16,24,.82),rgba(13,14,18,.9));border:1px solid var(--ink-700);box-shadow:0 50px 120px -50px rgba(0,0,0,.75),inset 0 1px 0 rgba(255,255,255,.04)}
.lv3-cmp-glow{position:absolute;top:-30%;right:-8%;width:60%;height:150%;background:radial-gradient(circle,rgba(255,0,94,.22),transparent 62%);filter:blur(26px);pointer-events:none}
.lv3-cmp-top{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}
.lv3-cmp-reads{display:flex;gap:34px;flex-wrap:wrap}
.lv3-cmp-read{display:flex;flex-direction:column;gap:6px}
.lv3-cmp-read-k{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3-cmp-read-v{font-family:var(--font-display);font-weight:800;font-size:2.6rem;line-height:.9;color:#fff;letter-spacing:-.01em;font-variant-numeric:tabular-nums;display:flex;align-items:baseline;gap:9px}
.lv3-cmp-read.is-pink .lv3-cmp-read-v{color:var(--pink-500)}
.lv3-cmp-read-v i{font-style:normal;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-cmp-hint{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:9px 15px;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.02)}
.lv3-cmp-hint-dot{width:7px;height:7px;border-radius:50%;background:var(--fg-on-dark-3);flex:none}
.lv3-cmp-hint-dot.is-milestone{background:#2A78FF;box-shadow:0 0 11px 2px rgba(42,120,255,.85);animation:lv3cmppulse 1.8s ease-in-out infinite}
.lv3-cmp-hint-dot.is-live{background:#FF005E;box-shadow:0 0 9px 1px rgba(255,0,94,.8);animation:lv3cmppulse 1.4s ease-in-out infinite}
.lv3-cmp-hint-dot.is-complete{background:#16d97f;box-shadow:0 0 11px 2px rgba(22,217,127,.9);animation:lv3cmppulse 1.8s ease-in-out infinite}
.lv3-cmp-hint.is-complete{border-color:color-mix(in srgb,#16d97f 42%,var(--ink-600));color:#fff;background:rgba(22,217,127,.06)}
.lv3-cmp-chart{position:relative}
.lv3-cmp-svg{width:100%;height:320px;display:block;overflow:visible}
.lv3-cmp-grid{stroke:rgba(255,255,255,.05);stroke-width:1}
.lv3-cmp-axis{stroke:rgba(255,255,255,.18);stroke-width:1.5}
.lv3-cmp-line{filter:drop-shadow(0 4px 16px rgba(255,0,94,.5))}
.lv3-cmp-node{fill:#15090f;stroke:#FF005E;stroke-width:2;opacity:.5;transition:opacity .4s var(--ease),r .4s var(--ease)}
.lv3-cmp-node.is-lit{fill:#FF005E;stroke:#fff;opacity:1;filter:drop-shadow(0 0 7px rgba(255,0,94,.85))}
.lv3-cmp-node-halo{fill:rgba(255,0,94,.22);animation:lv3cmppulse 2.4s ease-in-out infinite}
@keyframes lv3cmppulse{0%,100%{opacity:.45}50%{opacity:.95}}
.lv3-cmp-comet{fill:#fff;filter:drop-shadow(0 0 10px rgba(255,61,129,1))}
.lv3-cmp-comet-halo{opacity:.9}
.lv3-cmp-years{position:relative;height:64px;margin-top:10px}
.lv3-cmp-year{position:absolute;top:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;padding:4px;cursor:pointer}
.lv3-cmp-year-dot{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink-700);border:1px solid var(--ink-500);color:var(--fg-on-dark-3);transition:all .4s var(--ease)}
.lv3-cmp-year:hover .lv3-cmp-year-dot{border-color:var(--fg-on-dark-3);color:var(--fg-on-dark-2);transform:translateY(-2px)}
.lv3-cmp-year.is-lit .lv3-cmp-year-dot{background:linear-gradient(135deg,#FF005E,#FF6600);border-color:transparent;color:#fff;box-shadow:0 0 16px rgba(255,0,94,.55)}
.lv3-cmp-year.is-cur .lv3-cmp-year-dot{transform:scale(1.16);box-shadow:0 0 26px 2px rgba(255,0,94,.7),0 0 0 4px rgba(255,0,94,.16)}
.lv3-cmp-year-n{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--fg-on-dark-3);transition:color .35s}
.lv3-cmp-year.is-lit .lv3-cmp-year-n{color:#fff}
.lv3-cmp-year.is-cur .lv3-cmp-year-n{color:var(--pink-400)}
.lv3-cmp-scrub{-webkit-appearance:none;appearance:none;width:calc(100% - 52px);margin:14px auto 0;display:block;height:4px;border-radius:3px;background:rgba(255,255,255,.1);cursor:pointer;outline:none}
.lv3-cmp-scrub::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #FF005E;box-shadow:0 0 12px rgba(255,0,94,.7);cursor:grab}
.lv3-cmp-scrub::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid #FF005E;box-shadow:0 0 12px rgba(255,0,94,.7);cursor:grab}
.lv3-cmp-cap{position:relative;margin-top:18px;padding-top:20px;border-top:1px solid var(--ink-600);display:flex;align-items:center;gap:22px;animation:lv3fwfade .5s var(--ease)}
.lv3-cmp-cap-yr{font-family:var(--font-display);font-weight:900;font-size:2.7rem;line-height:1;letter-spacing:-.02em;color:#fff;flex:none;padding-right:22px;border-right:1px solid var(--ink-600);font-variant-numeric:tabular-nums}
.lv3-cmp-cap-text{display:flex;flex-direction:column;gap:5px}
.lv3-cmp-cap-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.3rem;letter-spacing:-.005em;color:#22C3D0}
.lv3-cmp-cap-note{font-family:var(--font-sans);font-size:1rem;line-height:1.45;color:var(--fg-on-dark-2);max-width:64ch}

/* =================================================================
   RECOGNITION (reimagined leadership board)
   ================================================================= */
.lv3-recog{background:var(--paper)}
.lv3-recog-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:26px;flex-wrap:wrap}
.lv3-recog-sub{font-family:var(--font-sans);font-size:1.02rem;line-height:1.5;color:var(--fg-on-light-2);max-width:34ch;margin:0 0 6px}
.lv3-rec{position:relative}
.lv3-rec-board{position:relative;display:grid;grid-template-columns:.92fr 1.08fr;border-radius:28px;background:linear-gradient(150deg,#15171C,#0B0C0F);border:1px solid var(--ink-700)}
.lv3-rec-board-clip{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:0}
.lv3-rec-hero,.lv3-rec-list{z-index:1}
.lv3-rec-board-glow{position:absolute;top:-34%;left:-12%;width:62%;height:150%;background:radial-gradient(circle,rgba(255,0,94,.26),transparent 60%);pointer-events:none}
.lv3-rec-hero{position:relative;text-align:left;width:100%;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:48px 44px;border:0;border-right:1px solid var(--ink-700);background:transparent;cursor:pointer;transition:background .3s var(--ease)}
.lv3-rec-hero:hover{background:rgba(255,255,255,.02)}
.lv3-rec-hero-glow{position:absolute;top:50%;left:14%;width:56%;height:80%;transform:translateY(-50%);background:radial-gradient(circle,rgba(255,0,94,.2),transparent 64%);filter:blur(20px);opacity:0;transition:opacity .4s var(--ease);pointer-events:none}
.lv3-rec-hero:hover .lv3-rec-hero-glow,.lv3-rec-hero.is-pin .lv3-rec-hero-glow{opacity:1}
.lv3-rec-hero-chip{position:relative;display:inline-flex;align-items:center;gap:8px;align-self:flex-start;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;padding:7px 13px;background:rgba(255,0,94,.14);border:1px solid color-mix(in srgb,var(--pink-500) 40%,transparent);border-radius:var(--r-pill)}
.lv3-rec-hero-rank{position:relative;font-family:var(--font-display);font-weight:900;font-size:clamp(4.6rem,8vw,7rem);line-height:.82;letter-spacing:-.04em;background:linear-gradient(120deg,#FF005E,#FF6600);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-top:6px}
.lv3-rec-hero-t{position:relative;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.65rem;line-height:1;letter-spacing:-.01em;color:#fff}
.lv3-rec-hero-scope{position:relative;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3-rec-meter{position:relative;height:6px;border-radius:var(--r-pill);background:rgba(255,255,255,.08);overflow:visible;margin-top:14px}
.lv3-rec-meter.is-hero{max-width:none}
.lv3-rec-meter-fill{display:block;height:100%;border-radius:var(--r-pill);background:var(--acc);box-shadow:0 0 10px 0 color-mix(in srgb,var(--acc) 80%,transparent),0 0 22px -4px var(--acc);transition:width 1.1s var(--ease) .2s;animation:lv3recpulse 3s ease-in-out infinite}
.lv3-rec-meter.is-hero .lv3-rec-meter-fill{background:#FF005E;box-shadow:0 0 12px 0 rgba(255,0,94,.85),0 0 30px -2px rgba(255,0,94,.9)}
@keyframes lv3recpulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.22)}}
.lv3-rec-cue{position:relative;display:inline-flex;align-items:center;gap:7px;margin-top:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);transition:color .25s}
.lv3-rec-hero:hover .lv3-rec-cue,.lv3-rec-hero.is-pin .lv3-rec-cue{color:var(--pink-400)}
.lv3-rec-list{position:relative;display:flex;flex-direction:column;justify-content:center;padding:20px 44px}
.lv3-rec-rrow{position:relative;text-align:left;width:100%;display:flex;align-items:center;gap:22px;padding:20px 0;border:0;border-bottom:1px solid var(--ink-700);background:transparent;cursor:pointer;opacity:0;transform:translateX(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.lv3-rec-rrow:last-child{border-bottom:0}
.lv3-rec-rrow.is-in{opacity:1;transform:none}
.lv3-rec-rrank{flex:none;width:96px;font-family:var(--font-display);font-weight:900;font-size:1.7rem;line-height:.9;letter-spacing:-.02em;color:#fff;text-shadow:0 0 14px rgba(255,255,255,.22);transition:color .3s var(--ease),text-shadow .3s var(--ease)}
.lv3-rec-rrow:hover .lv3-rec-rrank,.lv3-rec-rrow.is-pin .lv3-rec-rrank{color:var(--acc);text-shadow:0 0 20px color-mix(in srgb,var(--acc) 75%,transparent)}
.lv3-rec-rbody{flex:1;display:flex;flex-direction:column;gap:10px}
.lv3-rec-rtop{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.lv3-rec-rt{font-family:var(--font-sans);font-size:1.04rem;font-weight:600;color:#fff}
.lv3-rec-rscope{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-rec-rcue{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.05);border:1px solid var(--ink-600);color:var(--fg-on-dark-3);transition:background .25s,color .25s,border-color .25s}
.lv3-rec-rrow:hover .lv3-rec-rcue,.lv3-rec-rrow.is-pin .lv3-rec-rcue{background:color-mix(in srgb,var(--acc) 18%,transparent);border-color:color-mix(in srgb,var(--acc) 50%,transparent);color:#fff}
.lv3-rec-pop{position:absolute;z-index:6;left:44px;right:44px;bottom:calc(100% - 4px);padding:18px 20px;display:flex;flex-direction:column;gap:8px;background:linear-gradient(165deg,rgba(34,37,46,.99),rgba(16,18,23,.99));border:1px solid color-mix(in srgb,var(--acc) 46%,var(--ink-600));border-radius:var(--r-md);box-shadow:0 30px 70px -28px rgba(0,0,0,.92),0 0 0 1px color-mix(in srgb,var(--acc) 18%,transparent);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.lv3-rec-rrow .lv3-rec-pop{left:0;right:0}
.lv3-rec-rrow:hover .lv3-rec-pop,.lv3-rec-rrow.is-pin .lv3-rec-pop,.lv3-rec-hero:hover .lv3-rec-pop,.lv3-rec-hero.is-pin .lv3-rec-pop{opacity:1;transform:none}
.lv3-rec-hero .lv3-rec-pop{left:44px;right:44px;bottom:40px;top:auto}
.lv3-rec-pop-k{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.lv3-rec-pop-d{font-family:var(--font-sans);font-size:1rem;line-height:1.6;color:#EDEFF3}

/* ---- map-based recognition composition (lv3-rec2) ---- */
.lv3-rec2{position:relative;height:472px;margin-top:0}
.lv3-rec2.is-in .lv3-rec2-node{opacity:1}
.lv3-rec2-field{position:absolute;inset:-6% -2% 0;background-image:radial-gradient(circle,rgba(10,11,13,.2) 1px,transparent 1.7px);background-size:21px 21px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 50% 44%,#000 20%,transparent 72%);mask-image:radial-gradient(ellipse 60% 70% at 50% 44%,#000 20%,transparent 72%);opacity:.5;pointer-events:none}
.lv3-rec2-mapclip{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}
.lv3-rec2-map{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(900px,82%);height:452px;pointer-events:none;opacity:.06}parent 86%);mask-image:radial-gradient(ellipse 58% 70% at 50% 50%,#000 42%,transparent 86%)}
.lv3-rec2-grat{fill:none;stroke:rgba(10,11,13,.1);stroke-width:1}
.lv3-rec2-grat line{stroke:rgba(10,11,13,.08)}
.lv3-rec2-na{fill:#1b1e24;stroke:none}
.lv3-rec2-orbits{position:absolute;left:50%;top:46%;width:0;height:0;pointer-events:none}
.lv3-rec2-orbits i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(10,11,13,.08)}
.lv3-rec2-orbits i:nth-child(1){width:360px;height:360px}
.lv3-rec2-orbits i:nth-child(2){width:520px;height:520px;border-style:dashed;border-color:rgba(10,11,13,.06);animation:lv3recspin 80s linear infinite}
.lv3-rec2-orbits i:nth-child(3){width:680px;height:680px}
@keyframes lv3recspin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.lv3-rec2-paths{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;overflow:visible}
.lv3-rec2-path{fill:none;stroke:var(--acc);stroke-width:1.6;stroke-dasharray:2 8;stroke-linecap:round;opacity:.55;animation:lv3recdash 22s linear infinite}
@keyframes lv3recdash{to{stroke-dashoffset:-220}}

.lv3-rec2-core{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);z-index:4;width:268px;height:268px;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.lv3-rec2-core-glow{position:absolute;inset:-7%;border-radius:50%;background:radial-gradient(circle,rgba(255,0,94,.26),rgba(255,0,94,.07) 50%,transparent 70%);filter:blur(18px);animation:lv3recbreathe 6.5s ease-in-out infinite;pointer-events:none}
@keyframes lv3recbreathe{0%,100%{transform:scale(.94);opacity:.5}50%{transform:scale(1.08);opacity:.78}}
.lv3-rec2-core-ring{position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(255,0,94,.34);box-shadow:0 0 18px -3px rgba(255,0,94,.55);pointer-events:none}
.lv3-rec2-core-in{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 34%,#2a0f18,#0b0b0f 72%);border:2px solid rgba(255,0,94,.55);box-shadow:inset 0 0 38px -12px rgba(255,0,94,.45),0 0 30px -8px rgba(255,0,94,.42);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.lv3-rec2-core-crown{margin-bottom:2px}
.lv3-rec2-core-rank{font-family:var(--font-display);font-weight:900;font-size:4.3rem;line-height:.78;letter-spacing:-.04em;background:linear-gradient(120deg,#FF3D81,#FF005E);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lv3-rec2-core-div{width:56px;height:1px;background:rgba(255,255,255,.24);margin:9px 0 8px}
.lv3-rec2-core-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.05rem;line-height:1.06;letter-spacing:.005em;color:#fff}
.lv3-rec2-core-scope{display:inline-flex;align-items:center;gap:5px;margin-top:8px;font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3-rec2-core-cue{position:absolute;bottom:-30px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-light-3);white-space:nowrap;transition:color .25s}
.lv3-rec2-core:hover .lv3-rec2-core-cue,.lv3-rec2-core.is-pin .lv3-rec2-core-cue{color:var(--pink-500)}

.lv3-rec2-node{position:absolute;transform:translate(-50%,-50%);z-index:3;display:flex;align-items:center;gap:16px;border:0;background:none;cursor:pointer;padding:0;opacity:0;transition:opacity .6s var(--ease)}
.lv3-rec2-node.is-left{flex-direction:row-reverse}
.lv3-rec2-node.is-right{flex-direction:row}
.lv3-rec2-marker{position:relative;width:48px;height:48px;flex:none}
.lv3-rec2-marker i{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%}
.lv3-rec2-marker i:nth-child(1){width:48px;height:48px;border:1px solid color-mix(in srgb,var(--acc) 38%,transparent);background:color-mix(in srgb,var(--acc) 8%,transparent);animation:lv3recmpulse 3s ease-in-out infinite}
.lv3-rec2-marker i:nth-child(2){width:27px;height:27px;border:1.5px solid color-mix(in srgb,var(--acc) 62%,transparent);background:color-mix(in srgb,var(--acc) 14%,transparent)}
.lv3-rec2-marker i:nth-child(3){width:12px;height:12px;background:var(--acc);box-shadow:0 0 12px 2px color-mix(in srgb,var(--acc) 80%,transparent);transition:box-shadow .3s}
@keyframes lv3recmpulse{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.7}50%{transform:translate(-50%,-50%) scale(1.16);opacity:.28}}
.lv3-rec2-node:hover .lv3-rec2-marker i:nth-child(3),.lv3-rec2-node.is-pin .lv3-rec2-marker i:nth-child(3){box-shadow:0 0 20px 5px color-mix(in srgb,var(--acc) 90%,transparent)}
.lv3-rec2-label{display:flex;flex-direction:column;gap:2px}
.lv3-rec2-node.is-left .lv3-rec2-label{align-items:flex-end;text-align:right}
.lv3-rec2-node.is-right .lv3-rec2-label{align-items:flex-start;text-align:left}
.lv3-rec2-rank{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--acc)}
.lv3-rec2-name{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.2rem;line-height:1.02;letter-spacing:-.005em;color:var(--fg-on-light);max-width:13ch}
.lv3-rec2-scope{display:inline-flex;align-items:center;gap:5px;margin-top:4px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3-rec2-pop{position:absolute;z-index:8;width:268px;bottom:calc(100% + 14px);padding:16px 18px;display:flex;flex-direction:column;gap:7px;background:linear-gradient(165deg,rgba(34,37,46,.99),rgba(16,18,23,.99));border:1px solid color-mix(in srgb,var(--acc) 46%,var(--ink-600));border-radius:var(--r-md);box-shadow:0 30px 70px -28px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--acc) 16%,transparent);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.lv3-rec2-node.is-left .lv3-rec2-pop{right:0}
.lv3-rec2-node.is-right .lv3-rec2-pop{left:0}
.lv3-rec2-pop.is-core{width:304px;left:50%;transform:translateX(-50%) translateY(8px);bottom:calc(100% + 20px)}
.lv3-rec2-node:hover .lv3-rec2-pop,.lv3-rec2-node.is-pin .lv3-rec2-pop,.lv3-rec2-core:hover .lv3-rec2-pop,.lv3-rec2-core.is-pin .lv3-rec2-pop{opacity:1;transform:translateY(0);pointer-events:auto}
.lv3-rec2-core:hover .lv3-rec2-pop.is-core,.lv3-rec2-core.is-pin .lv3-rec2-pop.is-core{transform:translateX(-50%) translateY(0)}
.lv3-rec2-pop-k{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
/* Issue 252: lighter purple for the Morpheus8 node's WHY IT MATTERS label — clearly higher contrast
   against the dark popup than the base #8335C1. Colour only; size/weight/spacing/position unchanged. */
.lv3-rec2-pop-k--lilac{color:#C6A8F0}
.lv3-rec2-pop-d{font-family:var(--font-sans);font-size:.92rem;line-height:1.55;color:#EDEFF3}
.lv3-rec2-foot{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-light-3);margin:0}

/* =================================================================
   FULL RESULTS (cinematic, open graph, dark)
   ================================================================= */
.lv3-results{background:var(--ink-900)}
.lv3-results-eb{margin-bottom:8px}
.lv3-rc{position:relative}
.lv3-rc-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:14px;flex-wrap:wrap}
.lv3-rc-headwrap{animation:lv3rise .4s var(--ease)}
.lv3-rc-unit{display:block;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.lv3-rc-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.2rem,3.6vw,3.4rem);line-height:.98;letter-spacing:-.01em;color:#fff;margin:0;max-width:18ch}
.lv3-rc-tabs{display:flex;gap:10px;flex-wrap:wrap}
.lv3-rc-tab{position:relative;text-align:left;display:flex;flex-direction:column;gap:3px;padding:14px 18px;background:rgba(255,255,255,.025);border:1px solid var(--ink-600);border-radius:var(--r-md);cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease);min-width:120px}
.lv3-rc-tab:hover{transform:translateY(-2px)}
.lv3-rc-tab.is-sel{background:color-mix(in srgb,var(--acc) 14%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.lv3-rc-tab-n{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:.9;letter-spacing:-.02em;color:#fff;font-variant-numeric:tabular-nums;transition:color .25s}
.lv3-rc-tab.is-sel .lv3-rc-tab-n{color:#fff;text-shadow:0 0 20px color-mix(in srgb,var(--acc) 60%,transparent)}
.lv3-rc-tab:focus{outline:none}
.lv3-rc-tab:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--acc) 55%,transparent)}
.lv3-rc--center .lv3-rc-top{flex-direction:column;align-items:center;text-align:center;gap:26px}
.lv3-rc--center .lv3-rc-h{margin-inline:auto}
.lv3-rc--center .lv3-rc-unit{text-align:center}
.lv3-rc--center .lv3-rc-tabs{justify-content:center}
.lv3-rc-tab-l{font-family:var(--font-mono);font-size:9.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-rc-plot{position:relative;margin-top:6px;animation:lv3plotfade .7s var(--ease)}
@keyframes lv3plotfade{from{opacity:0}to{opacity:1}}
.lv3-rc-svg{width:100%;height:360px;display:block;overflow:visible}
.lv3-rc-grid{stroke:rgba(255,255,255,.05);stroke-width:1}
.lv3-rc-area{opacity:0;animation:lv3fade 2.4s var(--ease) .6s forwards}
.lv3-rc-line{stroke-dasharray:3000;stroke-dashoffset:3000;filter:drop-shadow(0 6px 18px color-mix(in srgb,var(--acc) 45%,transparent))}
.lv3-rc-svg.is-play .lv3-rc-line{animation:lv3draw 5s var(--ease) .15s forwards}
.lv3-rc-bar{transform:scaleY(0);transform-box:fill-box;transform-origin:50% 100%}
.lv3-rc-svg.is-play .lv3-rc-bar{animation:lv3grow 3.6s var(--ease) forwards}
@keyframes lv3grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.lv3-rc-tip{opacity:0;animation:lv3fade .5s var(--ease) 4.6s forwards;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}
.lv3-rc-ping{transform-origin:center;animation:lv3rcping 2.4s ease-out 4.8s infinite}
@keyframes lv3rcping{0%{opacity:.4;r:9}70%,100%{opacity:0;r:22}}
.lv3-rc-axis{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3-rc-axis-mid{color:var(--fg-on-dark-3)}

/* =================================================================
   UX/UI WEBSITE SHOWCASE
   ================================================================= */
.lv3-web{background:var(--paper-2)}
.lv3-web-head{max-width:64ch;margin-bottom:48px}
.lv3-web-lede{margin-top:22px;max-width:58ch}
.lv3-web-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:center}
.lv3-web-stage{position:relative}
.lv3-web-stage-glow{position:absolute;inset:-8%;background:radial-gradient(circle at 50% 50%,rgba(255,0,94,.16),transparent 64%);filter:blur(20px);pointer-events:none}
.lv3-web-stage img{position:relative;width:81%;margin:-14px auto 0;display:block;filter:drop-shadow(0 40px 80px rgba(10,11,13,.3))}
.lv3-web-side{display:flex;flex-direction:column;gap:24px}
.lv3-web-point{display:flex;align-items:flex-start;gap:16px}
.lv3-web-num{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:var(--pink-500);line-height:1;flex:none;width:40px}
.lv3-web-point-t{display:block;font-family:var(--font-sans);font-size:1.05rem;font-weight:600;color:var(--fg-on-light);margin-bottom:4px}
.lv3-web-point-d{display:block;font-family:var(--font-sans);font-size:.94rem;line-height:1.5;color:var(--fg-on-light-2)}
.lv3-web-qr{display:flex;align-items:center;gap:16px;margin-top:6px;padding-top:24px;border-top:1px solid var(--line-200)}
.lv3-qr{width:80px;height:80px;border-radius:10px;background:#fff;padding:6px;flex:none;border:1px solid var(--line-200);box-shadow:var(--shadow-sm)}
.lv3-qr-copy{display:flex;flex-direction:column;gap:4px}
.lv3-qr-k{font-family:var(--font-sans);font-size:1rem;font-weight:600;color:var(--fg-on-light)}
.lv3-qr-s{font-family:var(--font-sans);font-size:.9rem;line-height:1.45;color:var(--fg-on-light-2)}

/* =================================================================
   CATEGORY EXPANSION — THREADLIFTDOCTOR
   ================================================================= */
.lv3-expand{background:var(--ink-900);overflow:hidden}
.lv3-expand-na{position:absolute;top:-2%;right:-8%;width:27%;height:106%;background:radial-gradient(circle at 80% 48%,rgba(131,53,193,.32),rgba(255,0,94,.08) 34%,transparent 50%);filter:blur(22px);pointer-events:none;z-index:1}
.lv3-expand-in{display:grid;grid-template-columns:1fr .92fr;gap:52px;align-items:center}
.lv3-expand-copy{max-width:560px}
.lv3-expand-proof{position:relative;display:inline-flex;align-items:center;gap:14px;margin:30px 0 4px;padding:14px 22px;background:rgba(255,0,94,.06);border:1px solid color-mix(in srgb,var(--pink-500) 42%,transparent);border-radius:var(--r-md)}
.lv3-expand-proof-ic{flex:none;width:34px;height:34px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:rgba(255,0,94,.16);border:1px solid color-mix(in srgb,var(--pink-500) 36%,transparent)}
.lv3-expand-proof-body{display:flex;flex-direction:column;gap:3px}
.lv3-expand-proof-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.12rem;line-height:1;letter-spacing:-.005em;color:#fff}
.lv3-expand-proof-scope{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-400)}
.lv3-expand-foot{display:flex;align-items:center;gap:22px;margin-top:28px;flex-wrap:wrap}
.lv3-expand-foot .ds-btn--dark{border:1px solid var(--ink-500)}
.lv3-expand-foot .ds-btn--dark:hover{border-color:#fff}
.lv3-expand-qr{display:flex;align-items:center;gap:12px}
.lv3-expand-qr-img{width:58px;height:58px;border-radius:8px;background:#fff;padding:5px;flex:none;border:1px solid var(--ink-500)}
.lv3-expand-qr-s{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-2);line-height:1.5}
.lv3-expand-vis{position:relative;display:flex;align-items:center;justify-content:center;padding:6px}
.lv3-expand-phonehero-glow{position:absolute;inset:-2% 16%;background:radial-gradient(circle at 52% 48%,rgba(131,53,193,.4),rgba(131,53,193,.14) 44%,transparent 62%);filter:blur(26px);pointer-events:none}
.lv3-expand-phonehero{position:relative;width:auto;height:clamp(440px,50vw,620px);max-width:100%;display:block;filter:drop-shadow(0 50px 84px rgba(0,0,0,.72))}
.lv3-expand-cta{display:flex;justify-content:center;margin-top:18px;position:relative;z-index:2}

/* =================================================================
   WHY WORK WITH MSHRM (manifesto, no boxes)
   ================================================================= */
.lv3-why{background:var(--paper)}
.lv3-why-head{max-width:70ch;margin-bottom:30px}
.lv3-why-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:clamp(2.4rem,4.6vw,4rem);line-height:.96;letter-spacing:-.01em;color:var(--fg-on-light);margin:18px 0 0}
.lv3-why-lede{font-family:var(--font-sans);font-size:1.18rem;line-height:1.6;color:var(--fg-on-light-2);margin:26px 0 0;max-width:60ch}
.lv3-why-list{display:grid;grid-template-columns:1fr 1fr;gap:0 48px}
.lv3-why-item{display:grid;grid-template-columns:auto auto 1fr;gap:16px;align-items:start;padding:32px 0 30px;border-top:1px solid var(--line-200);transition:transform .3s var(--ease),border-top-color .3s var(--ease)}
.lv3-why-item:hover{transform:translateY(-3px);border-top-color:var(--pink-500)}
.lv3-why-num{font-family:var(--font-display);font-weight:800;font-size:1.5rem;line-height:1;color:var(--line-300);font-variant-numeric:tabular-nums;transition:color .3s var(--ease)}
.lv3-why-item:hover .lv3-why-num{color:var(--fg-on-light)}
.lv3-why-ic{width:44px;height:44px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--pink-100);flex:none;transition:background .3s var(--ease),transform .3s var(--ease)}
.lv3-why-item:hover .lv3-why-ic{background:var(--pink-500);transform:scale(1.06)}
.lv3-why-item:hover .lv3-why-ic svg{stroke:#fff!important}
.lv3-why-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.25rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 9px;line-height:1}
.lv3-why-d{font-family:var(--font-sans);font-size:.98rem;line-height:1.55;color:var(--fg-on-light-2);margin:0}
.lv3-why-cta{display:flex;gap:14px;align-items:center;justify-content:flex-start;margin-top:48px;flex-wrap:wrap}
.lv3-why-cta .ds-btn--primary{box-shadow:none}
.lv3-why-cta .ds-btn--primary:hover{box-shadow:none}

/* =================================================================
   FINAL CTA (smooth blended glow)
   ================================================================= */
.lv3-cta{background:var(--ink-900);text-align:center;overflow:hidden;position:relative}
.lv3-cta-glow{position:absolute;top:50%;left:50%;width:760px;height:560px;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.5),rgba(255,255,255,.14) 42%,transparent 70%);filter:blur(68px);border-radius:50%;animation:lv3ctabreathe-d 6.5s ease-in-out infinite}
@keyframes lv3ctabreathe{0%,100%{transform:translate(-50%,-50%) scale(.74);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.18);opacity:1}}
@keyframes lv3ctabreathe-d{0%,100%{transform:translate(-50%,-50%) scale(.74);opacity:.42}50%{transform:translate(-50%,-50%) scale(1.18);opacity:.85}}
.lv3-cta-in{position:relative;z-index:3}
.lv3-cta-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(2.8rem,6vw,5.6rem);line-height:.9;letter-spacing:-.02em;color:#fff;margin:18px 0 0}
.lv3-cta-sub{font-family:var(--font-sans);font-size:1.16rem;line-height:1.55;color:var(--fg-on-dark-2);max-width:50ch;margin:24px auto 0}
.lv3-cta-row{display:flex;gap:14px;justify-content:center;margin-top:36px;flex-wrap:wrap}

/* =================================================================
   DESKTOP FOOTER — fuller column rhythm (scoped to this page).
   Links spaced so the 6-item columns extend to align near the bottom
   of the CTA buttons; Contact keeps the same rhythm (just fewer items).
   ================================================================= */
@media (min-width:1000px){
  .lv3-root .d-footer-col{min-height:372px}
  .lv3-root .d-footer-col a,.lv3-root .d-footer-phone{margin-bottom:41px}
  .lv3-root .d-footer-h{margin-bottom:32px}
}

/* =================================================================
   RESPONSIVE — desktop kit shrink
   ================================================================= */
@media (max-width:1100px){
  .lv3-proof{grid-template-columns:repeat(2,1fr);gap:24px 0}
  .lv3-fw{grid-template-columns:1fr;gap:40px}
  .lv3-rec{grid-template-columns:1fr}
  .lv3-built-grid{grid-template-columns:repeat(2,1fr)}
  .lv3-why-list{grid-template-columns:1fr;gap:0}
}

/* =================================================================
   ============  MOBILE  (lv3m-*, phone is a fixed 390px div)  =====
   ================================================================= */
.lv3m-root{background:var(--paper)}
.lv3m-root .ds-accent{color:var(--pink-500)}
/* Issues 96-98 + 100: larger, more readable lede across phases + Why section. */
.lv3m-lede{font-family:var(--font-sans);font-size:1.12rem;line-height:1.6;color:var(--fg-on-light-2);margin:1rem 0 0}
.lv3m-lede--ondark{color:var(--fg-on-dark-2)}
/* Issue 93: larger supporting paragraph. */
.lv3m-sub-ondark{font-family:var(--font-sans);font-size:1.12rem;line-height:1.55;color:var(--fg-on-dark-2);margin:0.875rem 0 0}
/* Issue 93: tighter line grouping so "revenue." sits with "Traffic became"; revenue +10%. */
.lv3m-gsec-h{line-height:.98}
.lv3m-gsec-h .ds-accent{line-height:.98;font-size:1.1em}
.lv3m-gsec{padding-top:3.5rem}
.lv3m-challenge{padding-bottom:3.875rem}
.lv3m-points{list-style:none;margin:1.375rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.6875rem}
.lv3m-points li{display:flex;align-items:center;gap:0.625rem;font-family:var(--font-sans);font-size:.96rem;font-weight:500;color:var(--fg-on-light)}
.lv3m-phase-eb{display:inline-flex;align-items:center;gap:0.5625rem;margin:0}
.lv3m-phase-eb-num{font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.lv3m-phase-eb-dot{width:0.3125rem;height:0.3125rem;border-radius:50%;flex:none}
.lv3m-phase-eb-k{font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

/* hero */
.lv3m-hero{position:relative;background:var(--ink-900);overflow:hidden;padding:4rem 1.375rem 1.875rem}
.lv3m-hero-glow{position:absolute;top:2%;right:-20%;width:90%;height:60%;background:radial-gradient(circle at 60% 40%,rgba(255,0,94,.34),rgba(255,102,0,.13) 46%,transparent 72%);filter:blur(20px);pointer-events:none;z-index:1}
.lv3m-hero-top{position:relative;z-index:3;display:flex;align-items:center;gap:0.875rem;margin-bottom:1.375rem}
.lv3m-back{width:2.375rem;height:2.375rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid var(--ink-600);cursor:pointer;flex:none}
.lv3m-hero-eb{display:inline-flex;align-items:center;gap:0.5625rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3m-hero-art-wrap{position:relative;z-index:2;display:flex;justify-content:center;margin:0.25rem 0 1.375rem}
.lv3m-hero-art-glow{position:absolute;inset:-8% 4%;background:radial-gradient(circle at 54% 46%,rgba(255,0,94,.3),transparent 64%);filter:blur(22px);pointer-events:none}
.lv3m-hero-art{position:relative;width:78%;max-width:17.5rem;border-radius:var(--r-md);filter:drop-shadow(0 30px 56px rgba(0,0,0,.7));-webkit-mask-image:radial-gradient(125% 122% at 50% 44%,#000 70%,transparent 100%);mask-image:radial-gradient(125% 122% at 50% 44%,#000 70%,transparent 100%)}
.lv3m-hero-content{position:relative;z-index:3}
.lv3m-hero-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:3.5rem;line-height:.84;letter-spacing:-.02em;color:#fff;margin:0 0 1rem;display:flex;flex-direction:column}
/* Issue 10: Lip Doctor hero title on ONE line ("THE LIP DOCTOR"). Largest strong size
   that fits cleanly 320-480 via a viewport clamp + nowrap; reclaimed vertical space pulls
   the lead/divider/meta upward (smaller bottom margin). Lip-Doctor scoped only. */
/* Issue 90: larger title that extends closer to the available width (still one line). */
.lv3m-hero-h--1line{display:block;white-space:nowrap;flex-direction:row;font-size:clamp(2.1rem,12.8vw,3.55rem);line-height:.9;margin-bottom:0.75rem;text-align:center}
/* Issue 16B: Lip Doctor hero starts too low — lift the whole composition up (safe-area
   aware so the notch is still cleared). Lip-Doctor scoped. */
.lv3m-hero--ld{padding-top:max(2.375rem,calc(env(safe-area-inset-top) + 0.625rem))}
/* Issue 16A: the portrait's dark left edge blends into the near-black page. A very subtle,
   soft warm lift sits BEHIND the left of the portrait so its edge stays visible — no
   border/halo/cutout/rectangle, premium and natural. Lip-Doctor scoped. */
.lv3m-hero--ld .lv3m-hero-art-wrap::before{content:"";position:absolute;z-index:0;left:2%;top:4%;width:46%;height:90%;border-radius:50%;background:radial-gradient(ellipse at 42% 50%,rgba(255,238,232,.10),rgba(255,238,232,.04) 48%,transparent 72%);filter:blur(20px);pointer-events:none}
/* Issue 18: shared case-study top-meta system, +~15-20%, vertically centred. Applies to
   ALL six case studies (Lip Doctor/Smile/TLKSHOP/Fastball/FERKNOT/VitaminTea) via the
   shared classes; each page keeps its own accent on the dot. */
.lv3m-hero-top{align-items:center;gap:0.875rem}
.lv3m-hero-top .lv3m-back,.lv3m-hero-top .vt-m-back{width:2.75rem;height:2.75rem}
.lv3m-hero-top .lv3m-back svg,.lv3m-hero-top .vt-m-back svg{width:1.1875rem;height:1.1875rem}
.lv3m-hero-top .lv3m-hero-eb,.lv3m-hero-top .vt-m-hero-eb{font-size:0.72rem;gap:0.625rem;line-height:1.1;letter-spacing:.05em}
.lv3m-hero-top .lv3-eb-dot,.lv3m-hero-top .lv3m-eb-dot,.lv3m-hero-top .vt-eb-dot{width:11px;height:11px}
.lv3m-hero-lead{font-family:var(--font-sans);font-size:1.08rem;line-height:1.5;color:var(--fg-on-dark);margin:0 0 1.5rem}
.lv3m-hero-meta{display:flex;flex-direction:column;gap:0.75rem;margin:0 0 1.625rem;padding:1.125rem 0;border-top:1px solid var(--ink-600);border-bottom:1px solid var(--ink-600)}
.lv3m-hero-meta>div{display:flex;align-items:baseline;justify-content:space-between;gap:0.875rem}
/* Issue 91: meta labels +~34% and brighter for phone readability. */
.lv3m-meta-k{font-family:var(--font-mono);font-size:0.84rem;letter-spacing:.13em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3m-meta-v{font-family:var(--font-sans);font-size:.9rem;font-weight:600;color:#fff;text-align:right}
.lv3m-hero-cta{display:flex;flex-direction:column;gap:0.6875rem;margin-top:1.875rem}
.lv3m-hero-cta .ds-btn{width:100%;justify-content:center;white-space:nowrap;font-size:0.78125rem;letter-spacing:.04em;padding-left:1.125rem;padding-right:1.125rem}

/* ticker (dark, home-style) — logos by default; tap reveals centred white AS FEATURED IN overlay */
.lv3m-featured-wrap{background:var(--ink-900);padding:0}
.lv3m-featured{position:relative;display:block;width:100%;background:var(--ink-900);border:0;border-top:1px solid var(--ink-600);border-bottom:1px solid var(--ink-600);padding:0.875rem 0;overflow:hidden;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lv3m-featured-row{transition:opacity .35s var(--ease),filter .35s var(--ease)}
.lv3m-featured.is-active .lv3m-featured-row{opacity:.16;filter:blur(1px)}
.lv3m-featured-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#fff;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}
.lv3m-featured.is-active .lv3m-featured-overlay{opacity:1}
.lv3m-featured-track{display:flex;width:max-content;white-space:nowrap;animation:tick 24s linear infinite}
.lv3m-featured-item{display:inline-flex;align-items:center;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.125rem;color:#fff}
.lv3m-featured-dot{width:0.3125rem;height:0.3125rem;border-radius:50%;background:var(--pink-500);margin:0 1.125rem;flex:none}
/* tighten the gap before Proof Up Front */
.lv3m-proof{padding-top:1.375rem}

/* section bg tones */
.lv3m-results{background:var(--ink-900);overflow:hidden}
.lv3m-challenge{background:var(--paper)}
.lv3m-gsec{background:var(--ink-900);overflow:hidden}
.lv3m-fwsec{background:var(--ink-900);overflow:hidden}
.lv3m-built{background:var(--paper)}
.lv3m-phase--light{background:var(--paper)}
.lv3m-phase--warm{background:var(--paper-2)}
.lv3m-conv{background:var(--ink-900);overflow:hidden}
.lv3m-tlsec{background:var(--ink-900);overflow:hidden}
.lv3m-recog{background:var(--paper);padding-top:3.25rem}
.lv3m-web{background:var(--paper-2)}
.lv3m-expand{background:var(--ink-900);overflow:hidden}
.lv3m-why{background:var(--paper)}
.lv3m-cta{background:var(--ink-900);text-align:center;overflow:hidden;position:relative}

.lv3m-vis-card{margin-top:1.375rem;background:var(--paper);border:1px solid var(--line-200);border-radius:var(--r-md);padding:1.125rem 1.125rem;box-shadow:var(--shadow-md)}
.lv3m-vis-card--dark{background:linear-gradient(165deg,rgba(30,33,39,.9),rgba(15,17,21,.92));border-color:var(--ink-600)}
.lv3m-vis-head{display:flex;align-items:center;justify-content:space-between;gap:0.625rem;margin-bottom:1rem}
.lv3m-vis-head span:first-child{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3m-vis-card--dark .lv3m-vis-head span:first-child{color:var(--fg-on-dark-3)}
.lv3m-vis-peak{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pink-500)}
.lv3m-vis-peak.is-teal{color:#22C3D0}
.lv3m-inline-cta{margin-top:1.375rem;width:100%;justify-content:center}

/* challenge */
.lv3m-rebuild-h{display:block;font-family:var(--font-mono);font-size:1.15rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-2);margin:1.875rem 0 0.625rem}
.lv3m-rebuild{list-style:none;margin:0;padding:0}
.lv3m-rebuild-row{display:grid;grid-template-columns:auto 1fr;gap:0.8125rem;align-items:center;padding:0.9375rem 0.125rem;border-top:1px solid var(--line-100)}
.lv3m-rebuild-row:last-child{border-bottom:1px solid var(--line-100)}
.lv3m-rebuild-ic{width:2.25rem;height:2.25rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--pink-100);flex:none}
.lv3m-rebuild-t{display:block;font-family:var(--font-sans);font-size:.98rem;font-weight:600;color:var(--fg-on-light)}
.lv3m-rebuild-d{display:block;font-family:var(--font-sans);font-size:.84rem;line-height:1.35;color:var(--fg-on-light-2);margin-top:0.125rem}
.lv3m-rebuild-list{margin-top:0.375rem}

/* built grid */
.lv3m-built-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-top:1.875rem}
.lv3m-built-card{display:flex;flex-direction:column;height:100%;background:var(--paper);border:1px solid var(--line-200);border-radius:var(--r-md);padding:1.125rem 1rem}
.lv3m-built-ic{width:2.625rem;height:2.625rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,#fff);margin-bottom:0.875rem}
.lv3m-built-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 0.5rem;line-height:1.05}
.lv3m-built-d{font-family:var(--font-sans);font-size:.84rem;line-height:1.45;color:var(--fg-on-light-2);margin:0}
.lv3m-built-cta{margin-top:2.5rem}
.lv3m-built-cta .ds-btn{width:100%;justify-content:center}
.lv3m-built{padding-bottom:2.875rem}
/* growth-system ending CTA — outlined, with black breathing room */
.lv3m-gsec-cta{margin-top:3.25rem}
.lv3m-gsec-cta-btn{width:100%;justify-content:center}

/* conversion devices (clean, no overlap) */
.lv3m-conv-devices{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0.75rem;margin-top:1.625rem}
.lv3m-conv-desktop{position:relative;width:68%;display:block;border-radius:var(--r-sm);filter:drop-shadow(0 24px 44px rgba(0,0,0,.5))}
.lv3m-conv-phone{position:relative;width:24%;align-self:flex-end;filter:drop-shadow(0 18px 32px rgba(0,0,0,.6))}
.lv3m-qr{display:flex;align-items:center;gap:0.875rem;margin-top:1.375rem;background:rgba(255,255,255,.04);border:1px solid var(--ink-600);border-radius:var(--r-md);padding:1rem 1rem}
.lv3m-qr .lv3-qr{width:4.5rem;height:4.5rem}
.lv3m-qr .lv3-qr-k{color:#fff}
.lv3m-qr .lv3-qr-s{color:var(--fg-on-dark-2)}

/* recognition awards */
.lv3m-recog-awards{margin-top:1.875rem;padding-top:1.625rem;border-top:1px solid var(--line-100);display:flex;flex-direction:column;gap:0.875rem}
.lv3m-recog-awards-k{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3m-recog-awards-card{display:flex;align-items:center;justify-content:center;padding:1.125rem 1rem;background:var(--paper-2);border:1px solid var(--line-200);border-radius:var(--r-md)}
.lv3m-recog-awards-card img{width:100%;max-width:20rem;height:auto}

/* ---- Recognition map → clean vertical stack on mobile (phone is a div, not a
   narrow viewport, so @media can't target it; scope under .lv3m-recog) ---- */
.lv3m-recog .lv3-rec2{position:relative;height:auto;margin-top:1rem;display:flex;flex-direction:column;align-items:stretch;gap:1rem;overflow:hidden}
.lv3m-recog .lv3-rec2-orbits,.lv3m-recog .lv3-rec2-paths{display:none}
.lv3m-recog .lv3-rec2-field{opacity:.4}
.lv3m-recog .lv3-rec2-core{position:relative;left:auto;top:auto;transform:none;width:12.25rem;height:12.25rem;margin:0.5rem auto 2.25rem;flex:none}
.lv3m-recog .lv3-rec2-core-rank{font-size:3.6rem}
.lv3m-recog .lv3-rec2-core-cue{bottom:-1.75rem}
.lv3m-recog .lv3-rec2-core .lv3-rec2-pop.is-core{position:static;left:auto;width:100%;transform:none;opacity:1;pointer-events:auto;margin-top:2.625rem}
.lv3m-recog .lv3-rec2-node{position:relative !important;left:auto !important;top:auto !important;transform:none !important;opacity:1 !important;width:100%;flex-direction:row !important;flex-wrap:wrap;align-items:center;gap:0.875rem;padding:1rem 1rem 0.25rem;background:#fff;border:1px solid var(--line-200);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition-delay:0s !important}
.lv3m-recog .lv3-rec2-node .lv3-rec2-label,.lv3m-recog .lv3-rec2-node.is-left .lv3-rec2-label{align-items:flex-start;text-align:left;flex:1;min-width:0}
.lv3m-recog .lv3-rec2-name{max-width:none}
.lv3m-recog .lv3-rec2-node .lv3-rec2-pop{position:static;width:100%;opacity:1;transform:none;pointer-events:auto;box-shadow:none;background:none;border:0;border-top:1px solid var(--line-100);border-radius:0;padding:0.75rem 0;margin-top:0.375rem}
.lv3m-recog .lv3-rec2-node .lv3-rec2-pop-d{color:var(--fg-on-light-2)}
.lv3m-recog .lv3-rec2-foot{position:relative;left:auto;right:auto;bottom:auto;margin-top:0.375rem;line-height:1.5}

/* web showcase */
.lv3m-web-img{position:relative;margin-top:1.625rem}
.lv3m-web-glow{position:absolute;inset:-6%;background:radial-gradient(circle at 50% 50%,rgba(255,0,94,.14),transparent 64%);filter:blur(18px)}
.lv3m-web-img img{position:relative;width:100%;display:block;filter:drop-shadow(0 28px 54px rgba(10,11,13,.28))}

/* expansion */
.lv3m-expand-crown{display:flex;align-items:center;gap:0.75rem;margin:1.375rem 0 0;padding:0.875rem 1rem;background:rgba(255,0,94,.08);border:1px solid color-mix(in srgb,var(--pink-500) 35%,transparent);border-radius:var(--r-md)}
.lv3m-expand-crown-ic{width:2.5rem;height:2.5rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:rgba(255,0,94,.16);flex:none}
.lv3m-expand-crown-n{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.08rem;line-height:1;color:#fff}
.lv3m-expand-crown-s{display:block;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pink-400);margin-top:0.3125rem}
.lv3m-expand-devices{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0.75rem;margin-top:1.375rem}
.lv3m-expand-desktop{position:relative;width:68%;display:block;border-radius:var(--r-sm);filter:drop-shadow(0 24px 44px rgba(0,0,0,.6))}
.lv3m-expand-phone{position:relative;width:24%;align-self:flex-end;filter:drop-shadow(0 18px 34px rgba(0,0,0,.7))}

/* why */
/* Issue 100: tighter eyebrow-to-title gap. */
.lv3m-why-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2.4rem;line-height:.98;letter-spacing:-.01em;color:var(--fg-on-light);margin:0.45rem 0 0}
.lv3m-why-list{display:flex;flex-direction:column;gap:0;margin-top:1.5rem}
.lv3m-why-item{display:grid;grid-template-columns:auto auto 1fr;gap:0.8125rem;align-items:start;padding:1.375rem 0;border-top:1px solid var(--line-200)}
.lv3m-why-num{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--line-300);line-height:1}
.lv3m-why-ic{width:2.5rem;height:2.5rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--pink-100);flex:none}
.lv3m-why-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.35rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 0.4375rem;line-height:1.04}
.lv3m-why-d{font-family:var(--font-sans);font-size:1.04rem;line-height:1.55;color:var(--fg-on-light-2);margin:0}
.lv3m-why-cta{margin-top:1.625rem}
.lv3m-why-cta .ds-btn{width:100%;justify-content:center}

.lv3m-tlsec-head{text-align:center;display:flex;flex-direction:column;align-items:center}
.lv3m-tlsec-head .ds-eyebrow{justify-content:center}
.lv3m-tlsec-eb{margin-bottom:0.125rem}
.lv3m-tlsec-eb::after{content:"";width:1.375rem;height:1px;background:currentColor;opacity:.85}
.lv3m-tlsec-h{font-size:3.4rem;letter-spacing:-.03em;margin-top:1rem;line-height:.86}
.lv3m-tlsec-pill{display:inline-flex;align-items:center;gap:0.5625rem;margin-top:1.625rem;padding:0.6875rem 1.25rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03);font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2);white-space:nowrap}
.lv3m-tlsec-pill svg{flex:none}

/* cta */
.lv3m-cta-glow{position:absolute;top:50%;left:50%;width:26.25rem;height:23.75rem;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.42),rgba(255,255,255,.12) 42%,transparent 70%);filter:blur(54px);border-radius:50%;animation:lv3ctabreathe 9s ease-in-out infinite}
.lv3m-cta>div{position:relative;z-index:3}
.lv3m-cta-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:3rem;line-height:.9;letter-spacing:-.02em;color:#fff;margin:0.875rem 0 0}
.lv3m-cta-sub{font-family:var(--font-sans);font-size:1rem;line-height:1.5;color:var(--fg-on-dark-2);margin:1.125rem 0 0}
.lv3m-cta-row{display:flex;flex-direction:column;gap:0.6875rem;margin-top:1.625rem}
.lv3m-cta-row .ds-btn{width:100%;justify-content:center}

/* ---- re-scope reused desktop modules for the phone ---- */
.lv3m-root .lv3-proof{grid-template-columns:1fr 1fr;gap:1.375rem 1.125rem;margin-top:1.5rem}
.lv3m-root .lv3-proof-cell{padding:0;border-left:0}
.lv3m-root .lv3-proof-viz{height:3rem;margin-bottom:0.625rem}
.lv3m-root .lv3-proof-n{font-size:2.4rem}
.lv3m-root .lv3-proof-l{font-size:.82rem;margin-top:0.5rem}

.lv3m-root .lv3-gs{margin-top:1.625rem}
.lv3m-root .lv3-gs-main{grid-template-columns:1fr;gap:0.75rem}
.lv3m-root .lv3-gs-found{overflow:hidden}
.lv3m-root .lv3-gs-connect--found{display:none}
.lv3m-root .lv3-gs-spine{flex-direction:column;gap:0.625rem}
.lv3m-root .lv3-gs-link{display:none}
.lv3m-root .lv3-gs-node{padding:1.25rem 1.125rem;min-height:11.5rem}
.lv3m-root .lv3-gs-bracket{display:none}
.lv3m-root .lv3-gs-rails{grid-template-columns:1fr;gap:0.625rem;margin-top:0.875rem}
.lv3m-root .lv3-gs-rail-tag{display:none}
/* ===== Issue 12: Growth System mobile — stronger + more readable (mobile case studies
   only, via .lv3m-root; desktop .lv3-gs base sizes untouched). ===== */
/* Foundation */
.lv3m-root .lv3-gs-found{padding:1.5rem 1.375rem 1.375rem}
.lv3m-root .lv3-gs-found .lv3-gs-ic svg{width:2.875rem;height:2.875rem}/* Issue 93/94: icon +40% */
.lv3m-root .lv3-gs-found-tag{font-size:0.62rem}/* Issue 93: "BEFORE ANY TRAFFIC" -29% */
.lv3m-root .lv3-gs-found-list li{font-size:0.97rem;gap:0.6875rem}
.lv3m-root .lv3-gs-found-list li i{width:0.4375rem;height:0.4375rem}
.lv3m-root .lv3-gs-found-feed{font-size:0.875rem;gap:0.5rem;color:var(--acc)}/* Issue 93: "FEEDS THE ENGINE" -30% */
.lv3m-root .lv3-gs-found-feed svg{width:1.375rem;height:1.375rem}
/* Four main cards — equal size, consistent system */
.lv3m-root .lv3-gs-node .lv3-gs-ic svg{width:2.1rem;height:2.1rem}/* Issue 93/94: icon +40% */
.lv3m-root .lv3-gs-step{font-size:1.375rem}
.lv3m-root .lv3-gs-node-k{font-size:1.45rem;margin-top:1.125rem}
.lv3m-root .lv3-gs-node-m{font-size:1rem;margin-top:0.625rem}
.lv3m-root .lv3-gs-node-d{font-size:1.04rem;line-height:1.5;margin-top:0.75rem}
/* Bottom two cards — equal size */
.lv3m-root .lv3-gs-rail{min-height:8.5rem;padding:1.125rem 1.25rem;align-content:center}
.lv3m-root .lv3-gs-rail-ic{width:3rem;height:3rem}
.lv3m-root .lv3-gs-rail-ic svg{width:1.925rem;height:1.925rem}/* Issue 94: lower-card icon +40% */
.lv3m-root .lv3-gs-rail-k{font-size:1.2rem}
.lv3m-root .lv3-gs-rail-d{font-size:1rem;line-height:1.45}

.lv3m-root .lv3-fw{grid-template-columns:1fr;gap:1.875rem;margin-top:1.625rem}
.lv3m-root .lv3-fw-wheel{width:min(18.125rem,84%)}
.lv3m-root .lv3-fw-node{width:5rem;padding:0.625rem 0.375rem;gap:0.375rem}
.lv3m-root .lv3-fw-node-ic{width:2.125rem;height:2.125rem}
.lv3m-root .lv3-fw-node-k{font-size:0.59375rem}
.lv3m-root .lv3-fw-card{padding:1.5rem 1.375rem}
.lv3m-root .lv3-fw-h{font-size:1.9rem}
.lv3m-root .lv3-fw-d{font-size:.94rem}
.lv3m-root .lv3-fw-stats{gap:0.625rem}
.lv3m-root .lv3-fw-stat-v{font-size:1.3rem}
.lv3m-root .lv3-fw-stat-l{font-size:.74rem}

.lv3m-root .lv3-demand-plot{height:12.5rem}
.lv3m-root .lv3-demand-legend{gap:0.875rem;font-size:0.59375rem}
.lv3m-root .lv3-demand-axis{margin-left:0}

.lv3m-root .lv3-ret-loop{flex-direction:column;gap:0}
.lv3m-root .lv3-ret-node{flex-direction:row;justify-content:flex-start;text-align:left;gap:0.8125rem;padding:0.875rem 1rem}
.lv3m-root .lv3-ret-node .lv3-ret-ic{width:2.375rem;height:2.375rem}
.lv3m-root .lv3-ret-sub{margin-left:auto}
.lv3m-root .lv3-ret-conn{flex:0 0 24px;width:0.125rem;height:1.5rem;align-self:center}
.lv3m-root .lv3-ret-conn i{top:0;left:50%;margin-top:0;margin-left:-0.375rem}
.lv3m-root .lv3-ret-conn.is-on i{animation:lv3flowv 1.5s linear infinite}
@keyframes lv3flowv{0%{top:-10px;opacity:0}30%{opacity:1}100%{top:26px;opacity:0}}
.lv3m-root .lv3-ret-ltv-bars{height:6.25rem}

.lv3m-root .lv3-cf{grid-template-columns:1fr;gap:0.75rem}
.lv3m-root .lv3-cf-arrow{flex-direction:row;transform:rotate(90deg);align-self:center}
.lv3m-root .lv3-conv-qr{padding:1rem}

.lv3m-root .lv3-tl{padding:1.125rem 1rem 1rem;margin-top:1.5rem}
.lv3m-root .lv3-tl-reads{gap:0.5rem}
.lv3m-root .lv3-tl-read{padding:0.6875rem 0.75rem;gap:0.25rem}
.lv3m-root .lv3-tl-read-v{font-size:1.5rem}
.lv3m-root .lv3-tl-read-v i{font-size:0.5rem}
.lv3m-root .lv3-tl-svg{height:11.25rem}
.lv3m-root .lv3-tl-tick-yr{font-size:0.5625rem}
.lv3m-root .lv3-tl-tick-dot{width:1.5rem;height:1.5rem}
.lv3m-root .lv3-tl-cap-yr{font-size:1.1rem}
.lv3m-root .lv3-tl-cap-note{font-size:.9rem}

.lv3m-root .lv3-rec{grid-template-columns:1fr;gap:0.875rem;margin-top:1.5rem}
.lv3m-root .lv3-rec-feat{padding:1.625rem 1.5rem}
.lv3m-root .lv3-rec-feat-rank{font-size:3.4rem}
.lv3m-root .lv3-rec-feat-t{font-size:1.2rem}
.lv3m-root .lv3-rec-grid{grid-template-columns:1fr 1fr;gap:0.625rem}
.lv3m-root .lv3-rec-tile{padding:1.125rem 1rem;gap:0.625rem}
.lv3m-root .lv3-rec-tile-rank{font-size:1.6rem}
.lv3m-root .lv3-rec-tile-t{font-size:.88rem}

.lv3m-root .lv3-rc-top{flex-direction:column;align-items:flex-start;gap:1.25rem}
.lv3m-root .lv3-rc-h{font-size:1.8rem}
.lv3m-root .lv3-rc-tabs{gap:0.5rem;width:100%}
.lv3m-root .lv3-rc-tab{flex:1;min-width:0;padding:0.6875rem 0.75rem}
.lv3m-root .lv3-rc-tab-n{font-size:1.5rem}
.lv3m-root .lv3-rc-tab-l{font-size:0.53125rem}
.lv3m-root .lv3-rc-svg{height:13.75rem}

/* ---- mobile: v3 revision — new component re-scoping ---- */
.lv3m-root .lv3-proof-row{grid-template-columns:1fr 1fr;gap:1.625rem 1rem}
.lv3m-root .lv3-proof-cell{padding:0;border-left:0}
.lv3m-root .lv3-proof-cell::after{left:0;right:0}
.lv3m-root .lv3-proof-n{font-size:2.7rem}
.lv3m-root .lv3-proof-l{font-size:.82rem;margin-top:0.625rem}
.lv3m-root .lv3-proof-cue{font-size:0.5625rem;margin-top:0.625rem}
.lv3m-root .lv3-proof-overlay{padding:0}
.lv3m-root .lv3-proof-panel{width:calc(100% - 2rem);max-width:21.25rem;box-sizing:border-box;padding:2.375rem 1.125rem 1.125rem;max-height:82vh;overflow-y:auto}
.lv3m-root .lv3-proof-panel-h{font-size:1.4rem}
.lv3m-root .lv3-proof-panel-plot .lv3-rc-svg{height:11.25rem}
.lv3m-conv-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:0.875rem;margin-top:1.625rem}
.lv3m-conv-stage .lv3m-conv-desktop{position:relative;width:56%;display:block;border-radius:var(--r-sm);filter:drop-shadow(0 24px 42px rgba(0,0,0,.5))}
.lv3m-conv-stage .lv3m-conv-phone{position:relative;width:42%;align-self:flex-end;filter:drop-shadow(0 20px 38px rgba(0,0,0,.72))}
.lv3m-conv-phone-badge{position:absolute;top:-0.375rem;left:50%;transform:translateX(-50%);z-index:3;display:inline-flex;align-items:center;gap:0.375rem;white-space:nowrap;font-family:var(--font-mono);font-size:0.5625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:0.375rem 0.6875rem;background:rgba(10,11,13,.74);border:1px solid rgba(34,195,208,.4);border-radius:var(--r-pill)}
.lv3m-conv-phone-badge i{width:0.3125rem;height:0.3125rem;border-radius:50%;background:#22C3D0;box-shadow:0 0 7px 1px rgba(34,195,208,.8)}
.lv3m-root .lv3-cpath{flex-direction:column;gap:0.5625rem}
.lv3m-root .lv3-cpath-node{flex-direction:row;align-items:center;flex-wrap:wrap;gap:0.625rem 0.75rem;padding:0.875rem 1rem}
.lv3m-root .lv3-cpath-ic{flex:none}
.lv3m-root .lv3-cpath-k{flex:1;order:1}
.lv3m-root .lv3-cpath-v{order:2;font-size:1.5rem}
.lv3m-root .lv3-cpath-chip{order:3;width:100%}
.lv3m-root .lv3-cpath-arrow{transform:rotate(90deg);align-self:center}
.lv3m-root .lv3-rt-toggle{display:flex;width:100%}
.lv3m-root .lv3-rt-tab{flex:1;min-width:0;padding:0.625rem 0.5rem;font-size:0.625rem}
.lv3m-root .lv3-rltv{padding:1.125rem 1rem}
.lv3m-root .lv3-rltv-svg{height:12.5rem}
.lv3m-root .lv3-rec-board{grid-template-columns:1fr;margin-top:1.5rem}
.lv3m-root .lv3-rec-hero{border-right:0;border-bottom:1px solid var(--ink-700);padding:2rem 1.625rem}
.lv3m-root .lv3-rec-hero-rank{font-size:4.6rem}
.lv3m-root .lv3-rec-hero-t{font-size:1.4rem}
.lv3m-root .lv3-rec-list{padding:1.125rem 1.625rem}
.lv3m-root .lv3-rec-rrank{width:5rem;font-size:1.4rem}
.lv3m-root .lv3-rec-rt{font-size:.94rem}
.lv3m-expand-proof{position:relative;display:flex;flex-direction:column;gap:0.25rem;margin:1.375rem 0 0;padding:1.25rem 1.375rem;background:linear-gradient(135deg,rgba(255,0,94,.15),rgba(131,53,193,.1));border:1px solid color-mix(in srgb,var(--pink-500) 42%,transparent);border-radius:var(--r-md);overflow:hidden}
.lv3m-expand-proof-crown{width:2.5rem;height:2.5rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#FF005E,#FF6600);box-shadow:0 0 16px rgba(255,0,94,.6);margin-bottom:0.25rem}
.lv3m-expand-proof-rank{font-family:var(--font-display);font-weight:900;font-size:3rem;line-height:.85;letter-spacing:-.03em;color:#fff}
.lv3m-expand-proof-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.2rem;line-height:1;color:#fff}
.lv3m-expand-proof-scope{display:inline-flex;align-items:center;gap:0.375rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#FF8FB4;margin-top:0.25rem}
.lv3m-expand-phonewrap{position:relative;display:flex;justify-content:center;margin-top:1.625rem}
.lv3m-expand-phone-glow{position:absolute;inset:-6% 14%;background:radial-gradient(circle at 50% 46%,rgba(131,53,193,.32),rgba(255,0,94,.18) 46%,transparent 66%);filter:blur(26px);pointer-events:none}
/* Thread Lift Doctor phone: fill more of the mobile width. Width-driven (~78%
   of the stage) so it's large and easy to inspect, centred by the flex wrap,
   natural aspect (332×658 → ~0.505), no overflow. Was height-clamped to ~192px
   wide (~55%). */
.lv3m-expand-phonehero{position:relative;width:78%;height:auto;max-width:none;display:block;margin:0 auto;filter:drop-shadow(0 42px 66px rgba(0,0,0,.72))}
.lv3m-expand-cta{width:100%;justify-content:center;margin-top:1.625rem}

/* ---- mobile footer height trimmed ~18% (v3 only; text size unchanged) ---- */
.lv3m-root .m-footer{padding-top:2.5rem}
.lv3m-root .m-footer-logo{height:6rem;margin-bottom:0.6875rem}
.lv3m-root .m-footer-logo-link{display:block;width:fit-content;margin:0 auto;cursor:pointer}
.lv3m-root .m-footer-site{font-family:var(--font-mono);font-size:0.6875rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-500);text-decoration:none}
.lv3m-root .m-footer-site:hover{color:#FF4D8A}
.lv3m-root .m-footer-tag{margin-bottom:1rem}
.lv3m-root .m-footer-cta{gap:0.5625rem;margin-bottom:1.0625rem}
.lv3m-root .m-footer-cta .ds-btn{padding-top:0.8125rem;padding-bottom:0.8125rem}
.lv3m-root .m-footer-contact{gap:0.5rem;padding-bottom:0.9375rem}
.lv3m-root .m-footer-nav{padding:0.9375rem 0;margin-bottom:0.8125rem}
.lv3m-root .m-footer-info{padding-bottom:1.0625rem}
.lv3m-root .m-footer>.m-footer-ticker{padding:0.8125rem 0}

/* =================================================================
   MOBILE v3 — rebuilt native modules (round 3)
   ================================================================= */
@keyframes lv3mdraw{to{stroke-dashoffset:0}}
@keyframes lv3mfade{to{opacity:1}}
@keyframes lv3mpulse{0%,100%{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}

/* ---- M9 · featured ticker (logos like desktop, label above row) ---- */
.lv3m-featured-row{overflow:hidden}
.lv3m-featured-item{display:inline-flex;align-items:center;justify-content:center;padding:0 1.5rem}
.lv3m-featured-logo{height:1.4375rem;width:auto;object-fit:contain;opacity:.82}

/* ---- shared mobile chart ---- */
.lv3m-chart-svg{display:block;width:100%;height:auto}
.lv3m-chart-grid{stroke:rgba(255,255,255,.06);stroke-width:1}
.lv3m-chart-line{stroke-dasharray:1100;stroke-dashoffset:1100}
.lv3m-chart-svg.is-play .lv3m-chart-line{animation:lv3mdraw 1.2s var(--ease) forwards}
.lv3m-chart-area{opacity:0}
.lv3m-chart-svg.is-play .lv3m-chart-area{animation:lv3mfade .6s var(--ease) .5s forwards}

/* ---- M11 · Live Growth Index card ---- */
.lv3m-gi{margin-top:1.375rem;background:linear-gradient(168deg,rgba(34,30,40,.96),rgba(12,13,17,.99));border:1px solid var(--ink-600);border-radius:var(--r-xl,22px);padding:1.5rem 1.3125rem 1.375rem;box-shadow:0 40px 90px -40px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.04);position:relative;overflow:hidden}
.lv3m-gi::before{content:"";position:absolute;top:-30%;right:-20%;width:70%;height:80%;background:radial-gradient(circle at 70% 30%,rgba(255,0,94,.16),transparent 68%);pointer-events:none}
.lv3m-gi-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.lv3m-gi-eb{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.lv3m-gi-eb i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:#1FB573;box-shadow:0 0 8px 1px rgba(31,181,115,.8);animation:lv3mpulse 2s ease-in-out infinite}
.lv3m-gi-range{font-family:var(--font-mono);font-size:0.625rem;letter-spacing:.1em;color:var(--fg-on-dark-3)}
.lv3m-gi-main{position:relative;display:flex;flex-direction:column;margin-top:1rem;min-height:5.5rem}
.lv3m-gi-big{font-family:var(--font-display);font-weight:900;font-size:4.6rem;line-height:.82;letter-spacing:-.03em;color:#fff}
.lv3m-gi-big i{font-style:normal;color:#fff}
.lv3m-gi-lbl{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2);margin-top:0.75rem}
.lv3m-gi-lbl i{width:1.125rem;height:0.125rem;border-radius:0.125rem;background:var(--acc);box-shadow:0 0 8px 1px color-mix(in srgb,var(--acc) 70%,transparent)}
.lv3m-gi-chart{position:relative;margin-top:0.5rem}
/* Issue 92: paragraph beneath the graph card matches the intro body size. */
.lv3m-gi-copy{font-family:var(--font-sans);font-size:1.12rem;line-height:1.6;color:var(--fg-on-dark-2);margin:1.125rem 0 0;padding:0 0.125rem}
.lv3m-gi-cards{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0.375rem;margin-top:1.125rem}
.lv3m-gi-card{position:relative;display:flex;flex-direction:column;gap:0.3125rem;padding:0.8125rem 0.375rem 0.875rem;background:rgba(255,255,255,.03);border:1px solid var(--ink-600);border-radius:var(--r-md);cursor:pointer;text-align:left;overflow:hidden;transition:border-color .3s,background .3s}
.lv3m-gi-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0.125rem;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.lv3m-gi-card.is-sel{border-color:color-mix(in srgb,var(--acc) 55%,var(--ink-600));background:color-mix(in srgb,var(--acc) 10%,transparent)}
.lv3m-gi-card.is-sel::after{transform:scaleX(1)}
.lv3m-gi-card:active{transform:scale(.98)}
.lv3m-gi-card-v{font-family:var(--font-display);font-weight:800;font-size:1.4rem;color:#fff;line-height:1}
.lv3m-gi-card-l{font-family:var(--font-mono);font-size:0.59375rem;font-weight:600;letter-spacing:.01em;text-transform:uppercase;color:var(--fg-on-dark-2);line-height:1.28}

/* proof heading composition */
.lv3m-proof-h{font-size:3rem;line-height:.92;margin-top:0.875rem}
/* Issue 92: larger intro (matches strong mobile body size). */
.lv3m-proof-sub{font-family:var(--font-sans);font-size:1.14rem;line-height:1.55;color:var(--fg-on-dark-2);margin:0.875rem 0 0;max-width:34ch}

/* ---- M10 · Results module ---- */
.lv3m-res{margin-top:1.125rem}
.lv3m-res-unit{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.lv3m-res-h{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:2.7rem;line-height:.9;letter-spacing:-.015em;color:#fff;margin:0.625rem 0 0}
.lv3m-res-chart{margin-top:1.125rem}
.lv3m-res-axis{display:flex;justify-content:space-between;margin-top:0.5rem;font-family:var(--font-mono);font-size:0.5625rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3m-res-tiles{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem;margin-top:1.25rem}
.lv3m-res-tile{position:relative;display:flex;flex-direction:column;gap:0.3125rem;padding:1rem 0.875rem;background:rgba(255,255,255,.03);border:1px solid var(--ink-600);border-radius:var(--r-md);cursor:pointer;text-align:left;overflow:hidden;transition:border-color .3s,background .3s}
.lv3m-res-tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:0.125rem;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.lv3m-res-tile.is-sel{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}
.lv3m-res-tile.is-sel::after{transform:scaleX(1)}
.lv3m-res-tile-v{font-family:var(--font-display);font-weight:900;font-size:2rem;line-height:1;color:#fff}
.lv3m-res-tile-l{font-family:var(--font-sans);font-size:.8rem;font-weight:450;color:rgba(228,231,238,.82);line-height:1.34}
.lv3m-res-tile-dot{position:absolute;top:0.8125rem;right:0.8125rem;width:0.4375rem;height:0.4375rem;border-radius:50%;background:var(--acc);opacity:0;box-shadow:0 0 8px 1px var(--acc);transition:opacity .3s}
.lv3m-res-tile.is-sel .lv3m-res-tile-dot{opacity:1}
.lv3m-res-cta{width:100%;justify-content:center;margin-top:1.375rem}

/* ---- M12 · Full-stack accordion ---- */
.lv3m-acc{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.75rem}
.lv3m-acc-row{background:var(--paper);border:1px solid var(--line-200);border-radius:var(--r-lg);overflow:hidden;transition:border-color .3s,box-shadow .3s}
.lv3m-acc-row.is-open{border-color:color-mix(in srgb,var(--acc) 42%,var(--line-200));box-shadow:var(--shadow-sm)}
.lv3m-acc-head{display:flex;align-items:center;gap:0;width:100%;padding:0}
/* Issue 11: match the homepage accordion's stronger sizing system. */
.lv3m-acc-ic-btn{flex:none;background:none;border:0;cursor:pointer;padding:1.0625rem 0.875rem 1.0625rem 1rem;display:flex;align-items:center}
.lv3m-acc-toggle{flex:1;display:flex;align-items:center;gap:0.75rem;background:none;border:0;cursor:pointer;text-align:left;padding:1.0625rem 1rem 1.0625rem 0;min-width:0}
.lv3m-acc-ic{width:3rem;height:3rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,#fff);flex:none}
.lv3m-acc-t{flex:1;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.4rem;letter-spacing:-.005em;color:var(--fg-on-light);line-height:1.05}
.lv3m-acc-viewsys{display:inline-flex;align-items:center;gap:0.5rem;margin:0 1rem 1rem;padding-left:3.625rem;font-family:var(--font-mono);font-size:1.0rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);background:none;border:0;cursor:pointer;opacity:.85}
.lv3m-acc-viewsys:hover{opacity:1}
.lv3m-acc-chev{flex:none;display:inline-flex;transition:transform .3s var(--ease)}
.lv3m-acc-row.is-open .lv3m-acc-chev{transform:rotate(180deg)}
.lv3m-acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.lv3m-acc-body-in{overflow:hidden}
/* Issue 95: larger accordion panel copy across every item. */
.lv3m-acc-d{margin:-0.125rem 1rem 0.875rem;padding-left:3.625rem;font-family:var(--font-sans);font-size:1.04rem;line-height:1.55;color:var(--fg-on-light-2)}

/* ---- M13 · Mobile flywheel (nav below card) ---- */
.lv3m-fw{margin-top:1.125rem;display:flex;flex-direction:column;align-items:center}
.lv3m-fw-wheel{position:relative;width:min(17.375rem,80%);aspect-ratio:1;margin-top:-0.25rem}
.lv3m-fw-svg{width:100%;height:100%;display:block}
.lv3m-fw-outer{fill:none;stroke:rgba(255,255,255,.08);stroke-width:1}
.lv3m-fw-seg{opacity:.45;transition:stroke-width .5s var(--ease),opacity .5s var(--ease)}
.lv3m-fw-seg.is-on{opacity:1;filter:drop-shadow(0 0 4px var(--acc))}
.lv3m-fw-coreglow{animation:lv3fwcore 3s ease-in-out infinite}
.lv3m-fw-dot{transition:r .5s var(--ease),fill .5s var(--ease)}
.lv3m-fw-hub{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.125rem;pointer-events:none}
.lv3m-fw-hub-k{font-family:var(--font-mono);font-size:0.5rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3m-fw-hub-b{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.1rem;line-height:.95;color:#fff}
.lv3m-fw-hit{cursor:pointer}
.lv3m-fw-card{width:100%;margin-top:1.125rem;position:relative;overflow:hidden;background:linear-gradient(165deg,rgba(255,255,255,.055),rgba(255,255,255,.012));border:1px solid color-mix(in srgb,var(--acc) 22%,var(--ink-600));border-left:3px solid var(--acc);border-radius:var(--r-lg);padding:1.25rem 1.1875rem;height:17.375rem;backdrop-filter:blur(6px)}
.lv3m-fw-card-in{position:relative;animation:lv3mFwIn .5s var(--ease)}
@keyframes lv3mFwIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.lv3m-fw-card::before{content:"";position:absolute;top:-40%;left:-10%;width:80%;height:90%;background:radial-gradient(circle at 30% 30%,color-mix(in srgb,var(--acc) 22%,transparent),transparent 66%);pointer-events:none;opacity:.7}
.lv3m-fw-eyebrow{position:relative;display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.lv3m-fw-step{font-family:var(--font-mono);font-size:0.59375rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-3)}
.lv3m-fw-tag{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.lv3m-fw-tag i{width:0.375rem;height:0.375rem;border-radius:50%;background:currentColor;box-shadow:0 0 8px 1px currentColor}
.lv3m-fw-h{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.9rem;line-height:.95;color:#fff;margin:0.625rem 0 0.625rem}
.lv3m-fw-d{font-family:var(--font-sans);font-size:.94rem;line-height:1.5;color:var(--fg-on-dark-2);margin:0}
.lv3m-fw-stats{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0.625rem;margin-top:1rem;padding-top:0.875rem;border-top:1px solid rgba(255,255,255,.1)}
.lv3m-fw-stat{display:flex;flex-direction:column;gap:0.25rem}
.lv3m-fw-stat-v{font-family:var(--font-display);font-weight:800;font-size:1.2rem;color:#fff;line-height:1}
.lv3m-fw-stat-l{font-family:var(--font-sans);font-size:.7rem;color:var(--fg-on-dark-3);line-height:1.25}
.lv3m-fw-nav{display:flex;gap:0.75rem;width:100%;margin-top:0.75rem}
.lv3m-fw-navbtn{flex:1;display:flex;align-items:center;justify-content:center;padding:0.9375rem 0.25rem;background:none;border:0;cursor:pointer}
.lv3m-fw-navline{display:block;width:100%;height:0.1875rem;border-radius:var(--r-pill);background:var(--ink-600);overflow:visible}
.lv3m-fw-navline i{display:block;height:100%;width:100%;border-radius:var(--r-pill);background:var(--acc);opacity:.28;transition:opacity .4s var(--ease),box-shadow .4s var(--ease)}
.lv3m-fw-navbtn.is-sel .lv3m-fw-navline i{opacity:1;box-shadow:0 0 10px 0 color-mix(in srgb,var(--acc) 85%,transparent)}

/* ---- M14 · Phase 02 conversion (phone hero, vertical journey) ---- */
.lv3m-conv{background:var(--ink-900);overflow:hidden;position:relative}
.lv3m-conv-glow{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:130%;height:48%;background:radial-gradient(ellipse at 50% 30%,rgba(34,195,208,.15),rgba(255,0,94,.07) 44%,transparent 68%);filter:blur(34px);pointer-events:none}
.lv3m-cv{margin-top:1.625rem}
.lv3m-cv-stage{position:relative;display:flex;flex-direction:column;align-items:center}
.lv3m-cv-stage-glow{position:absolute;top:2%;left:50%;transform:translateX(-50%);width:84%;height:78%;background:radial-gradient(circle at 50% 42%,rgba(255,0,94,.2),transparent 66%);filter:blur(26px);pointer-events:none}
.lv3m-cv-badge{position:relative;z-index:2;display:inline-flex;align-items:center;gap:0.4375rem;font-family:var(--font-mono);font-size:0.59375rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:0.4375rem 0.875rem;background:rgba(10,11,13,.7);border:1px solid rgba(34,195,208,.4);border-radius:var(--r-pill);margin-bottom:1.125rem}
.lv3m-cv-badge i{width:0.3125rem;height:0.3125rem;border-radius:50%;background:#22C3D0;box-shadow:0 0 7px 1px rgba(34,195,208,.8)}
.lv3m-cv-phonewrap{position:relative;z-index:2}
/* MOBILE-FIRST phone is the focal point. The old height-clamp floor capped it at
   ~57% of the stage (small, with large side gaps). Drive it by width (~80% of the
   stage) so it renders ~2× larger, stays centred, keeps aspect, never overflows. */
.lv3m-cv-phone{width:80%;height:auto;max-width:none;display:block;margin:0 auto;filter:drop-shadow(0 36px 60px rgba(0,0,0,.7))}
.lv3m-cv-live{position:relative;z-index:2;display:inline-flex;align-items:center;gap:0.5rem;margin-top:1.375rem;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#22C3D0;text-decoration:none;transition:color .25s}
.lv3m-cv-live svg{color:#fff;stroke:#fff}
.lv3m-cv-live:hover{color:#4DD8E3}
.lv3m-cv-journey{margin-top:2.125rem;display:flex;flex-direction:column}
.lv3m-cv-jh{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-1,#e6e8ec);margin-bottom:1.125rem;text-align:center}
/* premium glass conversion cards (mockup-matched): glossy top edge, neon accent
   accent colour builds on the RIGHT (dark glass → accent), thin classy %, subtle
   neutral edge so corners stay legible on the dark section, restrained glow */
.lv3m-cv-step{position:relative;isolation:isolate;display:flex;align-items:center;gap:0.8125rem;padding:0.8125rem 1.125rem;min-height:4.625rem;border-radius:1.125rem;overflow:hidden;
  background:
    radial-gradient(135% 165% at 103% 50%,color-mix(in srgb,var(--acc) 34%,transparent),color-mix(in srgb,var(--acc) 9%,transparent) 46%,transparent 72%),
    linear-gradient(158deg,rgba(27,29,35,.93),rgba(13,14,18,.96));
  border:1px solid color-mix(in srgb,var(--acc) 34%,rgba(255,255,255,.18));
  box-shadow:0 0 0 1px rgba(255,255,255,.05),0 12px 28px -16px rgba(0,0,0,.82),0 0 16px -12px color-mix(in srgb,var(--acc) 42%,transparent),inset 0 1px 0 rgba(255,255,255,.08),inset 0 -1px 0 rgba(255,255,255,.035);
  backdrop-filter:blur(10px);opacity:0;transform:translateY(12px);transition:opacity .6s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease)}
.lv3m-cv.is-in .lv3m-cv-step{opacity:1;transform:none}
.lv3m-cv-step:active{transform:translateY(-2px);box-shadow:0 0 0 1px rgba(255,255,255,.07),0 16px 34px -16px rgba(0,0,0,.85),0 0 18px -10px color-mix(in srgb,var(--acc) 50%,transparent),inset 0 1px 0 rgba(255,255,255,.1)}
.lv3m-cv-step-node{position:relative;z-index:1;width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--acc) 22%,rgba(10,12,16,.9)),rgba(8,10,13,.96));border:1.5px solid color-mix(in srgb,var(--acc) 60%,rgba(255,255,255,.12));box-shadow:0 0 12px -5px color-mix(in srgb,var(--acc) 60%,transparent),inset 0 0 10px -5px color-mix(in srgb,var(--acc) 55%,transparent)}
.lv3m-cv-step-body{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;gap:0.1875rem;min-width:0}
.lv3m-cv-step-k{font-family:var(--font-sans);font-size:0.95rem;font-weight:600;color:#fff;line-height:1.04;letter-spacing:-.01em;white-space:nowrap}
.lv3m-cv-step-vl{font-family:var(--font-mono);font-size:0.65625rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:#aab0ba}
.lv3m-cv-step-v{position:relative;z-index:1;font-family:var(--font-display);font-weight:500;font-size:1.95rem;line-height:.9;letter-spacing:-.005em;color:rgba(255,255,255,.95);flex:none}
.lv3m-cv-conn{display:flex;align-items:center;justify-content:center;height:1.875rem}

/* ---- M15 · Phase 03 retention (fixed-height, no jump) ---- */
.lv3m-rt{margin-top:1.5rem}
/* Issue 98: tabs sit ~10% closer to the content below. */
.lv3m-rt-toggle{position:relative;display:flex;padding:0.1875rem;border-radius:var(--r-pill);background:var(--paper-3);border:1px solid var(--line-200);margin-bottom:1rem}
.lv3m-rt-thumb{position:absolute;left:0.1875rem;top:0.1875rem;bottom:0.1875rem;width:calc(50% - 0.1875rem);border-radius:var(--r-pill);background:#fff;box-shadow:0 3px 10px -4px rgba(10,11,13,.28);transition:transform .45s var(--ease)}
.lv3m-rt-thumb.is-flow{transform:translateX(0)}
.lv3m-rt-thumb.is-ltv{transform:translateX(100%)}
/* Issue 98: tab labels +10%, centred + contained. */
.lv3m-rt-tab{position:relative;z-index:2;flex:1;min-width:0;padding:0.625rem 0.5rem;background:none;border:0;cursor:pointer;text-align:center;font-family:var(--font-mono);font-size:0.69rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-on-light-3);transition:color .3s}
.lv3m-rt-tab.is-sel{color:#FF6600}
.lv3m-rt-stagewrap{position:relative;height:24.5rem;overflow:hidden}
.lv3m-rt-stage{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;animation:lv3rtfade .5s var(--ease)}
.lv3m-rf{display:flex;flex-direction:column}
.lv3m-rf-row{display:flex;align-items:center;gap:0.8125rem;padding:0.875rem 1rem;background:#fff;border:1px solid var(--line-200);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}
.lv3m-rf-row.is-strong{background:var(--ink-900);border-color:var(--ink-700)}
.lv3m-rf-ic{width:2.375rem;height:2.375rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--craft-100);flex:none}
.lv3m-rf-row.is-strong .lv3m-rf-ic{background:rgba(255,102,0,.36)}
.lv3m-rf-k{flex:1;font-family:var(--font-sans);font-size:.95rem;font-weight:600;color:var(--fg-on-light)}
.lv3m-rf-row.is-strong .lv3m-rf-k{color:#fff}
.lv3m-rf-step{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;color:var(--line-300)}
.lv3m-rf-row.is-strong .lv3m-rf-step{color:#FF6600}
.lv3m-rf-conn{display:flex;align-items:center;justify-content:center;height:1.25rem}
.lv3m-rl{background:#fff;border:1px solid var(--line-200);border-radius:var(--r-lg);padding:1.125rem 1rem;box-shadow:var(--shadow-md)}
.lv3m-rl-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.625rem}
.lv3m-rl-head span:first-child{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3m-rl-tag{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--craft-500)}
.lv3m-rl-svg{width:100%;height:auto;display:block}
.lv3m-rl-grid{stroke:var(--line-100);stroke-width:1}
.lv3m-rl-with{stroke-dasharray:1200;stroke-dashoffset:1200}
.lv3m-rl-svg.is-play .lv3m-rl-with{animation:lv3mdraw 1.3s var(--ease) forwards}
.lv3m-rl-legend{display:flex;gap:1.125rem;margin-top:0.75rem}
.lv3m-rl-legend span{display:inline-flex;align-items:center;gap:0.4375rem;font-family:var(--font-mono);font-size:0.5625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3m-rl-key{width:0.875rem;height:0.1875rem;border-radius:var(--r-pill)}
.lv3m-rl-key.is-with{background:#FF6600}
.lv3m-rl-key.is-without{background:#B7BCC6}
.lv3m-rl-wrap{display:flex;flex-direction:column;width:100%}
.lv3m-rl-cta{width:100%;justify-content:center;margin-top:1rem}
.lv3m-rt-cta{width:100%;justify-content:center;margin-top:1.25rem}

/* ---- M16 · Watch the system compound (mobile module) ---- */
.lv3m-tlwrap{margin-top:1.625rem;display:flex;flex-direction:column;align-items:stretch}
.lv3m-tl{position:relative;border-radius:1.375rem;padding:1.375rem 1rem 1.125rem;border:1px solid transparent;
  background:linear-gradient(168deg,rgba(26,28,35,.96),rgba(11,12,16,.99)) padding-box,
    linear-gradient(135deg,rgba(34,195,208,.85),rgba(34,195,208,0) 30%,rgba(255,0,94,0) 60%,rgba(255,0,94,.9)) border-box;
  box-shadow:0 36px 80px -38px rgba(0,0,0,.85),0 0 60px -26px rgba(255,0,94,.5),inset 0 1px 0 rgba(255,255,255,.05)}
.lv3m-tl-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem}
.lv3m-tl-read{display:flex;flex-direction:column;gap:0.5rem}
.lv3m-tl-year{font-family:var(--font-display);font-weight:900;font-size:2.78rem;line-height:.82;letter-spacing:-.03em;color:#fff;animation:lv3mfade .5s var(--ease)}
.lv3m-tl-rev{font-family:var(--font-mono);font-size:0.71875rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-on-dark-3);white-space:nowrap}
.lv3m-tl-rev i{color:#FF2D7E;font-style:normal;font-weight:600}
.lv3m-tl-status{display:inline-flex;align-items:center;gap:0.3125rem;font-family:var(--font-mono);font-size:0.5rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--fg-on-dark-2);white-space:nowrap;flex:none;margin-top:0.375rem}
.lv3m-tl-status i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:#FF005E;box-shadow:0 0 8px 1px rgba(255,0,94,.8);animation:lv3mpulse 1.6s ease-in-out infinite}
.lv3m-tl-status.is-done{color:#5FE3A6}
.lv3m-tl-status.is-done i{background:#22D67F;box-shadow:0 0 10px 1px rgba(34,214,127,.85);animation:none}
.lv3m-tl-chart{margin-top:1.125rem}
.lv3m-tl-svg{width:100%;height:auto;display:block;overflow:visible}
.lv3m-tl-grid{stroke:rgba(255,255,255,.055);stroke-width:1}
.lv3m-tl-ghost{stroke:rgba(255,255,255,.08);stroke-width:1.5;stroke-dasharray:2 7}
.lv3m-tl-clip{transition:width .9s var(--ease)}
.lv3m-tl-drop{stroke:rgba(255,45,126,.5);stroke-width:1.4;stroke-dasharray:2 4}
.lv3m-tl-line{transition:stroke-dashoffset .9s var(--ease)}
.lv3m-tl-node{fill:#0B0C0F;stroke:#FF6CA0;stroke-width:2;transition:opacity .5s var(--ease)}
.lv3m-tl-tipglow{fill:rgba(255,0,94,.35);filter:blur(3px)}
.lv3m-tl-tip{fill:#fff;filter:drop-shadow(0 0 7px rgba(255,0,94,1))}
.lv3m-tl-years{display:flex;gap:0.375rem;margin-top:1.125rem}
.lv3m-tl-yr{flex:1 1 0;min-width:0;padding:0.5625rem 0;text-align:center;background:rgba(255,255,255,.045);border:1px solid var(--ink-600);border-radius:0.6875rem;font-family:var(--font-mono);font-size:0.78125rem;font-weight:600;color:var(--fg-on-dark-2);cursor:pointer;transition:background .3s,border-color .3s,color .3s,box-shadow .3s}
.lv3m-tl-yr.is-sel{background:linear-gradient(150deg,rgba(255,62,142,.52),rgba(255,0,94,.34));border-color:rgba(255,108,165,.85);color:#fff;backdrop-filter:blur(2px);box-shadow:0 0 22px -5px rgba(255,0,94,.9),inset 0 1px 0 rgba(255,255,255,.28)}
.lv3m-tl-mile{margin:1.875rem 0 0;display:flex;flex-direction:column;align-items:center;gap:0.5625rem;text-align:center;animation:lv3mfade .5s var(--ease)}
.lv3m-tl-mile-t{display:inline-flex;align-items:center;gap:0.6875rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#22C3D0}
.lv3m-tl-mile-t::before,.lv3m-tl-mile-t::after{content:"";width:1.25rem;height:1px;background:currentColor;opacity:.85}
.lv3m-tl-mile-n{font-family:var(--font-sans);font-size:.94rem;line-height:1.5;color:var(--fg-on-dark-2);max-width:30ch;margin:0;text-wrap:pretty}
.lv3m-tl-cta{width:100%;justify-content:center;margin-top:2rem}
@keyframes lv3mfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ---- M17 · Recognition (centred badge overlapping one white card) ---- */
.lv3m-recog-h{font-size:3.2rem;line-height:.9;letter-spacing:-.02em}
.lv3m-recog-h .ds-accent{font-size:1.04em;line-height:.96}
.lv3m-rec{margin-top:1.125rem;position:relative}
.lv3m-rec-core{position:relative;z-index:3;width:14.125rem;height:14.125rem;margin:0 auto -5.25rem;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.lv3m-rec-core-glow{position:absolute;inset:-2%;border-radius:50%;background:radial-gradient(circle,rgba(255,0,94,.17),rgba(255,0,94,.05) 52%,transparent 66%);filter:blur(11px);animation:lv3recbreathe 6.5s ease-in-out infinite;pointer-events:none}
.lv3m-rec-core-ring{position:absolute;inset:-0.125rem;border-radius:50%;border:1.5px solid rgba(255,0,94,.7);box-shadow:0 0 12px 0 rgba(255,0,94,.4),inset 0 0 12px -3px rgba(255,0,94,.45);pointer-events:none;transition:box-shadow .3s}
.lv3m-rec-core:active .lv3m-rec-core-ring,.lv3m-rec-core.is-open .lv3m-rec-core-ring{box-shadow:0 0 18px 2px rgba(255,0,94,.6),inset 0 0 12px -3px rgba(255,0,94,.5)}
.lv3m-rec-core-in{position:relative;z-index:2;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 34%,#23121a,#080809 74%);box-shadow:inset 0 0 36px -12px rgba(255,0,94,.4);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.lv3m-rec-core-crown{margin-bottom:0.125rem}
/* Issue 99: badge contents enlarged + better composition (kept within the circle). */
.lv3m-rec-core-rank{font-family:var(--font-display);font-weight:900;font-size:4.4rem;line-height:.78;letter-spacing:-.04em;background:linear-gradient(120deg,#FF3D81,#FF005E);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lv3m-rec-core-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.05rem;line-height:1.08;color:#fff;margin-top:0.4375rem}
.lv3m-rec-core-scope{margin-top:0.5rem;font-family:var(--font-mono);font-size:0.62rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-on-dark-2)}
/* badge info popup — portalled to .lv3m-root: one uniform full-screen dim, centred card, no rectangle artifact */
.lv3m-rec-overlay{position:absolute;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:0 1.25rem;background:rgba(8,9,11,.46);backdrop-filter:blur(3px);animation:lv3mfade2 .22s var(--ease)}
/* Issue 99: popup designed for mobile — larger padding + max-width. */
.lv3m-rec-pop{position:relative;width:100%;max-width:23rem;background:#fff;border-radius:1.125rem;padding:1.5rem 1.5rem 1.625rem;box-shadow:0 36px 70px -26px rgba(10,11,13,.55),0 6px 18px -8px rgba(10,11,13,.25);animation:lv3mpop .3s var(--ease)}
@keyframes lv3mfade2{from{opacity:0}to{opacity:1}}
.lv3m-rec-pop-x{position:absolute;top:0.6875rem;right:0.6875rem;width:1.875rem;height:1.875rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--paper-2);border:1px solid var(--line-200);color:var(--fg-on-light-2);cursor:pointer}
.lv3m-rec-pop-k{display:inline-flex;align-items:center;gap:0.4375rem;font-family:var(--font-mono);font-size:0.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF005E}
.lv3m-rec-pop-h{display:block;margin-top:0.6875rem;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.45rem;letter-spacing:-.01em;color:var(--fg-on-light)}
.lv3m-rec-pop-d{margin:0.6875rem 0 0;font-family:var(--font-sans);font-size:1.08rem;line-height:1.58;color:var(--fg-on-light-2);text-wrap:pretty}
@keyframes lv3mpop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.lv3m-rec-card{position:relative;z-index:1;background:#fff;border:1px solid var(--line-200);border-radius:1.5rem;box-shadow:0 30px 60px -30px rgba(10,11,13,.4),0 4px 14px -6px rgba(10,11,13,.12);padding:6.5rem 1.25rem 0.625rem}
.lv3m-rec-row-wrap{border-top:1px solid var(--line-100)}
.lv3m-rec-row-wrap:first-child{border-top:0}
.lv3m-rec-row{display:flex;align-items:center;gap:0.9375rem;width:100%;padding:1.0625rem 0.25rem;background:none;border:0;cursor:pointer;text-align:left}
.lv3m-rec-row-marker{width:2.125rem;height:2.125rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid color-mix(in srgb,var(--acc) 45%,transparent);flex:none}
.lv3m-rec-row-marker i{width:0.8125rem;height:0.8125rem;border-radius:50%;background:var(--acc)}
.lv3m-rec-row-body{flex:1;display:flex;flex-direction:column;gap:0.1875rem;min-width:0}
/* Issue 12: TOP%/location labels ~2x, provider name +10%. */
.lv3m-rec-row-rank{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.lv3m-rec-row-name{font-family:var(--font-sans);font-size:1.19rem;font-weight:700;color:var(--fg-on-light);line-height:1.1}
.lv3m-rec-row-scope{font-family:var(--font-mono);font-size:1rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-light-3)}
.lv3m-rec-row-chev{flex:none;display:inline-flex;transition:transform .3s}
.lv3m-rec-row-wrap.is-open .lv3m-rec-row-chev{transform:rotate(180deg)}
.lv3m-rec-row-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s var(--ease)}
.lv3m-rec-row-bd-in{overflow:hidden}
.lv3m-rec-row-bd p{margin:0 0.25rem 1rem 3.0625rem;font-family:var(--font-sans);font-size:1rem;line-height:1.55;color:var(--fg-on-light-2)}
/* Issue 99: closing statement reduced ~30% (kept uppercase mono, centred). */
.lv3m-rec-foot{margin-top:1.625rem;font-family:var(--font-mono);font-size:0.83rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-light-2);text-align:center;line-height:1.55;max-width:34ch;margin-left:auto;margin-right:auto}

/* ===== PACKAGE 2 — Lip Doctor / shared case-study readability ===== */
/* Issue 11: "What we rebuilt" rows bigger + consistent (rebuild list only). */
.lv3m-rebuild-list .lv3m-why-item{gap:1rem;padding:1.5rem 0}
.lv3m-rebuild-list .lv3m-why-num{font-size:1.6rem}
.lv3m-rebuild-list .lv3m-why-ic{width:3.125rem;height:3.125rem}
.lv3m-rebuild-list .lv3m-why-ic svg{width:1.4375rem;height:1.4375rem}
.lv3m-rebuild-list .lv3m-why-t{font-size:1.3rem;margin-bottom:0.5rem}
.lv3m-rebuild-list .lv3m-why-d{font-size:1.05rem;line-height:1.55}
/* Issue 14: "We don't design pages / We build growth systems" supporting copy +10%
   (why list only; the shared rebuild list above keeps its own larger sizing). */
.lv3m-why-list:not(.lv3m-rebuild-list) .lv3m-why-d{font-size:0.99rem}
/* Issue 13: funnel explanation paragraph, below the final 33% card (outside the card). */
.lv3m-cv-explain{margin:1.625rem 0 0;font-family:var(--font-sans);font-size:1.05rem;line-height:1.62;color:var(--fg-on-dark-2);max-width:44ch;text-wrap:pretty}

/* ---- M18 · Category expansion (slim card matched to desktop mini-card) ---- */
.lv3m-expand-card{display:flex;width:fit-content;max-width:100%;align-items:center;gap:0.9375rem;margin:1.5rem auto 0;padding:0.9375rem 1.3125rem;background:rgba(255,0,94,.06);border:1px solid color-mix(in srgb,var(--pink-500) 42%,transparent);border-radius:var(--r-md)}
.lv3m-expand-card-ic{width:2.4375rem;height:2.4375rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:rgba(255,0,94,.16);border:1px solid color-mix(in srgb,var(--pink-500) 36%,transparent);flex:none}
.lv3m-expand-card-body{display:flex;flex-direction:column;gap:0.25rem;min-width:0}
.lv3m-expand-card-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.15rem;line-height:1;letter-spacing:-.005em;color:#fff}
.lv3m-expand-card-scope{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--pink-400)}
.lv3m-expand-btns{display:flex;flex-direction:column;align-items:center;gap:0.875rem;margin-top:1.625rem}
.lv3m-expand-btn{width:100%;justify-content:center;white-space:nowrap}
.lv3m-expand-btn.ds-btn--ghost-dark{border-color:rgba(255,255,255,.55)}
.lv3m-expand-btn.ds-btn--ghost-dark:hover{border-color:#fff}
.lv3m-expand-link{display:inline-flex;align-items:center;gap:0.4375rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#22C3D0;text-decoration:none;padding:0.25rem 0.125rem;transition:color .25s}
.lv3m-expand-link svg{color:#fff;stroke:#fff}
.lv3m-expand-link:hover{color:#4DD8E3}

/* ---- M19 · Why work (auto-rotate active) ---- */
.lv3m-why-list{display:flex;flex-direction:column;gap:0;margin-top:1.5rem}
.lv3m-why-item{display:grid;grid-template-columns:auto auto 1fr;gap:0.8125rem;align-items:start;width:100%;padding:1.25rem 0.75rem;border:0;border-top:1px solid var(--line-200);background:none;cursor:pointer;text-align:left;transition:background .35s var(--ease),border-color .35s var(--ease)}
.lv3m-why-item.is-active{background:color-mix(in srgb,var(--pink-500) 5%,transparent);border-top-color:color-mix(in srgb,var(--pink-500) 60%,transparent)}
.lv3m-why-num{font-family:var(--font-display);font-weight:800;font-size:1.3rem;color:var(--line-300);line-height:1;transition:color .35s var(--ease)}
.lv3m-why-item.is-active .lv3m-why-num{color:var(--fg-on-light)}
.lv3m-why-ic{width:2.5rem;height:2.5rem;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--pink-100);color:#FF005E;flex:none;transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.lv3m-why-item.is-active .lv3m-why-ic{background:#FF005E;color:#fff;transform:translateY(-2px)}
.lv3m-why-t{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.35rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 0.4375rem;line-height:1.04}
.lv3m-why-d{font-family:var(--font-sans);font-size:1.04rem;line-height:1.55;color:var(--fg-on-light-2);margin:0}
.lv3m-why-cta-btn{width:100%;justify-content:center;white-space:nowrap;font-size:0.8125rem;letter-spacing:.03em;padding-left:1.125rem;padding-right:1.125rem;box-shadow:0 8px 20px -12px rgba(10,11,13,.55)}
.lv3m-why-cta-btn:hover{box-shadow:0 10px 24px -12px rgba(10,11,13,.6)}

/* ---- M20 · Final CTA (content centred inside glow) + footer transition ---- */
.lv3m-cta{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:42vh;padding-top:3.625rem;padding-bottom:1.875rem}
.lv3m-cta-glow{top:50%;left:50%;z-index:-1;width:28rem;height:25.5rem;transform:translate(-50%,-50%);background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.5),rgba(255,255,255,.13) 42%,transparent 70%);filter:blur(58px);animation:lv3ctabreathe 6.5s ease-in-out infinite;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 86%);mask-image:linear-gradient(to bottom,#000 50%,transparent 86%)}
.lv3m-cta{background:var(--ink-900);position:relative}
.lv3m-cta::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7.5rem;background:linear-gradient(to bottom,transparent,var(--ink-900));pointer-events:none;z-index:0}
.lv3m-root .m-footer{border-top:0;padding-top:1.375rem}
.lv3m-root .m-footer-logo{margin-top:0}


/* ===================== SMILE STYLIST additions (sister case study) ===================== */
/* Founder portfolio note — quiet editorial band between proof and opportunity */
.lv3-foundernote{background:var(--ink-900);padding:6px 0 44px}
.lv3-foundernote-card{max-width:780px;margin:0 auto;border:1px solid var(--ink-600);border-radius:16px;padding:20px 24px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:9px}
.lv3-foundernote-k{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#FF5C8A;display:inline-flex;align-items:center;gap:8px}
.lv3-foundernote-d{font-family:var(--font-sans);font-size:.92rem;line-height:1.62;color:var(--fg-on-dark-2);margin:0;text-wrap:pretty}
.lv3m-foundernote{background:var(--ink-900);padding:0.375rem 1.375rem 2.125rem}
.lv3m-foundernote-card{border:1px solid var(--ink-600);border-radius:0.875rem;padding:1rem 1rem;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:0.5rem}
.lv3m-foundernote-k{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#FF5C8A;display:inline-flex;align-items:center;gap:0.4375rem}
.lv3m-foundernote-d{font-family:var(--font-sans);font-size:.86rem;line-height:1.56;color:var(--fg-on-dark-2);margin:0;text-wrap:pretty}

/* Conversion micro-panel (replaces QR; non-clickable) */
.lv3-conv-micropanel{display:flex;flex-direction:column;gap:7px;text-align:left}
.lv3-conv-micropanel-k{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22C3D0;display:inline-flex;align-items:center;gap:7px}
.lv3-conv-micropanel-s{font-family:var(--font-sans);font-size:.84rem;line-height:1.45;color:var(--fg-on-dark-2);max-width:30ch}
.lv3m-cv-micropanel{margin-top:0.875rem;display:flex;flex-direction:column;gap:0.3125rem;text-align:center;align-items:center}
.lv3m-cv-micropanel-k{font-family:var(--font-mono);font-size:0.65625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#22C3D0;display:inline-flex;align-items:center;gap:0.375rem}
.lv3m-cv-micropanel-s{font-family:var(--font-sans);font-size:.82rem;line-height:1.45;color:var(--fg-on-dark-2);max-width:34ch}

/* Website-experience note (replaces QR scan card) */
.lv3-web-note-ic{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(34,195,208,.1);border:1px solid rgba(34,195,208,.28);flex:none}

/* Virtual Smile Makeover visuals */
.lv3-vsm-vis{display:flex;flex-direction:column;align-items:center;gap:18px;position:relative}
.lv3-vsm-promo{width:100%;max-width:470px;border-radius:18px;display:block;box-shadow:0 34px 80px -34px rgba(0,0,0,.65);position:relative;z-index:1}
.lv3-vsm-illus{margin:0;width:100%;max-width:470px;position:relative;z-index:1}
.lv3-vsm-illus img{width:100%;border-radius:14px;display:block}
.lv3-vsm-illus figcaption{font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3);margin-top:9px;text-align:center}
.lv3m-vsm-promo-m{width:100%;border-radius:1rem;display:block}
.lv3m-vsm-illus{margin:1rem 0 0.25rem}
.lv3m-vsm-illus img{width:100%;border-radius:0.75rem;display:block}
.lv3m-vsm-illus figcaption{font-family:var(--font-mono);font-size:0.5625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-3);margin-top:0.4375rem;text-align:center}
.lv3m-points--ondark li{color:var(--fg-on-dark-2)}


/* ===================== SMILE STYLIST round-2 additions ===================== */
/* Strategic takeaway card (desktop) */
.lv3-takeaway{margin-top:42px;max-width:880px;margin-left:auto;margin-right:auto;border:1px solid var(--ink-600);border-left:3px solid #22C3D0;border-radius:16px;padding:24px 28px;background:linear-gradient(120deg,rgba(34,195,208,.07),rgba(255,255,255,.02));display:flex;flex-direction:column;gap:11px}
.lv3-takeaway-k{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2FD3DF;display:inline-flex;align-items:center;gap:9px}
.lv3-takeaway-d{font-family:var(--font-sans);font-size:1.02rem;line-height:1.62;color:var(--fg-on-dark-2);margin:0;text-wrap:pretty}
.lv3m-takeaway{margin-top:1.625rem;border:1px solid var(--ink-600);border-left:3px solid #22C3D0;border-radius:0.875rem;padding:1rem 1.0625rem;background:linear-gradient(120deg,rgba(34,195,208,.08),rgba(255,255,255,.02));display:flex;flex-direction:column;gap:0.5625rem}
.lv3m-takeaway-k{font-family:var(--font-mono);font-size:0.65625rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:#2FD3DF;display:inline-flex;align-items:center;gap:0.4375rem}
.lv3m-takeaway-d{font-family:var(--font-sans);font-size:.9rem;line-height:1.58;color:var(--fg-on-dark-2);margin:0;text-wrap:pretty}

/* VSM single-image caption */
.lv3-vsm-cap{font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2);margin-top:16px;text-align:center}
.lv3m-vsm-cap{display:block;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--fg-on-dark-2);margin-top:0.75rem;text-align:center}

/* ---- Recognition, Smile Stylist scope (.ss-rec) ---- */
/* Kill the heavy pink glow/halo; keep a clean, premium, neutral-dark badge with the Rogers Cup logo. */
.ss-rec .lv3-rec2-core-glow{background:radial-gradient(circle,rgba(34,195,208,.16),rgba(34,195,208,.04) 55%,transparent 72%);opacity:.7;filter:blur(26px)}
.ss-rec .lv3-rec2-core-ring{border-color:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.05),0 20px 50px -22px rgba(0,0,0,.7)}
.ss-rec .lv3-rec2-core-in{background:radial-gradient(circle at 50% 32%,#15171d,#0b0c10 76%);box-shadow:inset 0 0 40px -18px rgba(255,255,255,.12)}
.ss-rec-core-badge{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#2FD3DF;margin-bottom:14px}
.ss-rec-core-logo{width:62%;max-width:150px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.5))}
.ss-rec-core-scope{font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--fg-on-dark-3);margin-top:14px}
/* node labels: keep crisp, no overlap */
.ss-rec .lv3-rec2-rank{color:var(--acc)}

/* Mobile recognition badge (Smile Stylist scope) */
.ss-rec.lv3m-rec .lv3m-rec-core-glow{background:radial-gradient(circle,rgba(34,195,208,.16),rgba(34,195,208,.04) 55%,transparent 72%);opacity:.7}
.ss-rec.lv3m-rec .lv3m-rec-core-ring{border-color:rgba(255,255,255,.16);box-shadow:0 0 0 1px rgba(255,255,255,.05)}
.ss-rec.lv3m-rec .lv3m-rec-core-in{background:radial-gradient(circle at 50% 32%,#15171d,#0b0c10 76%);box-shadow:inset 0 0 34px -16px rgba(255,255,255,.12)}
.ss-rec.lv3m-rec .ss-rec-core-badge{font-family:var(--font-mono);font-size:0.5625rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#2FD3DF;margin-bottom:0.6875rem}
.ss-rec.lv3m-rec .ss-rec-core-logo{width:64%;max-width:8rem;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 5px 14px rgba(0,0,0,.5))}
.ss-rec.lv3m-rec .ss-rec-core-scope{font-family:var(--font-mono);font-size:0.5rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--fg-on-dark-3);margin-top:0.6875rem}

/* Hero "Disclaimer" link + popup (desktop, Smile Stylist) */
.lv3-disc-link{display:inline-flex;align-items:center;gap:7px;margin-top:18px;padding:7px 0;background:none;border:0;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#2FD3DF;cursor:pointer;transition:color .2s;border-bottom:1px solid rgba(47,211,223,.35)}
.lv3-disc-link:hover{color:#5FE6EF}
.lv3-disc-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(6,7,9,.72);backdrop-filter:blur(6px);animation:lv3fadein .2s ease}
.lv3-disc-pop{position:relative;max-width:520px;width:100%;background:linear-gradient(168deg,#15171d,#0c0d11);border:1px solid var(--ink-600);border-top:3px solid #22C3D0;border-radius:18px;padding:30px 32px;box-shadow:0 40px 100px -30px rgba(0,0,0,.8)}
.lv3-disc-x{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--ink-600);color:#fff;cursor:pointer;transition:background .2s;z-index:2}
.lv3-disc-x:hover{background:rgba(255,255,255,.1)}
.lv3-disc-k{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:#2FD3DF}
.lv3-disc-d{font-family:var(--font-sans);font-size:1rem;line-height:1.62;color:var(--fg-on-dark-2);margin:13px 0 0;text-wrap:pretty}
@keyframes lv3fadein{from{opacity:0}to{opacity:1}}

/* Mobile proof CTA + founder note teal accent / spacing (Smile Stylist) */
.lv3m-proof-cta{width:100%;justify-content:center;margin-top:1.375rem}
.lv3m-foundernote{padding-top:1.875rem}
.lv3m-foundernote-k{color:#2FD3DF !important}

/* Mobile conversion value: keep on one line; shrink the long $-range so it never wraps */
.lv3m-cv-step-v{white-space:nowrap}
.lv3m-cv-step-v.is-range{font-size:1.32rem;letter-spacing:-.01em}

/* Desktop conversion phone area (Smile Stylist scope): bigger phone, centred micro-panel, tighter gap */
.ss-conv .lv3-conv-phonewrap{margin-bottom:0}
.ss-conv .lv3-conv-phone{width:120%;max-width:none;margin-left:-10%;margin-right:-10%}
.ss-conv .lv3-conv-micropanel{margin-top:18px;align-items:center;text-align:center}
.ss-conv .lv3-conv-micropanel-k{justify-content:center}
.ss-conv .lv3-conv-micropanel-s{margin-left:auto;margin-right:auto}

/* Website-experience section: neutral/teal glow instead of red (Smile Stylist scope) */
.ss-web .lv3-web-stage-glow{background:none !important}
.ss-web .lv3m-web-glow{background:none !important}
.ss-web .lv3-web-grid{grid-template-columns:1.5fr .66fr !important}
.ss-web .lv3-web-stage img{width:108% !important;margin-left:-4% !important;filter:drop-shadow(0 34px 60px rgba(10,11,13,.42)) !important}
.ss-web .lv3m-web-img img{filter:drop-shadow(0 16px 30px rgba(255,255,255,.16)) drop-shadow(0 22px 46px rgba(10,11,13,.45)) !important}

/* ===================== SMILE STYLIST round-3 additions ===================== */
/* 76 — Cosmetic Revenue (first proof cell) ~15% bigger / more readable */
.ss-proof .lv3-proof-cell:first-child .lv3-proof-n{font-size:clamp(3.45rem,5.2vw,5.05rem)}
.ss-proof .lv3-proof-cell:first-child .lv3-proof-l{font-size:1.05rem}
.lv3m-root .ss-proof .lv3-proof-cell:first-child .lv3-proof-n{font-size:3.1rem}

/* 77 — Mobile hero: subtle left glow + soft outline so the portrait lifts off the dark bg; nudge content up */
.ss-hero-art-wrap{border-radius:18px;overflow:visible}
.ss-hero-art-wrap::before{content:"";position:absolute;left:-6%;top:6%;bottom:6%;width:46%;border-radius:40px;background:radial-gradient(ellipse at left center,rgba(255,255,255,.16),rgba(34,195,208,.08) 45%,transparent 72%);filter:blur(20px);pointer-events:none;z-index:0}
/* Issue 272: the inset 1px white outline drew a crisp rounded-rectangle line on all four sides;
   over the mask-faded bottom edge it read as a pale seam between the portrait and the dark hero.
   Removed — the left-glow box-shadow + ::before glow already lift the portrait off the dark bg, and
   the radial mask now fades the bottom cleanly into the hero with no exposed container edge. */
.ss-hero-art-wrap .lv3m-hero-art{position:relative;z-index:1;border-radius:1rem;box-shadow:-14px 0 44px -20px rgba(255,255,255,.35),0 26px 60px -28px rgba(0,0,0,.7)}
.ss-hero{padding-top:64px}
.ss-hero .lv3m-hero-art-wrap{margin-top:0.375rem;margin-bottom:0.875rem}
.ss-hero .lv3m-hero-content{margin-top:0.125rem}

/* 78 — Mobile founder "Disclaimer" link + popup (mirrors desktop) */
.lv3m-disc-link{display:inline-flex;align-items:center;gap:0.375rem;margin-top:0.875rem;padding:0.375rem 0;background:none;border:0;border-bottom:1px solid rgba(47,211,223,.35);font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:#2FD3DF;cursor:pointer}
.lv3m-disc-overlay{position:absolute;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1.375rem;background:rgba(6,7,9,.74);backdrop-filter:blur(6px);animation:lv3fadein .2s ease}
.lv3m-disc-pop{position:relative;width:100%;max-width:21.25rem;background:linear-gradient(168deg,#15171d,#0c0d11);border:1px solid var(--ink-600);border-top:3px solid #22C3D0;border-radius:1rem;padding:1.5rem 1.375rem;box-shadow:0 30px 80px -24px rgba(0,0,0,.85)}
.lv3m-disc-x{position:absolute;top:0.6875rem;right:0.6875rem;width:1.875rem;height:1.875rem;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--ink-600);color:#fff;cursor:pointer;z-index:2}
.lv3m-disc-k{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.65625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2FD3DF}
.lv3m-disc-d{font-family:var(--font-sans);font-size:.9rem;line-height:1.6;color:var(--fg-on-dark-2);margin:0.75rem 0 0;text-wrap:pretty}

/* ===================== SMILE STYLIST round-4 additions ===================== */
/* Mobile hero: lift content higher so the meta isn't at the bottom edge; allow title to flow */
.ss-hero{padding-top:50px}
.ss-hero .lv3m-hero-art-wrap{margin-top:0.125rem;margin-bottom:0.75rem}
.ss-hero .lv3m-hero-content{margin-top:0}
.ss-hero .lv3m-hero-h span{display:inline}
.ss-hero .lv3m-hero-h{font-size:2.8rem;line-height:.96;letter-spacing:-.02em}
.ss-hero .lv3m-hero-lead{margin-top:0.75rem}
.ss-hero .lv3m-hero-meta{margin-top:1rem}

/* Mobile conversion journey — clean redesign (scoped ss-cv): clear accent, no dull gradient, room to breathe */
.ss-cv .lv3m-cv-micropanel{margin-top:0.5625rem}
.ss-cv .lv3m-cv-micropanel-s{color:#eef1f4;font-size:.9rem;max-width:30ch;font-weight:450}
.ss-cv .lv3m-cv-journey{gap:0}
.ss-cv .lv3m-cv-step{min-height:0;align-items:center;gap:0.9375rem;padding:1.0625rem 1.0625rem;border-radius:1rem;overflow:hidden;
  background:linear-gradient(180deg,rgba(30,32,40,.94),rgba(15,16,21,.96)) !important;
  border:1px solid color-mix(in srgb,var(--acc) 38%,rgba(255,255,255,.05)) !important;
  border-left:3px solid var(--acc) !important;
  box-shadow:0 12px 26px -18px rgba(0,0,0,.85) !important;backdrop-filter:blur(8px)}
.ss-cv .lv3m-cv-step::before,.ss-cv .lv3m-cv-step::after{display:none !important}
.ss-cv .lv3m-cv-step-node{width:3rem;height:3rem;flex:none;background:color-mix(in srgb,var(--acc) 24%,#0c0d11) !important;border:2px solid var(--acc) !important;box-shadow:0 0 18px -5px color-mix(in srgb,var(--acc) 75%,transparent) !important}
.ss-cv .lv3m-cv-step-body{gap:0.3125rem;flex:1;min-width:0}
.ss-cv .lv3m-cv-step-k{white-space:normal;font-size:1.02rem;font-weight:600;line-height:1.18;color:#fff}
.ss-cv .lv3m-cv-step-vl{font-size:0.625rem;letter-spacing:.1em;color:color-mix(in srgb,var(--acc) 72%,#ffffff)}
.ss-cv .lv3m-cv-step-v{font-family:var(--font-display);font-weight:700;font-size:1.7rem;line-height:1;color:#fff;flex:none;margin-left:0.5rem}
.ss-cv .lv3m-cv-step-v.is-range{font-size:1.18rem}

/* Mobile strategic takeaway — a bit bigger; icon larger + yellow (set in JSX) */
.lv3m-takeaway{padding:1.1875rem 1.1875rem}
.lv3m-takeaway-k{font-size:0.71875rem;color:#FFC93C}
.lv3m-takeaway-d{font-size:.97rem;line-height:1.62}

/* Mobile VSM — remove CSS glow on top of the image, enlarge ~20%, stronger caption */
.ss-vsm .lv3m-expand-phone-glow{display:none !important}
.ss-vsm .lv3m-vsm-promo-m{width:116%;max-width:116%;margin-left:-8%;filter:drop-shadow(0 22px 46px rgba(10,11,13,.5))}
.ss-vsm .lv3m-vsm-cap{font-size:0.875rem;font-weight:700;letter-spacing:.07em;color:#e8ebef;margin-top:0.875rem}

/* Desktop VSM — drop the coloured halo for consistency (no coloured drop shadow) */
.lv3-vsm-vis .lv3-expand-phonehero-glow{display:none !important}

/* ===================== SMILE STYLIST round-5 additions ===================== */
/* Desktop VSM image — much bigger, centred in its column */
.lv3-vsm-promo{width:122% !important;max-width:none !important;margin-left:-11% !important}
/* Mobile disclaimer — sit closer under the meta line (move the whole lower group up) */
.lv3m-disc-link{margin-top:0.4375rem !important}
/* Mobile VSM — nudge the image to visually centre (it reads left), and pull it up; halve the gap to the button */
.ss-vsm .lv3m-expand-phonewrap{margin-top:0.875rem;overflow:hidden}
/* Enlarge the smile-simulation composite so the neon ring reads as the focal
   point. Centred; the wrap clips the image's transparent/dark margin so the
   bigger image causes no horizontal page overflow and the ring keeps clearance. */
.ss-vsm .lv3m-vsm-promo-m{width:128%;max-width:128%;margin-left:0;transform:none}
.ss-vsm .lv3m-expand-btns{margin-top:0.875rem}

/* ===================== SMILE STYLIST round-6 ===================== */
/* Desktop VSM image dramatically bigger: widen its grid column + scale the image well past it */
.ss-vsm-d{grid-template-columns:.92fr 1.08fr !important;gap:40px !important}
.ss-vsm-d .lv3-expand-copy{max-width:520px}
.ss-vsm-d .lv3-vsm-promo{width:104% !important;max-width:none !important;margin-left:-2% !important}
.ss-vsm-d .lv3-vsm-cap{font-size:14px}

/* ========================================================================
   TLKSHOP case study — desktop (tlk-) + mobile (mtlk-) styling
   Reuses lv3 section primitives (d-sec, d-wrap, lv3-hero, ds-btn, ds-eyebrow).
   ======================================================================== */
.tlk-root .lv3-hero{background:#070708}
.tlk-sec-eb{margin-bottom:30px}
.tlk-hero-logo{height:84px;width:auto;display:block;margin:0 0 4px}
.tlk-hero-cat{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#9B8CFF;margin:0 0 20px}
.tlk-hero-vis{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px}
.tlk-hero-sculpt-glow{position:absolute;inset:2% 6%;background:radial-gradient(circle at 56% 46%,rgba(255,0,94,.34),rgba(131,53,193,.22) 42%,transparent 68%);filter:blur(40px);pointer-events:none}
.tlk-hero-sculpt{position:relative;z-index:1;width:auto;height:clamp(420px,42vw,580px);max-width:100%;display:block;filter:drop-shadow(0 40px 80px rgba(0,0,0,.6))}
.tlk-hero-floatphone{position:absolute;z-index:2;right:2%;bottom:0;width:clamp(150px,15vw,212px);height:auto;filter:drop-shadow(0 30px 56px rgba(0,0,0,.7));animation:tlkfloat 6s ease-in-out infinite}
@keyframes tlkfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}

/* proof strip */
.tlk-proofsec{background:var(--ink-900)}
.tlk-proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tlk-proof-cell{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:26px 22px;border-radius:var(--r-lg,20px);border:1px solid var(--ink-600);background:linear-gradient(168deg,rgba(255,255,255,.04),rgba(255,255,255,.012));cursor:pointer;text-align:left;transition:border-color .3s,transform .25s,box-shadow .3s;overflow:hidden}
.tlk-proof-cell::after{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.tlk-proof-cell.is-active::after,.tlk-proof-cell.is-open::after,.tlk-proof-cell:hover::after{transform:scaleX(1)}
.tlk-proof-cell.is-active,.tlk-proof-cell:hover{border-color:color-mix(in srgb,var(--acc) 55%,transparent);transform:translateY(-3px);box-shadow:0 24px 50px -28px rgba(0,0,0,.8),0 0 28px -16px color-mix(in srgb,var(--acc) 70%,transparent)}
.tlk-proof-ic{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 32%,transparent)}
.tlk-proof-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.18rem;letter-spacing:-.01em;color:#fff;line-height:1.05}
.tlk-proof-d{font-family:var(--font-sans);font-size:.9rem;line-height:1.45;color:var(--fg-on-dark-2)}
.tlk-proof-cue{margin-top:6px;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.tlk-proof-overlay{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(5,6,8,.74);backdrop-filter:blur(7px);animation:lv3fadein .2s ease}
.tlk-proof-panel{position:relative;display:flex;gap:30px;align-items:center;max-width:760px;width:100%;background:linear-gradient(168deg,#15171d,#0c0d11);border:1px solid var(--ink-600);border-top:3px solid var(--acc);border-radius:22px;padding:34px;box-shadow:0 50px 100px -30px rgba(0,0,0,.85)}
.tlk-proof-panel-x{position:absolute;top:14px;right:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--ink-600);color:#fff;cursor:pointer;z-index:2}
.tlk-proof-panel-img{width:230px;height:auto;flex:none;border-radius:18px;display:block;filter:drop-shadow(0 30px 56px rgba(0,0,0,.6))}
.tlk-proof-panel-k{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.tlk-proof-panel-d{font-family:var(--font-sans);font-size:1.05rem;line-height:1.6;color:var(--fg-on-dark-2);margin:12px 0 0;text-wrap:pretty}

/* thesis (light) */
.tlk-thesis{background:var(--paper)}
.tlk-thesis-head{margin-bottom:46px}
.tlk-thesis-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:start}
.tlk-thesis-col{border:1px solid var(--line-200);border-radius:20px;padding:30px 30px;background:#fff}
.tlk-thesis-col--thesis{background:linear-gradient(165deg,#141017,#0c0d11);border-color:transparent}
.tlk-thesis-tag{display:inline-block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:16px}
.tlk-thesis-tag--problem{color:var(--fg-on-light-3)}
.tlk-thesis-tag--thesis{color:#22C3D0}
.tlk-thesis-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.tlk-thesis-list li{display:flex;align-items:flex-start;gap:11px;font-family:var(--font-sans);font-size:1.02rem;line-height:1.45;color:var(--fg-on-light-2)}
.tlk-thesis-list li svg{margin-top:3px;flex:none}
.tlk-thesis-copy{font-family:var(--font-sans);font-size:1.18rem;line-height:1.6;color:#fff;margin:0;text-wrap:pretty}
.tlk-thesis-col--thesis .tlk-thesis-copy .ds-accent{color:#FF3D81}

/* core journey (dark) */
.tlk-jrsec{background:#070708}
.tlk-jrsec-head{margin-bottom:50px;max-width:64ch}
.tlk-jr{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center}
.tlk-jr-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:560px}
.tlk-jr-phoneglow{position:absolute;inset:8% 14%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 40%,transparent),transparent 66%);filter:blur(40px);transition:background .6s var(--ease)}
.tlk-jr-phone{position:absolute;width:clamp(230px,22vw,300px);height:auto;display:block;opacity:0;transform:translateY(18px) scale(.97);transition:opacity .6s var(--ease),transform .6s var(--ease);filter:drop-shadow(0 40px 70px rgba(0,0,0,.7))}
.tlk-jr-phone.is-on{opacity:1;transform:none}
.tlk-jr-steps{display:flex;flex-direction:column;gap:6px}
.tlk-jr-step{position:relative;display:flex;align-items:center;gap:18px;padding:18px 20px;border:0;background:none;cursor:pointer;text-align:left;border-radius:16px;transition:background .3s}
.tlk-jr-step.is-sel{background:rgba(255,255,255,.04)}
.tlk-jr-step-rail{position:absolute;left:39px;top:-6px;bottom:-6px;width:2px;background:var(--ink-600)}
.tlk-jr-step:first-child .tlk-jr-step-rail{top:50%}
.tlk-jr-step:last-child .tlk-jr-step-rail{bottom:50%}
.tlk-jr-step.is-done .tlk-jr-step-rail,.tlk-jr-step.is-sel .tlk-jr-step-rail{background:var(--acc)}
.tlk-jr-step-dot{position:relative;z-index:1;width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:#0c0d11;border:2px solid var(--acc);transition:background .3s,box-shadow .3s}
.tlk-jr-step.is-sel .tlk-jr-step-dot{background:var(--acc);box-shadow:0 0 22px -4px var(--acc)}
.tlk-jr-step-body{display:flex;flex-direction:column;gap:3px}
.tlk-jr-step-n{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.14em;color:var(--acc)}
.tlk-jr-step-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.32rem;letter-spacing:-.01em;color:#fff;line-height:1;opacity:.7;transition:opacity .3s}
.tlk-jr-step.is-sel .tlk-jr-step-k{opacity:1}
.tlk-jr-step-d{font-family:var(--font-sans);font-size:.92rem;color:var(--fg-on-dark-2)}

/* architecture (light) */
.tlk-arch{background:var(--paper-2,#f4f2ef)}
.tlk-arch-head{margin-bottom:46px}
.tlk-arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tlk-arch-card{position:relative;background:#fff;border:1px solid var(--line-200);border-top:3px solid var(--acc);border-radius:20px;padding:30px 28px}
.tlk-arch-step{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--acc)}
.tlk-arch-ic{display:flex;width:50px;height:50px;border-radius:14px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,transparent);margin:14px 0 16px}
.tlk-arch-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.32rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:0 0 16px}
.tlk-arch-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.tlk-arch-items li{display:flex;align-items:center;gap:11px;font-family:var(--font-sans);font-size:.98rem;color:var(--fg-on-light-2)}
.tlk-arch-items li i{width:7px;height:7px;border-radius:50%;flex:none}
.tlk-arch-flow{position:absolute;right:-17px;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border-radius:50%;background:#fff;border:1px solid var(--line-200);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm,0 2px 8px rgba(0,0,0,.08))}
.tlk-arch-grid > .tlk-arch-card:last-child .tlk-arch-flow{display:none}

/* multimodal entry (light) */
.tlk-entrysec{background:var(--paper)}
.tlk-entrysec-head{margin-bottom:36px}
.tlk-entry-tabs{display:inline-flex;gap:6px;padding:6px;border-radius:var(--r-pill);background:var(--paper-2,#f0eee9);border:1px solid var(--line-200);margin-bottom:34px}
.tlk-entry-tab{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border:0;background:none;border-radius:var(--r-pill);font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-light-2);cursor:pointer;transition:background .25s,color .25s}
.tlk-entry-tab.is-sel{background:#101015;color:#fff}
.tlk-entry-stage{display:grid;grid-template-columns:.7fr 1fr;gap:48px;align-items:center}
.tlk-entry-vis{position:relative;display:flex;justify-content:center}
.tlk-entry-glow{position:absolute;inset:0 18%;background:radial-gradient(circle at 50% 46%,rgba(131,53,193,.22),transparent 64%);filter:blur(34px)}
.tlk-entry-phone{position:relative;width:clamp(220px,20vw,272px);height:auto;display:block;filter:drop-shadow(0 36px 64px rgba(10,11,13,.32));animation:lv3mfade .5s var(--ease)}
.tlk-entry-step{display:inline-flex;align-items:center;gap:9px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8335C1}
.tlk-entry-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2rem;letter-spacing:-.015em;color:var(--fg-on-light);margin:12px 0 12px;line-height:1.02}
.tlk-entry-d{font-family:var(--font-sans);font-size:1.08rem;line-height:1.6;color:var(--fg-on-light-2);max-width:46ch}

/* feature deep dives (paired phones) */
.tlk-feat--dark{background:#070708}
.tlk-feat--light{background:var(--paper)}
.tlk-feat-in{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.tlk-feat--rev .tlk-feat-in{grid-template-columns:1fr 1fr}
.tlk-feat-copy .lv3-lede{margin-top:20px}
.tlk-feat-chips{list-style:none;margin:24px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.tlk-feat-chips li{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:9px 15px;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03)}
.tlk-feat-vis--pair{position:relative;display:flex;align-items:center;justify-content:center;min-height:520px}
.tlk-feat-glow{position:absolute;inset:6% 12%;border-radius:50%;background:radial-gradient(circle,rgba(131,53,193,.34),rgba(255,0,94,.14) 46%,transparent 66%);filter:blur(40px)}
.tlk-feat-glow--light{background:radial-gradient(circle,rgba(255,0,94,.16),transparent 62%)}
.tlk-feat-phone{position:absolute;width:clamp(220px,21vw,286px);height:auto;display:block;filter:drop-shadow(0 40px 72px rgba(0,0,0,.6))}
.tlk-feat-phone--back{transform:translate(-30%,-6%) rotate(-7deg) scale(.9);opacity:.85;z-index:1}
.tlk-feat-phone--front{transform:translate(24%,8%) rotate(5deg);z-index:2}

/* retention (dark) */
.tlk-retsec{background:#070708}
.tlk-retsec-head{margin-bottom:46px;max-width:60ch}
.tlk-ret-grid{display:grid;grid-template-columns:.7fr 1fr;gap:52px;align-items:center}
.tlk-ret-vis{position:relative;display:flex;justify-content:center}
.tlk-ret-glow{position:absolute;inset:4% 16%;border-radius:50%;background:radial-gradient(circle,rgba(255,102,0,.28),rgba(131,53,193,.16) 48%,transparent 66%);filter:blur(38px)}
.tlk-ret-phone{position:relative;width:clamp(230px,22vw,290px);height:auto;display:block;filter:drop-shadow(0 40px 72px rgba(0,0,0,.7))}
.tlk-ret-side{display:flex;flex-direction:column;gap:30px}
.tlk-ret-tags{display:flex;flex-wrap:wrap;gap:10px}
.tlk-ret-tag{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:10px 16px;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03)}
.tlk-ret-loop{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:22px 24px;border:1px solid var(--ink-600);border-radius:18px;background:linear-gradient(120deg,rgba(255,102,0,.08),rgba(255,255,255,.02))}
.tlk-ret-loop-node{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:.92rem;letter-spacing:.02em;color:#fff}

/* what we designed (light) */
.tlk-designed{background:var(--paper-2,#f4f2ef)}
.tlk-designed-head{margin-bottom:44px}
.tlk-designed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tlk-designed-card{background:#fff;border:1px solid var(--line-200);border-radius:18px;padding:28px 26px;transition:transform .25s,box-shadow .3s}
.tlk-designed-card:hover{transform:translateY(-3px);box-shadow:0 22px 44px -26px rgba(10,11,13,.3)}
.tlk-designed-ic{display:flex;width:48px;height:48px;border-radius:13px;align-items:center;justify-content:center;background:rgba(131,53,193,.1);border:1px solid rgba(131,53,193,.24);margin-bottom:16px}
.tlk-designed-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.2rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:0 0 9px}
.tlk-designed-d{font-family:var(--font-sans);font-size:.96rem;line-height:1.5;color:var(--fg-on-light-2);margin:0}

/* private walkthrough (editorial dark) */
.tlk-walk{position:relative;background:#070708;overflow:hidden}
.tlk-walk-imgwrap{position:absolute;inset:0;z-index:0}
.tlk-walk-imgwrap img{position:absolute;right:0;top:0;height:100%;width:auto;max-width:62%;object-fit:cover;object-position:center}
.tlk-walk-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#070708 32%,rgba(7,7,8,.7) 54%,rgba(7,7,8,.25) 100%)}
.tlk-walk-in{display:flex}
.tlk-walk-copy{max-width:600px}
.tlk-walk-copy .lv3-lede{margin:20px 0 28px}

/* close cta */
.tlk-cta{background:#070708}
.tlk-cta-logo,.mtlk-cta-logo{height:2.875rem;width:auto;display:block;margin:0 auto 1.375rem}

/* ================= TLKSHOP mobile ================= */
.tlk-mroot .lv3m-hero{background:#070708}
.mtlk-hero-art-wrap{position:relative;display:flex;justify-content:center;margin:0.25rem 0 0.875rem}
.mtlk-hero-art-glow{position:absolute;inset:-4% 8%;background:radial-gradient(circle at 54% 46%,rgba(255,0,94,.3),rgba(131,53,193,.18) 46%,transparent 68%);filter:blur(30px)}
.mtlk-hero-sculpt{position:relative;z-index:1;width:74%;max-width:18.75rem;height:auto;display:block;filter:drop-shadow(0 30px 56px rgba(0,0,0,.6))}
/* Issue 101: coordinated content-group scale-up (left-aligned, hierarchy intact). */
.mtlk-hero-logo{height:3.25rem;width:auto;display:block;margin:0 0 0.6875rem}
.mtlk-hero-cat{font-family:var(--font-mono);font-size:0.74rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:#9B8CFF;margin:0 0 0.95rem}

.mtlk-rev{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.mtlk-rev.is-in{opacity:1;transform:none}

.mtlk-proofsec{background:var(--ink-900)}
.mtlk-proof{display:flex;flex-direction:column;gap:0.75rem;margin-top:1.375rem}
.mtlk-proof-card{border:1px solid var(--ink-600);border-left:3px solid var(--acc);border-radius:0.875rem;background:linear-gradient(168deg,rgba(255,255,255,.04),rgba(255,255,255,.012));overflow:hidden}
.mtlk-proof-top{display:flex;align-items:center;gap:0.8125rem;width:100%;padding:1rem 1rem;background:none;border:0;cursor:pointer;text-align:left}
.mtlk-proof-ic{width:2.625rem;height:2.625rem;border-radius:0.6875rem;flex:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.mtlk-proof-body{flex:1;display:flex;flex-direction:column;gap:0.1875rem;min-width:0}
.mtlk-proof-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.4rem;color:#fff;line-height:1.05}
.mtlk-proof-d{font-family:var(--font-sans);font-size:1rem;line-height:1.4;color:var(--fg-on-dark-2)}
.mtlk-proof-chev{flex:none;transition:transform .3s}
.mtlk-proof-card.is-open .mtlk-proof-chev{transform:rotate(180deg)}
.mtlk-proof-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.mtlk-proof-bd-in{overflow:hidden;position:relative}
/* Issue 14: phone sits in its own layer; the paragraph renders ABOVE the phone
   drop-shadow (z-index) with extra clearance so no copy is darkened. */
.mtlk-proof-bd-in img{position:relative;z-index:1;width:62%;max-width:13.125rem;display:block;margin:0.25rem auto 1.75rem;border-radius:0.875rem;filter:drop-shadow(0 14px 26px rgba(0,0,0,.55))}
.mtlk-proof-bd-in p{position:relative;z-index:2;font-family:var(--font-sans);font-size:1.06rem;line-height:1.55;color:var(--fg-on-dark-2);margin:0 1rem 1.125rem;text-wrap:pretty}

.mtlk-thesis{background:var(--paper)}
.mtlk-thesis-card{margin-top:1.125rem;border:1px solid var(--line-200);border-radius:1rem;padding:1.25rem 1.125rem;background:#fff}
.mtlk-thesis-card--thesis{background:linear-gradient(165deg,#141017,#0c0d11);border-color:transparent}
.mtlk-thesis-tag{display:inline-block;font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:0.8125rem;color:var(--fg-on-light-3)}
.mtlk-thesis-tag--t{color:#22C3D0}
.mtlk-thesis-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.75rem}
.mtlk-thesis-list li{display:flex;align-items:flex-start;gap:0.625rem;font-family:var(--font-sans);font-size:.96rem;line-height:1.4;color:var(--fg-on-light-2)}
.mtlk-thesis-list li svg{margin-top:0.1875rem;flex:none}
.mtlk-thesis-card--thesis p{font-family:var(--font-sans);font-size:1.04rem;line-height:1.55;color:#fff;margin:0;text-wrap:pretty}
.mtlk-thesis-card--thesis .ds-accent{color:#FF3D81}

.mtlk-jrsec{background:#070708}
.mtlk-jr{margin-top:1.375rem}
.mtlk-jr-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:23.75rem}
.mtlk-jr-glow{position:absolute;inset:6% 18%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 38%,transparent),transparent 66%);filter:blur(34px);transition:background .6s var(--ease)}
.mtlk-jr-phone{position:absolute;width:auto;height:22.5rem;max-width:78%;object-fit:contain;display:block;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease);filter:drop-shadow(0 34px 60px rgba(0,0,0,.7))}
.mtlk-jr-phone.is-on{opacity:1;transform:none}
.mtlk-jr-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4375rem;margin-top:1.125rem}
.mtlk-jr-step{display:inline-flex;align-items:center;gap:0.4375rem;padding:0.5625rem 0.8125rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03);cursor:pointer;transition:background .3s,border-color .3s}
.mtlk-jr-step.is-sel{background:color-mix(in srgb,var(--acc) 22%,transparent);border-color:color-mix(in srgb,var(--acc) 60%,transparent)}
.mtlk-jr-step-n{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;color:var(--acc)}
.mtlk-jr-step-k{font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#fff}
.mtlk-jr-cap{margin-top:1.25rem;display:flex;flex-direction:column;align-items:center;gap:0.4375rem;text-align:center;animation:lv3mfade .5s var(--ease)}
.mtlk-jr-cap-ic{width:2.375rem;height:2.375rem;border-radius:0.6875rem;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 16%,transparent);border:1px solid color-mix(in srgb,var(--acc) 36%,transparent)}
.mtlk-jr-cap-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.3rem;letter-spacing:-.01em;color:#fff}
.mtlk-jr-cap-d{font-family:var(--font-sans);font-size:.92rem;color:var(--fg-on-dark-2);max-width:30ch}

.mtlk-arch{background:var(--paper-2,#f4f2ef)}
.mtlk-arch-card{margin-top:0.875rem;background:#fff;border:1px solid var(--line-200);border-left:3px solid var(--acc);border-radius:1rem;padding:1.125rem 1.125rem}
.mtlk-arch-top{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.875rem}
.mtlk-arch-ic{width:2.625rem;height:2.625rem;border-radius:0.6875rem;flex:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 28%,transparent)}
.mtlk-arch-step{font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.12em;color:var(--acc)}
.mtlk-arch-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.16rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:0;flex:1}
.mtlk-arch-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0.625rem}
.mtlk-arch-items li{display:flex;align-items:center;gap:0.5625rem;font-family:var(--font-sans);font-size:.9rem;color:var(--fg-on-light-2)}
.mtlk-arch-items li i{width:0.375rem;height:0.375rem;border-radius:50%;flex:none}

.mtlk-entrysec{background:#f4f3f7}
.mtlk-entrysec .ds-eyebrow{color:#7C3AED}
.mtlk-entrysec .m-sec-h .ds-accent{background:linear-gradient(102deg,#7C3AED 0%,#9B30C9 42%,#FF005E 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}
.mtlk-entry{margin-top:1.375rem}
.mtlk-entry-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0.625rem;background:none;border:0;padding:0;overflow:visible}
.mtlk-entry-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.625rem;min-width:0;padding:1.0625rem 0.375rem;border:1px solid var(--line-200);background:#fff;border-radius:1.125rem;box-shadow:0 10px 24px -16px rgba(10,11,13,.42);cursor:pointer;transition:background .25s var(--ease),border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}
.mtlk-entry-tab-ic{display:flex;align-items:center;justify-content:center;height:1.75rem}
.mtlk-entry-tab-k{font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#4f545f;white-space:nowrap;line-height:1}
.mtlk-entry-tab.is-sel{background:#101015;border-color:#101015;box-shadow:0 16px 30px -14px rgba(0,0,0,.55)}
.mtlk-entry-tab.is-sel .mtlk-entry-tab-k{color:#fff}
.mtlk-entry-stage{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:1.625rem}
.mtlk-entry-glow{position:absolute;top:6%;left:50%;transform:translateX(-50%);width:78%;height:62%;background:radial-gradient(circle,rgba(124,58,237,.20),transparent 66%);filter:blur(34px)}
.mtlk-entry-phonewrap{position:relative;width:100%;height:27.625rem;margin-bottom:1.375rem}
.mtlk-entry-phone{position:absolute;top:0;left:50%;transform:translateX(-50%) scale(.985);width:auto;height:27.625rem;max-width:86%;object-fit:contain;display:block;opacity:0;transition:opacity .42s var(--ease),transform .42s var(--ease);filter:drop-shadow(0 36px 60px rgba(10,11,13,.34))}
.mtlk-entry-phone.is-on{opacity:1;transform:translateX(-50%) scale(1)}
.mtlk-entry-cap{display:flex;flex-direction:column;align-items:center;text-align:center;animation:lv3mfade .4s var(--ease)}
.mtlk-entry-step{display:inline-flex;align-items:center;gap:0.5rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#8335C1}
.mtlk-entry-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.7rem;letter-spacing:-.015em;color:var(--fg-on-light);margin:0.6875rem 0 0;line-height:1.04}
.mtlk-entry-rule{display:block;width:2.5rem;height:0.1875rem;border-radius:0.1875rem;background:#8335C1;margin:0.8125rem 0 0.875rem}
.mtlk-entry-d{font-family:var(--font-sans);font-size:.98rem;line-height:1.55;color:var(--fg-on-light-2);max-width:38ch}

.mtlk-feat--dark{background:#070708}
.mtlk-feat--light{background:var(--paper)}
.mtlk-feat-phonewrap{position:relative;display:flex;justify-content:center;margin-top:1.375rem}
.mtlk-feat-glow{position:absolute;inset:-2% 16%;border-radius:50%;background:radial-gradient(circle,rgba(131,53,193,.3),rgba(255,0,94,.14) 48%,transparent 66%);filter:blur(32px)}
.mtlk-feat-glow--light{background:radial-gradient(circle,rgba(255,0,94,.14),transparent 62%)}
.mtlk-feat-phone{position:relative;width:auto;height:23.75rem;max-width:80%;object-fit:contain;display:block;filter:drop-shadow(0 34px 62px rgba(0,0,0,.55))}
.mtlk-feat-chips{list-style:none;margin:1.375rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center}
.mtlk-feat-chips li{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:0.5rem 0.8125rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03)}

.mtlk-retsec{background:#070708}
.mtlk-ret-tags{display:flex;flex-wrap:wrap;gap:0.5rem;justify-content:center;margin-top:1.25rem}
.mtlk-ret-tag{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--fg-on-dark-2);padding:0.5rem 0.8125rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.03)}
.mtlk-ret-loop{margin-top:1.25rem;display:flex;flex-direction:column;align-items:center;gap:0.5625rem;padding:1.25rem;border:1px solid var(--ink-600);border-radius:1rem;background:linear-gradient(160deg,rgba(255,102,0,.08),rgba(255,255,255,.02))}
.mtlk-ret-loop-node{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:.95rem;color:#fff}

.mtlk-designed{background:var(--paper-2,#f4f2ef)}
.mtlk-designed-card{margin-top:0.75rem;display:flex;align-items:flex-start;gap:0.875rem;background:#fff;border:1px solid var(--line-200);border-radius:0.875rem;padding:1rem 1rem}
.mtlk-designed-ic{width:2.625rem;height:2.625rem;border-radius:0.6875rem;flex:none;display:flex;align-items:center;justify-content:center;background:rgba(131,53,193,.1);border:1px solid rgba(131,53,193,.24)}
.mtlk-designed-t{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.05rem;color:var(--fg-on-light);margin-bottom:0.3125rem}
.mtlk-designed-d{display:block;font-family:var(--font-sans);font-size:.88rem;line-height:1.45;color:var(--fg-on-light-2)}

.mtlk-walk{position:relative;background:#070708;overflow:hidden}
.mtlk-walk-imgwrap{position:absolute;inset:0;z-index:0}
.mtlk-walk-imgwrap img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center}
.mtlk-walk-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,8,.55) 0%,rgba(7,7,8,.82) 55%,#070708 100%)}
.mtlk-walk-btns,.mtlk-walk + .mtlk-cta .mtlk-walk-btns{display:flex;flex-direction:column;gap:0.6875rem;margin-top:1.375rem}
.mtlk-walk-btns .ds-btn{width:100%;justify-content:center}
.mtlk-cta{background:var(--ink-900);text-align:center}
.mtlk-cta .mtlk-walk-btns{align-items:stretch}
.lv3m-cta-sub,.mtlk-cta .lv3m-cta-sub{margin:0.75rem auto 0}

/* TLKSHOP hero fixes: stack the long Role/Scope/Status meta (no nowrap overflow under the art) + blend the sculpture's white backdrop */
.tlk-hero-meta{flex-direction:column;align-items:flex-start;gap:16px;flex-wrap:wrap}
.tlk-hero-meta .lv3-meta-div{display:none}
.tlk-hero-meta .lv3-meta-item{max-width:100%}
.tlk-hero-sculpt{-webkit-mask-image:radial-gradient(ellipse 72% 70% at 52% 46%,#000 56%,transparent 82%);mask-image:radial-gradient(ellipse 72% 70% at 52% 46%,#000 56%,transparent 82%)}

/* ===== TLKSHOP hero rebuild (concierge-image hero, single column, equal CTAs) ===== */

.tlk-hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.tlk-hero-bg img{position:absolute;right:0;top:0;height:100%;width:auto;max-width:64%;object-fit:cover;object-position:center right}
.tlk-hero-bg-scrim{position:absolute;inset:0;background:linear-gradient(95deg,#070708 26%,rgba(7,7,8,.78) 48%,rgba(7,7,8,.30) 72%,rgba(7,7,8,.55) 100%)}
.tlk-hero-in{display:block !important;position:relative;z-index:2}
.tlk-hero-in .lv3-hero-copy{max-width:620px}
.tlk-hero-h{margin:6px 0 0;line-height:1}
.tlk-hero-logo{height:74px;width:auto;max-width:440px;display:block;object-fit:contain}
.tlk-hero-cat{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#B9A9FF;margin:18px 0 18px}
.tlk-hero-meta{flex-direction:row;flex-wrap:wrap;gap:14px 34px;align-items:flex-start}
.tlk-hero-meta .lv3-meta-item{max-width:300px}
.tlk-hero-cta .ds-btn{min-width:264px;justify-content:center}
@media (max-width:980px){.tlk-hero-bg img{max-width:50%;opacity:.5}}

/* mobile hero editorial image (framed concierge, not a flat white block) */
.mtlk-hero-editorial{position:relative;z-index:1;width:84%;max-width:21.25rem;height:auto;display:block;border-radius:1.125rem;box-shadow:0 30px 60px -26px rgba(0,0,0,.7);outline:1px solid rgba(255,255,255,.08);outline-offset:-1px}
.mtlk-hero-art-glow{inset:-6% 4%}

/* mobile walkthrough buttons equal width (already full width); desktop walkthrough/cta CTAs equal */
.tlk-walk .lv3-hero-cta .ds-btn,.tlk-cta .lv3-cta-btns .ds-btn{min-width:264px;justify-content:center}

/* TLKSHOP equal-width CTA pairs (hero, walkthrough, close) */
.tlk-hero-cta,.tlk-walk .lv3-hero-cta,.tlk-cta .lv3-cta-btns{display:flex;gap:14px;flex-wrap:wrap}
.tlk-hero-cta .ds-btn,.tlk-walk .lv3-hero-cta .ds-btn,.tlk-cta .lv3-cta-btns .ds-btn{flex:1 1 0;min-width:240px;max-width:330px;justify-content:center;white-space:nowrap}

/* ===== TLKSHOP hero — mirrors Lip Doctor two-column hero ===== */
.tlk-hero-glow{background:radial-gradient(circle at 64% 40%,rgba(255,0,94,.32),rgba(131,53,193,.16) 44%,transparent 70%) !important}
.tlk-hero-h{margin:0 0 4px}
.tlk-hero-logo{height:78px;width:auto;max-width:430px;display:block;object-fit:contain}
.tlk-hero-cat{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#B9A9FF;margin:14px 0 22px}
.tlk-hero-meta{flex-direction:column;align-items:flex-start;gap:14px}
.tlk-hero-meta .lv3-meta-item{gap:5px}
.tlk-hero-meta .lv3-meta-v{white-space:normal;line-height:1.35;max-width:340px}
.tlk-hero-art-glow{background:radial-gradient(circle at 56% 46%,rgba(255,0,94,.32),rgba(131,53,193,.18) 46%,transparent 64%) !important}
.tlk-hero-art{max-width:520px}
/* skills ticker — text items, mono, dot separators */
.tlk-tick-item{display:inline-flex;align-items:center;gap:30px;padding:0 30px;font-family:var(--font-mono);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-2);white-space:nowrap}
.tlk-tick-dot{width:5px;height:5px;border-radius:50%;background:#8335C1;box-shadow:0 0 8px 1px rgba(131,53,193,.7);flex:none}
.tlk-tick .lv3-tick-fade{display:none}

/* ===== TLKSHOP round-7: ticker size match, hero edge glow, proof glass panels, arch icon/stage ===== */
/* ticker: match Lip Doctor item spacing/height */
.tlk-tick-item{gap:0;padding:0 38px;font-size:13px}
.tlk-tick .lv3-tick-track,.tlk-tick-track{align-items:center}
.tlk-tick{padding:18px 0}
/* hero image: subtle white edge glow so it lifts off the dark bg */
.tlk-hero-art{box-shadow:-18px 0 50px -26px rgba(255,255,255,.4),0 50px 90px -30px rgba(0,0,0,.7);outline:1px solid rgba(255,255,255,.08);outline-offset:-1px}
/* meta: equal, consistent rows */
.tlk-hero-meta{display:grid;grid-template-columns:1fr;gap:0}
.tlk-hero-meta .lv3-meta-item{padding:13px 0;border-top:1px solid var(--ink-600);gap:6px}
.tlk-hero-meta .lv3-meta-item:last-child{border-bottom:1px solid var(--ink-600)}
.tlk-hero-meta .lv3-meta-k{font-size:10px}
.tlk-hero-meta .lv3-meta-v{font-size:.92rem;max-width:380px}

/* proof: glassy see-through cells + brighter screen on hover */
.tlk-proof-cell{background:linear-gradient(168deg,rgba(255,255,255,.07),rgba(255,255,255,.02));backdrop-filter:blur(10px)}
.tlk-proof-cell .tlk-proof-ic{transition:transform .3s,box-shadow .3s}
.tlk-proof-cell:hover .tlk-proof-ic,.tlk-proof-cell.is-active .tlk-proof-ic{transform:scale(1.08);box-shadow:0 0 24px -6px color-mix(in srgb,var(--acc) 90%,transparent)}
/* proof MODAL: bigger, brighter, glassy, with CTA */
.tlk-proof-panel{gap:38px;max-width:840px;padding:40px;background:linear-gradient(168deg,rgba(32,34,42,.82),rgba(12,13,17,.88));backdrop-filter:blur(22px);border:1px solid color-mix(in srgb,var(--acc) 30%,rgba(255,255,255,.08));border-top:3px solid var(--acc);box-shadow:0 50px 120px -28px rgba(0,0,0,.9),0 0 80px -30px color-mix(in srgb,var(--acc) 70%,transparent)}
.tlk-proof-panel-img{width:auto;max-width:300px;max-height:430px;border-radius:22px;filter:drop-shadow(0 30px 60px rgba(0,0,0,.55)) brightness(1.14) saturate(1.08);animation:tlkpanelpop .42s cubic-bezier(.2,.9,.3,1.2)}
@keyframes tlkpanelpop{from{opacity:0;transform:scale(.86) translateY(10px)}to{opacity:1;transform:none}}
.tlk-proof-panel-k{font-size:14px}
.tlk-proof-panel-d{font-size:1.16rem;line-height:1.62;color:#eef1f4}
.tlk-proof-panel-cta{margin-top:22px}

/* architecture: keep icon visible on hover (white icon on accent fill) + five-phone stage */
.tlk-arch-stage{margin:0 0 44px;text-align:center}
.tlk-arch-stage img{width:100%;max-width:980px;height:auto;display:block;margin:0 auto;filter:drop-shadow(0 40px 70px rgba(10,11,13,.28))}
.tlk-arch-card:hover .tlk-arch-ic{background:var(--acc);box-shadow:0 0 26px -6px var(--acc)}
.tlk-arch-card:hover .tlk-arch-ic svg{stroke:#fff !important;color:#fff !important}

/* ===== TLKSHOP round-8: walkthrough/close CTA glow + sizing, mobile hero image, meta fit ===== */
/* fix CTA pairs: natural Lip-Doctor sizing (no nowrap overflow), with bg glow on dark CTA sections */
.tlk-hero-cta .ds-btn,.tlk-walk .lv3-hero-cta .ds-btn,.tlk-cta .lv3-cta-btns .ds-btn{flex:0 1 auto;min-width:0;max-width:none;white-space:normal}
.tlk-walk,.tlk-cta{position:relative}
.tlk-cta::before{content:"";position:absolute;left:50%;top:46%;width:62%;height:110%;transform:translate(-50%,-50%);background:radial-gradient(ellipse at center,rgba(255,255,255,.14),rgba(255,255,255,.05) 42%,transparent 70%);filter:blur(46px);pointer-events:none;z-index:0}
.tlk-walk-in,.tlk-cta .lv3-cta-in{position:relative;z-index:2}
.tlk-cta-logo{height:42px}

/* mobile hero: use the main concierge image, framed with soft edge so it lifts off black */
/* Issue 101: outer white glow substantially reduced (separation now comes from the
   brighter backing behind the card, added below) — card edge reads via tonal contrast. */
.mtlk-hero-main{position:relative;z-index:1;width:92%;max-width:23.75rem;height:auto;display:block;border-radius:1.125rem;box-shadow:0 30px 60px -26px rgba(0,0,0,.7);outline:1px solid rgba(255,255,255,.10);outline-offset:-1px}
.mtlk-hero-art-glow{inset:-4% 2%;background:radial-gradient(circle at 54% 46%,rgba(255,0,94,.28),rgba(131,53,193,.16) 46%,transparent 66%)}
/* mobile meta: 3 clean stacked rows, full text readable */
.tlk-mroot .lv3m-hero-meta{display:flex;flex-direction:column;gap:0;margin-top:0.875rem}
.tlk-mroot .lv3m-hero-meta > div{flex-direction:column;align-items:flex-start;gap:0.25rem;padding:0.6875rem 0;border-top:1px solid var(--ink-600)}
.tlk-mroot .lv3m-hero-meta > div:last-child{border-bottom:1px solid var(--ink-600)}
.tlk-mroot .lv3m-meta-k{font-size:0.59375rem;letter-spacing:.12em}
.tlk-mroot .lv3m-meta-v{font-size:.86rem;line-height:1.35;white-space:normal}

/* ===== TLKSHOP round-9: thesis dynamism + designed cards ===== */
.tlk-thesis-blue{display:inline-block;width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,#22C3D0,#3B82F6);box-shadow:0 0 10px 1px rgba(59,130,246,.7);margin-right:9px;vertical-align:middle}
.tlk-thesis-col--thesis{display:flex;flex-direction:column;justify-content:center;gap:0;padding:36px 34px}
.tlk-thesis-copy{font-size:1.28rem}
.tlk-thesis-flow{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.tlk-thesis-flow-node{font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff;padding:8px 13px;border:1px solid rgba(255,255,255,.16);border-radius:var(--r-pill);background:rgba(255,255,255,.04)}
.tlk-thesis-list li{padding:13px 0;border-bottom:1px solid var(--line-100);font-size:1.05rem}
.tlk-thesis-list li:last-child{border-bottom:0}
.tlk-thesis-col--problem{background:linear-gradient(180deg,#fff,#faf9f7)}
/* designed cards: numbered, accent top, stronger hover */
.tlk-designed-card{position:relative;border-top:3px solid #8335C1;overflow:hidden}
.tlk-designed-num{position:absolute;top:18px;right:22px;font-family:var(--font-display);font-weight:900;font-size:2.4rem;line-height:1;color:rgba(131,53,193,.12);letter-spacing:-.02em}
.tlk-designed-card:hover .tlk-designed-num{color:rgba(131,53,193,.22)}

/* ========================================================================
   TLKSHOP round-10: hero ticker/buttons, proof divider strip, journey hover,
   thesis redesign, action modal, architecture 3-node system
   ======================================================================== */
/* S1 hero: equal CTAs */
.tlk-root .lv3-hero-cta .ds-btn{flex:1 1 0;min-width:262px;max-width:300px;justify-content:center}
/* S1 meta brighter */
.tlk-hero-meta .lv3-meta-k{color:#9aa1ad}
.tlk-hero-meta .lv3-meta-v{color:#fff;font-weight:600}
/* S1 ticker: bigger dot + gap, slower, not clipped */
.tlk-tick{padding:20px 0;min-height:62px}
.tlk-tick-item{gap:14px;padding:0 30px;font-size:13px;line-height:1}
.tlk-tick-dot{width:7px;height:7px;box-shadow:0 0 10px 1px rgba(131,53,193,.85)}
.tlk-tick-track{animation-duration:95s}

/* S2 proof: divider-based strip (no cards), active line at BOTTOM, compact */
.tlk-proofsec{padding-top:46px !important;padding-bottom:54px !important}
.tlk-sec-eb{margin-bottom:22px}
.tlk-proof-row{gap:0;border-top:1px solid var(--ink-600)}
.tlk-proof-cell{background:none !important;backdrop-filter:none !important;border:0 !important;border-right:1px solid var(--ink-600) !important;border-radius:0 !important;padding:26px 28px 28px;transform:none !important;box-shadow:none !important}
.tlk-proof-row > .tlk-proof-cell:last-child{border-right:0 !important}
.tlk-proof-cell::after{top:auto !important;bottom:0 !important}
.tlk-proof-cell:hover,.tlk-proof-cell.is-active{transform:none !important;box-shadow:none !important;background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--acc) 7%,transparent)) !important}
.tlk-proof-ic{width:42px;height:42px;border-radius:11px}

/* S3 core journey hover: keep icon visible (white) on active filled circle */
.tlk-jr-step.is-sel .tlk-jr-step-dot{background:var(--acc)}
.tlk-jr-step.is-sel .tlk-jr-step-dot svg,.tlk-jr-step.is-sel .tlk-jr-step-dot [data-lucide]{stroke:#fff !important;color:#fff !important}
.mtlk-jr-step.is-sel .mtlk-jr-step-n{color:#fff}

/* S6 action layer: reduce phone shadow ~35% */
.tlk-action-vis .tlk-feat-phone{filter:drop-shadow(0 30px 52px rgba(0,0,0,.4))}
.tlk-action-peek{position:absolute;z-index:4;left:50%;bottom:8%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.18);background:rgba(16,17,22,.82);backdrop-filter:blur(8px);color:#fff;font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;box-shadow:0 14px 30px -14px rgba(0,0,0,.6)}
.tlk-action-peek:hover{background:rgba(28,30,38,.92)}
.tlk-action-cta{margin-top:26px}

/* S5 thesis redesign (centered) */
.tlk-thesis-head--center{text-align:center;max-width:none;margin-bottom:30px}
.tlk-thesis-head--center .ds-eyebrow{justify-content:center}
.tlk-thesis-stage{margin:0 auto;max-width:1000px}
.tlk-thesis-stage img{width:100%;height:auto;display:block;filter:drop-shadow(0 40px 70px rgba(10,11,13,.22))}
.tlk-thesis-intro{text-align:center;max-width:680px;margin:64px auto 0}
.tlk-thesis-introeb{justify-content:center;color:#8335C1}
.tlk-thesis-introh{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem,3vw,2.4rem);letter-spacing:-.015em;color:var(--fg-on-light);margin:14px 0 14px;line-height:1.05}
.tlk-thesis-introd{font-family:var(--font-sans);font-size:1.08rem;line-height:1.6;color:var(--fg-on-light-2);margin:0}
.tlk-thesis-feats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;max-width:1040px;margin:44px auto 0}
.tlk-thesis-feat{display:flex;align-items:flex-start;gap:13px;text-align:left}
.tlk-thesis-feat-ic{width:42px;height:42px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px -8px currentColor}
.tlk-thesis-feat-t{font-family:var(--font-sans);font-weight:700;font-size:1rem;color:var(--fg-on-light)}
.tlk-thesis-feat-d{font-family:var(--font-sans);font-size:.96rem;line-height:1.4;color:var(--fg-on-light-2)}
.tlk-thesis-jr{display:grid;grid-template-columns:repeat(5,1fr);gap:0;max-width:1040px;margin:56px auto 0}
.tlk-thesis-jr-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 10px}
.tlk-thesis-jr-ic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line-200);box-shadow:0 6px 16px -8px rgba(10,11,13,.2);position:relative;z-index:2}
.tlk-thesis-jr-line{position:absolute;top:27px;left:60%;width:80%;height:2px;z-index:1;border-radius:2px}
.tlk-thesis-jr-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:.95rem;letter-spacing:.02em;color:var(--fg-on-light);margin-top:16px}
.tlk-thesis-jr-d{font-family:var(--font-sans);font-size:.84rem;line-height:1.4;color:var(--fg-on-light-3);margin-top:5px;max-width:18ch}

/* S7 product architecture — 3-node system */
.tlk-arch-head--center{text-align:center;max-width:none;margin-bottom:14px}
.tlk-arch-head--center .ds-eyebrow{justify-content:center}
.tlk-arch-h{font-size:clamp(2.4rem,4.6vw,3.6rem)}
.tlk-arch2{--acc:#22C3D0}
.tlk-arch2-rail{position:relative;display:grid;grid-template-columns:repeat(3,1fr);justify-items:center;margin:60px 0 44px;padding:0 8%}
.tlk-arch2-line{position:absolute;left:0;right:0;top:50%;height:2px;background:linear-gradient(90deg,rgba(10,11,13,.1),rgba(10,11,13,.14));transform:translateY(-50%);overflow:hidden}
.tlk-arch2-line-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#22C3D0,#8335C1 52%,#FF005E);transition:width 1s var(--ease);box-shadow:0 0 12px 1px rgba(131,53,193,.5)}
.tlk-arch2-node{position:relative;width:74px;height:74px;border-radius:50%;border:0;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.tlk-arch2-node-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 45%,transparent),transparent 68%);opacity:0;transition:opacity .4s}
.tlk-arch2-node.is-on .tlk-arch2-node-glow{opacity:1}
.tlk-arch2-node-in{position:relative;z-index:1;width:64px;height:64px;border-radius:50%;background:#fff;border:1px solid var(--line-200);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -12px rgba(10,11,13,.25);transition:border-color .35s,box-shadow .35s}
.tlk-arch2-node.is-on .tlk-arch2-node-in{border-color:color-mix(in srgb,var(--acc) 60%,transparent);box-shadow:0 0 26px -4px color-mix(in srgb,var(--acc) 75%,transparent)}
.tlk-arch2-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:0 2%}
.tlk-arch2-col{cursor:default}
.tlk-arch2-num{font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;color:#b6bcc6;transition:color .35s}
.tlk-arch2-col.is-on .tlk-arch2-num{color:var(--acc)}
.tlk-arch2-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.34rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:8px 0 12px;transition:color .35s}
.tlk-arch2-col.is-on .tlk-arch2-k{color:var(--acc)}
.tlk-arch2-d{font-family:var(--font-sans);font-size:1rem;line-height:1.55;color:var(--fg-on-light-2);margin:0;max-width:34ch}
.tlk-arch2-items{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease);margin-top:0}
.tlk-arch2-items-in{overflow:hidden;display:flex;flex-direction:column;gap:11px;padding-top:0;list-style:none}
.tlk-arch2-col.is-on .tlk-arch2-items-in{padding-top:20px}
.tlk-arch2-item{display:flex;align-items:center;gap:11px;font-family:var(--font-sans);font-size:.98rem;color:var(--fg-on-light-2)}
.tlk-arch2-item i{width:7px;height:7px;border-radius:50%;flex:none}

/* action-layer outreach modal */
.tlk-out-overlay{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:30px;background:rgba(5,6,8,.72);backdrop-filter:blur(8px);animation:lv3fadein .2s ease}
.tlk-out{position:relative;width:min(880px,100%);max-height:88vh;overflow:hidden;background:linear-gradient(168deg,#15171d,#0c0d11);border:1px solid var(--ink-600);border-top:3px solid #FF005E;border-radius:22px;box-shadow:0 50px 120px -28px rgba(0,0,0,.9);display:flex;flex-direction:column}
.tlk-out-x{position:absolute;top:14px;right:14px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--ink-600);color:#fff;cursor:pointer;z-index:3}
.tlk-out-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 56px 18px 24px;border-bottom:1px solid var(--ink-600)}
.tlk-out-brand{display:inline-flex;align-items:center;gap:11px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
.tlk-out-brand img{width:24px;height:24px;border-radius:7px}
.tlk-out-state{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#22D67F}
.tlk-out-state i{width:7px;height:7px;border-radius:50%;background:#22D67F;box-shadow:0 0 8px 1px rgba(34,214,127,.8)}
.tlk-out-body{display:grid;grid-template-columns:1.4fr .85fr;gap:0;overflow:auto}
.tlk-out-mail{padding:24px 26px;border-right:1px solid var(--ink-600)}
.tlk-out-row{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--ink-700,rgba(255,255,255,.05))}
.tlk-out-lbl{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);width:64px;flex:none}
.tlk-out-val{font-family:var(--font-sans);font-size:.96rem;color:#fff}
.tlk-out-subj{font-weight:600}
.tlk-out-msg{margin-top:16px}
.tlk-out-msg p{font-family:var(--font-sans);font-size:.96rem;line-height:1.6;color:var(--fg-on-dark);margin:0 0 13px}
.tlk-out-sign{color:#fff !important;font-weight:600}
.tlk-out-sign span{color:#22C3D0;font-weight:500}
.tlk-out-actions{margin-top:18px}
.tlk-out-side{padding:24px 22px;display:flex;flex-direction:column;gap:16px;background:rgba(255,255,255,.015)}
.tlk-out-meta{display:flex;flex-direction:column;gap:10px}
.tlk-out-meta-row{display:flex;justify-content:space-between;gap:12px;font-family:var(--font-sans);font-size:.84rem}
.tlk-out-meta-row span{color:var(--fg-on-dark-3)}
.tlk-out-meta-row b{color:#fff;font-weight:600;text-align:right}
.tlk-out-side-h{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2);margin-top:4px}
.tlk-out-thread{display:flex;flex-direction:column;gap:9px}
.tlk-out-thread-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid var(--ink-600);border-radius:12px;background:rgba(255,255,255,.02)}
.tlk-out-thread-tag{font-family:var(--font-mono);font-size:8px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#0c0d11;padding:3px 6px;border-radius:5px;flex:none}
.tlk-out-thread-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.tlk-out-thread-body b{font-size:.82rem;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tlk-out-thread-body span{font-size:.74rem;color:var(--fg-on-dark-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tlk-out-thread-t{font-family:var(--font-mono);font-size:9px;color:var(--fg-on-dark-3);flex:none}
@media (max-width:760px){.tlk-out-body{grid-template-columns:1fr}.tlk-out-mail{border-right:0;border-bottom:1px solid var(--ink-600)}}

/* ===== TLKSHOP round-10 mobile parity ===== */
/* mobile thesis (centered redesign) */
.mtlk-thesis{background:var(--paper)}
.mtlk-thesis-head{text-align:center}
.mtlk-thesis-head .ds-eyebrow{justify-content:center}
/* Issue 15 (main): the authored two-line thesis heading was orphaning a 2-letter word
   ("be.") because the global 2.5rem display size overflowed each line. Scale the thesis
   heading slightly and let the browser balance the wrap so each clause reads as an even
   block with no orphan. Shared by TLKSHOP + Fastball thesis for parity. Exact pixel
   parity to the approved @2x reference could not be verified (asset not available). */
.mtlk-thesis-head .m-sec-h{font-size:2.1rem;line-height:1.0;text-wrap:balance}
.mtlk-thesis-stage{margin-top:1.375rem}
.mtlk-thesis-stage img{width:100%;height:auto;display:block;filter:drop-shadow(0 26px 50px rgba(10,11,13,.2))}
.mtlk-thesis-intro{text-align:center;margin-top:1.875rem}
/* Issue 15A-C: enlarge INTRODUCING (+40%), the heading (2 balanced lines), and the paragraph. */
.mtlk-thesis-introeb{justify-content:center;color:#8335C1;font-size:1.12rem}
.mtlk-thesis-introh{font-family:var(--font-display);font-weight:800;font-size:1.95rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:0.625rem 0 0.625rem;line-height:1.05}
.mtlk-thesis-introd{font-family:var(--font-sans);font-size:1.08rem;line-height:1.6;color:var(--fg-on-light-2);margin:0}
.mtlk-thesis-feats{display:grid;grid-template-columns:1fr 1fr;gap:1.125rem 0.875rem;margin-top:1.875rem}
.mtlk-thesis-feat{display:flex;flex-direction:column;gap:0.5rem}
.mtlk-thesis-feat-ic{width:2.375rem;height:2.375rem;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mtlk-thesis-feat-t{font-family:var(--font-sans);font-weight:700;font-size:.92rem;color:var(--fg-on-light)}
.mtlk-thesis-feat-d{font-family:var(--font-sans);font-size:.86rem;line-height:1.35;color:var(--fg-on-light-2)}
.mtlk-thesis-jr{margin-top:2rem;display:flex;flex-direction:column;gap:0}
.mtlk-thesis-jr-step{position:relative;display:flex;align-items:flex-start;gap:0.875rem;padding-bottom:1.375rem}
.mtlk-thesis-jr-ic{width:2.875rem;height:2.875rem;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line-200);box-shadow:0 4px 12px -6px rgba(10,11,13,.2);position:relative;z-index:2}
.mtlk-thesis-jr-line{position:absolute;left:1.4375rem;top:2.875rem;bottom:0;width:0.125rem;background:linear-gradient(180deg,var(--acc,#8335C1),transparent);z-index:1}
.mtlk-thesis-jr-body{padding-top:0.25rem}
.mtlk-thesis-jr-k{display:block;font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.02rem;color:var(--fg-on-light)}
.mtlk-thesis-jr-d{display:block;font-family:var(--font-sans);font-size:.86rem;line-height:1.4;color:var(--fg-on-light-3);margin-top:0.1875rem}
/* mobile journey active icon stays visible */
.mtlk-jr-step.is-sel .mtlk-jr-step-n,.mtlk-jr-step.is-sel .mtlk-jr-step-k{color:#fff}
/* mobile arch accordion */
.mtlk-arch2{margin-top:1.125rem;display:flex;flex-direction:column;gap:0.75rem}
.mtlk-arch2-card{border:1px solid var(--line-200);border-left:3px solid var(--acc);border-radius:0.875rem;background:#fff;overflow:hidden}
.mtlk-arch2-top{display:flex;align-items:center;gap:0.8125rem;width:100%;padding:1rem;background:none;border:0;cursor:pointer;text-align:left;transition:background .3s}
.mtlk-arch2-card.is-open .mtlk-arch2-top{background:var(--acc)}
.mtlk-arch2-ic{width:2.5rem;height:2.5rem;border-radius:0.6875rem;flex:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 12%,transparent);border:1px solid color-mix(in srgb,var(--acc) 26%,transparent);transition:background .3s,border-color .3s}
.mtlk-arch2-card.is-open .mtlk-arch2-ic{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.3)}
.mtlk-arch2-head{flex:1;display:flex;flex-direction:column;gap:0.1875rem;min-width:0}
.mtlk-arch2-num{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.12em;color:var(--acc);transition:color .3s}
.mtlk-arch2-card.is-open .mtlk-arch2-num{color:rgba(255,255,255,.85)}
.mtlk-arch2-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.08rem;color:var(--fg-on-light);transition:color .3s}
.mtlk-arch2-card.is-open .mtlk-arch2-k{color:#fff}
.mtlk-arch2-chev{flex:none;transition:transform .3s}
.mtlk-arch2-card.is-open .mtlk-arch2-chev{transform:rotate(180deg)}
.mtlk-arch2-card.is-open .mtlk-arch2-chev svg{stroke:#fff !important}
.mtlk-arch2-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.mtlk-arch2-bd-in{overflow:hidden}
.mtlk-arch2-d{font-family:var(--font-sans);font-size:.92rem;line-height:1.5;color:var(--fg-on-light-2);margin:0;padding:1rem 1rem 0.25rem}
.mtlk-arch2-items{list-style:none;margin:0;padding:0.375rem 1rem 1.125rem;display:grid;grid-template-columns:1fr 1fr;gap:0.625rem}
.mtlk-arch2-items li{display:flex;align-items:center;gap:0.5rem;font-family:var(--font-sans);font-size:.86rem;color:var(--fg-on-light-2)}
.mtlk-arch2-items li i{width:0.375rem;height:0.375rem;border-radius:50%;flex:none}
/* mobile action peek + reduced shadow */
.mtlk-action-vis .mtlk-feat-phone{filter:drop-shadow(0 22px 40px rgba(0,0,0,.32))}
.mtlk-action-peek{position:absolute;z-index:3;left:50%;bottom:4%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:0.4375rem;padding:0.625rem 1rem;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.18);background:rgba(16,17,22,.85);color:#fff;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;cursor:pointer}
/* mobile outreach modal — mirrors desktop tlk-out (single column, fits phone) */
.mtlk-out-overlay{position:absolute;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:1rem;background:rgba(5,6,8,.72);backdrop-filter:blur(6px);animation:lv3fadein .2s ease}
.mtlk-out{position:relative;width:100%;max-height:calc(100% - 2rem);overflow:auto;background:linear-gradient(168deg,#15171d,#0c0d11);border:1px solid var(--ink-600);border-top:3px solid #FF005E;border-radius:1.125rem;box-shadow:0 30px 70px -20px rgba(0,0,0,.72);animation:mtlkup .32s var(--ease)}
@keyframes mtlkup{from{transform:translateY(26px);opacity:.5}to{transform:none;opacity:1}}
.mtlk-out-x{position:absolute;top:0.75rem;right:0.75rem;z-index:3;width:1.875rem;height:1.875rem;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);border:1px solid var(--ink-600);color:#fff;cursor:pointer}
.mtlk-out-head{position:sticky;top:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:0.4375rem;padding:0.9375rem 3.125rem 0.875rem 1rem;border-bottom:1px solid var(--ink-600);background:#15171d}
.mtlk-out-brand{display:inline-flex;align-items:center;gap:0.5625rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#fff}
.mtlk-out-brand img{width:1.375rem;height:1.375rem;border-radius:0.375rem;flex:none}
.mtlk-out-state{display:inline-flex;align-items:center;gap:0.4375rem;font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#22D67F}
.mtlk-out-state i{width:0.4375rem;height:0.4375rem;border-radius:50%;background:#22D67F;box-shadow:0 0 8px 1px rgba(34,214,127,.8)}
.mtlk-out-body{display:block}
.mtlk-out-mail{padding:1.125rem 1rem;border-bottom:1px solid var(--ink-600)}
.mtlk-out-row{display:flex;gap:0.75rem;padding:0.5rem 0;border-bottom:1px solid rgba(255,255,255,.05)}
.mtlk-out-lbl{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-on-dark-3);width:3.625rem;flex:none;padding-top:0.1875rem}
.mtlk-out-val{font-family:var(--font-sans);font-size:.92rem;color:#fff;line-height:1.4}
.mtlk-out-subj{font-weight:600}
.mtlk-out-msg{margin-top:0.875rem}
.mtlk-out-msg p{font-family:var(--font-sans);font-size:.92rem;line-height:1.58;color:var(--fg-on-dark);margin:0 0 0.6875rem}
.mtlk-out-sign{color:#fff !important;font-weight:600}
.mtlk-out-sign span{color:#22C3D0;font-weight:500}
.mtlk-out-actions{margin-top:1rem}
.mtlk-out-actions .ds-btn{width:100%;justify-content:center}
.mtlk-out-side{padding:1.125rem 1rem 1.375rem;display:flex;flex-direction:column;gap:0.9375rem;background:rgba(255,255,255,.015)}
.mtlk-out-meta{display:flex;flex-direction:column;gap:0.5625rem}
.mtlk-out-meta-row{display:flex;justify-content:space-between;gap:0.75rem;font-family:var(--font-sans);font-size:.82rem}
.mtlk-out-meta-row span{color:var(--fg-on-dark-3)}
.mtlk-out-meta-row b{color:#fff;font-weight:600;text-align:right}
.mtlk-out-side-h{font-family:var(--font-mono);font-size:0.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2)}
.mtlk-out-thread{display:flex;flex-direction:column;gap:0.5rem}
.mtlk-out-thread-row{display:flex;align-items:center;gap:0.5625rem;padding:0.625rem;border:1px solid var(--ink-600);border-radius:0.6875rem;background:rgba(255,255,255,.02)}
.mtlk-out-thread-tag{font-family:var(--font-mono);font-size:0.5rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#0c0d11;padding:0.1875rem 0.375rem;border-radius:0.3125rem;flex:none}
.mtlk-out-thread-body{flex:1;display:flex;flex-direction:column;gap:0.125rem;min-width:0}
.mtlk-out-thread-body b{font-size:.8rem;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtlk-out-thread-body span{font-size:.72rem;color:var(--fg-on-dark-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtlk-out-thread-t{font-family:var(--font-mono);font-size:0.5625rem;color:var(--fg-on-dark-3);flex:none}

/* ===== TLKSHOP round-11: hero buttons, ticker, proof top line, architecture, close CTA glow ===== */
/* hero CTA buttons: like Lip Doctor — single line, equal width, NOT thick */
.tlk-hero .lv3-hero-cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}

/* ticker: bigger text (+~40%), more item spacing, alternating dot colors, bottom rule lower */
.tlk-tick-item{gap:18px;padding:0 42px;font-size:18px}
.tlk-tick-dot{width:8px;height:8px}
.tlk-tick-item:nth-child(3n+1) .tlk-tick-dot{background:#8335C1;box-shadow:0 0 10px 1px rgba(131,53,193,.85)}
.tlk-tick-item:nth-child(3n+2) .tlk-tick-dot{background:#FF6600;box-shadow:0 0 10px 1px rgba(255,102,0,.8)}
.tlk-tick-item:nth-child(3n+3) .tlk-tick-dot{background:#22C3D0;box-shadow:0 0 10px 1px rgba(34,195,208,.8)}
.tlk-tick{padding:22px 0;border-bottom:1px solid var(--ink-600)}
/* proof: remove the TOP border line — keep only middle separators (like Lip Doctor) */
.tlk-proof-row{border-top:0 !important}
/* product architecture: numbers always coloured, bigger icons, animated colour-segment line, CTA */
.tlk-arch2-num{color:var(--acc) !important}
.tlk-arch2-line{background:linear-gradient(90deg,rgba(34,195,208,.28),rgba(131,53,193,.28) 50%,rgba(255,0,94,.28)) !important}
.tlk-arch2-line-fill{width:33.34% !important;left:0;background:linear-gradient(90deg,var(--seg-a,#22C3D0),var(--seg-b,#8335C1)) !important;transition:left 1.1s var(--ease),background .6s var(--ease)}
.tlk-arch2-node.is-lit .tlk-arch2-node-glow{opacity:1}
.tlk-arch2-node.is-lit .tlk-arch2-node-in{border-color:color-mix(in srgb,var(--acc) 60%,transparent);box-shadow:0 0 26px -4px color-mix(in srgb,var(--acc) 75%,transparent)}
.tlk-arch2-cta{display:flex;justify-content:center;margin-top:50px}

/* round-11b: walkthrough boxed image (like hero) + close CTA centered buttons */
.tlk-walk{position:relative;background:#070708;overflow:hidden}
.tlk-walk-glow{position:absolute;top:-10%;right:-6%;width:60%;height:120%;background:radial-gradient(circle at 64% 40%,rgba(131,53,193,.26),rgba(255,0,94,.12) 46%,transparent 70%);filter:blur(30px);pointer-events:none;z-index:0}
.tlk-walk-in{display:grid;grid-template-columns:1.04fr .96fr;gap:48px;align-items:center}
.tlk-walk-copy{max-width:600px}
.tlk-walk-vis .tlk-hero-art{max-width:560px;border-radius:var(--r-lg)}
.tlk-cta .lv3-cta-in{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}
.tlk-cta .lv3-cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.tlk-cta .lv3-cta-btns .ds-btn{flex:0 0 auto;white-space:nowrap;justify-content:center}

/* ===== TLKSHOP round-12: ticker above fold, equal hero buttons, dynamic thesis strip, arch align, walkthrough image ===== */
/* ticker above the fold: shrink hero to content height so the ticker shows without scrolling */

/* hero CTAs: EQUAL length, side by side, single line */
.tlk-hero .lv3-hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:640px;align-items:stretch}
.tlk-hero .lv3-hero-cta .ds-btn{width:100%;min-width:0;max-width:none;white-space:nowrap;justify-content:center;padding-left:22px;padding-right:22px;font-size:.82rem;letter-spacing:.09em}

/* thesis journey strip — dynamic: hover scales/colours the icon, line shimmer */
.tlk-thesis-jr-step{transition:transform .3s var(--ease)}
.tlk-thesis-jr-ic{transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}
.tlk-thesis-jr-step:hover .tlk-thesis-jr-ic{transform:scale(1.14);border-color:color-mix(in srgb,var(--acc) 60%,transparent);box-shadow:0 10px 24px -8px color-mix(in srgb,var(--acc) 70%,transparent)}
.tlk-thesis-jr-step:hover .tlk-thesis-jr-ic svg{stroke:var(--acc) !important;color:var(--acc) !important}
.tlk-thesis-jr-step:hover .tlk-thesis-jr-k{color:var(--acc)}
.tlk-thesis-jr-line{overflow:hidden}
.tlk-thesis-jr-line::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.75),transparent);transform:translateX(-100%);animation:tlkshimmer 3.2s ease-in-out infinite}
@keyframes tlkshimmer{0%{transform:translateX(-100%)}60%,100%{transform:translateX(220%)}}
.tlk-thesis-jr-k{transition:color .3s}

/* architecture: node icons centred over each column (match rail grid to cols grid) */
.tlk-arch2-rail{padding:0 2% !important;column-gap:48px !important}
.tlk-arch2-node-in{width:70px;height:70px}
.tlk-arch2-node{width:80px;height:80px}

/* walkthrough: fill the image box (no white gradient), remove back glow, more space above buttons */
.tlk-walk-glow{display:none !important}
.tlk-walk-vis .tlk-hero-art{-webkit-mask-image:none !important;mask-image:none !important;object-fit:cover;width:100%;height:540px;max-width:none;max-height:none}
.tlk-walk-vis .tlk-hero-art-glow{display:none}
.tlk-walk .lv3-hero-cta{margin-top:40px}



/* ===== TLKSHOP round-13: proof popups — more see-through + dynamic + bigger screen ===== */
.tlk-proof-panel{gap:42px;max-width:880px;padding:42px;
  background:linear-gradient(155deg,color-mix(in srgb,var(--acc) 16%,rgba(20,22,28,.5)),rgba(12,13,17,.55) 60%) !important;
  backdrop-filter:blur(26px) saturate(1.2) !important;-webkit-backdrop-filter:blur(26px) saturate(1.2) !important;
  border:1px solid color-mix(in srgb,var(--acc) 36%,rgba(255,255,255,.12)) !important;
  border-top:3px solid var(--acc) !important;
  box-shadow:0 50px 130px -30px rgba(0,0,0,.8),0 0 100px -34px color-mix(in srgb,var(--acc) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.12) !important;overflow:hidden}
.tlk-proof-panel::before{content:"";position:absolute;top:-40%;right:-20%;width:70%;height:160%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 32%,transparent),transparent 66%);filter:blur(40px);pointer-events:none;z-index:0}
.tlk-proof-panel > *{position:relative;z-index:1}
.tlk-proof-panel-img{width:330px;border-radius:24px;filter:drop-shadow(0 36px 70px rgba(0,0,0,.6)) brightness(1.16) saturate(1.1)}
/* TLKSHOP popups only (images named tlk_phone_*): the fixed width + inherited
   max-height:430 (and default object-fit:fill) was forcing the portrait phones into a
   300x430 box (ratio 1.43) instead of their natural ~1.96, stretching them horizontally.
   width:auto lets max-width/max-height bound the image while preserving its intrinsic
   ratio. Scoped by src so the shared rule (and other case studies) stay untouched. */
.tlk-proof-panel-img[src*="tlk_phone"]{width:auto;height:auto;object-fit:contain}
.tlk-proof-panel-k{font-size:15px}
.tlk-proof-panel-d{font-size:1.2rem;line-height:1.62;color:#f3f5f8}
@media (max-width:760px){.tlk-proof-panel{flex-direction:column;text-align:center}.tlk-proof-panel-img{width:230px}}

/* ===== TLKSHOP round-14: proof popup — true see-through, white icon badge + label, one-line CTA ===== */
.tlk-proof-panel{background:linear-gradient(155deg,color-mix(in srgb,var(--acc) 14%,rgba(18,20,26,.34)),rgba(12,13,17,.32) 62%) !important;backdrop-filter:blur(22px) saturate(1.15) !important;-webkit-backdrop-filter:blur(22px) saturate(1.15) !important}
.tlk-proof-panel-badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;margin-bottom:16px;background:linear-gradient(150deg,color-mix(in srgb,var(--acc) 90%,#000),color-mix(in srgb,var(--acc) 60%,#000));box-shadow:0 0 30px -4px color-mix(in srgb,var(--acc) 85%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
.tlk-proof-panel-badge svg{position:relative;z-index:1;stroke:#fff !important;color:#fff !important}
.tlk-proof-panel-badge-glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 60%,transparent),transparent 68%);filter:blur(10px)}
.tlk-proof-panel-k{display:block;color:#fff !important;font-size:15px;letter-spacing:.12em}
.tlk-proof-panel-cta{white-space:nowrap}

/* round-14b: thesis feature highlights — description on its own line (desktop + mobile) */
.tlk-thesis-feat-t{display:block}
.tlk-thesis-feat-d{display:block;margin-top:2px}
.mtlk-thesis-feat-t{display:block}
.mtlk-thesis-feat-d{display:block;margin-top:0.125rem}

/* ===== TLKSHOP round-15: Multimodal entry — 4-column card grid (desktop, matches mockup) ===== */
.tlk-entry2{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.tlk-entry2-card{background:#fff;border:1px solid var(--line-200);border-radius:20px;padding:28px 26px 30px;box-shadow:0 18px 44px -30px rgba(10,11,13,.3);opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease),box-shadow .3s;display:flex;flex-direction:column}
.tlk-entry2.is-in .tlk-entry2-card{opacity:1;transform:none}
.tlk-entry2-card:hover{box-shadow:0 26px 54px -28px rgba(10,11,13,.38)}
.tlk-entry2-vis{display:flex;justify-content:center;margin-bottom:24px}
.tlk-entry2-phone{width:auto;height:330px;max-width:100%;object-fit:contain;display:block;filter:drop-shadow(0 26px 46px rgba(10,11,13,.28))}
.tlk-entry2-label{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#8335C1}
.tlk-entry2-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.34rem;letter-spacing:-.01em;color:var(--fg-on-light);margin:14px 0 12px;line-height:1.02}
.tlk-entry2-d{font-family:var(--font-sans);font-size:.96rem;line-height:1.55;color:var(--fg-on-light-2);margin:0}
@media (max-width:1080px){.tlk-entry2{grid-template-columns:repeat(2,1fr)}}

/* ===== TLKSHOP round-16: multimodal entry — label above card, taller card, bigger phone ===== */
.tlk-entry2-item{opacity:0;transform:translateY(20px);transition:opacity .6s var(--ease),transform .6s var(--ease);display:flex;flex-direction:column}
.tlk-entry2.is-in .tlk-entry2-item{opacity:1;transform:none}
.tlk-entry2-item .tlk-entry2-label{margin:0 0 14px 4px}
.tlk-entry2-item .tlk-entry2-card{opacity:1 !important;transform:none !important;padding:30px 26px 32px;flex:1}
.tlk-entry2-phone{height:390px}
@media (max-width:1080px){.tlk-entry2-phone{height:340px}}

/* ===== TLKSHOP round-17: proof popup — X top-right, white icon, no CTA glow, centered CTA ===== */
/* the round-13 ".tlk-proof-panel > *{position:relative}" rule was knocking the X out of its absolute top-right spot */
.tlk-proof-panel-x{position:absolute !important;top:16px !important;right:16px !important;left:auto !important;z-index:5 !important}
/* icon must render WHITE in the badge centre */
.tlk-proof-panel-badge{z-index:2}
.tlk-proof-panel-badge svg,.tlk-proof-panel-badge [data-lucide]{position:relative;z-index:2;stroke:#fff !important;color:#fff !important;fill:none}
.tlk-proof-panel-badge-glow{z-index:0}
/* CTA: no glow outside the button, text centred */
.tlk-proof-panel-cta{box-shadow:none !important;justify-content:center !important;text-align:center}
.tlk-proof-panel-cta:hover{box-shadow:none !important}

/* ===== TLKSHOP round-18: entry icons+dynamic, action clickable phones, LIGHT outreach modal ===== */
/* multimodal entry: bigger label icons + more dynamic (phone float + hover lift, crisper) */
.tlk-entry2-label svg{width:19px !important;height:19px !important}
.tlk-entry2-phone{filter:drop-shadow(0 20px 38px rgba(10,11,13,.22));image-rendering:auto;transition:transform .5s var(--ease)}
.tlk-entry2-item:nth-child(odd) .tlk-entry2-phone{animation:tlkfloat 6s ease-in-out infinite}
.tlk-entry2-item:nth-child(even) .tlk-entry2-phone{animation:tlkfloat 6s ease-in-out infinite .8s}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:translateY(-8px) scale(1.03)}
.tlk-entrysec{position:relative;overflow:hidden}
/* action layer: clickable phones (no pill), softer crisp shadow */
.tlk-action-clickable{cursor:pointer;transition:transform .35s var(--ease),filter .35s}
.tlk-action-vis:hover .tlk-action-clickable{filter:drop-shadow(0 26px 46px rgba(0,0,0,.34))}
.tlk-feat-phone{filter:drop-shadow(0 28px 50px rgba(0,0,0,.42))}
/* LIGHT outreach modal */
.tlk-out{background:#fff !important;border-top:3px solid #FF005E !important;border:1px solid var(--line-200)}
.tlk-out-head{background:#fff !important;border-bottom:1px solid var(--line-200) !important}
.tlk-out-brand{color:var(--fg-on-light) !important}
.tlk-out-brand img{border:1px solid var(--line-200)}
.tlk-out-state{color:#C2410C !important}
.tlk-out-state i{background:#FF8A1E !important;box-shadow:0 0 8px 1px rgba(255,138,30,.7) !important}
.tlk-out-x{background:var(--paper-2) !important;border:1px solid var(--line-200) !important;color:var(--fg-on-light-2) !important}
.tlk-out-mail{border-right:1px solid var(--line-200) !important}
.tlk-out-row{border-bottom:1px solid var(--line-100) !important}
.tlk-out-lbl{color:var(--fg-on-light-3) !important}
.tlk-out-val{color:var(--fg-on-light) !important}
.tlk-out-msg p{color:var(--fg-on-light-2) !important}
.tlk-out-sign{color:var(--fg-on-light) !important}
.tlk-out-sign span{color:#2563EB !important}
.tlk-out-side{background:var(--paper-2,#f4f2ef) !important}
.tlk-out-meta-row span{color:var(--fg-on-light-3) !important}
.tlk-out-meta-row b{color:var(--fg-on-light) !important}
.tlk-out-side-h{color:var(--fg-on-light-2) !important}
.tlk-out-thread-row{border:1px solid var(--line-200) !important;background:#fff !important;box-shadow:0 2px 8px -4px rgba(10,11,13,.12)}
.tlk-out-thread-body b{color:var(--fg-on-light) !important}
.tlk-out-thread-body span{color:var(--fg-on-light-3) !important}
.tlk-out-thread-t{color:var(--fg-on-light-3) !important}

/* ===== TLKSHOP round-19: crisp phones — drop perpetual float/scale that caused motion-blur rasterization ===== */
.tlk-entry2-item .tlk-entry2-phone,
.tlk-entry2-item:nth-child(odd) .tlk-entry2-phone,
.tlk-entry2-item:nth-child(even) .tlk-entry2-phone{animation:none !important}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:translateY(-8px) !important}
.tlk-entry2-phone{filter:drop-shadow(0 16px 30px rgba(10,11,13,.20)) !important;backface-visibility:hidden;transform:translateZ(0)}
.tlk-feat-phone{filter:drop-shadow(0 22px 38px rgba(0,0,0,.36)) !important;backface-visibility:hidden}

/* ===== TLKSHOP round-20: outreach modal mixed dark header/side + light mail, countdown btn, bigger entry icons, float ===== */
/* header DARK */
.tlk-out-head{background:#15171d !important;border-bottom:1px solid var(--ink-600) !important}
.tlk-out-brand{color:#fff !important}
.tlk-out-brand img{border:1px solid var(--ink-600) !important}
.tlk-out-x{background:rgba(255,255,255,.08) !important;border:1px solid var(--ink-600) !important;color:#fff !important}
/* SIDE DARK (revert) */
.tlk-out-side{background:#0f1115 !important;border-left:1px solid var(--ink-600)}
.tlk-out-meta-row span{color:var(--fg-on-dark-3) !important}
.tlk-out-meta-row b{color:#fff !important}
.tlk-out-side-h{color:var(--fg-on-dark-2) !important}
.tlk-out-thread-row{border:1px solid var(--ink-600) !important;background:rgba(255,255,255,.03) !important;box-shadow:none !important}
.tlk-out-thread-body b{color:#fff !important}
.tlk-out-thread-body span{color:var(--fg-on-dark-3) !important}
.tlk-out-thread-t{color:var(--fg-on-dark-3) !important}
/* MAIL stays light */
.tlk-out-mail{border-right:1px solid var(--line-200) !important}
/* countdown button: dark, no red glow, no click movement */
.tlk-out-send{background:#101015 !important;color:#fff !important;border:1px solid rgba(255,255,255,.16) !important;box-shadow:none !important;cursor:default;opacity:1 !important;gap:9px;font-variant-numeric:tabular-nums}
.tlk-out-send svg{stroke:#FF5C8A !important;color:#FF5C8A !important}
.tlk-out-send:active,.tlk-out-send:hover{transform:none !important;box-shadow:none !important}
/* entry label icons bigger */
.tlk-entry2-label{font-size:13px}
.tlk-entry2-label svg{width:24px !important;height:24px !important}
/* entry phones: gentle crisp float back + hover lift */
.tlk-entry2-item .tlk-entry2-phone{will-change:transform}
.tlk-entry2-item:nth-child(odd) .tlk-entry2-phone{animation:tlkfloat2 7s ease-in-out infinite !important}
.tlk-entry2-item:nth-child(even) .tlk-entry2-phone{animation:tlkfloat2 7s ease-in-out infinite 1s !important}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:translateY(-10px) scale(1.02) !important;animation-play-state:paused !important}
@keyframes tlkfloat2{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-10px,0)}}

/* ===== TLKSHOP round-21: "What we designed" -> Lip-Doctor full-stack cards; walkthrough button + image + bg; close CTA spacing ===== */
/* designed cards (match Lip Doctor "A full stack of growth") */
.tlk-designed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tlk-designed-card{position:relative;background:#fff;border:1px solid var(--line-200);border-radius:22px;padding:30px 30px 34px;box-shadow:0 20px 50px -34px rgba(10,11,13,.3);transition:transform .25s,box-shadow .3s;display:block;overflow:hidden}
.tlk-designed-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(10,11,13,.36)}
.tlk-designed-card::before{content:none}
.tlk-designed-ic{display:flex;width:54px;height:54px;border-radius:16px;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 13%,#fff);border:1px solid color-mix(in srgb,var(--acc) 22%,transparent);margin-bottom:50px}
.tlk-designed-num{position:absolute;top:30px;right:32px;font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.12em;color:#c4c8cf}
.tlk-designed-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.22rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 12px}
.tlk-designed-d{font-family:var(--font-sans);font-size:.98rem;line-height:1.55;color:var(--fg-on-light-2);margin:0;max-width:34ch}

/* walkthrough buttons: one line, bigger */
.tlk-walk-btn{white-space:nowrap;font-size:.82rem;padding-left:24px;padding-right:24px}
/* walkthrough image: fill the box bottom-left, crop white edges, no left gradient */
.tlk-walk-vis .tlk-hero-art{object-fit:cover !important;object-position:left bottom !important;width:100% !important;height:560px !important;transform:scale(1.08);transform-origin:left bottom;-webkit-mask-image:none !important;mask-image:none !important}
/* walkthrough background: subtle animated aurora drift (not network lines, no hard glow) */
.tlk-walk{position:relative;background:#070708;overflow:hidden}
.tlk-walk-glow{display:block !important;position:absolute;inset:-20% -10%;z-index:0;pointer-events:none;background:
  radial-gradient(40% 50% at 22% 30%,rgba(131,53,193,.18),transparent 70%),
  radial-gradient(38% 46% at 78% 72%,rgba(34,195,208,.14),transparent 70%),
  radial-gradient(34% 44% at 60% 20%,rgba(255,0,94,.10),transparent 72%);
  filter:blur(34px);background-size:200% 200%;animation:tlkaurora 22s ease-in-out infinite}
@keyframes tlkaurora{0%,100%{background-position:0% 0%}33%{background-position:60% 40%}66%{background-position:30% 80%}}

/* close CTA: push buttons down, more space below the sub copy */
.tlk-cta .lv3-cta-sub{margin-bottom:40px}
.tlk-cta .lv3-cta-btns{margin-top:8px}

/* ===== TLKSHOP round-22: send-btn states/white/glow, designed colors+dynamic icons+contrast, entry hover, walkthrough buttons+image ===== */
/* send button: white text+icon, glowing/working states, sent state */
.tlk-out-send{color:#fff !important;background:#101015 !important;border:1px solid rgba(255,255,255,.18) !important;box-shadow:none !important}
.tlk-out-send svg{stroke:#fff !important;color:#fff !important;transition:stroke .3s}
.tlk-out-send--count,.tlk-out-send--sending{animation:tlksendpulse 1.4s ease-in-out infinite}
@keyframes tlksendpulse{0%,100%{box-shadow:0 0 0 0 rgba(34,195,208,0)}50%{box-shadow:0 0 22px -1px rgba(34,195,208,.55)}}
.tlk-out-send--sending svg{animation:tlksendfly .9s ease-in-out infinite}
@keyframes tlksendfly{0%{transform:translate(0,0)}50%{transform:translate(3px,-2px)}100%{transform:translate(0,0)}}
.tlk-out-send--sent{border-color:rgba(34,214,127,.55) !important}
.tlk-out-send--sent svg{stroke:#22D67F !important;color:#22D67F !important}
/* designed cards: stronger contrast + dynamic icon */
.tlk-designed-card{border:1px solid var(--line-300,#e2ddd5) !important;box-shadow:0 24px 54px -30px rgba(10,11,13,.4) !important}
.tlk-designed-ic{animation:tlkicobob 5s ease-in-out infinite}
.tlk-designed-card:nth-child(2) .tlk-designed-ic{animation-delay:.6s}
.tlk-designed-card:nth-child(3) .tlk-designed-ic{animation-delay:1.2s}
.tlk-designed-card:nth-child(4) .tlk-designed-ic{animation-delay:.3s}
.tlk-designed-card:nth-child(5) .tlk-designed-ic{animation-delay:.9s}
.tlk-designed-card:nth-child(6) .tlk-designed-ic{animation-delay:1.5s}
.tlk-designed-card:hover .tlk-designed-ic{animation:tlkicopop .5s var(--ease)}
@keyframes tlkicobob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes tlkicopop{0%{transform:scale(1)}45%{transform:scale(1.14) rotate(-5deg)}100%{transform:scale(1)}}
/* entry phones: kill the disliked hover lift/scale; keep gentle float only */
.tlk-entry2-card:hover .tlk-entry2-phone{transform:none !important;animation-play-state:running !important}
/* walkthrough: equal one-line buttons + bigger left-anchored image (no white/gradient) */
.tlk-walk .lv3-hero-cta{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:560px;align-items:stretch}
.tlk-walk-btn{width:100%;white-space:nowrap;justify-content:center;font-size:.74rem;letter-spacing:.08em;padding-left:14px;padding-right:14px}
.tlk-walk-vis{overflow:hidden;border-radius:var(--r-lg);position:relative}
.tlk-walk-vis .tlk-hero-art{object-fit:cover !important;object-position:left center !important;width:100% !important;height:560px !important;transform:scale(1.2);transform-origin:left center;-webkit-mask-image:none !important;mask-image:none !important}

/* ===== TLKSHOP round-23: entry no hover move, proof CTA black/outline, arch left-align+bigger+no glow, designed title weight ===== */
/* entry phones: completely remove hover movement + the transition that made it jerky; keep only gentle float */
.tlk-entry2-phone{transition:none !important}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:none !important;animation-play-state:running !important}
/* proof popup CTA: black with white outline (not pink) */
.tlk-proof-panel-cta{background:#101015 !important;border:1px solid rgba(255,255,255,.55) !important;color:#fff !important;box-shadow:none !important}
.tlk-proof-panel-cta svg{stroke:#fff !important;color:#fff !important}
.tlk-proof-panel-cta:hover{background:#1b1d24 !important;box-shadow:none !important}
/* architecture: left-align bullets/columns, bigger titles+numbers, CTA no red glow */
.tlk-arch2-col{text-align:left}
.tlk-arch2-items-in{align-items:flex-start !important;text-align:left}
.tlk-arch2-item{justify-content:flex-start !important;text-align:left}
.tlk-arch2-k{font-size:1.6rem !important}
.tlk-arch2-num{font-size:14px !important}
.tlk-arch2-cta .ds-btn{box-shadow:none !important}
.tlk-arch2-cta .ds-btn:hover{box-shadow:none !important}
/* designed card titles: slightly less bold for readability */
.tlk-designed-t{font-weight:700 !important}

/* ===== TLKSHOP round-24: THE FUTURE OF SHOPPING (desktop) ===== */
.tlk-future{background:#050507}
.tlk-future-head{text-align:center;max-width:none;margin-bottom:20px}
.tlk-future-head .ds-eyebrow{justify-content:center}
.tlk-future-eb::before,.tlk-future-eb::after{content:"";width:22px;height:1px;background:currentColor;opacity:.7}
.tlk-future-h{font-size:clamp(2.4rem,4.4vw,3.5rem);line-height:1.02;color:#fff}
.tlk-future-lede{font-family:var(--font-sans);font-size:1.05rem;line-height:1.55;color:var(--fg-on-dark-2);max-width:60ch;margin:16px auto 0;text-align:center}
/* diagram: 3 zones */
.tlk-future-diagram{position:relative;display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;gap:0;margin:50px 0 10px;min-height:430px}
/* left inputs */
.tlk-future-inputs{position:relative;display:flex;flex-direction:column;gap:16px;align-items:flex-start;z-index:2}
.tlk-future-pill{display:inline-flex;align-items:center;gap:9px;padding:11px 17px;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.04);font-family:var(--font-sans);font-size:.92rem;color:#e6e9ee;white-space:nowrap;backdrop-filter:blur(6px)}
.tlk-future-inputs .tlk-future-pill:nth-child(1){margin-left:6%}
.tlk-future-inputs .tlk-future-pill:nth-child(2){margin-left:26%}
.tlk-future-inputs .tlk-future-pill:nth-child(3){margin-left:0}
.tlk-future-inputs .tlk-future-pill:nth-child(4){margin-left:30%}
.tlk-future-inputs .tlk-future-pill:nth-child(5){margin-left:12%}
.tlk-future-flow--in{position:absolute;right:-18%;top:10%;bottom:10%;width:40%;background:radial-gradient(ellipse at right,rgba(255,0,94,.16),transparent 70%);filter:blur(20px);pointer-events:none}
/* center core */
.tlk-future-core{position:relative;display:flex;align-items:center;justify-content:center;height:420px}
.tlk-future-core-rings{position:absolute;width:380px;height:380px;border-radius:50%;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 0 60px rgba(131,53,193,.12)}
.tlk-future-core-rings::before{content:"";position:absolute;inset:38px;border-radius:50%;border:1px solid rgba(255,255,255,.05)}
.tlk-future-core-ring{position:absolute;width:248px;height:248px;border-radius:50%;background:conic-gradient(from 0deg,#FF005E,#8335C1,#22C3D0,#8335C1,#FF005E);padding:2px;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));filter:drop-shadow(0 0 22px rgba(131,53,193,.6));animation:tlkspin 14s linear infinite}
@keyframes tlkspin{to{transform:rotate(360deg)}}
.tlk-future-core-in{position:relative;z-index:2;width:228px;height:228px;border-radius:50%;background:radial-gradient(circle at 50% 42%,#15101d,#070509 72%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;box-shadow:inset 0 0 50px -10px rgba(131,53,193,.5)}
.tlk-future-core-logo{height:34px;width:auto}
.tlk-future-core-sub{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#22C3D0}
/* right outputs */
.tlk-future-outputs{position:relative;display:flex;flex-direction:column;gap:14px;align-items:flex-start;z-index:2}
.tlk-future-flow--out{position:absolute;left:-18%;top:10%;bottom:10%;width:40%;background:radial-gradient(ellipse at left,rgba(34,195,208,.16),transparent 70%);filter:blur(20px);pointer-events:none}
.tlk-future-out{display:flex;align-items:center;gap:14px}
.tlk-future-out-ic{width:46px;height:46px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(34,195,208,.4);background:rgba(34,195,208,.06);box-shadow:0 0 16px -6px rgba(34,195,208,.6)}
.tlk-future-out-t{font-family:var(--font-sans);font-size:1.12rem;color:#fff}
/* bottom progression */
.tlk-future-prog{margin-top:40px}
.tlk-future-prog-labels{display:grid;grid-template-columns:repeat(4,1fr);margin-bottom:14px}
.tlk-future-prog-label{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2);text-align:center}
.tlk-future-prog-track{display:flex;align-items:center}
.tlk-future-prog-dot{width:13px;height:13px;border-radius:50%;flex:none}
.tlk-future-prog-seg{flex:1;height:2px;border-radius:2px}
.tlk-future-foot{margin-top:30px;text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--fg-on-dark-3)}

/* ===== TLKSHOP round-24b: THE FUTURE OF SHOPPING (mobile) ===== */
.mtlk-future{background:#050507;text-align:center}
.mtlk-future-head .ds-eyebrow{justify-content:center}
.mtlk-future-eb::before,.mtlk-future-eb::after{content:"";width:1.125rem;height:1px;background:currentColor;opacity:.7}
/* Issue 104: larger body paragraph (centred + width preserved). */
.mtlk-future-lede{font-family:var(--font-sans);font-size:1.12rem;line-height:1.6;color:var(--fg-on-dark-2);margin:0.75rem auto 0;max-width:42ch}
.mtlk-future-pills{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5625rem;margin-top:1.625rem}
/* Issue 104: pills scaled ~+18% (text/gap/padding) — arrangement preserved. */
.mtlk-future-pill{display:inline-flex;align-items:center;gap:0.52rem;padding:0.69rem 1.05rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.04);font-family:var(--font-sans);font-size:1.0rem;color:#e6e9ee}
.mtlk-future-core{position:relative;display:flex;align-items:center;justify-content:center;height:15rem;margin:0.5rem 0}
.mtlk-future-core-ring{position:absolute;width:13rem;height:13rem;border-radius:50%;background:conic-gradient(from 0deg,#FF005E,#8335C1,#22C3D0,#8335C1,#FF005E);padding:0.125rem;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));filter:drop-shadow(0 0 20px rgba(131,53,193,.6));animation:tlkspin 14s linear infinite}
.mtlk-future-core-in{position:relative;z-index:2;width:12rem;height:12rem;border-radius:50%;background:radial-gradient(circle at 50% 42%,#15101d,#070509 72%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4375rem;box-shadow:inset 0 0 44px -10px rgba(131,53,193,.5)}
.mtlk-future-core-logo{height:1.875rem;width:auto}
.mtlk-future-core-sub{font-family:var(--font-mono);font-size:0.625rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#22C3D0}
.mtlk-future-resultslbl{justify-content:center;margin-top:0.875rem}
.mtlk-future-outputs{display:flex;flex-direction:column;gap:0.6875rem;margin-top:1.125rem}
.mtlk-future-out{display:flex;align-items:center;gap:0.875rem;padding:0.625rem 1rem 0.625rem 0.625rem;border:1px solid rgba(34,195,208,.34);border-radius:var(--r-pill);background:rgba(34,195,208,.04)}
.mtlk-future-out-ic{width:2.625rem;height:2.625rem;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;border:1px solid rgba(34,195,208,.4);background:rgba(34,195,208,.06)}
.mtlk-future-out-t{font-family:var(--font-sans);font-size:1.05rem;color:#fff}
.mtlk-future-prog{margin-top:2.125rem}
.mtlk-future-prog-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.375rem}
.mtlk-future-prog-step{display:flex;flex-direction:column;align-items:center;gap:0.5rem}
.mtlk-future-prog-ic{width:2.75rem;height:2.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid;background:rgba(255,255,255,.03)}
.mtlk-future-prog-k{font-family:var(--font-mono);font-size:0.5625rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-on-dark-2);text-align:center;line-height:1.2}
.mtlk-future-prog-track{display:flex;align-items:center;margin-top:0.875rem}
.mtlk-future-prog-dot{width:0.6875rem;height:0.6875rem;border-radius:50%;flex:none}
.mtlk-future-prog-seg{flex:1;height:0.125rem}
.mtlk-future-foot{margin-top:1.625rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--fg-on-dark-3);line-height:1.7}

/* ===== TLKSHOP round-25: Guided decisions -> AI decision pages chips + walkthrough image fit ===== */
/* desktop chip grid (2x3) */
.tlk-gd-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:30px 0 26px}
.tlk-gd-chip{--chip:#22C3D0;display:inline-flex;align-items:center;gap:11px;padding:16px 18px;border:1px solid var(--ink-600);border-radius:14px;background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.015));font-family:var(--font-sans);font-size:1rem;font-weight:600;color:#fff;cursor:default;transition:border-color .3s,transform .25s,box-shadow .3s,background .3s}
.tlk-gd-chip:hover{border-color:color-mix(in srgb,var(--chip) 62%,transparent);transform:translateY(-3px);box-shadow:0 16px 32px -20px color-mix(in srgb,var(--chip) 70%,transparent);background:linear-gradient(168deg,color-mix(in srgb,var(--chip) 16%,transparent),rgba(255,255,255,.02))}
.tlk-gd-supp{display:flex;align-items:center;gap:14px;font-family:var(--font-sans);font-size:1.02rem;color:var(--fg-on-dark-2)}
.tlk-gd-supp-line{width:34px;height:1px;background:var(--fg-on-dark-3);flex:none;transition:background .3s var(--ease)}
/* mobile chip grid (2 cols) */
.mtlk-gd-chips{display:grid;grid-template-columns:1fr 1fr;gap:0.625rem;margin:1.375rem 0 1.125rem}
.mtlk-gd-chip{--chip:#22C3D0;display:inline-flex;align-items:center;gap:0.5625rem;padding:0.875rem 0.875rem;border:1px solid var(--ink-600);border-radius:0.75rem;background:linear-gradient(168deg,rgba(255,255,255,.05),rgba(255,255,255,.015));font-family:var(--font-sans);font-size:.92rem;font-weight:600;color:#fff;transition:border-color .3s,background .3s}
.mtlk-gd-chip.is-active{border-color:color-mix(in srgb,var(--chip) 60%,transparent);background:linear-gradient(168deg,color-mix(in srgb,var(--chip) 16%,transparent),rgba(255,255,255,.02))}
.mtlk-gd-supp{font-family:var(--font-sans);font-size:.94rem;color:var(--fg-on-dark-2);margin:0}
.mtlk-gd-chip{cursor:pointer}
/* AI decision pages — subtle fade when the supporting line swaps on hover/tap */
.tlk-gd-supp-txt,.mtlk-gd-supp-txt{animation:gdSuppFade .26s var(--ease)}
@keyframes gdSuppFade{from{opacity:0}to{opacity:1}}
/* private walkthrough image fit (desktop + mobile): fill rounded square, keep woman + concierge framing */
.tlk-walk-vis .tlk-hero-art{object-fit:cover !important;object-position:72% center !important;width:100% !important;height:560px !important;transform:none !important;-webkit-mask-image:none !important;mask-image:none !important}
.mtlk-walk-imgwrap img{object-position:72% center !important}

/* ===== TLKSHOP round-26: mobile hero size, what-we-designed Lip-Doctor cards, action layer ===== */
/* mobile hero: smaller image + centered logo like Lip Doctor mobile */
.mtlk-hero-main{width:78% !important;max-width:18.75rem !important}
.tlk-mroot .mtlk-hero-logo{height:2.5rem;margin:0 auto 0.625rem;display:block}
.tlk-mroot .lv3m-hero-content{text-align:center}
.tlk-mroot .mtlk-hero-cat{text-align:center}
.tlk-mroot .lv3m-hero-lead{text-align:center;margin-left:auto;margin-right:auto}
.tlk-mroot .lv3m-hero-meta{align-items:center}
.tlk-mroot .lv3m-hero-meta > div{align-items:center;text-align:center}
.tlk-mroot .lv3m-meta-v{white-space:normal;font-size:.82rem}
/* what we designed (mobile) -> Lip-Doctor "what we built" card style w/ accents */
.mtlk-designed-card{position:relative;display:block;background:#fff;border:1px solid var(--line-300,#e2ddd5);border-top:3px solid var(--acc);border-radius:1rem;padding:1.25rem 1.125rem;margin-top:0.875rem;box-shadow:0 14px 34px -24px rgba(10,11,13,.4)}
.mtlk-designed-ic{display:flex;width:2.875rem;height:2.875rem;border-radius:0.8125rem;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 13%,#fff);border:1px solid color-mix(in srgb,var(--acc) 24%,transparent);margin-bottom:1rem}
.mtlk-designed-num{position:absolute;top:1.125rem;right:1.125rem;font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;letter-spacing:.12em;color:var(--acc)}
.mtlk-designed-t{display:block;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.12rem;letter-spacing:-.005em;color:var(--fg-on-light);margin:0 0 0.5rem}
.mtlk-designed-d{display:block;font-family:var(--font-sans);font-size:.9rem;line-height:1.5;color:var(--fg-on-light-2)}
/* what we designed (mobile) -> Lip-Doctor "what we built" ACCORDION rows */
.mtlk-des{display:flex;flex-direction:column;gap:0.875rem;margin-top:1.5rem}
.mtlk-des-row{position:relative;background:#fff;border:1px solid var(--line-200,#e2ddd5);border-radius:1rem;box-shadow:0 12px 30px -22px rgba(10,11,13,.4);overflow:hidden;transition:box-shadow .3s var(--ease),border-color .3s var(--ease)}
.mtlk-des-head{display:flex;align-items:center;gap:1rem;width:100%;padding:1.25rem 1.125rem;background:none;border:0;cursor:pointer;text-align:left}
.mtlk-des-ic{width:3rem;height:3rem;border-radius:0.8125rem;flex:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,#fff);border:1px solid color-mix(in srgb,var(--acc) 24%,transparent);cursor:pointer;padding:0;transition:transform .2s var(--ease),box-shadow .3s var(--ease),background .25s}
.mtlk-des-ic:hover{transform:scale(1.06);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc) 12%,transparent)}
.mtlk-des-ic:active{transform:scale(.95)}
.mtlk-des-k{flex:1;min-width:0;font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.4rem;letter-spacing:-.005em;line-height:1.08;color:var(--fg-on-light)}
.mtlk-des-chev{flex:none;display:inline-flex;transition:transform .3s var(--ease)}
.mtlk-des-row.is-open .mtlk-des-chev{transform:rotate(180deg)}
.mtlk-des-row.is-open{border-color:color-mix(in srgb,var(--acc) 30%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 22%,transparent),0 18px 40px -26px color-mix(in srgb,var(--acc) 75%,transparent)}
.mtlk-des-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.mtlk-des-bd-in{overflow:hidden}
/* Issue 106: larger accordion panel copy (every item) + larger VIEW SYSTEM. */
.mtlk-des-d{margin:0;padding:0 1.125rem 0.75rem 1.125rem;font-family:var(--font-sans);font-size:1.14rem;line-height:1.58;color:var(--fg-on-light-2);text-align:left}
.mtlk-des-viewsys{display:inline-flex;align-items:center;gap:0.5rem;margin:0 1.125rem 1.125rem;font-family:var(--font-mono);font-size:1.0rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--acc);background:none;border:0;cursor:pointer;opacity:.85}
.mtlk-des-viewsys:hover{opacity:1}
/* action layer (mobile): bigger phone, clickable, preview button below (desktop-style) */
.mtlk-action-vis .mtlk-feat-phone{height:31.375rem !important}
.mtlk-action-clickable{cursor:pointer}
.mtlk-action-cta{margin:2.25rem auto 0;display:flex}

/* ===== TLKSHOP round-27: (1) mobile proof icons bigger+dynamic (2) future mobile orb/spacing ===== */
/* (1) mobile proof pillar cards: bigger icon, more presence + subtle pulse */
.mtlk-proof-ic{width:3.375rem !important;height:3.375rem !important;border-radius:0.9375rem !important}
.mtlk-proof-ic svg{width:1.625rem !important;height:1.625rem !important}
.mtlk-proof-card{transition:border-color .3s,box-shadow .3s}
.mtlk-proof-card.is-open{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent),0 18px 40px -26px color-mix(in srgb,var(--acc) 80%,transparent)}
.mtlk-proof-card.is-open .mtlk-proof-ic{background:color-mix(in srgb,var(--acc) 22%,transparent);box-shadow:0 0 20px -4px color-mix(in srgb,var(--acc) 80%,transparent)}
.mtlk-proof-top{padding:1.125rem 1rem !important}
/* (2) future mobile: steady glowing orb (no rolling-ball spin), bigger, more breathing room */
.mtlk-future{padding-top:4rem;padding-bottom:4rem}
.mtlk-future-core{height:17.5rem !important;margin:1.125rem 0 !important}
.mtlk-future-core-ring{width:14.75rem !important;height:14.75rem !important;animation:tlkbreathe 4.5s ease-in-out infinite !important;filter:drop-shadow(0 0 26px rgba(131,53,193,.65)) !important}
.mtlk-future-core-in{width:13.625rem !important;height:13.625rem !important}
.mtlk-future-core-logo{height:2.125rem !important}
@keyframes tlkbreathe{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.04);opacity:1}}
.mtlk-future-pills{gap:0.625rem;margin-top:1.875rem}
.mtlk-future-out-ic svg{width:1.25rem !important;height:1.25rem !important}
.mtlk-future-out{padding:0.8125rem 1.125rem 0.8125rem 0.6875rem}
.mtlk-future-outputs{gap:0.8125rem;margin-top:1.375rem}
.mtlk-future-prog{margin-top:2.625rem}
.mtlk-future-prog-ic{width:3rem !important;height:3rem !important}
.mtlk-future-foot{margin-top:2.125rem}
/* desktop future: also steady the orb (less rolling look) */
.tlk-future-core-ring{animation:tlkbreathe 5s ease-in-out infinite !important}

/* round-28: core-journey hover copy stays one line */
.tlk-jr-step-d{white-space:nowrap}

/* ===== TLKSHOP round-29: designed hover, entry motion strip, arch bullet flush, walkthrough crop ===== */
/* S1 What We Designed — premium Lip-Doctor-style hover (lift + accent glow border) */
.tlk-designed-card{transition:transform .3s var(--ease),box-shadow .35s,border-color .35s}
.tlk-designed-card:hover{transform:translateY(-7px) !important;border-color:color-mix(in srgb,var(--acc) 55%,transparent) !important;box-shadow:0 32px 60px -28px rgba(10,11,13,.30),0 24px 54px -30px rgba(10,11,13,.4) !important}
.tlk-designed-card::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);border-radius:0 0 22px 22px}
.tlk-designed-card:hover::after{transform:scaleX(1)}
/* S4 Multimodal entry — kill idle motion, refined hover lift only */
.tlk-entry2-phone{animation:none !important;transition:transform .4s var(--ease) !important}
.tlk-entry2-item:nth-child(odd) .tlk-entry2-phone,.tlk-entry2-item:nth-child(even) .tlk-entry2-phone{animation:none !important}
.tlk-entry2-card{transition:transform .35s var(--ease),box-shadow .35s,border-color .35s}
.tlk-entry2-card:hover{transform:translateY(-6px);box-shadow:0 30px 58px -30px rgba(10,11,13,.4)}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:translateY(-8px) scale(1.03) !important}
/* S5 Product Architecture — bullets flush-left with heading/body */
.tlk-arch2-items{padding-left:0 !important}
.tlk-arch2-items-in{align-items:flex-start !important;padding-left:0 !important}
.tlk-arch2-item{justify-content:flex-start !important;padding-left:0 !important;margin-left:0 !important}
/* S2 Private walkthrough image — zoom + focus the seated woman, kill bottom-left white */
.tlk-walk-vis .tlk-hero-art{object-fit:cover !important;object-position:78% 38% !important;width:100% !important;height:560px !important;transform:scale(1.12);transform-origin:78% 38%;-webkit-mask-image:none !important;mask-image:none !important}
.mtlk-walk-imgwrap img{object-position:78% 38% !important}

/* ===== TLKSHOP round-30: mobile hero — bigger image, centered wordmark, left-aligned details, ticker ===== */
/* bigger hero image to match Lip Doctor mobile prominence */
.mtlk-hero-main{width:78% !important;max-width:17.5rem !important;border-radius:1.125rem}
.mtlk-hero-art-wrap{margin:0.25rem 0 1.375rem}
/* wordmark + category centered + a touch larger; everything else left */
.tlk-mroot .lv3m-hero-content{text-align:left}
.tlk-mroot .mtlk-hero-logo{height:3.875rem;margin:0 0 0.8125rem;display:block}
.tlk-mroot .mtlk-hero-cat{text-align:left;line-height:1.7;margin:0 0 1.25rem;font-size:0.8125rem}
/* lead paragraph + case details left aligned, minimal dividers (Lip-Doctor style) */
.tlk-mroot .lv3m-hero-lead{text-align:left;margin-left:0;margin-right:0}
.tlk-mroot .lv3m-hero-meta{align-items:stretch;gap:0;margin:1.125rem 0 1.375rem;border-top:0;border-bottom:0}
.tlk-mroot .lv3m-hero-meta > div{flex-direction:column;align-items:flex-start;text-align:left;gap:0.375rem;padding:0.9375rem 0;border-top:1px solid var(--ink-600);border-bottom:0}
.tlk-mroot .lv3m-hero-meta > div:last-child{border-bottom:1px solid var(--ink-600)}
.tlk-mroot .lv3m-meta-k{font-size:0.6875rem;letter-spacing:.13em;color:var(--fg-on-dark-3)}
.tlk-mroot .lv3m-meta-v{white-space:normal;text-align:left;font-size:1.02rem;font-weight:600;color:#fff;line-height:1.4}
/* mobile hero ticker below the CTAs (Lip-Doctor mobile ticker scale/speed) */
.mtlk-htick{margin-top:1.375rem;border-top:1px solid var(--ink-600);border-bottom:1px solid var(--ink-600);padding:0.875rem 0;overflow:hidden;background:var(--ink-900)}
.mtlk-htick .lv3m-tick-track{display:flex;width:max-content;white-space:nowrap;animation:tick var(--ticker-speed,40s) linear infinite}
.mtlk-htick-item{display:inline-flex;align-items:center;gap:0.6875rem;padding:0 1.5rem;font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-on-dark-2);white-space:nowrap}
.mtlk-htick-item:nth-child(3n+1) .mtlk-htick-dot{background:#8335C1}
.mtlk-htick-item:nth-child(3n+2) .mtlk-htick-dot{background:#FF6600}
.mtlk-htick-item:nth-child(3n+3) .mtlk-htick-dot{background:#22C3D0}
.mtlk-htick-dot{width:0.375rem;height:0.375rem;border-radius:50%;flex:none;box-shadow:0 0 8px 1px currentColor}

/* ===== TLKSHOP round-31: Future of Shopping desktop — flowing linework + particle field ===== */
.tlk-future-svg{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.tlk-future-svg path{filter:drop-shadow(0 0 4px currentColor)}
.tlk-future-diagram .tlk-future-inputs,.tlk-future-diagram .tlk-future-core,.tlk-future-diagram .tlk-future-outputs{position:relative;z-index:2}
.tlk-future-core-rings{box-shadow:inset 0 0 80px rgba(131,53,193,.18),0 0 60px -10px rgba(131,53,193,.3)}
.tlk-future-out-ic{box-shadow:0 0 18px -4px rgba(34,195,208,.7)}

/* ===== TLKSHOP round-32: mobile hero image bigger, ticker match Lip Doctor, final CTA glow, designed list look ===== */
/* (1) hero image — EXACT same size as Lip Doctor V3 mobile hero (.lv3m-hero-art = 78% / max 280px) */
.mtlk-hero-main{width:78% !important;max-width:17.5rem !important;margin-left:0 !important}
.mtlk-hero-art-wrap{margin:0.25rem 0 1.375rem}
/* (2) mobile ticker: match Lip Doctor mobile featured ticker style + calm speed */
.mtlk-htick-item{font-family:var(--font-display) !important;font-weight:800 !important;font-size:1.125rem !important;letter-spacing:0 !important;text-transform:uppercase !important;color:#fff !important;padding:0 0 !important;gap:0 !important}
.mtlk-htick-dot{width:0.3125rem !important;height:0.3125rem !important;margin:0 1.125rem !important;box-shadow:none !important}
.mtlk-htick .lv3m-tick-track{animation:tick 70s linear infinite !important}
/* (3) final CTA glow (match Lip Doctor mobile) */
.mtlk-cta{position:relative;overflow:hidden}
.mtlk-cta::before{content:"";position:absolute;top:46%;left:50%;width:28rem;height:25.5rem;transform:translate(-50%,-50%);z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.5),rgba(255,255,255,.13) 42%,transparent 70%);filter:blur(8px)}
.mtlk-cta > *{position:relative;z-index:2}
/* (4) what-we-designed: connected list look (closer to Lip Doctor what-we-built mobile) */
.mtlk-designed-card{margin-top:0 !important;border-radius:0 !important;border:0 !important;border-top:1px solid var(--line-200) !important;box-shadow:none !important;background:transparent !important;padding:1.25rem 0.125rem !important}
.mtlk-designed .mtlk-designed-card:last-child{border-bottom:1px solid var(--line-200) !important}
.mtlk-designed-card::after{display:none !important}
.mtlk-designed-ic{margin-bottom:0.875rem !important;background:color-mix(in srgb,var(--acc) 13%,#fff) !important;border-color:color-mix(in srgb,var(--acc) 24%,transparent) !important}

/* ===== TLKSHOP round-33: future core — concentric orbit rings to match reference ===== */
.tlk-future-core-rings{width:430px !important;height:430px !important;border:1px solid rgba(255,255,255,.05) !important}
.tlk-future-core-rings::before{inset:54px !important;border:1px solid rgba(255,255,255,.04) !important}
.tlk-future-core-rings::after{content:"" !important;position:absolute;inset:104px;border-radius:50%;border:1px solid rgba(255,255,255,.03)}

/* ===== TLKSHOP round-36: Future of Shopping desktop — strict fidelity (plain pills, outline outputs, teal fan, orbit texture) ===== */
.tlk-future-pill{gap:0 !important;background:#16181e !important;border:1px solid rgba(255,255,255,.10) !important;backdrop-filter:none !important;padding:10px 18px !important;color:#eef0f4 !important;box-shadow:0 6px 18px -10px rgba(0,0,0,.7)}
.tlk-future-lede{max-width:52ch !important}
.tlk-future-out-ic{border:1px solid rgba(255,255,255,.42) !important;background:rgba(255,255,255,.02) !important;box-shadow:0 0 20px -7px rgba(34,195,208,.55) !important}
.tlk-future-core-rings{border-style:dashed !important;border-color:rgba(255,255,255,.075) !important}
.tlk-future-core-rings::before{border-style:dashed !important;border-color:rgba(255,255,255,.06) !important}
.tlk-future-core-rings::after{border-style:dashed !important;border-color:rgba(255,255,255,.05) !important}
.tlk-future-core-ring{filter:drop-shadow(0 0 28px rgba(131,53,193,.72)) !important}
.tlk-future-svg .tlkfan{color:#34D0DC}

/* ===== TLKSHOP round-34: mobile "what we designed" — white card + soft neutral shadow + bottom accent line on hover (match Lip Doctor desktop "what we built" card) ===== */
.mtlk-designed-card{position:relative;margin-top:0.875rem !important;border-radius:1rem !important;border:1px solid var(--line-300,#e2ddd5) !important;border-top:1px solid var(--line-300,#e2ddd5) !important;box-shadow:0 18px 40px -26px rgba(10,11,13,.35) !important;background:#fff !important;padding:1.375rem 1.25rem 1.5rem !important;overflow:hidden;transition:transform .25s var(--ease),box-shadow .3s,border-color .3s}
.mtlk-designed .mtlk-designed-card:last-child{border-bottom:1px solid var(--line-300,#e2ddd5) !important}
.mtlk-designed-card::after{content:"" !important;display:block !important;position:absolute;left:0;right:0;bottom:0;height:0.1875rem;width:100%;background:var(--acc);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);border-radius:0 0 1rem 1rem}
.mtlk-designed-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--acc) 35%,transparent) !important}
.mtlk-designed-card:hover::after,.mtlk-designed-card:active::after{transform:scaleX(1)}

/* ===== TLKSHOP round-35: mobile Problem&Thesis, Core Journey, Product Architecture — match source of truth ===== */

/* --- S1 Problem & Thesis: 2x2 feature cards --- */
.mtlk-tf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.875rem;margin-top:0.75rem}
.mtlk-tf-card{display:flex;flex-direction:column;align-items:center;text-align:center;background:#fff;border:1px solid var(--line-200);border-radius:1.375rem;padding:1.75rem 1rem 1.625rem}
.mtlk-tf-ic{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:0.9375rem;box-shadow:0 8px 16px -10px rgba(10,11,13,.3)}
.mtlk-tf-t{font-family:var(--font-sans);font-weight:700;font-size:1.08rem;line-height:1.2;color:var(--fg-on-light)}
.mtlk-tf-line{width:1.625rem;height:0.1875rem;border-radius:0.125rem;background:var(--acc);margin:0.6875rem 0 0.8125rem}
.mtlk-tf-d{font-family:var(--font-sans);font-size:.92rem;line-height:1.45;color:var(--fg-on-light-2)}

/* --- S1 Problem & Thesis: vertical journey timeline --- */
.mtlk-tl{position:relative;margin-top:2.25rem;display:flex;flex-direction:column}
.mtlk-tl::before{content:"";position:absolute;left:1.9375rem;top:2.125rem;bottom:2.75rem;width:0.125rem;background:#8335C1;opacity:.5;border-radius:0.125rem}
.mtlk-tl-step{position:relative;display:grid;grid-template-columns:64px 1fr;gap:1.25rem;align-items:start}
.mtlk-tl-ic{position:relative;z-index:1;width:4rem;height:4rem;border-radius:50%;background:#fff;border:1px solid var(--line-200);box-shadow:0 8px 18px -8px rgba(10,11,13,.28);display:flex;align-items:center;justify-content:center}
.mtlk-tl-body{display:flex;flex-direction:column;gap:0.3125rem;padding:0.4375rem 0 1.5rem}
.mtlk-tl-step:not(.is-last) .mtlk-tl-body{border-bottom:1px solid var(--line-200)}
.mtlk-tl-step.is-last .mtlk-tl-body{padding-bottom:0.25rem}
.mtlk-tl-n{font-family:var(--font-mono);font-size:0.75rem;font-weight:700;letter-spacing:.1em;color:#8335C1}
.mtlk-tl-k{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.55rem;line-height:1;letter-spacing:-.01em;color:var(--fg-on-light)}
.mtlk-tl-d{font-family:var(--font-sans);font-size:.96rem;line-height:1.45;color:var(--fg-on-light-2)}

/* --- S2 Core Journey: bigger phone, pill tabs, glowing caption --- */
.mtlk-jr2{margin-top:1.5rem;position:relative}
.mtlk-jr2-glow--btm{position:relative;inset:auto;width:78%;height:8.125rem;margin:0.875rem auto 0;border-radius:50%;filter:blur(48px);opacity:.9}
.mtlk-jr2-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:27rem}
.mtlk-jr2-glow{position:absolute;inset:3% 12%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 40%,transparent),transparent 66%);filter:blur(40px);transition:background .6s var(--ease)}
.mtlk-jr2-phone{position:absolute;width:auto;height:26.875rem;max-width:94%;object-fit:contain;display:block;opacity:0;transform:translateY(14px) scale(.97);transition:opacity .5s var(--ease),transform .5s var(--ease);filter:drop-shadow(0 40px 68px rgba(0,0,0,.78))}
.mtlk-jr2-phone.is-on{opacity:1;transform:none}
.mtlk-jr2-floor{position:absolute;bottom:7%;left:26%;right:26%;height:1.5rem;border-radius:50%;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--acc) 75%,transparent),transparent 70%);filter:blur(9px);opacity:.85;transition:background .6s var(--ease)}
.mtlk-jr2-tabs{display:grid;grid-template-columns:1fr 1fr;gap:0.6875rem;margin:1rem 0 2rem}
.mtlk-jr2-tab{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0.5625rem;padding:0.875rem 0.75rem;border:1px solid var(--ink-600);border-radius:var(--r-pill);background:rgba(255,255,255,.025);cursor:pointer;transition:border-color .3s,box-shadow .3s,background .3s}
.mtlk-jr2-tab:nth-child(5){grid-column:1 / -1;justify-self:center;min-width:62%}
.mtlk-jr2-tab.is-sel{border-color:color-mix(in srgb,var(--acc) 75%,transparent);box-shadow:0 0 20px -4px color-mix(in srgb,var(--acc) 70%,transparent),inset 0 0 14px -9px color-mix(in srgb,var(--acc) 80%,transparent);background:color-mix(in srgb,var(--acc) 9%,transparent)}
.mtlk-jr2-tab-dot{width:0.5rem;height:0.5rem;border-radius:50%;background:var(--acc);box-shadow:0 0 8px 1px var(--acc);flex:none}
.mtlk-jr2-tab-n{font-family:var(--font-mono);font-size:0.75rem;font-weight:700;letter-spacing:.04em;color:var(--acc)}
.mtlk-jr2-tab-k{font-family:var(--font-mono);font-size:0.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#fff;white-space:nowrap}
/* Issue 103: the caption (and its glowing icon) re-keys per selection and fades in via
   lv3mfade. `forwards` pins the fade-in's final state so the selected icon holds at full
   opacity/glow and can never revert to the keyframe's dim start. The icon glow itself is a
   static box-shadow (no pulse/dim animation), so once a step is selected its icon stays at
   maximum glow for the entire time it remains selected; only a selection change swaps it. */
.mtlk-jr2-cap{margin-top:0.5rem;display:flex;flex-direction:column;align-items:center;gap:0.9375rem;text-align:center;animation:lv3mfade .5s var(--ease) forwards}
.mtlk-jr2-cap-ic{width:4.125rem;height:4.125rem;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--acc);box-shadow:0 0 26px -4px var(--acc),inset 0 0 18px -8px var(--acc)}
.mtlk-jr2-cap-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:2.3rem;letter-spacing:.04em;color:#fff;line-height:1}
.mtlk-jr2-cap-d{font-family:var(--font-sans);font-size:1.04rem;color:var(--fg-on-dark-2);max-width:34ch}

/* --- S3 Product Architecture: light container + premium accordion --- */
.mtlk-arch-box{background:#fff;border:1px solid var(--line-100);border-radius:1.875rem;padding:2.125rem 1.25rem 1.875rem;box-shadow:0 34px 64px -42px rgba(10,11,13,.42)}
.mtlk-arch3{position:relative;margin-top:1.75rem;display:flex;flex-direction:column}
.mtlk-arch3::before{content:"";position:absolute;left:1.125rem;top:2rem;bottom:2rem;width:0.125rem;border-radius:0.125rem;background:linear-gradient(180deg,#22C3D0,#8335C1,#FF005E);opacity:.55}
.mtlk-arch3-row{position:relative}
.mtlk-arch3-row:not(:last-child)::after{content:"";position:absolute;left:3.375rem;right:0;bottom:0;height:1px;background:var(--line-200)}
.mtlk-arch3-num{position:absolute;left:0;top:1.75rem;z-index:2;width:2.375rem;height:2.375rem;border-radius:50%;background:#fff;border:1px solid var(--line-200);box-shadow:0 5px 13px -5px rgba(10,11,13,.3);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:0.6875rem;font-weight:700;color:var(--acc)}
.mtlk-arch3-head{display:flex;align-items:center;gap:0.9375rem;width:100%;padding:1.25rem 0 1.25rem 3.375rem;background:none;border:0;cursor:pointer;text-align:left}
.mtlk-arch3-ic{width:3.875rem;height:3.875rem;border-radius:1.125rem;flex:none;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 15%,#fff)}
.mtlk-arch3-text{flex:1;display:flex;flex-direction:column;gap:0.3125rem;min-width:0}
.mtlk-arch3-k{font-family:var(--font-sans);font-weight:700;font-size:1.12rem;line-height:1.15;color:var(--fg-on-light)}
.mtlk-arch3-sum{font-family:var(--font-sans);font-size:.9rem;line-height:1.4;color:var(--fg-on-light-2)}
.mtlk-arch3-chev{flex:none;display:inline-flex;transition:transform .3s var(--ease)}
.mtlk-arch3-row.is-open .mtlk-arch3-chev{transform:rotate(180deg)}
.mtlk-arch3-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.mtlk-arch3-bd-in{overflow:hidden}
.mtlk-arch3-blurb{margin:0 0 0.875rem;padding:0 0.25rem 0 3.375rem;font-family:var(--font-sans);font-size:.95rem;line-height:1.5;color:var(--fg-on-light-2)}
.mtlk-arch3-items{list-style:none;margin:0 0 1.25rem;padding:0 0.25rem 0 3.375rem;display:grid;grid-template-columns:1fr 1fr;gap:0.6875rem}
.mtlk-arch3-items li{display:flex;align-items:center;gap:0.5625rem;font-family:var(--font-sans);font-size:.9rem;color:var(--fg-on-light)}
.mtlk-arch3-items li i{width:0.4375rem;height:0.4375rem;border-radius:50%;flex:none}
.mtlk-arch-foot{display:flex;align-items:center;justify-content:center;gap:0.875rem;margin-top:1.5rem}
.mtlk-arch-foot-line{height:1px;width:3.75rem;background:var(--line-300)}
.mtlk-arch-foot-dia{width:0.5625rem;height:0.5625rem;background:#FF005E;transform:rotate(45deg);border-radius:1px}

/* ===== TLKSHOP round-36: mobile hero ticker full-bleed (edge to edge), remove stray line under it, tighten hero→product gap ===== */
.tlk-mroot .lv3m-hero{padding-bottom:0}
.mtlk-htick{margin:1.5rem -1.375rem 0;border-top:1px solid var(--ink-600);border-bottom:0;background:#070708}
/* Issue 204 (TLKSHOP-only): bottom divider matching the top exactly — same 1px,
   same var(--ink-600), full-bleed span via the shared negative L/R margin. Scoped
   off .fb/.vt/.fk roots so Fastball / VitaminTea / FERKNOT tickers stay unchanged. */
.tlk-mroot:not(.fb-mroot):not(.vt-mroot):not(.fk-mroot) .mtlk-htick{border-bottom:1px solid var(--ink-600)}
.mtlk-proofsec{padding-top:2.125rem}

/* ===== TLKSHOP round-37: core journey — tab labels fit (no off-screen overflow), tighter active glow, prominent floor light ===== */
.mtlk-jr2-tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0.625rem}
.mtlk-jr2-tab{padding:0.8125rem 0.5rem;gap:0.4375rem;overflow:hidden}
.mtlk-jr2-tab:nth-child(5){min-width:0;width:64%}
.mtlk-jr2-tab-n{font-size:0.6875rem;letter-spacing:.02em}
.mtlk-jr2-tab-k{font-size:0.625rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mtlk-jr2-tab.is-sel{box-shadow:0 0 13px -6px color-mix(in srgb,var(--acc) 60%,transparent),inset 0 0 11px -9px color-mix(in srgb,var(--acc) 75%,transparent)}
.mtlk-jr2-floor{left:50%;right:auto;transform:translateX(-50%);bottom:3%;width:60%;height:1.875rem;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--acc) 92%,transparent),color-mix(in srgb,var(--acc) 32%,transparent) 44%,transparent 72%);filter:blur(11px);opacity:1}

/* ===== TLKSHOP round-38: hero ticker breathing room, dynamic feature cards, floor light below phone, stronger arch titles ===== */
/* (A) more space between Explore CTA and the hero ticker */
.mtlk-htick{margin-top:2.125rem}
/* (B) feature cards — interactive lift + accent glow on hover/tap */
/* Issue 16: these are non-interactive informational cards — no shadow/press/hover
   affordances, no pointer. Clean outlined static treatment. */
.mtlk-tf-card{cursor:default}
/* (C) core-journey floor light sits BELOW the phone (not on it), color follows step */
.mtlk-jr2-stage{align-items:flex-start;min-height:29.375rem}
.mtlk-jr2-floor{bottom:1.25rem;width:54%;height:1rem;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--acc) 96%,transparent),color-mix(in srgb,var(--acc) 34%,transparent) 38%,transparent 70%);filter:blur(8px)}
/* (D) product-architecture rows: titles beside icons, no summary copy — stronger */
.mtlk-arch3-k{font-size:1.24rem;font-weight:700;line-height:1.1}
.mtlk-arch3-head{align-items:center}

/* ===== TLKSHOP round-39: AI decision pages — crossfade two phone screens (same size) ===== */
.mtlk-feat-stack{position:relative;display:flex;justify-content:center;align-items:flex-start;width:100%;min-height:23.75rem}
.mtlk-feat-stack .mtlk-feat-phone{position:absolute;left:50%;top:0;transform:translateX(-50%);opacity:0;transition:opacity .9s var(--ease)}
.mtlk-feat-stack .mtlk-feat-phone.is-on{opacity:1}

/* ===== TLKSHOP round-40: walkthrough luxury image — frame the woman/displays ===== */
.tlk-walk-vis .tlk-hero-art{object-position:50% 30% !important;transform:scale(1.04) !important;transform-origin:50% 30% !important}
.mtlk-walk-imgwrap img{object-position:50% 26% !important}

/* ===== TLKSHOP round-41: neutral feature-card hover shadow + bigger, more-spaced floor light ===== */
.mtlk-tf-card:hover,.mtlk-tf-card:active{box-shadow:none}
.mtlk-jr2-stage{min-height:27.375rem}

/* ===== TLKSHOP round-42: mobile outreach popup — match desktop (white mail, DARK header on top + DARK meta/thread at the end) ===== */
.mtlk-out{background:#fff !important;border:1px solid var(--line-200) !important;border-top:3px solid #FF005E !important}
/* header DARK (top) */
.mtlk-out-head{background:#15171d !important;border-bottom:1px solid var(--ink-600) !important}
.mtlk-out-brand{color:#fff !important}
.mtlk-out-brand img{border:1px solid var(--ink-600) !important}
.mtlk-out-x{background:rgba(255,255,255,.08) !important;border:1px solid var(--ink-600) !important;color:#fff !important}
/* MAIL light (white email) */
.mtlk-out-mail{border-bottom:1px solid var(--line-200) !important}
.mtlk-out-row{border-bottom:1px solid var(--line-100) !important}
.mtlk-out-lbl{color:var(--fg-on-light-3) !important}
.mtlk-out-val{color:var(--fg-on-light) !important}
.mtlk-out-msg p{color:var(--fg-on-light-2) !important}
.mtlk-out-sign{color:var(--fg-on-light) !important}
.mtlk-out-sign span{color:#2563EB !important}
/* SIDE / the end DARK (meta + outreach thread) */
.mtlk-out-side{background:#0f1115 !important;border-top:1px solid var(--ink-600)}
.mtlk-out-meta-row span{color:var(--fg-on-dark-3) !important}
.mtlk-out-meta-row b{color:#fff !important}
.mtlk-out-side-h{color:var(--fg-on-dark-2) !important}
.mtlk-out-thread-row{border:1px solid var(--ink-600) !important;background:rgba(255,255,255,.03) !important;box-shadow:none !important}
.mtlk-out-thread-body b{color:#fff !important}
.mtlk-out-thread-body span{color:var(--fg-on-dark-3) !important}
.mtlk-out-thread-t{color:var(--fg-on-dark-3) !important}

/* ===== TLKSHOP round-43: Future of Shopping — refined core glow, balanced outputs, cleaner connected lines ===== */
.tlk-future-svg .tlkflow-in{color:#FF2D7E}
/* kill the diffuse purple outer halo; tighter dual-tone glow */
.tlk-future-core-rings{box-shadow:none !important}
.tlk-future-core-ring{filter:drop-shadow(0 0 15px rgba(131,53,193,.5)) drop-shadow(0 0 32px rgba(34,195,208,.26)) !important}
.tlk-future-core-in{box-shadow:inset 0 0 44px -14px rgba(34,195,208,.42),inset 0 0 22px -8px rgba(131,53,193,.5) !important}
/* contained, intentional aura behind the core (replaces the blurry purple wash) */
.tlk-future-core::before{content:"";position:absolute;left:50%;top:50%;width:300px;height:300px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(131,53,193,.18),rgba(34,195,208,.05) 54%,transparent 70%);filter:blur(4px);z-index:0;pointer-events:none}
/* counter-rotating dashed orbit ring for subtle dynamism */
.tlk-future-core-rings::after{animation:tlkspin2 24s linear infinite}
@keyframes tlkspin2{to{transform:rotate(-360deg)}}
/* balance: push outputs to the right edge; fixed row width keeps icons aligned to the line endpoints */
.tlk-future-outputs{align-items:flex-end !important}
.tlk-future-out{width:250px}

/* ===== TLKSHOP round-44: core-journey phone = clean cross-fade (no slide, no light over the phone) ===== */
.mtlk-jr2-phone{transform:none !important;transition:opacity .9s var(--ease) !important}

/* ===== TLKSHOP round-45: Future of Shopping (mobile) — glassy dynamic pills, breathing orb + bg glow, glass outputs w/ white icons ===== */
.mtlk-future-pill{background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.02)) !important;border:1px solid rgba(255,255,255,.13) !important;box-shadow:0 6px 16px -10px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.mtlk-future-pills .mtlk-future-pill{animation:mtlkpillfloat 5.5s ease-in-out infinite}
.mtlk-future-pills .mtlk-future-pill:nth-child(2){animation-delay:.7s}
.mtlk-future-pills .mtlk-future-pill:nth-child(3){animation-delay:1.4s}
.mtlk-future-pills .mtlk-future-pill:nth-child(4){animation-delay:.35s}
.mtlk-future-pills .mtlk-future-pill:nth-child(5){animation-delay:1s}
@keyframes mtlkpillfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.mtlk-future-core::before{content:"";position:absolute;left:50%;top:50%;width:18.75rem;height:18.75rem;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(131,53,193,.3),rgba(34,195,208,.09) 50%,transparent 72%);filter:blur(12px);z-index:0;pointer-events:none;animation:mtlkbgbreathe 4.5s ease-in-out infinite}
@keyframes mtlkbgbreathe{0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(.92)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}}
.mtlk-future-core-ring{filter:drop-shadow(0 0 29px rgba(131,53,193,.72)) drop-shadow(0 0 15px rgba(34,195,208,.4)) !important}
.mtlk-future-out{background:linear-gradient(160deg,rgba(255,255,255,.075),rgba(255,255,255,.015)) !important;border:1px solid rgba(34,195,208,.5) !important;box-shadow:0 8px 20px -14px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.07);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.mtlk-future-out-ic{background:rgba(255,255,255,.1) !important;border:1px solid rgba(255,255,255,.26) !important;box-shadow:0 0 16px -6px rgba(34,195,208,.5),inset 0 1px 0 rgba(255,255,255,.14) !important}
.mtlk-future-out-t{color:#fff !important}

/* ===== TLKSHOP round-46: mobile CTA glow — match Lip Doctor (kill the over-bright fake glow; use shared lv3m-cta-glow div added in JSX) ===== */
.mtlk-cta::before{display:none !important}

/* ===== TLKSHOP round-47: outreach modal box spacing + 2-tone countdown + ticker line stability ===== */
/* move the modal box (and everything below it) down a touch off the phone/header */
.mtlk-out-body{padding-top:0.75rem}
/* countdown: watch icon (teal) + countdown numbers (orange) = two distinct colors */
.tlk-out-send svg{stroke:#34D0DC !important;color:#34D0DC !important}
.tlk-out-count{color:#FF8A1E;font-weight:700;font-variant-numeric:tabular-nums}
/* hero ticker: promote to its own GPU layer so the 1px line doesn't sub-pixel out while scrolling the scaled phone */
.mtlk-htick{transform:translateZ(0);backface-visibility:hidden}

/* ===== TLKSHOP round-48: hero meta redesign, CTA gradient, neon intelligence ring, Google chip, Results accordion ===== */

/* (S1) hero Role/Scope/Status — icon-circle rows with dividers */
.mtlk-meta2{display:flex;flex-direction:column;margin-top:1.375rem;text-align:left;border-top:1px solid rgba(255,255,255,.1)}
.mtlk-meta2-row{display:flex;align-items:center;gap:1rem;padding:1rem 0.125rem;border-bottom:1px solid rgba(255,255,255,.1)}
.mtlk-meta2-ic{width:3.875rem;height:3.875rem;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.17);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.06),rgba(255,255,255,.01));box-shadow:inset 0 0 16px -8px rgba(255,255,255,.4)}
.mtlk-meta2-text{display:flex;flex-direction:column;gap:0.3125rem;min-width:0}
.mtlk-meta2-k{font-family:var(--font-mono);font-size:0.74rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#9B6CE0}
.mtlk-meta2-v{font-family:var(--font-sans);font-size:1.15rem;font-weight:500;line-height:1.32;color:#fff}

/* (S2) primary CTA pink->orange gradient (hero + walkthrough; NOT footer, NOT the outlined secondary) */
.tlk-mroot .lv3m-hero-cta .ds-btn--primary,
.tlk-mroot .mtlk-walk-btns .ds-btn--primary{background:linear-gradient(95deg,#FF2E73 0%,#FF5034 54%,#FF8A1E 100%) !important;border-color:transparent !important;box-shadow:0 12px 30px -12px rgba(255,72,58,.65) !important;color:#fff !important}
.tlk-mroot .lv3m-hero-cta .ds-btn--primary svg,
.tlk-mroot .mtlk-walk-btns .ds-btn--primary svg{color:#fff !important;stroke:#fff !important}

/* (S3) Intelligence-layer circle — cleaner, brighter neon ring (desktop + mobile) */
.tlk-future-core-rings{border-color:rgba(255,255,255,.03) !important}
.tlk-future-core-rings::before,.tlk-future-core-rings::after{border-color:rgba(255,255,255,.025) !important}
.tlk-future-core-ring{padding:2.5px !important;filter:drop-shadow(0 0 10px rgba(255,30,111,.6)) drop-shadow(0 0 22px rgba(34,195,208,.45)) drop-shadow(0 0 42px rgba(131,53,193,.4)) !important}
.tlk-future-core-in{background:radial-gradient(circle at 50% 42%,#0b0a10,#050409 70%) !important;box-shadow:inset 0 0 60px -22px rgba(34,195,208,.4) !important}
.mtlk-future-core-ring{padding:0.15625rem !important;filter:drop-shadow(0 0 10px rgba(255,30,111,.6)) drop-shadow(0 0 20px rgba(34,195,208,.45)) drop-shadow(0 0 34px rgba(131,53,193,.42)) !important}
.mtlk-future-core-in{background:radial-gradient(circle at 50% 42%,#0b0a10,#050409 70%) !important}

/* (S4) Google chip — room for the G mark */
.tlk-gicon{flex:none;display:block}
.tlk-future-pill--google{gap:9px !important}
.mtlk-future-pill--google{gap:0.5rem}

/* (S5) Results for you — premium accordion cards (mobile) */
.mtlk-res-lbl{display:flex !important;align-items:center;justify-content:center;gap:0.875rem;margin:0.25rem 0 1.25rem}
.mtlk-res-lbl::before,.mtlk-res-lbl::after{content:"" !important;display:block;height:1px;width:2.625rem;flex:none;border:0}
.mtlk-res-lbl::before{background:linear-gradient(90deg,transparent,#22C3D0)}
.mtlk-res-lbl::after{background:linear-gradient(90deg,#22C3D0,transparent)}
.mtlk-res{display:flex;flex-direction:column;gap:0.875rem;margin-top:0.125rem}
.mtlk-res-card{border-radius:1.25rem;border:1px solid rgba(34,195,208,.28);background:linear-gradient(165deg,rgba(20,26,30,.92),rgba(8,10,12,.94));box-shadow:0 14px 34px -22px rgba(0,0,0,.85),inset 0 0 30px -20px rgba(34,195,208,.5);overflow:hidden;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.mtlk-res-card.is-open{border-color:rgba(34,195,208,.55);box-shadow:0 0 0 1px rgba(34,195,208,.22),0 18px 44px -24px rgba(34,195,208,.42)}
.mtlk-res-head{display:flex;align-items:center;gap:0.9375rem;width:100%;padding:0.9375rem 1rem;background:none;border:0;cursor:pointer;text-align:left}
.mtlk-res-ic{width:3.375rem;height:3.375rem;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 36%,rgba(34,195,208,.24),rgba(10,14,16,.6) 72%);border:1px solid rgba(34,195,208,.5);box-shadow:0 0 18px -2px rgba(34,195,208,.55),inset 0 0 14px -4px rgba(34,195,208,.6)}
.mtlk-res-text{flex:1;display:flex;flex-direction:column;gap:0.25rem;min-width:0}
.mtlk-res-t{font-family:var(--font-display);font-weight:800;text-transform:uppercase;font-size:1.18rem;letter-spacing:.01em;color:#fff;line-height:1.02}
.mtlk-res-line{font-family:var(--font-sans);font-size:.9rem;color:var(--fg-on-dark-2);line-height:1.3}
.mtlk-res-arrow{flex:none;display:inline-flex;transition:transform .3s var(--ease)}
.mtlk-res-card.is-open .mtlk-res-arrow{transform:rotate(90deg)}
.mtlk-res-bd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease)}
.mtlk-res-bd-in{overflow:hidden}
.mtlk-res-d{margin:0;padding:0.125rem 1.125rem 1.125rem 1.125rem;font-family:var(--font-sans);font-size:.92rem;line-height:1.55;color:var(--fg-on-dark-2);text-align:left}

/* ===== round-49: de-jank deep-dive entry hover (no card-lift exit-loop "vibrate"; drop scale drop-shadow re-raster "choppy"; GPU-promote) ===== */
/* Card stays put on hover (hit target never moves -> no mouseenter/leave ping-pong). Cue with border + shadow only. */
.tlk-entry2-card{will-change:border-color,box-shadow;transition:border-color .3s var(--ease),box-shadow .3s var(--ease) !important}
.tlk-entry2-card:hover{transform:none !important;border-color:color-mix(in srgb,#8335C1 38%,var(--line-200)) !important;box-shadow:0 30px 58px -30px rgba(10,11,13,.4) !important}
/* Phone lifts inside the static card — translate only (no scale), promoted to its own layer so the drop-shadow isn't re-rastered each frame. */
.tlk-entry2-phone{will-change:transform;backface-visibility:hidden;transform:translateZ(0);transition:transform .35s var(--ease) !important;animation:none !important}
.tlk-entry2-item:nth-child(odd) .tlk-entry2-phone,
.tlk-entry2-item:nth-child(even) .tlk-entry2-phone{animation:none !important}
.tlk-entry2-card:hover .tlk-entry2-phone{transform:translate3d(0,-8px,0) !important}
/* Smooth the other dark/light card lifts that share the choppy box-shadow+transform pattern */
.tlk-designed-card{will-change:transform;backface-visibility:hidden}
.tlk-gd-chip{will-change:transform;backface-visibility:hidden}

/* ===== TLKSHOP mobile hero: center back+eyebrow bar + tighten top padding ===== */
.tlk-mroot .lv3m-hero-top{justify-content:center !important}
.tlk-mroot .lv3m-hero{padding-top:2.25rem !important}

/* ===== Fastball: desktop hero image — match Lip Doctor hero box exactly (520w × LD portrait aspect), zoom-fill the wide image ===== */
.fb-hero-art{width:100% !important;max-width:520px !important;aspect-ratio:1122 / 1402 !important;height:auto !important;max-height:74vh !important;object-fit:cover !important;object-position:50% 42% !important;outline:none !important;box-shadow:none !important}

/* ===== Fastball mobile hero — use the correct hero image at the SAME box/size/placement as the other case studies (portrait frame), zoom-fill ===== */
.fb-hero-main{aspect-ratio:1122 / 1402 !important;height:auto !important;object-fit:cover !important;object-position:50% 40% !important}

/* ===== Fastball desktop — apply the loved pink→orange gradient to primary buttons; keep top sticky header + site footer buttons pink ===== */
.fb-root .ds-btn--primary:not(.d-header-cta):not(.d-footer-btn),
.fb-root .ds-btn--primary:not(.d-header-cta):not(.d-footer-btn):hover{background:linear-gradient(95deg,#FF2E73 0%,#FF5034 54%,#FF8A1E 100%) !important;border-color:transparent !important;box-shadow:0 14px 32px -12px rgba(255,72,58,.6) !important;color:#fff !important}
.fb-root .ds-btn--primary:not(.d-header-cta):not(.d-footer-btn) svg{color:#fff !important;stroke:#fff !important}
/* Issue 257: Fastball Deep Dive (Entry) uses the IDENTICAL shared .tlk-entry2 system as TLKSHOP —
   same grid, card width, padding, gaps, type AND phone height (390px). The root cause (Fastball's
   phone PNGs carried transparent canvas padding, so the visible phone rendered small / short) is
   fixed at the asset level by using trimmed entry screens (see FastballData.jsx entry), which fill
   the frame at the same 390px scale as TLKSHOP — the phones are no longer materially shorter.
   The desktop case-study composition only renders ≥1200px, so the shared 390px branch always applies.
   Issue 268 supersedes ONLY 257's card-height==TLKSHOP rule: the previous min-height:645 reservation
   is removed so the Fastball cards size to their own content + the shared bottom padding (no excess
   space below the copy), finishing just under the copy. All four cards stay equal height (grid stretch)
   and bottom-aligned; the 257 phone correction, card width, paddings, gaps and spacing are unchanged. */

/* =================================================================
   FASTBALL MOBILE — substantial phone enlargement (Fastball brief D/G/H/I).
   Scoped to .fb-mroot ONLY so the shared .mtlk-* phone components on TLKSHOP
   are NOT affected. Every rule keeps a max-width cap (<=95%) so the larger
   phone can never cause horizontal overflow at any width; the phone art keeps
   object-fit:contain (aspect preserved, no distortion) and its drop-shadow.
   A literal 2.5x AREA is not physically possible on a 390/430 mobile viewport
   while preserving the full phone, so each phone is taken to the largest clean
   size that fits (see report for per-section measured area increase).
   ================================================================= */
/* Phone STAGES bleed out to cancel the .m-sec 1.375rem side padding so the device
   art can use the full width (centred, with breathing room from max-width) instead of
   being boxed into the padded column. Captions/headings/controls stay in the padded
   flow. The bleed is exactly the section padding, so the stage equals the viewport
   width — never wider — and max-width(<=94%) keeps the device off the screen edges. */
/* D — Core Journey: every crossfade phone state + the stage that holds them. */
.fb-mroot .mtlk-jr2-stage{min-height:35rem;margin-left:-1.375rem;margin-right:-1.375rem}
.fb-mroot .mtlk-jr2-phone{height:35rem;max-width:94%}
.fb-mroot .mtlk-jr2-cap-d{font-size:1.2rem;line-height:1.5;max-width:32ch}
/* G — Deep Dive Entry: every Voice/Image/Feed/Request phone + its wrapper + copy. */
.fb-mroot .mtlk-entry-phonewrap{height:35rem;margin-left:-1.375rem;margin-right:-1.375rem}
.fb-mroot .mtlk-entry-phone{height:35rem;max-width:94%}
.fb-mroot .mtlk-entry-t{font-size:1.95rem}
.fb-mroot .mtlk-entry-d{font-size:1.16rem;line-height:1.55;max-width:34ch}
/* H — Sports Experience Surface: the dark crossfade feat phone + explanatory copy. */
.fb-mroot .mtlk-feat--dark .mtlk-feat-phonewrap{margin-left:-1.375rem;margin-right:-1.375rem}
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack{min-height:33rem}
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack .mtlk-feat-phone{height:33rem;max-width:90%}
.fb-mroot .mtlk-feat--dark .lv3m-lede{font-size:1.16rem;line-height:1.55}
.fb-mroot .mtlk-gd-supp{font-size:1.1rem;line-height:1.5}
/* I — Deep Dive Action Layer: the single light feat phone + explanatory copy. */
.fb-mroot .mtlk-feat--light .mtlk-feat-phonewrap{margin-left:-1.375rem;margin-right:-1.375rem}
.fb-mroot .mtlk-action-vis .mtlk-feat-phone{height:38rem !important;max-width:90%}
.fb-mroot .mtlk-feat--light .lv3m-lede{font-size:1.16rem;line-height:1.55}

/* =================================================================
   PACKAGE 3 — TLKSHOP mobile. Scoped .tlk-mroot:not(.fb-mroot) so Fastball (which also
   carries .tlk-mroot) is never affected, and desktop (.tlk-root) is untouched. Phone
   enlargements keep object-fit:contain (aspect/quality preserved) + max-width caps so they
   can never cause horizontal overflow.
   ================================================================= */
/* Issue 19 — hero width/alignment + Role/Scope/Status + Four Pillars open phone + thesis shadow */
/* Issue 101: logo (title) + category scaled with the rest of the content group so the
   whole block enlarges proportionally and fills more of the width (this rule wins over
   the .mtlk-hero-logo/.mtlk-hero-cat base, so the scale-up is applied here). */
.tlk-mroot:not(.fb-mroot) .mtlk-hero-logo{height:5rem}
.tlk-mroot:not(.fb-mroot) .mtlk-hero-cat{font-size:0.98rem;line-height:1.55}
.tlk-mroot:not(.fb-mroot) .lv3m-hero-lead{max-width:none}
.tlk-mroot:not(.fb-mroot) .mtlk-meta2-ic{width:3.875rem;height:3.875rem}
.tlk-mroot:not(.fb-mroot) .mtlk-meta2-ic svg{width:1.625rem;height:1.625rem}
.tlk-mroot:not(.fb-mroot) .mtlk-meta2-k{font-size:0.75rem}
.tlk-mroot:not(.fb-mroot) .mtlk-proof-bd-in img{width:90%;max-width:19rem}
/* Thesis five-phone: promote to a stable compositing layer so the device shadows never get
   squared/clipped/repainted-late during scroll; overflow kept visible around it. */
.tlk-mroot:not(.fb-mroot) .mtlk-thesis-stage{overflow:visible}
.tlk-mroot:not(.fb-mroot) .mtlk-thesis-stage img{transform:translateZ(0);backface-visibility:hidden}
/* Issue 20 — Core Journey phone +~23% (active icon stays bright via the JS hold from P1) */
.tlk-mroot:not(.fb-mroot) .mtlk-jr2-stage{min-height:33.5rem}
.tlk-mroot:not(.fb-mroot) .mtlk-jr2-phone{height:33rem;max-width:94%}
/* Issue 21 — Product Architecture markers/copy + one bullet per line */
.tlk-mroot:not(.fb-mroot) .mtlk-arch3-num{width:2.625rem;height:2.625rem;font-size:0.77rem}
.tlk-mroot:not(.fb-mroot) .mtlk-arch3-blurb{font-size:1.04rem;line-height:1.55}
.tlk-mroot:not(.fb-mroot) .mtlk-arch3-items{grid-template-columns:1fr;gap:0.625rem}
.tlk-mroot:not(.fb-mroot) .mtlk-arch3-items li{font-size:1rem}
/* Issue 22 — Deep Dive Entry: label 2x, copy bigger + pulled up, phone larger */
.tlk-mroot:not(.fb-mroot) .mtlk-entry-step{font-size:1.375rem}
.tlk-mroot:not(.fb-mroot) .mtlk-entry-t{margin-top:0.5rem}
.tlk-mroot:not(.fb-mroot) .mtlk-entry-rule{margin:0.5rem 0 0.5rem}
.tlk-mroot:not(.fb-mroot) .mtlk-entry-d{font-size:1.12rem;line-height:1.55;max-width:36ch}
.tlk-mroot:not(.fb-mroot) .mtlk-entry-phonewrap{height:31rem}
.tlk-mroot:not(.fb-mroot) .mtlk-entry-phone{height:31rem;max-width:90%}
/* Issue 23 — AI Decision Pages phones large (largest clean fit; literal 2x can't fit a full
   phone on mobile) + centred footer "Less searching. Better decisions." */
.tlk-mroot:not(.fb-mroot) .mtlk-feat--dark .mtlk-feat-phonewrap{margin-left:-1.375rem;margin-right:-1.375rem}
.tlk-mroot:not(.fb-mroot) .mtlk-feat--dark .mtlk-feat-stack{min-height:33rem}
.tlk-mroot:not(.fb-mroot) .mtlk-feat--dark .mtlk-feat-stack .mtlk-feat-phone{height:33rem;max-width:90%}
.tlk-mroot:not(.fb-mroot) .mtlk-gd-supp{text-align:center}
/* Issue 24 — Action Layer copy + phone + email modal refinement */
.tlk-mroot:not(.fb-mroot) .mtlk-feat--light .lv3m-lede{font-size:1.12rem;line-height:1.55}
.tlk-mroot:not(.fb-mroot) .mtlk-feat--light .mtlk-feat-phonewrap{margin-left:-1.375rem;margin-right:-1.375rem}
.tlk-mroot:not(.fb-mroot) .mtlk-action-vis .mtlk-feat-phone{height:34rem !important;max-width:90%}
.tlk-mroot:not(.fb-mroot) .mtlk-out-x{width:2.25rem;height:2.25rem}
.tlk-mroot:not(.fb-mroot) .mtlk-out-brand{font-size:0.8rem}
.tlk-mroot:not(.fb-mroot) .mtlk-out-lbl{font-size:0.72rem;width:4rem}
.tlk-mroot:not(.fb-mroot) .mtlk-out-val{font-size:1.04rem}
.tlk-mroot:not(.fb-mroot) .mtlk-out-msg p{font-size:1.04rem;line-height:1.6}
/* Issue 25 — Future of Shopping accordion typography */
.tlk-mroot:not(.fb-mroot) .mtlk-res-t{font-size:1.34rem}
.tlk-mroot:not(.fb-mroot) .mtlk-res-line{font-size:1rem}
.tlk-mroot:not(.fb-mroot) .mtlk-res-d{font-size:1.04rem;line-height:1.55}
/* Issue 26 — What We Designed popups (TLKSHOP). The mobile ServiceModal portals to .phone,
   so it is scoped by the cardClass on the panel. Use more width + give the visual more room
   so diagrams/UI/phone artwork are larger and easier to inspect; heading/body already
   enlarged by the shared mobile ServiceModal sizing. (The diagrams are wide SVGs whose
   internal label scale lives in the shared desktop+mobile visual component; popup width is
   maximised here, which is the safe mobile-only lever.) */
.svcm-overlay--m .svcm.svcm--tlkdes{padding-left:0.75rem;padding-right:0.75rem}
.svcm--tlkdes .svcm-h{font-size:1.65rem !important}
.svcm--tlkdes .svcm-copy{font-size:1.06rem !important}
.svcm--tlkdes .svcm-vis{margin-top:1.25rem !important;margin-left:0;margin-right:0}
.svcm--tlkdes .svcm-vis svg{width:100%;height:auto}
/* Final audit (Concern E): these diagrams (viewBox 640x300) were drawn around
   ~10.5-12px labels, but the shared mobile modal forces .svcm-node/.svcm-axis to
   1.05rem/1rem, which blows the class-styled left node labels past the diagram's
   left margin (≈44px horizontal scroll + clipped labels). Bring the node/axis to a
   contained-yet-readable size (0.8rem ≈ desktop's 0.75rem) so every label fits with
   no horizontal scroll. Scoped to .svcm--tlkdes on mobile only — desktop untouched. */
.svcm-overlay--m .svcm--tlkdes .svcm-node{font-size:0.8rem !important}
.svcm-overlay--m .svcm--tlkdes .svcm-axis{font-size:0.72rem !important}
/* Issue 205: the UX/UI System grid's longest label (BOTTOM NAVIGATION) was crammed against — and at
   430/480 past — its card border because the 0.8rem above grows with the fluid root while the card
   width is viewBox-bound. Reduce ONLY that label, in px so it scales with the diagram (width-stable)
   rather than the root. Same specificity as the 0.8rem rule, placed after it so it wins. The other
   five labels keep 0.8rem unchanged. */
.svcm-overlay--m .svcm--tlkdes .svcm-node--gridfit{font-size:11.5px !important;letter-spacing:.02em}

/* =================================================================
   PACKAGE 4 — Fastball mobile. Scoped .fb-mroot (Fastball only; TLKSHOP and desktop
   untouched). Phone enlargements keep object-fit:contain + max-width caps (no overflow).
   ================================================================= */
/* Issue 27 — hero logo/category + tighter gap + Role/Scope/Status */
.fb-mroot .mtlk-hero-logo{height:4.4rem}
.fb-mroot .mtlk-hero-cat{font-size:0.8125rem;line-height:1.4;white-space:nowrap;margin-bottom:0.625rem}
/* Issue 149: the Fastball hero paragraph (no hard breaks) had a poor mobile rag with an
   excessive empty shape on the right. text-wrap:pretty rebalances the line breaks to even
   out the rag and avoid orphan/short lines; a small letter-spacing tightening reclaims a
   little usable width. Copy, left alignment, size and colour are unchanged. */
.fb-mroot .lv3m-hero-lead{margin-top:0.25rem;text-wrap:pretty;letter-spacing:-0.003em}
.fb-mroot .mtlk-meta2-ic{width:3.875rem;height:3.875rem}
.fb-mroot .mtlk-meta2-ic svg{width:1.625rem;height:1.625rem}
.fb-mroot .mtlk-meta2-k{font-size:0.75rem}
/* Issue 28 — Four Pillars closed-card summary + equal closed height */
.fb-mroot .mtlk-proof-d{font-size:1.08rem;line-height:1.45}
.fb-mroot .mtlk-proof-card:not(.is-open){min-height:5.75rem}
.fb-mroot .mtlk-proof-card:not(.is-open) .mtlk-proof-top{height:100%;align-items:center}
/* Issue 29 — Four Pillars open phone bigger */
.fb-mroot .mtlk-proof-bd-in img{width:90%;max-width:19rem}
/* Issue 30 — thesis five-phone shadow stability + stable heading wrap */
.fb-mroot .mtlk-thesis-stage{overflow:visible}
.fb-mroot .mtlk-thesis-stage img{transform:translateZ(0);backface-visibility:hidden}
.fb-mroot .mtlk-thesis-introh{text-wrap:balance}
/* Issue 34 — Product Architecture markers/copy + one bullet per line */
.fb-mroot .mtlk-arch3-num{width:2.625rem;height:2.625rem;font-size:0.77rem}
.fb-mroot .mtlk-arch3-blurb{font-size:1.04rem;line-height:1.55}
.fb-mroot .mtlk-arch3-items{grid-template-columns:1fr;gap:0.625rem}
.fb-mroot .mtlk-arch3-items li{font-size:1rem}
/* Issue 35 — Deep Dive Entry label 2x + copy + tighter spacing (phone 35rem from P1) */
.fb-mroot .mtlk-entry-step{font-size:1.375rem}
.fb-mroot .mtlk-entry-rule{margin:0.5rem auto 0.5rem}
.fb-mroot .mtlk-entry-phonewrap{margin-bottom:0.875rem}
/* Issue 36 — Results for You accordion typography + equal closed cards */
.fb-mroot .mtlk-res-t{font-size:1.34rem}
.fb-mroot .mtlk-res-line{font-size:1rem}
.fb-mroot .mtlk-res-d{font-size:1.04rem;line-height:1.55}
.fb-mroot .mtlk-res-card:not(.is-open){min-height:5.5rem}
/* Issue 37 — Action Layer tighter spacing (phone is static via JSX; phone 38rem from P1) */
.fb-mroot .mtlk-feat--light .lv3m-lede{margin-top:0.875rem}
.fb-mroot .mtlk-action-cta{margin-top:1.5rem}
/* Issue 176 (reopened): the action-layer phone PNG carries a tall transparent band top
   and bottom, so the VISIBLE gaps above (paragraph->phone) and below (phone->CTA) read far
   larger than the element margins. Pull the phone up to roughly halve the visible top gap;
   the CTA pull-up (3268 below) halves the visible bottom gap. Tuned via rendered screenshot. */
.fb-mroot .mtlk-action-vis{margin-top:-2rem;margin-bottom:0}
/* Issue 38 — Future of Sports body + pills bigger */
.fb-mroot .mtlk-future-lede{font-size:1.04rem;line-height:1.55}
.fb-mroot .mtlk-future-pill{font-size:0.95rem;padding:0.6875rem 1rem}
.fb-mroot .mtlk-future-pill svg{width:1rem;height:1rem}
/* Issue 39 — Sports Experience Surface phone +~12% (33->37rem) */
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack{min-height:37rem}
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack .mtlk-feat-phone{height:37rem;max-width:90%}
/* Issue 40 — Sports-surface pills: stronger fill + larger text/icons */
.fb-mroot .mtlk-gd-chip{background:linear-gradient(168deg,rgba(255,255,255,.11),rgba(255,255,255,.04));border-color:rgba(255,255,255,.17);font-size:1.04rem;padding:1rem 0.9375rem}
.fb-mroot .mtlk-gd-chip svg{width:1.125rem;height:1.125rem}
/* Issue 41 — What We Designed popups (Fastball; ServiceModal portals to .phone -> cardClass) */
.svcm-overlay--m .svcm.svcm--fbdes{padding-left:0.75rem;padding-right:0.75rem}
.svcm--fbdes .svcm-h{font-size:1.65rem !important}
.svcm--fbdes .svcm-copy{font-size:1.06rem !important}
.svcm--fbdes .svcm-vis{margin-top:1.25rem !important;margin-left:0;margin-right:0}
.svcm--fbdes .svcm-vis svg{width:100%;height:auto}
/* Final audit (Concern E): same diagram-label containment fix as .svcm--tlkdes
   (Fastball shares the 640x300 visual component). Mobile-only, desktop untouched. */
.svcm-overlay--m .svcm--fbdes .svcm-node{font-size:0.8rem !important}
.svcm-overlay--m .svcm--fbdes .svcm-axis{font-size:0.72rem !important}

/* ============================================================
   ISSUES 90-100 — Lip Doctor mobile cleanup (scoped to .lv3m-*; desktop untouched)
   ============================================================ */
/* Issue 90: modest neutral lift behind the portrait card so its edge separates from
   the near-black section without a hard outline or any change to the image. */
.lv3m-hero--ld .lv3m-hero-art-wrap{background:radial-gradient(ellipse 82% 76% at 50% 45%,rgba(255,248,244,.06),rgba(255,248,244,.022) 52%,transparent 74%)}
/* Issue 92/93/100: section eyebrows enlarged. */
.lv3m-proof .ds-eyebrow{font-size:0.96rem}            /* +20% */
.lv3m-gsec .ds-eyebrow{font-size:0.88rem}             /* +10% */
.lv3m-why .ds-eyebrow{font-size:0.96rem}              /* +20% */
/* Issues 93/95/100: tighter eyebrow-to-heading gaps. */
.lv3m-gsec .lv3m-gsec-h{margin-top:0.5rem}
.lv3m-built .m-sec-h{margin-top:0.3rem}
/* Issue 93/94: enlarge the Foundation icon container to hold the +40% icon (styling kept). */
.lv3m-root .lv3-gs-found .lv3-gs-ic{width:3.5rem;height:3.5rem}
/* Issue 96/97/98: per-phase eyebrow label sizing (each phase scoped separately). */
.lv3m-phase--light .lv3m-phase-eb-num,.lv3m-phase--light .lv3m-phase-eb-k{font-size:0.86rem}   /* P01 +25% */
.lv3m-conv .lv3m-phase-eb-num,.lv3m-conv .lv3m-phase-eb-k{font-size:0.78rem}                   /* P02 +13% */
.lv3m-phase--warm .lv3m-phase-eb-num,.lv3m-phase--warm .lv3m-phase-eb-k{font-size:0.82rem}     /* P03 +19% */
/* Issue 97/98: phase hero headings. */
.lv3m-conv .m-sec-h{font-size:3rem}                   /* P02 +20% */
.lv3m-phase--warm .m-sec-h{font-size:2.75rem}         /* P03 +10% */
/* Issue 97: funnel labels — scoped with :not(.ss-cv) so the shared component used by
   Smile Stylist is unaffected. Percentages/figures untouched. */
.lv3m-cv:not(.ss-cv) .lv3m-cv-jh{font-size:0.84rem}          /* FROM INQUIRY TO TREATMENT +22% */
.lv3m-cv:not(.ss-cv) .lv3m-cv-live{font-size:0.825rem}       /* VIEW LIVE SITE +10% */
.lv3m-cv:not(.ss-cv) .lv3m-cv-step-k{font-size:1.06rem}      /* step title */
.lv3m-cv:not(.ss-cv) .lv3m-cv-step-vl{font-size:0.74rem}     /* step sub-label */
/* Issue 97: explanatory paragraph in its own restrained card (full funnel width). */
.lv3m-cv:not(.ss-cv) .lv3m-cv-explaincard{margin-top:1.25rem;padding:1.125rem 1.25rem;border-radius:1.125rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10)}
.lv3m-cv:not(.ss-cv) .lv3m-cv-explaincard .lv3m-cv-explain{margin:0;max-width:none}
/* Issue 99: provider accordion body copy enlarged. */
.lv3m-rec-row-bd-in p{font-size:1.06rem;line-height:1.55;margin:0}

/* ============================================================
   ISSUES 101-106 — TLKSHOP mobile cleanup (scoped to .tlk-mroot / mtlk-*; Lip Doctor
   shares lv3m-* but never carries .tlk-mroot, so it is unaffected; desktop untouched)
   ============================================================ */
/* Issue 102/104: heading-word recolours — italic serif treatment preserved. */
.tlk-mroot .ds-accent.mtlk-orange{color:#FF6600;-webkit-text-fill-color:#FF6600}    /* "experience." */
.tlk-mroot .ds-accent.mtlk-purple{color:#B57BF5;-webkit-text-fill-color:#B57BF5}    /* Issue 147: "engine." + period — lighter/brighter purple, stronger contrast on black */
/* Issue 101: larger lead paragraph + a brighter neutral backing behind the hero card
   so it separates from the black via tonal contrast (the white edge-glow was reduced above). */
.tlk-mroot .lv3m-hero-lead{font-size:1.22rem}
.mtlk-hero-art-wrap{background:radial-gradient(ellipse 86% 78% at 50% 46%,rgba(255,250,247,.07),rgba(255,250,247,.025) 52%,transparent 74%)}
/* Issue 104: eyebrow +5% and closer to the heading; "Results for you" label +10%. */
.mtlk-future-eb{font-size:0.84rem}
.mtlk-future-head .m-sec-h{margin-top:0.5rem}
.mtlk-future-resultslbl{font-size:0.88rem}
/* Issue 105: "Your turn" eyebrow +25%; reduce the over-large gap above the final CTA
   (its min-height + top padding were the source) by ~50%, without crowding. */
.mtlk-cta .ds-eyebrow{font-size:1.0rem}
.mtlk-cta{min-height:26vh;padding-top:2rem}

/* ============================================================
   ISSUES 107-114 — FASTBALL mobile cleanup (scoped to .fb-mroot; TLKSHOP/Lip Doctor
   share the mtlk- and lv3m- classes but never carry .fb-mroot, so they are unaffected;
   desktop untouched)
   ============================================================ */
/* Issue 107A: "experience." -> Engagement-loop orange (italic serif preserved). */
.fb-mroot .ds-accent.fb-orange{color:#FF6600;-webkit-text-fill-color:#FF6600}
/* Issue 107B: all four Platform accordion phones +~10%, phone->copy gap ~50% smaller. */
.fb-mroot .mtlk-proof-bd-in img{max-width:21rem;margin-bottom:0.875rem}
.fb-mroot .mtlk-proof-bd-in p{margin-top:0}
/* Issue 108B: journey pill number + label larger (outer pill dimensions unchanged). */
.fb-mroot .mtlk-jr2-tab-n{font-size:0.82rem}
.fb-mroot .mtlk-jr2-tab-k{font-size:0.74rem;letter-spacing:.03em}
/* Issue 109: entry phone +10%, tighter gap above + below, smaller PROFILE-style label. */
.fb-mroot .mtlk-entry-stage{margin-top:0.75rem}                  /* B: gap above phone */
.fb-mroot .mtlk-entry-phonewrap{height:38.5rem;margin-bottom:0.4rem}  /* A height + C gap below */
.fb-mroot .mtlk-entry-phone{height:38.5rem;max-width:96%}        /* A: phone +10% */
.fb-mroot .mtlk-entry-step{font-size:1.1rem}                     /* D: label -20% (1.375->1.1rem) */
/* Issue 110: sports-surface phone +10%, tighter copy->phone and phone->cards gaps. */
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack{min-height:36.3rem}
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack .mtlk-feat-phone{height:36.3rem;max-width:92%}
.fb-mroot .mtlk-feat--dark .mtlk-feat-phonewrap{margin-top:0.75rem}
.fb-mroot .mtlk-gd-chips{margin-top:0.6875rem}                   /* D: phone -> feature cards ~50% */
/* Issue 111: action-layer eyebrow closer, phone +10%, tighter copy->phone and phone->CTA. */
.fb-mroot .mtlk-feat--light .m-sec-h{margin-top:0.4rem}
.fb-mroot .mtlk-action-vis .mtlk-feat-phone{height:41.8rem !important;max-width:92%}
/* Issue 176: halve the visible paragraph->phone gap (phonewrap top) and the visible
   phone->CTA gap (pull the CTA up into the phone's transparent lower band). */
.fb-mroot .mtlk-feat--light .mtlk-feat-phonewrap{margin-top:0.35rem}
.fb-mroot .mtlk-action-cta{margin-top:-2rem}
/* Issue 112A: future eyebrow +10% + closer to heading. */
.fb-mroot .mtlk-future-eb{font-size:0.88rem}
.fb-mroot .mtlk-future-head .m-sec-h{margin-top:0.5rem}
/* Issue 113A: "What we designed" eyebrow +10% + closer to heading. */
.fb-mroot .mtlk-designed .ds-eyebrow{font-size:0.88rem}
.fb-mroot .mtlk-designed .m-sec-h{margin-top:0.4rem}

/* ============================================================
   ISSUES 115-127 — SMILE STYLIST mobile cleanup (scoped to .ss-mroot / ss- classes;
   Lip Doctor shares lv3m- but never carries .ss-mroot, so it is unaffected. Many
   sizing/interaction parts already match Lip Doctor via the shared lv3m- classes
   corrected in b26032a; the rules below cover the SS-specific deltas.)
   ============================================================ */
/* Issue 116: hero meta labels +50% (from the 0.625rem base) and brighter. */
.ss-mroot .lv3m-meta-k{font-size:0.94rem;color:#C7CCD4}
/* Issue 117A: THE NUMBERS eyebrow +10% (red comes from the ds-eyebrow--pink class). */
.ss-mroot .lv3m-proof .ds-eyebrow{font-size:0.88rem}
/* Issue 117C: keep the paragraph below the graph above the card glow/shadow. */
.ss-mroot .lv3m-gi-copy{position:relative;z-index:3}
/* Issue 118A: "THE OPPORTUNITY" eyebrow +15% + closer to heading. */
.ss-mroot .lv3m-challenge .ds-eyebrow{font-size:0.92rem}
.ss-mroot .lv3m-challenge .m-sec-h{margin-top:0.5rem}
/* Issue 121: MOBILE-FIRST pill ~2x; funnel labels (SS .ss-cv, which the Lip Doctor
   funnel rules excluded); explanatory card matches the corrected Lip Doctor treatment. */
.ss-cv .lv3m-cv-badge{font-size:1.18rem;padding:0.6rem 1.15rem;gap:0.55rem}
.ss-cv .lv3m-cv-badge i{width:0.45rem;height:0.45rem}
.ss-cv .lv3m-cv-jh{font-size:0.84rem}
.ss-cv .lv3m-cv-step-k{font-size:1.06rem}
.ss-cv .lv3m-cv-step-vl{font-size:0.74rem}
.ss-cv .lv3m-cv-explaincard{margin-top:1.25rem;padding:1.125rem 1.25rem;border-radius:1.125rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10)}
.ss-cv .lv3m-cv-explaincard .lv3m-cv-explain{margin:0;max-width:none}
/* Issue 123: recognition source sub-copy ~half size (closing foot already -30% via b26032a). */
.ss-rec .lv3m-rec-row-scope{font-size:0.55rem}
/* Issue 124: ux/ui heading +10% + closer eyebrow; larger checklist copy + bolder checks. */
.ss-web .m-sec-h{font-size:2.75rem;margin-top:0.5rem}
.ss-mroot .lv3m-points li{font-size:1.06rem}
.ss-mroot .lv3m-points li svg{width:1.18rem;height:1.18rem;stroke-width:2.4}
/* Issue 125: Virtual Smile Makeover — eyebrow purple +15%, card +15%, tighter gap to
   image, larger/bolder caption. */
/* Issue 183: brighter purple so the VIRTUAL SMILE MAKEOVER title reads clearly on black. */
.ss-vsm .ds-eyebrow--ai{color:#B57BF5;-webkit-text-fill-color:#B57BF5;font-size:0.92rem}
.ss-vsm .lv3m-expand-card{padding:1.1rem 1.55rem}
.ss-vsm .lv3m-expand-card-ic{width:2.8rem;height:2.8rem}
.ss-vsm .lv3m-expand-card-t{font-size:1.32rem}
.ss-vsm .lv3m-expand-card-scope{font-size:0.79rem}
/* Issue 183: the smile-makeover-marketing-campaign.png carries a tall transparent top band, so the visible
   gap from the pill to the phone reads far larger than the 0.8rem margin. Pull the image up
   into that band to roughly halve the visible gap (tuned via rendered screenshot). */
.ss-vsm .lv3m-expand-phonewrap{margin-top:-1.7rem}
.ss-vsm .lv3m-vsm-cap{font-size:0.83rem;font-weight:700}
/* Issue 127: "YOUR TURN" +25% + larger supporting paragraph. */
.ss-mroot .lv3m-cta .ds-eyebrow{font-size:1.0rem}
.ss-mroot .lv3m-cta-sub{font-size:1.12rem}

/* ============================================================
   ISSUE 146 — TLKSHOP transient phone-side rendering artifacts
   The crossfading phone images in DEEP DIVE · ENTRY and DEEP DIVE · THE ACTION LAYER
   carry soft drop-shadows. With nothing pinning them to a stable compositing layer, the
   browser would intermittently repaint the shadow late or as a hard rectangle during
   scroll, reading as mismatched rectangular blocks/seams on both sides of the phone.
   Promoting each phone image to its own stable GPU layer (translateZ/backface-visibility
   + will-change) keeps the soft shadow continuous and seamless at every scroll position.
   Phone size, crop, shadow shape, crossfade and animation behaviour are unchanged. The
   wrappers are isolated as their own layers so no neighbouring paint bleeds into them.
   ============================================================ */
.tlk-mroot .mtlk-entry-phone,
.tlk-mroot .mtlk-feat-phone,
.tlk-mroot .mtlk-jr2-phone{backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:opacity,transform}
.tlk-mroot .mtlk-entry-phonewrap,
.tlk-mroot .mtlk-feat-phonewrap,
.tlk-mroot .mtlk-feat-stack{transform:translateZ(0);isolation:isolate}

/* ============================================================
   MOBILE CORRECTION BATCH — ISSUES 151-159 (Fastball + Smile Stylist + Lip Doctor)
   ============================================================ */

/* --- Issue 151: Fastball DEEP DIVE · ENTRY — cut the dead space above/below the phone
   (the 35rem wrap was much taller than the phone render) and reduce the changing
   active-state label group ~15%. The phone keeps its width (94%) so its size is preserved;
   only the surrounding empty band shrinks. BUILD A FAN IDENTITY (.mtlk-entry-t) is unchanged. */
/* Issue 174: increase the selector-buttons -> phone gap to ~1.8x its prior visible size. */
.fb-mroot .mtlk-entry-stage{margin-top:1.75rem}
/* Issue 175: nudge the active-state label row a touch closer to the phone (phone->label gap). */
.fb-mroot .mtlk-entry-phonewrap{height:29rem;margin-bottom:0.3rem}
.fb-mroot .mtlk-entry-phone{height:29rem}
/* Issue 175: enlarge the active-state label row (icon + state name) by ~50%. */
.fb-mroot .mtlk-entry-step{font-size:0.88rem;gap:0.5rem}
.fb-mroot .mtlk-entry-step svg{width:1.28rem;height:1.28rem}

/* --- Issue 152: Fastball DEEP DIVE · THE ACTION LAYER — reduce paragraph->phone (~50%)
   and phone->PREVIEW THE EXPERIENCE (~58%) dead zones. Phone size/aspect unchanged. */
.fb-mroot .mtlk-feat--dark .mtlk-feat-phonewrap{margin-top:0.7rem}     /* paragraph -> phone (1.375 -> 0.7, -49%) */
/* Issue 173: the Sports Experience Surface phone was overlapping the feature-chip grid.
   Replace the negative pull-up with a small positive gap so a modest black band sits
   between the phone's lower edge and the chips. Tuned via rendered measurement. */
.fb-mroot .mtlk-feat--dark .mtlk-feat-stack{min-height:34rem;margin-bottom:1.25rem}

/* --- Issue 154: official Smile Stylist logo replaces the hero text title (dark-bg variant,
   for the dark hero). Sized strongly across the content width, native aspect, no panel,
   balanced spacing under the portrait and above the intro copy. One logo only. --- */
.ss-mroot .ss-hero-logo-h{margin:0.25rem 0 0.5rem}
.ss-mroot .ss-hero-logo{display:block;width:90%;max-width:21.5rem;height:auto;margin:0}

/* --- Issue 156: Smile Stylist Growth System cards — the LEADS body ("...capture.") sat
   against the bottom border. More internal bottom padding (every card, equal sizing kept). */
.lv3m-root .lv3-gs-node{padding-bottom:1.75rem}

/* --- Issue 157: Smile Stylist PHASE 02 — MOBILE-FIRST pill ~45% smaller (capsule, label,
   dot, padding together); the phone centred and substantially enlarged as the focal point. */
/* Issue 180: enlarge the MOBILE-FIRST pill ~18% (font/padding/gap/dot scaled together) and
   keep it centred relative to the section. */
.ss-cv .lv3m-cv-badge{font-size:0.78rem;padding:0.4rem 0.76rem;gap:0.36rem;margin-bottom:0.875rem;margin-left:auto;margin-right:auto}
.ss-cv .lv3m-cv-badge i{width:0.31rem;height:0.31rem}
.ss-cv .lv3m-cv-phonewrap{display:flex;justify-content:center}
/* Issue 180: centre by the phone's VISIBLE edges. The ss phone asset carries asymmetric
   transparent side margins; a small translateX compensates so the visible device is centred.
   Value tuned via rendered measurement (see check below). */
.ss-cv .lv3m-cv-phone{width:96%;max-width:none;margin:0 auto;transform:translateX(-16px)}

/* --- Issue 158: Smile Stylist + Lip Doctor PHASE 02 white summary card — add a visible
   white left-edge accent (the white member of the coloured-accent card family) and a more
   noticeable outline, while keeping the dark fill premium (not solid white). --- */
.ss-cv .lv3m-cv-explaincard,
.lv3m-cv:not(.ss-cv) .lv3m-cv-explaincard{border-color:rgba(255,255,255,.22);border-left:3px solid rgba(255,255,255,.7);box-shadow:0 0 0 0 transparent, -1px 0 14px -6px rgba(255,255,255,.35)}

/* --- Issue 159: Smile Stylist Virtual Smile Makeover — tighten the gap between the
   ASPIRATIONAL PREVIEW card and the phone + glowing-ring composition (~55%). --- */
.ss-vsm .lv3m-vsm-illus{margin-top:0.4rem}
/* --- Issue 169: Lip Doctor mobile Growth System is scroll-only (no tap activation).
   The stage cards are no longer interactive on mobile, so drop the pointer cursor and
   the tap-highlight. Desktop (no .lv3-gs--mobile) keeps its hover/click affordance. --- */
.lv3-gs--mobile .lv3-gs-found,.lv3-gs--mobile .lv3-gs-node,.lv3-gs--mobile .lv3-gs-rail{cursor:default;-webkit-tap-highlight-color:transparent}

/* Issue 174: move DEEP DIVE · ENTRY eyebrow only slightly closer to the headline. */
.fb-mroot .mtlk-entrysec .m-sec-h{margin-top:0.4rem}

/* Issue 172: TLKSHOP Your Turn — supporting paragraph slightly larger, and reduce the black
   space between it and the MSHRM logo/footer by ~30% (shorter section min-height + padding). */
.tlk-mroot:not(.fb-mroot) .lv3m-cta-sub{font-size:1.1rem}
.tlk-mroot:not(.fb-mroot) .mtlk-cta{min-height:18vh;padding-bottom:1.1rem}

/* === Lip Doctor mobile issues 200-202 (shared SS growth/tagline in 200/201) === */
/* Issue 200: BEFORE ANY TRAFFIC badge ~12% larger and anchored to the card top-right corner
   (top-aligned in the header row, clean top padding). Purple/typography/tracking preserved.
   Scoped to the mobile growth card (.lv3-gs--mobile) so both Lip Doctor and Smile Stylist get it;
   desktop untouched. */
.lv3-gs--mobile .lv3-gs-found-tag{font-size:0.694rem;align-self:flex-start;margin-top:0.125rem}
/* Issue 201: Smile Stylist Recognition tagline must hold exactly two lines (the controlled <br>
   sets the break; here we give line 2 room to stay on one row at every width). */
/* Issue 214: lock the Recognition tagline to exactly two lines. The JSX <br> sets the single break
   after "Compounded."; white-space:nowrap then prevents the browser from wrapping either line into a
   third. Font/tracking sized so the longer line ("RECOGNITION THAT DRIVES RESULTS.") still fits at
   320px. Mono treatment and colour preserved; SS-only. */
.ss-mroot .lv3m-rec-foot{font-size:0.74rem;letter-spacing:.02em;max-width:none;white-space:nowrap}
/* Issue 202: Lip Doctor Results labels ~15% larger and tighter together (THE RESULTS nudged down,
   the gap to MANAGED AD SPEND / MONTH cut ~1/3). Headline/graph/cards untouched. */
.lv3m-results--full .ds-eyebrow{font-size:0.92rem;margin-top:0.4rem;margin-bottom:0}
.lv3m-results--full .lv3m-res{margin-top:0.7rem}
.lv3m-results--full .lv3m-res-unit{font-size:0.72rem}

/* ============================================================
   FASTBALL MOBILE — ISSUES 207-211 (scoped .fb-mroot; TLKSHOP is the approved visual
   reference and is NOT changed; desktop untouched). The Fastball phone PNGs carry ~15-30%
   built-in transparent padding, so matching TLKSHOP's *visible* phone scale requires larger
   render boxes than TLKSHOP's (the transparent surplus is clipped by the card / centred in
   the full-bleed wrap). Sizes/gaps were tuned by measuring the alpha bounding box of each
   phone against the equivalent TLKSHOP section, not by copying raw CSS widths.
   ============================================================ */
/* Issue 208 — Four Pillars accordion: enlarge the visible phone to match TLKSHOP. Width >100%
   so the visible phone reaches TLKSHOP's scale; the transparent surplus is clipped by the
   card's overflow:hidden. Centre an over-wide image via left+translateX (margin:auto can't
   centre a child wider than its container). */
.fb-mroot .mtlk-proof-bd-in img{width:128%;max-width:27rem;margin-left:0;margin-right:0;margin-bottom:0.2rem;left:50%;transform:translateX(-50%)}
/* Issue 209 — Deep Dive · Entry: match TLKSHOP's visible phone scale (height-driven, object-fit
   contain, already transform-centred in its full-bleed wrap). */
.fb-mroot .mtlk-entry-phonewrap{height:33rem;overflow-x:clip}
.fb-mroot .mtlk-entry-phone{height:33rem;max-width:140%}
/* Issue 209 — active-state label scale to match TLKSHOP's entry label (1.375rem). The heading
   (.mtlk-entry-t) keeps Fastball's own size; only the small label scale + rhythm are matched. */
.fb-mroot .mtlk-entry-step{font-size:1.375rem}
/* Issue 210 — Deep Dive · The Action Layer: match TLKSHOP's visible phone scale. Height set so the
   rem-driven (object-fit contain) render gives TLKSHOP's visible width; max-width raised so the cap
   never binds at narrow widths (kept the phone rem-scaled, consistent 320->480 like TLKSHOP). The
   transparent surplus is clipped horizontally (overflow-x:clip keeps the vertical drop-shadow).
   Gaps match TLKSHOP (paragraph->phone ≈22px, phone->PREVIEW button ≈36px) via the pull-ups. */
.fb-mroot .mtlk-action-vis .mtlk-feat-phone{height:35.8rem !important;max-width:130%}
.fb-mroot .mtlk-feat--light .mtlk-action-vis{margin-top:1.34rem;overflow-x:clip}
.fb-mroot .mtlk-action-cta{margin-top:0.72rem}
