/* MuniPro launch-page scaffold. The palette is the brand v2 marketing kit. */
.launch-page {
  --launch-ink: var(--mp-primary-900);
  --launch-muted: #5B6B82;
  --launch-wash: var(--mp-warm-bg-alt);
  --launch-line: var(--mp-neutral-200);
  background: var(--mp-warm-bg);
  color: var(--launch-ink);
  font-family: var(--mp-font-body);
  min-height: 100vh;
}

.launch-page *, .launch-page *::before, .launch-page *::after { box-sizing: border-box; }
/* :where() keeps the reset at one class of specificity, so every later classed link (.launch-button) sets its own colour (R-5089-2P-05). */
.launch-page :where(a) { color: inherit; }
.launch-wrap { width: min(1200px, calc(100% - 48px)); margin: 0 auto; }
.launch-header { border-bottom: 1px solid rgba(255,255,255,.15); background: var(--mp-primary-900); color: #fff; }
.launch-header-inner { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.launch-wordmark { color: #fff; font-family: var(--mp-font-display); font-size: 1.45rem; font-weight: 600; letter-spacing: -.02em; text-decoration: none; }
.launch-nav { display: flex; flex-wrap: wrap; gap: 20px; font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.launch-nav a { color: rgba(255,255,255,.76); text-decoration: none; }
.launch-nav a:hover, .launch-nav a:focus-visible { color: #fff; }
.launch-hero { background: var(--mp-primary-900); color: #fff; padding: 76px 0 88px; }
.launch-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr); align-items: center; gap: 64px; }
/* #5089 brand v2: --mp-accent-text is --mp-ink and --mp-accent-text-on-dark is --mp-sky-soft; named directly so no eyebrow names an accent (gold) token (#5886 D1). */
.launch-eyebrow { color: var(--mp-ink); font-family: var(--mp-font-mono); font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; }
.launch-hero h1 { font-family: var(--mp-font-display); font-size: clamp(2.7rem, 6vw, 5.1rem); line-height: 1.02; letter-spacing: -.035em; margin: 18px 0 22px; max-width: 12ch; }
.launch-hero .launch-dek { color: rgba(255,255,255,.78); font-size: 1.08rem; line-height: 1.65; max-width: 52ch; }
.launch-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.launch-button { border: 1px solid var(--mp-action); border-radius: 6px; color: var(--mp-action-text); background: var(--mp-action); display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 20px; font-family: var(--mp-font-body); font-size: .875rem; font-weight: 600; text-decoration: none; }
.launch-button:hover, .launch-button:focus-visible { background: var(--mp-action-hover); border-color: var(--mp-action-hover); }
.launch-hero .launch-eyebrow, .launch-role-hero .launch-eyebrow { color: var(--mp-sky-soft); }
.launch-hero .launch-button:not(.launch-button--outline), .launch-role-hero .launch-button:not(.launch-button--outline) { border-color: var(--mp-action-on-dark); color: var(--mp-action-on-dark-text); background: var(--mp-action-on-dark); }
.launch-hero .launch-button:not(.launch-button--outline):hover, .launch-hero .launch-button:not(.launch-button--outline):focus-visible, .launch-role-hero .launch-button:not(.launch-button--outline):hover, .launch-role-hero .launch-button:not(.launch-button--outline):focus-visible { background: var(--mp-action-on-dark-hover); border-color: var(--mp-action-on-dark-hover); }
.launch-page :focus-visible { outline: 2px solid var(--mp-focus-ring); outline-offset: 2px; }
.launch-button--outline { color: #fff; background: transparent; border-color: rgba(255,255,255,.42); }
.launch-button--outline:hover, .launch-button--outline:focus-visible { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.42); }
.launch-button--action { color: #fff; background: #0265D9; border-color: #0265D9; }
.launch-button--action:hover, .launch-button--action:focus-visible { background: #145EC1; border-color: #145EC1; }
.launch-button--line { color: #0265D9; background: transparent; border-color: #0265D9; }
.launch-button--line:hover, .launch-button--line:focus-visible { background: rgba(2,101,217,.08); }
.launch-video { border: 1px solid rgba(255,255,255,.18); border-radius: var(--mp-radius-xl); overflow: hidden; background: #071a2d; box-shadow: var(--mp-shadow-xl); }
.launch-video video, .launch-video-still { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.launch-video video { background: #071a2d; }
.launch-video-still { align-content: end; background: radial-gradient(circle at 70% 25%, rgba(212,166,74,.32), transparent 34%), linear-gradient(135deg, #0d3158, #071a2d 70%); padding: 22px; }
.launch-video-still span { color: rgba(255,255,255,.78); font-family: var(--mp-font-mono); font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; }
.launch-section { padding: 76px 0; }
.launch-section--wash { background: var(--launch-wash); }
.launch-section h2 { color: var(--mp-primary-900); font-family: var(--mp-font-display); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; letter-spacing: -.025em; margin: 12px 0 14px; }
.launch-section-intro { color: var(--launch-muted); line-height: 1.65; max-width: 60ch; }
.launch-brand-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-top: 30px; }
.launch-brand-card, .launch-card { background: rgba(255,255,255,.72); border: 1px solid var(--launch-line); border-radius: var(--mp-radius-lg); padding: 22px; }
.launch-brand-card { min-height: 160px; text-decoration: none; }
.launch-brand-card:hover, .launch-brand-card:focus-visible { border-color: var(--mp-primary-400); box-shadow: var(--mp-shadow-md); }
.launch-brand-name { color: var(--mp-primary-700); font-family: var(--mp-font-display); font-size: 1.25rem; font-weight: 600; }
.launch-brand-description { color: var(--launch-muted); font-size: .9rem; line-height: 1.5; margin-top: 12px; }
.launch-session-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
.launch-session-card { display: flex; flex-direction: column; gap: 10px; }
.launch-session-title { font-weight: 700; }
.launch-session-meta { color: var(--launch-muted); font-family: var(--mp-font-mono); font-size: .76rem; letter-spacing: .04em; }
.launch-session-link { color: var(--mp-primary-700); font-size: .84rem; font-weight: 700; margin-top: auto; text-decoration: underline; text-underline-offset: 3px; }
.launch-offer { align-items: center; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; }
.launch-offer p { color: var(--launch-muted); line-height: 1.65; max-width: 65ch; }
.launch-footer { background: var(--mp-primary-900); color: rgba(255,255,255,.65); padding: 26px 0; font-size: .78rem; }
.launch-footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
.launch-role-hero { background: var(--mp-primary-900); color: #fff; padding: 72px 0 70px; }
.launch-role-hero h1 { max-width: 14ch; }
.launch-role-layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); align-items: start; gap: 32px; }
.launch-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.launch-proof-card { border-top: 3px solid #CBD5E1; }
.launch-proof-claim { line-height: 1.55; margin: 12px 0 18px; }
.launch-status { color: var(--mp-primary-700); font-family: var(--mp-font-mono); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.launch-status--coming { color: #5B6B82; }
.launch-media-stack { display: grid; gap: 16px; }
.launch-media-slot { border: 1px dashed var(--mp-neutral-300); border-radius: var(--mp-radius-lg); min-height: 150px; padding: 18px; display: grid; align-content: end; background: var(--mp-neutral-50); color: #5B6B82; font-family: var(--mp-font-mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.launch-media-slot img { display: block; width: 100%; height: auto; border-radius: var(--mp-radius-md); }
.launch-role-ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.launch-role-ctas .launch-button { color: #fff; background: var(--mp-primary-700); border-color: var(--mp-primary-700); }
.launch-role-ctas .launch-button:hover, .launch-role-ctas .launch-button:focus-visible { background: var(--mp-primary-600); }
.launch-role-ctas .launch-button--outline { color: var(--mp-primary-700); background: transparent; border-color: var(--mp-primary-300); }
.launch-draft-note { border-left: 3px solid #CBD5E1; color: var(--launch-muted); font-family: var(--mp-font-mono); font-size: .72rem; letter-spacing: .04em; margin-top: 34px; padding-left: 14px; }

@media (max-width: 880px) {
  .launch-hero-grid, .launch-role-layout { grid-template-columns: 1fr; gap: 34px; }
  .launch-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .launch-session-grid, .launch-proof-grid { grid-template-columns: 1fr; }
  .launch-offer { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
  .launch-wrap { width: min(100% - 32px, 1200px); }
  .launch-header-inner { align-items: flex-start; flex-direction: column; padding: 18px 0; }
  .launch-nav { gap: 10px 15px; }
  .launch-hero, .launch-role-hero { padding: 52px 0 60px; }
  .launch-section { padding: 56px 0; }
  .launch-hero h1, .launch-role-hero h1 { font-size: clamp(2.45rem, 13vw, 3.6rem); }
  .launch-brand-grid { grid-template-columns: 1fr; }
  .launch-actions, .launch-role-ctas { align-items: stretch; flex-direction: column; }
  .launch-button { width: 100%; }
}

/* ==== Launch port (design-hub g22 frames): LAUNCH, LAUNCH_M, ROLE_UW, ROLE_IB, ROLE_RFP, at 1440 and 390 ====
   Generated from the board sources (frame_l5.py, frame_l6.py, frame_l7.py, the kit and the brand v2 override),
   rescoped from the board host .mk to body.lp-v2 at the same weight, and pruned to the classes the pages use.
   No inline style or script on these pages: every motion is a class and its @keyframes here. */

/* ---- the live www hero headline (munipro_home.html keeps it in its own <style>) ---- */
.lp-v2 .hp-hero-headline { max-width: var(--mp-max-width); margin: 0 auto var(--mp-space-2); width: 100%; position: relative; z-index: 2; text-align: center; }
.lp-v2 .hp-hero-headline h1 { color: rgb(255, 255, 255); font-family: var(--mp-font-display); font-weight: 600; font-size: clamp(2.75rem, 5.5vw, 4.8rem); line-height: 1.02; letter-spacing: -0.02em; max-width: 18ch; margin: 0px auto; }
.lp-v2 .hp-hero-headline h1 em { display: block; font-style: italic; color: var(--mp-acc-l); }

/* ---- brand v2 (10/7/2026): tokens and overrides, on these pages only ---- */
.lp-v2 { --mp-primary-900: #012A63; --mp-primary-800: #0B3A7A; --mp-primary-700: #0A4BA0; --mp-primary-600: #145EC1; --mp-primary-500: #0265D9; --mp-primary-400: #3D84EA; --mp-primary-300: #A2C8F0; --mp-primary-200: #C6D9F6; --mp-primary-100: #E2ECFA; --mp-primary-50: #F3F7FE; --mp-accent-600: #AB8E53; --mp-accent-500: #DCC184; --mp-accent-400: #DCC184; --mp-accent-300: #ECDDB9; --mp-accent-100: #F4EAD5; --mp-neutral-900: #0C2140; --mp-neutral-800: #1D2D47; --mp-neutral-700: #46566E; --mp-neutral-600: #5B6B82; --mp-neutral-500: #5B6B82; --mp-neutral-400: #7D8CA2; --mp-neutral-300: #CBD5E1; --mp-neutral-200: #E2E8F0; --mp-warm-bg: #FFFFFF; --mp-warm-bg-alt: #F6F5F2; --mp-shadow-sm: 0 1px 2px rgba(12,33,64,0.05); --mp-shadow-md: 0 4px 6px rgba(12,33,64,0.07); --mp-shadow-lg: 0 10px 25px rgba(12,33,64,0.10); --mp-shadow-xl: 0 20px 50px rgba(12,33,64,0.14); --mp-ink: #0C2140; --mp-ink-2: #46566E; --mp-line: #E2E8F0; --mp-sky: #F3F7FE; --mp-calm: #F6F5F2; --mp-gold: #DCC184; --mp-gold-edge: #AB8E53; --mp-acc-s: #0265D9; --mp-acc-l: #3D84EA; --mp-acc-d: #A2C8F0; --mp-chart-1: #286099; --mp-chart-2: #6C98E2; --mp-chart-3: #A2C8F0; --mp-muted: #5B6B82; --mp-rule: #E2E8F0; --mp-rule-strong: #CBD5E1; --mp-control-border: #7D8CA2; --mp-focus-ring: #3D84EA; --mp-action: #0265D9; --mp-action-hover: #145EC1; --mp-on-action: #FFFFFF; --dl-rule: #E2E8F0; --dl-on-sapphire-rule: rgba(255, 255, 255, 0.16); }
.lp-v2 .wf-step h4 { color: var(--mp-ink) }
:root .lp-v2 .mk-timeline__head h2 { color: var(--mp-ink) }
.lp-v2 .replaces h2 em { color: var(--mp-acc-l) }
.lp-v2 .replaces-arrow { color: var(--mp-acc-l) }
.lp-v2 .munipro-tile .mp-tag { color: var(--mp-acc-d) }
.lp-v2 .ps-row .ps-num { color: var(--mp-acc-l) }
.lp-v2 .hub-tabs button .roman { color: var(--mp-acc-s) }
.lp-v2 .persona-hero .crumbs em { color: var(--mp-acc-s) }
.lp-v2 .persona-hero .role-tag { color: var(--mp-acc-s) }
.lp-v2 .persona-hero h1 em { color: var(--mp-acc-l) }
.lp-v2 .wf-step .wf-time { color: var(--mp-acc-s) }
.lp-v2 .hp-hero-copy h1 em { color: var(--mp-acc-d) }
.lp-v2 .hp-hero-copy .lede em { color: var(--mp-acc-d) }
.lp-v2 .hp-hero-headline h1 em { color: var(--mp-acc-l) }
:root .lp-v2 .mk-hero .hp-hero-headline .eyebrow { color: var(--mp-acc-s) }
:root .lp-v2 .mk-timeline__head h2 em { color: var(--mp-action) }
:root .lp-v2 .mk-seek__go { color: var(--mp-acc-s) }
:root .lp-v2 .mk-cta h2 em { color: var(--mp-acc-l) }
:root .lp-v2 .w3-tabs .roman { color: var(--mp-acc-s) }
:root .lp-v2 .w3-work__head h2 em, :root .lp-v2 .w3-lic h2 em { color: var(--mp-acc-l) }
.lp-v2 .cta-band::before { background: var(--dl-on-sapphire-rule); height: 1px; border-top: 0; border-bottom: 0 }
.lp-v2 .munipro-tile::after { background: var(--dl-on-sapphire-rule); height: 1px; border-top: 0; border-bottom: 0 }
.lp-v2 .persona-hero::after { background: var(--dl-rule); height: 1px; border-top: 0; border-bottom: 0 }
.lp-v2 .hp-hero::after { background: var(--dl-rule); height: 1px; border-top: 0; border-bottom: 0 }
:root .lp-v2 .mk-cta--rule::after { background: var(--dl-on-sapphire-rule); height: 1px; border-top: 0; border-bottom: 0 }
.lp-v2 { background: var(--mp-warm-bg); }
:where(.lp-v2) h1, :where(.lp-v2) h2, :where(.lp-v2) h3, :where(.lp-v2) h4 { color: var(--mp-ink); }
.lp-v2 .nav { background: #fff; border-bottom: 1px solid var(--mp-line); box-shadow: none; }
.lp-v2 .nav-logo { color: var(--mp-primary-900); }
.lp-v2 .nav-logo img { filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='s' color-interpolation-filters='sRGB'%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.0039 0 0 0 0 0.1647 0 0 0 0 0.3882 0 0 0 1 0'/%3E%3C/filter%3E%3C/svg%3E#s"); }
.lp-v2 .nav-links a { color: var(--mp-ink); text-transform: none; letter-spacing: 0; font-weight: 500; }
.lp-v2 .nav-links a:hover { color: var(--mp-primary-500); }
:root .lp-v2 .nav .nav-links a[aria-current="page"] { color: var(--mp-primary-500); text-decoration-color: var(--mp-primary-500); }
:root .lp-v2 .nav a:focus-visible, :root .lp-v2 .footer a:focus-visible, :root .lp-v2 .nav button:focus-visible { outline-color: #3D84EA; }
.lp-v2 .btn-accent { background: var(--mp-primary-500); color: #fff; border-color: var(--mp-primary-500); }
.lp-v2 .btn-accent:hover { background: var(--mp-primary-600); border-color: var(--mp-primary-600); color: #fff; }
.lp-v2 .cta-band .btn-accent { background: var(--mp-action-on-dark); color: var(--mp-action-on-dark-text); border-color: var(--mp-action-on-dark); }
.lp-v2 .cta-band .btn-accent:hover, .lp-v2 .cta-band .btn-accent:focus-visible { background: var(--mp-action-on-dark-hover); border-color: var(--mp-action-on-dark-hover); color: var(--mp-action-on-dark-text); }
.lp-v2 .btn-outline { color: var(--mp-primary-500); border-color: var(--mp-primary-500); }
.lp-v2 .btn-outline:hover { background: var(--mp-primary-500); color: #fff; }
.lp-v2 .btn-outline-white { color: var(--mp-primary-500); border-color: var(--mp-primary-500); background: transparent; }
.lp-v2 .btn-outline-white:hover { background: var(--mp-primary-50); border-color: var(--mp-primary-600); color: var(--mp-primary-600); }
.lp-v2 .nav-links a.btn-accent { color: #fff; }
.lp-v2 .nav-links a.btn-accent:hover { color: #fff; }
.lp-v2 .nav-links a.btn-outline-white { color: var(--mp-primary-500); }
.lp-v2 .nav-links a.btn-outline-white:hover { color: var(--mp-primary-600); }
:root .lp-v2 .nav .nav-links a.btn-accent { color: #fff; border-color: var(--mp-primary-500); }
:root .lp-v2 .nav .nav-links a.btn-accent:hover { color: #fff; background: var(--mp-primary-600); border-color: var(--mp-primary-600); }
.lp-v2 .cta-band .btn-outline-white, .lp-v2 .footer .btn-outline-white { color: #fff; border-color: rgba(255, 255, 255, 0.5); }
.lp-v2 .cta-band .btn-outline-white:hover, .lp-v2 .footer .btn-outline-white:hover { background: rgba(255, 255, 255, 0.1); border-color: #fff; color: #fff; }
.lp-v2 .eyebrow::before { height: 1.5px; background: var(--mp-rule-strong); }
.lp-v2 .wf-step { border-top-width: 1.5px; border-top-color: var(--mp-rule); }
.lp-v2 .cta-band, .lp-v2 .footer { background: var(--mp-primary-900); }
.lp-v2 .footer { border-top: 0; box-shadow: none; }
.lp-v2 .cta-band h2 em, :root .lp-v2 .mk-cta h2 em { color: var(--mp-acc-l); }
.lp-v2 .cta-band p { color: rgba(255, 255, 255, 0.78); }
:root .lp-v2 .w3-cta__k { color: rgba(255, 255, 255, 0.7); }
.lp-v2 .munipro-tile { background: var(--mp-primary-900); }
.lp-v2 .hp-hero, .lp-v2 .persona-hero { background: var(--mp-sky); color: var(--mp-ink); }
.lp-v2 .hp-hero::before { content: none; }
.lp-v2 .hp-hero-copy h1, .lp-v2 .hp-hero-headline h1, .lp-v2 .persona-hero h1 { color: var(--mp-ink); }
.lp-v2 .hp-hero-copy h1 em, .lp-v2 .hp-hero-headline h1 em, .lp-v2 .persona-hero h1 em { color: var(--mp-acc-l); }
.lp-v2 .hp-hero-copy .lede, .lp-v2 .persona-hero .lede { color: var(--mp-ink-2); }
.lp-v2 .hp-hero-copy .lede strong { color: var(--mp-ink); }
.lp-v2 .hp-hero-copy .lede em { color: var(--mp-acc-s); }
.lp-v2 .persona-hero .crumbs { color: var(--mp-ink-2); }
.lp-v2 .persona-hero .crumbs a, :root .lp-v2 .w3-hero .crumbs a { color: var(--mp-ink-2); }
.lp-v2 .persona-hero .crumbs em { color: var(--mp-acc-s); }
.lp-v2 .persona-hero .role-tag { color: var(--mp-acc-s); border-color: rgba(2, 101, 217, 0.45); }
:root .lp-v2 .mk-hero .hp-hero-headline .eyebrow { color: var(--mp-acc-s); }
:root .lp-v2 .mk-hero .hp-hero-headline .eyebrow::before, :root .lp-v2 .mk-hero .hp-hero-headline .eyebrow::after { background: var(--mp-rule-strong); height: 1.5px; }
.lp-v2 .hp-hero#home-hero .btn-outline-white { background: #fff; }
.lp-v2 .footer, .lp-v2 .footer a, .lp-v2 .footer a[style], .lp-v2 .footer-inner > div { color: #A2C8F0 !important; }

/* ---- the marketing kit pieces the frames use ---- */
.lp-v2 .mk-ico { display: inline-block; flex: none; vertical-align: -0.15em; }
.lp-v2 :focus-visible { outline: 2px solid #3D84EA; outline-offset: 2px; }
.lp-v2 .nav .nav-links a[aria-current="page"] { color: var(--mp-action); text-decoration: underline; text-decoration-color: var(--mp-action); text-decoration-thickness: 2px; text-underline-offset: 10px; }
.lp-v2 .nav .nav-links a.btn-accent { color: #fff; border-color: var(--mp-action); }
.lp-v2 .nav .nav-links a.btn-accent:hover { color: #fff; background: var(--mp-action-hover); }
.lp-v2 .nav a:focus-visible, .lp-v2 .footer a:focus-visible, .lp-v2 .nav button:focus-visible { outline: 2px solid #3D84EA; outline-offset: 2px; }
.lp-v2 .mk-hero.hp-hero { min-height: 0; flex-direction: column; align-items: stretch; padding: var(--mp-space-20) var(--mp-space-6) calc(var(--mp-space-20) + 20px); }
.lp-v2 .mk-hero__col { position: relative; z-index: 2; width: 100%; max-width: var(--mp-max-width); margin: 0 auto; }
.lp-v2 .mk-hero .hp-hero-headline { margin-bottom: var(--mp-space-12); }
.lp-v2 .mk-hero .hp-hero-headline .eyebrow { color: var(--mp-acc-s); margin-bottom: var(--mp-space-5); }
.lp-v2 .mk-hero .hp-hero-headline .eyebrow::before { background: var(--mp-rule-strong); }
.lp-v2 .mk-hero .hp-hero-headline .eyebrow::after { content: ""; width: 24px; height: 1px; background: var(--mp-rule-strong); }
.lp-v2 .mk-hero .hp-hero-copy .lede { margin-top: 0; }
.lp-v2 .mk-hero__media { min-width: 0; }
.lp-v2 .mk-sample { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 3px; background: color-mix(in srgb, var(--mp-primary-900) 78%, transparent); color: color-mix(in srgb, white 88%, transparent); font-family: var(--mp-font-body); font-size: 11px; font-weight: 500; }
.lp-v2 .mk-timeline__head h2 em { color: var(--mp-action); font-style: italic; }
.lp-v2 .mk-timeline { background: var(--mp-warm-bg); border-top: 1px solid var(--mp-neutral-200); }
.lp-v2 .mk-timeline__head h2 { margin-top: var(--mp-space-3); font-size: var(--mp-text-4xl); line-height: 1.2222; color: var(--mp-primary-900); }
.lp-v2 .mk-timeline__head p { max-width: 60ch; margin-top: var(--mp-space-4); font-size: var(--mp-text-lg); line-height: 1.65; color: var(--mp-neutral-700); }
.lp-v2 .mk-timeline .workflow-steps { list-style: none; grid-template-columns: repeat(var(--mk-n, 4), minmax(0, 1fr)); }
.lp-v2 .mk-seek-step { position: relative; display: flex; flex-direction: column; padding: var(--mp-space-4) var(--mp-space-4) var(--mp-space-5); border-radius: 0 0 var(--mp-radius-sm) var(--mp-radius-sm); transition: background 0.2s, box-shadow 0.2s; }
.lp-v2 .mk-seek-step:hover { background: color-mix(in srgb, white 60%, transparent); }
.lp-v2 .mk-seek { padding: 0; border: 0; background: none; color: inherit; font: inherit; line-height: inherit; text-align: left; cursor: pointer; }
.lp-v2 .mk-seek::after { content: ""; position: absolute; inset: 0; }
.lp-v2 .mk-seek:focus-visible { outline: none; }
.lp-v2 .mk-seek-step:has(.mk-seek:focus-visible) { outline: 2px solid #3D84EA; outline-offset: 2px; }
.lp-v2 .mk-seek__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: var(--mp-space-3); font-family: var(--mp-font-body); font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-accent-text); }
.lp-v2 .mk-cta h2 em { color: var(--mp-acc-l); font-style: italic; }
.lp-v2 .mk-cta p { text-wrap: balance; }
.lp-v2 .mk-cta--rule::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 6px; pointer-events: none; background: none; }
.lp-v2 .mk-g12 { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--mp-space-6); align-items: stretch; }
.lp-v2 .mk-col-4 { grid-column: span 4; }
.lp-v2 .mk-col-8 { grid-column: span 8; }
.lp-v2 .mk-col-6 { grid-column: span 6; }
.lp-v2 .mk-col-12 { grid-column: span 12; }
@media (max-width: 880px) {
.lp-v2 .mk-timeline .workflow-steps { grid-template-columns: 1fr; }
.lp-v2 .mk-g12 > [class^="mk-col-"] { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
.lp-v2 .footer .footer-inner { flex-direction: column; align-items: flex-start; gap: var(--mp-space-6); }
.lp-v2 .mk-hero .btn-group, .lp-v2 .mk-cta .btn-group { flex-wrap: wrap; }
.lp-v2 .mk-hero .btn-group .btn, .lp-v2 .mk-cta .btn-group .btn { flex: 1 1 auto; justify-content: center; white-space: nowrap; }
}

/* ---- the frames: LAUNCH (frame_l5), the role template (frame_l6), RFP response (frame_l7) ---- */
.lp-v2 .lv-pan { position: relative; overflow: hidden; background-color: white; background-repeat: no-repeat; animation-duration: 10s; animation-iteration-count: infinite; animation-timing-function: cubic-bezier(0.45, 0, 0.25, 1); }
.lp-v2 .l5-hero .hp-hero-headline h1 { max-width: 24ch; }
/* C58 brand line in the launch hero (Will 10-18 23:15Z): the marker stays inside the em so it never wraps alone; the footnote sits under the lede, same screen as the claim. */
.lp-v2 .l5-hero .l5-ast { font-size: 0.55em; line-height: 0; vertical-align: super; }
.lp-v2 .l5-hero .l5-fn { margin: var(--mp-space-2) 0 var(--mp-space-6); font-size: var(--mp-text-sm); line-height: 1.5; color: var(--mp-ink-2); }
.lp-v2 .l5-band { padding: var(--mp-space-20) var(--mp-space-6); }
.lp-v2 .l5-band--paper { background: var(--mp-warm-bg-alt); }
.lp-v2 .l5-band--white { background: white; border-top: 1px solid var(--mp-line); border-bottom: 1px solid var(--mp-line); }
.lp-v2 .l5-band--foot { padding: var(--mp-space-10) var(--mp-space-6); background: white; }
.lp-v2 .l5-in { max-width: var(--mp-max-width); margin: 0 auto; }
.lp-v2 .l5-head { max-width: 46rem; margin-bottom: var(--mp-space-10); }
.lp-v2 .l5-head h2, .lp-v2 .l5-rec h2 { margin: var(--mp-space-3) 0 0; font-family: var(--mp-font-display); font-size: var(--mp-text-4xl); font-weight: 600; line-height: 1.2222; color: var(--mp-ink); }
.lp-v2 .l5-head h2 em, .lp-v2 .l5-rec h2 em { font-style: italic; color: var(--mp-acc-s); }
.lp-v2 .l5-dek { margin: var(--mp-space-4) 0 0; font-size: var(--mp-text-lg); line-height: 1.6; color: var(--mp-ink-2); }
.lp-v2 .l5-k { display: block; font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-500); }
.lp-v2 .l5-card { height: 100%; padding: var(--mp-space-8); border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l5-card__t { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; line-height: 1.25; color: var(--mp-ink); }
.lp-v2 .l5-go { display: inline-flex; align-items: center; gap: var(--mp-space-2); font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-acc-s); text-decoration: none; }
.lp-v2 .l5-go:hover { text-decoration: underline; text-underline-offset: 3px; }
.lp-v2 .l5-chip-s { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 3px; font-family: var(--mp-font-mono); font-size: 10px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; }
.lp-v2 .l5-chip-s.is-live { background: var(--mp-primary-100); color: var(--mp-primary-800); }
.lp-v2 .l5-chip-s.is-preview { border: 1px solid var(--mp-rule-strong); background: #F1F5F9; color: #1E293B; }
.lp-v2 .l5-chip-s.is-soon { border: 1px solid var(--mp-primary-300); background: white; color: var(--mp-primary-800); }
.lp-v2 .l5-chip-s.is-offer { background: var(--mp-primary-900); color: white; }
.lp-v2 .l5-checks { display: flex; flex-direction: column; gap: var(--mp-space-4); margin: 0; padding: 0; list-style: none; }
.lp-v2 .l5-checks li { display: flex; align-items: flex-start; gap: var(--mp-space-3); font-size: var(--mp-text-base); line-height: 1.5; color: var(--mp-ink); }
.lp-v2 .l5-checks__i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--mp-primary-100); color: var(--mp-primary-700); }
.lp-v2 .l5-video { margin: 0; }
.lp-v2 .l5-video__slot { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--mp-space-4); aspect-ratio: 16 / 9; border-radius: var(--mp-radius-lg); background: var(--mp-primary-900); color: white; box-shadow: var(--mp-shadow-xl); border-bottom: 3px solid var(--mp-rule-strong); }
.lp-v2 .l5-video__play { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; padding: 0 0 0 4px; border: 2px solid color-mix(in srgb, white 70%, transparent); border-radius: 50%; background: transparent; color: white; cursor: pointer; }
.lp-v2 .l5-video__play:hover { background: color-mix(in srgb, white 12%, transparent); }
.lp-v2 .l5-video__label { font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; }
.lp-v2 .l5-video__meta { font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: color-mix(in srgb, white 75%, transparent); }
.lp-v2 .l5-slot { padding: 0 6px; border: 1px dashed var(--mp-neutral-500); border-radius: 3px; font-family: var(--mp-font-mono); font-style: normal; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; }
.lp-v2 .l5-band--lead { padding: var(--mp-space-12) var(--mp-space-6); border-top: 0; }
.lp-v2 .l5-lead-head { margin-bottom: var(--mp-space-8); }
.lp-v2 .l5-lead-kick { display: flex; align-items: center; flex-wrap: wrap; gap: var(--mp-space-4); }
.lp-v2 .l5-leads { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: auto auto 1fr; gap: 0 var(--mp-space-6); }
.lp-v2 .l5-lead { display: grid; grid-row: span 3; grid-template-rows: subgrid; grid-template-columns: 64px minmax(0, 1fr); column-gap: var(--mp-space-5); row-gap: var(--mp-space-2); padding: var(--mp-space-6) var(--mp-space-8); border: 1px solid var(--mp-line); border-top: 3px solid var(--mp-rule-strong); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l5-lead__mono { grid-column: 1; grid-row: 1 / span 3; align-self: start; display: inline-flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--mp-primary-900); box-shadow: inset 0 0 0 2px var(--mp-primary-400); color: white; font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; letter-spacing: 0.02em; }
.lp-v2 .l5-lead__n { grid-column: 2; margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; line-height: 1.2; color: var(--mp-ink); }
.lp-v2 .l5-lead__r { grid-column: 2; margin: 0; font-family: var(--mp-font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mp-acc-s); }
.lp-v2 .l5-lead__r .l5-slot { color: var(--mp-ink-2); }
.lp-v2 .l5-lead__c { grid-column: 2; margin: var(--mp-space-2) 0 0; font-size: var(--mp-text-base); line-height: 1.55; color: var(--mp-ink); }
.lp-v2 .l5-rec { display: flex; flex-direction: column; }
.lp-v2 .l5-rec__p { margin: var(--mp-space-4) 0 0; font-size: var(--mp-text-base); line-height: 1.6; color: var(--mp-ink-2); }
.lp-v2 .l5-rec__list { display: flex; flex-direction: column; gap: var(--mp-space-3); margin: auto 0 0; padding: var(--mp-space-6) 0 0; list-style: none; }
.lp-v2 .l5-rec__list li { display: flex; align-items: center; gap: var(--mp-space-4); padding: var(--mp-space-4); border: 1px solid var(--mp-line); border-left: 3px solid var(--mp-rule-strong); border-radius: var(--mp-radius-sm); font-size: var(--mp-text-base); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .l5-rec__n { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--mp-primary-900); font-family: var(--mp-font-mono); font-size: 12px; color: white; }
.lp-v2 .l5-pic { display: flex; flex-direction: column; margin: 0; padding: 0; overflow: hidden; }
.lp-v2 .l5-pic__bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; border-bottom: 1px solid var(--mp-line); background: var(--mp-calm); }
.lp-v2 .l5-pic__screen { font-family: var(--mp-font-mono); font-size: 12px; color: var(--mp-ink-2); }
.lp-v2 .l5-pic__frame { position: relative; overflow: hidden; background-color: white; }
.lp-v2 .l5-pic__phone { display: none; }
@media (max-width: 880px) {
.lp-v2 .l5-pic__desk { display: none; }
.lp-v2 .l5-pic__phone { display: flex; flex-direction: column; gap: var(--mp-space-2); padding: var(--mp-space-2) 0; background: white; }
}
.lp-v2 .l5-pic__cap { display: flex; align-items: center; gap: var(--mp-space-3); margin-top: auto; padding: var(--mp-space-3) var(--mp-space-4); border-top: 1px solid var(--mp-line); font-size: 12px; color: var(--mp-ink-2); }
.lp-v2 .l5-flow { display: flex; flex-direction: column; gap: var(--mp-space-6); }
.lp-v2 .l5-flow__row { flex: 1; display: grid; grid-template-columns: minmax(0, 1.6fr) 40px minmax(0, 1fr) 40px minmax(0, 1fr); align-items: center; gap: var(--mp-space-3); }
.lp-v2 .l5-flow__col { display: flex; flex-direction: column; gap: var(--mp-space-3); }
.lp-v2 .l5-wire { position: relative; display: block; width: 40px; height: 16px; margin-top: 22px; color: var(--mp-primary-400); }
.lp-v2 .l5-flow__arrow { display: block; width: 40px; height: 16px; }
.lp-v2 .l5-tool { animation: l5-ask 10s infinite; }
@keyframes l5-ask { 0%, 13% { border-color: var(--mp-primary-600); box-shadow: 0 0 0 2px var(--mp-primary-200); background: white; } 15%, 100% { border-color: var(--mp-primary-200); box-shadow: none; } }
.lp-v2 .l5-tool--any { animation-name: l5-ask-any; }
.lp-v2 .l5-tool:nth-child(2) { --lp-delay: 1.4286s; }
.lp-v2 .l5-tool:nth-child(3) { --lp-delay: 2.8571s; }
.lp-v2 .l5-tool:nth-child(4) { --lp-delay: 4.2857s; }
.lp-v2 .l5-tool:nth-child(5) { --lp-delay: 5.7143s; }
.lp-v2 .l5-tool:nth-child(6) { --lp-delay: 7.1429s; }
.lp-v2 .l5-tool:nth-child(7) { --lp-delay: 8.5714s; }
@keyframes l5-ask-any { 0%, 13% { border-color: var(--mp-primary-600); box-shadow: 0 0 0 2px var(--mp-primary-200); background: var(--mp-sky); } 15%, 100% { border-color: var(--mp-primary-200); box-shadow: none; background: white; } }
.lp-v2 .l5-dot { position: absolute; left: 0; top: 4px; width: 8px; height: 8px; border-radius: 50%; opacity: 0; animation-duration: 1.4286s; animation-iteration-count: infinite; animation-timing-function: linear; }
.lp-v2 .l5-dot--q { background: var(--mp-primary-600); }
.lp-v2 .l5-dot--a { border: 2px solid var(--mp-primary-600); background: white; }
.lp-v2 .l5-wire--1 .l5-dot--q { animation-name: l5-q1; }
.lp-v2 .l5-wire--2 .l5-dot--q { animation-name: l5-q2; }
.lp-v2 .l5-wire--2 .l5-dot--a { animation-name: l5-a2; }
.lp-v2 .l5-wire--1 .l5-dot--a { animation-name: l5-a1; }
@keyframes l5-q1 { 0% { opacity: 0; transform: translateX(0); } 3% { opacity: 1; } 27% { opacity: 1; transform: translateX(30px); } 30%, 100% { opacity: 0; transform: translateX(32px); } }
@keyframes l5-q2 { 0%, 29% { opacity: 0; transform: translateX(0); } 32% { opacity: 1; } 48% { opacity: 1; transform: translateX(30px); } 50%, 100% { opacity: 0; transform: translateX(32px); } }
@keyframes l5-a2 { 0%, 53% { opacity: 0; transform: translateX(30px); } 56% { opacity: 1; } 70% { opacity: 1; transform: translateX(0); } 72%, 100% { opacity: 0; transform: translateX(0); } }
@keyframes l5-a1 { 0%, 71% { opacity: 0; transform: translateX(30px); } 74% { opacity: 1; } 90% { opacity: 1; transform: translateX(0); } 92%, 100% { opacity: 0; transform: translateX(0); } }
.lp-v2 .l5-node--dark { animation: l5-hub 1.4286s infinite linear; }
@keyframes l5-hub { 0%, 26% { box-shadow: 0 0 0 0 var(--mp-primary-200); } 32% { box-shadow: 0 0 0 6px var(--mp-primary-200); } 44%, 100% { box-shadow: 0 0 0 0 var(--mp-primary-200); } }
.lp-v2 .l5-flow__col:last-child .l5-node { animation: l5-rec 1.4286s infinite linear; }
@keyframes l5-rec { 0%, 47% { background: white; } 52%, 58% { background: var(--mp-sky); } 66%, 100% { background: white; } }
.lp-v2 .l5-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mp-space-2); margin: 0; padding: 0; list-style: none; }
.lp-v2 .l5-tool { display: flex; flex-direction: column; justify-content: center; min-height: 54px; padding: 6px 12px; border: 1px solid var(--mp-primary-200); border-radius: var(--mp-radius-sm); background: var(--mp-sky); }
.lp-v2 .l5-tool__n { font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .l5-tool__s { font-size: 11px; line-height: 1.3; color: var(--mp-ink-2); }
.lp-v2 .l5-tool--any { grid-column: 1 / -1; border-style: dashed; background: white; }
.lp-v2 .l5-node { display: flex; flex-direction: column; gap: 4px; padding: var(--mp-space-5) var(--mp-space-4); border: 1px solid var(--mp-primary-300); border-radius: var(--mp-radius-md); background: white; text-align: center; }
.lp-v2 .l5-node--dark { border-color: var(--mp-primary-900); background: var(--mp-primary-900); border-bottom: 3px solid var(--mp-rule-strong); }
.lp-v2 .l5-node__t { font-family: var(--mp-font-mono); font-size: var(--mp-text-sm); font-weight: 500; color: var(--mp-ink); }
.lp-v2 .l5-node--dark .l5-node__t { color: white; }
.lp-v2 .l5-node__s { font-size: 12px; color: var(--mp-ink-2); }
.lp-v2 .l5-node--dark .l5-node__s { color: color-mix(in srgb, white 78%, transparent); }
.lp-v2 .l5-flow__foot { display: flex; align-items: center; justify-content: space-between; gap: var(--mp-space-4); padding-top: var(--mp-space-5); border-top: 1px solid var(--mp-line); font-size: var(--mp-text-sm); color: var(--mp-ink-2); }
.lp-v2 .l5-flow__foot b { font-family: var(--mp-font-mono); font-weight: 500; color: var(--mp-ink); }
.lp-v2 .l5-sec { display: flex; flex-direction: column; gap: var(--mp-space-6); }
.lp-v2 .l5-five { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); grid-template-rows: auto auto 1fr auto; gap: 0 var(--mp-space-5); }
.lp-v2 .l5-five.l5-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.lp-v2 .l5-five.l5-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-v2 .l5-build, .lp-v2 .l5-brand { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: var(--mp-space-4); padding: var(--mp-space-6); border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l5-build__top { display: flex; align-items: center; gap: var(--mp-space-3); }
.lp-v2 .l5-file { display: inline-flex; align-items: flex-end; justify-content: center; width: 40px; height: 48px; padding-bottom: 7px; border: 1.5px solid var(--mp-primary-700); border-radius: 3px 12px 3px 3px; background: var(--mp-sky); font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; color: var(--mp-primary-800); }
.lp-v2 .l5-build__t { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; line-height: 1.25; color: var(--mp-ink); }
.lp-v2 .l5-build__p { margin: 0; font-size: var(--mp-text-sm); line-height: 1.55; color: var(--mp-ink-2); }
.lp-v2 .l5-build__tags, .lp-v2 .l5-brand__tags { display: flex; flex-wrap: wrap; align-items: flex-start; align-content: flex-start; gap: 6px; }
.lp-v2 .l5-c11 { display: flex; align-items: center; gap: var(--mp-space-3); margin: var(--mp-space-6) 0 0; padding: var(--mp-space-4) var(--mp-space-5); border-left: 3px solid var(--mp-rule-strong); background: white; font-size: var(--mp-text-sm); color: var(--mp-ink); }
.lp-v2 .l5-c11 .mk-ico { flex: none; color: var(--mp-primary-700); }
.lp-v2 .l5-brand { border-top: 3px solid var(--mp-rule-strong); }
.lp-v2 .l5-brand__mark { display: flex; align-items: flex-start; min-height: 48px; }
.lp-v2 .l5-mark { display: flex; align-items: center; gap: 10px; }
.lp-v2 .l5-mark__img { display: block; width: 44px; height: 20px; object-fit: contain; }
.lp-v2 .l5-mark__word { font-family: var(--mp-font-body); font-size: 18px; font-weight: 700; letter-spacing: -0.01em; color: var(--mp-primary-900); white-space: nowrap; }
.lp-v2 .l5-brand .l1-mp { display: block; flex: none; }
.lp-v2 .l5-brand .l1-la { display: inline-flex; align-items: center; flex: none; white-space: nowrap; }
.lp-v2 .l5-brand .l1-la__w { font-family: var(--mp-font-body); line-height: 1; letter-spacing: -0.015em; color: var(--mp-primary-900); }
.lp-v2 .l5-brand .l1-la__w b { font-weight: 700; }
.lp-v2 .l5-brand .l1-la__w span { font-weight: 500; color: var(--mp-acc-s); }
.lp-v2 .l5-brand__line { margin: 0; font-size: var(--mp-text-sm); line-height: 1.55; color: var(--mp-ink); }
.lp-v2 .l5-offer { display: flex; align-items: center; flex-wrap: wrap; gap: var(--mp-space-4); margin-top: var(--mp-space-5); padding: var(--mp-space-4) var(--mp-space-6); border-radius: var(--mp-radius-md); background: var(--mp-primary-900); border-bottom: 3px solid var(--mp-rule-strong); color: white; }
.lp-v2 .l5-offer__k { font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: color-mix(in srgb, white 72%, transparent); }
.lp-v2 .l5-offer b { font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; }
.lp-v2 .l5-offer .l5-go { margin-left: auto; font-family: var(--mp-font-mono); font-size: 12px; font-weight: 500; color: white; }
.lp-v2 .l5-brand__foot { padding-top: var(--mp-space-4); border-top: 1px solid var(--mp-line); }
.lp-v2 .l5-brand__foot .l5-go { font-family: var(--mp-font-mono); font-size: 12px; font-weight: 500; }
.lp-v2 .l5-roles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto auto 1fr auto; gap: 0 var(--mp-space-6); }
.lp-v2 .l5-roles--n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lp-v2 .l5-roles--n1 { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l5-role { display: grid; grid-row: span 4; grid-template-rows: subgrid; row-gap: var(--mp-space-5); padding: var(--mp-space-6); border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l5-role__session { display: flex; align-items: center; gap: var(--mp-space-4); padding: var(--mp-space-4); border-radius: var(--mp-radius-md); background: var(--mp-primary-900); border-bottom: 3px solid var(--mp-rule-strong); color: white; }
.lp-v2 .l5-role__when { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lp-v2 .l5-role__when b { font-size: var(--mp-text-base); font-weight: 600; line-height: 1.3; }
.lp-v2 .l5-role__when span { font-size: 12px; color: color-mix(in srgb, white 78%, transparent); }
.lp-v2 .l5-reg { align-self: flex-start; margin-top: 4px; font-size: var(--mp-text-sm); font-weight: 600; color: white; text-decoration: underline; text-decoration-color: var(--mp-primary-300); text-underline-offset: 4px; }
.lp-v2 .l5-cal { flex: none; display: flex; flex-direction: column; align-items: center; width: 64px; overflow: hidden; border-radius: var(--mp-radius-sm); background: white; }
.lp-v2 .l5-cal__d { width: 100%; padding: 2px 0; background: var(--mp-acc-s); font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.14em; text-align: center; text-transform: uppercase; color: white; }
.lp-v2 .l5-cal__n { padding: 3px 0 4px; font-family: var(--mp-font-mono); font-size: 15px; font-weight: 500; color: var(--mp-ink); }
.lp-v2 .l5-roman { display: block; margin-bottom: 4px; font-family: var(--mp-font-display); font-style: italic; font-size: var(--mp-text-sm); color: var(--mp-accent-text); }
.lp-v2 .l5-role__t { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; line-height: 1.15; color: var(--mp-ink); }
.lp-v2 .l5-role__claims li { font-size: var(--mp-text-sm); }
.lp-v2 .l5-role__body { display: flex; flex-direction: column; gap: var(--mp-space-5); }
.lp-v2 .l5-next { display: flex; flex-direction: column; gap: var(--mp-space-3); padding: var(--mp-space-4); border: 1px dashed var(--mp-primary-300); border-radius: var(--mp-radius-md); }
.lp-v2 .l5-next__h { display: flex; align-items: center; gap: var(--mp-space-2); }
.lp-v2 .l5-next ul { display: flex; flex-direction: column; gap: var(--mp-space-2); margin: 0; padding: 0 0 0 1.1em; font-size: var(--mp-text-sm); line-height: 1.5; color: var(--mp-ink-2); }
.lp-v2 .l5-role__foot { padding-top: var(--mp-space-4); border-top: 1px solid var(--mp-line); }
.lp-v2 .l5-teach { display: flex; align-items: center; gap: var(--mp-space-5); margin-top: var(--mp-space-6); padding: var(--mp-space-5) var(--mp-space-6); border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l5-teach__i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: var(--mp-radius-md); background: var(--mp-primary-100); color: var(--mp-primary-700); }
.lp-v2 .l5-teach__t { flex: 1; display: flex; flex-direction: column; gap: 4px; }
.lp-v2 .l5-teach__t b { font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .l5-teach__t span { display: flex; align-items: center; gap: var(--mp-space-2); font-size: var(--mp-text-sm); color: var(--mp-ink-2); }
.lp-v2 .l5-labels { display: flex; flex-direction: column; gap: var(--mp-space-5); }
.lp-v2 .l5-labels li { display: grid; align-items: center; gap: var(--mp-space-5); color: var(--mp-ink); }
.lp-v2 .l5-labels__lead { margin: 0; padding-bottom: var(--mp-space-5); border-bottom: 1px solid var(--mp-line); font-size: var(--mp-text-lg); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .l5-labels ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--mp-space-4) var(--mp-space-8); margin: 0; padding: 0; list-style: none; }
.lp-v2 .l5-labels ul li { grid-template-columns: 150px minmax(0, 1fr); font-size: var(--mp-text-sm); }
.lp-v2 .l5-labels__end { margin: 0; padding-top: var(--mp-space-5); border-top: 1px solid var(--mp-line); font-size: var(--mp-text-sm); color: var(--mp-ink-2); }
.lp-v2 .l5-foot { display: flex; flex-direction: column; gap: var(--mp-space-3); }
.lp-v2 .l5-foot__c11 { margin: 0; font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .l5-foot__tm { margin: 0; font-size: 12px; line-height: 1.6; color: var(--mp-ink-2); }
@media (max-width: 880px) {
.lp-v2 .l5-band { padding: var(--mp-space-12) var(--mp-space-5); }
.lp-v2 .l5-head { margin-bottom: var(--mp-space-6); }
.lp-v2 .l5-head h2, .lp-v2 .l5-rec h2 { font-size: var(--mp-text-3xl); }
.lp-v2 .l5-dek { font-size: var(--mp-text-base); }
.lp-v2 .l5-five, .lp-v2 .l5-five.l5-four, .lp-v2 .l5-five.l5-three, .lp-v2 .l5-roles { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: var(--mp-space-4); }
.lp-v2 .l5-build, .lp-v2 .l5-brand, .lp-v2 .l5-role { grid-row: auto; grid-template-rows: none; display: flex; flex-direction: column; }
.lp-v2 .l5-brand__mark { min-height: 0; }
.lp-v2 .l5-flow__row { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l5-wire { justify-self: center; margin: 0; transform: rotate(90deg); }
.lp-v2 .l5-flow__foot, .lp-v2 .l5-teach { flex-direction: column; align-items: flex-start; }
.lp-v2 .l5-card { padding: var(--mp-space-6); }
.lp-v2 .l5-labels li, .lp-v2 .l5-labels ul li { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-2); justify-items: start; }
.lp-v2 .l5-offer .l5-go { margin-left: 0; }
.lp-v2 .l5-labels ul { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l5-video__label { font-size: var(--mp-text-lg); text-align: center; }
.lp-v2 .l5-video__play { width: 56px; height: 56px; }
.lp-v2 .l5-video__meta { font-size: 9px; }
.lp-v2 .l5-role__session { flex-wrap: wrap; }
.lp-v2 .l5-band--lead { padding: var(--mp-space-10) var(--mp-space-5); }
.lp-v2 .l5-leads { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: var(--mp-space-4); }
.lp-v2 .l5-lead { grid-row: auto; grid-template-rows: none; grid-template-columns: 48px minmax(0, 1fr); column-gap: var(--mp-space-4); padding: var(--mp-space-5); }
.lp-v2 .l5-lead__mono { width: 48px; height: 48px; font-size: var(--mp-text-base); }
.lp-v2 .l5-lead__n { font-size: var(--mp-text-xl); }
}
.lp-v2 .w3-hero.persona-hero { padding: var(--mp-space-20) var(--mp-space-6) calc(var(--mp-space-20) + var(--mp-space-8)); }
.lp-v2 .w3-hero__in { position: relative; z-index: 1; max-width: var(--mp-max-width); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: var(--mp-space-16); align-items: center; }
.lp-v2 .w3-hero .crumbs { margin-bottom: var(--mp-space-5); }
.lp-v2 .w3-hero .crumbs a { text-decoration: none; }
.lp-v2 .w3-hero .lede { margin-top: var(--mp-space-6); }
.lp-v2 .w3-hero .btn-group { display: flex; flex-wrap: wrap; gap: var(--mp-space-4); margin-top: var(--mp-space-8); }
.lp-v2 .w3-hero__media { min-width: 0; }
.lp-v2 .w3-tab { display: inline-flex; align-items: baseline; background: var(--mp-warm-bg); line-height: 16px; border: 1px solid var(--mp-neutral-200); border-bottom: 0; border-radius: 6px 6px 0 0; padding: 12px 18px; font-family: var(--mp-font-mono); font-size: 11px; font-weight: 400; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mp-neutral-600); text-decoration: none; cursor: pointer; transition: 0.2s; }
.lp-v2 a.w3-tab:hover { color: var(--mp-primary-700); }
.lp-v2 .w3-tab[aria-current="page"] { background: white; color: var(--mp-primary-700); font-weight: 700; cursor: default; }
.lp-v2 .w3-tabs .roman { font-family: var(--mp-font-display); font-size: 12px; font-style: italic; font-weight: 400; color: var(--mp-action); margin-right: 8px; text-transform: none; letter-spacing: 0; }
.lp-v2 .w3-tabs__sep { align-self: center; padding: 0 var(--mp-space-1); color: var(--mp-neutral-400); }
.lp-v2 .w3-lic .btn-group { display: flex; margin-top: var(--mp-space-8); }
.lp-v2 .w3-lic .replaces-col { list-style: none; margin: 0; padding: 0; }
.lp-v2 .w3-lic .legacy-tile { padding: 10px 14px; color: var(--mp-neutral-800); }
.lp-v2 .w3-lic .legacy-tile::before { background: var(--mp-primary-500); }
.lp-v2 .w3-lic .legacy-tile small { margin-left: auto; font-size: 10px; letter-spacing: 0.04em; text-transform: none; color: var(--mp-neutral-500); }
.lp-v2 .munipro-tile ul li::before { flex: none; border-left: 1.5px solid var(--mp-primary-300); border-bottom: 1.5px solid var(--mp-primary-300); }
.lp-v2 .munipro-tile .mp-tag { text-transform: none; letter-spacing: 0.04em; font-size: 12px; }
.lp-v2 .w3-work-band { background: var(--mp-warm-bg-alt); padding: var(--mp-space-20) var(--mp-space-6); }
.lp-v2 .w3-work { max-width: var(--mp-max-width); margin: 0 auto; padding: var(--mp-space-16) var(--mp-space-12) var(--mp-space-12); background: white; border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); }
.lp-v2 .w3-work__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--mp-space-8); align-items: end; margin-bottom: var(--mp-space-10); }
.lp-v2 .w3-work__head h2 { margin-top: var(--mp-space-4); color: var(--mp-neutral-900); line-height: 1.1; }
.lp-v2 .w3-work__head h2 em, .lp-v2 .w3-lic h2 em { color: var(--mp-primary-400); font-style: italic; }
.lp-v2 .w3-work__head p { margin: 0; color: var(--mp-neutral-600); font-size: var(--mp-text-lg); line-height: 1.6; }
.lp-v2 .w3-work .ps-row p { margin: 0; }
.lp-v2 .w3-work .ps-row { grid-template-columns: 80px minmax(0, 1fr) minmax(0, 1fr); }
.lp-v2 .w3-work .ps-sol .l6-pre { margin-top: var(--mp-space-3); }
.lp-v2 .w3-tlrow { display: flex; align-items: center; justify-content: space-between; gap: var(--mp-space-8); }
.lp-v2 .l6-video { margin: 0; }
.lp-v2 .l6-video__slot { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--mp-space-4); aspect-ratio: 16 / 9; padding: var(--mp-space-6); border-radius: var(--mp-radius-lg); background: var(--mp-primary-900); color: white; box-shadow: var(--mp-shadow-xl); border-bottom: 3px solid var(--mp-rule-strong); text-align: center; }
.lp-v2 .l6-video__play { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; padding: 0 0 0 4px; border: 2px solid color-mix(in srgb, white 70%, transparent); border-radius: 50%; background: transparent; color: white; cursor: pointer; }
.lp-v2 .l6-video__play:hover { background: color-mix(in srgb, white 12%, transparent); }
.lp-v2 .l6-video__label { font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; line-height: 1.3; }
.lp-v2 .l6-video__label small { display: block; margin-top: 4px; font-family: var(--mp-font-body); font-size: var(--mp-text-base); font-weight: 400; color: color-mix(in srgb, white 85%, transparent); }
.lp-v2 .l6-video__meta { font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: color-mix(in srgb, white 75%, transparent); }
.lp-v2 .l6-video__cap { margin-top: var(--mp-space-4); text-align: center; font-family: var(--mp-font-display); font-style: italic; font-size: var(--mp-text-base); color: var(--mp-neutral-700); }
.lp-v2 .l6-wf .workflow-steps { grid-template-columns: repeat(var(--mk-n, 4), minmax(0, 1fr)); gap: var(--mp-space-6); }
.lp-v2 .l6-wf .mk-seek__go { color: var(--mp-primary-500); }
.lp-v2 .l6-wf .mk-seek-step { cursor: pointer; }
.lp-v2 .l6-view { margin: var(--mp-space-8) 0 0; padding: var(--mp-space-4); background: white; border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); box-shadow: var(--mp-shadow-md); }
.lp-v2 .l6-view__pane[hidden] { display: none; }
.lp-v2 .l6-view__pic { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-sm); background: var(--mp-primary-50); }
.lp-v2 .l6-view__pic img, .lp-v2 .l6-view__pic video { display: block; width: 100%; height: 100%; object-fit: contain; }
.lp-v2 .l6-view__pic video { background: white; }
.lp-v2 .l6-view__pic img.l6-pan { animation: l6-pan 9s ease-in-out infinite alternate; }
@keyframes l6-pan { from { object-view-box: inset(0% 0% 0% 0%); } to { object-view-box: inset(9% 23% 14% 0%); } }
.lp-v2 .l6-view__pane.is-gated .l6-view__pic { border-style: dashed; border-color: var(--mp-primary-400); }
.lp-v2 .l6-view__cap { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-3); margin-top: var(--mp-space-4); }
.lp-v2 .l6-view__n { font-family: var(--mp-font-display); font-style: italic; font-size: var(--mp-text-xl); color: var(--mp-action); line-height: 1; }
.lp-v2 .l6-view__s { font-family: var(--mp-font-mono); font-size: var(--mp-text-sm); letter-spacing: 0.04em; color: var(--mp-neutral-800); }
.lp-v2 .l6-ill { position: absolute; left: 10px; top: 10px; z-index: 1; padding: 1px 6px; border-radius: 3px; background: white; border: 1px solid var(--mp-neutral-200); font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mp-neutral-600); }
.lp-v2 .l6-d { position: absolute; inset: 0; display: grid; place-items: center; }
.lp-v2 .l6-d__chip { position: absolute; right: 6px; bottom: 6px; padding: 1px 6px; border-radius: 3px; background: var(--mp-primary-900); font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.08em; color: white; }
.lp-v2 .l6-d-pages { position: relative; height: 84%; aspect-ratio: 816 / 1056; perspective: 1400px; }
.lp-v2 .l6-d-memo { position: absolute; inset: 0; padding: 7% 8%; background: white; border: 1px solid var(--mp-neutral-200); box-shadow: var(--mp-shadow-sm); display: flex; flex-direction: column; gap: 5%; transform-origin: left center; backface-visibility: hidden; }
.lp-v2 .l6-d-memo.is-top { animation: l6-turn 8s ease-in-out infinite; }
@keyframes l6-turn { 0%, 35% { transform: rotateY(0); opacity: 1; } 60% { transform: rotateY(-100deg); opacity: 0.2; } 61%, 88% { transform: rotateY(-100deg); opacity: 0; } 100% { transform: rotateY(0); opacity: 1; } }
.lp-v2 .l6-d-memo i { display: block; height: 3px; background: var(--mp-neutral-200); }
.lp-v2 .l6-d-memo i:first-child { height: 7px; width: 72%; background: var(--mp-primary-900); }
.lp-v2 .l6-d-memo i:nth-child(2) { height: 2px; width: 44%; background: var(--mp-rule-strong); }
.lp-v2 .l6-d-memo i.s { width: 58%; }
.lp-v2 .l6-d-memo i.p { height: 18%; background: var(--mp-primary-100); }
.lp-v2 .l6-d-win { width: 78%; aspect-ratio: 16 / 9; overflow: hidden; background: white; border: 1px solid var(--mp-neutral-200); box-shadow: var(--mp-shadow-sm); }
.lp-v2 .l6-d-slides { position: relative; width: 100%; height: 100%; }
.lp-v2 .l6-d-slides > .l6-d-deck { position: absolute; inset: 0; background: white; animation: l6-slide 9s ease-in-out infinite; }
.lp-v2 .l6-d-slides > .l6-d-deck:nth-child(2) { --lp-delay: -6s; }
.lp-v2 .l6-d-slides > .l6-d-deck:nth-child(3) { --lp-delay: -3s; }
@keyframes l6-slide { 0%, 28% { clip-path: inset(0 0 0 0); } 33%, 94.9% { clip-path: inset(0 100% 0 0); } 95% { clip-path: inset(0 0 0 100%); } 100% { clip-path: inset(0 0 0 0); } }
.lp-v2 .l6-d-deck { height: 100%; padding: 5% 6%; display: grid; grid-template-rows: auto 1fr; gap: 8%; }
.lp-v2 .l6-d-deck b { display: block; height: 7px; width: 60%; background: var(--mp-primary-900); }
.lp-v2 .l6-d-deck span { display: flex; align-items: flex-end; gap: 6%; border-bottom: 1px solid var(--mp-neutral-300); }
.lp-v2 .l6-d-deck span i { flex: 1; background: var(--mp-primary-400); }
.lp-v2 .l6-d-deck ul { display: flex; flex-direction: column; gap: 9%; margin: 0; padding: 0; list-style: none; }
.lp-v2 .l6-d-deck ul li { height: 5px; width: 80%; background: var(--mp-neutral-200); }
.lp-v2 .l6-d-deck ul li:nth-child(odd) { width: 64%; }
.lp-v2 .l6-d-deck .g { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2px; }
.lp-v2 .l6-d-deck .g i { background: var(--mp-primary-100); }
.lp-v2 .l6-d-deck .g i:nth-child(-n+4) { background: var(--mp-primary-300); }
.lp-v2 .w3-cta__k { margin-bottom: var(--mp-space-3); }
.lp-v2 .w3-cta__k::before { display: none; }
.lp-v2 .l6-fig { margin: 0 0 var(--mp-space-8); padding: var(--mp-space-6); border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); background: var(--mp-primary-50); }
.lp-v2 .l6-fig__head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-3); margin-bottom: var(--mp-space-5); }
.lp-v2 .l6-fig__k { font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-600); }
.lp-v2 .l6-flow { display: grid; grid-template-columns: repeat(var(--l6-n), minmax(0, 1fr)); gap: var(--mp-space-8); align-items: stretch; }
.lp-v2 .l6-node { position: relative; display: flex; flex-direction: column; gap: 4px; padding: var(--mp-space-4) var(--mp-space-5); background: white; border: 1px solid var(--mp-primary-200); border-radius: var(--mp-radius-sm); }
.lp-v2 .l6-node + .l6-node::before { content: ""; position: absolute; left: calc(-1 * var(--mp-space-8) + 6px); top: 50%; width: calc(var(--mp-space-8) - 12px); border-top: 1.5px solid var(--mp-primary-500); }
.lp-v2 .l6-node + .l6-node::after { content: ""; position: absolute; left: -10px; top: calc(50% - 4px); border: 4.5px solid transparent; border-left: 6px solid var(--mp-primary-500); border-right: 0; }
.lp-v2 .l6-node.is-gated { border-style: dashed; border-color: var(--mp-primary-400); }
.lp-v2 .l6-node.is-root { background: var(--mp-primary-900); border-color: var(--mp-primary-900); }
.lp-v2 .l6-node.is-root b, .lp-v2 .l6-node.is-root span { color: white; }
.lp-v2 .l6-node b { font-family: var(--mp-font-display); font-size: var(--mp-text-lg); font-weight: 600; line-height: 1.25; color: var(--mp-neutral-900); }
.lp-v2 .l6-node span { font-size: var(--mp-text-sm); line-height: 1.45; color: var(--mp-neutral-600); }
.lp-v2 .l6-node i { align-self: flex-start; margin-bottom: 2px; padding: 2px 6px; border: 1px solid var(--mp-primary-200); border-radius: 3px; font-family: var(--mp-font-mono); font-size: 10px; font-style: normal; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mp-primary-700); }
.lp-v2 .l6-node.is-root i { border-color: color-mix(in srgb, white 35%, transparent); color: var(--mp-primary-300); }
.lp-v2 .l6-chips { display: flex; flex-wrap: wrap; gap: var(--mp-space-3); margin-top: var(--mp-space-5); }
.lp-v2 .l6-chip { display: inline-block; padding: 6px 12px; background: white; border: 1px solid var(--mp-neutral-200); border-radius: 999px; font-size: var(--mp-text-sm); color: var(--mp-neutral-800); }
.lp-v2 .l6-chip code { font-family: var(--mp-font-mono); font-size: 12px; color: var(--mp-primary-700); }
.lp-v2 .l6-pre { display: inline-block; padding: 2px 8px; border: 1px solid var(--mp-primary-500); border-radius: 3px; font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-primary-700); background: white; }
.lp-v2 .l6-live-band { background: white; padding: var(--mp-space-20) var(--mp-space-6); border-top: 1px solid var(--mp-neutral-200); }
.lp-v2 .l6-live { max-width: var(--mp-max-width); margin: 0 auto; }
.lp-v2 .l6-live .w3-work__head { margin-bottom: var(--mp-space-10); }
.lp-v2 .l6-card { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); overflow: hidden; }
.lp-v2 .l6-card__pic { position: relative; aspect-ratio: 16 / 10; display: grid; place-items: center; background: var(--mp-primary-50); border-bottom: 1px solid var(--mp-neutral-200); }
.lp-v2 .l6-card__body { display: flex; flex-direction: column; flex: 1; gap: var(--mp-space-2); padding: var(--mp-space-5) var(--mp-space-5) var(--mp-space-6); }
.lp-v2 .l6-card__k { font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-500); }
.lp-v2 .l6-card h3 { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; line-height: 1.25; color: var(--mp-neutral-900); }
.lp-v2 .l6-card p { margin: 0; font-size: var(--mp-text-sm); line-height: 1.55; color: var(--mp-neutral-700); }
.lp-v2 .l6-card__act { margin-top: auto; padding-top: var(--mp-space-4); }
.lp-v2 .l6-card__act .btn { width: 100%; justify-content: center; }
/* Teach-in band in the workflow's place (0 or 1 steps, hub 12:27Z): the presses sit side by side. */
.lp-v2 .lp-teach-band .l6-card__act { display: flex; flex-wrap: wrap; gap: var(--mp-space-3); }
.lp-v2 .lp-teach-band .l6-card__act .btn { width: auto; }
.lp-v2 .l6-date { display: grid; grid-template-rows: auto auto auto; justify-items: center; width: 116px; padding: 10px 0 12px; background: white; border: 1px solid var(--mp-primary-200); border-top: 6px solid var(--mp-primary-500); border-radius: var(--mp-radius-sm); }
.lp-v2 .l6-date span { font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--mp-neutral-600); }
.lp-v2 .l6-date b { font-family: var(--mp-font-display); font-size: 48px; font-weight: 700; line-height: 1; color: var(--mp-primary-900); }
.lp-v2 .l6-cal { display: flex; flex-direction: column; align-items: center; gap: var(--mp-space-3); width: 90%; }
.lp-v2 .l6-split { width: 100%; display: grid; grid-template-columns: 2fr 1fr; gap: 3px; }
.lp-v2 .l6-split span { padding: 4px 6px; background: var(--mp-primary-500); font-family: var(--mp-font-mono); font-size: 10px; color: white; text-align: center; white-space: nowrap; }
.lp-v2 .l6-split span + span { background: var(--mp-primary-300); color: var(--mp-primary-900); }
.lp-v2 .l6-clock { display: flex; align-items: center; gap: var(--mp-space-3); color: var(--mp-primary-500); }
.lp-v2 .l6-clock b { font-family: var(--mp-font-display); font-size: 44px; font-weight: 700; line-height: 1; color: var(--mp-primary-900); }
.lp-v2 .l6-clock small { display: block; font-family: var(--mp-font-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-600); }
.lp-v2 .l6-sheet { width: 92px; aspect-ratio: 816 / 1056; padding: 9px 8px; background: white; border: 1px solid var(--mp-neutral-200); box-shadow: var(--mp-shadow-sm); display: flex; flex-direction: column; gap: 4px; }
.lp-v2 .l6-sheet i { display: block; height: 4px; background: var(--mp-neutral-200); }
.lp-v2 .l6-sheet i:first-child { height: 8px; width: 70%; background: var(--mp-primary-900); }
.lp-v2 .l6-sheet i:nth-child(2) { width: 50%; background: var(--mp-rule-strong); height: 2px; }
.lp-v2 .l6-sheet i:nth-child(5) { height: 20px; background: var(--mp-primary-100); }
.lp-v2 .l6-sheet i.s { width: 60%; }
.lp-v2 .l6-doc { display: flex; align-items: center; gap: var(--mp-space-3); width: 100%; padding: 8px 12px; border: 1.5px solid var(--mp-primary-500); border-radius: var(--mp-radius-sm); color: var(--mp-primary-700); text-decoration: none; }
.lp-v2 .l6-doc__i { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 3px; background: var(--mp-primary-50); }
.lp-v2 .l6-doc b { display: block; font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-neutral-900); }
.lp-v2 .l6-doc small { display: block; font-family: var(--mp-font-mono); font-size: 11px; color: var(--mp-neutral-600); }
.lp-v2 .l6-disc { margin: var(--mp-space-8) 0 0; text-align: center; font-size: var(--mp-text-xs); line-height: 1.5; color: var(--mp-neutral-600); }
@media (max-width: 560px) {
.lp-v2 nav.w3-tabs.hub-tabs { flex-wrap: nowrap; gap: 4px; padding: 0 var(--mp-space-4); }
.lp-v2 .w3-tabs .w3-tab--launch, .lp-v2 .w3-tabs .w3-tabs__sep { display: none; }
.lp-v2 .w3-tabs .w3-tab { padding: 10px; font-size: 10px; white-space: nowrap; letter-spacing: 0.06em; }
.lp-v2 .w3-tabs .roman { margin-right: 4px; font-size: 11px; }
}
@media (max-width: 880px) {
.lp-v2 .w3-hero.persona-hero { padding: var(--mp-space-10) var(--mp-space-5) var(--mp-space-16); }
.lp-v2 .w3-hero__in { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-8); }
.lp-v2 .w3-hero h1 { font-size: var(--mp-text-4xl); }
.lp-v2 .w3-hero .lede { font-size: var(--mp-text-base); }
.lp-v2 .w3-hero .btn-group .btn { flex: 1 1 auto; justify-content: center; }
.lp-v2 .w3-tabs { flex-wrap: wrap; margin-top: -28px; row-gap: 0; }
.lp-v2 .w3-tab { padding: 10px 12px; }
.lp-v2 .w3-tabs__sep { display: none; }
.lp-v2 .w3-lic .replaces { padding: var(--mp-space-16) var(--mp-space-5); gap: var(--mp-space-8); }
.lp-v2 .w3-lic .replaces h2 { font-size: var(--mp-text-4xl); line-height: 1.2222; }
.lp-v2 .w3-work-band, .lp-v2 .l6-live-band { padding: var(--mp-space-12) var(--mp-space-4); }
.lp-v2 .w3-work { padding: var(--mp-space-8) var(--mp-space-5); }
.lp-v2 .w3-work__head { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-3); }
.lp-v2 .w3-work__head p { font-size: var(--mp-text-base); }
.lp-v2 .l6-fig { padding: var(--mp-space-4); }
.lp-v2 .l6-flow { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-6); }
.lp-v2 .l6-node + .l6-node::before { left: 50%; top: calc(-1 * var(--mp-space-6) + 4px); width: 0; height: calc(var(--mp-space-6) - 10px); border-top: 0; border-left: 1.5px solid var(--mp-primary-500); }
.lp-v2 .l6-node + .l6-node::after { left: calc(50% - 4px); top: -9px; border: 4.5px solid transparent; border-top: 6px solid var(--mp-primary-500); border-bottom: 0; }
.lp-v2 .w3-tlrow { flex-direction: column; align-items: flex-start; gap: var(--mp-space-2); }
.lp-v2 .l6-wf .workflow-steps { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l6-view { padding: var(--mp-space-2); margin-top: var(--mp-space-6); }
.lp-v2 .l6-view__s { font-size: 12px; }
.lp-v2 .l6-video__label { font-size: var(--mp-text-lg); }
.lp-v2 .l6-video__play { width: 56px; height: 56px; }
.lp-v2 .l6-video__slot { gap: var(--mp-space-2); padding: var(--mp-space-4); }
.lp-v2 .w3-lic .replaces-arrow { width: 44px; height: 44px; margin: 0 auto; padding: 0; }
.lp-v2 .w3-work .ps-row { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.lp-v2 .w3-work .ps-row > div { min-width: 0; }
}
.lp-v2 #l7-wf .workflow-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lp-v2 .l7-next { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 0; margin-top: var(--mp-space-8); }
.lp-v2 .l7-next__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--mp-space-6); padding: var(--mp-space-5) var(--mp-space-6); background: var(--mp-warm-bg); border: 1px dashed var(--mp-neutral-300); border-radius: var(--mp-radius-md); }
.lp-v2 .l7-next__head { display: flex; flex-direction: column; align-items: flex-start; gap: var(--mp-space-3); }
.lp-v2 .l7-next__head h4 { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; color: var(--mp-neutral-900); }
.lp-v2 .l7-soon { display: inline-block; padding: 2px 8px; border: 1px solid var(--mp-neutral-400); border-radius: 3px; background: white; font-family: var(--mp-font-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-700); }
.lp-v2 .l7-next ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: var(--mp-space-3); }
.lp-v2 .l7-next li { position: relative; padding-left: var(--mp-space-5); font-size: var(--mp-text-base); line-height: 1.5; color: var(--mp-neutral-800); }
.lp-v2 .l7-next li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--mp-neutral-500); }
@media (max-width: 880px) {
.lp-v2 #l7-wf .workflow-steps { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l7-next { grid-template-columns: minmax(0, 1fr); }
.lp-v2 .l7-next__in { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-4); padding: var(--mp-space-5); }
}

/* ---- the record pan: the real S1 still (sample tenant), panned in a 10 s loop ---- */
.lp-v2 .lv-pan--l5-s1-desk { aspect-ratio: 1505 / 847; background-image: var(--lv-s1-img); background-size: 159.4684% auto; background-position: 11.1732% 0.0000%; animation-name: lv-pan--l5-s1-desk; }
@keyframes lv-pan--l5-s1-desk { 0% { background-size: 159.4684% auto; background-position: 11.1732% 0.0000%; } 8% { background-size: 159.4684% auto; background-position: 11.1732% 0.0000%; } 25% { background-size: 294.1176% auto; background-position: 8.8384% 45.1489%; } 45% { background-size: 294.1176% auto; background-position: 8.8384% 45.1489%; } 62% { background-size: 294.1176% auto; background-position: 49.8106% 45.1489%; } 82% { background-size: 294.1176% auto; background-position: 49.8106% 45.1489%; } 100% { background-size: 159.4684% auto; background-position: 11.1732% 0.0000%; } }
.lp-v2 .lv-pan--l5-s1-phone { aspect-ratio: 468 / 340; background-image: var(--lv-s1-img); background-size: 512.8205% auto; background-position: 7.4017% 42.2414%; animation-name: lv-pan--l5-s1-phone; }
@keyframes lv-pan--l5-s1-phone { 0% { background-size: 512.8205% auto; background-position: 7.4017% 42.2414%; } 40% { background-size: 512.8205% auto; background-position: 7.4017% 42.2414%; } 62% { background-size: 512.8205% auto; background-position: 58.8509% 42.2414%; } 85% { background-size: 512.8205% auto; background-position: 58.8509% 42.2414%; } 100% { background-size: 512.8205% auto; background-position: 7.4017% 42.2414%; } }

/* ---- the www chrome without inline style: the nav, the phone menu (a details element, no script), the footer ---- */
.lp-v2 { min-height: 100vh; }
.lp-v2 .nav-links { align-items: center; }
.lp-v2 .lp-nav__logo { display: block; width: auto; height: 26px; }
.lp-v2 .lp-nav__btn { padding: 6px 18px; }
.lp-v2 .lp-nav__demo { margin-left: calc(var(--mp-space-3) - var(--mp-space-8)); }
/* ---- one nav item shape: the plain-text state takes the link type with no affordance; the current page is ink with a 2 px action-blue bar (DL2 active) ---- */
.lp-v2 .nav-links .lp-nav__text { font-size: var(--mp-text-sm); font-weight: 500; line-height: inherit; color: var(--mp-ink); letter-spacing: 0; text-transform: none; cursor: default; }
:root .lp-v2 .nav .nav-links a.lp-nav__link[aria-current="page"] { position: relative; color: var(--mp-ink); text-decoration: none; }
.lp-v2 .nav-links a.lp-nav__link[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -6px; height: 2px; background: var(--mp-primary-500); }
.lp-v2 .lp-menu { display: none; margin-left: auto; }
.lp-v2 .lp-menu__btn { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; font-size: var(--mp-text-xs); list-style: none; cursor: pointer; }
.lp-v2 .lp-menu__btn::-webkit-details-marker { display: none; }
.lp-v2 .lp-menu__panel { position: absolute; top: calc(100% + 1px); left: 0; right: 0; z-index: 101; padding: var(--mp-space-2) var(--mp-space-6) var(--mp-space-6);
  border-bottom: 1px solid var(--mp-rule); background: white;
  box-shadow: 0 0 0 4000px color-mix(in srgb, var(--mp-primary-900) 72%, transparent), var(--mp-shadow-xl); clip-path: inset(0 0 -4000px 0); }
.lp-v2 .lp-menu__list { margin: 0; padding: 0; list-style: none; }
.lp-v2 .lp-menu__list a { display: block; padding: var(--mp-space-4) 0; border-bottom: 1px solid var(--mp-line); color: var(--mp-ink); font-size: var(--mp-text-base); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; text-decoration: none; }
.lp-v2 .lp-menu__list .lp-nav__text { display: block; padding: var(--mp-space-4) 0; border-bottom: 1px solid var(--mp-line); color: var(--mp-ink); font-size: var(--mp-text-base); font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; cursor: default; }
.lp-v2 .lp-menu__list a[aria-current="page"] { box-shadow: inset 0 -2px 0 var(--mp-primary-500); }
.lp-v2 .lp-menu__acts { display: grid; gap: var(--mp-space-3); margin-top: var(--mp-space-6); }
.lp-v2 .lp-menu__acts .btn { justify-content: center; padding: 12px 18px; }
@media (max-width: 880px) {
  .lp-v2 .nav { padding: 0 var(--mp-space-6); }
  .lp-v2 .lp-nav__links { display: none; }
  .lp-v2 .lp-menu { display: block; }
}
.lp-v2 .lp-footer__mark { display: flex; align-items: center; gap: 14px; }
.lp-v2 .lp-footer__logo { width: auto; height: 22px; opacity: 0.85; }
.lp-v2 .lp-footer__links { display: flex; flex-wrap: wrap; gap: var(--mp-space-8); font-size: var(--mp-text-xs); letter-spacing: 0.08em; text-transform: uppercase; }
.lp-v2 .lp-footer__links a { color: rgba(255, 255, 255, 0.5); text-decoration: none; }
.lp-v2 .lp-footer__links a:hover { color: white; }

/* ---- Lockup A on the brand cards (frame_l1.lockup_a at H = 24: mark 0.72 H, word 0.62 H, gap 0.3 H) ---- */
.lp-v2 .l5-brand .l1-la { height: 24px; gap: 7px; }
.lp-v2 .l5-brand .l1-mp { width: 37.9px; height: 17.3px; }
.lp-v2 .l5-brand .l1-la__w { font-size: 15px; }

/* ---- the video slots once a recording is set ---- */
.lp-v2 .l5-video__player, .lp-v2 .l6-video__player { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--mp-radius-lg); background: var(--mp-primary-900); }
.lp-v2 .l5-pic__frame--video { aspect-ratio: 16 / 9; }
.lp-v2 .l5-pic__frame--video .lv-video { display: block; width: 100%; height: 100%; object-fit: contain; }

/* ---- links whose address is not set yet (Teams, Bookings, the one-pager): the words, never a dead press ---- */
.lp-v2 .lp-pending { cursor: default; }
.lp-v2 .l5-reg--pending { font-weight: 500; text-decoration: none; color: color-mix(in srgb, white 85%, transparent); }

/* ---- frame inline values as classes ---- */
.lp-v2 .l6-flow--n3 { --l6-n: 3; }
.lp-v2 .l6-flow--n4 { --l6-n: 4; }
.lp-v2 .lp-n1 { --mk-n: 1; }
.lp-v2 .lp-n2 { --mk-n: 2; }
.lp-v2 .lp-n3 { --mk-n: 3; }
.lp-v2 .lp-n4 { --mk-n: 4; }
.lp-v2 .l6-d-bars i:nth-child(1) { height: 38%; }
.lp-v2 .l6-d-bars i:nth-child(2) { height: 52%; }
.lp-v2 .l6-d-bars i:nth-child(3) { height: 64%; }
.lp-v2 .l6-d-bars i:nth-child(4) { height: 80%; }
.lp-v2 .l6-d-bars i:nth-child(5) { height: 92%; }

/* ---- "The workflow.": a step press selects its screen with a radio per step (no script); step 1 at rest ---- */
.lp-v2 .lp-wf .workflow { position: relative; }
.lp-v2 .lp-wf__pick { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
.lp-v2 .lp-wf .l6-view__pane { display: none; }
.lp-v2 #lp-wf-1:checked ~ .l6-view .lp-pane-1, .lp-v2 #lp-wf-2:checked ~ .l6-view .lp-pane-2,
.lp-v2 #lp-wf-3:checked ~ .l6-view .lp-pane-3, .lp-v2 #lp-wf-4:checked ~ .l6-view .lp-pane-4 { display: block; }
.lp-v2 #lp-wf-1:checked ~ .lp-wf__steps .lp-step-1, .lp-v2 #lp-wf-2:checked ~ .lp-wf__steps .lp-step-2,
.lp-v2 #lp-wf-3:checked ~ .lp-wf__steps .lp-step-3, .lp-v2 #lp-wf-4:checked ~ .lp-wf__steps .lp-step-4 { background: white; box-shadow: var(--mp-shadow-md); }
.lp-v2 #lp-wf-1:focus-visible ~ .lp-wf__steps .lp-step-1, .lp-v2 #lp-wf-2:focus-visible ~ .lp-wf__steps .lp-step-2,
.lp-v2 #lp-wf-3:focus-visible ~ .lp-wf__steps .lp-step-3, .lp-v2 #lp-wf-4:focus-visible ~ .lp-wf__steps .lp-step-4 { outline: 2px solid var(--mp-focus-ring); outline-offset: 2px; }

/* ---- motion: every loop is 10 s (the tool turns 10 s / 7); delays ride --lp-delay. prefers-reduced-motion holds
       every animation at its 3.5 s frame (frame_l5 REST: S1 in on the series names, the tools flow mid-request) ---- */
.lp-v2 :is(.lv-pan, .l5-tool, .l5-dot, .l5-node--dark, .l5-node--rec, .l6-pan, .l6-d-memo.is-top, .l6-d-slides > .l6-d-deck) { animation-delay: var(--lp-delay, 0s) !important; }
/* A role step's demo loop: the video plays; with reduced motion it is removed (no autoplay) and the still shows. */
.launch-loop, .launch-loop__video { display: block; width: 100%; }
.launch-loop__still { display: none; }
@media (prefers-reduced-motion: reduce) {
  /* Scoped like the role-step picture rule (.lp-v2 .l6-view__pic video, 0,2,1) so the still wins under reduce. */
  .launch-loop__video, .lp-v2 .l6-view__pic .launch-loop__video { display: none; }
  .launch-loop__still, .lp-v2 .l6-view__pic .launch-loop__still { display: block; }
  .lp-v2 :is(.lv-pan, .l5-tool, .l5-dot, .l5-node--dark, .l5-node--rec, .l6-pan, .l6-d-memo.is-top, .l6-d-slides > .l6-d-deck) { animation-delay: calc(var(--lp-delay, 0s) - 3.5s) !important; animation-play-state: paused !important; }
  .lp-v2 *, .lp-v2 *::before, .lp-v2 *::after { transition: none !important; }
}

/* ---- h2h ---- */
/* The head-to-head template (design-hub g23 frame_l11: H2H_CMP, H2H_ALT, H2H_SW, at 1440 and 390), rescoped from the
   board host .mk to body.lp-v2, as cleaned 10-18 for Will's 16:40Z review. Comparison (H2, H3), alternatives (H4, H5)
   and switching (H6) share one table; the rebrand explainer (H1) is one section and its FAQ. No competitor colours or
   marks; vendor columns share one width and type. */
.lp-v2 .h2h-in { max-width: var(--mp-max-width); margin: 0 auto; }
.lp-v2 .h2h-band { padding: var(--mp-space-16) var(--mp-space-6); background: var(--mp-warm-bg-alt); }
.lp-v2 .h2h-band--white { background: white; border-top: 1px solid var(--mp-line); }
.lp-v2 .h2h-band--answer { padding-top: var(--mp-space-10); }

/* hero: compact, so the answer is in the first screen; the As-of line sits under the H1 */
.lp-v2 .h2h-hero { padding: var(--mp-space-12) var(--mp-space-6) var(--mp-space-10); background: var(--mp-sky); border-bottom: 1px solid var(--mp-line); }
.lp-v2 .h2h-hero__copy { max-width: 62rem; }
.lp-v2 .h2h-hero .eyebrow { color: var(--mp-ink-2); }
/* Gold (H2H): the eyebrow dash is the page's one 48x3 gold rule (hub r6); no separate .lp-gold span. */
.lp-v2 .h2h-hero .eyebrow::before { width: 48px; height: 3px; background: var(--mp-gold); }
.lp-v2 .h2h-hero h1 { margin: var(--mp-space-4) 0 0; font-family: var(--mp-font-display); font-size: var(--mp-text-5xl); font-weight: 600; line-height: 1.08; letter-spacing: -0.015em; color: var(--mp-ink); }
.lp-v2 .h2h-hero h1 em { display: block; font-style: italic; color: var(--mp-acc-l); }
.lp-v2 .h2h-dek { margin: var(--mp-space-5) 0 0; max-width: 64ch; font-size: var(--mp-text-lg); line-height: 1.6; color: var(--mp-ink-2); }
.lp-v2 .h2h-asof { margin: var(--mp-space-4) 0 0; font-size: var(--mp-text-sm); line-height: 1.5; color: var(--mp-ink-2); }
.lp-v2 .h2h-note { margin: var(--mp-space-4) 0 0; font-size: var(--mp-text-sm); line-height: 1.5; color: var(--mp-ink-2); }

/* source refs: a small [n] after the sentence it backs; the brackets are drawn, so the page text carries none */
.lp-v2 .h2h-ref { font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; color: var(--mp-acc-s); text-decoration: none; white-space: nowrap; }
.lp-v2 .h2h-ref::before { content: "["; }
.lp-v2 .h2h-ref::after { content: "]"; }
.lp-v2 .h2h-ref:hover { text-decoration: underline; }
.lp-v2 .h2h-link { color: var(--mp-acc-s); text-underline-offset: 3px; }

/* section heads and prose */
.lp-v2 .h2h-head { max-width: 46rem; margin-bottom: var(--mp-space-8); }
.lp-v2 .h2h-head h2 { margin: 0; font-family: var(--mp-font-display); font-size: var(--mp-text-3xl); font-weight: 600; line-height: 1.2; color: var(--mp-ink); }
.lp-v2 .h2h-prose { display: flex; flex-direction: column; gap: var(--mp-space-4); max-width: 72ch; margin-bottom: var(--mp-space-4); }
.lp-v2 .h2h-prose p { margin: 0; font-size: var(--mp-text-base); line-height: 1.75; color: var(--mp-ink); }
.lp-v2 .h2h-sections { display: flex; flex-direction: column; gap: var(--mp-space-10); }
.lp-v2 .h2h-section h2 { margin: 0 0 var(--mp-space-4); font-family: var(--mp-font-display); font-size: var(--mp-text-2xl); font-weight: 600; line-height: 1.25; color: var(--mp-ink); }

/* the one table (comparison, alternatives, switching): vendor columns of one width and one type, MuniPro first */
.lp-v2 .h2h-table { width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; background: white; border: 1px solid var(--mp-line);
  border-radius: var(--mp-radius-md); box-shadow: var(--mp-shadow-sm); overflow: hidden; }
.lp-v2 .h2h-table thead th { padding: var(--mp-space-4) var(--mp-space-6); background: var(--mp-calm); border-bottom: 1px solid var(--mp-line); text-align: left; vertical-align: bottom;
  font-family: var(--mp-font-mono); font-size: 12px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mp-ink); }
.lp-v2 .h2h-table tbody th, .lp-v2 .h2h-table tbody td { padding: var(--mp-space-5) var(--mp-space-6); text-align: left; vertical-align: top; border-bottom: 1px solid var(--mp-line); }
.lp-v2 .h2h-table tbody:last-child th, .lp-v2 .h2h-table tbody:last-child td { border-bottom: 0; }
.lp-v2 .h2h-job { display: block; font-family: var(--mp-font-display); font-size: var(--mp-text-lg); font-weight: 600; line-height: 1.3; color: var(--mp-ink); }
.lp-v2 .h2h-cell { font-size: var(--mp-text-base); line-height: 1.6; color: var(--mp-ink); }
.lp-v2 .h2h-k { display: none; }

/* FAQ (H1 only): <details>, the answer always in the DOM */
.lp-v2 .h2h-faq .faq-item:first-of-type { border-top: 1px solid var(--mp-neutral-300); }
.lp-v2 .h2h-faq .faq-item summary { font-size: var(--mp-text-lg); color: var(--mp-ink); }
.lp-v2 .h2h-faq .faq-item .answer { padding-left: 0; color: var(--mp-ink-2); }
.lp-v2 .h2h-faq .faq-item .answer p { margin: 0; }
/* FAQ toggles: rule-strong circle, ink glyph, no gold when open (hub #5886 D1). */
.lp-v2 .faq-item summary .plus, .lp-v2 .faq-item[open] summary .plus { border-color: var(--mp-rule-strong); color: var(--mp-ink); background: transparent; }

/* sources: a numbered list in two columns, never folded; :target lights the one a ref opened */
.lp-v2 .h2h-sources { margin: 0 0 var(--mp-space-6); font-family: var(--mp-font-display); font-size: var(--mp-text-xl); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .h2h-srcs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--mp-space-12); margin: 0; padding: 0; list-style: none; }
.lp-v2 .h2h-srcs > li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: var(--mp-space-3); padding: var(--mp-space-4) var(--mp-space-2);
  border-top: 1px solid var(--mp-line); scroll-margin-top: 120px; }
.lp-v2 .h2h-srcs > li:target { background: var(--mp-sky); box-shadow: inset 3px 0 0 var(--mp-acc-s); }
.lp-v2 .h2h-srcs__n { font-family: var(--mp-font-mono); font-size: 13px; font-weight: 500; color: var(--mp-acc-s); }
.lp-v2 .h2h-srcs__b { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 0; }
.lp-v2 .h2h-srcs__t { font-size: var(--mp-text-sm); font-weight: 600; line-height: 1.4; color: var(--mp-ink); }
.lp-v2 .h2h-srcs__i { display: flex; flex-direction: column; gap: 6px; margin: 6px 0 0; padding: 0; list-style: none; }
.lp-v2 .h2h-srcs__i li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; min-width: 0; font-size: var(--mp-text-sm); line-height: 1.5; color: var(--mp-ink); }
.lp-v2 .h2h-srcs__l { color: var(--mp-ink); }
.lp-v2 .h2h-srcs__u { font-family: var(--mp-font-mono); font-size: 11px; line-height: 1.5; color: var(--mp-ink-2); text-decoration: none; overflow-wrap: anywhere; min-width: 0; }
.lp-v2 .h2h-srcs__u:hover { color: var(--mp-acc-s); text-decoration: underline; }

/* foot: C11 and the trademark and nominative-use lines */
.lp-v2 .h2h-foot { padding: var(--mp-space-10) var(--mp-space-6); background: white; }
.lp-v2 .h2h-foot .h2h-in { display: flex; flex-direction: column; gap: var(--mp-space-3); }
.lp-v2 .h2h-foot__c11 { margin: 0; font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-ink); }
.lp-v2 .h2h-foot__tm { margin: 0; font-size: 12px; line-height: 1.6; color: var(--mp-ink-2); }

/* the phone: one column, each table row one stacked card with every cell labelled (MuniPro first); no sideways scroll */
@media (max-width: 880px) {
  .lp-v2 .h2h-band { padding: var(--mp-space-10) var(--mp-space-5); }
  .lp-v2 .h2h-band--answer { padding-top: var(--mp-space-6); }
  .lp-v2 .h2h-hero { padding: var(--mp-space-8) var(--mp-space-5); }
  .lp-v2 .h2h-hero h1 { font-size: var(--mp-text-4xl); }
  .lp-v2 .h2h-dek { font-size: var(--mp-text-base); }
  .lp-v2 .h2h-head h2 { font-size: var(--mp-text-2xl); }
  .lp-v2 .h2h-ref { display: inline-block; padding: 4px 2px; }
  .lp-v2 .h2h-table, .lp-v2 .h2h-table tbody, .lp-v2 .h2h-table tr, .lp-v2 .h2h-table th, .lp-v2 .h2h-table td { display: block; width: auto; }
  .lp-v2 .h2h-table { border: 0; border-radius: 0; background: transparent; box-shadow: none; overflow: visible; }
  .lp-v2 .h2h-table colgroup, .lp-v2 .h2h-table thead { display: none; }
  .lp-v2 .h2h-table tbody { margin-bottom: var(--mp-space-4); border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-sm); }
  .lp-v2 .h2h-table tbody th { padding: var(--mp-space-5) var(--mp-space-5) var(--mp-space-2); border-bottom: 0; }
  .lp-v2 .h2h-table tbody td.h2h-cell { padding: var(--mp-space-3) var(--mp-space-5); border-bottom: 0; }
  .lp-v2 .h2h-table tbody td.h2h-cell:last-child { padding-bottom: var(--mp-space-5); }
  .lp-v2 .h2h-table tbody td.h2h-cell + td.h2h-cell { border-top: 1px solid var(--mp-line); }
  .lp-v2 .h2h-k { display: block; margin-bottom: 4px; font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mp-ink-2); }
  .lp-v2 .h2h-cell { font-size: var(--mp-text-sm); }
  .lp-v2 .h2h-srcs { grid-template-columns: minmax(0, 1fr); }
}

