/* ============================================================
 * AllocateRite — Landing v2 ("ledger" concept)
 * Parallel preview page. Self-contained; does NOT depend on landing.css.
 * ============================================================ */

:root{
  --ink:#0E1512;
  --ink-2:#141C18;
  --parchment:#F3EEE1;
  --parchment-dim:#D9D3C2;
  --brass:#C2A15E;
  --brass-dim:#8E7844;
  --emerald:#2F6350;
  --line:rgba(243,238,225,0.14);
  --line-strong:rgba(243,238,225,0.26);
  --muted:#9B9A8C;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body.landing-v2{
  background:var(--ink);
  color:var(--parchment);
  font-family:'Inter', sans-serif;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
.landing-v2 ::selection{ background:var(--brass); color:var(--ink); }

.landing-v2 .serif{ font-family:'Fraunces', serif; }
.landing-v2 .mono{ font-family:'IBM Plex Mono', monospace; }
.landing-v2 .eyebrow{
  font-family:'IBM Plex Mono', monospace;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase; color:var(--brass);
}
.landing-v2 .wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }
.landing-v2 a{ color:inherit; text-decoration:none; }
.landing-v2 .hairline{ border:none; border-top:1px solid var(--line); }

/* microlabel flagging illustrative product mockups */
.landing-v2 .illustrative{
  font-family:'IBM Plex Mono', monospace; font-size:10px; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--muted); border:1px solid var(--line);
  padding:3px 8px; border-radius:2px; display:inline-block;
}

/* ---------- Buttons ---------- */
.landing-v2 .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:'IBM Plex Mono', monospace; font-size:13px; letter-spacing:0.04em;
  padding:14px 26px; border-radius:2px; cursor:pointer; transition:all 0.2s ease; white-space:nowrap;
}
.landing-v2 .btn-primary{ background:var(--brass); color:var(--ink); border:1px solid var(--brass); }
.landing-v2 .btn-primary:hover{ background:#D4B36F; border-color:#D4B36F; }
.landing-v2 .btn-ghost{ background:transparent; color:var(--parchment); border:1px solid var(--line-strong); }
.landing-v2 .btn-ghost:hover{ border-color:var(--brass); color:var(--brass); }

/* ---------- Nav ---------- */
.landing-v2 header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:rgba(14,21,18,0.86); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);
}
.landing-v2 nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.landing-v2 .wordmark{ display:flex; align-items:center; }
.landing-v2 .logo-img{ height:30px; width:auto; display:block; }
.landing-v2 .foot-logo{ height:24px; }
.landing-v2 .navlinks{ display:flex; align-items:center; gap:34px; }
.landing-v2 .navlinks a{ font-size:14px; color:var(--parchment-dim); transition:color 0.2s; }
.landing-v2 .navlinks a:hover{ color:var(--brass); }
.landing-v2 .navcta{ display:flex; align-items:center; gap:18px; }
.landing-v2 .navcta a.login{ font-size:14px; color:var(--parchment-dim); }
.landing-v2 .navcta a.login:hover{ color:var(--brass); }
@media (max-width:900px){ .landing-v2 .navlinks{ display:none; } }

/* ---------- Hero ---------- */
.landing-v2 .hero{ padding:180px 0 110px; position:relative; }
.landing-v2 .hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:64px; align-items:center; }
@media (max-width:960px){ .landing-v2 .hero-grid{ grid-template-columns:1fr; } }
.landing-v2 .hero h1{
  font-size:clamp(40px,5.4vw,64px); line-height:1.04; font-weight:500;
  letter-spacing:-0.01em; margin:18px 0 22px;
}
.landing-v2 .hero h1 em{ font-style:italic; color:var(--brass); font-weight:400; }
.landing-v2 .hero p.lede{ font-size:18px; line-height:1.6; color:var(--parchment-dim); max-width:500px; margin-bottom:36px; }
.landing-v2 .hero-actions{ display:flex; gap:14px; flex-wrap:wrap; }

