/* =============================================================================
   🎨 EPC GROUP / Offre démonstrateur  -  assets/css/epc-offer.css
   =============================================================================
   Objectif:
   - Recaler l’offre sur un langage visuel sobre, clair, structuré et décisionnel.
   - Conserver le contenu actuel tout en renforçant
     les espacements, cartes, pills et contrastes du portail.
   - Éviter les teintes électriques et restaurer un contraste
     propre sur les surfaces, tableaux, callouts et schémas.

   Colorimétrie retenue:
   - Fond général: bleu très pâle, avec halos discrets bleu/vert.
   - Texte principal: ardoise profonde à fort contraste.
   - Accent principal: bleu SERMA / portail.
   - Accent secondaire: vert bleuté pour les états actifs.
   - Alerte: ambre sobre.
   - Risque: rouge assourdi.
   ============================================================================= */
:root{
  color-scheme:light;
  --max:1200px;
  --space-shell:28px;
  --space-section:32px;
  --space-stack:22px;
  --space-grid:20px;
  --space-card:24px;
  --card-radius:22px;
  --card-gap:10px;
  --card-pad-y:22px;
  --card-pad-x:22px;
  --offer-bg:#f3f7fb;
  --offer-bg-soft:#f8fbff;
  --offer-surface:#ffffff;
  --offer-surface-muted:#f6faff;
  --offer-section-top:#f8fbff;
  --offer-section-bottom:#ffffff;
  --offer-border:#d9e3ee;
  --offer-border-strong:#b9c7d8;
  --offer-ink:#0f172a;
  --offer-ink-soft:#334155;
  --offer-muted:#475569;
  --offer-accent:#0b5fff;
  --offer-accent-2:#0f766e;
  --offer-accent-soft:rgba(11,95,255,.10);
  --offer-success:#166534;
  --offer-success-soft:rgba(22,101,52,.08);
  --offer-warning:#b45309;
  --offer-warning-soft:rgba(245,158,11,.12);
  --offer-danger:#b91c1c;
  --offer-danger-soft:rgba(185,28,28,.08);
  --offer-shadow:0 18px 45px rgba(15,23,42,.08);
  --offer-shadow-soft:0 8px 24px rgba(15,23,42,.06);
}
body{
  background:
    radial-gradient(circle at top right, rgba(11,95,255,.08), transparent 32%),
    radial-gradient(circle at top left, rgba(15,118,110,.08), transparent 28%),
  var(--offer-bg);
  color:var(--offer-ink)
}
html{
  scroll-padding-top:148px;
}
a{color:var(--offer-accent)}
a:hover{color:#0848c5}
code{background:#eaf1fb;border-color:var(--offer-border);color:var(--offer-ink)}
.shell{max-width:var(--max);padding:28px 24px 72px}
.page-hero--offer{
  padding:34px;
  border-radius:28px;
  border:1px solid var(--offer-border);
  background:
    linear-gradient(135deg, rgba(11,95,255,.09), rgba(15,118,110,.07)),
    var(--offer-surface);
  box-shadow:var(--offer-shadow)
}
.page-hero--offer:after{
  background:radial-gradient(circle, rgba(11,95,255,.16), transparent 70%)
}
.page-hero--offer h1{
  color:var(--offer-ink);
  font-size:clamp(2rem,5vw,3.15rem);
  line-height:1.05;
  letter-spacing:-.03em
}
.breadcrumb,.hero-desc{color:var(--offer-muted)}
.hero-desc{
  max-width:900px;
  font-size:1.05rem;
  line-height:1.72
}
.offer-kicker{
  margin:0;
  color:var(--offer-muted);
  font-size:.8rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700
}
.offer-kicker--hero{margin-bottom:10px}
.hero-tags{margin-top:18px}
.badge{
  background:rgba(255,255,255,.88);
  border-color:var(--offer-border);
  color:var(--offer-ink);
  font-size:.92rem;
  font-weight:600
}
.site-nav{
  position:sticky;
  top:12px;
  z-index:40;
  margin:24px 0 32px;
  padding-right:16px;
  padding-bottom:7px;
  padding-left:16px;
  border-radius:22px;
  border:1px solid rgba(148,168,194,.96);
  background:
    linear-gradient(180deg, rgba(232,240,250,.98), rgba(245,249,253,.97));
  backdrop-filter:blur(18px);
  box-shadow:0 16px 36px rgba(15,23,42,.09)
}
.site-nav--hover{
  display:grid;
  grid-template-rows:auto 0fr;
  overflow:hidden;
  transition:grid-template-rows .24s ease, box-shadow .24s ease, background .24s ease, transform .24s ease
}
.site-nav--hover:hover,
.site-nav--hover:focus-within{
  grid-template-rows:auto 1fr;
  box-shadow:0 20px 44px rgba(15,23,42,.14);
  background:
    linear-gradient(180deg, rgba(236,244,252,.99), rgba(248,251,255,.99))
}
.nav-collapsed-bar{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:auto;
  padding-top:0;
  padding-bottom:0
}
.nav-collapsed-label,
.nav-collapsed-hint,
.nav-collapsed-current{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  border-radius:999px;
  white-space:nowrap
}
.nav-collapsed-label{
  padding:0 11px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--offer-border);
  color:var(--offer-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.7rem;
  font-weight:800
}
.nav-collapsed-current{
  padding:0 13px;
  background:linear-gradient(135deg, rgba(11,95,255,.16), rgba(15,118,110,.12));
  border:1px solid rgba(11,95,255,.22);
  color:var(--offer-ink);
  font-size:.84rem;
  font-weight:700;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:min(100%, 520px)
}
.nav-collapsed-hint{
  margin-left:auto;
  padding:0 11px;
  border:1px dashed rgba(11,95,255,.28);
  color:var(--offer-accent);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:rgba(11,95,255,.08)
}
.nav-group{
  display:grid;
  gap:12px;
  margin-top:0;
  min-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-8px);
  pointer-events:none;
  transition:margin-top .2s ease, opacity .2s ease, transform .2s ease
}
.site-nav--hover:hover .nav-group,
.site-nav--hover:focus-within .nav-group{
  margin-top:8px;
  opacity:1;
  transform:translateY(0);
  pointer-events:auto
}
.nav-label{
  color:var(--offer-muted);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.72rem;
  font-weight:800
}
.nav-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
  scrollbar-width:thin
}
.nav-link{
  min-width:max-content;
  padding:.54rem .86rem;
  border:1px solid var(--offer-border);
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:var(--offer-ink);
  font-size:.9rem;
  box-shadow:var(--offer-shadow-soft);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease
}
.nav-link--risk{
  display:inline-flex;
  align-items:center;
  gap:.55rem
}
.nav-link--success{
  border-color:rgba(22,163,74,.22);
  background:rgba(22,163,74,.06)
}
.nav-link--warning{
  border-color:rgba(217,119,6,.24);
  background:rgba(245,158,11,.08)
}
.nav-link--danger{
  border-color:rgba(220,38,38,.24);
  background:rgba(220,38,38,.08)
}
.nav-link--protected{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  border-color:rgba(11,95,255,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,255,.94));
  color:var(--offer-accent);
  box-shadow:0 8px 18px rgba(15,23,42,.05)
}
.nav-link--resource{
  display:inline-flex;
  align-items:center;
  gap:.52rem;
  border-color:rgba(15,118,110,.24);
  background:linear-gradient(180deg, rgba(236,254,249,.92), rgba(243,247,254,.92));
  color:var(--offer-ink);
  font-weight:600
}
.nav-link:hover{
  background:rgba(11,95,255,.06);
  border-color:rgba(11,95,255,.24);
  text-decoration:none
}
.nav-link--resource:hover{
  background:linear-gradient(180deg, rgba(15,118,110,.12), rgba(11,95,255,.08));
  border-color:rgba(15,118,110,.34)
}
.nav-link.active{
  border-color:rgba(11,95,255,.28);
  background:linear-gradient(135deg, rgba(11,95,255,.14), rgba(15,118,110,.14));
  color:var(--offer-ink);
  font-weight:700
}
.nav-link--risk.active{
  border-color:rgba(220,38,38,.26);
  background:linear-gradient(135deg, rgba(220,38,38,.14), rgba(245,158,11,.14))
}
.nav-risk-indicator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:.18rem .48rem;
  border-radius:999px;
  font-size:.72rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent
}
.nav-risk-indicator--success{
  color:#166534;
  background:rgba(22,163,74,.12);
  border-color:rgba(22,163,74,.16)
}
.nav-risk-indicator--warning{
  color:#9a3412;
  background:rgba(245,158,11,.16);
  border-color:rgba(217,119,6,.18)
}
.nav-risk-indicator--danger{
  color:#991b1b;
  background:rgba(220,38,38,.14);
  border-color:rgba(220,38,38,.18)
}
.nav-protected-indicator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:24px;
  padding:.18rem .5rem;
  border-radius:999px;
  font-size:.66rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--offer-accent);
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.14)
}
.nav-resource-indicator{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:44px;
  min-height:24px;
  padding:.18rem .5rem;
  border-radius:999px;
  font-size:.66rem;
  line-height:1;
  font-weight:800;
  letter-spacing:.06em;
  color:var(--offer-ink);
  background:rgba(15,118,110,.1);
  border:1px solid rgba(15,118,110,.2)
}
section{
  position:relative;
  padding:32px;
  border:1px solid var(--offer-border);
  border-radius:22px;
  background:linear-gradient(180deg,var(--offer-section-top),var(--offer-section-bottom));
  box-shadow:var(--offer-shadow-soft)
}
section.has-actions{
  padding-top:32px
}
section.has-actions > h2,
section.has-actions > .intro{
  width:100%;
  max-width:100%
}
section h2{
  display:block;
  width:100%;
  color:var(--offer-ink);
  font-size:29px;
  line-height:1.18;
  letter-spacing:-.02em
}
.intro{
  display:block;
  width:100%;
  max-width:100%
}
.hero-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap
}
.context-back-link,
.block-action-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(11,95,255,.16);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,255,.94));
  color:var(--offer-accent);
  font-size:.71rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
  backdrop-filter:blur(10px);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease
}
.block-action-toggle{
  cursor:pointer
}
.block-action-toggle--icon{
  min-width:22px;
  width:22px;
  min-height:22px;
  padding:0;
  margin-left:0;
  font-size:.66rem;
  letter-spacing:0
}
.block-action-toggle-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  font-size:.66rem;
  line-height:1;
  transform:translateY(-.5px)
}
.context-back-link{
  min-width:98px
}
.context-back-link:hover,
.block-action-link:hover,
.nav-link--protected:hover,
.nav-link--resource:hover,
.protected-ref-link:hover{
  background:rgba(11,95,255,.07);
  border-color:rgba(11,95,255,.24);
  text-decoration:none;
  transform:translateY(-1px);
  box-shadow:0 12px 24px rgba(15,23,42,.08)
}
.intro,.muted,.breadcrumb a,.site-footer{color:var(--offer-muted)}
.context-anchor{
  position:relative;
  top:-164px;
  display:block;
  height:0;
  visibility:hidden;
  scroll-margin-top:148px
}
.has-arrival-badge,
.has-actions.has-arrival-badge{
  padding-top:32px
}
.section-toprail{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  min-height:22px;
  margin-bottom:18px
}
.section-toprail-left,
.section-toprail-right{
  display:flex;
  align-items:flex-end;
  min-height:22px
}
.section-toprail-left{
  justify-content:flex-start;
  flex:0 0 112px
}
.section-toprail-right{
  justify-content:flex-end;
  flex:1 1 auto;
  min-width:0
}
.context-arrival-badge{
  position:absolute;
  top:14px;
  left:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:22px;
  padding:3px 7px;
  border-radius:999px;
  border:1px solid rgba(11,95,255,.18);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(239,246,255,.96));
  color:var(--offer-accent);
  font-size:.53rem;
  font-weight:800;
  letter-spacing:.035em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 4px 10px rgba(15,23,42,.035);
  z-index:3
}
section,
.page-hero--offer,
.table-scroll,
.svg-box{
  scroll-margin-top:148px
}
.block-actions{
  position:absolute;
  top:14px;
  left:14px;
  right:14px;
  display:flex;
  align-items:center;
  gap:3px;
  flex-wrap:nowrap;
  justify-content:flex-end;
  width:auto;
  max-width:none;
  overflow:visible;
  scrollbar-width:none;
  z-index:3
}
.section-toprail .context-arrival-badge,
.section-toprail .block-actions{
  position:static;
  top:auto;
  left:auto;
  right:auto;
  width:auto;
  max-width:none;
  margin:0;
  z-index:auto
}
.section-toprail .block-actions{
  min-width:112px;
  justify-content:flex-end
}
.block-topline{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  width:100%;
  min-width:0
}
.block-topline-kicker{
  display:flex;
  align-items:flex-end;
  min-width:0;
  flex:1 1 auto
}
.block-topline-actions{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  width:100%;
  max-width:100%;
  flex:1 1 auto;
  min-width:0
}
.block-topline .block-actions{
  position:static;
  left:auto;
  right:auto;
  top:auto;
  width:100%;
  max-width:100%;
  min-width:0;
  justify-content:flex-end;
  overflow:visible;
  z-index:auto
}
.block-actions::-webkit-scrollbar{
  display:none
}
.has-arrival-badge .block-actions{
  width:auto;
  max-width:none
}
.block-action-link{
  min-width:0;
  min-height:22px;
  padding:3px 7px;
  font-size:.53rem;
  letter-spacing:.035em;
  box-shadow:0 4px 10px rgba(15,23,42,.035);
  flex:0 0 auto
}
.card-grid-shell{
  display:grid;
  gap:0;
  min-width:0
}
.card-grid{
  min-width:0
}
.card-body{
  display:grid;
  gap:12px;
  min-width:0
}
.card--collapsible.is-collapsed .card-body{
  display:none
}
.card.has-actions{padding-top:var(--card-pad-y)}
.risk-page .card.has-actions{padding-top:var(--card-pad-y)}
.productivity-gate-copy .block-actions{top:auto;right:auto}
.productivity-card .block-actions{top:auto;right:auto}
.cards,.grid-2,.grid-3,.stats,.risk-signal-grid,.risk-quote-grid,.risk-stage-grid{gap:20px}
.stats{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.stats--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.card,.gate-card,.exercise-card,.focus-card,.template-card,.tool-card,.panel,.timeline-step,
.risk-panel,.risk-signal,.risk-stage-card,.risk-spotlight,.risk-quote-card,.risk-explorer-chart-card,
.risk-spotlight-metric,.risk-quote-metric{
  position:relative;
  display:grid;
  align-content:start;
  gap:var(--card-gap);
  border:1px solid var(--offer-border);
  background:var(--offer-surface);
  border-radius:var(--card-radius);
  box-shadow:var(--offer-shadow-soft);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.card,.gate-card,.exercise-card,.focus-card,.template-card,.tool-card,.panel{
  padding:var(--card-pad-y) var(--card-pad-x) calc(var(--card-pad-y) - 2px)
}
.card:hover,.gate-card:hover,.exercise-card:hover,.focus-card:hover,.template-card:hover,.tool-card:hover,.panel:hover{
  transform:translateY(-2px);
  border-color:rgba(11,95,255,.18)
}
.card--clickable{
  cursor:pointer
}
.card--clickable:focus-visible{
  outline:3px solid rgba(11,95,255,.28);
  outline-offset:3px
}
.card .offer-kicker,.gate-card .offer-kicker,.exercise-card .offer-kicker,.focus-card .offer-kicker,
.template-card .offer-kicker,.tool-card .offer-kicker,.panel .offer-kicker,.risk-signal-kicker,.risk-stage-kicker{
  margin:0;
  color:rgba(63,85,118,.92);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.075em;
  text-transform:uppercase
}
.card h3,.gate-card h3,.exercise-card h3,.focus-card h3,.template-card h3,.tool-card h3,.panel h3,.timeline-step h3,
.risk-panel h3,.risk-stage-card strong,.risk-spotlight h3,.risk-quote-card h3,.risk-explorer-head h3{
  margin:0;
  color:var(--offer-ink);
  font-weight:800;
  letter-spacing:-.022em;
  line-height:1.12;
  text-wrap:balance
}
.card p,.gate-card p,.exercise-card p,.focus-card p,.template-card p,.tool-card p,.panel p,.timeline-step p,
.risk-panel p,.risk-signal p,.risk-spotlight-copy,.risk-explorer-copy,.risk-heatmap-cell span{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.68
}
.card a{color:var(--offer-accent);text-decoration:none}
.card a:hover{text-decoration:underline}
.productivity-gate{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:18px;
  margin-bottom:18px;
  padding:22px;
  border:1px solid rgba(11,95,255,.12);
  border-radius:24px;
  background:linear-gradient(135deg, rgba(11,95,255,.06), rgba(255,255,255,.985) 34%, rgba(245,158,11,.08) 100%);
  box-shadow:var(--offer-shadow-soft)
}
.productivity-gate--compact{
  padding:18px
}
.productivity-gate-copy{
  position:relative;
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  justify-self:stretch;
  align-self:stretch;
  box-sizing:border-box;
  gap:12px;
  align-content:start;
  padding-top:0
}
.productivity-gate-copy h3{
  margin:0;
  color:var(--offer-ink);
  font-size:1.12rem;
  line-height:1.14;
  text-wrap:balance
}
.productivity-gate-copy p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.72
}
.productivity-gate-notes{
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.productivity-gate-note{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:999px;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.02em;
  border:1px solid transparent
}
.productivity-gate-note--warning{
  background:rgba(245,158,11,.12);
  color:#9a3412;
  border-color:rgba(245,158,11,.22)
}
.productivity-gate-note--open{
  background:rgba(22,163,74,.12);
  color:#166534;
  border-color:rgba(22,163,74,.22)
}
.productivity-gate-scale{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:14px
}
.productivity-gate-step{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:100%;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(185,199,216,.74);
  background:rgba(255,255,255,.92);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease
}
.productivity-gate-step:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 30px rgba(15,23,42,.08)
}
.productivity-gate-step--locked{
  border-color:rgba(148,163,184,.26)
}
.productivity-gate-step--warning{
  border-color:rgba(245,158,11,.24);
  background:rgba(255,251,235,.94)
}
.productivity-gate-step--open{
  border-color:rgba(22,163,74,.24);
  background:rgba(240,253,244,.96)
}
.productivity-gate-step-index{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(15,23,42,.06);
  color:var(--offer-ink);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em
}
.productivity-gate-step h4{
  margin:0;
  color:var(--offer-ink);
  font-size:.96rem;
  line-height:1.35;
  text-wrap:balance
}
.productivity-gate-step p{
  margin:0;
  color:var(--offer-ink-soft);
  font-size:.84rem;
  line-height:1.6
}
.productivity-gate-badge{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:999px;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1.3;
  border:1px solid transparent
}
.productivity-gate-badge--locked{
  background:rgba(148,163,184,.10);
  color:#475569;
  border-color:rgba(148,163,184,.18)
}
.productivity-gate-badge--warning{
  background:rgba(245,158,11,.12);
  color:#9a3412;
  border-color:rgba(245,158,11,.22)
}
.productivity-gate-badge--open{
  background:rgba(22,163,74,.12);
  color:#166534;
  border-color:rgba(22,163,74,.22)
}
.productivity-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin-top:18px
}
.productivity-grid--compact{
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))
}
.productivity-card{
  position:relative;
  display:grid;
  gap:14px;
  min-height:100%;
  padding:20px 20px 18px;
  border:1px solid var(--offer-border);
  border-radius:22px;
  background:linear-gradient(180deg,var(--offer-surface-muted),#ffffff);
  box-shadow:var(--offer-shadow-soft);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease
}
.productivity-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(15,23,42,.10)
}
.productivity-card--success{
  border-color:rgba(22,163,74,.18);
  background:linear-gradient(180deg, rgba(22,163,74,.08), rgba(255,255,255,.98))
}
.productivity-card--info{
  border-color:rgba(11,95,255,.16);
  background:linear-gradient(180deg, rgba(11,95,255,.07), rgba(255,255,255,.98))
}
.productivity-card--warning{
  border-color:rgba(245,158,11,.18);
  background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,.98))
}
.productivity-kicker{
  margin:0;
  color:var(--offer-muted);
  font-size:.75rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}