/* ---- home walk ---- */
/* The no-login walk band on the munipro.com home (design-hub g23 HOME_WALK / HOME_WALK_M, frame_l12), behind
   MUNIPRO_HOME_WALK_ENABLED. The band sits in <div class="lp-v2 mk hw-home"> so the brand v2 tokens and the l6-*
   viewer rules above apply inside it and the frame's .mk selectors port verbatim. CSS radios and labels; no script.
   The home's one gold is its hero; the band carries none, so its eyebrow rules and the end card's top rule are blue. */
.lp-v2.hw-home { min-height: 0; }
.mk.hw-home .eyebrow::before { background: var(--mp-primary-300); }
.mk .hw-btn, .mk .hw-go, .mk .hw-day { text-transform: none; letter-spacing: normal; }
.mk .hw-panel { display: none; }
.mk #walk-1:checked ~ .hw-stage .hw-panel--1 { display: block; }
.mk #walk-2:checked ~ .hw-stage .hw-panel--2 { display: block; }
.mk #walk-3:checked ~ .hw-stage .hw-panel--3 { display: block; }
.mk #walk-4:checked ~ .hw-stage .hw-panel--4 { display: block; }
.mk #walk-5:checked ~ .hw-stage .hw-panel--5 { display: block; }
.mk #walk-6:checked ~ .hw-stage .hw-panel--6 { display: block; }
.mk #walk-end:checked ~ .hw-stage .hw-panel--end { display: block; }
.mk #walk-1:checked ~ .hw-bar label[for="walk-1"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-2:checked ~ .hw-bar label[for="walk-2"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-3:checked ~ .hw-bar label[for="walk-3"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-4:checked ~ .hw-bar label[for="walk-4"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-5:checked ~ .hw-bar label[for="walk-5"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-6:checked ~ .hw-bar label[for="walk-6"] { border-color: var(--mp-primary-500); background: var(--mp-primary-50); color: var(--mp-primary-800); box-shadow: inset 0 -3px 0 var(--mp-primary-500); }
.mk #walk-1:checked ~ .hw-bar label[for="walk-1"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-2:checked ~ .hw-bar label[for="walk-2"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-3:checked ~ .hw-bar label[for="walk-3"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-4:checked ~ .hw-bar label[for="walk-4"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-5:checked ~ .hw-bar label[for="walk-5"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-6:checked ~ .hw-bar label[for="walk-6"] .hw-chip__n { background: var(--mp-primary-500); border-color: var(--mp-primary-500); color: white; }
.mk #walk-1:checked ~ .hw-bar .hw-count--1 { display: inline; }
.mk #walk-2:checked ~ .hw-bar .hw-count--2 { display: inline; }
.mk #walk-3:checked ~ .hw-bar .hw-count--3 { display: inline; }
.mk #walk-4:checked ~ .hw-bar .hw-count--4 { display: inline; }
.mk #walk-5:checked ~ .hw-bar .hw-count--5 { display: inline; }
.mk #walk-6:checked ~ .hw-bar .hw-count--6 { display: inline; }
.mk #walk-end:checked ~ .hw-bar .hw-count--end { display: inline; }
.mk #walk-1:focus-visible ~ .hw-bar label[for="walk-1"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-2:focus-visible ~ .hw-bar label[for="walk-2"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-3:focus-visible ~ .hw-bar label[for="walk-3"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-4:focus-visible ~ .hw-bar label[for="walk-4"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-5:focus-visible ~ .hw-bar label[for="walk-5"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-6:focus-visible ~ .hw-bar label[for="walk-6"] { outline: 3px solid #3D84EA; outline-offset: -3px; }
.mk #walk-end:focus-visible ~ .hw-stage .hw-end { outline: 3px solid #3D84EA; outline-offset: -3px; }
/* the band */
.mk .hw-band { background: white; padding: var(--mp-space-20) var(--mp-space-6); border-bottom: 1px solid var(--mp-line); scroll-margin-top: var(--mp-nav-height); }
.mk .hw-in { max-width: var(--mp-max-width); margin: 0 auto; }
.mk .hw-head { max-width: 46rem; margin-bottom: var(--mp-space-8); }
.mk .hw-head__k { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-4); }
.mk .hw-head h2 { margin: var(--mp-space-3) 0 0; font-family: var(--mp-font-display); font-size: var(--mp-text-4xl); font-weight: 600; line-height: 1.2222; color: var(--mp-ink); }
.mk .hw-head h2 em { font-style: italic; color: var(--mp-acc-s); }
.mk .hw-dek { margin: var(--mp-space-3) 0 0; font-size: var(--mp-text-lg); line-height: 1.6; color: var(--mp-ink-2); }