/* ---------- Ledger card (live KPI panel) ---------- */
.landing-v2 .ledger{ background:var(--ink-2); border:1px solid var(--line-strong); border-radius:3px; overflow:hidden; }
.landing-v2 .ledger-head{ display:flex; align-items:center; justify-content:space-between; padding:16px 22px; border-bottom:1px solid var(--line); }
.landing-v2 .ledger-head .title{ font-family:'Fraunces',serif; font-size:16px; font-style:italic; color:var(--parchment); }
.landing-v2 .ledger-head .badge{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em;
  color:#8FBF9F; background:rgba(47,99,80,0.18); border:1px solid rgba(47,99,80,0.5);
  padding:4px 9px; border-radius:2px; text-transform:uppercase; display:flex; align-items:center; gap:6px;
}
.landing-v2 .pulse{ width:6px; height:6px; border-radius:50%; background:#8FBF9F; animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{ opacity:1; } 50%{ opacity:0.25; } }
/* illustrative badge variant (household ledger) */
.landing-v2 .ledger-head .badge.illus{ color:var(--muted); background:transparent; border-color:var(--line); }
.landing-v2 .ledger-cols{
  display:grid; grid-template-columns:64px 1fr auto; padding:10px 22px; gap:14px;
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em;
  color:var(--muted); text-transform:uppercase; border-bottom:1px solid var(--line);
}
.landing-v2 .ledger-rows{ padding:6px 0; min-height:230px; }
.landing-v2 .ledger-row{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; padding:12px 22px;
  border-bottom:1px solid var(--line); opacity:0; transform:translateY(6px);
  animation:rowIn 0.5s ease forwards;
}
.landing-v2 .ledger-row:last-child{ border-bottom:none; }
.landing-v2 .ledger-row .date{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); }
.landing-v2 .ledger-row .item .t1{ font-size:13.5px; color:var(--parchment); }
.landing-v2 .ledger-row .item .t2{ font-size:12px; color:var(--muted); margin-top:2px; }
.landing-v2 .ledger-row .val{ font-family:'IBM Plex Mono',monospace; font-size:13.5px; text-align:right; white-space:nowrap; }
.landing-v2 .val.pos{ color:#8FBF9F; }
.landing-v2 .val.neu{ color:var(--brass); }
@keyframes rowIn{ to{ opacity:1; transform:translateY(0); } }
.landing-v2 .ledger-total{
  display:flex; align-items:center; justify-content:space-between; padding:20px 22px;
  background:rgba(194,161,94,0.06); border-top:1px solid var(--line-strong);
}
.landing-v2 .ledger-total .lbl{ font-size:13px; color:var(--parchment-dim); }
.landing-v2 .ledger-total .lbl small{ display:block; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:3px; }
.landing-v2 .ledger-total .amt{ font-family:'IBM Plex Mono',monospace; font-size:26px; color:var(--brass); font-weight:500; }

/* ---------- Live platform stats band ---------- */
.landing-v2 .live-stats{ padding:0 0 40px; }
.landing-v2 .live-stats-card{ border:1px solid var(--line-strong); border-radius:3px; background:var(--ink-2); padding:24px 28px; }
.landing-v2 .live-stats-head{
  font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase;
  color:#8FBF9F; display:flex; align-items:center; gap:8px; margin-bottom:20px;
}
.landing-v2 .live-stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
@media (max-width:700px){ .landing-v2 .live-stats-grid{ grid-template-columns:repeat(2,1fr); gap:28px 24px; } }
.landing-v2 .lstat{ border-left:1px solid var(--line); padding-left:18px; }
.landing-v2 .lstat .v{ font-family:'IBM Plex Mono',monospace; font-size:clamp(22px,2.4vw,28px); color:var(--parchment); line-height:1.1; }
.landing-v2 .lstat span{ display:block; font-size:12px; color:var(--muted); margin-top:8px; }

/* skeleton loader dots (reused pattern) */
.landing-v2 .asset-loading{ display:inline-flex; gap:3px; }
.landing-v2 .asset-loading .dot{ color:var(--muted); animation:dotBlink 1.2s infinite; }
.landing-v2 .asset-loading .dot-2{ animation-delay:0.2s; }
.landing-v2 .asset-loading .dot-3{ animation-delay:0.4s; }
@keyframes dotBlink{ 0%,80%,100%{ opacity:0.25; } 40%{ opacity:1; } }

/* ---------- section shell ---------- */
.landing-v2 section{ padding:120px 0; position:relative; }
.landing-v2 .section-head{ max-width:660px; margin-bottom:64px; }
.landing-v2 .section-head h2{ font-family:'Fraunces',serif; font-size:clamp(30px,3.6vw,44px); font-weight:500; line-height:1.12; margin-top:14px; }
.landing-v2 .section-head p{ color:var(--parchment-dim); font-size:16px; margin-top:16px; line-height:1.6; max-width:560px; }

/* ---------- Outcomes ---------- */
.landing-v2 .outcomes-ledger{ border-top:1px solid var(--line-strong); }
.landing-v2 .outcome-row{
  display:grid; grid-template-columns:240px 1fr 200px; gap:36px; align-items:center;
  padding:40px 0; border-bottom:1px solid var(--line);
}
@media (max-width:820px){ .landing-v2 .outcome-row{ grid-template-columns:1fr; gap:14px; padding:32px 0; } }
.landing-v2 .outcome-row .num{ font-family:'Fraunces',serif; font-size:clamp(28px,3.2vw,38px); font-weight:400; color:var(--brass); line-height:1.08; }
.landing-v2 .outcome-row .num sup{ font-size:20px; top:-18px; }
.landing-v2 .outcome-row .label{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-top:10px; }
.landing-v2 .outcome-row .desc h3{ font-family:'Fraunces',serif; font-size:22px; font-weight:500; margin-bottom:8px; }
.landing-v2 .outcome-row .desc p{ color:var(--parchment-dim); font-size:15px; line-height:1.6; }
.landing-v2 .outcome-row .tag{
  justify-self:end; font-family:'IBM Plex Mono',monospace; font-size:11px; color:#8FBF9F;
  border:1px solid rgba(47,99,80,0.5); background:rgba(47,99,80,0.12); padding:6px 12px; border-radius:2px; letter-spacing:0.04em;
}
@media (max-width:820px){ .landing-v2 .outcome-row .tag{ justify-self:start; } }

/* ---------- OCIO services ---------- */
.landing-v2 .ocio-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:900px){ .landing-v2 .ocio-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .landing-v2 .ocio-grid{ grid-template-columns:1fr; } }
.landing-v2 .ocio-card{ background:var(--ink-2); border:1px solid var(--line-strong); border-radius:3px; padding:26px 24px; }
.landing-v2 .ocio-card h3{ font-size:19px; font-weight:500; color:var(--parchment); margin-bottom:10px; }
.landing-v2 .ocio-card p{ font-size:14px; line-height:1.6; color:var(--parchment-dim); }

