/* ============================================================================
   LaunchCV — Mobil Landing ("Mürekkep İndigo")
   Breakpoint-separated mobile experience. Everything scoped under .lcv-m so it
   never collides with the desktop landing (launchcv.css). Theme follows the
   site-wide :root[data-theme]; no phone frame / status bar (design artifacts).
   ========================================================================== */

/* ---- VISIBILITY TOGGLE --------------------------------------------------- */
.lcv-m { display: none; }
@media (max-width: 768px) {
  .lcv-desktop { display: none !important; }
  .lcv-m { display: block; }
}

/* ---- THEME TOKENS (scoped to .lcv-m, keyed off global theme) ------------- */
.lcv-m,
:root[data-theme="light"] .lcv-m {
  --canvas:        #FBFBFD;
  --surface:       #FFFFFF;
  --surface-muted: #F2F1F8;
  --surface-sunken:#F7F6FC;
  --text:          #15131E;
  --text-2:        #6B6878;
  --text-3:        #9C99AD;
  --border:        #E8E6F0;
  --border-strong: #D9D6E6;
  --primary:       #5B47E0;
  --primary-hover: #4A38C4;
  --on-primary:    #FFFFFF;
  --primary-soft:  #EDE9FB;
  --on-soft:       #4A38C4;
  --accent:        #9B6BFF;
  --success:       #1F9D55;
  --shadow-sm: 0 1px 2px rgba(40,28,80,.06), 0 1px 3px rgba(40,28,80,.05);
  --shadow-md: 0 8px 22px rgba(40,28,80,.09), 0 2px 8px rgba(40,28,80,.06);
  --shadow-lg: 0 22px 48px rgba(40,28,80,.16), 0 6px 16px rgba(40,28,80,.08);
  --shadow-brand: 0 14px 30px rgba(91,71,224,.32);
  --glow: rgba(91,71,224,.18);
  --nav-bg: rgba(251,251,253,.85);
  --hairline: rgba(21,19,30,.07);
  --r-sm: 12px;  --r-md: 18px;  --r-lg: 24px;  --r-xl: 30px;  --r-pill: 999px;
}

:root[data-theme="dark"] .lcv-m {
  --canvas:        #0B0A12;
  --surface:       #15131F;
  --surface-muted: #1C1A28;
  --surface-sunken:#100E1A;
  --text:          #F4F3F8;
  --text-2:        #9C99AD;
  --text-3:        #6B6878;
  --border:        #262338;
  --border-strong: #332F47;
  --primary:       #7C66FF;
  --primary-hover: #9580FF;
  --on-primary:    #0B0A12;
  --primary-soft:  #28213F;
  --on-soft:       #C09BFF;
  --accent:        #9B6BFF;
  --success:       #3DD68C;
  --shadow-sm: 0 1px 2px rgba(0,0,0,.4);
  --shadow-md: 0 10px 26px rgba(0,0,0,.5);
  --shadow-lg: 0 26px 56px rgba(0,0,0,.6);
  --shadow-brand: 0 16px 36px rgba(124,102,255,.36);
  --glow: rgba(124,102,255,.24);
  --nav-bg: rgba(15,13,25,.82);
  --hairline: rgba(244,243,248,.08);
}

/* ---- SHELL --------------------------------------------------------------- */
.lcv-m .screen {
  position: relative;
  background: var(--canvas);
  color: var(--text);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
}