/* the radios: visually hidden, still focusable (arrow keys walk the group) */
.mk .hw-walk { position: relative; }
.mk .hw-r { position: absolute; top: 0; left: 0; width: 1px; height: 1px; margin: 0; padding: 0; opacity: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* the chapter jump: six chips on one track, equal widths, the counter at the row's end */
.mk .hw-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: var(--mp-space-5); }
.mk .hw-chips { display: grid; grid-template-columns: repeat(var(--hw-n, 6), minmax(0, 1fr)); gap: var(--mp-space-3); margin: 0; padding: 0; list-style: none; overflow-x: auto; }
.mk .hw-chips li { display: flex; min-width: 0; }
.mk .hw-chip { flex: 1; display: flex; align-items: center; gap: var(--mp-space-3); min-height: 60px; padding: var(--mp-space-3) var(--mp-space-4);
  border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); background: white; cursor: pointer;
  font-size: var(--mp-text-sm); font-weight: 600; line-height: 1.3; color: var(--mp-ink); transition: border-color 0.2s, background-color 0.2s; }
.mk .hw-chip:hover { border-color: var(--mp-primary-300); color: var(--mp-primary-700); }
.mk .hw-chip__n { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%;
  border: 1.5px solid var(--mp-primary-300); font-family: var(--mp-font-mono); font-size: 12px; font-weight: 500; color: var(--mp-primary-700); transition: background-color 0.2s; }
