/* =====================================================================
   pillpilot.ai · shared styles for content pages (PMS, comparison,
   solutions, blog). Same brand system as index.html — tokens, type, nav,
   footer, buttons, FAQ are lifted verbatim; content components (page hero,
   breadcrumb, prose, cards, comparison table) are new but in the same
   visual language. Served statically; no build step.
   ===================================================================== */

/* ---------- self-hosted fonts ---------------------------------------- */
@font-face{ font-family:'Bricolage Grotesque'; font-style:normal; font-weight:300 800; font-display:swap; src:url('/assets/fonts/bricolage-var.woff2') format('woff2'); }
@font-face{ font-family:'Satoshi'; font-style:normal; font-weight:400; font-display:swap; src:url('/assets/fonts/satoshi-400.woff2') format('woff2'); }
@font-face{ font-family:'Satoshi'; font-style:normal; font-weight:500; font-display:swap; src:url('/assets/fonts/satoshi-500.woff2') format('woff2'); }
@font-face{ font-family:'Satoshi'; font-style:normal; font-weight:700; font-display:swap; src:url('/assets/fonts/satoshi-700.woff2') format('woff2'); }
@font-face{ font-family:'Geist Mono'; font-style:normal; font-weight:400 500; font-display:swap; src:url('/assets/fonts/geistmono-400.woff2') format('woff2'); }