/* ---------- Copilot (Newt) ---------- */
.landing-v2 .copilot-wrap{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:60px; align-items:center; }
@media (max-width:960px){ .landing-v2 .copilot-wrap{ grid-template-columns:1fr; } }
.landing-v2 .chat{ background:var(--ink-2); border:1px solid var(--line-strong); border-radius:3px; overflow:hidden; }
.landing-v2 .chat-top{ padding:14px 20px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:10px; }
.landing-v2 .chat-top .dot{ width:6px; height:6px; border-radius:50%; background:var(--brass); }
.landing-v2 .chat-top span{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:0.06em; }
.landing-v2 .chat-top .illustrative{ margin-left:auto; }
.landing-v2 .chat-body{ padding:22px; }
.landing-v2 .bubble-q{
  margin-left:auto; max-width:78%; background:rgba(194,161,94,0.12); border:1px solid rgba(194,161,94,0.3);
  color:var(--parchment); font-size:14.5px; padding:12px 16px; border-radius:3px 3px 0 3px; margin-bottom:22px;
}
.landing-v2 .bubble-a{ font-size:14px; color:var(--parchment-dim); line-height:1.5; margin-bottom:6px; }
.landing-v2 .household{ border:1px solid var(--line); border-radius:2px; padding:14px 16px; margin-bottom:10px; }
.landing-v2 .household .h-title{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.landing-v2 .household .h-title span.name{ font-family:'Fraunces',serif; font-style:italic; font-size:15px; color:var(--parchment); }
.landing-v2 .household .h-title span.aum{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--muted); }
.landing-v2 .household ul{ list-style:none; }
.landing-v2 .household li{ font-size:13px; color:var(--parchment-dim); padding:4px 0 4px 16px; position:relative; }
.landing-v2 .household li::before{ content:'\203A'; position:absolute; left:0; color:var(--brass); }