.mk .hw-chip__t { min-width: 0; }
.mk .hw-count { display: flex; align-items: center; justify-content: center; min-width: 96px; margin: 0; padding: 0 var(--mp-space-4);
  border-left: 1px solid var(--mp-line); font-family: var(--mp-font-mono); font-size: var(--mp-text-sm); letter-spacing: 0.08em; text-transform: uppercase; color: var(--mp-neutral-600); }
.mk .hw-count__s { display: none; white-space: nowrap; }
.mk .hw-count__t { display: none; }

/* the stage: one 16:9 box (frame_l6's viewer), the caption and Back / Next under it, on the same content column */
.mk .hw-stage { margin-top: var(--mp-space-6); }
.mk .hw-view.l6-view { margin: 0; }
.mk .hw-panel { animation: hw-in 0.25s ease-out; }
@keyframes hw-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.mk .hw-capline { display: flex; align-items: center; justify-content: space-between; gap: var(--mp-space-6); margin-top: var(--mp-space-5); }
.mk .hw-cap { margin: 0; font-size: var(--mp-text-lg); line-height: 1.5; color: var(--mp-ink-2); }
.mk .hw-cap b { font-family: var(--mp-font-display); font-weight: 600; color: var(--mp-ink); }
.mk .hw-nav { flex: none; display: flex; gap: var(--mp-space-3); }
.mk .hw-btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--mp-space-2); min-width: 112px; min-height: 44px; cursor: pointer; }
.mk .hw-btn.is-off { opacity: 0.4; cursor: default; pointer-events: none; }