.productivity-head{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px
}
.productivity-coef,
.productivity-gain{
  display:grid;
  gap:4px;
  padding:12px 12px 10px;
  border-radius:16px;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(185,199,216,.72)
}
.productivity-coef-label,
.productivity-gain-label{
  color:var(--offer-muted);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em
}
.productivity-coef strong,
.productivity-gain strong{
  color:var(--offer-ink);
  font-size:1.38rem;
  line-height:1.05;
  letter-spacing:-.03em
}
.productivity-card h3{
  margin:0;
  color:var(--offer-ink);
  font-size:1.04rem;
  line-height:1.16;
  text-wrap:balance
}
.productivity-card p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.72
}
.productivity-condition{
  margin:0;
  padding:10px 12px;
  border-radius:14px;
  border:1px dashed rgba(245,158,11,.28);
  background:rgba(245,158,11,.08);
  color:#8a4b06;
  font-size:.82rem;
  line-height:1.6
}
.productivity-footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto
}
.productivity-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(185,199,216,.78);
  background:rgba(255,255,255,.88);
  color:var(--offer-muted);
  font-size:.77rem;
  font-weight:700
}
.productivity-chip--strong{
  color:var(--offer-ink);
  border-color:rgba(11,95,255,.16);
  background:rgba(11,95,255,.06)
}
.gate-shell{display:grid;gap:20px}
.commercial-gate{
  padding:24px;
  border:1px solid var(--offer-border);
  border-radius:22px;
  background:linear-gradient(180deg,var(--offer-surface-muted),#ffffff);
  box-shadow:var(--offer-shadow-soft)
}
.gate-form{margin-top:18px}
.gate-input-row{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  gap:12px;
  align-items:center
}
.gate-input{
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid rgba(143,160,176,.7);
  border-radius:14px;
  background:#ffffff;
  color:var(--offer-ink);
  font:inherit
}
.gate-input:focus{
  outline:2px solid rgba(11,95,255,.18);
  outline-offset:1px;
  border-color:rgba(11,95,255,.3)
}
.gate-button{
  min-height:48px;
  padding:0 18px;
  border:1px solid rgba(11,95,255,.18);
  border-radius:14px;
  background:linear-gradient(135deg, rgba(11,95,255,.10), rgba(15,118,110,.08));
  color:var(--offer-ink);
  font:inherit;
  font-weight:700;
  cursor:pointer
}
.gate-button--ghost{
  background:#ffffff
}
.gate-message{
  min-height:1.5em;
  margin:12px 0 0;
  color:var(--offer-muted)
}
.commercial-space-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
  padding:16px 18px;
  border:1px solid var(--offer-border);
  border-radius:18px;
  background:linear-gradient(135deg, rgba(11,95,255,.06), rgba(15,118,110,.04))
}
.commercial-space-title{
  display:block;
  margin-top:4px;
  color:var(--offer-ink);
  font-size:1.1rem;
  line-height:1.3
}
.commercial-space-note{
  margin:6px 0 0;
  color:var(--offer-muted)
}
.access-state-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
  margin-top:16px
}
.access-state{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px 14px;
  border-radius:16px;
  border:1px solid var(--offer-border);
  background:rgba(255,255,255,.86)
}
.access-state strong{
  color:var(--offer-ink);
  font-size:.92rem
}
.access-state span{
  color:var(--offer-muted);
  font-size:.82rem;
  line-height:1.45
}
.access-state--danger{
  border-color:rgba(220,38,38,.16);
  background:rgba(220,38,38,.05)
}
.access-state--success{
  border-color:rgba(22,163,74,.16);
  background:rgba(22,163,74,.05)
}
.term-tooltip{
  position:relative;
  display:inline;
  color:inherit;
  font:inherit;
  text-decoration-line:underline;
  text-decoration-style:dotted;
  text-decoration-color:rgba(0,0,0,.7);
  text-decoration-thickness:1px;
  text-underline-offset:.14em;
  cursor:help
}
.term-tooltip::after,
.term-tooltip::before{
  display:none !important
}
.term-tooltip.is-open{
  background:rgba(11,95,255,.08);
  border-radius:4px
}
.term-tooltip:focus-visible{
  outline:2px solid rgba(11,95,255,.22);
  outline-offset:2px;
  border-radius:4px
}
.term-tooltip-layer{
  position:fixed;
  inset:0 auto auto 0;
  z-index:4000;
  width:max-content;
  max-width:calc(100vw - 32px);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .14s ease, visibility .14s ease
}
.term-tooltip-layer.is-visible{
  opacity:1;
  visibility:visible
}
.term-tooltip-layer-box{
  position:relative;
  min-width:0;
  max-width:min(360px, calc(100vw - 32px));
  padding:10px 12px;
  border-radius:12px;
  background:rgba(17,24,39,.96);
  color:#ffffff;
  font-size:.82rem;
  line-height:1.45;
  font-weight:500;
  text-align:left;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:normal;
  box-shadow:0 10px 28px rgba(15,23,42,.18)
}
.term-tooltip-layer-box::after{
  content:"";
  position:absolute;
  left:var(--term-tooltip-anchor-x, 50%);
  transform:translateX(-50%);
  border-style:solid
}
.term-tooltip-layer[data-side="top"] .term-tooltip-layer-box::after{
  top:100%;
  border-width:6px 6px 0 6px;
  border-color:rgba(17,24,39,.96) transparent transparent transparent
}
.term-tooltip-layer[data-side="bottom"] .term-tooltip-layer-box::after{
  bottom:100%;
  border-width:0 6px 6px 6px;
  border-color:transparent transparent rgba(17,24,39,.96) transparent
}
.product-visual{
  margin:0 0 16px;
  border:1px solid var(--offer-border);
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(180deg,var(--offer-surface-muted),#ffffff)
}
.product-visual img{
  display:block;
  width:100%;
  height:auto;
  background:#ffffff
}
.product-brand{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  padding:16px 16px 0
}
.product-brand img{
  width:auto;
  height:30px;
  max-width:160px
}
.product-visual figcaption{
  margin:0;
  padding:12px 14px 14px;
  color:var(--offer-muted);
  font-size:.82rem;
  line-height:1.5;
  border-top:1px solid var(--offer-border);
  background:rgba(255,255,255,.92)
}
.stat{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:186px;
  border:1px solid var(--offer-border);
  border-radius:18px;
  padding:22px 20px;
  background:linear-gradient(180deg,var(--offer-surface-muted),#ffffff)
}
.stat > .stat-value{
  display:block;
  font-size:1.85rem;
  color:var(--offer-ink);
  margin:0;
  line-height:1.08;
  letter-spacing:-.02em;
  text-wrap:balance
}
.stat > .stat-label{
  display:block;
  color:var(--offer-muted);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  line-height:1.35
}
.stat > .stat-detail{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.58;
  text-wrap:pretty
}
.svg-box{
  border:0;
  padding:0;
  background:transparent;
  box-shadow:none;
  overflow:visible
}
.offer-flow{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin-top:8px
}
.offer-flow-step{
  position:relative;
  min-height:152px;
  padding:18px 18px 16px;
  border:1px solid var(--offer-border);
  border-radius:20px;
  background:var(--offer-surface);
  box-shadow:var(--offer-shadow-soft)
}
.offer-flow-step:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:20px 0 0 20px;
  background:var(--offer-accent)
}
.offer-flow-step h3{
  margin:10px 0 10px;
  color:var(--offer-ink);
  font-size:1.05rem;
  line-height:1.25
}
.offer-flow-step p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.offer-flow-step-index{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:2rem;
  height:2rem;
  padding:0 .45rem;
  border-radius:999px;
  background:#eaf1fb;
  color:var(--offer-accent);
  font-size:.82rem;
  font-weight:800
}
.offer-flow-step--blue:before{background:#6b8fb4}
.offer-flow-step--green:before{background:#6c8b73}
.offer-flow-step--amber:before{background:#b18a57}
.offer-flow-step--violet:before{background:#8d78a2}
.offer-flow-summary{
  display:grid;
  gap:8px;
  margin-top:16px;
  padding:18px 20px;
  border:1px solid var(--offer-border);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(11,95,255,.06), rgba(15,118,110,.04));
  box-shadow:var(--offer-shadow-soft)
}
.offer-flow-summary strong{
  color:var(--offer-ink);
  font-size:1rem
}
.offer-flow-summary p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.64
}
.context-map-shell{
  display:grid;
  gap:14px;
  margin-top:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(190,204,221,.92);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(255,255,255,.98));
  box-shadow:var(--offer-shadow-soft)
}
.context-map-header{
  display:grid;
  gap:8px
}
.context-map-header p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.context-map-chip{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.16);
  color:var(--offer-accent);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.context-map-d3{
  width:100%;
  min-height:446px;
  border-radius:20px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.05), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,247,252,.95));
  overflow:hidden
}
.context-map-d3 svg{
  display:block;
  width:100%;
  height:auto
}
.context-map-link{
  fill:none;
  stroke:rgba(127,151,178,.6);
  stroke-width:2.4;
  stroke-linecap:round
}
.context-map-node{
  transition:transform .18s ease, opacity .18s ease
}
.context-map-node rect{
  transition:transform .18s ease, stroke-width .18s ease
}
.context-map-node.is-active{
  transform:scale(1.02)
}
.context-map-node.is-active rect{
  stroke-width:2.8
}
.context-map-node-label{
  fill:var(--offer-ink);
  font-size:15px;
  font-weight:800
}
.context-map-node-kicker{
  fill:rgba(76,96,126,.85);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase
}
.context-map-node-note{
  fill:rgba(76,96,126,.92);
  font-size:11.5px
}
.context-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.context-map-legend-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.context-map-legend-pill--blue{background:#eef4fb;color:#47698d}
.context-map-legend-pill--green{background:#eef7f1;color:#4f6a59}
.context-map-legend-pill--amber{background:#fff5e8;color:#9b6c1c}
.context-map-legend-pill--violet{background:#f3eef9;color:#7b6198}
.enterprise-map-shell,
.trajectory-map-shell{
  display:grid;
  gap:14px;
  margin-top:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(190,204,221,.92);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(255,255,255,.98));
  box-shadow:var(--offer-shadow-soft)
}
.enterprise-map-header,
.trajectory-map-header{
  display:grid;
  gap:8px
}
.enterprise-map-header p,
.trajectory-map-header p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.enterprise-map-chip,
.trajectory-map-chip{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.16);
  color:var(--offer-accent);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.enterprise-map-d3{
  width:100%;
  min-height:330px;
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.05), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(243,247,252,.95));
  overflow:hidden
}
.enterprise-map-d3 svg,
.trajectory-map-d3 svg{
  display:block;
  width:100%;
  height:auto
}
.enterprise-map-link{
  fill:none;
  stroke:rgba(127,151,178,.62);
  stroke-width:3;
  stroke-linecap:round
}
.enterprise-map-node{
  transition:transform .18s ease
}
.enterprise-map-node rect{
  transition:stroke-width .18s ease, transform .18s ease
}
.enterprise-map-node.is-active{
  transform:translateY(-2px)
}
.enterprise-map-node.is-active rect{
  stroke-width:2.8
}
.enterprise-map-node-eyebrow{
  fill:rgba(76,96,126,.88);
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase
}
.enterprise-map-node-title{
  fill:var(--offer-ink);
  font-size:17px;
  font-weight:800
}
.enterprise-map-node-body{
  fill:rgba(76,96,126,.94);
  font-size:13px
}
.enterprise-map-summary{
  fill:#5e748a;
  font-size:14px
}
.enterprise-map-legend,
.trajectory-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.enterprise-map-legend-pill,
.trajectory-map-legend-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.enterprise-map-legend-pill--blue,
.trajectory-map-legend-pill--blue{background:#eef4fb;color:#47698d}
.enterprise-map-legend-pill--green,
.trajectory-map-legend-pill--green{background:#eef7f1;color:#4f6a59}
.enterprise-map-legend-pill--amber,
.trajectory-map-legend-pill--amber{background:#fff5e8;color:#9b6c1c}
.enterprise-map-legend-pill--violet,
.trajectory-map-legend-pill--violet{background:#f3eef9;color:#7b6198}
.trajectory-map-d3{
  width:100%;
  min-height:330px;
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.04), rgba(255,255,255,0) 32%),
    linear-gradient(180deg, rgba(255,255,255,.99), rgba(244,248,252,.96));
  overflow:hidden
}
.trajectory-map-axis{
  stroke:#cad6e3;
  stroke-width:8;
  stroke-linecap:round
}
.trajectory-map-connector{
  stroke:rgba(127,151,178,.42);
  stroke-width:3;
  stroke-linecap:round
}
.trajectory-map-bubble{
  stroke-width:3
}
.trajectory-map-index{
  fill:var(--offer-ink);
  font-size:17px;
  font-weight:800
}
.trajectory-map-card{
  transition:stroke-width .18s ease, transform .18s ease
}
.trajectory-map-step{
  transition:transform .18s ease
}
.trajectory-map-step.is-active{
  transform:translateY(-2px)
}
.trajectory-map-step.is-active .trajectory-map-card{
  stroke-width:2.8
}
.trajectory-map-card-kicker{
  fill:rgba(76,96,126,.88);
  font-size:11px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase
}
.trajectory-map-card-title{
  fill:var(--offer-ink);
  font-size:16px;
  font-weight:800
}
.trajectory-map-card-note{
  fill:rgba(76,96,126,.94);
  font-size:13px
}
.trajectory-map-summary{
  fill:#5e748a;
  font-size:14px
}
.platform-map-shell{
  display:grid;
  gap:14px;
  margin-top:18px;
  padding:18px 18px 16px;
  border:1px solid rgba(190,204,221,.92);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(255,255,255,.98));
  box-shadow:var(--offer-shadow-soft)
}
.platform-map-header{
  display:grid;
  gap:8px
}
.platform-map-header p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.platform-map-chip{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.16);
  color:var(--offer-accent);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.platform-map-stage{
  display:grid;
  grid-template-columns:minmax(0, 1.7fr) minmax(260px, .9fr);
  gap:16px;
  align-items:stretch
}
.platform-map-cy{
  width:100%;
  min-height:390px;
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.04), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,247,252,.95));
  overflow:hidden
}
.platform-map-detail{
  display:grid;
  align-content:start;
  gap:10px;
  padding:18px 18px 16px;
  border-radius:22px;
  border:1px solid rgba(190,204,221,.92);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,255,.96));
  box-shadow:0 12px 28px rgba(148,163,184,.12)
}
.platform-map-detail-kicker{
  margin:0;
  color:#557191;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase
}
.platform-map-detail-title{
  margin:0;
  color:var(--offer-ink);
  font-size:1.36rem;
  line-height:1.14
}
.platform-map-detail-note{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.platform-map-detail-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px
}
.platform-map-detail-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.14);
  color:#47698d;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.05em
}
.platform-map-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.platform-map-legend-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.platform-map-legend-pill--blue{background:#eef4fb;color:#47698d}
.platform-map-legend-pill--green{background:#eef7f1;color:#4f6a59}
.platform-map-legend-pill--amber{background:#fff5e8;color:#9b6c1c}
.platform-map-legend-pill--violet{background:#f3eef9;color:#7b6198}
.platform-map-legend-pill--steel{background:#eef2f6;color:#627484}
@media (max-width: 980px){
  .platform-map-stage{
    grid-template-columns:1fr;
  }
  .platform-map-cy{
    min-height:360px;
  }
}
.offer-flow-target{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  padding:8px 12px;
  border:1px solid rgba(11,95,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--offer-ink);
  font-size:.88rem;
  font-weight:700
}
.protected-ref-link{
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
  width:max-content;
  margin-top:14px;
  padding:14px 16px;
  border:1px solid rgba(11,95,255,.16);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(244,248,255,.94));
  box-shadow:0 10px 22px rgba(15,23,42,.06);
  color:var(--offer-ink);
  text-decoration:none;
  backdrop-filter:blur(10px);
  transition:transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease
}
.protected-ref-link-label{
  font-size:.9rem;
  font-weight:700;
  color:var(--offer-ink)
}
.protected-ref-link-note{
  font-size:.76rem;
  line-height:1.45;
  color:var(--offer-muted);
  text-transform:uppercase;
  letter-spacing:.04em
}
.table-scroll{
  position:relative;
  display:block;
  width:100%;
  margin:16px 0 0;
  overflow-x:clip;
  overflow-y:visible;
  border:1px solid rgba(190,204,221,.92);
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(248,251,255,.98));
  box-shadow:var(--offer-shadow-soft);
  border-radius:22px;
  isolation:isolate
}
.table-scroll--resizable{
  --table-resizer-hit: 14px;
  --table-resizer-line: rgba(11,95,255,.24);
  --table-resizer-line-active: rgba(11,95,255,.52)
}
.table-scroll::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, rgba(11,95,255,.24), rgba(125,211,252,.26));
  z-index:1
}
.table-scroll table,
.offer-table{
  width:100%;
  min-width:0;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:transparent
}
thead th{
  border-top:0;
  border-bottom:1px solid rgba(201,214,231,.88);
  background:linear-gradient(180deg, rgba(237,244,252,.98), rgba(229,238,248,.96));
  color:var(--offer-ink);
  font-size:.77rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:800;
  vertical-align:middle;
  position:relative
}
.offer-table--resizable thead th{
  padding-right:20px
}
.offer-table--resizable thead th.is-resizable-header{
  user-select:none
}
.table-col-resizer{
  position:absolute;
  top:0;
  right:calc(var(--table-resizer-hit, 14px) / -2);
  width:var(--table-resizer-hit, 14px);
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  cursor:col-resize;
  z-index:4;
  touch-action:none
}
.table-col-resizer::before{
  content:"";
  position:absolute;
  top:18%;
  bottom:18%;
  left:50%;
  width:2px;
  transform:translateX(-50%);
  border-radius:999px;
  background:var(--table-resizer-line, rgba(11,95,255,.24));
  opacity:.45;
  transition:opacity .16s ease, background .16s ease, box-shadow .16s ease
}
.table-col-resizer:hover::before,
.table-col-resizer.is-active::before,
.offer-table--resizable.is-resizing .table-col-resizer::before{
  opacity:1;
  background:var(--table-resizer-line-active, rgba(11,95,255,.52));
  box-shadow:0 0 0 4px rgba(11,95,255,.08)
}
body.is-col-resizing,
body.is-col-resizing *{
  cursor:col-resize !important;
  user-select:none !important
}
thead th,tbody td{border-bottom:1px solid rgba(214,224,237,.92)}
th,
td{
  min-width:0;
  padding:12px 14px;
  overflow-wrap:anywhere;
  word-break:normal;
  hyphens:auto
}
td{
  color:var(--offer-ink-soft);
  background:rgba(255,255,255,.96);
  line-height:1.6;
  vertical-align:top
}
td.table-col--compact,
td.table-col--metric{
  white-space:nowrap;
  overflow-wrap:normal;
  word-break:keep-all;
  hyphens:none;
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em
}
th.table-col--compact,
td.table-col--compact{
  padding-left:10px;
  padding-right:10px
}
th.table-col--metric,
td.table-col--metric{
  padding-left:11px;
  padding-right:11px
}
th.table-col--wide,
td.table-col--wide{
  line-height:1.55
}
tbody tr{
  transition:background .16s ease
}
tbody tr:hover td{
  background:rgba(236,244,255,.86)
}
th + th,td + td{border-left:1px solid rgba(197,210,226,.78)}
thead th:first-child{border-top-left-radius:19px}
thead th:last-child{border-top-right-radius:19px}
tbody tr:nth-child(even) td{background:rgba(247,250,255,.96)}
tbody tr:last-child td{border-bottom:none}
tbody tr:last-child td:first-child{border-bottom-left-radius:19px}
tbody tr:last-child td:last-child{border-bottom-right-radius:19px}
.risk-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.28rem .72rem;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  border:1px solid transparent;
  white-space:nowrap
}
.risk-chip--success{
  color:#166534;
  background:rgba(22,163,74,.12);
  border-color:rgba(22,163,74,.18)
}
.risk-chip--warning{
  color:#9a3412;
  background:rgba(245,158,11,.15);
  border-color:rgba(217,119,6,.18)
}
.risk-chip--danger{
  color:#991b1b;
  background:rgba(220,38,38,.12);
  border-color:rgba(220,38,38,.18)
}
.risk-visual-grid{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);
  gap:26px;
  margin-top:6px;
  align-items:start
}
.risk-panel{
  padding:28px;
  border:1px solid var(--offer-border);
  border-radius:22px;
  background:linear-gradient(180deg,var(--offer-surface-muted),#ffffff);
  box-shadow:var(--offer-shadow-soft);
  min-height:100%
}
.risk-panel h3{
  margin:6px 0 14px;
  color:var(--offer-ink);
  font-size:1.16rem;
  line-height:1.14
}
.risk-panel-note{
  margin:20px 0 0;
  color:var(--offer-ink-soft);
  line-height:1.72
}
.risk-panel--gauge{
  background:
    radial-gradient(circle at top right, rgba(220,38,38,.10), transparent 34%),
    linear-gradient(180deg,var(--offer-surface-muted),#ffffff)
}
.risk-panel--heatmap{
  background:
    radial-gradient(circle at top right, rgba(245,158,11,.12), transparent 34%),
    linear-gradient(180deg,var(--offer-surface-muted),#ffffff)
}
.risk-gauge{
  --risk-progress:80%;
  --risk-tone:var(--offer-danger);
  position:relative;
  width:min(220px, 100%);
  aspect-ratio:1;
  margin:6px auto 18px;
  border-radius:50%;
  background:
    conic-gradient(var(--risk-tone) 0 var(--risk-progress), rgba(217,226,236,.78) var(--risk-progress) 100%);
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.48)
}
.risk-gauge:before{
  content:"";
  position:absolute;
  inset:18px;
  border-radius:50%;
  background:linear-gradient(180deg,#ffffff,#f7faff);
  box-shadow:inset 0 0 0 1px rgba(185,199,216,.65)
}
.risk-gauge-center{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center
}
.risk-gauge-center strong{
  color:var(--offer-danger);
  font-size:2.4rem;
  line-height:1;
  letter-spacing:-.04em
}
.risk-gauge-center span{
  margin-top:6px;
  color:var(--offer-muted);
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700
}
.risk-scale{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
  margin-top:4px
}
.risk-scale-step{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  border-radius:14px;
  border:1px solid transparent;
  font-size:.95rem;
  font-weight:800;
  color:var(--offer-ink);
  background:rgba(255,255,255,.9)
}
.risk-scale-step--success{
  border-color:rgba(22,163,74,.16);
  background:rgba(22,163,74,.12)
}
.risk-scale-step--warning{
  border-color:rgba(217,119,6,.18);
  background:rgba(245,158,11,.15)
}
.risk-scale-step--danger{
  border-color:rgba(220,38,38,.18);
  background:rgba(220,38,38,.14)
}
.risk-scale-step.is-active{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(15,23,42,.08)
}
.risk-heatmap{
  display:grid;
  grid-template-columns:120px repeat(3, minmax(0,1fr));
  gap:12px;
  align-items:stretch
}
.risk-heatmap-corner,
.risk-heatmap-header,
.risk-heatmap-rowlabel,
.risk-heatmap-cell{
  border-radius:16px
}
.risk-heatmap-header,
.risk-heatmap-rowlabel{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:60px;
  padding:12px;
  border:1px solid var(--offer-border);
  background:#f8fbff;
  color:var(--offer-muted);
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  text-align:center;
  line-height:1.45
}
.risk-heatmap-corner{
  border:1px dashed rgba(185,199,216,.75);
  background:rgba(255,255,255,.55)
}
.risk-heatmap-cell{
  position:relative;
  display:grid;
  gap:8px;
  min-height:132px;
  padding:16px 16px 14px;
  border:1px solid var(--offer-border);
  background:#ffffff;
  box-shadow:var(--offer-shadow-soft)
}
.risk-heatmap-cell strong{
  color:var(--offer-ink);
  font-size:.95rem;
  line-height:1.35;
  text-wrap:balance
}
.risk-heatmap-cell span{
  color:var(--offer-ink-soft);
  font-size:.82rem;
  line-height:1.5
}
.risk-heatmap-cell--success{
  background:linear-gradient(180deg, rgba(22,163,74,.10), rgba(255,255,255,.98));
  border-color:rgba(22,163,74,.16)
}
.risk-heatmap-cell--warning{
  background:linear-gradient(180deg, rgba(245,158,11,.12), rgba(255,255,255,.98));
  border-color:rgba(217,119,6,.18)
}
.risk-heatmap-cell--danger{
  background:linear-gradient(180deg, rgba(220,38,38,.12), rgba(255,255,255,.98));
  border-color:rgba(220,38,38,.18)
}
.risk-heatmap-cell.is-active{
  outline:2px solid rgba(220,38,38,.22);
  outline-offset:2px
}
.risk-heatmap-badge{
  width:max-content;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(220,38,38,.18);
  color:#991b1b;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  line-height:1.2;
  text-align:center;
  white-space:normal
}
.risk-signal-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
  margin-top:24px
}
.risk-signal{
  padding:20px 20px 18px;
  border-radius:20px;
  border:1px solid var(--offer-border);
  background:#ffffff;
  box-shadow:var(--offer-shadow-soft)
}
.risk-signal strong{
  color:var(--offer-ink);
  font-size:1.7rem;
  line-height:1;
  letter-spacing:-.04em
}
.risk-signal p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.55
}
.risk-signal-kicker{
  color:var(--offer-muted);
  font-size:.74rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em
}
.risk-signal--warning{
  background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,.98));
  border-color:rgba(217,119,6,.18)
}
.risk-signal--danger{
  background:linear-gradient(180deg, rgba(220,38,38,.10), rgba(255,255,255,.98));
  border-color:rgba(220,38,38,.18)
}
.risk-explorer{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(280px,.85fr);
  gap:22px;
  align-items:stretch
}
.risk-explorer-chart-card,
.risk-explorer-side{
  display:grid;
  gap:18px
}
.risk-explorer-chart-card{
  padding:24px;
  border:1px solid rgba(185,199,216,.84);
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(11,95,255,.10), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,250,253,.98));
  box-shadow:var(--offer-shadow-soft)
}
.risk-explorer-head{
  display:grid;
  gap:16px
}
.risk-explorer-head h3{
  margin:6px 0 6px;
  color:var(--offer-ink);
  font-size:1.2rem;
  line-height:1.14
}
.risk-explorer-copy{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.74
}
.risk-explorer-legend{
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.risk-legend-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(185,199,216,.8);
  background:rgba(255,255,255,.9);
  color:var(--offer-ink);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.03em
}
.risk-legend-pill:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:999px
}
.risk-legend-pill--demo:before{background:linear-gradient(135deg,#22c55e,#16a34a)}
.risk-legend-pill--project:before{background:linear-gradient(135deg,#f59e0b,#ea580c)}
.risk-legend-pill--production:before{background:linear-gradient(135deg,#ef4444,#dc2626)}
.risk-explorer-chart-wrap{
  position:relative;
  padding:6px 8px 0;
  border-radius:20px;
  background:linear-gradient(180deg, rgba(246,249,252,.98), rgba(255,255,255,.9));
  border:1px solid rgba(185,199,216,.7)
}
.risk-explorer-svg{
  width:100%;
  height:auto;
  display:block
}
.risk-chart-grid-line{
  stroke:rgba(185,199,216,.6);
  stroke-width:1
}
.risk-chart-grid-label,
.risk-chart-axis-label{
  fill:#64748b;
  font-size:12px;
  font-weight:700
}
.risk-chart-line{
  fill:none;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 10px 18px rgba(15,23,42,.08));
  stroke-dasharray:900;
  stroke-dashoffset:900;
  animation:risk-line-draw 1s ease forwards
}
.risk-chart-line--project{animation-delay:.08s}
.risk-chart-line--production{animation-delay:.16s}
.risk-chart-point{
  fill:#ffffff;
  stroke-width:4;
  cursor:pointer;
  transition:transform .16s ease,r .16s ease,filter .16s ease,opacity .16s ease
}
.risk-chart-point--demo{stroke:#16a34a}
.risk-chart-point--project{stroke:#ea580c}
.risk-chart-point--production{stroke:#dc2626}
.risk-chart-point:hover,
.risk-chart-point:focus,
.risk-chart-point.is-active{
  filter:drop-shadow(0 10px 18px rgba(15,23,42,.14));
  transform:scale(1.08)
}
.risk-explorer-focus-line{
  stroke:rgba(15,23,42,.16);
  stroke-width:2;
  stroke-dasharray:6 7
}
.risk-explorer-tooltip{
  position:absolute;
  pointer-events:none;
  transform:translate(-50%,-100%);
  display:grid;
  gap:3px;
  min-width:180px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid rgba(15,23,42,.08);
  background:rgba(15,23,42,.94);
  color:#f8fafc;
  box-shadow:0 16px 38px rgba(15,23,42,.22)
}
.risk-explorer-tooltip strong{
  font-size:.82rem;
  letter-spacing:.04em;
  text-transform:uppercase
}
.risk-explorer-tooltip span,
.risk-explorer-tooltip em{
  font-size:.84rem;
  line-height:1.45;
  font-style:normal
}
.risk-explorer-tooltip-price,
.risk-spotlight-metric strong,
.quote-metric-value{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  text-wrap:nowrap
}
.risk-stage-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:12px
}
.risk-stage-card{
  gap:8px;
  width:100%;
  padding:18px 18px 16px;
  border-radius:18px;
  border:1px solid rgba(185,199,216,.84);
  background:rgba(255,255,255,.96);
  box-shadow:var(--offer-shadow-soft);
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease
}
.risk-stage-card strong{
  color:var(--offer-ink);
  font-size:.95rem;
  line-height:1.35;
  text-wrap:balance
}
.risk-stage-card:hover,
.risk-stage-card:focus,
.risk-stage-card.is-active{
  transform:translateY(-2px);
  border-color:rgba(11,95,255,.2);
  box-shadow:0 18px 34px rgba(15,23,42,.10)
}
.risk-stage-card--success{background:linear-gradient(180deg, rgba(22,163,74,.08), rgba(255,255,255,.98))}
.risk-stage-card--warning{background:linear-gradient(180deg, rgba(245,158,11,.10), rgba(255,255,255,.98))}
.risk-stage-card--danger{background:linear-gradient(180deg, rgba(220,38,38,.10), rgba(255,255,255,.98))}
.risk-stage-kicker,
.risk-stage-note{
  color:var(--offer-muted);
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.risk-spotlight{
  gap:16px;
  padding:22px 22px 20px;
  border-radius:24px;
  border:1px solid rgba(185,199,216,.84);
  background:
    radial-gradient(circle at top right, rgba(11,95,255,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(246,249,252,.98));
  box-shadow:var(--offer-shadow-soft)
}
.risk-spotlight h3{
  margin:0;
  color:var(--offer-ink);
  font-size:1.14rem;
  line-height:1.14;
  text-wrap:balance
}
.risk-spotlight-copy{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.72
}
.risk-spotlight-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.risk-spotlight-metric{
  display:grid;
  gap:6px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(185,199,216,.72)
}
.risk-spotlight-metric span{
  color:var(--offer-muted);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase
}
.risk-spotlight-metric strong{
  color:var(--offer-ink);
  font-size:1rem;
  line-height:1.22;
  text-wrap:balance
}
.risk-spotlight-footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px
}
.risk-heatmap-cell,
.risk-signal,
.risk-quote-card,
.risk-page .card,
.hbar-board-row{
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease
}
.risk-heatmap-cell:hover,
.risk-signal:hover,
.risk-quote-card:hover,
.risk-page .card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 34px rgba(15,23,42,.10)
}
.risk-quote-band{
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,.8fr);
  gap:22px;
  margin:4px 0 26px;
  padding:26px 28px;
  border:1px solid rgba(185,199,216,.8);
  border-radius:22px;
  background:
    linear-gradient(135deg, rgba(11,95,255,.08), rgba(15,118,110,.05)),
    #ffffff;
  box-shadow:var(--offer-shadow-soft)
}
.risk-quote-band-copy h3{
  margin:6px 0 8px;
  color:var(--offer-ink);
  font-size:1.18rem;
  line-height:1.12
}
.risk-quote-band-copy p:last-child{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.68
}
.risk-quote-legend{
  display:flex;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:10px
}
.risk-quote-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;
  margin:0 0 26px
}
.risk-quote-card{
  gap:16px;
  padding:22px 20px 18px;
  border-radius:20px;
  border:1px solid var(--offer-border);
  background:#ffffff;
  box-shadow:var(--offer-shadow-soft);
  align-content:start;
  min-height:100%
}
.risk-quote-card h3{
  margin:0;
  color:var(--offer-ink);
  font-size:1.02rem;
  line-height:1.14;
  text-wrap:balance;
}
.risk-quote-card--success{
  background:linear-gradient(180deg, rgba(22,163,74,.09), rgba(255,255,255,.98));
  border-color:rgba(22,163,74,.18)
}
.risk-quote-card--warning{
  background:linear-gradient(180deg, rgba(245,158,11,.11), rgba(255,255,255,.98));
  border-color:rgba(217,119,6,.18)
}
.risk-quote-card--danger{
  background:linear-gradient(180deg, rgba(220,38,38,.11), rgba(255,255,255,.98));
  border-color:rgba(220,38,38,.18)
}
.risk-quote-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px
}
.risk-quote-metric{
  display:grid;
  gap:6px;
  padding:12px 12px 11px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(185,199,216,.68)
}
.quote-metric-label{
  color:var(--offer-muted);
  font-size:.7rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em
}
.quote-metric-value{
  color:var(--offer-ink);
  font-size:1rem;
  line-height:1.2;
  letter-spacing:-.02em;
  text-wrap:balance
}
.risk-quote-delivery{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.7;
  min-height:5.1em
}
.risk-quote-footer{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto
}
.risk-page section{
  padding:38px 36px
}
.risk-page .intro{
  width:100%;
  max-width:100%;
  margin-bottom:4px;
  line-height:1.78
}
.risk-stack{
  display:grid
}
.risk-stack--md{
  gap:22px
}
.risk-stack--lg{
  gap:26px
}
.risk-stack--xl{
  gap:30px
}
.risk-page .stats,
.risk-page .grid-2,
.risk-page .grid-3,
.risk-page .cards{
  margin-top:0;
  align-items:stretch
}
.risk-page .stat{
  display:grid;
  align-content:start;
  gap:10px;
  min-height:100%;
  padding:22px 20px
}
.risk-page .stat strong{
  line-height:1.05
}
.risk-page .stat span{
  line-height:1.35;
  text-wrap:balance
}
.risk-page .card{
  display:grid;
  align-content:start;
  gap:12px;
  min-height:100%;
  padding:24px 22px
}
.risk-page .card .offer-kicker{
  margin:0
}
.risk-page .card h3{
  line-height:1.16;
  text-wrap:balance;
}
.risk-page .card p{
  line-height:1.72
}
.risk-page .card .risk-chip{
  margin-top:auto
}
.risk-page .table-scroll{
  margin-top:0
}
.risk-page .hbar-board-shell{
  margin-top:0;
  gap:0
}
.risk-page .callout{
  margin-top:0
}
.callout{
  --callout-accent: rgba(11,95,255,.42);
  --callout-bg-top: rgba(255,255,255,.99);
  --callout-bg-bottom: rgba(245,249,255,.96);
  --callout-chip-bg: rgba(11,95,255,.09);
  --callout-chip-border: rgba(11,95,255,.16);
  --callout-chip-color: var(--offer-accent);
  position:relative;
  display:grid;
  gap:14px;
  border:1px solid rgba(197,211,229,.92);
  border-radius:22px;
  padding:22px 24px 22px 28px;
  background:linear-gradient(180deg, var(--callout-bg-top), var(--callout-bg-bottom));
  box-shadow:var(--offer-shadow-soft);
  overflow:hidden
}
.callout::before{
  content:"";
  position:absolute;
  left:12px;
  top:14px;
  bottom:14px;
  width:4px;
  border-radius:999px;
  background:var(--callout-accent)
}
.callout + .callout{margin-top:18px}
.callout-head{
  position:relative;
  display:grid;
  gap:10px;
  z-index:1
}
.callout-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  min-height:28px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--callout-chip-border);
  background:var(--callout-chip-bg);
  color:var(--callout-chip-color);
  font-size:.69rem;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1;
  text-transform:uppercase
}
.callout strong{
  display:block;
  margin:0;
  font-size:1.02rem;
  line-height:1.35;
  color:var(--offer-ink);
  text-wrap:balance
}
.callout-body,
.callout p{
  position:relative;
  z-index:1;
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.72
}
.callout-info{
  --callout-accent: rgba(11,95,255,.44);
  --callout-bg-top: rgba(255,255,255,.99);
  --callout-bg-bottom: rgba(236,245,255,.96);
  --callout-chip-bg: rgba(11,95,255,.09);
  --callout-chip-border: rgba(11,95,255,.17)
}
.callout-success{
  --callout-accent: rgba(22,101,52,.42);
  --callout-bg-top: rgba(255,255,255,.99);
  --callout-bg-bottom: rgba(238,250,242,.96);
  --callout-chip-bg: rgba(22,101,52,.08);
  --callout-chip-border: rgba(22,101,52,.16);
  --callout-chip-color: #166534
}
.callout-warning{
  --callout-accent: rgba(245,158,11,.48);
  --callout-bg-top: rgba(255,255,255,.99);
  --callout-bg-bottom: rgba(255,247,233,.96);
  --callout-chip-bg: rgba(245,158,11,.10);
  --callout-chip-border: rgba(217,119,6,.20);
  --callout-chip-color: #9a3412
}
.callout-danger{
  --callout-accent: rgba(220,38,38,.44);
  --callout-bg-top: rgba(255,255,255,.99);
  --callout-bg-bottom: rgba(254,242,242,.96);
  --callout-chip-bg: rgba(220,38,38,.09);
  --callout-chip-border: rgba(220,38,38,.16);
  --callout-chip-color: #991b1b
}
.hbar-board-shell{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  margin-top:16px
}
.hbar-board-d3{
  width:100%;
  min-height:0;
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.04), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,249,255,.96));
  overflow:hidden
}
.hbar-board-d3 svg{
  display:block;
  width:100%;
  height:auto
}
.hbar-board-backplate{
  fill:rgba(248,251,255,.92);
  stroke:rgba(198,211,228,.88)
}
.hbar-board-grid-line{
  stroke:rgba(167,183,203,.28);
  stroke-width:1
}
.hbar-board-grid-label{
  fill:#5b7289;
  font-size:11px;
  font-weight:700
}
.hbar-board-row-card{
  transition:transform .16s ease, stroke-width .16s ease, filter .16s ease
}
.hbar-board-row.is-active .hbar-board-row-card{
  stroke-width:1.35;
  filter:brightness(1.015)
}
.hbar-board-label{
  fill:var(--offer-ink);
  font-size:14px;
  font-weight:700
}
.hbar-board-value{
  fill:var(--offer-muted);
  font-size:12.5px
}
.hbar-board-value--info{fill:#47698d}
.hbar-board-value--success{fill:#166534}
.hbar-board-value--warning{fill:#9a3412}
.hbar-board-value--danger{fill:#991b1b}
.hbar-board-track{
  fill:#e4edf6
}
.hbar-board-marker{
  stroke-width:3
}
.hbar-board-percent{
  fill:var(--offer-ink);
  font-size:11px;
  font-weight:800
}
.signal-board-shell{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  gap:16px;
  margin-top:18px;
  padding:18px 18px 18px;
  border:1px solid rgba(190,204,221,.92);
  border-radius:24px;
  background:linear-gradient(180deg, rgba(248,251,255,.98), rgba(255,255,255,.98));
  box-shadow:var(--offer-shadow-soft)
}
.signal-board-header{
  display:grid;
  width:100%;
  max-width:100%;
  min-width:0;
  gap:8px
}
.signal-board-header p{
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.62
}
.signal-board-chip{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  background:rgba(11,95,255,.08);
  border:1px solid rgba(11,95,255,.16);
  color:var(--offer-accent);
  font-size:.64rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.signal-board-d3{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:354px;
  align-self:stretch;
  justify-self:stretch;
  box-sizing:border-box;
  border-radius:22px;
  background:
    radial-gradient(circle at top left, rgba(11,95,255,.05), rgba(255,255,255,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(243,247,252,.95));
  overflow:hidden
}
.signal-board-d3 svg{
  display:block;
  width:100%;
  max-width:100%;
  height:auto
}
.signal-board-lane{
  fill:rgba(232,239,247,.62);
  stroke:rgba(198,210,224,.68);
  stroke-width:1
}
.signal-board-column{
  fill:rgba(255,255,255,.56);
  stroke:rgba(209,219,231,.72);
  stroke-width:1
}
.signal-board-track{
  fill:#e5edf6
}
.signal-board-marker{
  stroke:#ffffff;
  stroke-width:4
}
.signal-board-marker--info{fill:#2a7fff}
.signal-board-marker--success{fill:#22c55e}
.signal-board-marker--warning{fill:#f59e0b}
.signal-board-marker--danger{fill:#ef4444}
.signal-board-percent{
  fill:var(--offer-ink);
  font-size:14px;
  font-weight:800
}
.signal-board-axis-line{
  stroke:rgba(169,183,201,.72);
  stroke-width:1.2
}
.signal-board-grid-line{
  stroke:rgba(159,176,196,.26);
  stroke-width:1;
  stroke-dasharray:5 6
}
.signal-board-grid-label{
  fill:rgba(92,114,140,.82);
  font-size:10.5px;
  font-weight:700
}
.signal-board-axis-title{
  fill:rgba(92,114,140,.86);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.signal-board-label-svg{
  fill:var(--offer-ink);
  font-size:13px;
  font-weight:700
}
.signal-board-status{
  font-size:11px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.signal-board-status--info{fill:#3f6aa5}
.signal-board-status--success{fill:#27704a}
.signal-board-status--warning{fill:#a56515}
.signal-board-status--danger{fill:#b42318}
.signal-board-notes{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}
.signal-board-note-card{
  display:grid;
  gap:10px;
  padding:14px 14px 13px;
  border:1px solid rgba(190,204,221,.92);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(247,250,255,.97));
  box-shadow:0 10px 22px rgba(148,163,184,.08)
}
.signal-board-note-card h3{
  margin:0;
  color:var(--offer-ink);
  font-size:1rem;
  line-height:1.18
}
.signal-board-note-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px
}
.signal-board-note-index,
.signal-board-note-score{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  font-size:.66rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.signal-board-note-index{
  background:rgba(11,95,255,.07);
  border:1px solid rgba(11,95,255,.14);
  color:var(--offer-accent)
}
.signal-board-note-score{
  background:rgba(15,23,42,.05);
  border:1px solid rgba(148,163,184,.18);
  color:var(--offer-ink)
}
.signal-board-note-status{
  margin:0;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase
}
.signal-board-note-card--info .signal-board-note-status{color:#3f6aa5}
.signal-board-note-card--success .signal-board-note-status{color:#27704a}
.signal-board-note-card--warning .signal-board-note-status{color:#a56515}
.signal-board-note-card--danger .signal-board-note-status{color:#b42318}
.signal-board-note-copy{
  display:grid;
  gap:4px;
  margin:0;
  color:var(--offer-ink-soft);
  line-height:1.54
}
.signal-board-note-copy strong{
  color:var(--offer-ink);
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase
}
.timeline{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:16px;
  align-items:stretch
}
.timeline-step{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:20px 22px 18px
}
.timeline-step h3{margin:8px 0 10px;font-size:20px;line-height:1.28}
.timeline-step p{margin:0;color:var(--offer-ink-soft);line-height:1.7}
.timeline-phase{
  display:inline-flex;
  align-items:center;
  border:1px solid var(--offer-border);
  border-radius:999px;
  padding:6px 10px;
  color:var(--offer-muted);
  font-size:12px;
  font-weight:700;
  background:var(--offer-bg-soft)
}
@keyframes risk-line-draw{
  to{stroke-dashoffset:0}
}
.grid-2 .callout{height:100%}
.site-footer{
  color:var(--offer-muted);
  text-align:center;
  padding:32px 0 8px
}
@media (max-width:760px){
  section.has-actions{
    padding-top:72px
  }
  section.has-actions > h2,
  section.has-actions > .intro{
    max-width:100%
  }
  .block-actions{
    max-width:calc(100% - 24px)
  }
}
@media (max-width:1280px){
  .risk-visual-grid{grid-template-columns:1fr}
  .risk-explorer{grid-template-columns:1fr}
}
@media (max-width:1200px){.stats,.cards,.grid-3,.offer-flow,.signal-board-notes{grid-template-columns:1fr 1fr}}
@media (max-width:1100px){.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:920px){
  .shell{padding:24px 20px 42px}
  .page-hero--offer{padding:30px}
  .site-nav,
  .site-nav--hover{
    position:static;
    margin:24px 0 32px;
    padding:18px;
    grid-template-rows:auto auto;
    overflow:visible
  }
  .nav-collapsed-bar{display:none}
  .nav-group{
    opacity:1;
    transform:none;
    pointer-events:auto;
    margin-top:0
  }
  .stats,.cards,.grid-2,.grid-3,.timeline,.offer-flow,.signal-board-notes{grid-template-columns:1fr}
  .risk-quote-band,.risk-visual-grid,.risk-quote-grid{grid-template-columns:1fr}
  .risk-quote-metrics{grid-template-columns:1fr}
  .productivity-gate{grid-template-columns:1fr}
  .productivity-gate-scale{grid-template-columns:1fr}
  .risk-stage-grid,.risk-spotlight-metrics{grid-template-columns:1fr}
  .gate-input-row{grid-template-columns:1fr}
  .commercial-space-header{align-items:flex-start;flex-direction:column}
  section{padding:30px 22px}
  .risk-page section{padding:32px 24px}
  .risk-heatmap{grid-template-columns:1fr}
  .risk-heatmap-corner{display:none}
  .risk-heatmap-header,.risk-heatmap-rowlabel{min-height:auto}
  .hbar-row{grid-template-columns:1fr}
  .hbar-value{white-space:normal}
}
