/* =========================================================================
   Provantis — 2026 homepage (DataMural design)
   Load after app.css in base.html. Scoped under .home-2026.
   ========================================================================= */

/* ── Tokens ────────────────────────────────────────────────────────────── */
.home-2026 {
  --dm-navy:  #0F1B2D;
  --dm-gold:  #B8902A;
  --dm-gold-lt: #E1C56D;
  --dm-ivory: #FAF8F2;
  --dm-muted: #596273;
  --dm-muted2:#8a929e;
  --dm-line:  rgba(15,27,45,.14);
  --dm-line-lt: rgba(250,248,242,.18);
  font-family: var(--font-sans, "Inter", ui-sans-serif, sans-serif);
  color: var(--dm-navy);
  background: var(--dm-ivory);
}
.home-2026 h1, .home-2026 h2, .home-2026 h3, .home-2026 h4 {
  font-family: var(--font-sans, "Inter", ui-sans-serif, sans-serif);
  font-weight: 500;
}
.home-2026 a { text-decoration: none; }

/* ── Legacy-global bleedthrough guards ─────────────────────────────────── */
/*
 * app.css sets  a:hover { color: var(--ink) }  globally.
 * Any link inside .home-2026 that lacks its own :hover rule would inherit
 * the dark-ink colour instead of the dm-* design intent.
 * Neutralise it here; specific dm-* :hover rules below still win because
 * they carry higher specificity (.dm-footer-col a:hover etc.).
 */
.home-2026 a:hover { color: inherit; }

/*
 * app.css sets  input:focus { box-shadow: 0 0 0 3px rgba(212,175,55,.15) }
 * globally. The scan-form uses a borderless underline style and only
 * defines focus-visible, so the box-shadow leaks in. Strip it here and
 * apply the gold underline that matches the dm-* design instead.
 */
.home-2026 input:focus {
  box-shadow: none;
  border-bottom-color: var(--dm-gold);
}

/*
 * app.css sets  h1,h2,h3,h4 { font-family: var(--font-serif) }  globally.
 * The .home-2026 h1/h2/h3/h4 rule above already overrides font-family
 * to Inter for all headings inside .home-2026 — confirmed ✓.
 *
 * app.css heading color is --ink (#0f172a) ≈ --dm-navy (#0F1B2D) on ivory
 * bands — visually identical, no action needed.
 * Navy-band headings are already guarded by .dm-section-navy h2/h3 rules.
 *
 * app.css h1/h2/h3 font-size rules (element selectors, specificity 0,0,1)
 * are beaten by every dm-* heading class (specificity ≥ 0,1,0) — confirmed ✓.
 */

/* ── Mural animation ───────────────────────────────────────────────────── */
@keyframes dm-tick {
  0%, 18% { opacity: .18; transform: scale(.88); }
  45%, 100% { opacity: 1; transform: scale(1); }
}
@keyframes dm-sweep {
  0%         { transform: translateX(-110%); opacity: 0; }
  20%        { opacity: .24; }
  70%, 100%  { transform: translateX(110%); opacity: 0; }
}

.dm-mural {
  position: absolute; inset: 0;
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  grid-auto-rows: 1fr;
  gap: clamp(5px, .7vw, 11px);
  padding: clamp(24px, 4vw, 64px);
  overflow: hidden;
  opacity: .73;
}
.dm-mural::after {
  content: "";
  position: absolute; top: 0; bottom: 0; left: 0;
  width: 26%;
  background: linear-gradient(90deg, transparent, rgba(184,144,42,.24), transparent);
  animation: dm-sweep 9s ease-in-out infinite;
}
.dm-square {
  background: #16263d;
  animation: dm-tick 1.1s both;
}
.dm-square.gold { background: #b8902a; }
.dm-square:nth-child(3n)  { animation-delay: .12s; }
.dm-square:nth-child(5n)  { animation-delay: .24s; }
.dm-square:nth-child(7n)  { animation-delay: .38s; }

/* ── Nav — styles live in dm-nav.css (self-linked from the dm_nav partial) ── */

/* ── Hero ──────────────────────────────────────────────────────────────── */
/* ── Quick-jump strip (homepage only) ────────────────────────────────── */
.dm-quickjump {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--dm-ivory);
  border-bottom: 1px solid rgba(15,27,45,.12);
  padding: 0 clamp(16px, 4vw, 48px);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  white-space: nowrap;
}
.dm-quickjump::-webkit-scrollbar { display: none; }
.dm-quickjump a {
  display: inline-block;
  padding: 10px 20px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .13em;
  color: var(--dm-navy);
  text-decoration: none;
  opacity: .65;
  transition: opacity .15s, border-bottom-color .15s;
  border-bottom: 2px solid transparent;
  flex-shrink: 0;
}
.dm-quickjump a:hover,
.dm-quickjump a:focus-visible {
  opacity: 1;
  border-bottom-color: var(--dm-gold);
  outline: none;
}
.dm-quickjump-sep {
  display: inline-block;
  width: 1px;
  height: 14px;
  background: rgba(15,27,45,.18);
  flex-shrink: 0;
  align-self: center;
}