/* step 5, drawn: the question, the connector's call, the answer and its source */
.mk .hw-ask { position: absolute; inset: 0; display: grid; place-items: center; padding: var(--mp-space-10) var(--mp-space-8) var(--mp-space-8); }
.mk .hw-ask__win { width: min(100%, 880px); border: 1px solid var(--mp-neutral-200); border-radius: var(--mp-radius-md); background: white; box-shadow: var(--mp-shadow-lg); overflow: hidden; }
.mk .hw-ask__bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-2); padding: 10px 16px; border-bottom: 1px solid var(--mp-neutral-200); background: var(--mp-neutral-50); }
.mk .hw-ask__k { margin-right: auto; font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mp-neutral-600); }
.mk .hw-ask__tool { padding: 2px 8px; border: 1px solid var(--mp-neutral-200); border-radius: 999px; background: white; font-size: 12px; color: var(--mp-neutral-700); }
.mk .hw-ask__body { display: flex; flex-direction: column; gap: var(--mp-space-5); padding: var(--mp-space-8); }
.mk .hw-ask__q { align-self: flex-end; max-width: 80%; margin: 0; padding: 12px 16px; border-radius: 14px 14px 4px 14px; background: var(--mp-primary-500); font-size: var(--mp-text-xl); line-height: 1.4; color: white; }
.mk .hw-ask__call { display: flex; align-items: center; gap: var(--mp-space-2); margin: 0; font-family: var(--mp-font-mono); font-size: 12px; color: var(--mp-neutral-600); }
.mk .hw-ask__call i { flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--mp-primary-500); animation: hw-pulse 1.6s ease-in-out infinite; }
@keyframes hw-pulse { 0%, 100% { box-shadow: 0 0 0 0 var(--mp-primary-200); } 50% { box-shadow: 0 0 0 5px var(--mp-primary-200); } }
.mk .hw-ask__a { align-self: flex-start; max-width: 88%; padding: 14px 18px; border: 1px solid var(--mp-primary-200); border-left: 3px solid var(--mp-primary-700); border-radius: 4px 14px 14px 14px; background: var(--mp-primary-50); }
.mk .hw-ask__a p { margin: 0; font-size: var(--mp-text-xl); line-height: 1.5; color: var(--mp-ink); }
.mk .hw-ask__a .hw-ask__src { display: flex; flex-wrap: wrap; gap: var(--mp-space-2); margin-top: var(--mp-space-3); padding-top: var(--mp-space-3); border-top: 1px solid var(--mp-primary-200);
  font-family: var(--mp-font-mono); font-size: 13px; line-height: 1.5; color: var(--mp-neutral-700); }