/* ---- TOP BAR ------------------------------------------------------------- */
.lcv-m .topbar {
  position: sticky; top: 0; z-index: 38;
  display: flex; align-items: center; gap: 10px;
  padding: 12px 18px;
  background: var(--nav-bg);
  -webkit-backdrop-filter: blur(18px) saturate(160%); backdrop-filter: blur(18px) saturate(160%);
  border-bottom: 1px solid transparent;
  transition: border-color .3s ease, background .45s ease;
}
.lcv-m .topbar.scrolled { border-bottom-color: var(--hairline); }
.lcv-m .brand { display: inline-flex; align-items: center; gap: 9px; font-family: var(--font-display); font-weight: 600; font-size: 16.5px; letter-spacing: -0.02em; color: var(--text); }
.lcv-m .brand-mark { width: 30px; height: 30px; border-radius: 8px; flex-shrink: 0; }
.lcv-m .brand small { color: var(--primary); font-weight: 600; }
.lcv-m .topbar .spacer { margin-left: auto; }
.lcv-m .icon-btn {
  width: 38px; height: 38px; border-radius: var(--r-pill); flex-shrink: 0;
  border: 1px solid var(--border-strong); background: var(--surface); color: var(--text);
  cursor: pointer; display: grid; place-items: center;
  transition: border-color .2s, background .2s, transform .15s, color .2s;
}
.lcv-m .icon-btn:active { transform: scale(.93); }
.lcv-m .icon-btn svg { width: 18px; height: 18px; }
.lcv-m .ico-sun { display: none; }
:root[data-theme="dark"] .lcv-m .ico-sun { display: block; }
:root[data-theme="dark"] .lcv-m .ico-moon { display: none; }

/* ---- SECTIONS ------------------------------------------------------------ */
.lcv-m .sect { padding: 0 18px; }
.lcv-m .sect + .sect { margin-top: 46px; }
.lcv-m .hero + .sect { margin-top: 40px; }
.lcv-m .sect-eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12.5px; font-weight: 600; letter-spacing: .01em; color: var(--on-soft);
  background: color-mix(in oklab, var(--primary-soft) 60%, transparent);
  border: 1px solid color-mix(in oklab, var(--primary) 26%, transparent);
  padding: 6px 13px; border-radius: var(--r-pill);
}
.lcv-m .sect-eyebrow .d { width: 6px; height: 6px; border-radius: 50%; background: var(--primary); }
.lcv-m .sect-head { text-align: center; max-width: 320px; margin: 0 auto 22px; }
.lcv-m .sect-head .sect-eyebrow { margin-bottom: 14px; }
.lcv-m .sect-head h2 { font-family: var(--font-display); font-weight: 700; font-size: 25px; letter-spacing: -0.03em; line-height: 1.12; margin: 0 0 9px; }
.lcv-m .sect-head p { font-size: 14px; line-height: 1.55; color: var(--text-2); margin: 0; }

/* ---- BUTTONS ------------------------------------------------------------- */
.lcv-m .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  font-family: var(--font-body); font-weight: 600; font-size: 15px;
  padding: 14px 22px; border-radius: var(--r-pill);
  border: 1px solid transparent; cursor: pointer;
  transition: transform .18s cubic-bezier(.16,1,.3,1), background .22s, box-shadow .22s, border-color .22s, color .2s;
  white-space: nowrap;
}
.lcv-m .btn svg { width: 17px; height: 17px; }
.lcv-m .btn:active { transform: scale(.97); }
.lcv-m .btn-primary { background: var(--primary); color: var(--on-primary); box-shadow: var(--shadow-brand); }
.lcv-m .btn-ghost { background: transparent; color: var(--text); border-color: var(--border-strong); }
.lcv-m .btn-soft { background: var(--primary-soft); color: var(--on-soft); }
.lcv-m .btn-block { width: 100%; }
.lcv-m .btn-lg { padding: 16px 26px; font-size: 16px; }