:root{
  --bg:#FAFAFB; --bg-alt:#F0F1F1; --card:#FFFFFF;
  --ink:#232327; --body:#424248; --mute:#63646C; --faint:#6A6B73;
  --line:#E3E3E6; --line-soft:#ECECEF;
  --blue:#3655E2; --blue-700:#21389C; --blue-900:#0F1D5A;
  --blue-50:#EFF0FD; --blue-100:#CFD3F9;
  --violet:#6D36E2; --violet-50:#F1EFFD;
  --cyan:#36ABE2; --cyan-600:#2884AF; --cyan-50:#EBF5FB;
  --emerald:#3AAE76; --emerald-700:#1B5E3E;
  --gold:#E2C336; --gold-700:#8C781E;
  --display:'Bricolage Grotesque','Satoshi',system-ui,sans-serif;
  --sans:'Satoshi','Inter',system-ui,-apple-system,sans-serif;
  --mono:'Geist Mono',ui-monospace,'SF Mono',monospace;
  --max:1180px; --pad-x:clamp(20px,4.5vw,64px); --section-y:clamp(72px,11vh,132px);
  --t-snap:160ms cubic-bezier(.3,.7,.3,1); --t-base:340ms cubic-bezier(.3,.7,.3,1);
  --t-slow:700ms cubic-bezier(.22,.7,.25,1); --ease-out:cubic-bezier(.16,1,.3,1);
  /* radius ladder — the capsule motif; cards 20, panels 18 */
  --radius-xs:5px; --radius-sm:7px; --radius-md:13px; --radius-lg:18px; --radius-xl:20px; --radius-capsule:999px;
  --shadow-card:0 1px 2px rgba(35,35,39,.04), 0 12px 40px rgba(35,35,39,.07);
  --shadow-pop:0 2px 6px rgba(15,29,90,.06), 0 24px 64px rgba(15,29,90,.12);
  --shadow-cta:0 10px 30px rgba(69,80,206,.28); --shadow-cta-hover:0 16px 40px rgba(54,85,226,.32);
  --shadow-inset-hi:inset 0 1px 0 rgba(255,255,255,.9);
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x:clip; }
html,body{ margin:0; padding:0; background:var(--bg); color:var(--body);
  font-family:var(--sans); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
body{ overflow-x:clip; }
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; border:0; cursor:pointer; background:none; color:inherit; }
::selection{ background:var(--blue); color:#fff; }
:focus-visible{ outline:2px solid var(--blue); outline-offset:3px; border-radius:2px; }
.skip-link{ position:absolute; left:-9999px; top:0; z-index:200; background:var(--blue-900);
  color:#fff; padding:10px 18px; border-radius:0 0 10px 0; font-size:14px; }
.skip-link:focus{ left:0; }

/* ---------- type ----------------------------------------------------- */
.display{ font-family:var(--display); font-weight:600; letter-spacing:-0.025em; line-height:1.04; color:var(--ink); }
.display em{ font-style:italic; font-weight:600; color:var(--blue); }
.eyebrow{ display:inline-flex; align-items:center; gap:13px; font-family:var(--sans);
  font-size:12px; letter-spacing:.13em; text-transform:uppercase; color:var(--mute); font-weight:600; }
.eyebrow::before{ content:""; width:26px; height:9px; flex:0 0 auto; background:center/contain no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 9'%3E%3Crect x='7' y='0' width='19' height='3' rx='1.5' fill='%234550CE'/%3E%3Crect x='0' y='6' width='13' height='3' rx='1.5' fill='%234550CE'/%3E%3C/svg%3E"); }
.eyebrow.on-dark{ color:rgba(255,255,255,.66); }
.eyebrow.on-dark::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 9'%3E%3Crect x='7' y='0' width='19' height='3' rx='1.5' fill='%2336ABE2'/%3E%3Crect x='0' y='6' width='13' height='3' rx='1.5' fill='%2336ABE2'/%3E%3C/svg%3E"); }
.lead{ font-size:clamp(17px,1.45vw,20px); line-height:1.65; color:var(--mute); max-width:60ch; }
.h1{ font-size:clamp(34px,5vw,60px); }
.h2{ font-size:clamp(28px,4vw,46px); }

/* ---------- shell ---------------------------------------------------- */
.shell{ width:100%; max-width:var(--max); margin:0 auto; padding:0 var(--pad-x); }
section{ padding:var(--section-y) 0; position:relative; }
.section-head{ max-width:820px; margin-bottom:clamp(40px,6vh,72px); }
.section-head .eyebrow{ margin-bottom:22px; }
.section-head h2{ margin:0 0 18px; }
.section-head p{ margin:0; }

/* ---------- nav ------------------------------------------------------ */
.nav{ position:sticky; top:0; z-index:100; isolation:isolate;
  background:rgba(250,250,251,.86); backdrop-filter:saturate(120%) blur(10px);
  -webkit-backdrop-filter:saturate(120%) blur(10px);
  border-bottom:1px solid var(--line-soft); }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:28px; }
.brand{ display:inline-flex; align-items:center; gap:10px; }
.brand img{ width:30px; height:31px; }
.brand-name{ font-family:var(--sans); font-size:21px; font-weight:700; letter-spacing:-0.025em; color:var(--ink); }
.nav-links{ display:flex; gap:30px; align-items:center; font-size:14.5px; font-weight:500; color:var(--body); }
.nav-links a{ padding:6px 0; transition:color var(--t-snap); }
.nav-links a:hover{ color:var(--blue); }
.nav-right{ display:flex; align-items:center; gap:12px; }
.nav-cta{ display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:999px;
  background:var(--ink); color:#fff; font-size:14.5px; font-weight:500; white-space:nowrap;
  transition:background var(--t-snap), transform var(--t-snap); }
.nav-cta:hover{ background:var(--blue); transform:translateY(-1px); }
.menu-btn{ display:none; width:44px; height:44px; align-items:center; justify-content:center; border-radius:10px; }
.menu-btn svg{ width:22px; height:22px; color:var(--ink); }
.menu-btn .x{ display:none; }
.mobile-menu{ display:none; border-top:1px solid var(--line-soft); background:var(--bg); padding:10px var(--pad-x) 26px; }
.mobile-menu a{ display:block; padding:15px 0; font-size:17px; font-weight:500; color:var(--ink); border-bottom:1px solid var(--line-soft); }
.mobile-menu a:last-child{ border-bottom:0; }
.nav.menu-open .mobile-menu{ display:block; }
.nav.menu-open .menu-btn .bars{ display:none; }
.nav.menu-open .menu-btn .x{ display:block; }
@media (max-width:860px){ .nav-links{ display:none; } .menu-btn{ display:inline-flex; } .nav-inner{ height:68px; } .nav-cta{ padding:9px 16px; font-size:13.5px; } }

/* ---------- buttons -------------------------------------------------- */
.btn{ display:inline-flex; align-items:center; gap:10px; padding:16px 28px; border-radius:999px;
  font-size:16px; font-weight:500; letter-spacing:-0.005em; white-space:nowrap;
  transition:transform var(--t-snap), box-shadow var(--t-snap), background var(--t-snap), color var(--t-snap); }
.btn-primary{ background:#4550CE; color:#fff; box-shadow:var(--shadow-cta); }
.btn-primary:hover{ background:#3841AE; transform:translateY(-2px); box-shadow:var(--shadow-cta-hover); }
.btn-ghost{ color:var(--ink); padding-left:10px; }
.btn-ghost:hover{ color:var(--blue); }
.btn .arrow{ transition:transform var(--t-snap); }
.btn:hover .arrow{ transform:translateX(4px); }
.btn-on-dark{ background:#fff; color:var(--blue-900); box-shadow:0 14px 36px rgba(0,0,0,.25); }
.btn-on-dark:hover{ background:var(--blue-50); transform:translateY(-2px); }

/* ---------- breadcrumb ----------------------------------------------- */
.crumb{ padding-top:clamp(20px,3vh,32px); display:flex; align-items:center; flex-wrap:wrap;
  font-family:var(--sans); font-weight:500; font-size:13px; color:var(--faint); }
.crumb a{ color:var(--mute); transition:color var(--t-snap); }
.crumb a:hover{ color:var(--blue); }
.crumb > span{ margin:0 8px; opacity:.5; }
.crumb-menu{ position:relative; display:inline-block; }
.crumb-menu summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center; gap:5px;
  color:var(--mute); transition:color var(--t-snap); }
.crumb-menu summary::-webkit-details-marker{ display:none; }
.crumb-menu summary::after{ content:""; width:10px; height:10px; background:center/10px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23656875' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4.5l3 3 3-3'/%3E%3C/svg%3E");
  transition:transform var(--t-snap); }
.crumb-menu summary:hover{ color:var(--blue); }
.crumb-menu summary:focus-visible{ outline:2px solid var(--blue); outline-offset:4px; border-radius:2px; }
.crumb-menu[open] summary{ color:var(--blue); }
.crumb-menu[open] summary::after{ transform:rotate(180deg); }
.crumb-menu-nav{ position:absolute; z-index:30; top:calc(100% + 10px); left:-10px;
  width:min(220px,calc(100vw - 32px)); margin:0; padding:8px; list-style:none; border:1px solid var(--line);
  border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-pop); }
.crumb-menu-nav a{ display:block; padding:9px 11px; border-radius:9px; color:var(--ink); font-size:13.5px; }
.crumb-menu-nav a:hover, .crumb-menu-nav a:focus-visible{ color:var(--blue); background:var(--blue-50); outline:none; }

/* ---------- page hero ------------------------------------------------ */
.page-hero{ padding:clamp(40px,7vh,80px) 0 clamp(40px,7vh,72px); position:relative; overflow:clip; }
.page-hero::before{ content:""; position:absolute; pointer-events:none; inset:-20% -10% auto auto; width:60%; height:120%;
  background:radial-gradient(70% 60% at 78% 30%, rgba(54,85,226,.08), rgba(54,85,226,0) 72%); z-index:0; }
/* signature dot field — the atmospheric constant (light orb over the soft glow) */
.page-orb{ position:absolute; inset:-24% -14% auto auto; width:min(660px,66%); height:170%;
  z-index:0; pointer-events:none; }
/* brand "medium" texture — right-biased, faded off the headline column */
.page-tex{ position:absolute; inset:0 -3% 0 auto; width:min(760px,58%); height:100%; z-index:0; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 2%, #000 46%); mask-image:linear-gradient(90deg, transparent 2%, #000 46%); }
@media (max-width:820px){ .page-tex{ width:74%; opacity:.7; } }
section.alt{ position:relative; overflow:hidden; }
section.alt > .shell{ position:relative; z-index:1; }

/* PolicyPanel — governance surface: toast + inline policy pills + toggles */
.policy{ position:relative; background:linear-gradient(180deg,#fff,#fcfcfe); border:1px solid var(--line);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-inset-hi), var(--shadow-pop); padding:26px 22px 8px; }
.policy .toast{ position:absolute; top:-17px; left:22px; display:inline-flex; align-items:center; gap:9px;
  background:var(--ink); color:#fff; border-radius:999px; padding:9px 15px; font-size:12.5px; font-weight:500;
  box-shadow:0 8px 24px rgba(15,29,90,.18); }
.policy .toast .dot{ width:7px; height:7px; border-radius:999px; background:var(--emerald);
  box-shadow:0 0 0 3px rgba(58,174,118,.22); }
.policy .toast .ts{ font-family:var(--mono); font-size:10.5px; color:rgba(255,255,255,.55); letter-spacing:.02em; }
.policy .phead{ display:flex; justify-content:space-between; align-items:center; gap:12px;
  padding:2px 2px 14px; border-bottom:1px solid var(--line-soft); }
.policy .phead .lbl{ font-family:var(--sans); font-weight:600; font-size:11px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--mute); display:inline-flex; align-items:center; gap:9px; }
.policy .phead .lbl::before{ content:""; width:15px; height:7px; border-radius:999px;
  background:linear-gradient(90deg, var(--blue) 54%, var(--blue-100) 54%); }
.policy .phead .code{ font-family:var(--mono); font-size:10.5px; color:var(--faint); }
.policy .stmt{ font-size:15.5px; line-height:1.85; color:var(--ink); margin:16px 2px 20px; }
.policy .pill{ display:inline-block; background:var(--ink); color:#fff; border-radius:999px;
  padding:2px 11px; font-size:13.5px; line-height:1.5; }
.policy .pill.out{ background:transparent; color:var(--ink); box-shadow:inset 0 0 0 1.5px var(--line); }
.policy .tog{ display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:14px 2px; border-top:1px solid var(--line-soft); font-size:14px; font-weight:500; color:var(--ink); }
.policy .tog.off{ color:var(--mute); }
.policy .sw{ width:38px; height:22px; border-radius:999px; background:var(--line); position:relative; flex:0 0 auto; }
.policy .sw::after{ content:""; position:absolute; top:3px; left:3px; width:16px; height:16px; border-radius:999px;
  background:#fff; box-shadow:0 1px 3px rgba(15,29,90,.3); transition:transform var(--t-base); }
.policy .sw.on{ background:var(--blue); } .policy .sw.on::after{ transform:translateX(16px); }

/* split hero: copy left, product panel right */
@keyframes pp-rail{ from{ transform:translateX(-110%); } to{ transform:translateX(360%); } }
.page-hero.split .hero-grid{ display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:clamp(34px,5vw,72px); align-items:center; position:relative; z-index:1; }
.page-hero.split .inner{ max-width:none; }
@media (max-width:900px){ .page-hero.split .hero-grid{ grid-template-columns:1fr; } .page-hero.split .hero-viz{ margin-top:6px; } }

/* Hero compositions share the same type and media system while changing the
   relationship between copy, atmosphere, and the meaningful product surface. */
.page-hero.hero-flagship .hero-grid{ grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); }
.page-hero.hero-flow .hero-grid{ grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); }
.page-hero.hero-compact{ padding-block:clamp(32px,5vh,56px); }
.page-hero.hero-compact .hero-grid{ grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); align-items:end; }
.page-hero.hero-offset .hero-grid{ grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr); align-items:start; }
.page-hero.hero-offset .hero-viz{ transform:translateY(30px); }
.page-hero.hero-editorial .inner{ max-width:850px; }
.page-hero.hero-editorial .page-tex{ width:min(860px,64%); opacity:.88; }
.page-hero.hero-reverse .inner{ order:2; }
.page-hero.hero-reverse .hero-viz{ order:1; }
.page-hero.hero-reverse .hero-grid{ grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr); }
.page-hero.hero-wide .hero-grid{ grid-template-columns:1fr; gap:34px; }
.page-hero.hero-wide .inner{ max-width:850px; }
.page-hero.hero-wide .hero-viz{ width:min(920px,100%); }

.page-hero.hero-dark{ background:#0c194b; }
.page-hero.hero-dark::before{ background:none; }
.page-hero.hero-dark .page-tex{ width:min(960px,74%); opacity:1; filter:brightness(1.28) saturate(1.08); }
.page-hero.hero-dark.solution-central-fill{ background:#0a1848; }
.page-hero.hero-dark.solution-central-fill .page-tex-blueprint-grid{ inset:0; width:100%; opacity:.9;
  filter:brightness(1.48) saturate(1.08); mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.5) 44%,#000 76%);
  mask-image:linear-gradient(90deg,rgba(0,0,0,.16),rgba(0,0,0,.5) 44%,#000 76%); }
.page-hero.hero-dark.solution-central-fill .page-tex-blueprint-ledger{ inset:5% -4% 3% auto;
  width:min(1180px,68%); height:92%; opacity:.72; filter:brightness(1.55) saturate(1.12);
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 24%,#000 62%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.5) 24%,#000 62%); }
@media (max-width:820px){
  .page-hero.hero-dark.solution-central-fill .page-tex-blueprint-grid{ width:100%; opacity:.75; }
  .page-hero.hero-dark.solution-central-fill .page-tex-blueprint-ledger{ width:94%; opacity:.55; }
}
.page-hero.hero-dark h1{ color:#fff; }
.page-hero.hero-dark .lead{ color:rgba(255,255,255,.72); }
.page-hero.hero-dark .eyebrow{ color:rgba(255,255,255,.6); }
.page-hero.hero-dark .eyebrow::before{ filter:brightness(1.5) saturate(1.15); }
.page-hero.hero-dark .btn-ghost{ color:#fff; }
.page-hero.hero-dark .assurance{ color:rgba(255,255,255,.62); }
.page-hero.hero-dark .assurance span::before{ color:var(--cyan); }
.page-hero.hero-dark .logo-tag{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.14); box-shadow:none; }
.page-hero.hero-dark .logo-tag img{ filter:brightness(0) invert(1); opacity:.82; }
.page-hero.hero-dark .logo-tag span{ color:rgba(255,255,255,.62); }

/* Custom solutions: a scoped drafting surface, rather than another generic
   product console. The same blueprint medium continues through the hero and
   the artifact while the ordered list remains ordinary, indexable content. */
.page-hero.solution-custom::before{ inset:-12% -6% auto auto; width:66%; height:118%;
  background:radial-gradient(65% 58% at 72% 42%,rgba(54,85,226,.11),rgba(54,85,226,0) 74%); }
.page-hero.solution-custom .page-tex{ inset:0 -1% 0 auto; width:min(860px,64%); opacity:.98;
  filter:brightness(1.12) saturate(1.08);
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.58) 28%,#000 58%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.58) 28%,#000 58%); }
.page-hero.solution-custom .hero-viz{ transform:translateY(10px); }
.page-hero.solution-custom .hero-viz::before{ content:""; position:absolute; z-index:-1; inset:-17px 20px 17px -20px;
  border:1px solid rgba(69,80,206,.16); border-radius:var(--radius-xl); transform:rotate(-1.2deg);
  background:rgba(255,255,255,.28); box-shadow:0 20px 55px rgba(15,29,90,.08); }

.sv-custom-scope .solution-viz-tex{ inset:-16%; width:132%; height:132%; opacity:.82;
  filter:brightness(1.35) saturate(1.1); }
.sv-custom-scope .sv-frame{ min-height:0; background:rgba(9,22,66,.93); }
.sv-custom-scope .sv-head{ padding-block:15px; }
.sv-body > .sv-custom-blueprint{ position:relative; min-height:214px; padding:18px;
  background:
    linear-gradient(rgba(138,211,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(138,211,255,.055) 1px,transparent 1px),
    linear-gradient(135deg,rgba(69,80,206,.08),transparent 58%);
  background-size:28px 28px,28px 28px,100% 100%; }
.sv-custom-blueprint::before,.sv-custom-blueprint::after{ content:""; position:absolute; pointer-events:none; }
.sv-custom-blueprint::before{ inset:18px; border:1px solid rgba(138,211,255,.12); border-radius:12px; }
.sv-custom-blueprint::after{ right:17px; top:17px; width:42px; height:42px;
  border-top:1px solid rgba(138,211,255,.28); border-right:1px solid rgba(138,211,255,.28); border-radius:0 11px 0 0; }
.sv-custom-blueprint ol{ position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr;
  grid-template-areas:"one two" "four three"; gap:12px; margin:0; padding:0; list-style:none; }
.sv-custom-blueprint li{ position:relative; display:grid; grid-template-columns:34px 1fr; gap:12px; align-items:center;
  min-height:78px; padding:14px; border:1px solid rgba(138,211,255,.15); border-radius:12px;
  background:rgba(255,255,255,.085); box-shadow:inset 0 1px rgba(255,255,255,.045); }
.sv-custom-blueprint li:nth-child(1){ grid-area:one; }
.sv-custom-blueprint li:nth-child(2){ grid-area:two; }
.sv-custom-blueprint li:nth-child(3){ grid-area:three; }
.sv-custom-blueprint li:nth-child(4){ grid-area:four; }
.sv-custom-blueprint li:not(:last-child)::after{ content:""; position:absolute; z-index:2; background:var(--cyan); opacity:.72; }
.sv-custom-blueprint li:nth-child(1)::after{ top:50%; right:-13px; width:13px; height:1px; }
.sv-custom-blueprint li:nth-child(2)::after{ left:50%; bottom:-13px; width:1px; height:13px; }
.sv-custom-blueprint li:nth-child(3)::after{ top:50%; left:-13px; width:13px; height:1px; }
.sv-custom-n{ display:grid; place-items:center; width:31px; height:31px; border:0;
  border-radius:8px; background:rgba(4,12,42,.72); color:var(--cyan); font-family:var(--mono); font-size:9.5px; }
.sv-custom-blueprint strong{ display:block; color:#fff; font-size:12.5px; line-height:1.25; }
.sv-custom-blueprint small{ display:block; margin-top:5px; color:rgba(255,255,255,.64); font-size:10px; line-height:1.35; }

@media (max-width:1040px){
  .page-hero.solution-custom .hero-grid{ grid-template-columns:1fr; }
  .page-hero.solution-custom .hero-viz{ width:min(720px,100%); }
  .page-hero.solution-custom .hero-viz{ transform:none; }
  .page-hero.solution-custom .page-tex{ width:88%; opacity:.78; }
}
@media (max-width:520px){
  .sv-custom-scope .sv-frame{ min-height:0; }
  .sv-body > .sv-custom-blueprint{ padding:14px; }
  .sv-custom-blueprint ol{ grid-template-columns:1fr; grid-template-areas:"one" "two" "three" "four"; gap:9px; }
  .sv-custom-blueprint li{ min-height:72px; }
  .sv-custom-blueprint li:nth-child(1)::after,.sv-custom-blueprint li:nth-child(2)::after,
  .sv-custom-blueprint li:nth-child(3)::after{ left:50%; right:auto; top:auto; bottom:-10px; width:1px; height:10px; }
  .page-hero.solution-custom .hero-viz::before{ inset:-10px 12px 10px -10px; }
}
@media (max-width:900px){
  .page-hero.hero-flagship .hero-grid,.page-hero.hero-flow .hero-grid,
  .page-hero.hero-compact .hero-grid,.page-hero.hero-offset .hero-grid,
  .page-hero.hero-reverse .hero-grid{ grid-template-columns:1fr; }
  .page-hero.hero-offset .hero-viz{ transform:none; }
  .page-hero.hero-reverse .inner{ order:1; }
  .page-hero.hero-reverse .hero-viz{ order:2; }
}

/* GlassPanel — the signature product surface (a live data-entry console) */
.gp{ position:relative; display:flex; flex-direction:column; overflow:hidden;
  background:linear-gradient(165deg,#ffffff,#f7f8fb); border:1px solid var(--line);
  border-radius:var(--radius-lg); box-shadow:var(--shadow-inset-hi), var(--shadow-pop); }
.gp-head{ display:flex; align-items:center; justify-content:space-between; padding:13px 17px;
  border-bottom:1px solid var(--line-soft); background:rgba(255,255,255,.5);
  font-family:var(--sans); font-weight:600; font-size:11px; color:var(--mute); letter-spacing:.035em; }
.gp-tag{ display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-weight:500; }
.gp-tag::before{ content:""; width:13px; height:7px; border-radius:999px; background:linear-gradient(90deg, var(--blue) 55%, var(--blue-100) 55%); }
.gp-dest{ color:var(--blue); font-family:var(--mono); font-size:10.5px; }
.gp-fields{ padding:8px 17px 12px; display:grid; }
.gp-row{ display:grid; grid-template-columns:84px 1fr auto; gap:12px; align-items:baseline; padding:8px 0; border-bottom:1px solid var(--line-soft);
  opacity:0; transform:translateY(3px); animation:gp-in .5s var(--ease-out) forwards; }
.gp-row:nth-child(2){ animation-delay:.09s; } .gp-row:nth-child(3){ animation-delay:.18s; }
.gp-row:nth-child(4){ animation-delay:.27s; } .gp-row:nth-child(5){ animation-delay:.36s; } .gp-row:nth-child(6){ animation-delay:.45s; }
@keyframes gp-in{ to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .gp-row{ opacity:1; transform:none; animation:none; } }
.gp-row:last-child{ border-bottom:0; }
.gp-row .k{ font-family:var(--mono); font-size:11px; color:var(--faint); }
.gp-row .v{ font-size:13.5px; color:var(--ink); font-weight:500; }
.gp-row .ok{ font-family:var(--mono); font-size:9.5px; letter-spacing:.05em; color:var(--emerald-700); white-space:nowrap; display:inline-flex; align-items:center; gap:5px; }
.gp-row .ok::before{ content:"✓"; font-size:9.5px; line-height:1; }
.gp-foot{ display:flex; gap:16px; flex-wrap:wrap; align-items:center; padding:12px 17px; border-top:1px solid var(--line-soft);
  background:rgba(250,250,251,.6); font-family:var(--mono); font-size:10.5px; color:var(--mute); }
.gp-foot .ms{ color:var(--blue); }
.gp-foot .done{ color:var(--emerald-700); margin-left:auto; display:inline-flex; align-items:center; gap:6px; }
.gp-foot .done::before{ content:"✓"; font-size:9.5px; line-height:1; }
.gp-rail{ position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--blue-50); overflow:hidden; pointer-events:none; }
.gp-rail::after{ content:""; position:absolute; top:0; bottom:0; left:0; width:42%; border-radius:999px;
  background:linear-gradient(90deg, transparent, rgba(54,85,226,.9), transparent); animation:pp-rail 2.6s linear infinite; }
@media (prefers-reduced-motion:reduce){ .gp-rail::after{ animation:none; } }
.gp-rail.violet{ background:var(--violet-50); } .gp-rail.violet::after{ background:linear-gradient(90deg,transparent,rgba(109,54,226,.85),transparent); }
.gp-rail.cyan{ background:var(--cyan-50); } .gp-rail.cyan::after{ background:linear-gradient(90deg,transparent,rgba(40,132,175,.85),transparent); }

/* dark GlassPanel — a navy instrument surface (used sparingly for accent) */
.gp.dark{ background:rgba(8,18,53,.92); border-color:rgba(138,211,255,.18);
  box-shadow:0 2px 6px rgba(0,0,0,.22), 0 24px 64px rgba(8,16,50,.42); color:#fff; }
.gp.dark .gp-head{ background:rgba(255,255,255,.04); border-bottom-color:rgba(255,255,255,.1); color:rgba(255,255,255,.6); }
.gp.dark .gp-tag{ color:#fff; } .gp.dark .gp-tag::before{ background:linear-gradient(90deg, var(--cyan) 55%, rgba(255,255,255,.3) 55%); }
.gp.dark .gp-dest{ color:var(--blue-100); }
.gp.dark .gp-row{ border-bottom-color:rgba(255,255,255,.08); }
.gp.dark .gp-row .k{ color:rgba(255,255,255,.5); } .gp.dark .gp-row .v{ color:#fff; }
.gp.dark .gp-foot{ background:rgba(255,255,255,.03); border-top-color:rgba(255,255,255,.1); color:rgba(255,255,255,.55); }
.gp.dark .gp-foot .ms{ color:var(--blue-100); } .gp.dark .gp-foot .done{ color:#6fe0a6; }
.gp.dark .gp-rail{ background:rgba(255,255,255,.08); }

/* Bespoke solution artifacts. The outer frame is shared for family
   resemblance; every route gets a different semantic information model. */
.solution-viz{ position:relative; min-width:0; margin:0; isolation:isolate; }
.solution-viz-tex{ position:absolute; z-index:-1; inset:-10%; width:120%; height:120%;
  opacity:.34; pointer-events:none; filter:saturate(1.08); }
.solution-viz.dark .solution-viz-tex{ opacity:.82; filter:brightness(1.35) saturate(1.12); }
.sv-frame{ position:relative; overflow:hidden; display:flex; min-height:300px; flex-direction:column;
  border:1px solid var(--line); border-radius:var(--radius-xl); background:rgba(255,255,255,.94);
  box-shadow:var(--shadow-inset-hi),var(--shadow-pop); }
.solution-viz.dark .sv-frame{ color:#fff; background:rgba(7,17,51,.9);
  border-color:rgba(138,211,255,.18); box-shadow:inset 0 1px rgba(255,255,255,.06),0 26px 64px rgba(5,12,37,.38); }
.sv-head{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 17px;
  border-bottom:1px solid var(--line-soft); background:rgba(255,255,255,.62); }
.solution-viz.dark .sv-head{ border-color:rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
.sv-kicker,.sv-meta,.sv-frame figcaption{ font-family:var(--mono); font-size:9.5px; letter-spacing:.065em; }
.sv-kicker{ display:inline-flex; align-items:center; gap:8px; color:var(--ink); text-transform:uppercase; }
.sv-kicker::before{ content:""; width:14px; height:6px; border-radius:999px; background:var(--blue); }
.solution-viz.dark .sv-kicker{ color:#fff; }
.solution-viz.dark .sv-kicker::before{ background:var(--cyan); }
.sv-meta{ color:var(--blue); text-align:right; }
.solution-viz.dark .sv-meta{ color:var(--blue-100); }
.sv-body{ flex:1; min-height:0; }
.sv-body > section{ padding:0; }
.sv-frame figcaption{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 18px;
  padding:12px 17px; border-top:1px solid var(--line-soft); color:var(--blue); background:rgba(250,250,251,.7); }
.solution-viz.dark .sv-frame figcaption{ border-color:rgba(255,255,255,.1); color:var(--cyan);
  background:rgba(255,255,255,.035); }
.sv-body h3{ margin:0; font-family:var(--display); color:var(--ink); letter-spacing:-.01em; }
.solution-viz.dark .sv-body h3{ color:#fff; }
.sv-body p{ margin:0; color:var(--mute); font-size:11.5px; line-height:1.5; }
.solution-viz.dark .sv-body p{ color:rgba(255,255,255,.62); }

/* Multi-store: central standard plus a location matrix. */
.sv-fleet .solution-viz-tex{ opacity:.68; }
.sv-fleet-map{ display:grid; grid-template-columns:.82fr 1.18fr; min-height:238px; }
.sv-fleet-standard{ display:flex; flex-direction:column; justify-content:center; padding:24px;
  border-right:1px solid rgba(255,255,255,.1); background:rgba(69,80,206,.12); }
.sv-fleet-standard > span,.sv-rulebook header span,
.sv-reject-triage header span,.sv-sync-calendar header span,.sv-care-summary > span,
.sv-pa-flag > span,.sv-benefit-split > span{ margin-bottom:9px; font-family:var(--mono); font-size:9px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--cyan); }
.sv-fleet-standard h3{ font-size:22px; line-height:1.05; }
.sv-fleet-standard p{ margin-top:12px; }
.sv-site-grid{ list-style:none; margin:0; padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sv-site-grid li{ display:flex; min-width:0; flex-direction:column; justify-content:center; padding:13px;
  border:1px solid rgba(255,255,255,.1); border-radius:12px; background:rgba(255,255,255,.045); }
.sv-site-id{ margin-bottom:9px; font-family:var(--mono); font-size:9px; color:var(--blue-100); }
.sv-site-grid strong{ color:#fff; font-size:11.5px; line-height:1.3; }
.sv-site-grid small{ margin-top:5px; color:rgba(255,255,255,.48); font-size:9.5px; }

/* Keep monospace as a quiet data accent rather than the primary interface
   voice on the two operational maps. */
.sv-fleet .sv-kicker,.sv-fleet .sv-meta,.sv-fleet-standard > span,.sv-site-id,
.sv-throughput .sv-kicker,.sv-throughput .sv-meta,.sv-lane-board span,
.sv-exception-branch span{ font-family:var(--sans); }
.sv-fleet .sv-kicker,.sv-throughput .sv-kicker{ font-weight:700; letter-spacing:.07em; }
.sv-fleet .sv-meta,.sv-throughput .sv-meta{ font-weight:550; letter-spacing:.015em; }
.sv-fleet-standard > span,.sv-site-id,.sv-lane-board span,.sv-exception-branch span{
  font-weight:650; letter-spacing:.035em; }

/* Central fill: a horizontal throughput board with a deliberate exception branch. */
.sv-throughput .solution-viz-tex{ opacity:1; filter:brightness(1.55) saturate(1.15); }
.sv-throughput .sv-frame{ min-height:0; }
.sv-throughput-board{ padding:18px; }
.sv-lane-board{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(5,15,48,.68); }
.sv-lane-board li{ position:relative; padding:17px 12px; border-right:1px solid rgba(255,255,255,.1); }
.sv-lane-board li:last-child{ border-right:0; }
.sv-lane-board li:not(:last-child)::after{ content:""; position:absolute; right:-4px; top:24px;
  width:7px; height:7px; border-radius:50%; background:var(--cyan); box-shadow:0 0 0 4px #0a1848; }
.sv-lane-board span{ display:block; margin-bottom:23px; font-family:var(--mono); color:var(--cyan); font-size:9px; }
.sv-lane-board strong{ display:block; color:#fff; font-size:12px; }
.sv-lane-board small{ display:block; margin-top:6px; color:rgba(255,255,255,.46); font-size:9.5px; line-height:1.35; }
.sv-exception-branch{ display:grid; grid-template-columns:120px 1fr 1.5fr; gap:14px; align-items:center;
  margin-top:10px; padding:11px 13px; border:1px solid rgba(230,207,106,.2); border-radius:10px;
  background:rgba(230,207,106,.06); }
.sv-exception-branch span{ font-family:var(--mono); color:#e6cf6a; font-size:9px; text-transform:uppercase; }
.sv-exception-branch strong{ color:#fff; font-size:11px; }
.sv-exception-branch p{ font-size:9.5px; }

/* LTC: one strong cadence board, with routine work and pharmacist review
   separated by responsibility instead of another tiny calendar table. */
.sv-cycle .sv-head{ display:none; }
.sv-cycle .sv-frame{ min-height:0; }
.sv-cycle .sv-cycle-board{ display:grid; gap:10px; padding:16px; }
.sv-cycle-board > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.sv-cycle-board > header > div > span{ display:block; margin-bottom:5px; color:var(--blue-700);
  font-family:var(--sans); font-size:9.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.sv-cycle-board h3{ max-width:240px; font-size:24px; line-height:1.02; }
.sv-cycle-board h3 em{ color:var(--blue); font-style:italic; }
.sv-cycle-status{ flex:0 0 auto; padding:6px 9px; border-radius:999px; color:var(--blue-700);
  background:var(--blue-50); font-family:var(--sans); font-size:9.5px; font-weight:650; }
.sv-cycle-routine{ overflow:hidden; border:1px solid var(--blue-100); border-radius:15px; background:#F8F9FF; }
.sv-cycle-lane-head{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:8px 11px; border-bottom:1px solid var(--blue-100); }
.sv-cycle-lane-head span{ color:var(--blue-700); font-size:10px; font-weight:700; }
.sv-cycle-lane-head strong{ color:var(--mute); font-size:9.5px; font-weight:600; }
.sv-cycle-routine ol{ list-style:none; display:grid; grid-template-columns:repeat(3,1fr); margin:0; padding:0; }
.sv-cycle-routine li{ display:grid; grid-template-columns:auto 1fr; gap:8px; min-width:0; padding:10px 9px;
  border-right:1px solid var(--blue-100); }
.sv-cycle-routine li:last-child{ border-right:0; }
.sv-cycle-routine li > span{ display:flex; align-items:center; justify-content:center; width:23px; height:23px;
  border-radius:8px; color:#fff; background:var(--blue); font-family:var(--sans); font-size:9px; font-weight:700; }
.sv-cycle-routine li strong{ display:block; color:var(--ink); font-size:11.5px; line-height:1.2; }
.sv-cycle-routine li small{ display:block; margin-top:4px; color:var(--faint); font-size:9px; line-height:1.3; }
.sv-cycle-review{ display:grid; grid-template-columns:minmax(130px,.9fr) minmax(0,1.1fr); gap:14px; align-items:center;
  padding:11px 13px; border-radius:14px; color:#fff; background:var(--blue-900); }
.sv-cycle-review span{ display:block; margin-bottom:4px; color:var(--cyan); font-size:9px; font-weight:700;
  letter-spacing:.08em; text-transform:uppercase; }
.sv-cycle-review strong{ display:block; color:#fff; font-family:var(--display); font-size:14px; line-height:1.15; }
.sv-cycle-review p{ color:rgba(255,255,255,.68); font-size:9.5px; line-height:1.4; }
.sv-cycle .sv-frame figcaption{ font-family:var(--sans); font-size:9.5px; font-weight:650; letter-spacing:.01em;
  padding:10px 15px; color:var(--blue-700); background:#fff; }

/* Adherence: transcript and write-back outcome share the same contact record. */
.sv-outreach .solution-viz-tex{ opacity:.5; }
.sv-outreach-record{ display:grid; grid-template-columns:1.25fr .75fr; min-height:238px; }
.sv-outreach-record > header{ grid-column:1/-1; display:flex; justify-content:space-between; padding:11px 15px;
  border-bottom:1px solid var(--line-soft); font-family:var(--mono); font-size:9px; }
.sv-channel{ color:var(--blue); text-transform:uppercase; }
.sv-contact-state{ color:var(--emerald-700); }
.sv-transcript{ display:flex; flex-direction:column; gap:9px; padding:16px; border-right:1px solid var(--line-soft); }
.sv-transcript p{ max-width:88%; padding:9px 11px; border-radius:12px; font-size:10.5px; }
.sv-transcript .agent{ align-self:flex-end; color:#fff; background:var(--blue); border-bottom-right-radius:4px; }
.sv-transcript .patient{ color:var(--ink); background:var(--bg-alt); border-bottom-left-radius:4px; }
.sv-outcome{ display:flex; flex-direction:column; justify-content:center; padding:17px; }
.sv-outcome > span{ margin-bottom:8px; font-family:var(--mono); font-size:9px; color:var(--violet); text-transform:uppercase; }
.sv-outcome h3{ font-size:18px; }
.sv-outcome p{ margin-top:9px; }

/* 340B: one connected program-rule trace instead of a generic 2x2 card grid. */
.sv-rulebook > .sv-frame > .sv-head{ display:none; }
.sv-rulebook .sv-frame,.solution-viz.dark.sv-rulebook .sv-frame{ overflow:visible; min-height:0; border:0;
  border-radius:0; background:transparent; box-shadow:none; }
.sv-rulebook .solution-viz-tex{ inset:-6% -3%; width:106%; height:112%; opacity:.9; }
.sv-rulebook-board{ padding:14px 0 4px; }
.sv-rulebook-board > header{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px;
  margin-bottom:8px; padding:0 0 15px; border-bottom:1px solid rgba(255,255,255,.1); }
.sv-rulebook-board > header span{ display:block; margin-bottom:5px; color:var(--cyan); font-family:var(--sans);
  font-size:9px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sv-rulebook-board h3{ font-size:25px; line-height:1; }
.sv-rule-scope{ flex:0 0 auto; padding:6px 9px; border-radius:999px; color:var(--blue-100);
  background:rgba(138,211,255,.1); font-size:9px; font-weight:650; }
.sv-rulebook-board dl{ position:relative; margin:0; }
.sv-rulebook-board dl::before{ content:""; position:absolute; left:13px; top:16px; bottom:16px; width:1px;
  background:linear-gradient(var(--cyan),rgba(138,211,255,.18)); }
.sv-rulebook-board dl > div{ position:relative; display:grid; grid-template-columns:minmax(118px,.9fr) minmax(0,1.1fr);
  align-items:center; gap:16px; min-height:48px; padding:9px 4px 9px 38px;
  border-bottom:1px solid rgba(255,255,255,.085); }
.sv-rulebook-board dl > div:last-child{ border-bottom:0; }
.sv-rulebook-board dt{ display:flex; min-width:0; align-items:center; gap:10px; color:#fff; font-size:11px; font-weight:650; }
.sv-rulebook-board dt > span{ position:absolute; left:0; display:grid; place-items:center; width:27px; height:27px;
  border-radius:8px; color:var(--cyan); background:#081335; font-size:8.5px; font-weight:700; }
.sv-rulebook-board dd{ min-width:0; margin:0; display:grid; grid-template-columns:minmax(62px,.7fr) minmax(0,1.3fr);
  align-items:baseline; gap:10px; }
.sv-rulebook-board dd strong{ color:#fff; font-size:11.5px; }
.sv-rulebook-board dd span{ min-width:0; color:rgba(255,255,255,.64); font-size:9.5px; text-align:right; }

.page-hero.solution-340b.hero-wide .hero-viz{ width:min(1000px,100%); }
@media (max-width:640px){
  .sv-rulebook .solution-viz-tex{ inset:-4% -8%; width:116%; height:108%; }
  .sv-rulebook-board{ padding-top:8px; }
  .sv-rulebook-board > header{ align-items:center; gap:10px; }
  .sv-rulebook-board h3{ font-size:24px; }
  .sv-rule-scope{ padding:5px 8px; font-size:8px; }
  .sv-rulebook-board dl > div{ grid-template-columns:minmax(112px,.9fr) minmax(0,1.1fr);
    gap:10px; min-height:52px; padding:10px 0 10px 36px; }
  .sv-rulebook-board dt{ gap:8px; font-size:10.5px; }
  .sv-rulebook-board dt > span{ width:25px; height:25px; }
  .sv-rulebook-board dd{ grid-template-columns:minmax(62px,.8fr) minmax(0,1.2fr); gap:7px; }
  .sv-rulebook-board dd strong{ font-size:10.5px; }
  .sv-rulebook-board dd span{ font-size:8.5px; }
}
@media (max-width:420px){
  .sv-rulebook-board > header{ flex-wrap:wrap; }
  .sv-rulebook-board dl > div{ grid-template-columns:1fr; gap:3px; padding:12px 0 12px 36px; }
  .sv-rulebook-board dd{ display:flex; justify-content:space-between; gap:12px; }
  .sv-rulebook-board dd span{ overflow-wrap:anywhere; text-align:right; }
}

/* Shared consent-aware Calendly booking dialog. */
body.booking-open{ overflow:hidden; }
.booking-modal[hidden]{ display:none; }
.booking-modal{ position:fixed; inset:0; z-index:300; display:grid; place-items:center; padding:16px; }
.booking-modal__backdrop{ position:absolute; inset:0; background:rgba(20,21,28,.72); backdrop-filter:blur(6px); }
.booking-modal__panel{ position:relative; width:min(1040px,100%); max-height:calc(100vh - 32px); padding:0;
  overflow:auto; background:var(--card); border:1px solid rgba(255,255,255,.45); border-radius:22px;
  box-shadow:0 28px 80px rgba(15,18,35,.3); }
.booking-modal__header{ display:flex; align-items:flex-start; justify-content:space-between; gap:24px;
  padding:22px 26px 16px; border-bottom:1px solid var(--line-soft); }
.booking-modal__header .eyebrow{ color:var(--blue); }
.booking-modal__header h2{ margin:6px 0 0; color:var(--ink); font-family:var(--display);
  font-size:clamp(22px,3vw,32px); font-weight:600; letter-spacing:-.025em; line-height:1.15; }
.booking-modal__close{ flex:0 0 auto; display:grid; place-items:center; width:42px; height:42px; padding:0;
  color:var(--ink); background:var(--bg-alt); border:1px solid var(--line); border-radius:50%; cursor:pointer; }
.booking-modal__close:hover{ background:#e7e8ea; }
.booking-modal__close:focus-visible{ outline:3px solid rgba(54,85,226,.35); outline-offset:2px; }
.booking-modal__embed{ min-width:320px; height:700px; }
.booking-modal__embed iframe{ min-height:700px; }
.booking-modal__loading{ height:100%; min-height:610px; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:10px; padding:32px; text-align:center; color:var(--mute);
  background:radial-gradient(circle at 50% 38%,rgba(54,85,226,.09),transparent 34%),var(--card); }
.booking-modal__loading-logo{ position:relative; display:grid; place-items:center; width:68px; height:68px;
  margin-bottom:8px; background:var(--card); border:1px solid rgba(54,85,226,.18); border-radius:50%;
  box-shadow:0 12px 34px rgba(54,85,226,.14); }
.booking-modal__loading-logo::after{ content:""; position:absolute; inset:-6px; border:2px solid rgba(54,85,226,.12);
  border-top-color:var(--blue); border-radius:50%; animation:booking-loader-spin .9s linear infinite; }
.booking-modal__loading-logo img{ display:block; width:38px; height:39px; }
.booking-modal__loading strong{ color:var(--ink); font-family:var(--display); font-size:20px; font-weight:600;
  letter-spacing:-.015em; }
.booking-modal__loading>span:last-child{ font-size:14px; }
@keyframes booking-loader-spin{ to{ transform:rotate(360deg); } }
@media (max-width:640px){
  .booking-modal{ place-items:start center; padding:12px 8px 8px; }
  .booking-modal__panel{ max-height:calc(100vh - 20px); max-height:calc(100dvh - 20px); border-radius:16px; }
  .booking-modal__header{ padding:20px 16px 12px; }
  .booking-modal__header h2{ font-size:21px; }
  .booking-modal__embed{ min-width:0; height:calc(100vh - 113px); height:calc(100dvh - 113px); min-height:610px; }
  .booking-modal__embed iframe{ min-height:610px; }
}

/* Prior auth: a source document feeding a visible route. */
.sv-pa-document{ display:grid; grid-template-columns:.78fr 1.22fr; min-height:238px; }
.sv-pa-flag{ display:flex; flex-direction:column; justify-content:center; padding:20px;
  border-right:1px solid var(--line-soft); background:var(--blue-50); }
.sv-pa-flag > span{ color:var(--blue); }
.sv-pa-flag h3{ font-size:23px; }
.sv-pa-flag p{ margin-top:10px; }
.sv-pa-document ol{ list-style:none; margin:0; padding:14px; display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sv-pa-document li{ padding:11px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.78); }
.sv-pa-document li > span{ display:block; margin-bottom:13px; font-family:var(--mono); color:var(--blue); font-size:9px; }
.sv-pa-document li strong{ display:block; color:var(--ink); font-size:11px; }
.sv-pa-document li small{ display:block; margin-top:4px; color:var(--faint); font-size:9px; }

/* MTM: a care-plan workspace rather than another process queue. */
.sv-care-plan .solution-viz-tex{ opacity:.92; filter:brightness(1.45); }
.sv-care-workspace{ display:grid; grid-template-columns:1fr 1fr; min-height:238px; }
.sv-care-summary{ padding:21px; border-right:1px solid rgba(255,255,255,.1); background:rgba(109,54,226,.08); }
.sv-care-summary h3{ font-size:20px; }
.sv-care-summary p{ margin-top:9px; }
.sv-care-summary dl{ margin:16px 0 0; }
.sv-care-summary dl > div{ display:flex; justify-content:space-between; gap:14px; padding:8px 0;
  border-top:1px solid rgba(255,255,255,.1); font-size:9.5px; }
.sv-care-summary dt{ color:rgba(255,255,255,.55); }
.sv-care-summary dd{ margin:0; color:var(--cyan); }
.sv-care-tasks{ list-style:none; margin:0; padding:14px; display:grid; align-content:center; gap:8px; }
.sv-care-tasks li{ display:grid; grid-template-columns:30px 1fr; gap:10px; align-items:center; padding:11px;
  border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.045); }
.sv-care-tasks strong{ font-family:var(--mono); color:var(--cyan); font-size:9px; }
.sv-care-tasks span{ color:#fff; font-size:10.5px; }

/* Claims: reject-code cards plus an explicit resolution path. */
.sv-rejects .solution-viz-tex{ opacity:.96; filter:brightness(1.5) saturate(1.1); }
.sv-reject-triage{ padding:16px; }
.sv-reject-triage header{ display:flex; align-items:end; justify-content:space-between; margin-bottom:11px; }
.sv-reject-triage header span{ margin:0; }
.sv-reject-triage h3{ font-size:20px; }
.sv-reject-triage ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
.sv-reject-triage li{ display:grid; grid-template-columns:34px 1fr; gap:9px; padding:11px;
  border:1px solid rgba(255,255,255,.11); border-radius:10px; background:rgba(255,255,255,.045); }
.sv-reject-code{ display:flex; align-items:center; justify-content:center; width:32px; height:32px;
  border-radius:8px; color:var(--cyan); background:rgba(54,171,226,.12); font-family:var(--mono); font-size:10px; }
.sv-reject-triage li strong{ display:block; color:#fff; font-size:10px; line-height:1.3; }
.sv-reject-triage li small{ display:block; margin-top:4px; color:rgba(255,255,255,.44); font-size:8.5px; line-height:1.35; }
.sv-resolution-path{ margin-top:9px; padding:10px 12px; border-radius:9px; background:rgba(54,171,226,.08);
  color:rgba(255,255,255,.66); font-size:9.5px; text-align:center; }
.sv-resolution-path span{ padding:0 8px; color:var(--cyan); }

/* Med sync: a four-window appointment cadence with aligned medications. */
.sv-sync-calendar{ padding:16px; }
.sv-sync-calendar header{ display:flex; justify-content:space-between; align-items:end; margin-bottom:12px; }
.sv-sync-calendar header span{ margin:0; color:var(--blue); }
.sv-sync-calendar h3{ font-size:20px; }
.sv-sync-calendar ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,1fr); gap:7px; }
.sv-sync-calendar li{ padding:12px 9px; border:1px solid var(--line); border-radius:10px; background:rgba(255,255,255,.78); }
.sv-sync-calendar li > span{ display:block; margin-bottom:18px; font-family:var(--mono); color:var(--faint); font-size:8.5px; }
.sv-sync-calendar li strong{ display:block; color:var(--ink); font-size:10.5px; }
.sv-sync-calendar li small{ display:block; margin-top:4px; color:var(--faint); font-size:8.5px; line-height:1.3; }
.sv-sync-calendar li.complete{ border-color:var(--blue-100); }
.sv-sync-calendar li.active{ color:#fff; background:var(--blue); border-color:var(--blue); }
.sv-sync-calendar li.active > span,.sv-sync-calendar li.active strong{ color:#fff; }
.sv-sync-calendar li.active small{ color:rgba(255,255,255,.68); }
.sv-sync-line{ display:flex; gap:7px; margin-top:9px; }
.sv-sync-line span{ flex:1; padding:7px; border-radius:8px; background:var(--blue-50); color:var(--blue);
  font-family:var(--mono); font-size:8.5px; text-align:center; }

/* Medicare: benefit split at left, remediation path at right. */
.sv-recovery .solution-viz-tex{ opacity:.95; filter:brightness(1.5); }
.sv-recovery-map{ display:grid; grid-template-columns:.9fr 1.1fr; min-height:238px; }
.sv-benefit-split{ padding:18px; border-right:1px solid rgba(255,255,255,.1); }
.sv-benefit-split h3{ font-size:19px; margin-bottom:14px; }
.sv-benefit-split > div{ display:flex; align-items:baseline; justify-content:space-between; gap:12px;
  padding:9px 0; border-top:1px solid rgba(255,255,255,.1); }
.sv-benefit-split strong{ color:#fff; font-size:11px; }
.sv-benefit-split small{ color:rgba(255,255,255,.45); font-size:9px; }
.sv-recovery-map ol{ list-style:none; margin:0; padding:15px; display:grid; align-content:center; gap:8px; }
.sv-recovery-map li{ display:grid; grid-template-columns:26px 1fr; gap:8px 10px; padding:10px;
  border:1px solid rgba(255,255,255,.1); border-radius:9px; background:rgba(255,255,255,.04); }
.sv-recovery-map li > span{ grid-row:1/3; align-self:center; font-family:var(--mono); color:var(--cyan); font-size:9px; }
.sv-recovery-map li strong{ color:#fff; font-size:10.5px; }
.sv-recovery-map li small{ color:rgba(255,255,255,.45); font-size:8.5px; }

@media (max-width:640px){
  .sv-frame{ min-height:0; }
  .sv-meta{ max-width:52%; }
  .sv-fleet-map,.sv-outreach-record,.sv-pa-document,.sv-care-workspace,.sv-recovery-map{ grid-template-columns:1fr; }
  .sv-fleet-standard,.sv-transcript,.sv-pa-flag,.sv-care-summary,.sv-benefit-split{ border-right:0; border-bottom:1px solid var(--line-soft); }
  .solution-viz.dark .sv-fleet-standard,.solution-viz.dark .sv-care-summary,
  .solution-viz.dark .sv-benefit-split{ border-bottom-color:rgba(255,255,255,.1); }
  .sv-lane-board,.sv-sync-calendar ol{ grid-template-columns:1fr 1fr; }
  .sv-throughput .sv-lane-board{ grid-template-columns:1fr; }
  .sv-throughput .sv-lane-board li{ padding:12px; border-right:0; }
  .sv-throughput .sv-lane-board span{ margin-bottom:8px; }
  .sv-throughput .sv-throughput-board{ padding:14px; }
  .sv-lane-board li:nth-child(2){ border-right:0; }
  .sv-lane-board li{ border-bottom:1px solid rgba(255,255,255,.1); }
  .sv-lane-board li::after{ display:none; }
  .sv-exception-branch{ grid-template-columns:1fr; }
  .sv-cycle .sv-cycle-board{ padding:14px; }
  .sv-cycle-board > header{ align-items:flex-start; }
  .sv-cycle-board h3{ font-size:23px; }
  .sv-cycle-routine li{ grid-template-columns:1fr; gap:8px; }
  .sv-cycle-review{ grid-template-columns:1fr; gap:7px; }
  .sv-reject-triage ol{ grid-template-columns:1fr; }
}

/* queue rows */
.gp-queue{ padding:6px 15px 10px; display:grid; }
.gp-qrow{ display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:9px 0; border-bottom:1px solid var(--line-soft); font-size:12.5px; }
.gp-qrow:last-child{ border-bottom:0; }
.gp-qrow .qid{ font-family:var(--mono); font-size:10.5px; color:var(--faint); }
.gp-qrow .qwhat{ color:var(--ink); font-weight:500; }
.gp-qrow .qstate{ font-family:var(--mono); font-size:10px; white-space:nowrap; }
.qstate.done{ color:var(--emerald-700); } .qstate.writing{ color:var(--blue); } .qstate.queued{ color:var(--gold-700); }
.gp.dark .gp-qrow{ border-bottom-color:rgba(255,255,255,.08); } .gp.dark .gp-qrow .qwhat{ color:#fff; }
.gp.dark .qstate.done{ color:#6fe0a6; } .gp.dark .qstate.writing{ color:var(--blue-100); } .gp.dark .qstate.queued{ color:#e6cf6a; }

/* stat rows (label · bar · value) */
.gp-stats{ padding:14px 17px; display:grid; gap:12px; }
.gp-srow{ display:grid; grid-template-columns:118px 1fr auto; gap:12px; align-items:center; font-size:12px; }
.gp-srow .sl{ color:var(--mute); } .gp.dark .gp-srow .sl{ color:rgba(255,255,255,.62); }
.gp-srow .sbar{ height:6px; border-radius:999px; background:var(--bg-alt); overflow:hidden; }
.gp.dark .gp-srow .sbar{ background:rgba(255,255,255,.12); }
.gp-srow .sbar i{ display:block; height:100%; width:var(--w); border-radius:999px; background:linear-gradient(90deg,var(--blue),var(--cyan)); }
.gp-srow .sv{ font-family:var(--mono); font-size:11.5px; color:var(--ink); } .gp.dark .gp-srow .sv{ color:#fff; }

/* call/text bubbles */
.gp-bubbles{ padding:14px; display:grid; gap:8px; }
.gp-bubbles .bub{ font-size:12.5px; line-height:1.45; padding:8px 12px; border-radius:13px; max-width:86%; }
.gp-bubbles .bub.them{ background:var(--bg-alt); color:var(--ink); border-bottom-left-radius:4px; }
.gp-bubbles .bub.us{ background:var(--blue); color:#fff; margin-left:auto; border-bottom-right-radius:4px; }
.gp.dark .gp-bubbles .bub.them{ background:rgba(255,255,255,.1); color:#fff; }
.gp-bubbles .sms{ font-family:var(--mono); font-size:10px; color:var(--violet); background:var(--violet-50); border-radius:7px; padding:5px 9px; width:fit-content; }
.gp.dark .gp-bubbles .sms{ color:#c9b6f6; background:rgba(109,54,226,.22); }

/* step rail (scoped-build pipeline) */
.gp-steps{ padding:18px 20px 8px; display:grid; }
.stp{ display:grid; grid-template-columns:15px 1fr; column-gap:14px; }
.stp-mk{ position:relative; width:14px; height:26px; border-radius:999px; background:var(--card); border:2px solid var(--blue-100); box-sizing:border-box; flex:0 0 auto; }
.stp.done .stp-mk, .stp.current .stp-mk{ background:#4550CE; border-color:#4550CE; }
.stp.current .stp-mk{ box-shadow:0 0 0 4px var(--blue-50); }
.stp.golive .stp-mk{ background:var(--emerald); border-color:var(--emerald); }
.stp.done .stp-mk::before, .stp.current .stp-mk::before, .stp.golive .stp-mk::before{ content:""; position:absolute; left:-2px; right:-2px; top:50%; height:2.5px; transform:translateY(-50%); background:#fff; }
.stp:not(:last-child) .stp-mk::after{ content:""; position:absolute; left:50%; top:24px; transform:translateX(-50%); width:2px; height:20px; background:var(--blue-100); }
.stp.done:not(:last-child) .stp-mk::after{ background:var(--blue); }
.stp-tx{ padding-bottom:14px; }
.stp-tx b{ display:block; font-family:var(--sans); font-size:13.5px; font-weight:600; color:var(--ink); line-height:1.3; }
.stp.pending .stp-tx b{ color:var(--mute); }
.stp-tx i{ font-family:var(--sans); font-weight:500; font-style:normal; font-size:12px; color:var(--faint); }
.gp.dark .stp-mk{ background:transparent; border-color:rgba(255,255,255,.25); }
.gp.dark .stp.done .stp-mk, .gp.dark .stp.current .stp-mk{ background:var(--cyan); border-color:var(--cyan); }
.gp.dark .stp.current .stp-mk{ box-shadow:0 0 0 4px rgba(54,171,226,.2); }
.gp.dark .stp .stp-mk::before{ background:#0b1746; }
.gp.dark .stp:not(:last-child) .stp-mk::after{ background:rgba(255,255,255,.2); } .gp.dark .stp.done:not(:last-child) .stp-mk::after{ background:var(--cyan); }
.gp.dark .stp-tx b{ color:#fff; } .gp.dark .stp.pending .stp-tx b{ color:rgba(255,255,255,.55); } .gp.dark .stp-tx i{ color:rgba(255,255,255,.4); }
.page-hero .inner{ position:relative; z-index:1; max-width:760px; }
.page-hero .eyebrow{ margin-bottom:24px; }
.page-hero h1{ margin:0 0 22px; font-size:clamp(36px,5.4vw,62px); }
.page-hero .lead{ margin:0 0 32px; }
.page-hero .logo-tag{ display:inline-flex; align-items:center; gap:12px; margin-bottom:26px;
  padding:8px 14px; border:1px solid var(--line); border-radius:12px; background:var(--card); box-shadow:var(--shadow-card); }
.page-hero .logo-tag img{ height:24px; width:auto; opacity:.85; }
.page-hero .logo-tag span{ font-family:var(--mono); font-size:11px; color:var(--mute); letter-spacing:.03em; }
.hero-ctas{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.assurance{ display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:28px;
  font-family:var(--sans); font-weight:500; font-size:11px; letter-spacing:.04em; color:var(--faint); text-transform:uppercase; }
.assurance span{ display:inline-flex; align-items:center; gap:7px; }
.assurance span::before{ content:"✓"; color:var(--blue); }

/* status pill — shipped / roadmap / custom honesty markers */
.spill{ display:inline-flex; align-items:center; gap:7px; padding:4px 11px; border-radius:999px;
  font-family:var(--sans); font-weight:600; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; }
.spill::before{ content:""; width:6px; height:6px; border-radius:999px; }
.spill.live{ background:var(--blue-50); color:var(--blue-700); }
.spill.live::before{ background:var(--emerald); }
.spill.roadmap{ background:var(--violet-50); color:var(--violet); }
.spill.roadmap::before{ background:var(--violet); }
.spill.custom{ background:var(--cyan-50); color:var(--cyan-600); }
.spill.custom::before{ background:var(--cyan); }

/* ---------- prose (blog + long copy) --------------------------------- */
.prose{ max-width:680px; }
.prose p{ margin:0 0 22px; color:var(--body); font-size:17.5px; line-height:1.72; }
.prose h2{ font-family:var(--display); font-weight:600; color:var(--ink); letter-spacing:-0.02em;
  font-size:clamp(24px,2.6vw,32px); line-height:1.2; margin:44px 0 16px; }
.prose h3{ font-family:var(--display); font-weight:600; color:var(--ink); font-size:clamp(19px,2vw,23px); margin:32px 0 12px; }
.prose ul,.prose ol{ margin:0 0 22px; padding-left:22px; color:var(--body); }
.prose li{ margin:0 0 10px; line-height:1.68; }
/* refined link: soft underline that inks in on hover */
.prose a, .faq-item .answer a{ color:var(--blue); text-decoration:underline;
  text-decoration-color:var(--blue-100); text-decoration-thickness:1.5px; text-underline-offset:3px;
  transition:color var(--t-snap), text-decoration-color var(--t-snap); }
.prose a:hover, .faq-item .answer a:hover{ color:var(--blue-700); text-decoration-color:var(--blue); }
.prose strong{ color:var(--ink); font-weight:700; }
/* pull-quote: display type led by the contrail mark — no left-border-accent (brand ban) */
.prose blockquote{ margin:32px 0; padding:0; font-family:var(--display); font-weight:600;
  font-size:clamp(21px,2.2vw,26px); line-height:1.34; letter-spacing:-0.02em; color:var(--ink); }
.prose blockquote::before{ content:""; display:block; width:26px; height:9px; margin-bottom:14px;
  background:center/contain no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 9'%3E%3Crect x='7' y='0' width='19' height='3' rx='1.5' fill='%234550CE'/%3E%3Crect x='0' y='6' width='13' height='3' rx='1.5' fill='%234550CE'/%3E%3C/svg%3E"); }
.prose blockquote p{ margin:0; }

/* ---------- grids + cards -------------------------------------------- */
.grid{ display:grid; gap:20px; }
.grid.g2{ grid-template-columns:repeat(2,1fr); }
.grid.g3{ grid-template-columns:repeat(3,1fr); }
@media (max-width:820px){ .grid.g3{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .grid.g2,.grid.g3{ grid-template-columns:1fr; } }
.card{ position:relative; overflow:hidden; background:linear-gradient(180deg,#fff,#fcfcfe);
  border:1px solid var(--line); border-radius:var(--radius-xl); padding:clamp(26px,2.6vw,34px);
  box-shadow:var(--shadow-inset-hi), var(--shadow-card);
  transition:transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base); }
.card:hover{ transform:translateY(-4px); border-color:var(--blue-100); box-shadow:var(--shadow-inset-hi), var(--shadow-pop); }
/* hover contrail accent along the top edge */
.card::after{ content:""; position:absolute; top:0; left:clamp(26px,2.6vw,34px); width:26px; height:3px;
  border-radius:0 0 2px 2px; background:linear-gradient(90deg,var(--blue),var(--cyan));
  opacity:0; transform:translateY(-3px); transition:opacity var(--t-base), transform var(--t-base); }
.card:hover::after{ opacity:1; transform:none; }
/* floating instrument tile that frames the two-tone brand icon */
.card .ic{ width:54px; height:54px; border-radius:var(--radius-md); margin-bottom:20px;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(180deg,#fff,#f5f7fc); border:1px solid var(--line);
  box-shadow:var(--shadow-inset-hi); transition:border-color var(--t-base), transform var(--t-base); }
.card:hover .ic{ border-color:var(--blue-100); transform:translateY(-1px); }
.card .ic .bicon{ width:38px; height:38px; }
.card h3{ font-family:var(--display); font-weight:600; color:var(--ink); font-size:clamp(19px,1.9vw,22px);
  letter-spacing:-0.01em; line-height:1.22; margin:0 0 10px; }
.card p{ margin:0; color:var(--mute); font-size:14.5px; line-height:1.62; }
.card-num{ position:absolute; top:24px; right:26px; font-family:var(--mono); font-size:10px;
  letter-spacing:.08em; color:var(--faint); opacity:.68; }
/* linked cards (hub → capability): quiet arrow that steps on hover */
a.card{ display:block; }
a.card .card-go{ position:absolute; right:22px; bottom:20px; color:var(--blue); font-size:18px;
  opacity:0; transform:translateX(-4px); transition:opacity var(--t-base), transform var(--t-base); }
a.card:hover .card-go{ opacity:1; transform:none; }

/* Card geometry variants: the content model remains stable, while each route
   gets a different reading rhythm instead of another identical six-tile grid. */
.cards-section{ overflow:hidden; }
.cards-section > .shell{ position:relative; z-index:1; }
.checks-section{ overflow:hidden; }
.checks-section > .shell{ position:relative; z-index:1; }
.section-tex{ position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:.28;
  -webkit-mask-image:linear-gradient(90deg,transparent 8%,#000 72%); mask-image:linear-gradient(90deg,transparent 8%,#000 72%); }
.cards-ledger .grid{ gap:0; border-block:1px solid var(--line); }
.cards-ledger .card{ min-height:230px; border-radius:0; border-width:0 1px 0 0; box-shadow:none; background:rgba(255,255,255,.72); }
.cards-ledger .card:nth-child(3n){ border-right:0; }
.cards-ledger .card::after{ left:0; right:0; width:auto; }
.cards-editorial .grid{ gap:clamp(22px,3vw,38px); }
.cards-editorial .card{ padding:28px 0 30px; border-width:1px 0 0; border-radius:0; background:transparent; box-shadow:none; }
.cards-editorial .card:hover{ transform:translateY(-2px); box-shadow:none; }
.cards-editorial .card::after{ left:0; }
.cards-editorial .card .ic{ width:44px; height:44px; margin-bottom:18px; background:transparent; }
.cards-editorial .card .ic .bicon{ width:32px; height:32px; }
.cards-mosaic .grid.g2{ grid-template-columns:1.25fr .75fr; grid-auto-flow:dense; }
.cards-mosaic .card:nth-child(3n){ background:var(--blue-50); border-color:var(--blue-100); }
.cards-mosaic .card:nth-child(4n){ transform:translateY(22px); }
.cards-mosaic .card:nth-child(4n):hover{ transform:translateY(18px); }
.cards-rail .card{ min-height:300px; padding-top:76px; }
.cards-rail .card .ic{ position:absolute; left:28px; top:25px; width:42px; height:42px; margin:0; background:transparent; }
.cards-rail .card .ic .bicon{ width:31px; height:31px; }
.cards-compact .card{ min-height:0; padding:24px 28px 26px 94px; }
.cards-compact .card .ic{ position:absolute; left:26px; top:26px; width:46px; height:46px; margin:0; }
.cards-compact .card .ic .bicon{ width:32px; height:32px; }
.cards-compact .card-num{ top:auto; bottom:22px; right:24px; }
@media (max-width:820px){
  .cards-ledger .card:nth-child(3n){ border-right:1px solid var(--line); }
  .cards-ledger .card:nth-child(2n){ border-right:0; }
  .cards-mosaic .grid.g2{ grid-template-columns:1fr 1fr; }
}
@media (max-width:640px){
  .cards-ledger .card{ border-right:0; border-bottom:1px solid var(--line); }
  .cards-ledger .card:last-child{ border-bottom:0; }
  .cards-mosaic .grid.g2{ grid-template-columns:1fr; }
  .cards-mosaic .card:nth-child(4n),.cards-mosaic .card:nth-child(4n):hover{ transform:none; }
  .cards-rail .card{ min-height:0; }
  .cards-compact .card{ padding-left:84px; }
}

/* Product artifacts can move into the page body when a quieter editorial hero
   is more appropriate for the PMS or subject. */
.artifact-section{ overflow:hidden; }
.artifact-section > .shell{ position:relative; z-index:1; }
.artifact-grid{ display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  align-items:center; gap:clamp(40px,7vw,92px); }
.artifact-copy .eyebrow{ margin-bottom:20px; }
.artifact-copy h2{ margin:0 0 18px; }
.artifact-copy .lead{ margin:0; }
.artifact-left .artifact-copy{ order:2; }
.artifact-left .hero-viz{ order:1; }
.artifact-section.dark{ background:#0d1a4f; }
.artifact-section.dark h2{ color:#fff; }
.artifact-section.dark .eyebrow{ color:rgba(255,255,255,.6); }
.artifact-section.dark .lead{ color:rgba(255,255,255,.7); }
.artifact-section.dark .section-tex{ opacity:.55; }
@media (max-width:860px){
  .artifact-grid{ grid-template-columns:1fr; }
  .artifact-left .artifact-copy,.artifact-left .hero-viz{ order:initial; }
}

/* Semantic evidence surfaces: the visual artifact is also ordinary document
   structure, so its rows, steps, labels, and outcomes remain indexable. */
.evidence-section{ overflow:hidden; background:#fff; }
.evidence-section > .shell{ position:relative; z-index:1; }
.evidence-section .section-tex{ opacity:.2; width:66%; left:auto;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 34%); mask-image:linear-gradient(90deg,transparent,#000 34%); }
.evidence-head{ display:grid; grid-template-columns:minmax(240px,.78fr) minmax(0,1.22fr);
  gap:clamp(28px,6vw,86px); align-items:end; margin-bottom:clamp(28px,4vw,48px); }
.evidence-head .eyebrow{ grid-column:1/-1; margin-bottom:-4px; }
.evidence-head h2{ margin:0; }
.evidence-head .lead{ margin:0; max-width:62ch; }
.evidence-surface{ position:relative; overflow:hidden; border:1px solid var(--line);
  border-radius:var(--radius-xl); background:rgba(255,255,255,.93);
  box-shadow:var(--shadow-inset-hi),var(--shadow-card); }
.evidence-section.dark{ background:#0a1848; color:#fff; }
.evidence-section.dark .section-tex{ opacity:.9; width:100%; filter:brightness(1.4) saturate(1.1);
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.18),#000 38%); mask-image:linear-gradient(90deg,rgba(0,0,0,.18),#000 38%); }
.evidence-section.dark .evidence-head h2{ color:#fff; }
.evidence-section.dark .evidence-head .lead{ color:rgba(255,255,255,.7); }
.evidence-section.dark .eyebrow{ color:rgba(255,255,255,.62); }
.evidence-section.dark .evidence-surface{ background:rgba(7,17,50,.84);
  border-color:rgba(255,255,255,.14); box-shadow:inset 0 1px rgba(255,255,255,.06),0 26px 70px rgba(0,0,0,.25); }
.semantic-sequence{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); }
.semantic-sequence li{ position:relative; min-width:0; padding:clamp(22px,2.8vw,34px);
  border-right:1px solid var(--line-soft); }
.semantic-sequence li:last-child{ border-right:0; }
.semantic-sequence li:not(:last-child)::after{ content:""; position:absolute; z-index:2; right:-4px; top:36px;
  width:7px; height:7px; border-radius:999px; background:var(--blue); box-shadow:0 0 0 4px #fff; }
.semantic-sequence .seq-n{ display:block; margin-bottom:24px; font-family:var(--mono); font-size:10px;
  letter-spacing:.1em; color:var(--blue); }
.semantic-sequence h3{ margin:0 0 9px; font-family:var(--display); color:var(--ink); font-size:17px; line-height:1.2; }
.semantic-sequence p{ margin:0; color:var(--mute); font-size:12.5px; line-height:1.55; }
.evidence-section.dark .semantic-sequence li{ border-right-color:rgba(255,255,255,.1); }
.evidence-section.dark .semantic-sequence li:not(:last-child)::after{ background:var(--cyan); box-shadow:0 0 0 4px #0b194d; }
.evidence-section.dark .semantic-sequence h3{ color:#fff; }
.evidence-section.dark .semantic-sequence p{ color:rgba(255,255,255,.62); }
.evidence-section.dark .semantic-sequence .seq-n{ color:var(--cyan); }
.semantic-table-wrap{ overflow-x:auto; }
.semantic-table{ width:100%; min-width:680px; border-collapse:collapse; font-size:13px; }
.semantic-table caption{ padding:16px 20px; text-align:left; border-bottom:1px solid var(--line-soft);
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--blue); }
.semantic-table th,.semantic-table td{ padding:15px 18px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line-soft); }
.semantic-table thead th{ font-family:var(--mono); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--faint); background:rgba(240,241,241,.55); }
.semantic-table tbody th{ font-family:var(--sans); color:var(--ink); font-weight:650; }
.semantic-table tbody td{ color:var(--mute); line-height:1.48; }
.semantic-table tbody tr:last-child th,.semantic-table tbody tr:last-child td{ border-bottom:0; }
.evidence-section.dark .semantic-table caption{ color:var(--cyan); border-bottom-color:rgba(255,255,255,.1); }
.evidence-section.dark .semantic-table th,.evidence-section.dark .semantic-table td{ border-bottom-color:rgba(255,255,255,.09); }
.evidence-section.dark .semantic-table thead th{ color:rgba(255,255,255,.45); background:rgba(255,255,255,.04); }
.evidence-section.dark .semantic-table tbody th{ color:#fff; }
.evidence-section.dark .semantic-table tbody td{ color:rgba(255,255,255,.64); }
.semantic-definitions{ display:grid; grid-template-columns:repeat(2,1fr); }
.semantic-def-group{ padding:clamp(24px,3vw,38px); }
.semantic-def-group + .semantic-def-group{ border-left:1px solid var(--line-soft); }
.semantic-def-group h3{ margin:0 0 20px; font-family:var(--display); font-size:21px; color:var(--ink); }
.semantic-def-group dl{ margin:0; }
.semantic-def-group dl > div{ display:grid; grid-template-columns:minmax(110px,.7fr) minmax(0,1.3fr);
  gap:18px; padding:12px 0; border-top:1px solid var(--line-soft); }
.semantic-def-group dt{ color:var(--ink); font-weight:650; font-size:13px; }
.semantic-def-group dd{ margin:0; color:var(--mute); font-size:13px; line-height:1.5; }
.evidence-section.dark .semantic-def-group + .semantic-def-group{ border-left-color:rgba(255,255,255,.1); }
.evidence-section.dark .semantic-def-group h3,.evidence-section.dark .semantic-def-group dt{ color:#fff; }
.evidence-section.dark .semantic-def-group dl > div{ border-top-color:rgba(255,255,255,.1); }
.evidence-section.dark .semantic-def-group dd{ color:rgba(255,255,255,.64); }
.semantic-quote{ margin:0; padding:24px; border:1px solid var(--line); border-radius:var(--radius-lg); background:#fff; }
.semantic-quote p{ margin:0; font-family:var(--display); font-size:18px; line-height:1.38; color:var(--ink); }
.semantic-quote footer{ margin-top:18px; font-family:var(--mono); color:var(--blue); font-size:10px; letter-spacing:.07em; text-transform:uppercase; }
.evidence-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding:14px 18px;
  border-top:1px solid var(--line-soft); font-family:var(--mono); font-size:9.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--blue-700); }
.evidence-section.dark .evidence-foot{ border-top-color:rgba(255,255,255,.1); color:var(--cyan); }
.evidence-timeline .semantic-sequence{ grid-template-columns:1fr; }
.evidence-timeline .semantic-sequence li{ display:grid; grid-template-columns:46px 180px 1fr; gap:18px;
  padding:18px 24px; border-right:0; border-bottom:1px solid var(--line-soft); }
.evidence-timeline .semantic-sequence li:last-child{ border-bottom:0; }
.evidence-timeline .semantic-sequence li:not(:last-child)::after{ left:43px; right:auto; top:auto; bottom:-4px; }
.evidence-timeline .semantic-sequence .seq-n{ margin:1px 0 0; }
.evidence-timeline .semantic-sequence h3{ margin:0; }
.evidence-timeline .semantic-sequence p{ margin:0; }
.evidence-blueprint .evidence-surface{ border-radius:18px; }
.solution-evidence-central-fill .evidence-surface{ background:rgba(6,16,49,.76); }
.solution-evidence-central-fill .semantic-definitions{ border-top:1px solid rgba(255,255,255,.1); }
.solution-evidence-central-fill .semantic-def-group{ padding-block:22px; }
.solution-evidence-central-fill .semantic-table caption,
.solution-evidence-central-fill .semantic-table thead th{ font-family:var(--sans); font-weight:700; }

/* Multi-store: an executive operating model rather than another data table.
   The middle panel carries the fleet-wide standard while the outer panels
   make site execution and human control equally legible. */
.solution-evidence-multi-store .evidence-surface{ overflow:visible; border:0; background:transparent; box-shadow:none; }
.enterprise-model{ display:grid; grid-template-columns:1fr 1.1fr 1fr; gap:14px; align-items:stretch; }
.enterprise-panel{ position:relative; min-width:0; padding:24px; border:1px solid var(--line);
  border-radius:20px; background:rgba(255,255,255,.92); box-shadow:var(--shadow-inset-hi),0 14px 34px rgba(15,29,90,.08); }
.enterprise-panel > header{ margin-bottom:17px; }
.enterprise-panel > header span{ display:block; margin-bottom:7px; color:var(--blue-700); font-family:var(--sans);
  font-size:9.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.enterprise-panel h3{ margin:0; color:var(--ink); font-family:var(--display); font-size:21px; line-height:1.1; }
.enterprise-panel dl{ margin:0; }
.enterprise-panel dl > div{ padding:13px 0; border-top:1px solid var(--line-soft); }
.enterprise-panel dt{ margin-bottom:5px; color:var(--ink); font-size:12px; font-weight:650; }
.enterprise-panel dd{ margin:0; color:var(--mute); font-size:12.5px; line-height:1.45; }
.enterprise-panel-shared{ z-index:1; transform:translateY(-10px); border-color:rgba(138,211,255,.18);
  background:#0b194d; box-shadow:inset 0 1px rgba(255,255,255,.06),0 24px 54px rgba(8,18,53,.2); }
.enterprise-panel-shared > header span{ color:var(--cyan); }
.enterprise-panel-shared h3,.enterprise-panel-shared dt{ color:#fff; }
.enterprise-panel-shared dl > div{ border-top-color:rgba(255,255,255,.1); }
.enterprise-panel-shared dd{ color:rgba(255,255,255,.68); }
@media (max-width:860px){
  .enterprise-model{ grid-template-columns:1fr; gap:12px; }
  .enterprise-panel-shared{ transform:none; }
}
@media (max-width:900px){
  .evidence-head{ grid-template-columns:1fr; gap:16px; }
  .semantic-sequence{ grid-template-columns:1fr 1fr; }
  .semantic-sequence li{ border-bottom:1px solid var(--line-soft); }
  .semantic-sequence li:nth-child(2n){ border-right:0; }
  .semantic-sequence li::after{ display:none; }
}
@media (max-width:640px){
  .semantic-sequence,.semantic-definitions{ grid-template-columns:1fr; }
  .semantic-sequence li{ border-right:0; }
  .semantic-def-group + .semantic-def-group{ border-left:0; border-top:1px solid var(--line-soft); }
  .evidence-timeline .semantic-sequence li{ grid-template-columns:36px 1fr; }
  .evidence-timeline .semantic-sequence p{ grid-column:2; }
}

.alt{ background:var(--bg-alt); border-top:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  position:relative; overflow:hidden; }
.alt > .shell{ position:relative; z-index:1; }

/* ---------- checklist ------------------------------------------------ */
/* checklist: two-column, hairline-ruled, with the split-capsule brand marker */
.checklist{ list-style:none; margin:0; padding:0; max-width:920px;
  display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(32px,5vw,72px); }
@media (max-width:720px){ .checklist{ grid-template-columns:1fr; } }
.checklist li{ display:grid; grid-template-columns:auto 1fr; gap:15px; align-items:start;
  padding:20px 2px; border-top:1px solid var(--line); color:var(--body); font-size:16px; line-height:1.5; }
.ck-mk{ margin-top:8px; width:17px; height:8px; flex:0 0 auto; border-radius:999px;
  background:linear-gradient(90deg, var(--blue) 54%, var(--blue-100) 54%); }
.alt .checklist li{ border-top-color:var(--line); }

/* ---------- comparison table ----------------------------------------- */
.cmp-wrap{ overflow-x:auto; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-card); }
table.cmp{ width:100%; border-collapse:collapse; min-width:560px; background:var(--card); }
table.cmp th,table.cmp td{ text-align:left; padding:15px 18px; border-bottom:1px solid var(--line-soft); font-size:14.5px; vertical-align:top; }
table.cmp thead th{ font-family:var(--sans); font-weight:700; color:var(--ink); font-size:13px; letter-spacing:.02em; background:var(--bg); }
table.cmp thead th.us{ color:var(--blue); }
table.cmp td:first-child,table.cmp th:first-child{ font-weight:600; color:var(--ink); }
table.cmp td .yes{ color:var(--emerald-700); font-weight:600; }
table.cmp td .no{ color:var(--faint); }
table.cmp tr:last-child td{ border-bottom:0; }

/* ---------- PMS navigation ------------------------------------------- */
.pms-hub .section-head{ margin-bottom:clamp(28px,4vh,44px); }
.pms-marquee{ overflow:hidden; position:relative; padding:22px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.pms-marquee-track{ display:flex; width:max-content; animation:pms-marquee 38s linear infinite; }
.pms-marquee:hover .pms-marquee-track,.pms-marquee:focus-within .pms-marquee-track{ animation-play-state:paused; }
.pms-marquee-set{ display:flex; align-items:center; gap:64px; padding-right:64px; flex:none; }
.pms-marquee-link{ min-width:72px; min-height:48px; padding:9px 5px; display:flex;
  align-items:center; justify-content:center; border-radius:var(--radius-sm); }
.pms-marquee-link img{ width:auto; height:30px; max-width:150px; opacity:.56;
  transition:opacity var(--t-snap),transform var(--t-snap); }
.pms-marquee-link:hover img,.pms-marquee-link:focus-visible img{ opacity:.96; transform:translateY(-1px); }
@keyframes pms-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.pms-hub-note{ margin:18px 0 0; color:var(--faint); font-size:14px; }
.pms-hub-note a{ color:var(--blue); font-weight:500; }
@media (max-width:640px){
  .pms-marquee-set{ gap:44px; padding-right:44px; }
  .pms-marquee-link img{ height:26px; }
}
@media (prefers-reduced-motion:reduce){
  .pms-marquee-track{ animation:none; }
  .pms-marquee-set[aria-hidden="true"]{ display:none; }
}
.pms-switcher-section{ padding:clamp(26px,4vh,44px) 0 clamp(60px,9vh,100px); }
.faqs + .pms-switcher-section{ padding-top:0; }
.pms-switcher{ max-width:820px; border:1px solid var(--line); border-radius:var(--radius-md);
  background:var(--card); box-shadow:var(--shadow-card); }
.pms-switcher-title{ margin:0; padding:18px 20px 0; color:var(--ink); font-family:var(--sans);
  font-size:16px; line-height:1.35; font-weight:600; letter-spacing:-.01em; }
.pms-switcher nav{ display:flex; flex-wrap:wrap; gap:8px; padding:14px 20px 20px; }
.pms-switcher nav a{ padding:7px 11px; border-radius:var(--radius-capsule);
  background:var(--blue-50); color:var(--blue-700); font-size:13.5px; font-weight:500; }
.pms-switcher nav a:hover{ background:var(--blue-100); }

/* ---------- FAQ ------------------------------------------------------ */
.faq-list{ border-top:1px solid var(--line); max-width:820px; }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{ list-style:none; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:28px; padding:26px 0; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary h3{ font-family:var(--display); font-weight:600; font-size:clamp(17px,1.7vw,21px); letter-spacing:-0.01em; line-height:1.3; color:var(--ink); margin:0; transition:color var(--t-snap); }
.faq-item summary:hover h3{ color:var(--blue); }
.faq-item .toggle{ flex:0 0 auto; width:18px; height:18px; background:center/14px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%236A6B73' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E"); transition:transform .38s var(--ease-out); }
.faq-item[open] .toggle{ transform:rotate(180deg); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%233655E2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6l5 5 5-5'/%3E%3C/svg%3E"); }
.faq-item .answer{ padding:0 0 28px; font-size:15.5px; color:var(--mute); line-height:1.7; max-width:64ch; }
.faq-item .answer p{ margin:0 0 12px; } .faq-item .answer p:last-child{ margin:0; }
.faq-item .answer a{ color:var(--blue); }

/* ---------- final CTA + footer (dark) -------------------------------- */
.final{ background:radial-gradient(125% 95% at 50% -8%, #17286b 0%, #0f1d5a 44%, #0a1330 100%);
  color:#fff; position:relative; overflow:clip; padding:clamp(68px,10vh,112px) 0 clamp(48px,7vh,72px); }
/* layered light — blue crown top-right + violet pool bottom-left (matches the homepage CTA) */
.final::before{ content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(820px 420px at 80% 0%, rgba(54,85,226,.42), transparent 62%),
    radial-gradient(620px 340px at 8% 100%, rgba(109,54,226,.26), transparent 62%); }
.final .shell{ position:relative; z-index:1; }
/* signature dot field — geometry matched to the homepage footer */
.final-orb{ position:absolute; z-index:0; pointer-events:none;
  bottom:max(-340px,-24vw); right:max(-200px,-14vw);
  width:clamp(680px,84vw,1280px); height:clamp(680px,84vw,1280px);
  -webkit-mask-image:linear-gradient(105deg, transparent 14%, #000 40%);
  mask-image:linear-gradient(105deg, transparent 14%, #000 40%); }
@media (max-width:860px){
  .final-orb{
    -webkit-mask-image:linear-gradient(105deg, transparent 8%, #000 42%),
      linear-gradient(to bottom, rgba(0,0,0,.32) 0%, rgba(0,0,0,.32) 26%, #000 40%);
    -webkit-mask-composite:source-in;
    mask-image:linear-gradient(105deg, transparent 8%, #000 42%),
      linear-gradient(to bottom, rgba(0,0,0,.32) 0%, rgba(0,0,0,.32) 26%, #000 40%);
    mask-composite:intersect;
  }
}
.final-grid{ display:grid; grid-template-columns:1.3fr .7fr; gap:40px; align-items:center; }
@media (max-width:820px){ .final-grid{ grid-template-columns:1fr; } }
.final h2{ font-family:var(--display); font-weight:600; letter-spacing:-0.025em; line-height:1.05;
  font-size:clamp(30px,4.4vw,52px); color:#fff; margin:14px 0 16px; }
.final h2 em{ font-style:italic; color:var(--blue-100); }
.final .sub{ font-size:clamp(16px,1.4vw,18px); line-height:1.6; color:rgba(255,255,255,.8); max-width:48ch; margin:0; }
.final .ctas{ justify-self:end; } @media (max-width:820px){ .final .ctas{ justify-self:start; } }
.ftr{ margin-top:clamp(48px,7vh,72px); position:relative; }
.ftr::before{ content:""; position:absolute; top:0; left:0; right:0; height:1px; background:rgba(255,255,255,.13); }
.ftr-cols{ position:relative; display:grid; grid-template-columns:1.35fr repeat(3, minmax(0,1fr)); gap:34px 36px;
  padding-top:clamp(40px,6vh,56px); margin-top:1px; align-items:start; }
@media (max-width:820px){ .ftr-cols{ grid-template-columns:1fr 1fr 1fr; } .ftr-brand{ grid-column:1/-1; } }
@media (max-width:560px){ .ftr-cols{ grid-template-columns:1fr 1fr; } }
.ftr-cols::before{ content:""; position:absolute; top:-1px; left:0; width:72px; height:1px; background:rgba(255,255,255,.55); }
.ftr-brand{ display:inline-flex; align-items:center; gap:11px; align-self:start; }
.ftr-brand img{ width:30px; height:31px; }
.ftr-brand span{ font-family:var(--sans); font-size:19px; font-weight:700; letter-spacing:-0.025em; color:#fff; }
.ftr-col{ display:flex; flex-direction:column; gap:11px; }
.ftr-col b{ font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.45); margin-bottom:3px; }
.ftr-col a{ font-size:14px; color:rgba(255,255,255,.72); transition:color var(--t-snap); }
.ftr-col a:hover{ color:#fff; }
.ftr-copy{ margin-top:36px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-family:var(--sans); font-weight:500; font-size:12px; letter-spacing:.03em; color:rgba(255,255,255,.5); }
/* ---------- reveal --------------------------------------------------- */
.reveal{ opacity:0; transform:translateY(16px); transition:opacity .7s var(--ease-out), transform .7s var(--ease-out); }
.reveal.in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } }

/* ---------- blog: AIO structural elements ---------------------------- */
.post-meta{ font-family:var(--mono); font-size:12px; letter-spacing:.02em; color:var(--faint); margin:14px 0 0; }
.post-meta a{ color:var(--mute); } .post-meta a:hover{ color:var(--blue); }
.article-hero.hero-dark .post-meta,.article-hero.hero-dark .post-meta a{ color:rgba(255,255,255,.58); }
.article-prose{ padding-top:0; }
/* the-short-answer panel: tinted capsule surface, full soft hairline, no left-accent (brand ban) */
.prose .tldr{ margin:0 0 34px; padding:22px 24px; background:var(--blue-50);
  border:1px solid var(--blue-100); border-radius:var(--radius-xl); }
.prose .tldr p{ margin:0; font-size:16.5px; color:var(--ink); line-height:1.62; }
.prose .tldr strong{ color:var(--blue-700); font-family:var(--sans); font-weight:700; }
.prose .cmp-wrap{ margin:28px 0; }
.prose h2 + .cmp-wrap{ margin-top:16px; }
.prose sup a{ text-decoration:none; color:var(--blue); font-weight:600; }

/* ---------- blog craft: brand visuals woven into long-form ----------- */
/* editorial drop-cap on the first paragraph after the takeaway panel */
.prose .tldr + p::first-letter{ float:left; font-family:var(--display); font-weight:600; color:var(--blue);
  font-size:3.15em; line-height:.82; margin:8px 12px 0 0; }
/* takeaway panel gets the capsule mark + a soft gradient lift */
.prose .tldr{ position:relative; padding:44px 26px 24px; background:linear-gradient(180deg,#fff,var(--blue-50)); }
.prose .tldr::before{ content:""; position:absolute; top:22px; left:26px; width:16px; height:8px; border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 54%,var(--blue-100) 54%); }
/* branded data tables */
.prose table{ width:100%; border-collapse:collapse; margin:30px 0; font-size:14.5px;
  border:1px solid var(--line); }
.prose thead th{ background:var(--bg-alt); text-align:left; font-family:var(--sans); font-weight:700;
  color:var(--ink); font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; padding:13px 16px; }
.prose tbody td{ padding:13px 16px; border-top:1px solid var(--line-soft); color:var(--body); vertical-align:top; line-height:1.5; }
.prose tbody tr:nth-child(even){ background:rgba(240,241,241,.45); }
.prose tbody td:first-child{ color:var(--ink); font-weight:600; }

/* "by the numbers" — article-sourced figure band, full shell width */
.figband{ display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.figband.g4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){ .figband.g4{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .figband{ grid-template-columns:1fr; } .figband.g4{ grid-template-columns:1fr 1fr; } }
@media (max-width:460px){ .figband.g4{ grid-template-columns:1fr; } }
.fig{ position:relative; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg);
  background:linear-gradient(180deg,#fff,#fcfcfe); padding:24px 24px 26px; box-shadow:var(--shadow-card); }
.fig .n{ font-family:var(--display); font-weight:600; letter-spacing:-0.03em; line-height:1;
  font-size:clamp(30px,4.4vw,44px); color:var(--ink); }
.fig .n small{ font-size:.5em; font-weight:600; color:var(--blue); margin-left:2px; letter-spacing:0; }
.fig .l{ margin-top:11px; font-size:13.5px; line-height:1.45; color:var(--mute); }
/* One dark stat per band: a real brand medium on flat navy, not a generic dot wash. */
.fig.dark{ border-color:transparent; color:#fff;
  background:#101e58; }
.fig.dark canvas{ position:absolute; z-index:0; inset:0; width:100%; height:100%; opacity:.8;
  filter:brightness(1.32) saturate(1.08); pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.18) 48%,transparent 62%);
  mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.18) 48%,transparent 62%); }
.fig.dark .n,.fig.dark .l{ position:relative; z-index:1; }
.fig.dark .n{ color:#fff; } .fig.dark .n small{ color:var(--cyan); }
.fig.dark .l{ color:#fff; font-size:14px; font-weight:600; text-shadow:0 1px 10px rgba(5,13,44,.65); }
.fig.dark::before{ display:none; }

.article-figures{ padding:6px 0 clamp(28px,5vh,56px); }
.figures-anchor .figband{ grid-template-columns:1.45fr .78fr .78fr; }
.figures-anchor .fig:first-child{ padding-block:32px; }
.figures-anchor .fig:first-child .n{ font-size:clamp(42px,6vw,64px); }
.figures-rail .figband{ gap:0; border:1px solid var(--line); border-radius:var(--radius-lg); overflow:hidden; }
.figures-rail .fig{ border:0; border-right:1px solid var(--line); border-radius:0; box-shadow:none; }
.figures-rail .fig:last-child{ border-right:0; }
.figures-equation .figband{ grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch; }
.figures-equation .fig{ box-shadow:none; }
.figures-equation .fig:not(:last-child)::after{ content:"→"; position:absolute; right:-26px; top:50%; z-index:3;
  color:var(--blue); font-size:22px; transform:translateY(-50%); }
.figures-report .figband{ grid-template-columns:1.55fr .725fr .725fr; }
.figures-report .fig:first-child{ grid-row:span 2; display:flex; flex-direction:column; justify-content:center; }
@media (max-width:700px){
  .figures-anchor .figband,.figures-report .figband{ grid-template-columns:1fr; }
  .figures-rail .figband{ display:grid; grid-template-columns:1fr; }
  .figures-rail .fig{ border-right:0; border-bottom:1px solid var(--line); }
  .figures-rail .fig:last-child{ border-bottom:0; }
  .figures-equation .figband{ grid-template-columns:1fr; }
  .figures-equation .fig:not(:last-child)::after{ display:none; }
}

/* Article-specific artifacts use source data or real brand/system assets. */
.article-metrics,.article-logo-panel{ overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-lg);
  background:rgba(255,255,255,.94); box-shadow:var(--shadow-inset-hi),var(--shadow-pop); }
.article-metrics-head,.article-logo-head{ display:flex; justify-content:space-between; align-items:center; gap:16px;
  padding:14px 18px; border-bottom:1px solid var(--line-soft); font-family:var(--mono); font-size:10.5px;
  letter-spacing:.06em; text-transform:uppercase; color:var(--blue); }
.article-metrics-head small,.article-logo-head small{ color:var(--faint); font-size:10px; }
.article-metrics-grid{ display:grid; grid-template-columns:1.35fr .825fr .825fr; }
.article-metric{ padding:clamp(22px,3vw,34px); border-right:1px solid var(--line-soft); }
.article-metric:last-child{ border-right:0; }
.article-metric strong{ display:inline; font-family:var(--display); font-size:clamp(30px,4vw,46px);
  letter-spacing:-.04em; line-height:1; color:var(--ink); }
.article-metric > span{ color:var(--blue); font-weight:600; }
.article-metric small{ display:block; margin-top:12px; color:var(--mute); font-size:12.5px; line-height:1.45; }
.article-logo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.article-logo-grid div{ min-height:74px; padding:16px; display:flex; align-items:center; justify-content:center;
  border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft); }
.article-logo-grid div:nth-child(4n){ border-right:0; }
.article-logo-grid img{ width:auto; max-width:105px; max-height:26px; opacity:.66; }
.article-logo-foot{ display:flex; justify-content:space-between; gap:16px; padding:12px 18px;
  font-family:var(--mono); font-size:10.5px; color:var(--blue-700); }
.article-logo-foot span:first-child::before{ content:""; display:inline-block; width:7px; height:7px;
  margin-right:7px; border-radius:999px; background:var(--emerald); }
.article-hero.hero-dark .article-metrics,.article-hero.hero-dark .article-logo-panel{ border-color:rgba(255,255,255,.12);
  background:rgba(8,18,52,.88); box-shadow:0 22px 64px rgba(0,0,0,.3); }
@media (max-width:640px){
  .article-metrics-grid{ grid-template-columns:1fr; }
  .article-metric{ border-right:0; border-bottom:1px solid var(--line-soft); }
  .article-metric:last-child{ border-bottom:0; }
  .article-logo-grid{ grid-template-columns:repeat(2,1fr); }
  .article-logo-grid div:nth-child(4n){ border-right:1px solid var(--line-soft); }
  .article-logo-grid div:nth-child(2n){ border-right:0; }
  .article-logo-foot{ flex-direction:column; gap:5px; }
}

/* Semantic story stages replace generic mock screenshots in article heroes. */
.story-stage{ overflow:hidden; margin:0; border:1px solid var(--line); border-radius:var(--radius-xl);
  background:rgba(255,255,255,.94); box-shadow:var(--shadow-inset-hi),var(--shadow-pop); }
.story-stage > header{ display:flex; justify-content:space-between; gap:20px; align-items:center;
  padding:14px 18px; border-bottom:1px solid var(--line-soft); }
.story-stage > header span{ font-family:var(--mono); font-size:9.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--blue); }
.story-stage > header strong{ font-family:var(--sans); font-size:12.5px; color:var(--ink); }
.story-stage-grid{ display:grid; grid-template-columns:minmax(0,1fr); }
.story-stage-secondary{ border-top:1px solid var(--line-soft); padding:18px; background:rgba(240,241,241,.45); }
.story-stage figcaption{ padding:12px 18px; border-top:1px solid var(--line-soft); color:var(--mute);
  font-size:11.5px; line-height:1.45; }
.story-stage .semantic-sequence{ grid-template-columns:1fr; }
.story-stage .semantic-sequence li{ display:grid; grid-template-columns:34px 150px 1fr; gap:13px;
  padding:12px 18px; border-right:0; border-bottom:1px solid var(--line-soft); }
.story-stage .semantic-sequence li:last-child{ border-bottom:0; }
.story-stage .semantic-sequence li::after{ display:none; }
.story-stage .semantic-sequence .seq-n{ margin:2px 0 0; }
.story-stage .semantic-sequence h3{ margin:0; font-size:14px; }
.story-stage .semantic-sequence p{ margin:0; }
.story-stage .semantic-table{ min-width:560px; }
.story-stage .semantic-table caption{ padding-block:12px; }
.story-stage .semantic-table th,.story-stage .semantic-table td{ padding:10px 13px; font-size:11.5px; }
.story-stage .semantic-def-group{ padding:20px; }
.story-stage .semantic-def-group h3{ font-size:16px; }
.story-stage .semantic-def-group dl > div{ grid-template-columns:120px 1fr; padding:9px 0; }
.story-stage .semantic-quote{ box-shadow:none; background:transparent; }
.story-stage.dark{ background:rgba(6,16,49,.9); border-color:rgba(138,211,255,.18); }
.story-stage.dark > header,.story-stage.dark figcaption{ border-color:rgba(255,255,255,.1); }
.story-stage.dark > header span{ color:var(--cyan); }
.story-stage.dark > header strong{ color:#fff; }
.story-stage.dark figcaption{ color:rgba(255,255,255,.62); }
.story-stage.dark .semantic-table caption{ color:var(--cyan); border-color:rgba(255,255,255,.1); }
.story-stage.dark .semantic-table th,.story-stage.dark .semantic-table td{ border-color:rgba(255,255,255,.1); }
.story-stage.dark .semantic-table thead th{ background:rgba(255,255,255,.04); color:rgba(255,255,255,.5); }
.story-stage.dark .semantic-table tbody th{ color:#fff; }
.story-stage.dark .semantic-table tbody td{ color:rgba(255,255,255,.66); }
.story-stage-pms-registry .semantic-table{ min-width:760px; }
.story-stage-entry-workflow .semantic-sequence li{ grid-template-columns:30px minmax(0,1fr); }
.story-stage-entry-workflow .semantic-sequence li > div{ display:grid;
  grid-template-columns:128px minmax(0,1fr); gap:13px; }
.story-stage-workforce .story-stage-grid,.story-stage-task-shifts .story-stage-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(210px,.65fr); }
.story-stage-workforce .semantic-definitions{ grid-template-columns:1.2fr .8fr; }
.story-stage-task-shifts .story-stage-secondary{ padding:0; border-top:0; border-left:1px solid var(--line-soft); }
.story-stage-task-shifts .semantic-definitions{ grid-template-columns:1fr; }
.story-stage-task-shifts .semantic-def-group dl > div{ grid-template-columns:1fr; gap:3px; }
@media (max-width:640px){
  .story-stage .semantic-sequence li{ grid-template-columns:30px 1fr; }
  .story-stage .semantic-sequence p{ grid-column:2; }
  .story-stage-entry-workflow .semantic-sequence li > div{ grid-template-columns:1fr; gap:4px; }
  .story-stage-entry-workflow .semantic-sequence p{ grid-column:auto; }
  .story-stage-workforce .story-stage-grid,.story-stage-task-shifts .story-stage-grid{ grid-template-columns:1fr; }
  .story-stage-workforce .semantic-definitions{ grid-template-columns:1fr; }
  .story-stage-task-shifts .story-stage-secondary{ border-left:0; border-top:1px solid var(--line-soft); }
}

/* Long-form pages keep a visible document map alongside the prose. */
.article-layout{ max-width:1080px; display:grid; grid-template-columns:minmax(190px,220px) minmax(0,680px);
  gap:clamp(28px,3.5vw,48px); align-items:start; justify-content:center; }
.article-layout .prose{ max-width:none; min-width:0; }
.article-layout .prose h2[id]{ scroll-margin-top:104px; }
.article-sidecar{ position:sticky; top:98px; overflow:hidden; border:1px solid var(--line);
  border-radius:var(--radius-lg); background:rgba(255,255,255,.95); box-shadow:var(--shadow-inset-hi),var(--shadow-card); }
.sidecar-tex{ position:absolute; inset:0 0 auto; width:100%; height:160px; opacity:.18;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent); mask-image:linear-gradient(180deg,#000,transparent); }
.sidecar-inner{ position:relative; z-index:1; }
.article-sidecar nav{ padding:20px 17px 16px; }
.article-sidecar nav > span{ display:block; margin-bottom:14px; font-family:var(--mono); font-size:9.5px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.article-sidecar nav ol{ list-style:none; margin:0; padding:0; }
.article-sidecar nav li{ border-top:1px solid var(--line-soft); }
.article-sidecar nav a{ display:block; padding:8px 0; color:var(--body); font-size:11px; line-height:1.35; }
.article-sidecar nav a:hover{ color:var(--blue); }
.article-lens{ padding:17px 17px 18px; border-top:1px solid var(--line); background:rgba(240,241,241,.55); }
.article-lens h2{ margin:0 0 12px; font-family:var(--display); font-size:16px; color:var(--ink); }
.article-lens ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:7px; }
.article-lens li{ padding:6px 8px; border:1px solid var(--line); border-radius:var(--radius-capsule);
  background:#fff; color:var(--mute); font-size:9.5px; line-height:1.25; }
@media (min-width:1280px){
  .article-layout{ max-width:1344px;
    grid-template-columns:minmax(190px,220px) minmax(0,680px) minmax(190px,220px); }
  .article-sidecar{ grid-column:1; }
  .article-layout .prose{ grid-column:2; }
}
@media (max-width:920px){
  .article-layout{ grid-template-columns:1fr; gap:32px; }
  .article-sidecar{ position:relative; top:auto; }
  .article-sidecar nav ol{ display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }
}
@media (max-width:540px){ .article-sidecar nav ol{ grid-template-columns:1fr; } }

/* pattern window: a full-field brand medium without a circular/orb silhouette */
.pattern-window{ position:relative; overflow:hidden; border-radius:var(--radius-lg);
  min-height:150px; height:100%; background:#0a1744;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
.pattern-window::after{ content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(90deg, rgba(14,28,82,.58), transparent 42%); }
.pattern-window canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; }

/* product aside: a rim-lit dark card that closes an article, pattern + honest product line */
.blog-aside{ position:relative; overflow:hidden; display:grid; grid-template-columns:1.15fr 1fr;
  gap:clamp(24px,3vw,44px); align-items:center; padding:clamp(26px,3vw,40px);
  border-radius:var(--radius-xl); color:#fff;
  background:radial-gradient(120% 140% at 12% 0, #1b2a6a 0%, #12205f 46%, #0a1330 100%);
  box-shadow:var(--shadow-pop), inset 0 0 0 1px rgba(255,255,255,.06); }
@media (max-width:720px){ .blog-aside{ grid-template-columns:1fr; } }
.blog-aside .eyebrow{ color:rgba(255,255,255,.6); margin-bottom:16px; }
.blog-aside .eyebrow::before{ background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 9'%3E%3Crect x='7' y='0' width='19' height='3' rx='1.5' fill='%2336ABE2'/%3E%3Crect x='0' y='6' width='13' height='3' rx='1.5' fill='%2336ABE2'/%3E%3C/svg%3E"); }
.blog-aside h2{ font-family:var(--display); font-weight:600; letter-spacing:-0.02em; color:#fff;
  font-size:clamp(22px,2.6vw,29px); line-height:1.15; margin:0 0 12px; }
.blog-aside h2::before{ display:none; }
.blog-aside p{ margin:0 0 22px; color:rgba(255,255,255,.72); font-size:15.5px; line-height:1.6; }
.blog-aside .pattern-window{ min-height:150px; height:100%; }
@media (max-width:720px){ .blog-aside .pattern-window{ min-height:130px; order:-1; } }
.blog-aside .btn-on-dark{ align-self:flex-start; }

/* Select textures become the card itself: one continuous surface, with the
   copy protected by a navy veil instead of a separate framed illustration. */
.blog-aside.full-field{ display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(32px,4vw,56px); align-items:center; min-height:232px;
  padding-block:30px; isolation:isolate; background:#0a1744; }
.blog-aside.full-field .aside-copy{ position:relative; z-index:2; width:auto; max-width:650px; }
.blog-aside.full-field .aside-copy p{ margin-bottom:0; }
.blog-aside.full-field .aside-cta{ position:relative; z-index:2; justify-self:end;
  align-self:center; white-space:nowrap; }
.blog-aside.full-field .pattern-window{ position:absolute; z-index:0; inset:0; width:100%; height:100%;
  min-height:0; border-radius:inherit; background:transparent; box-shadow:none; }
.blog-aside.full-field .pattern-window canvas{ opacity:.82; }
.blog-aside.full-field .pattern-window::after{
  background:linear-gradient(90deg,
    rgba(9,18,50,.96) 0%, rgba(13,28,80,.90) 42%,
    rgba(9,19,52,.30) 72%, rgba(7,15,42,.52) 100%); }
.blog-aside.full-field.field-bit-raster .pattern-window canvas{
  opacity:1; filter:brightness(1.45) saturate(1.12); }
.blog-aside.full-field.field-bit-raster .pattern-window::after{
  background:linear-gradient(90deg,
    rgba(9,18,50,.96) 0%, rgba(13,28,80,.86) 42%,
    rgba(9,19,52,.08) 72%, rgba(7,15,42,.18) 100%); }
@media (max-width:780px){
  .blog-aside.full-field{ grid-template-columns:1fr; gap:22px; min-height:0;
    align-items:start; padding:28px 26px 30px; }
  .blog-aside.full-field .aside-copy{ width:100%; }
  .blog-aside.full-field .aside-cta{ justify-self:start; align-self:start; }
  .blog-aside.full-field .pattern-window{ min-height:0; order:0; }
  .blog-aside.full-field .pattern-window canvas{ opacity:.68; }
  .blog-aside.full-field .pattern-window::after{
    background:linear-gradient(180deg,
      rgba(8,18,52,.30) 0%, rgba(9,20,58,.66) 36%, rgba(8,17,47,.97) 78%); }
}
@media (max-width:360px){
  .blog-aside.full-field{ padding-inline:22px; }
}

/* blog index: featured post with a full-field brand pattern, then a bespoke card grid */
.feat-post{ position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:0; overflow:hidden;
  border:1px solid var(--line); border-radius:var(--radius-xl); background:linear-gradient(180deg,#fff,#fcfcfe);
  box-shadow:var(--shadow-card); margin-bottom:20px;
  transition:transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base); }
.feat-post:hover{ transform:translateY(-4px); border-color:var(--blue-100); box-shadow:var(--shadow-pop); }
@media (max-width:720px){ .feat-post{ grid-template-columns:1fr; } }
.feat-post .pane{ padding:clamp(28px,3.2vw,44px); display:flex; flex-direction:column; justify-content:center; }
.feat-post .kicker,.card .kicker{ display:inline-flex; align-items:center; gap:8px; font-family:var(--sans);
  font-weight:600; font-size:11px; letter-spacing:.11em; text-transform:uppercase; color:var(--blue); margin-bottom:16px; }
.feat-post .kicker::before,.card .kicker::before{ content:""; width:22px; height:8px; border-radius:999px;
  background:linear-gradient(90deg,var(--blue) 54%,var(--blue-100) 54%); }
.feat-post h3{ font-family:var(--display); font-weight:600; color:var(--ink); letter-spacing:-0.02em;
  font-size:clamp(23px,2.6vw,31px); line-height:1.14; margin:0 0 14px; }
.feat-post p{ margin:0 0 22px; color:var(--mute); font-size:15.5px; line-height:1.62; }
.feat-post .more{ font-weight:600; color:var(--blue); font-size:15px; }
.feat-post .viz{ position:relative; overflow:hidden; background:#0d1a4f; min-height:230px; }
.feat-post .viz canvas{ position:absolute; inset:0; width:100%; height:100%; }
@media (max-width:720px){ .feat-post .viz{ min-height:150px; order:-1; } }
/* index cards carry the section kicker + a stepping arrow */
.card .kicker{ margin-bottom:14px; }

.related-section{ background:var(--bg-alt); border-block:1px solid var(--line-soft); }
.related-reads{ display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); gap:32px; align-items:stretch; }
.related-lead{ position:relative; display:flex; flex-direction:column; justify-content:center; min-height:190px;
  padding:32px; border:1px solid var(--line); border-radius:var(--radius-xl); background:#fff; box-shadow:var(--shadow-card); }
.related-lead .kicker{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--blue); }
.related-lead h3{ margin:14px 36px 0 0; font-family:var(--display); font-size:clamp(22px,2.6vw,30px);
  line-height:1.18; letter-spacing:-.02em; color:var(--ink); }
.related-lead .card-go{ position:absolute; right:28px; bottom:26px; color:var(--blue); }
.related-reads nav{ display:flex; flex-direction:column; justify-content:center; border-block:1px solid var(--line); }
.related-reads nav a{ display:flex; justify-content:space-between; gap:18px; padding:18px 4px;
  border-bottom:1px solid var(--line); color:var(--ink); font-weight:500; font-size:15px; }
.related-reads nav a:last-child{ border-bottom:0; }
.related-reads nav a:hover{ color:var(--blue); }
@media (max-width:760px){ .related-reads{ grid-template-columns:1fr; } }

.blog-index-grid{ padding-top:0; }
.journal-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.blog-index-card{ min-width:0; }
.blog-index-card .index-card-copy{ position:relative; z-index:2; }
.blog-index-card .index-card-art{ position:relative; overflow:hidden; min-width:0; background:#f3f5fc; }
.blog-index-card .index-card-art canvas{ position:absolute; inset:0; width:100%; height:100%; }
.journal-grid .index-wide{ min-height:285px; }
.journal-grid .index-cover{ display:grid; grid-template-rows:112px 1fr; padding:0; }
.journal-grid .index-cover .index-card-art{ border-bottom:1px solid var(--line-soft); }
.journal-grid .index-cover .index-card-copy{ padding:24px 62px 28px 26px; }
.journal-grid .index-cover .kicker{ margin-bottom:11px; }
.journal-grid .index-cover-dark .index-card-art{ background:#0d1a4f; }
.journal-grid .index-compact{ min-height:158px; padding:25px 62px 25px 26px; }
.journal-grid .index-compact p{ display:none; }
.journal-grid .index-compact .kicker{ margin-bottom:10px; }
.journal-grid .index-side-art{ display:grid; grid-template-columns:minmax(0,1fr) 128px; padding:0; }
.journal-grid .index-side-art .index-card-art{ grid-column:2; grid-row:1; }
.journal-grid .index-side-art .index-card-copy{ grid-column:1; grid-row:1; }
.journal-grid .index-side-art .index-card-copy{ padding:25px 22px 25px 26px; }
.journal-grid .index-side-art .index-card-art{ min-height:158px; border-left:1px solid var(--line-soft); }
.journal-grid .index-left-art{ display:grid; grid-template-columns:128px minmax(0,1fr); padding:0; }
.journal-grid .index-left-art .index-card-copy{ padding:25px 54px 25px 22px; }
.journal-grid .index-left-art .index-card-art{ min-height:158px; background:#0d1a4f;
  border-right:1px solid rgba(255,255,255,.08); }
.journal-grid .index-copy-focus{ display:flex; flex-direction:column; justify-content:center; }
.journal-grid .index-accent-copy{ background:#f5f7ff; border-color:rgba(69,80,206,.2); }
.automation-map{ position:relative; z-index:2; list-style:none; margin:0; padding:26px; height:100%;
  display:flex; flex-direction:column; justify-content:center; gap:9px; }
.automation-map li{ width:fit-content; padding:7px 11px; border:1px solid rgba(255,255,255,.16);
  border-radius:var(--radius-capsule); background:rgba(8,18,52,.58); color:rgba(255,255,255,.84);
  font-family:var(--mono); font-size:10.5px; letter-spacing:.03em; }
.automation-map li:nth-child(2),.automation-map li:nth-child(4){ margin-left:34px; }
.automation-map li:last-child{ background:var(--blue); color:#fff; border-color:transparent; margin-left:68px; }
@media (max-width:680px){
  .journal-grid{ grid-template-columns:1fr; }
  .journal-grid .index-wide{ min-height:0; }
  .journal-grid .index-side-art{ grid-template-columns:minmax(0,1fr) 104px; }
  .journal-grid .index-left-art{ grid-template-columns:104px minmax(0,1fr); }
}
@media (max-width:420px){
  .journal-grid .index-side-art,.journal-grid .index-left-art{ grid-template-columns:1fr; }
  .journal-grid .index-side-art .index-card-art,.journal-grid .index-left-art .index-card-art{
    grid-column:1; grid-row:1; min-height:84px; border:0; border-bottom:1px solid var(--line-soft); }
  .journal-grid .index-side-art .index-card-copy,.journal-grid .index-left-art .index-card-copy{
    grid-column:1; grid-row:2; padding:22px 54px 24px 24px; }
}