/* ---------- Proposal engine ---------- */
.landing-v2 .proposal-wrap{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:1px; background:var(--line); border:1px solid var(--line-strong); border-radius:3px; overflow:hidden; }
@media (max-width:900px){ .landing-v2 .proposal-wrap{ grid-template-columns:1fr; } }
.landing-v2 .proposal-col{ background:var(--ink-2); padding:28px 26px; }
.landing-v2 .proposal-col h4{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:20px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.landing-v2 .lead-field{ display:flex; justify-content:space-between; gap:12px; padding:11px 0; border-bottom:1px solid var(--line); }
.landing-v2 .lead-field:last-child{ border-bottom:none; }
.landing-v2 .lead-field .k{ font-size:13px; color:var(--parchment-dim); }
.landing-v2 .lead-field .v{ font-size:13px; color:var(--parchment); text-align:right; max-width:60%; }
.landing-v2 .lead-name{ font-family:'Fraunces',serif; font-style:italic; font-size:19px; color:var(--parchment); margin-bottom:4px; }
.landing-v2 .lead-sub{ font-family:'IBM Plex Mono',monospace; font-size:11px; color:var(--brass); margin-bottom:18px; }
.landing-v2 .alloc-row{ display:grid; grid-template-columns:150px 1fr 50px; align-items:center; gap:14px; padding:9px 0; }
.landing-v2 .alloc-row .name{ font-size:13px; color:var(--parchment); }
.landing-v2 .alloc-bar{ height:6px; background:var(--line); border-radius:1px; overflow:hidden; }
.landing-v2 .alloc-bar i{ display:block; height:100%; background:var(--emerald); width:0%; transition:width 1.2s cubic-bezier(.2,.7,.3,1); }
.landing-v2 .alloc-row .pct{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); text-align:right; }
.landing-v2 .rationale{ margin-top:18px; padding-top:16px; border-top:1px solid var(--line); font-size:13px; line-height:1.6; color:var(--parchment-dim); }
.landing-v2 .rationale b{ color:var(--brass); font-weight:500; }

/* ---------- Workflow / autonomy ---------- */
.landing-v2 .workflow-wrap{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:1px; background:var(--line); border:1px solid var(--line-strong); border-radius:3px; overflow:hidden; }
@media (max-width:960px){ .landing-v2 .workflow-wrap{ grid-template-columns:1fr; } }
.landing-v2 .workflow-col{ background:var(--ink-2); padding:26px 26px 8px; }
.landing-v2 .workflow-col h4{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:18px; display:flex; justify-content:space-between; align-items:center; gap:12px; }
.landing-v2 .task-row{ display:grid; grid-template-columns:22px 1fr auto; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid var(--line); }
.landing-v2 .task-row:last-child{ border-bottom:none; }
.landing-v2 .task-row .tick{ width:16px; height:16px; border-radius:50%; margin-top:2px; display:flex; align-items:center; justify-content:center; font-size:10px; }
.landing-v2 .tick.done{ background:rgba(47,99,80,0.22); color:#8FBF9F; border:1px solid rgba(47,99,80,0.6); }
.landing-v2 .tick.pending{ background:rgba(194,161,94,0.16); color:var(--brass); border:1px solid rgba(194,161,94,0.5); }
.landing-v2 .task-row .body .t1{ font-size:13.5px; color:var(--parchment); margin-bottom:3px; }
.landing-v2 .task-row .body .t2{ font-size:12px; color:var(--muted); }
.landing-v2 .status-badge{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase; padding:5px 10px; border-radius:2px; white-space:nowrap; align-self:flex-start; margin-top:1px; }
.landing-v2 .status-badge.auto{ color:#8FBF9F; background:rgba(47,99,80,0.14); border:1px solid rgba(47,99,80,0.45); }
.landing-v2 .status-badge.pending{ color:var(--brass); background:rgba(194,161,94,0.12); border:1px solid rgba(194,161,94,0.4); }
.landing-v2 .autonomy-row{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); }
.landing-v2 .autonomy-row:last-child{ border-bottom:none; }
.landing-v2 .autonomy-row .name{ font-size:13px; color:var(--parchment); }
.landing-v2 .autonomy-row .sub{ font-size:11.5px; color:var(--muted); margin-top:2px; }
.landing-v2 .toggle{ position:relative; width:42px; height:22px; border-radius:11px; background:var(--line-strong); border:1px solid var(--line-strong); flex-shrink:0; cursor:pointer; }
.landing-v2 .toggle .knob{ position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:var(--muted); transition:left 0.2s ease, background 0.2s ease; }
.landing-v2 .toggle.on{ background:rgba(47,99,80,0.28); border-color:rgba(47,99,80,0.6); }
.landing-v2 .toggle.on .knob{ left:22px; background:var(--emerald); }
.landing-v2 .toggle-label{ font-family:'IBM Plex Mono',monospace; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); width:70px; text-align:right; }