.mk .hw-ask__src b { font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; color: var(--mp-primary-700); }

/* step 6: the memo and the deck side by side */
.mk .hw-docs { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mk .hw-docs__c { position: relative; min-width: 0; }
.mk .hw-docs__c + .hw-docs__c { border-left: 1px solid var(--mp-neutral-200); }

/* the end card: same box, three equal actions on one track */
.mk .hw-end { display: flex; flex-direction: column; justify-content: center; gap: var(--mp-space-8); aspect-ratio: 16 / 9; padding: var(--mp-space-12);
  border: 1px solid var(--mp-neutral-200); border-top: 3px solid var(--mp-primary-500); border-radius: var(--mp-radius-sm); background: white; }
.mk .hw-end__head { text-align: center; }
.mk .hw-end h3 { margin: var(--mp-space-3) 0 0; font-family: var(--mp-font-display); font-size: var(--mp-text-5xl); font-weight: 600; line-height: 1.1; color: var(--mp-ink); }
.mk .hw-end h3 em { font-style: italic; color: var(--mp-acc-s); }
.mk .hw-acts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: auto 1fr auto; gap: 0 var(--mp-space-5); }
.mk .hw-act { display: grid; grid-row: span 3; grid-template-rows: subgrid; row-gap: var(--mp-space-3); padding: var(--mp-space-6);
  border: 1px solid var(--mp-line); border-radius: var(--mp-radius-md); background: var(--mp-warm-bg-alt); }