/* ---- HERO ---------------------------------------------------------------- */
.lcv-m .hero { position: relative; padding: 26px 18px 6px; text-align: center; overflow: hidden; }
.lcv-m .hero::before {
  content: ""; position: absolute; inset: -20% -30% auto -30%; height: 60%;
  background: radial-gradient(circle, var(--glow) 0%, transparent 70%);
  filter: blur(38px); z-index: 0; pointer-events: none;
}
.lcv-m .hero > * { position: relative; z-index: 1; }
.lcv-m .hero .sect-eyebrow { margin-bottom: 18px; }
.lcv-m .hero h1 {
  font-family: var(--font-display); font-weight: 700;
  font-size: 33px; line-height: 1.06; letter-spacing: -0.04em; margin: 0;
  text-wrap: balance; color: var(--text);
}
.lcv-m .hero h1 .hl { color: var(--primary); }
.lcv-m .hero .lead { margin: 14px auto 0; max-width: 310px; font-size: 14.5px; line-height: 1.55; color: var(--text-2); }

/* signature score card — the hook */
.lcv-m .score {
  position: relative; margin: 24px 0 0; overflow: hidden; text-align: left;
  border-radius: var(--r-lg);
  background:
    linear-gradient(150deg,
      color-mix(in oklab, var(--primary) 16%, var(--surface)) 0%,
      color-mix(in oklab, var(--accent) 12%, var(--surface)) 46%,
      var(--surface) 100%);
  border: 1px solid color-mix(in oklab, var(--primary) 24%, var(--border));
  box-shadow: var(--shadow-lg);
}
.lcv-m .score-glow { position: absolute; inset: auto -25% -70% auto; width: 80%; height: 150%; background: radial-gradient(circle, color-mix(in oklab, var(--primary) 32%, transparent) 0%, transparent 64%); filter: blur(34px); z-index: 0; }
.lcv-m .score-body { position: relative; z-index: 1; padding: 20px 20px 18px; display: flex; align-items: center; gap: 18px; }
.lcv-m .score-ring { position: relative; width: 104px; height: 104px; flex: none; }
.lcv-m .score-ring svg { width: 104px; height: 104px; transform: rotate(-90deg); }
.lcv-m .score-ring .track { fill: none; stroke: color-mix(in oklab, var(--primary) 14%, var(--surface-muted)); stroke-width: 9; }
.lcv-m .score-ring .prog { fill: none; stroke: url(#scoreGrad); stroke-width: 9; stroke-linecap: round; stroke-dasharray: 295; stroke-dashoffset: 24; transition: stroke-dashoffset 1.6s cubic-bezier(.16,1,.3,1); }
.lcv-m .score-ring .val { position: absolute; inset: 0; display: grid; place-items: center; flex-direction: column; text-align: center; }
.lcv-m .score-ring .val .n { font-family: var(--font-display); font-weight: 700; font-size: 30px; letter-spacing: -0.04em; line-height: 1;
  background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lcv-m .score-ring .val .max { font-size: 11px; font-weight: 600; color: var(--text-3); margin-top: 1px; }
.lcv-m .score-info { flex: 1; min-width: 0; }
.lcv-m .score-label { display: inline-flex; align-items: center; gap: 7px; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--on-soft); }
.lcv-m .score-label .dot { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, var(--primary), var(--accent)); box-shadow: 0 0 0 4px color-mix(in oklab, var(--primary) 16%, transparent); }
.lcv-m .score-ba { display: flex; align-items: center; gap: 9px; margin: 10px 0 9px; }
.lcv-m .score-ba .chip { display: inline-flex; flex-direction: column; }
.lcv-m .score-ba .chip .t { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.lcv-m .score-ba .chip .v { font-family: var(--font-display); font-weight: 700; font-size: 21px; letter-spacing: -0.03em; line-height: 1; color: var(--text-2); }
.lcv-m .score-ba .chip.aft .v { background: linear-gradient(135deg, var(--primary), var(--accent)); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.lcv-m .score-ba .arr { color: var(--primary); display: grid; place-items: center; }
.lcv-m .score-ba .arr svg { width: 18px; height: 18px; }
.lcv-m .score-ba .delta { margin-left: auto; font-size: 11.5px; font-weight: 700; color: var(--success); background: color-mix(in oklab, var(--success) 14%, var(--surface)); border: 1px solid color-mix(in oklab, var(--success) 32%, transparent); padding: 3px 9px; border-radius: var(--r-pill); }
.lcv-m .score-meta { font-size: 12px; font-weight: 500; color: var(--text-2); }

.lcv-m .hero-cta { margin: 22px 0 6px; }
.lcv-m .hero-cta .btn { width: 100%; }
.lcv-m .hero-trust { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; font-size: 12.5px; color: var(--text-2); }
.lcv-m .hero-trust .star { color: var(--primary); }
.lcv-m .hero-trust .dotsep { width: 3px; height: 3px; border-radius: 50%; background: var(--border-strong); }
.lcv-m .hero-trust b { color: var(--text); font-weight: 700; }

/* ---- HOW IT WORKS -------------------------------------------------------- */
.lcv-m .hiw { position: relative; }
.lcv-m .hiw-steps { position: relative; display: flex; flex-direction: column; gap: 0; margin-top: 4px; }
.lcv-m .hiw-steps::before { content: ""; position: absolute; left: 27px; top: 26px; bottom: 26px; width: 2px; background: linear-gradient(var(--primary), var(--accent)); opacity: .35; }
.lcv-m .hiw-step { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: start; padding: 11px 0; }
.lcv-m .hiw-num { position: relative; width: 56px; height: 56px; display: grid; place-items: center; z-index: 1; }
.lcv-m .hiw-num::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--surface); border: 2px solid var(--border-strong); box-shadow: var(--shadow-sm); transition: background .35s, border-color .35s; }
.lcv-m .hiw-num svg { position: relative; z-index: 1; width: 23px; height: 23px; color: var(--on-soft); }
.lcv-m .hiw-step.lit .hiw-num::before { background: var(--primary); border-color: var(--primary); box-shadow: var(--shadow-brand); }
.lcv-m .hiw-step.lit .hiw-num svg { color: #fff; }
.lcv-m .hiw-tx { padding-top: 6px; }
.lcv-m .hiw-tx .ix { font-size: 10.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--primary); }
.lcv-m .hiw-tx h3 { font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: -0.02em; margin: 2px 0 3px; color: var(--text); }
.lcv-m .hiw-tx p { font-size: 13px; line-height: 1.5; color: var(--text-2); margin: 0; }

/* ---- TEMPLATES (carousel) ------------------------------------------------ */
.lcv-m .rail { display: flex; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px 18px 8px; margin: 0 -18px; scrollbar-width: none; }
.lcv-m .rail::-webkit-scrollbar { display: none; }
.lcv-m .tpl { flex: 0 0 auto; width: 158px; scroll-snap-align: center; }
.lcv-m .tpl-card { display: block; aspect-ratio: 1 / 1.34; border-radius: var(--r-md); overflow: hidden; background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-md); }
.lcv-m .tpl-name { text-align: center; margin-top: 10px; font-size: 13px; font-weight: 600; color: var(--text-2); }
.lcv-m .paper { width: 100%; height: 100%; padding: 14px; background: #fff; }
:root[data-theme="dark"] .lcv-m .paper { background: #f4efe9; }
.lcv-m .paper .pl { height: 4px; border-radius: 2px; background: #d8ccc3; margin-bottom: 4px; }
.lcv-m .paper .pl.h { height: 8px; width: 62%; background: #2a211c; margin-bottom: 8px; }
.lcv-m .paper .pl.sub { width: 42%; background: #b9a99e; margin-bottom: 11px; }
.lcv-m .paper .accent { background: var(--primary) !important; }
.lcv-m .paper.center { text-align: center; }
.lcv-m .paper.center .pl.h, .lcv-m .paper.center .pl.sub { margin-inline: auto; }
.lcv-m .paper.split { display: flex; padding: 0; }
.lcv-m .paper.split .side { width: 36%; background: #2a211c; padding: 11px; }
.lcv-m .paper.split .side .av { width: 26px; height: 26px; border-radius: 50%; background: #6b5a50; margin: 0 auto 9px; }
.lcv-m .paper.split .side .sl { height: 3.5px; border-radius: 2px; background: #5a4a40; margin-bottom: 5px; }
.lcv-m .paper.split .main { flex: 1; padding: 12px; }
.lcv-m .tpl-more { width: 100%; height: 100%; display: grid; place-items: center; text-align: center; background: linear-gradient(150deg, var(--primary), var(--accent)); color: #fff; }
.lcv-m .tpl-more .big { font-family: var(--font-display); font-weight: 700; font-size: 34px; line-height: 1; }
.lcv-m .tpl-more .sm { font-size: 11px; font-weight: 600; letter-spacing: .07em; margin-top: 4px; opacity: .92; }

/* ---- FEATURES ------------------------------------------------------------ */
.lcv-m .feat-grid { display: flex; flex-direction: column; gap: 12px; }
.lcv-m .cell { position: relative; overflow: hidden; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 18px; box-shadow: var(--shadow-sm); }
.lcv-m .cell-ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--primary-soft); color: var(--on-soft); margin-bottom: 13px; }
.lcv-m .cell-ico svg { width: 21px; height: 21px; }
.lcv-m .cell h3 { font-family: var(--font-display); font-weight: 600; font-size: 17px; letter-spacing: -0.02em; margin: 0 0 5px; color: var(--text); }
.lcv-m .cell p { font-size: 13.5px; line-height: 1.5; color: var(--text-2); margin: 0; }
.lcv-m .cell.accent { background: linear-gradient(150deg, var(--primary), color-mix(in oklab, var(--accent) 60%, var(--primary))); border-color: transparent; box-shadow: var(--shadow-brand); }
.lcv-m .cell.accent .cell-ico { background: rgba(255,255,255,.2); color: #fff; }
.lcv-m .cell.accent h3 { color: #fff; }
.lcv-m .cell.accent p { color: rgba(255,255,255,.92); }

/* AI polish before/after */
.lcv-m .polish { margin-top: 14px; display: flex; flex-direction: column; gap: 9px; }
.lcv-m .polish-box { border: 1px solid var(--border); border-radius: var(--r-sm); padding: 11px 13px; background: var(--surface-muted); }
.lcv-m .polish-box .tag { font-size: 10px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; margin-bottom: 5px; color: var(--text-3); }
.lcv-m .polish-box p { font-size: 12.5px; line-height: 1.45; color: var(--text-2); margin: 0; }
.lcv-m .polish-box.after { background: color-mix(in oklab, var(--primary) 8%, var(--surface)); border-color: color-mix(in oklab, var(--primary) 26%, var(--border)); }
.lcv-m .polish-box.after .tag { color: var(--on-soft); }
.lcv-m .polish-box.after p { color: var(--text); }
.lcv-m .polish-arrow { align-self: center; color: var(--primary); }
.lcv-m .polish-arrow svg { width: 18px; height: 18px; }

/* ATS bars inside accent cell */
.lcv-m .feat-bars { margin-top: 16px; display: flex; flex-direction: column; gap: 11px; }
.lcv-m .feat-bar .top { display: flex; justify-content: space-between; font-size: 12px; color: rgba(255,255,255,.92); margin-bottom: 5px; }
.lcv-m .feat-bar .top b { font-weight: 700; color: #fff; }
.lcv-m .feat-bar .track { height: 6px; border-radius: 4px; background: rgba(255,255,255,.22); overflow: hidden; }
.lcv-m .feat-bar .track i { display: block; height: 100%; border-radius: 4px; background: #fff; transition: width 1.1s cubic-bezier(.16,1,.3,1); }

.lcv-m .mini-list { margin-top: 14px; display: flex; flex-direction: column; gap: 7px; }
.lcv-m .mini-list .mi { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--text-2); }
.lcv-m .mini-list .mi svg { width: 15px; height: 15px; color: var(--success); flex-shrink: 0; }

/* ---- SOCIAL PROOF -------------------------------------------------------- */
.lcv-m .proof-shot { position: relative; border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--border); background: var(--surface-muted); box-shadow: var(--shadow-md); margin-bottom: 18px; }
.lcv-m .proof-shot img { width: 100%; height: auto; display: block; }
.lcv-m .trust-band { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px; border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--border); box-shadow: var(--shadow-sm); margin-bottom: 16px; }
.lcv-m .trust-band .ti { text-align: center; flex: 1; }
.lcv-m .trust-band .ti .v { font-family: var(--font-display); font-weight: 700; font-size: 19px; letter-spacing: -0.02em; color: var(--text); }
.lcv-m .trust-band .ti .v .star { color: var(--primary); }
.lcv-m .trust-band .ti .k { font-size: 11px; color: var(--text-2); margin-top: 2px; }
.lcv-m .trust-band .sep { width: 1px; align-self: stretch; background: var(--border); }
.lcv-m .tcard { flex: 0 0 auto; width: 270px; scroll-snap-align: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 18px; box-shadow: var(--shadow-sm); }
.lcv-m .tcard .stars { color: var(--primary); letter-spacing: 2px; font-size: 13px; margin-bottom: 10px; }
.lcv-m .tcard .quote { font-size: 13.5px; line-height: 1.55; color: var(--text); margin: 0 0 16px; }
.lcv-m .tcard .who { display: flex; align-items: center; gap: 10px; padding-top: 13px; border-top: 1px solid var(--border); }
.lcv-m .tcard .av { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 13px; color: #fff; flex-shrink: 0; }
.lcv-m .tcard .who .n { font-weight: 600; font-size: 13.5px; color: var(--text); }
.lcv-m .tcard .who .r { font-size: 12px; color: var(--text-2); }

/* ---- PRICING ------------------------------------------------------------- */
.lcv-m .plans { display: flex; flex-direction: column; gap: 13px; }
.lcv-m .plan { position: relative; background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 20px; box-shadow: var(--shadow-sm); }
.lcv-m .plan.featured { border: 1.5px solid var(--primary); box-shadow: var(--shadow-brand); }
.lcv-m .plan .badge { position: absolute; top: -11px; left: 20px; background: var(--primary); color: var(--on-primary); font-size: 11px; font-weight: 600; padding: 4px 12px; border-radius: var(--r-pill); }
.lcv-m .plan-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.lcv-m .plan .pname { font-family: var(--font-display); font-weight: 600; font-size: 17px; color: var(--text); }
.lcv-m .plan .price { display: flex; align-items: baseline; gap: 4px; }
.lcv-m .plan .price .amt { font-family: var(--font-display); font-weight: 700; font-size: 26px; letter-spacing: -0.03em; color: var(--text); }
.lcv-m .plan .price .per { font-size: 11.5px; color: var(--text-2); }
.lcv-m .plan .pdesc { font-size: 12.5px; color: var(--text-2); margin: 4px 0 0; }
.lcv-m .plan ul { list-style: none; padding: 0; margin: 14px 0 16px; display: flex; flex-direction: column; gap: 8px; }
.lcv-m .plan li { display: flex; align-items: flex-start; gap: 9px; font-size: 13px; color: var(--text); }
.lcv-m .plan li svg { width: 16px; height: 16px; color: var(--primary); flex-shrink: 0; margin-top: 1px; }
.lcv-m .plan li.muted { color: var(--text-3); }
.lcv-m .plan li.muted svg { color: var(--text-3); }
.lcv-m .pricing-note { text-align: center; margin-top: 16px; font-size: 12.5px; color: var(--text-2); }
.lcv-m .pricing-note svg { width: 14px; height: 14px; vertical-align: -2px; margin-right: 4px; color: var(--success); }

/* ---- FINAL CTA ----------------------------------------------------------- */
.lcv-m .cta-band { position: relative; overflow: hidden; border-radius: var(--r-xl); padding: 36px 24px; text-align: center; background: linear-gradient(140deg, var(--primary) 0%, var(--accent) 100%); box-shadow: var(--shadow-brand); }
.lcv-m .cta-band::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,.16) 1.3px, transparent 1.3px); background-size: 22px 22px; opacity: .5; }
.lcv-m .cta-band > * { position: relative; z-index: 1; }
.lcv-m .cta-band h2 { font-family: var(--font-display); font-weight: 700; font-size: 25px; letter-spacing: -0.03em; color: #fff; margin: 0 0 9px; }
.lcv-m .cta-band p { color: rgba(255,255,255,.92); font-size: 13.5px; line-height: 1.5; margin: 0 auto 20px; max-width: 280px; }
.lcv-m .cta-band .btn { background: #fff; color: var(--primary-hover); box-shadow: 0 12px 28px rgba(0,0,0,.2); width: 100%; }

/* ---- FOOTER -------------------------------------------------------------- */
.lcv-m .foot { margin-top: 44px; padding: 26px 18px calc(40px + env(safe-area-inset-bottom, 0px)); border-top: 1px solid var(--border); text-align: center; }
.lcv-m .foot .brand { justify-content: center; margin-bottom: 10px; }
.lcv-m .foot p { font-size: 12px; color: var(--text-2); margin: 0 auto 16px; max-width: 270px; line-height: 1.5; }
.lcv-m .foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 16px; margin-bottom: 18px; }
.lcv-m .foot-links a { font-size: 12.5px; color: var(--text-2); }
.lcv-m .foot-links a:active { color: var(--on-soft); }
.lcv-m .foot .copy { font-size: 11.5px; color: var(--text-3); }
.lcv-m .foot-lang { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; font-size: 12.5px; }
.lcv-m .foot-lang a { color: var(--text-2); }
.lcv-m .foot-lang a.active { color: var(--primary); font-weight: 700; }
.lcv-m .foot-lang .sep { color: var(--text-3); }

/* ---- STICKY BOTTOM CTA BAR ----------------------------------------------- */
.lcv-m .dock {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  display: flex; align-items: center; gap: 12px;
  background: var(--nav-bg);
  -webkit-backdrop-filter: blur(20px) saturate(160%); backdrop-filter: blur(20px) saturate(160%);
  border-top: 1px solid var(--hairline);
  transform: translateY(140%); transition: transform .4s cubic-bezier(.16,1,.3,1);
}
.lcv-m .dock.show { transform: translateY(0); }
.lcv-m .dock-info { line-height: 1.15; }
.lcv-m .dock-info .t { font-size: 13px; font-weight: 600; color: var(--text); }
.lcv-m .dock-info .s { font-size: 11.5px; color: var(--text-2); }
.lcv-m .dock .btn { margin-left: auto; padding: 12px 20px; }

/* ---- REVEALS (gentle, timeline-safe) ------------------------------------
   Hidden only while :root.reveal-armed is set (added pre-paint by the head
   script, removed by the watchdog if rAF freezes). No JS / no reveal-armed →
   content is visible, so no-JS users are never left with a blank screen. */
.lcv-m .rv { opacity: 1; transform: none; }
:root.reveal-armed .lcv-m .rv:not(.in) { opacity: 0; transform: translateY(calc(16px * var(--mo, 1))); }
:root.reveal-armed .lcv-m .rv { transition: transform .6s cubic-bezier(.16,1,.3,1); }
.lcv-m .rv.d1 { transition-delay: .05s; } .lcv-m .rv.d2 { transition-delay: .1s; } .lcv-m .rv.d3 { transition-delay: .15s; } .lcv-m .rv.d4 { transition-delay: .2s; }
@media (prefers-reduced-motion: reduce) {
  :root.reveal-armed .lcv-m .rv:not(.in) { opacity: 1; transform: none; }
}