/* ---------- Engine / monitoring ---------- */
.landing-v2 .engine-list{ display:flex; flex-direction:column; gap:22px; }
.landing-v2 .engine-item{ display:grid; grid-template-columns:170px 1fr 60px; align-items:center; gap:18px; }
@media (max-width:700px){ .landing-v2 .engine-item{ grid-template-columns:110px 1fr 46px; gap:10px; } }
.landing-v2 .engine-item .lbl{ font-family:'IBM Plex Mono',monospace; font-size:12.5px; color:var(--parchment-dim); letter-spacing:0.02em; }
.landing-v2 .engine-bar{ height:2px; background:var(--line); position:relative; }
.landing-v2 .engine-bar i{ position:absolute; left:0; top:0; height:100%; background:var(--brass); width:0%; transition:width 1.4s cubic-bezier(.2,.7,.3,1); }
.landing-v2 .engine-item .pct{ font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--muted); text-align:right; }

/* ---------- Testimonial (single, real) ---------- */
.landing-v2 .testi{ border:1px solid var(--line-strong); border-radius:3px; background:var(--ink-2); padding:56px 48px; max-width:900px; }
@media (max-width:700px){ .landing-v2 .testi{ padding:36px 28px; } }
.landing-v2 .testi blockquote{ font-family:'Fraunces',serif; font-style:italic; font-size:clamp(20px,2.3vw,27px); line-height:1.45; color:var(--parchment); }
.landing-v2 .testi .attr{ margin-top:28px; font-family:'IBM Plex Mono',monospace; font-size:12px; color:var(--brass); letter-spacing:0.03em; }
.landing-v2 .testi .attr span{ color:var(--muted); }

/* ---------- Integrations ---------- */
.landing-v2 .integ-row{ display:flex; flex-wrap:wrap; gap:26px 40px; align-items:center; }
.landing-v2 .integ-row img{ height:26px; width:auto; opacity:0.72; filter:brightness(0) invert(1); transition:opacity 0.2s; }
.landing-v2 .integ-row img:hover{ opacity:1; }

/* ---------- Final CTA ---------- */
.landing-v2 .final{ text-align:center; padding:140px 0; border-top:1px solid var(--line); }
.landing-v2 .final h2{ font-family:'Fraunces',serif; font-size:clamp(34px,5vw,54px); font-weight:500; max-width:780px; margin:0 auto 20px; line-height:1.08; }
.landing-v2 .final p{ color:var(--parchment-dim); font-size:17px; max-width:500px; margin:0 auto 40px; }
.landing-v2 .final .hero-actions{ justify-content:center; }

/* ---------- Footer ---------- */
.landing-v2 footer{ border-top:1px solid var(--line); padding:64px 0 40px; }
.landing-v2 .foot-grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; margin-bottom:48px; }
@media (max-width:800px){ .landing-v2 .foot-grid{ grid-template-columns:1fr 1fr; } }
.landing-v2 .foot-grid h4{ font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); margin-bottom:16px; }
.landing-v2 .foot-grid a{ display:block; font-size:14px; color:var(--parchment-dim); margin-bottom:10px; }
.landing-v2 .foot-grid a:hover{ color:var(--brass); }
.landing-v2 .foot-blurb{ color:var(--muted); font-size:13px; margin-top:14px; max-width:240px; line-height:1.6; }