.mk .hw-act__k { font-family: var(--mp-font-mono); font-size: 11px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--mp-neutral-600); }
.mk .hw-act__p { margin: 0; font-size: var(--mp-text-base); line-height: 1.5; color: var(--mp-ink); }
.mk .hw-act__go { align-self: end; }
.mk .hw-go { display: flex; justify-content: center; width: 100%; }
.mk .hw-live { display: flex; flex-direction: column; gap: var(--mp-space-2); }
.mk .hw-live__t { font-size: var(--mp-text-sm); font-weight: 600; color: var(--mp-ink); }
.mk .hw-days { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--mp-space-2); }
.mk .hw-day { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 52px; padding: 6px 4px; text-transform: none; letter-spacing: 0; }
.mk .hw-day b { font-size: var(--mp-text-sm); font-weight: 600; }
.mk .hw-day small { font-size: 11px; font-weight: 400; line-height: 1.2; text-align: center; }

/* the compare row */
.mk .hw-cmp { background: white; padding: var(--mp-space-6) var(--mp-space-6); border-bottom: 1px solid var(--mp-line); }
.mk .hw-cmp__in { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-3) var(--mp-space-4); max-width: var(--mp-max-width); margin: 0 auto; font-size: var(--mp-text-base); }
.mk .hw-cmp__q { font-weight: 600; color: var(--mp-ink); }
.mk .hw-cmp__links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: var(--mp-space-2) var(--mp-space-3); }
.mk .hw-cmp__a { font-weight: 600; color: var(--mp-acc-s); text-decoration: underline; text-underline-offset: 3px; }
.mk .hw-cmp__dot { color: var(--mp-neutral-400); }