.dm-hero {
  position: relative;
  overflow: hidden;
  background: var(--dm-navy);
  color: var(--dm-ivory);
  min-height: 680px;
}
.dm-hero-scrim {
  position: absolute; inset: 0;
  background: linear-gradient(105deg,
    rgba(15,27,45,.82) 0%,
    rgba(15,27,45,.55) 48%,
    rgba(15,27,45,.30) 100%);
  pointer-events: none;
  z-index: 1;
}
.dm-hero-content {
  position: relative; z-index: 2;
  max-width: 1280px; margin: 0 auto;
  padding: 64px 48px 72px;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: start;
  gap: 40px;
}
.dm-hero-panel {
  background: var(--dm-ivory);
  color: var(--dm-navy);
  padding: 40px;
}
.dm-hero-eyebrow {
  font-size: 12px; text-transform: uppercase; letter-spacing: .2em;
  color: #657080; margin-bottom: 20px;
}
.dm-hero-h1 {
  font-size: clamp(38px, 4.8vw, 62px);
  line-height: .95;
  letter-spacing: -.05em;
  font-weight: 500;
  margin: 0;
}
.dm-hero-h1 span { color: var(--dm-gold); }
.dm-hero-sub {
  font-size: 14px; line-height: 1.65;
  color: #465263;
  margin: 20px 0 0;
  max-width: 420px;
}
.dm-scan-form {
  margin-top: 28px;
  border-top: 1px solid #c8c6bd;
  padding-top: 20px;
}
.dm-scan-fields {
  display: grid;
  grid-template-columns: 1fr 1fr auto;
  gap: 10px;
}
.dm-scan-fields input {
  font-size: 13px;
  border: none; border-bottom: 1px solid #7d8490;
  background: transparent;
  padding: 10px 0;
  outline: none;
  color: var(--dm-navy);
  font-family: inherit;
}
.dm-scan-fields input::placeholder { color: #7d8490; }
.dm-scan-fields input:focus-visible { outline: 2px solid var(--dm-gold); outline-offset: 3px; }
.dm-scan-btn {
  background: var(--dm-navy); color: var(--dm-ivory);
  font-size: 12px; text-transform: uppercase; letter-spacing: .1em;
  padding: 10px 18px; border: none; cursor: pointer;
  font-family: inherit; white-space: nowrap;
  transition: background .15s;
}
.dm-scan-btn:hover { background: var(--dm-gold); color: #101c2c !important; }
.dm-scan-scope {
  margin: 12px 0 0;
  color: #657080;
  font-size: 11px;
  line-height: 1.55;
}
.dm-scan-flash { margin-top:18px; }
.dm-scan-flash .flash-wrap { max-width:none; margin:0; padding:0; }
.dm-scan-flash .flash {
  margin:0;
  padding:10px 12px;
  border-left:3px solid var(--dm-gold);
  border-radius:0;
  font-size:11px;
  line-height:1.5;
}
.dm-stat-context {
  margin: 20px 0 -12px;
  color: #657080;
  font-size: 11px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.dm-stat-strip {
  display: flex; gap: 28px;
  margin-top: 24px;
  border-top: 1px solid #c8c6bd;
  padding-top: 18px;
}
.dm-stat-strip dt {
  font-size: 22px; font-weight: 500;
  line-height: 1; letter-spacing: -.04em;
  margin: 0;
}
.dm-stat-strip dd {
  font-size: 12px; text-transform: uppercase; letter-spacing: .14em;
  color: #657080; margin: 4px 0 0;
}

/* Product card (hero right) */
.dm-product-card {
  background: var(--dm-ivory);
  color: var(--dm-navy);
  border: 1px solid var(--dm-navy);
  box-shadow: 6px 6px 0 rgba(0,0,0,.25);
  position: relative;
}
.dm-product-card::before {
  content: "";
  position: absolute;
  left: -14px; top: 22px;
  width: 94%; height: 92%;
  background: #F0EDE5;
  border: 1px solid rgba(15,27,45,.18);
  transform: rotate(-2deg);
  z-index: -1;
}
.dm-card-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(15,27,45,.18);
  font-size: 11px;
}
.dm-card-header-left {
  display: flex; align-items: center; gap: 8px;
  font-weight: 500; text-transform: uppercase; letter-spacing: .08em;
}
.dm-card-dot {
  width: 8px; height: 8px;
  background: var(--dm-gold);
  display: inline-block; flex-shrink: 0;
}
.dm-card-right-label {
  font-size: 12px; text-transform: uppercase; letter-spacing: .12em; opacity: .6;
}
.dm-card-body { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 16px 18px; }
.dm-card-score-val {
  font-size: 56px; font-weight: 500; line-height: .88;
  letter-spacing: -.08em; display: flex; align-items: flex-end; gap: 6px;
}
.dm-card-score-val small {
  display: inline-block;
  min-width: 36px;
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
  opacity: .6;
}
.dm-card-bar {
  height: 5px; background: rgba(15,27,45,.1); margin-top: 12px;
}
.dm-card-bar-fill { height: 100%; background: var(--dm-gold); }
.dm-card-bar-fill.navy { background: var(--dm-navy); }
.dm-card-note { font-size: 11px; opacity: .6; margin-top: 6px; }
.dm-card-tranches { border-left: 1px solid rgba(15,27,45,.18); padding-left: 16px; }
.dm-card-tranches-label { font-size: 12px; text-transform: uppercase; letter-spacing: .14em; opacity: .55; }
.dm-tranche-row { margin-top: 14px; font-size: 12px; }
.dm-tranche-row-header { display: flex; justify-content: space-between; margin-bottom: 6px; }
.dm-card-findings { grid-column: 1 / -1; border-top: 1px solid rgba(15,27,45,.18); }
.dm-findings-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 0; font-size: 12px;
  text-transform: uppercase; letter-spacing: .14em; opacity: .55;
}
.dm-findings-header a { font-size: 12px; opacity: 1; text-decoration: underline; text-underline-offset: 4px; }
.dm-finding-row {
  display: flex; align-items: center; gap: 10px;
  padding: 8px 0; font-size: 11px;
  border-top: 1px solid rgba(15,27,45,.18);
}
.dm-finding-rule { width: 72px; opacity: .55; flex-shrink: 0; }
.dm-finding-label { flex: 1; }
.dm-finding-status { display: flex; align-items: center; gap: 6px; }
.dm-finding-dot { width: 6px; height: 6px; display: inline-block; flex-shrink: 0; }

/* ── Section commons ───────────────────────────────────────────────────── */
.dm-section {
  padding: 80px 48px 112px;
}
.dm-section-navy {
  background: var(--dm-navy);
  color: var(--dm-ivory);
}
.dm-section-ivory {
  background: var(--dm-ivory);
  color: var(--dm-navy);
}
.dm-section-inner {
  max-width: 1280px; margin: 0 auto;
}
.dm-section-head {
  display: flex; align-items: flex-end; justify-content: space-between;
  border-bottom: 1px solid var(--dm-line);
  padding-bottom: 20px; margin-bottom: 28px;
}
.dm-section-navy .dm-section-head {
  border-bottom-color: var(--dm-line-lt);
}
.dm-eyebrow {
  font-size: 12px; text-transform: uppercase; letter-spacing: .2em;
  color: var(--dm-gold); margin-bottom: 14px;
}
.dm-section-navy .dm-eyebrow { color: var(--dm-gold-lt); }
.dm-section-h2 {
  font-size: clamp(32px, 4vw, 58px);
  line-height: .97; letter-spacing: -.045em;
  font-weight: 500; margin: 0;
  color: var(--dm-navy);
}
/* app.css forces all headings to dark ink — restore light text on navy bands */
.dm-section-navy .dm-section-h2,
.dm-section-navy .dm-step-h3,
.dm-section-navy h2, .dm-section-navy h3 {
  color: var(--dm-ivory);
}
.dm-section-tag {
  font-size: 12px; text-transform: uppercase; letter-spacing: .18em;
  opacity: .4;
  align-self: flex-start; margin-top: 4px;
}

/* ── Coverage section ──────────────────────────────────────────────────── */
.dm-pillars {
  display: grid; grid-template-columns: 1fr 1fr;
}
.dm-pillar-conduct { padding: 28px 64px 28px 0; border-right: 1px solid var(--dm-line); }
.dm-pillar-cyber   { padding: 28px 0 28px 64px; }
.dm-pillar-numeral {
  font-size: clamp(80px, 10vw, 128px);
  line-height: .82; letter-spacing: -.09em;
  font-weight: 500; display: block; margin: 0;
}
.dm-pillar-numeral.navy  { color: var(--dm-navy); }
.dm-pillar-numeral.gold  { color: var(--dm-gold); }
.dm-pillar-rule {
  border-top-width: 2px; border-top-style: solid;
  padding-top: 14px; margin-top: 18px;
}
.dm-pillar-rule.navy { border-top-color: var(--dm-navy); }
.dm-pillar-rule.gold { border-top-color: var(--dm-gold); }
.dm-pillar-h3 { font-size: 18px; font-weight: 500; margin: 0 0 10px; }
.dm-pillar-body { font-size: 14px; line-height: 1.7; color: var(--dm-muted); margin: 0; }
.dm-tranche-tiles {
  display: grid; grid-template-columns: repeat(4, 1fr);
  gap: 0 20px; margin-top: 32px;
}
.dm-tranche-tile {
  border-top: 1px solid rgba(15,27,45,.15);
  padding: 10px 0;
  min-width: 0;
}
.dm-tranche-tile dt { font-size: 22px; font-weight: 500; line-height: 1; letter-spacing: -.04em; margin: 0; }
.dm-tranche-tile dd { font-size: 12px; text-transform: uppercase; letter-spacing: .1em; color: var(--dm-muted2); margin: 4px 0 0; line-height: 1.5; }
.dm-cyber-items { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; margin-top: 32px; }
.dm-cyber-item {
  display: flex; align-items: flex-start; gap: 10px;
  border-top: 1px solid rgba(15,27,45,.15);
  padding: 10px 12px 10px 0;
}
.dm-cyber-bullet {
  width: 6px; height: 6px; background: var(--dm-gold);
  flex-shrink: 0; margin-top: 4px; display: inline-block;
}
.dm-cyber-item-label { font-size: 13px; font-weight: 500; display: block; }
.dm-cyber-item-sub   { font-size: 11px; color: var(--dm-muted2); display: block; margin-top: 2px; }

/* ── Method section (navy) ─────────────────────────────────────────────── */
.dm-steps { display: grid; grid-template-columns: repeat(3, 1fr); }
.dm-step {
  padding: 40px 0 40px 40px;
  border-top: 1px solid var(--dm-line-lt);
  min-height: 300px;
}
.dm-step:first-child { padding-left: 0; }
.dm-step + .dm-step { border-left: 1px solid var(--dm-line-lt); }
.dm-step-num {
  font-size: 80px; line-height: .82; letter-spacing: -.08em;
  font-weight: 500; color: var(--dm-gold); display: block; margin: 0;
}
.dm-step-h3 { font-size: 20px; font-weight: 500; margin: 36px 0 14px; }
.dm-step-body { font-size: 14px; line-height: 1.7; color: #acb4bf; margin: 0; }

/* ── Audience section ──────────────────────────────────────────────────── */
.dm-audience { display: grid; grid-template-columns: repeat(3, 1fr); align-items: stretch; }
.dm-audience-broker,
.dm-audience-uma,
.dm-audience-insurer {
  display: flex;
  flex-direction: column;
}
.dm-audience-broker { padding: 28px 64px 28px 0; border-right: 1px solid var(--dm-line); }
.dm-audience-uma    { padding: 28px 32px; border-right: 1px solid var(--dm-line); }
.dm-audience-insurer { padding: 28px 0 28px 64px; }
.dm-audience-type {
  display: inline-block;
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .16em;
  color: var(--dm-navy);
  border-bottom: 2px solid var(--dm-navy);
  padding-bottom: 6px;
}
.dm-audience-uma .dm-audience-type { color: var(--dm-gold); border-bottom-color: var(--dm-gold); }
.dm-audience-insurer .dm-audience-type { color: var(--dm-muted); border-bottom-color: var(--dm-muted); }
.dm-audience-h3 {
  font-size: 28px; font-weight: 500; line-height: 1.05;
  letter-spacing: -.03em; margin: 22px 0 14px; min-height: 59px;
}
.dm-audience-body {
  font-size: 14px; line-height: 1.7; color: var(--dm-muted); margin: 0;
  min-height: 120px;
}
.dm-audience-items {
  display: grid;
  grid-template-rows: repeat(3, minmax(90px, 1fr));
  flex: 1;
  margin-top: 26px;
}
.dm-audience-item {
  display: flex; align-items: flex-start; gap: 14px;
  border-top: 1px solid rgba(15,27,45,.12);
  min-height: 90px; padding: 14px 0; box-sizing: border-box;
}
.dm-audience-uma .dm-audience-item { border-top-color: rgba(184,144,42,.3); }
.dm-audience-insurer .dm-audience-item { border-top-color: rgba(89,98,115,.28); }
.dm-audience-item-dot {
  width: 6px; height: 6px; flex-shrink: 0;
  background: var(--dm-navy); margin-top: 5px; display: inline-block;
}
.dm-audience-uma .dm-audience-item-dot { background: var(--dm-gold); }
.dm-audience-insurer .dm-audience-item-dot { background: var(--dm-muted); }
.dm-audience-item-h { font-size: 13px; font-weight: 500; display: block; margin: 0 0 2px; }
.dm-audience-item-d { font-size: 12px; color: var(--dm-muted2); display: block; margin: 0; }
.dm-audience-link {
  display: inline-block; align-self: flex-start; margin-top: 26px;
  padding: 14px 24px;
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em;
  text-decoration: none;
  background: var(--dm-navy);
  color: var(--dm-ivory);
  transition: opacity .15s ease;
}
.dm-audience-link:hover { opacity: .88; color: var(--dm-ivory); text-decoration: none; }
.dm-audience-uma .dm-audience-link {
  background: transparent;
  color: var(--dm-navy);
  border: 1px solid var(--dm-gold);
  box-shadow: inset 0 0 0 0 var(--dm-gold);
}
.dm-audience-uma .dm-audience-link:hover { background: var(--dm-gold); color: var(--dm-navy); opacity: 1; }
.dm-audience-insurer .dm-audience-link { background: var(--dm-muted); }
.dm-audience-insurer .dm-audience-link:hover { background: var(--dm-navy); }
.dm-audience-link:focus-visible, .dm-page-btn-solid:focus-visible, .dm-page-btn-ghost:focus-visible { outline: 3px solid var(--dm-gold); outline-offset: 3px; }

/* ── Audience pages (/for-brokers, /for-umas) ──────────────────────────── */
.dm-page-hero { padding-top: 96px; }
.dm-page-h1 {
  font-size: clamp(36px, 4.6vw, 62px);
  line-height: .97; letter-spacing: -.045em;
  font-weight: 500; margin: 0 0 24px;
  color: var(--dm-ivory);
}
.dm-page-lead {
  font-size: 16px; line-height: 1.75; color: #acb4bf;
  max-width: 640px; margin: 0 0 36px;
}
.dm-page-hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; }
.dm-page-btn-solid, .dm-page-btn-ghost {
  display: inline-block; padding: 14px 24px;
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em;
  text-decoration: none;
}
.dm-page-btn-solid { background: var(--dm-gold); color: var(--dm-navy); }
.dm-page-btn-solid:hover { opacity: .9; color: var(--dm-navy); text-decoration: none; }
.dm-page-btn-ghost { border: 1px solid var(--dm-line-lt); color: var(--dm-ivory); }
.dm-page-btn-ghost:hover { border-color: var(--dm-gold); color: var(--dm-ivory); text-decoration: none; }

.dm-benefits { display: grid; grid-template-columns: repeat(3, 1fr); }
.dm-benefit { padding: 28px 48px 28px 0; }
.dm-benefit + .dm-benefit { border-left: 1px solid var(--dm-line); padding-left: 48px; }
.dm-benefit-num {
  font-size: 40px; font-weight: 500; letter-spacing: -.04em;
  color: var(--dm-gold); display: block;
}
.dm-benefit-h3 { font-size: 19px; font-weight: 500; margin: 24px 0 12px; }
.dm-benefit-body { font-size: 14px; line-height: 1.7; color: var(--dm-muted); margin: 0; }

.dm-gets { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; }
.dm-get {
  display: flex; align-items: flex-start; gap: 14px;
  border-top: 1px solid var(--dm-line-lt);
  padding: 18px 0;
}
.dm-get-dot { width: 6px; height: 6px; background: var(--dm-gold); flex-shrink: 0; margin-top: 7px; display: inline-block; }
.dm-get-h { font-size: 14px; font-weight: 500; display: block; color: var(--dm-ivory); }
.dm-get-d { font-size: 13px; line-height: 1.65; color: #acb4bf; display: block; margin-top: 4px; }
/* ivory variant of the gets list */
.dm-section-ivory .dm-get { border-top-color: rgba(15,27,45,.12); }
.dm-section-ivory .dm-get-h { color: var(--dm-navy); }
.dm-section-ivory .dm-get-d { color: var(--dm-muted); }

/* "What it is not" trust band */
.dm-not-band { margin-top: 72px; border-top: 1px solid var(--dm-line); padding-top: 32px; }
.dm-not-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; margin-top: 20px; }
.dm-not-h { font-size: 15px; font-weight: 500; margin: 0 0 8px; color: var(--dm-navy); }
.dm-not-d { font-size: 13px; line-height: 1.65; color: var(--dm-muted); margin: 0; }

.dm-price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.dm-price-card {
  border: 1px solid var(--dm-line);
  padding: 32px 28px;
  display: flex; flex-direction: column;
  position: relative;
  background: #fff;
}
.dm-price-card.featured { border: 2px solid var(--dm-gold); }
.dm-price-flag {
  position: absolute; top: -11px; left: 24px;
  background: var(--dm-gold); color: var(--dm-navy);
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .12em;
  padding: 4px 10px;
}
.dm-price-name { font-size: 18px; font-weight: 500; margin: 0 0 12px; }
.dm-price-amount { font-size: 36px; font-weight: 500; letter-spacing: -.03em; margin: 0 0 12px; color: var(--dm-navy); }
.dm-price-amount span { font-size: 13px; font-weight: 400; letter-spacing: 0; color: var(--dm-muted2); }
.dm-price-desc { font-size: 13px; line-height: 1.6; color: var(--dm-muted); margin: 0 0 20px; }
.dm-price-features { list-style: none; margin: 0 0 28px; padding: 0; flex: 1; }
.dm-price-features li {
  font-size: 13px; line-height: 1.5; color: var(--dm-muted);
  border-top: 1px solid rgba(15,27,45,.08);
  padding: 9px 0 9px 18px;
  position: relative;
}
.dm-price-features li::before {
  content: ""; position: absolute; left: 0; top: 15px;
  width: 6px; height: 6px; background: var(--dm-gold);
}
.dm-price-btn {
  display: block; text-align: center;
  padding: 14px 20px;
  font-size: 12px; font-weight: 500;
  text-transform: uppercase; letter-spacing: .14em;
  background: var(--dm-navy); color: var(--dm-ivory);
  text-decoration: none;
}
.dm-price-btn:hover { opacity: .88; color: var(--dm-ivory); text-decoration: none; }
.dm-price-card.featured .dm-price-btn { background: var(--dm-gold); color: var(--dm-navy); }
.dm-price-note { margin-top: 28px; font-size: 13px; color: var(--dm-muted); }
.dm-price-note a { color: var(--dm-navy); text-decoration: underline; text-underline-offset: 4px; }

/* ── Insurer pilot pages: controlled, dossier-like commercial framing ──── */
.insurer-hero { position: relative; overflow: hidden; }
.insurer-hero::after { content:""; position:absolute; right:7%; bottom:-28%; width:330px; height:330px; border:1px solid rgba(225,197,109,.24); transform:rotate(45deg); pointer-events:none; }
.insurer-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:80px; align-items:end; }
.insurer-kicker, .insurer-brief-label, .insurer-commercial-state, .pr-insurer-tier-state { font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.insurer-kicker { color:var(--dm-gold-lt); margin:-5px 0 20px; }
.insurer-brief { position:relative; z-index:1; padding:25px 25px 22px; border:1px solid var(--dm-line-lt); background:rgba(15,27,45,.42); }
.insurer-brief-label { margin:0 0 24px; color:var(--dm-gold-lt); }
.insurer-brief-price { margin:0; color:var(--dm-ivory); font-size:34px; line-height:1; letter-spacing:-.045em; }
.insurer-brief-price span { font-size:13px; letter-spacing:0; color:#acb4bf; }
.insurer-brief-term { margin:8px 0 18px; font-size:13px; color:#acb4bf; }
.insurer-brief dl { margin:0; border-top:1px solid var(--dm-line-lt); }
.insurer-brief dl div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid var(--dm-line-lt); font-size:12px; }
.insurer-brief dt { color:#acb4bf; } .insurer-brief dd { margin:0; text-align:right; color:var(--dm-ivory); }
.insurer-commercial { padding:80px 48px 92px; }
.insurer-commercial-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:9vw; }
.insurer-commercial-lead { max-width:420px; margin:24px 0 0; font-size:15px; line-height:1.7; color:var(--dm-muted); }
.insurer-commercial-list { border-top:1px solid var(--dm-line); }
.insurer-commercial-list > div { padding:20px 0; border-bottom:1px solid var(--dm-line); display:grid; grid-template-columns:150px 150px 1fr; gap:22px; align-items:baseline; }
.insurer-commercial-state { color:var(--dm-gold); margin:0; }
.insurer-commercial-list h3 { margin:0; font-size:20px; letter-spacing:-.025em; }
.insurer-commercial-list p:last-child { margin:0; font-size:13px; line-height:1.6; color:var(--dm-muted); }
.pr-insurer-route { background:#e9e5da; padding:92px 48px 108px; }
.pr-insurer-route-inner { max-width:1440px; margin:0 auto; }
.pr-insurer-route-head { display:grid; grid-template-columns:1fr 1fr; column-gap:64px; row-gap:0; padding-bottom:34px; border-bottom:1px solid var(--dm-line); }
.pr-insurer-route-head .t-eyebrow { grid-column:1; grid-row:1; align-self:end; margin-bottom:0; }
.pr-insurer-route-head h2 { grid-column:1; grid-row:2; margin:0; font-size:clamp(34px,4vw,58px); font-weight:400; line-height:.97; letter-spacing:-.055em; }
.pr-insurer-route-head > p:last-child { grid-column:2; grid-row:2; margin:0; max-width:510px; font-size:15px; line-height:1.72; color:var(--dm-muted); }
.pr-insurer-ratecard { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); border-bottom:1px solid var(--dm-line); }
.pr-insurer-tier { padding:31px 28px 32px; border-left:1px solid var(--dm-line); display:flex; flex-direction:column; }
.pr-insurer-tier:first-child { border-left:0; }
.pr-insurer-tier--available { background:rgba(250,248,242,.56); }
.pr-insurer-tier-state { color:var(--dm-muted); margin:0 0 33px; }
.pr-insurer-tier--available .pr-insurer-tier-state { color:var(--dm-gold); }
.pr-insurer-tier h3 { font-size:23px; margin:0 0 16px; letter-spacing:-.035em; }
.pr-insurer-price { font-size:31px; line-height:1; letter-spacing:-.045em; margin:0; }
.pr-insurer-price span { font-size:12px; letter-spacing:0; color:var(--dm-muted); }
.pr-insurer-term { margin:9px 0 23px; font-size:12px; color:var(--dm-muted); }
.pr-insurer-tier ul { list-style:none; padding:0; margin:0 0 28px; flex:1; border-top:1px solid var(--dm-line); }
.pr-insurer-tier li { position:relative; padding:10px 0 10px 13px; border-bottom:1px solid var(--dm-line); font-size:12px; line-height:1.55; color:var(--dm-muted); }
.pr-insurer-tier li::before { content:""; position:absolute; left:0; top:17px; width:4px; height:4px; background:var(--dm-gold); }
.pr-insurer-tier a { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:44px; padding:12px 18px; border:1px solid var(--dm-navy); background:var(--dm-navy); color:#faf7f0; font-size:11px; font-weight:500; letter-spacing:.12em; line-height:1.2; text-align:center; text-transform:uppercase; transition:background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease; }
.home-2026 .pr-insurer-tier a:hover { transform:translateY(-2px); background:var(--dm-gold); border-color:var(--dm-gold); color:#101c2c !important; }
.pr-insurer-tier a:focus-visible { outline:3px solid rgba(184,144,42,.42); outline-offset:3px; }
.pr-insurer-footnote { margin:18px 0 0; font-size:12px; line-height:1.6; color:var(--dm-muted); }
@media (prefers-reduced-motion: reduce) { .home-2026 *, .home-2026 *::before, .home-2026 *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

/* ── CTA band ──────────────────────────────────────────────────────────── */
.dm-cta-band {
  background: var(--dm-gold);
  padding: 64px 48px;
}
.dm-cta-inner {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center;
  justify-content: space-between; gap: 32px; flex-wrap: wrap;
}
.dm-cta-tag {
  font-size: 12px; text-transform: uppercase; letter-spacing: .2em;
  color: rgba(15,27,45,.6); margin: 0 0 10px;
}
.dm-cta-h2 {
  font-size: clamp(28px, 3.5vw, 48px);
  line-height: 1.0; letter-spacing: -.04em;
  color: var(--dm-navy); font-weight: 500; margin: 0;
}
.dm-cta-btn {
  flex-shrink: 0;
  background: var(--dm-navy); color: var(--dm-ivory);
  padding: 14px 28px;
  font-size: 12px; text-transform: uppercase; letter-spacing: .12em;
  font-weight: 500; font-family: inherit;
  transition: opacity .15s;
}
.dm-cta-btn:hover { opacity: .85; color: var(--dm-ivory); }

/* ── Footer — styles live in dm-footer.css (self-linked from the dm_footer partial) ── */

/* ── Responsive ────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  .dm-hero-content { grid-template-columns: 1fr; padding: 40px 24px 48px; }
  .dm-hero-panel { padding: 28px 24px; }
  .dm-hero-h1 { font-size: clamp(32px, 7vw, 48px); }
  .dm-scan-fields { grid-template-columns: 1fr; }
  .dm-section { padding: 56px 24px 72px; }
  .dm-pillars, .dm-audience { grid-template-columns: 1fr; }
  .dm-pillar-conduct { padding: 40px 0; border-right: none; border-bottom: 1px solid var(--dm-line); }
  .dm-pillar-cyber { padding: 40px 0; }
  .dm-audience-broker,
  .dm-audience-uma,
  .dm-audience-insurer {
    padding: 40px 0;
    border-right: none;
  }
  .dm-audience-broker,
  .dm-audience-uma { border-bottom: 1px solid var(--dm-line); }
  .dm-audience-h3,
  .dm-audience-body { min-height: 0; }
  .dm-audience-items { display: block; }
  .dm-audience-item { min-height: 0; }
  .dm-steps { grid-template-columns: 1fr; }
  .dm-step { padding: 32px 0; border-left: none !important; }
  .dm-benefits { grid-template-columns: 1fr; }
  .dm-benefit { padding: 28px 0; }
  .dm-benefit + .dm-benefit { border-left: none; border-top: 1px solid var(--dm-line); padding-left: 0; }
  .dm-gets { grid-template-columns: 1fr; }
  .dm-price-grid { grid-template-columns: 1fr; gap: 28px; }
  .dm-not-grid { grid-template-columns: 1fr; gap: 24px; }
  .dm-page-hero { padding-top: 64px; }
  .dm-tranche-tiles { grid-template-columns: repeat(3, 1fr); }
  .dm-cta-band { padding: 48px 24px; }
  .insurer-hero-grid, .insurer-commercial-grid { grid-template-columns:1fr; gap:34px; }
  .insurer-commercial { padding:56px 24px 68px; }
  .pr-insurer-route { padding:64px 24px 72px; }
  .pr-insurer-route-head { grid-template-columns:1fr; gap:18px; }
  .pr-insurer-route-head .t-eyebrow,
  .pr-insurer-route-head h2,
  .pr-insurer-route-head > p:last-child { grid-column:1; grid-row:auto; }
  .pr-insurer-ratecard { grid-template-columns:1fr; }
  .pr-insurer-tier, .pr-insurer-tier:first-child { border-left:0; border-top:1px solid var(--dm-line); padding:28px 0; }
  .pr-insurer-tier--available { margin:0 -16px; padding-left:16px !important; padding-right:16px; }
}
@media (max-width: 600px) {
  .dm-hero-panel, .dm-section-inner, .dm-page-hero-ctas { min-width: 0; }
  .dm-page-h1, .dm-page-lead { overflow-wrap: anywhere; }
  .dm-page-hero-ctas { display: grid; grid-template-columns: minmax(0, 1fr); }
  .dm-page-btn-solid, .dm-page-btn-ghost {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    text-align: center;
    overflow-wrap: anywhere;
  }
  .dm-tranche-tiles { grid-template-columns: repeat(2, 1fr); }
  .dm-cyber-items { grid-template-columns: 1fr; }
  .dm-section-head { flex-direction: column; align-items: flex-start; gap: 6px; }
  .insurer-brief { padding:20px; }
  .insurer-commercial-list > div { grid-template-columns:1fr; gap:8px; }
  .pr-insurer-route-head h2 { font-size:34px; }
}

/* ─── Features / Evidence Dossier page (2026) ──────────────────────── */
.feat-page {
  background: #101c2c;
  color: #faf7f0;
  font-family: Inter, sans-serif;
  min-height: 100vh;
}
.feat-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 24px;
}
@media (min-width: 1024px) { .feat-inner { padding: 0 40px; } }

/* gold square dot */
.feat-gold-sq {
  display: inline-block;
  width: 8px; height: 8px;
  background: #b8902a;
  flex-shrink: 0;
}

/* eyebrow */
.feat-eyebrow {
  display: flex; align-items: center; gap: 12px;
  font-size: 13px; letter-spacing: .2em; color: #b8902a;
  margin-bottom: 32px;
}

/* ── Hero ── */
.feat-hero {
  display: grid; align-items: center;
  min-height: 520px;
  padding: 80px 0;
  gap: 32px;
}
@media (min-width: 768px) {
  .feat-hero { grid-template-columns: 1fr 250px; padding: 120px 0; }
}
.feat-h1 {
  font-size: clamp(44px, 5.5vw, 76px);
  font-weight: 500;
  line-height: .95;
  letter-spacing: -.06em;
  white-space: nowrap;
  color: #faf7f0;
  margin: 0 0 32px;
}
.feat-lead {
  font-size: 19px; line-height: 1.75;
  color: #c3c6c7;
  max-width: 575px; margin: 0;
}
.feat-hero-aside {
  display: none;
}
@media (min-width: 768px) {
  .feat-hero-aside {
    display: block;
    align-self: flex-end;
    border-left: 1px solid #526071;
    padding-left: 28px;
  }
}
.feat-ref-label {
  font-family: monospace; font-size: 12px;
  letter-spacing: .2em; color: #b8902a;
}
.feat-ref-sub {
  margin-top: 12px; font-size: 14px;
  line-height: 1.6; color: #c3c6c7;
}

/* ── File index nav ── */
.feat-index {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid #526071;
  border-bottom: 1px solid #526071;
  padding: 20px 0;
  gap: 0;
}
@media (min-width: 768px) {
  .feat-index { grid-template-columns: 180px repeat(3, 1fr); }
}
.feat-index-label {
  display: none;
  font-family: monospace; font-size: 12px;
  letter-spacing: .18em; color: #78818b;
  align-items: center;
}
@media (min-width: 768px) { .feat-index-label { display: flex; } }
.feat-index-link {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px; letter-spacing: .18em;
  color: #b8902a; text-decoration: none;
  transition: opacity .15s;
}
.feat-index-link:hover { opacity: .7; }

/* ── Stage sections ── */
.feat-stage {
  scroll-margin-top: 80px;
  border-top: 1px solid #526071;
  padding: 64px 0;
}
.feat-stage-head { margin-bottom: 48px; }
.feat-stage-eyebrow {
  font-family: monospace; font-size: 13px;
  letter-spacing: .2em; color: #b8902a;
  margin-bottom: 20px;
}
.feat-stage-h2 {
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.05em;
  color: #faf7f0; margin: 0;
}
.feat-stage-body { }
.feat-stage-intro {
  font-size: 18px; line-height: 1.7;
  color: #e2ddd2;
  margin: 0 0 36px;
}

/* ── Entry rows ── */
.feat-entry {
  display: grid;
  gap: 12px;
  border-top: 1px solid #526071;
  padding: 28px 0;
}
@media (min-width: 768px) {
  .feat-entry {
    grid-template-columns: 148px 1fr 140px;
    align-items: start;
    gap: 20px;
  }
}
.feat-entry-code {
  font-family: monospace; font-size: 12px;
  letter-spacing: .18em; color: #b8902a;
  padding-top: 4px;
}
.feat-entry-title {
  font-size: 20px; font-weight: 500;
  letter-spacing: -.02em; color: #faf7f0;
  margin: 0 0 8px;
}
.feat-entry-copy {
  font-size: 14px; line-height: 1.65;
  color: #c3c6c7; margin: 0; max-width: 610px;
}
.feat-entry-tag {
  display: flex; align-items: center; gap: 8px;
  font-size: 12px; letter-spacing: .16em; color: #b8902a;
  padding-top: 4px;
  white-space: nowrap;
}

/* ── Audience split ── */
.feat-audience {
  background: #faf7f0; color: #101c2c;
}
.feat-audience-eyebrow {
  font-size: 12px; letter-spacing: .2em; color: #b8902a;
  margin-bottom: 56px; padding-top: 80px;
}
.feat-audience-grid {
  display: grid; padding-bottom: 80px;
  gap: 0;
}
@media (min-width: 768px) { .feat-audience-grid { grid-template-columns: 1fr 1fr; } }
.feat-audience-col {
  border-top: 1px solid #b9b2a4;
  padding: 32px 0;
}
.feat-audience-col--divided {
  padding-right: 0;
}
@media (min-width: 768px) {
  .feat-audience-col--divided {
    margin-right: 56px;
    border-right: 1px solid #b9b2a4;
    padding-right: 56px;
  }
}
.feat-audience-tag {
  font-family: monospace; font-size: 12px;
  letter-spacing: .16em; color: #b8902a;
  margin-bottom: 24px;
}
.feat-audience-h2 {
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 500; line-height: 1.05;
  letter-spacing: -.05em; color: #101c2c;
  max-width: 430px; margin: 0 0 40px;
}
.feat-btn-solid {
  display: inline-block;
  background: #101c2c; color: #faf7f0;
  padding: 16px 28px;
  font-size: 12px; letter-spacing: .14em;
  text-decoration: none;
  transition: background .18s, color .18s;
}
.feat-btn-solid:hover { background: #b8902a; color: #101c2c; }

/* ── Foundation strip ── */
.feat-foundation {
  background: #101c2c;
  border-bottom: 1px solid #526071;
}
.feat-foundation-grid {
  display: grid; gap: 40px;
  padding-top: 64px; padding-bottom: 64px;
}
.feat-foundation-h2 {
  font-size: clamp(28px, 3.5vw, 44px); font-weight: 500;
  line-height: 1.1; letter-spacing: -.04em;
  color: #faf7f0; margin: 0;
}
.feat-foundation-items {
  display: grid; grid-template-columns: 1fr 1fr;
  border-top: 1px solid #526071;
}
.feat-foundation-item {
  display: flex; align-items: center; gap: 16px;
  border-bottom: 1px solid #526071;
  padding: 20px 0;
  font-size: 15px; color: #e2ddd2;
}

/* ── CTA band ── */
.feat-cta {
  background: #faf7f0; color: #101c2c;
  text-align: center;
  padding: 96px 24px;
}
.feat-cta-eyebrow {
  font-size: 12px; letter-spacing: .2em; color: #b8902a;
  margin-bottom: 28px;
}
.feat-cta-h2 {
  font-size: clamp(36px, 5vw, 68px);
  font-weight: 500; line-height: .95;
  letter-spacing: -.06em; color: #101c2c;
  margin: 0 0 28px;
}
.feat-cta-lead {
  font-size: 17px; line-height: 1.7;
  color: #4f5558; max-width: 510px;
  margin: 0 auto 40px;
}
.feat-btn-cta {
  display: inline-block;
  background: #b8902a; color: #faf7f0;
  padding: 16px 32px;
  font-size: 12px; letter-spacing: .14em;
  text-decoration: none;
  transition: opacity .18s;
}
.feat-btn-cta:hover { opacity: .85; }


/* ─── Sub-navigation band — styles live in dm-nav.css ── */

/* ═══════════════════════════════════════════════════════════════
   Pricing 2026 — StatementTable design
   ═══════════════════════════════════════════════════════════════ */

.pricing-2026 {
  font-family: Inter, ui-sans-serif, sans-serif;
  background: #faf7f0;
  color: #101c2c;
}

/* ── Intro ─────────────────────────────────────────────────────── */
.pr-intro {
  max-width: 1440px;
  margin: 0 auto;
  padding: 80px 48px 64px;
  animation: prFade .7s ease both;
}
@keyframes prFade { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pr-intro { animation: none; } }

.pr-intro-row {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 20px;
}
@media (min-width: 1024px) {
  .pr-intro-row { flex-direction: row; align-items: flex-end; justify-content: space-between; }
}

.pr-intro-copy { max-width: 780px; }

.pr-h1 {
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.05em;
  white-space: nowrap;
}

.pr-lead {
  margin-top: 28px;
  max-width: 680px;
  font-size: 16px;
  line-height: 1.75;
  color: rgba(16,28,44,.72);
}

/* billing toggle */
.pr-toggle {
  display: flex;
  align-items: center;
  border: 1px solid rgba(16,28,44,.3);
  padding: 4px;
  flex-shrink: 0;
}
.pr-toggle-opt {
  padding: 12px 16px;
  font-size: 12px;
  font-family: inherit;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .13em;
  background: transparent;
  border: 0;
  color: #101c2c;
  cursor: pointer;
  white-space: nowrap;
}
.pr-toggle-opt.is-active { background: #101c2c; color: #faf7f0; }
.pr-toggle-save { color: #b8902a; margin-left: 4px; }

/* ── Plan cards ────────────────────────────────────────────────── */
.pr-plans {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 48px;
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(16,28,44,.23);
}
@media (min-width: 1024px) { .pr-plans { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 1024px) { .pr-plans--practice { grid-template-columns: repeat(3, 1fr); } }

.pr-plan {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid rgba(16,28,44,.23);
  padding: 32px 0;
}
@media (min-width: 1024px) {
  .pr-plan {
    border-bottom: 0;
    border-right: 1px solid rgba(16,28,44,.23);
    padding: 35px 28px 32px;
  }
  .pr-plan:first-child { padding-left: 0; }
  .pr-plan:last-child { border-right: 0; }
}

.pr-plan--featured {
  background: #101c2c;
  color: #faf7f0;
}
@media (min-width: 1024px) {
  .pr-plan--featured { margin-top: -20px; padding-top: 20px; }
  .pr-plan:not(.pr-plan--featured) { padding-top: 35px; }
}

.pr-plan-flag {
  margin-bottom: 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #b8902a;
}

.pr-plan-name {
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: #b8902a;
}

.pr-plan-price {
  margin-top: 16px;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.05em;
}
.pr-plan-per { font-size: 12px; letter-spacing: normal; color: rgba(16,28,44,.55); }
.pr-plan--featured .pr-plan-per { color: rgba(250,247,240,.6); }

.pr-plan-billed {
  margin-top: 8px;
  font-size: 11px;
  color: rgba(16,28,44,.55);
}
.pr-plan--featured .pr-plan-billed { color: rgba(250,247,240,.6); }

.pr-plan-summary {
  margin-top: 32px;
  min-height: 96px;
  font-size: 15px;
  line-height: 1.6;
}

.pr-plan-proof {
  margin-top: 12px;
  min-height: 96px;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(16,28,44,.7);
}
.pr-plan--featured .pr-plan-proof { color: rgba(250,247,240,.7); }

.pr-plan-items {
  flex: 1;
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid rgba(16,28,44,.2);
  font-size: 13px;
  line-height: 1.6;
}
.pr-plan--featured .pr-plan-items { border-color: rgba(250,247,240,.25); }

.pr-plan-item {
  display: flex;
  gap: 12px;
  padding: 4px 0;
}
.pr-check { color: #b8902a; flex-shrink: 0; }

.pr-plan-cta {
  display: block;
  margin-top: 32px;
  border: 1px solid #101c2c;
  padding: 12px 16px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #101c2c;
  text-decoration: none;
  transition: background .15s, color .15s;
}
.home-2026 .pr-plan-cta:hover { background:#101c2c; color:#faf7f0 !important; }
.pr-plan-cta--solid {
  border-color: #b8902a;
  background: #b8902a;
  color: #101c2c;
}
.home-2026 .pr-plan-cta--solid:hover { background:#a07820; border-color:#a07820; color:#101c2c !important; }

/* ── UMA Oversight: arrangement-led commercial route ─────────────────── */
.pr-uma-route { background:#e9e5da; padding:92px 48px 102px; }
.pr-uma-route-inner { max-width:1440px; margin:0 auto; }
.pr-uma-route-head { display:grid; grid-template-columns:1fr 1fr; gap:64px; padding-bottom:34px; border-bottom:1px solid rgba(16,28,44,.24); }
.pr-uma-route-head .t-eyebrow { grid-column:1 / -1; margin-bottom:0; }
.pr-uma-h2 { margin:0; font-size:clamp(34px,4vw,58px); font-weight:400; line-height:.97; letter-spacing:-.055em; }
.pr-uma-route-head > p { max-width:510px; margin:26px 0 0; font-size:15px; line-height:1.72; color:rgba(16,28,44,.7); }
.pr-uma-dossier { display:grid; grid-template-columns:minmax(290px,.85fr) 1.15fr; border-bottom:1px solid rgba(16,28,44,.24); }
.pr-uma-identity { padding:34px 44px 36px 0; border-right:1px solid rgba(16,28,44,.24); display:flex; flex-direction:column; }
.pr-uma-state, .pr-uma-evidence-label { margin:0; font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:#a07820; }
.pr-uma-identity h3 { margin:31px 0 18px; font-size:28px; font-weight:400; letter-spacing:-.04em; }
.pr-uma-price { margin:0; font-size:38px; line-height:1; letter-spacing:-.06em; }
.pr-uma-price span { font-size:12px; letter-spacing:0; color:rgba(16,28,44,.6); }
.pr-uma-term { margin:10px 0 30px; max-width:270px; font-size:12px; line-height:1.55; color:rgba(16,28,44,.64); }
.pr-uma-cta { display:inline-flex; align-items:center; justify-content:center; align-self:flex-start; min-height:44px; margin-top:auto; border:1px solid #101c2c; padding:12px 18px; background:#101c2c; color:#faf7f0; font-size:11px; font-weight:500; letter-spacing:.13em; line-height:1.2; text-align:center; text-transform:uppercase; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.home-2026 .pr-uma-cta:hover { transform:translateY(-2px); background:#b8902a; border-color:#b8902a; color:#101c2c !important; }
.pr-uma-cta:focus-visible { outline:3px solid rgba(184,144,42,.42); outline-offset:3px; }
.pr-uma-evidence { padding:35px 0 36px 44px; }
.pr-uma-evidence-list { margin-top:28px; border-top:1px solid rgba(16,28,44,.24); }
.pr-uma-evidence-list > div { display:grid; grid-template-columns:46px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid rgba(16,28,44,.18); }
.pr-uma-evidence-list span { color:#b8902a; font-size:12px; letter-spacing:.1em; }
.pr-uma-evidence-list p { margin:0; font-size:13px; line-height:1.55; color:rgba(16,28,44,.68); }
.pr-uma-evidence-list strong { display:block; color:#101c2c; font-weight:500; }
.pr-uma-caution { display:grid; grid-template-columns:220px 1fr; gap:24px; padding:18px 0 0; font-size:12px; line-height:1.62; color:rgba(16,28,44,.62); }
.pr-uma-caution span { color:#101c2c; font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.13em; }
.pr-uma-caution p { margin:0; max-width:660px; }

/* ── Comparison table ──────────────────────────────────────────── */
.pr-compare {
  max-width: 1440px;
  margin: 0 auto;
  padding: 80px 48px;
}

.pr-compare-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  border-bottom: 1px solid rgba(16,28,44,.23);
  padding-bottom: 20px;
  margin-bottom: 0;
  gap: 24px;
}
.pr-section-h2 {
  margin-top: 12px;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: 1;
}
.pr-compare-sub {
  display: none;
  max-width: 260px;
  text-align: right;
  font-size: 12px;
  line-height: 1.6;
  color: rgba(16,28,44,.6);
}
@media (min-width: 768px) { .pr-compare-sub { display: block; } }

.pr-table-wrap { overflow-x: auto; }

.pr-table {
  width: 100%;
  min-width: 800px;
  border-collapse: collapse;
  font-size: 13px;
  text-align: left;
}

.pr-th-cap {
  width: 32%;
  padding-bottom: 20px;
  padding-right: 20px;
  font-weight: 400;
  color: rgba(16,28,44,.55);
  border-bottom: 2px solid #101c2c;
  vertical-align: bottom;
}
.pr-th-plan {
  padding-bottom: 20px;
  padding-right: 16px;
  font-weight: 500;
  border-bottom: 2px solid #101c2c;
  vertical-align: bottom;
}
.pr-th-name {
  display: block;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #b8902a;
}
.pr-th-price {
  display: block;
  margin-top: 8px;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: -.04em;
}

.pr-table tbody td,
.pr-table tbody th {
  padding: 14px 16px 14px 0;
  border-bottom: 1px solid rgba(16,28,44,.18);
  color: rgba(16,28,44,.65);
  font-weight: 400;
}
.pr-table tbody td:first-child { color: #101c2c; }

.pr-group-row th {
  padding-top: 36px;
  padding-bottom: 10px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .15em;
  color: #b8902a;
  border-bottom: 1px solid #b8902a;
  text-align: left;
}

.pr-aside { margin-left: 6px; color: rgba(16,28,44,.45); font-size: 11px; }

/* ── One-off ───────────────────────────────────────────────────── */
.pr-oneoff {
  background: #101c2c;
  color: #faf7f0;
  padding: 80px 48px;
}
.pr-oneoff-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  gap: 48px;
}
@media (min-width: 1024px) { .pr-oneoff-inner { grid-template-columns: 1fr 1fr; } }

.pr-oneoff-h2 {
  margin-top: 16px;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.05em;
  line-height: 1.1;
  color: #faf7f0; /* explicit: global heading colour is navy, invisible on this navy band */
}
.pr-oneoff-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 32px;
}
@media (min-width: 1024px) { .pr-oneoff-right { align-items: flex-end; } }

.pr-oneoff-body {
  max-width: 430px;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(250,247,240,.7);
}
.pr-oneoff-price {
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.05em;
  text-align: right;
}
.pr-oneoff-cta {
  display: inline-block;
  margin-top: 24px;
  border: 1px solid #b8902a;
  padding: 12px 20px;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: #b8902a;
  text-decoration: none;
}
.pr-oneoff-cta:hover { background: #b8902a; color: #101c2c; }

/* ── Audience + FAQ ────────────────────────────────────────────── */
.pr-audience {
  max-width: 1440px;
  margin: 0 auto;
  padding: 80px 48px;
}
.pr-audience-inner {
  display: grid;
  gap: 48px;
  border-bottom: 1px solid rgba(16,28,44,.23);
  padding-bottom: 80px;
}
@media (min-width: 1024px) { .pr-audience-inner { grid-template-columns: 1fr 1fr; } }

.pr-audience-h2 {
  margin-top: 16px;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.05em;
  white-space: nowrap;
}
.pr-audience-cards {
  display: grid;
  gap: 32px;
}
@media (min-width: 640px) { .pr-audience-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .pr-audience-cards { grid-template-columns: repeat(3, 1fr); } }
.pricing-2026 a:focus-visible,
.pricing-2026 button:focus-visible {
  outline: 3px solid var(--dm-gold);
  outline-offset: 3px;
}

.pr-audience-card {
  border-top: 1px solid #101c2c;
  padding-top: 16px;
}
.pr-audience-body {
  margin-top: 20px;
  font-size: 17px;
  line-height: 1.6;
}

/* FAQ */
.pr-faq { padding-top: 80px; }
.pr-faq-h2 {
  margin-top: 16px;
  font-size: 2.25rem;
  font-weight: 400;
  letter-spacing: -.05em;
  margin-bottom: 40px;
}
.pr-faq-list { max-width: 900px; }
.pr-faq-item {
  border-top: 1px solid rgba(16,28,44,.23);
  padding: 20px 0;
}
.pr-faq-item:last-child { border-bottom: 1px solid rgba(16,28,44,.23); }
.pr-faq-item summary {
  cursor: pointer;
  list-style: none;
  font-size: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 8px;
}
.pr-faq-item summary::-webkit-details-marker { display: none; }
.pr-faq-plus { color: #b8902a; flex-shrink: 0; margin-left: 16px; }
.pr-faq-item[open] .pr-faq-plus { content: '−'; }
.pr-faq-item p {
  max-width: 680px;
  padding-top: 16px;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(16,28,44,.65);
}
.pr-faq-item a { color: #b8902a; }

/* ── Footer ────────────────────────────────────────────────────── */
.pr-foot {
  border-top: 1px solid rgba(16,28,44,.23);
  padding: 32px 48px;
}
.pr-foot-inner {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  font-size: 12px;
  line-height: 1.7;
  color: rgba(16,28,44,.6);
}
@media (min-width: 768px) {
  .pr-foot-inner { flex-direction: row; justify-content: space-between; align-items: flex-start; }
}
.pr-foot-co { flex-shrink: 0; }

/* UMA page: a discreet commercial brief, not a practice-plan extension. */
.uma-oversight-hero { position:relative; overflow:hidden; }
.uma-oversight-hero::after { content:""; position:absolute; width:420px; height:420px; right:3%; top:-166px; border:1px solid rgba(225,197,109,.2); transform:rotate(45deg); pointer-events:none; }
.uma-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:80px; align-items:end; }
.uma-hero-kicker, .uma-brief-label { margin:-5px 0 20px; color:var(--dm-gold-lt); font-size:11px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; }
.uma-brief { position:relative; z-index:1; padding:25px 25px 22px; border:1px solid var(--dm-line-lt); background:rgba(15,27,45,.42); }
.uma-brief-label { margin:0 0 24px; }
.uma-brief-price { margin:0; color:var(--dm-ivory); font-size:34px; line-height:1; letter-spacing:-.045em; }
.uma-brief-price span { font-size:13px; letter-spacing:0; color:#acb4bf; }
.uma-brief-term { margin:8px 0 18px; font-size:13px; line-height:1.5; color:#acb4bf; }
.uma-brief dl { margin:0; border-top:1px solid var(--dm-line-lt); }
.uma-brief dl div { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid var(--dm-line-lt); font-size:12px; }
.uma-brief dt { color:#acb4bf; } .uma-brief dd { margin:0; text-align:right; color:var(--dm-ivory); }
.uma-cta-band .dm-cta-h2 { max-width:760px; }

/* ── Responsive tweaks ─────────────────────────────────────────── */
@media (max-width: 768px) {
  .pr-intro, .pr-plans, .pr-compare, .pr-oneoff, .pr-audience, .pr-foot { padding-left: 24px; padding-right: 24px; }
  .pr-intro-copy, .pr-intro-row { min-width: 0; }
  .pr-h1 { white-space: normal; overflow-wrap: anywhere; }
  .pr-audience-h2 { white-space: normal; }
  .pr-audience-inner, .pr-audience-head, .pr-audience-cards { min-width: 0; }
  .pr-toggle { width: 100%; max-width: 100%; }
  .pr-toggle-opt { flex: 1 1 0; min-width: 0; padding-left: 8px; padding-right: 8px; }
  .pr-toggle-save { display: block; margin: 4px 0 0; }
  .pr-uma-route { padding:64px 24px 72px; }
  .pr-uma-route-head, .pr-uma-dossier { grid-template-columns:1fr; gap:18px; }
  .pr-uma-route-head > p { margin-top:0; }
  .pr-uma-identity { padding:28px 0; border-right:0; border-bottom:1px solid rgba(16,28,44,.24); }
  .pr-uma-evidence { padding:28px 0; }
  .pr-uma-caution { grid-template-columns:1fr; gap:8px; }
  .uma-hero-grid { grid-template-columns:1fr; gap:34px; }
}