/* legal include (landing_footer.jsp) restyled for dark theme */
.landing-v2 .legal{ border-top:1px solid var(--line); padding-top:28px; }
.landing-v2 .legal p{ color:var(--muted); font-size:11px; line-height:1.6; margin-bottom:10px; }
.landing-v2 .footer-info{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:22px; margin-top:8px; border-top:1px solid var(--line); font-family:'IBM Plex Mono',monospace; font-size:11.5px; color:var(--muted); }
.landing-v2 .footer-info a{ color:var(--parchment-dim); }
.landing-v2 .footer-info a:hover{ color:var(--brass); }

/* ============================================================
 * Sub-pages that reuse the v2 chrome (request_demo / video / terms / privacy / disclaimers)
 * ============================================================ */
.landing-v2 .page{ min-height:64vh; padding:132px 32px 110px; }
.landing-v2 .page h1{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(32px,4vw,48px); line-height:1.08; letter-spacing:-0.01em; }
.landing-v2 .page h2{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(26px,3vw,34px); line-height:1.15; }

/* --- request demo --- */
.landing-v2 .demo-layout{ max-width:1120px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
@media (max-width:900px){ .landing-v2 .demo-layout{ grid-template-columns:1fr; gap:36px; } }
.landing-v2 .hero-title{ font-family:'Fraunces',serif; font-weight:500; font-size:clamp(30px,3.6vw,44px); line-height:1.08; margin-bottom:18px; }
.landing-v2 .intro-copy{ color:var(--parchment-dim); font-size:16px; line-height:1.65; margin-bottom:14px; max-width:480px; }
.landing-v2 .benefit-list{ list-style:none; margin:22px 0 30px; }
.landing-v2 .benefit-list li{ position:relative; padding:8px 0 8px 26px; color:var(--parchment-dim); font-size:15px; line-height:1.5; }
.landing-v2 .benefit-list li::before{ content:'\2713'; position:absolute; left:0; top:8px; color:var(--brass); }
.landing-v2 .contact-card{ border:1px solid var(--line-strong); border-radius:3px; background:var(--ink-2); padding:24px 26px; margin-top:30px; }
.landing-v2 .card-title{ font-family:'Fraunces',serif; font-size:18px; color:var(--parchment); margin-bottom:16px; }
.landing-v2 .contact-group{ padding:11px 0; border-bottom:1px solid var(--line); }
.landing-v2 .contact-group:last-child{ border-bottom:none; }
.landing-v2 .contact-label{ font-family:'IBM Plex Mono',monospace; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.landing-v2 .contact-value{ font-size:14px; color:var(--parchment); }
.landing-v2 .contact-value a{ color:var(--parchment); }
.landing-v2 .contact-value a:hover{ color:var(--brass); }
.landing-v2 .demo-scheduler{ border:1px solid var(--line-strong); border-radius:3px; background:var(--parchment); padding:8px; overflow:hidden; }
.landing-v2 .calendly-inline-widget{ min-width:320px; height:660px; }
.landing-v2 .scheduler-fallback{ font-size:12.5px; color:var(--muted); margin-top:12px; text-align:center; }

/* --- video --- */
.landing-v2 .video-layout{ max-width:980px; margin:0 auto; border:1px solid var(--line-strong); border-radius:3px; overflow:hidden; background:var(--ink-2); }
.landing-v2 .video-layout iframe{ display:block; width:100%; aspect-ratio:16/9; height:auto; border:0; }

/* --- terms / privacy --- */
.landing-v2 .terms-layout{ max-width:820px; margin:0 auto; }
.landing-v2 .terms-layout h2{ margin-bottom:24px; }
.landing-v2 .terms-layout p{ color:var(--parchment-dim); font-size:14.5px; line-height:1.75; margin-bottom:16px; }
.landing-v2 .terms-layout .bold, .landing-v2 .bold{ color:var(--parchment); font-weight:600; }
.landing-v2 .terms-layout .small-text, .landing-v2 .small-text{ color:var(--muted); font-size:12.5px; }

/* ---------- reveal ---------- */
.landing-v2 .reveal{ opacity:0; transform:translateY(18px); transition:opacity 0.7s ease, transform 0.7s ease; }
.landing-v2 .reveal.in{ opacity:1; transform:translateY(0); }

@media (prefers-reduced-motion: reduce){
  .landing-v2 *{ animation-duration:0.01ms !important; transition-duration:0.01ms !important; }
}