@media (prefers-reduced-motion: reduce) {
  .mk .hw-panel, .mk .hw-ask__call i { animation: none; }
  .mk .hw-chip, .mk .hw-chip__n { transition: none; }
}

/* the phone: chips scroll sideways inside their row (snap), the viewer full width, 44 px presses, the end card stacked */
@media (max-width: 880px) {
  .mk .hw-band { padding: var(--mp-space-12) var(--mp-space-4); }
  .mk .hw-head { margin-bottom: var(--mp-space-6); }
  .mk .hw-head h2 { font-size: var(--mp-text-3xl); }
  .mk .hw-dek { font-size: var(--mp-text-base); }
  .mk .hw-bar { grid-template-columns: minmax(0, 1fr); gap: var(--mp-space-3); }
  .mk .hw-count { order: -1; justify-content: flex-start; min-width: 0; padding: 0; border-left: 0; font-size: 12px; }
  .mk .hw-count__t { display: inline; text-transform: none; letter-spacing: 0.02em; color: var(--mp-ink); font-weight: 500; }
  .mk .hw-chips { display: flex; gap: var(--mp-space-2); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding: 0 var(--mp-space-4);
    margin: 0 calc(-1 * var(--mp-space-4)); padding: 0 var(--mp-space-4) var(--mp-space-2); scrollbar-width: thin; }
  .mk .hw-chips li { flex: 0 0 auto; scroll-snap-align: start; }
  .mk .hw-chip { justify-content: center; width: 48px; min-height: 48px; padding: 0; }
  .mk .hw-chip__t { display: none; }
  .mk .hw-chip__n { width: 30px; height: 30px; font-size: 13px; }
  .mk .hw-stage { margin-top: var(--mp-space-4); }
  .mk .hw-view.l6-view { padding: var(--mp-space-2); }
  .mk .hw-capline { flex-direction: column; align-items: stretch; gap: var(--mp-space-4); }
  .mk .hw-cap { font-size: var(--mp-text-base); }
  .mk .hw-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mk .hw-btn { min-width: 0; }
  .mk .hw-pic--free { aspect-ratio: auto; }
  .mk .hw-ask { position: relative; inset: auto; padding: var(--mp-space-8) var(--mp-space-2) var(--mp-space-2); }
  .mk .hw-ask__body { padding: var(--mp-space-4); gap: var(--mp-space-3); }
  .mk .hw-ask__q, .mk .hw-ask__a p { font-size: var(--mp-text-base); }
  .mk .hw-ask__q, .mk .hw-ask__a { max-width: 100%; }
  .mk .hw-end { aspect-ratio: auto; gap: var(--mp-space-6); padding: var(--mp-space-6) var(--mp-space-4); }
  .mk .hw-end h3 { font-size: var(--mp-text-3xl); }
  .mk .hw-acts { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: var(--mp-space-3); }
  .mk .hw-act__go { align-self: stretch; }
  .mk .hw-act { grid-row: auto; grid-template-rows: none; display: flex; flex-direction: column; padding: var(--mp-space-4); }
  .mk .hw-go, .mk .hw-day { min-height: 44px; }
  .mk .hw-cmp { padding: var(--mp-space-5) var(--mp-space-4); }
  .mk .hw-cmp__in { flex-direction: column; align-items: flex-start; }
}

/* ---- DL2 (design hub g23, tokens 2.0.3): buttons, the one gold moment, controls ---- */
/* Buttons: sentence case, Inter 600, radius 6. The header primary goes quiet (outline)
   when the hero has a filled one. */
.lp-v2 .btn { text-transform: none; letter-spacing: 0; font-family: var(--mp-font-body); font-weight: 600;
  border-radius: 6px; }
.lp-v2:has(.mk-hero .btn-accent, .w3-hero .btn-accent) .nav .nav-links .lp-nav__demo a.btn-accent,
:root .lp-v2:has(.mk-hero .btn-accent, .w3-hero .btn-accent) .nav .nav-links .lp-nav__demo a.btn-accent {
  background: transparent; color: var(--mp-action); border-color: var(--mp-action); }
/* Gold: one moment per page, the 48x3 rule over the hero H1 (markup: .lp-gold). */
.lp-v2 .lp-gold { display: block; width: 48px; height: 3px; margin: 0 0 var(--mp-space-4); background: var(--mp-gold); }
.lp-v2 .mk-hero .lp-gold { margin: var(--mp-space-4) auto; }
/* Form controls carry the DL2 control border. */
.lp-v2 :is(input:not([type="radio"]), select, textarea) { border-color: var(--mp-control-border); }
/* Header (DL2 drift r2): "Sign in" is a quiet text link; header buttons at weight 600. */
:root .lp-v2 .nav .nav-links a.lp-nav__text { padding: 6px 4px; border: 0; background: none; color: var(--mp-ink); font-weight: 500; text-decoration: none; }
:root .lp-v2 .nav .nav-links a.lp-nav__text:hover { color: var(--mp-action); text-decoration: underline; text-underline-offset: 3px; }
:root .lp-v2 .nav .nav-links a.btn { font-weight: 600; }
/* ---- family loops (templates/marketing/_launch_video.html): muted decorative brand videos. Under reduced motion the
       still shows and the video is hidden before any script runs; its sources match no-preference only, so none loads. ---- */
.lp-v2 .lp-vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.lp-v2 .lp-fv { position: relative; display: block; width: 100%; }
.lp-v2 .lp-fv__video, .lp-v2 .lp-fv__still { display: block; width: 100%; height: auto; }
.lp-v2 .lp-fv__video + .lp-fv__still { display: none; }
@media (prefers-reduced-motion: reduce) {
  .lp-v2 .lp-fv__video { display: none; }
  .lp-v2 .lp-fv__video + .lp-fv__still { display: block; }
}
/* Staff preview bar (templates/marketing/_staff_preview_banner.html): fixed at the top of a
   flag-off page. The height is set per width so the full sentence fits (one line, two, then
   three on a phone); the in-flow spacer pads the page by that height and the sticky nav sits
   under the bar, so nothing is covered. Gold on navy uses the page's own tokens. */
:root { --mp-staff-preview-h: 32px; }
@media (max-width: 820px) { :root { --mp-staff-preview-h: 44px; } }
@media (max-width: 420px) { :root { --mp-staff-preview-h: 60px; } }
.mp-staff-preview {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  box-sizing: border-box; height: var(--mp-staff-preview-h); overflow: hidden;
  display: flex; align-items: center; justify-content: center;
  padding: 0 var(--mp-space-4);
  background: var(--mp-accent-400); color: var(--mp-primary-900);
  border-bottom: 1px solid var(--mp-accent-600);
  font-family: var(--mp-font-body); font-size: var(--mp-text-xs); font-weight: 600; line-height: 16px;
  text-align: center;
}
.mp-staff-preview-spacer { height: var(--mp-staff-preview-h); }
.mp-staff-preview-spacer ~ .nav { top: var(--mp-staff-preview-h); }
/* The Family pages' sticky DL2 header sits under the bar the same way. */
.mp-staff-preview-spacer ~ #lp-family .dl-hdr { top: var(--mp-staff-preview-h); }
