/* Function canvas · widget-173 */
.function-canvas-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.function-canvas-switch { display: flex; gap: 16px; flex-wrap: wrap; border: 0; padding: 0; margin: 0; }
.function-canvas-switch legend { margin-bottom: 8px; }
.function-canvas-switch label { display: flex; align-items: center; gap: 8px; cursor: pointer; min-height: 44px; }
.function-canvas-switch input { accent-color: var(--color-accent); width: 18px; height: 18px; }
.function-canvas-toggle { display:flex; align-items:center; gap:8px; min-height:44px; cursor:pointer; }
.function-canvas-toggle input { width:18px; height:18px; accent-color:var(--color-accent); }
.function-canvas-provider { display:grid; gap:8px; border-top:1px solid var(--color-border); padding-top:12px; }
.function-canvas-widget [data-canvas-overlay][hidden] { display:none; }
.function-canvas-provider-functions { margin:12px 0 0; padding:0; list-style:none; display:grid; gap:16px; }
.function-canvas-provider-functions li { display:grid; gap:8px; min-width:0; overflow-wrap:anywhere; }
.function-canvas-provider-functions li + li { border-top:1px solid var(--color-border); padding-top:12px; }
.function-canvas-provider-functions p { margin:0; }
.function-canvas-board { border: 1px solid var(--color-border); background: var(--color-canvas); }
.function-canvas-header { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; padding: 20px 24px; border-bottom: 1px solid var(--color-border); }
.function-canvas-header p { margin: 0; }
.function-canvas-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; padding: 12px; background: var(--color-canvas); }
.function-canvas-block { background: var(--color-canvas); border: 1px solid var(--color-border); padding: 20px; display: flex; flex-direction: column; min-width: 0; gap: 12px; }
.function-canvas-block--full { grid-column: span 6; }
.function-canvas-block--third { grid-column: span 2; }
.function-canvas-block--half { grid-column: span 3; }
.function-canvas-heading { display: flex; align-items: center; gap: 14px; }
.function-canvas-block-header { background: var(--color-surface); margin: -20px -20px 4px; padding: 20px; border-bottom: 1px solid var(--color-border); display: grid; gap: 14px; }
.function-canvas-badge { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; width: 60px; height: 60px; flex: 0 0 60px; border-radius: 50%; background: var(--color-text-dark); color: var(--color-canvas-dark); }
html[data-theme='light'] .function-canvas-badge { background: var(--color-canvas-dark); color: var(--color-text-dark); }
.function-canvas-heading h3, .function-canvas-block p { margin: 0; }
.function-canvas-heading h3 { flex: 1; min-width: 0; position: relative; padding-right: 18px; }
.function-canvas-heading a > span { position: absolute; right: 0; bottom: 0; }
.function-canvas-heading a { color: var(--color-text); text-decoration: none; }
.function-canvas-heading a:hover { color: var(--color-accent); text-decoration: underline; }
.function-canvas-heading a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.function-canvas-icon { width: 24px; height: 24px; }
html[data-theme='light'] .function-canvas-icon { filter: invert(1); }
.function-canvas-legend { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 16px 24px; border-bottom: 1px solid var(--color-border); }
.function-canvas-legend p { margin: 0; max-width: 64ch; color: var(--color-muted); }
.function-canvas-legend > div { display: flex; flex-wrap: wrap; gap: 20px; }
.function-canvas-legend > div > span, .function-canvas-rating { display: inline-flex; align-items: center; gap: 8px; }
.function-canvas-dot { display: inline-block; width: 14px; height: 14px; border: 1px solid var(--color-accent); border-radius: 50%; flex: 0 0 14px; box-sizing: border-box; print-color-adjust: exact; }
.function-canvas-dot--some { background: linear-gradient(90deg, var(--color-accent) 50%, var(--color-canvas) 50%); }
.function-canvas-dot--strong { background: var(--color-accent); }
.function-canvas-dot--unmapped { border-color: var(--color-muted); background: var(--color-canvas); }
.function-canvas-coverage { display: grid; gap: 0; margin-top: 0; padding: 4px 12px; border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-canvas); }
.function-canvas-coverage-row { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; padding: 9px 0; }
.function-canvas-coverage-row + .function-canvas-coverage-row { border-top: 1px solid var(--color-border); }
.function-canvas-block--full .function-canvas-coverage { max-width: 560px; width: 100%; box-sizing: border-box; }
.function-canvas-involvement { color: var(--color-muted); }
.function-canvas-scope { border-top: 1px solid var(--color-border); padding-top: 8px; }
.function-canvas-scope summary { cursor: pointer; color: var(--color-text); padding: 6px 0; }
.function-canvas-scope summary:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.function-canvas-scope p { margin-top: 12px; }
.function-canvas-question { color: var(--color-text); }
.function-canvas-functions { display: none; padding: 0; margin: 0; list-style: none; }
.function-canvas-widget:has(input[value="expanded"]:checked) .function-canvas-functions { display: grid; gap: 8px; }
.function-canvas-functions li { border-bottom: 1px solid var(--color-border); padding-bottom: 8px; }
.function-canvas-block--full .function-canvas-functions { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 24px; }
.function-canvas-output { display: grid; gap: 4px; margin-top: auto !important; color: var(--color-muted); }
.function-canvas-output span { color: var(--color-text); }
.function-canvas-status { color: var(--color-muted); margin-top: 12px; }
.function-canvas-widget { scroll-margin-top: 100px; }
@media (max-width: 760px) {
  .function-canvas-grid { grid-template-columns: minmax(0, 1fr); }
  .function-canvas-block--full .function-canvas-coverage { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .function-canvas-block--full, .function-canvas-block--third, .function-canvas-block--half { grid-column: span 1; }
  .function-canvas-block--full .function-canvas-functions { grid-template-columns: minmax(0, 1fr); }
  .function-canvas-block, .function-canvas-header { padding: 20px; }
}
@page function-canvas-sheet { size: A3 landscape; margin: 10mm; }
@media print {
  .function-canvas-widget[data-print-active] { page: function-canvas-sheet; }
  .function-canvas-block { padding: 12px; gap: 8px; }
  .function-canvas-block-header { margin: -12px -12px 0; padding: 12px; }
  .function-canvas-grid { gap: 4px; padding: 4px; }
  .function-canvas-header { padding: 12px; }
  .function-canvas-widget:has(input[value="expanded"]:checked) .function-canvas-functions { gap: 4px; }
  .function-canvas-functions li { padding-bottom: 4px; }
  body:has([data-print-active]) .page-surface > header,
  body:has([data-print-active]) .page-surface > footer,
  body:has([data-print-active]) .page-surface > main > section:not(:has([data-print-active])),
  body:has([data-print-active]) > :not(.page-surface),
  body:has([data-print-active]) .page-section-heading,
  body:has([data-print-active]) .function-canvas-toolbar,
  body:has([data-print-active]) .function-canvas-status { display: none !important; }
  body:has([data-print-active]) .page-section { padding: 0; }
  .function-canvas-block { break-inside: avoid; }
  .function-canvas-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .function-canvas-block--full { grid-column: span 6; }
  .function-canvas-block--third { grid-column: span 2; }
  .function-canvas-block--half { grid-column: span 3; }
  .function-canvas-heading a { text-decoration: none; }
}

/*
 * Noria production theme
 *
 * This is the central visual authority for public pages and the design-system
 * registry. Prototype stylesheets are intentionally not consumed at runtime.
 */
.noria-theme {
  --color-canvas-dark: #ffffff;
  --color-surface-dark: #f6f6f3;
  --color-raised-dark: #edf2ed;
  --color-text-dark: #171815;
  --color-muted-dark: #676963;
  --color-subtle-dark: rgba(23, 24, 21, .48);
  --color-accent-dark: #40664d;
  --color-canvas-light: #ffffff;
  --color-surface-light: #f6f6f3;
  --color-text-light: #171815;
  --color-muted-light: #676963;
  --color-subtle-light: rgba(23, 24, 21, .48);
  --color-accent-light: #40664d;
  --color-border-dark: #dedfd9;
  --color-border-light: #dedfd9;
  --color-canvas: #ffffff;
  --color-surface: #f6f6f3;
  --color-raised: #edf2ed;
  --color-text: #171815;
  --color-muted: #676963;
  --color-subtle: rgba(23, 24, 21, .48);
  --color-accent: #40664d;
  --color-border: #dedfd9;
  --color-conditional: #9a603f;
  --color-information: #46657b;
  --color-error: #9c3f3f;
  --noria-ivory: #f5f2eb;
  --noria-sage: #edf2ed;
  --noria-mist: #edf1f5;
  --noria-clay: #f5eeea;
  --noria-limestone: #eeece3;
  --noria-signal: #42664d;
  --noria-signal-paper: #f2f6ef;
  --authored-surface: #ffffff;
  --authored-surface-soft: #f6f6f3;
  --authored-text: #171815;
  --authored-muted: #676963;
  --authored-link: #171815;
  --bg: #ffffff;
  --card: #f6f6f3;
  --card-soft: #edf2ed;
  --text: #171815;
  --muted: #676963;
  --accent: #40664d;
  --accent-soft: rgba(64, 102, 77, .12);
  --border: #dedfd9;
  --border-strong: #a5afa0;
  --shadow: none;
  color-scheme: light;
  background: #ffffff;
  color: var(--color-text);
}

.noria-theme *,
.noria-theme *::before,
.noria-theme *::after {
  box-shadow: none !important;
  text-shadow: none !important;
}

.noria-theme .page-surface {
  background: var(--color-canvas);
  color: var(--color-text);
}
.noria-theme .skip-link {
  position: absolute;
  z-index: 50;
  top: 8px;
  left: 8px;
  padding: 12px;
  background: var(--color-canvas);
  transform: translateY(-200%);
}
.noria-theme .skip-link:focus { transform: none; }
.noria-theme .brand-logo-dark { display: none !important; }
.noria-theme .brand-logo-light { display: block !important; }

html[data-theme='light'] body.noria-theme.page {
  background: var(--color-canvas) !important;
}

.noria-theme :where(a, button, summary):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 5px;
}

.noria-theme main p { color: var(--color-muted); }

/* Noria global chrome */
.noria-theme .site-header {
  position: relative;
  top: auto;
  display: flex;
  align-items: center;
  gap: 28px;
  min-height: 96px;
  border: 0;
  background: var(--color-canvas);
}
html[data-theme='light'] body.noria-theme .site-header {
  border-color: transparent;
  background: var(--color-canvas);
}
.noria-theme .site-header.container { margin-right: auto; margin-left: auto; }
.noria-theme .site-header .brand { flex: none; }
.noria-theme .site-header .brand img { display: block; width: 148px; height: auto; }
.noria-theme .site-header .desktop-nav { display: flex; align-items: center; gap: 25px; margin-left: auto; }
.noria-theme .site-header .desktop-nav a { color: var(--color-text); text-decoration: none; }
.noria-theme .site-header .desktop-nav a:hover { color: var(--color-accent); text-decoration: underline; text-underline-offset: 5px; }
.noria-theme .site-header > .login { margin-left: auto; color: var(--color-text); }
.noria-theme .site-header > .button { flex: none; padding: 12px 18px; white-space: nowrap; }
.noria-theme .site-header .menu-button {
  display: none;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: transparent;
}
.noria-theme .site-header .mobile-menu {
  position: absolute;
  z-index: 20;
  top: 100%;
  right: 0;
  left: 0;
  padding: 24px;
  border: 1px solid var(--color-border);
  background: var(--color-canvas);
}
.noria-theme .site-header .mobile-menu a { display: block; padding: 12px 0; }
.noria-theme .site-header .mobile-menu .button { display: flex; margin-top: 16px; padding: 12px 20px; }

.noria-theme .header-inner {
  min-height: 96px;
  gap: 28px;
  padding: 0;
}

.noria-theme .site-header .brand { padding: 0; }
.noria-theme .site-header .brand-logo { width: 148px; height: auto; }
.noria-theme .site-header .brand-logo-dark { display: none !important; }
.noria-theme .site-header .brand-logo-light { display: block !important; }
.noria-theme .site-header .nav { gap: 25px; }
.noria-theme .site-header .nav-link {
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: var(--color-text);
}
.noria-theme .site-header .nav-link:hover,
.noria-theme .site-header .nav-link.active,
.noria-theme .site-header .nav-link[aria-expanded='true'] {
  border: 0;
  background: transparent;
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.noria-theme .site-header .nav-actions { margin-left: auto; padding-left: 0; border-left: 0; }
.noria-theme .site-header .theme-toggle { display: none; }
.noria-theme .site-header .nav-utility-link {
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--color-text);
}
.noria-theme .site-header .nav-assessment-cta,
.noria-theme .button {
  min-height: 48px;
  padding: 14px 23px;
  border: 1px solid #171815;
  border-radius: 999px;
  background: #171815;
  color: #ffffff;
  transform: none;
}
.noria-theme .button:hover,
.noria-theme .site-header .nav-assessment-cta:hover {
  border-color: #171815;
  background: #171815;
  color: #ffffff;
  transform: translateY(-2px);
  text-decoration: none;
}
.noria-theme .button-secondary,
.noria-theme .button.secondary {
  border-color: var(--color-border);
  background: transparent;
  color: var(--color-text);
}
.noria-theme .button-secondary:hover,
.noria-theme .button.secondary:hover {
  border-color: var(--color-text);
  background: transparent;
  color: var(--color-text);
}
.noria-theme .button { gap: 25px; }
.noria-theme .text-link {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}
.noria-theme .arrow { width: 15px; height: 15px; }
.noria-theme .button .arrow { filter: invert(1); }
.noria-theme :where(.button-secondary, .button.secondary) .arrow { filter: none; }
.noria-theme .site-header .nav-toggle {
  width: auto;
  min-width: 70px;
  height: 44px;
  padding: 0 18px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
}
.noria-theme .site-header .nav-toggle span { display: none; }
.noria-theme .site-header .nav-toggle::after { content: 'Menu'; }
.noria-theme .site-header :where(.platform-mega-menu, .nav-submenu, .mobile-nav-panel) {
  border-color: var(--color-border);
  background: var(--color-canvas);
}

/* Shared Noria section and widget treatment */
.noria-theme :where(.page-section, .split-narrative-section, .page-intro-section, .prose-section, .chapter-sequence-section) {
  border-color: var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}
.noria-theme .page-section { padding: 92px 0; border-top: 0; }
.noria-theme .page-section-grid--stacked { gap: 44px; }
.noria-theme .page-section-grid--stacked .page-section-heading { max-width: 770px; }
.noria-theme .page-section-heading > .type-label { margin-bottom: 24px; color: var(--color-muted); }
.noria-theme .page-section-body { max-width: 660px; margin-top: 24px; }
.noria-theme .page-section-link,
.noria-theme .card-grid-widget-link,
.noria-theme .evidence-frame-widget-link { color: var(--color-text); }
.noria-theme .design-widget-stage { background: var(--color-canvas); }

.noria-theme .card-grid-widget-grid { gap: 30px; border-top: 0; }
.noria-theme .card-grid-widget-grid--columns-4 { gap: 28px; }
.noria-theme .card-grid-widget-card {
  align-items: flex-start;
  padding: 26px 0 0;
  border-top: 1px solid var(--color-border);
}
.noria-theme .card-grid-widget-card:first-child,
.noria-theme .card-grid-widget-card:last-child { padding-right: 0; padding-left: 0; }
.noria-theme .card-grid-widget-card + .card-grid-widget-card { border-left: 0; }
.noria-theme .card-grid-widget-meta { margin-bottom: 30px; }
.noria-theme .card-grid-widget-card h3 { margin-bottom: 18px; }
.noria-theme .card-grid-widget-card p { margin-bottom: 24px; }
.noria-theme .card-grid-widget-cta { padding: 22px 0; }
.noria-theme .card-grid-widget-meta img { filter: none; }

.noria-theme .faq-widget { border-top: 0; }
.noria-theme .faq-widget details { border-top: 1px solid var(--color-border); border-bottom: 0; }
.noria-theme .faq-widget details:last-child { border-bottom: 1px solid var(--color-border); }
.noria-theme .faq-widget summary { display: list-item; padding: 23px 26px 23px 0; list-style: disclosure-closed; }
.noria-theme .faq-widget details[open] summary { list-style: disclosure-open; }
.noria-theme .faq-widget summary::-webkit-details-marker { display: inline; }
.noria-theme .faq-widget summary::after { display: none; content: none; }
.noria-theme .faq-widget p { padding: 0 0 24px; }

.noria-theme .fact-strip-widget-list { border-color: var(--color-border); }
.noria-theme .fact-strip-widget-fact { gap: 9px; padding: 0 32px; }
.noria-theme .fact-strip-widget-fact + .fact-strip-widget-fact { border-left-color: var(--color-border); }
.noria-theme .fact-strip-widget-label { color: var(--color-muted); }

.noria-theme .bullet-list-widget { margin-top: 24px; }
.noria-theme .bullet-list-widget > li + li { margin-top: 8px; }
.noria-theme .bullet-list-widget > li::marker { color: var(--color-accent); }

.noria-theme .evidence-frame-widget {
  border-radius: 0;
  background: transparent;
}
.noria-theme .evidence-frame-widget-media { background: transparent; }

/* section-007 · Editorial hero */
.noria-theme .section-007.hero { padding-top: 0; background: var(--color-canvas); }
.noria-theme .hero-copy { padding-top: 64px; }
.noria-theme .hero-eyebrow {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  color: var(--color-muted);
}
.noria-theme .hero h1 { margin: 0 0 30px; }
.noria-theme .hero-description { max-width: 780px; margin: 0; }
.noria-theme .hero .bullet-list-widget { max-width: 780px; }
.noria-theme .hero-actions { display: flex; align-items: center; gap: 30px; margin-top: 26px; }
.noria-theme .hero-actions .button-secondary {
  min-height: 44px;
  padding: 8px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
}
.noria-theme .hero-actions .button-secondary:hover { transform: none; text-decoration: underline; text-underline-offset: 5px; }
.noria-theme .hero-note { margin: 15px 0 0; color: var(--color-muted); }

/* section-010 · Widget band */
.noria-theme .noria-band-ivory { margin-top: 64px; background: var(--noria-ivory); }
.noria-theme .facts { padding-top: 48px; padding-bottom: 48px; }
.noria-theme .facts .fact-strip-widget-list { border: 0; }
.noria-theme .facts .fact-strip-widget-fact:first-child { padding-left: 0; border-left: 0; }

/* section-008 · Editorial narrative */
.noria-theme .belief { padding-top: 112px; padding-bottom: 112px; }
.noria-theme .belief > .type-label { margin: 0; color: var(--color-muted); }
.noria-theme .belief h2 { max-width: 960px; margin: 30px 0 0; }
.noria-theme .belief-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  max-width: 970px;
  margin-top: 35px;
}
.noria-theme .belief-body p { margin: 0; }

/* section-009 · Editorial product proof */
.noria-theme .product-section { padding-top: 90px; padding-bottom: 90px; }
.noria-theme .product-copy {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 80px;
  align-items: start;
  margin-bottom: 46px;
}
.noria-theme .product-copy > .type-label { grid-column: 1 / -1; margin: 0 0 25px; color: var(--color-muted); }
.noria-theme .product-copy h2 { grid-row: 2 / 4; margin: 0; }
.noria-theme .product-copy > .type-body { margin: 0; }
.noria-theme .product-copy .button { grid-column: 2; justify-self: start; margin-top: 24px; }
.noria-theme .product-copy .button.product-action--compact {
  min-height: 44px;
  padding: 10px 16px;
  gap: 12px;
}

/* section-011 + widget-179 · Editorial testimonial */
.noria-theme .quote-section {
  padding-top: 105px;
  padding-bottom: 105px;
  border: 0;
  text-align: center;
}
.noria-theme .quote-section > .type-label { margin: 0; color: var(--color-muted); }
.noria-theme .editorial-testimonial-widget blockquote { max-width: 950px; margin: 35px auto; }
.noria-theme .editorial-testimonial-widget > p { margin: 0; color: var(--color-text); }
.noria-theme .editorial-testimonial-widget > p span { display: block; margin-top: 5px; color: var(--color-muted); }

/* section-004 · Editorial closing */
.noria-theme .closing-cta-section--editorial,
.noria-theme .noria-band-limestone { background: var(--noria-limestone); }
.noria-theme .closing-cta-section--editorial .closing,
.noria-theme .closing {
  display: block;
  padding-top: 105px;
  padding-bottom: 110px;
  border: 0;
}
.noria-theme .closing :where(h2, p) { margin: 0; }
.noria-theme .closing h2 { margin-top: 26px; margin-bottom: 26px; }
.noria-theme .closing .button { margin-top: 30px; margin-bottom: 18px; }

/* Shared footer */
.noria-theme .site-footer { border-top: 1px solid var(--color-border); background: var(--color-canvas); color: var(--color-text); }
.noria-theme .site-footer .brand-logo-dark { display: none !important; }
.noria-theme .site-footer .brand-logo-light { display: block !important; }
.noria-theme .footer-grid { padding-top: 55px; }
.noria-theme .footer-heading,
.noria-theme .site-footer .muted { color: var(--color-muted); }
.noria-theme .site-footer a:hover { color: var(--color-accent); }
.noria-theme .footer { padding-top: 55px; padding-bottom: 20px; border-top: 1px solid var(--color-border); }
.noria-theme .footer-intro { display: flex; justify-content: space-between; align-items: center; gap: 40px; margin-bottom: 55px; }
.noria-theme .footer-intro .brand img { width: 148px; height: auto; }
.noria-theme .footer-intro p { max-width: 490px; margin: 0; }
.noria-theme .footer-columns { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 32px 24px; }
.noria-theme .footer-columns h2 { margin: 0 0 20px; color: var(--color-muted); }
.noria-theme .footer-columns a { display: block; margin-bottom: 12px; }
.noria-theme .footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 22px; border-top: 1px solid var(--color-border); color: var(--color-muted); }

/* Style-library presentation follows the same Noria authority. */
.noria-theme.page-style-library,
.noria-theme.page-style-library main { background: var(--color-canvas); color: var(--color-text); }
.noria-theme .sl-library-nav { border-color: var(--color-border); background: rgba(255, 255, 255, .96); }
.noria-theme :where(.sl-index-hero, .sl-category-head) { border-color: var(--color-border); background: var(--color-canvas); }
.noria-theme .sl-index-grid,
.noria-theme .sl-color-grid,
.noria-theme .sl-widget-preview,
.noria-theme .sl-visual-card,
.noria-theme .sl-option-card { border-color: var(--color-border); background: var(--color-border); }
.noria-theme :where(.sl-index-card, .sl-color-card, .sl-visual-card, .sl-option-stage, .sl-option-card) { background: var(--color-canvas); color: var(--color-text); }
.noria-theme .sl-index-card > footer,
.noria-theme .sl-visual-meta,
.noria-theme .sl-visual-caption,
.noria-theme .sl-option-heading,
.noria-theme .sl-widget-specimen { border-color: var(--color-border); }

@media (min-width: 1500px) {
  .noria-theme .hero-copy { padding-top: 80px; }
}

@media (max-width: 1100px) {
  .noria-theme .footer-columns { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  /* Use the existing compact navigation before the full header runs out of room. */
  .noria-theme .site-header .desktop-nav,
  .noria-theme .site-header > .button,
  .noria-theme .site-header > .login { display: none; }
  .noria-theme .site-header .menu-button { display: block; margin-left: auto; }
  .noria-theme .card-grid-widget-grid--columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .noria-theme .header-inner { min-height: 82px; }
  .noria-theme .site-header .brand-logo { width: 130px; }
  .noria-theme .site-header .brand img { width: 130px; }
  .noria-theme .site-header .nav-assessment-cta { display: none; }
  .noria-theme .hero-copy { padding-top: 42px; }
  .noria-theme .hero-aside { display: none; }
  .noria-theme .hero-eyebrow { margin-bottom: 23px; }
  .noria-theme .hero-actions { align-items: flex-start; flex-direction: column; gap: 12px; }
  .noria-theme .hero-note { max-width: 330px; }
  .noria-theme .noria-band-ivory { margin-top: 40px; }
  .noria-theme .facts { padding-top: 35px; padding-bottom: 35px; }
  .noria-theme .fact-strip-widget-fact { padding-right: 14px; padding-left: 14px; }
  .noria-theme .fact-strip-widget-qualifier { display: none; }
  .noria-theme .belief { padding-top: 70px; padding-bottom: 70px; }
  .noria-theme .belief-body { grid-template-columns: 1fr; gap: 20px; }
  .noria-theme .page-section { padding: 60px 0; }
  .noria-theme .card-grid-widget-grid,
  .noria-theme .card-grid-widget-grid--columns-4 { grid-template-columns: 1fr; gap: 25px; }
  .noria-theme .card-grid-widget-meta { margin-bottom: 20px; }
  .noria-theme .card-grid-widget-card p { margin-bottom: 8px; }
  .noria-theme .card-grid-widget-cta { align-items: flex-start; grid-template-columns: 1fr; gap: 8px; }
  .noria-theme .product-section { padding-top: 50px; padding-bottom: 50px; }
  .noria-theme .product-copy { display: block; }
  .noria-theme .product-copy h2 { margin-bottom: 22px; }
  .noria-theme .product-copy .button { margin-top: 25px; }
  .noria-theme .quote-section { padding-top: 65px; padding-bottom: 65px; }
  .noria-theme .closing { padding-top: 70px; padding-bottom: 70px; }
  .noria-theme .footer-intro { display: block; }
  .noria-theme .footer-intro p { margin-top: 24px; }
  .noria-theme .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 24px; }
  .noria-theme .footer-bottom { flex-direction: column; }
}

@media (max-width: 380px) {
  .noria-theme .fact-strip-widget-list { grid-template-columns: 1fr; gap: 18px; }
  .noria-theme .fact-strip-widget-fact,
  .noria-theme .fact-strip-widget-fact + .fact-strip-widget-fact {
    padding: 18px 0 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }
  .noria-theme .fact-strip-widget-fact:first-child { padding-top: 0; border-top: 0; }
}

/*
 * Queast design system
 *
 * Permanent colour tokens and approved component styles live here. Typography
 * remains authoritative in must-use-styles.css.
 */

:root {
  --color-canvas-dark: #05080f;
  --color-surface-dark: #0c1120;
  --color-raised-dark: #0f1626;
  --color-text-dark: #e8f0ff;
  --color-muted-dark: #9cb2c9;
  --color-subtle-dark: rgba(232, 240, 255, 0.38);
  --color-accent-dark: #00ff88;
  --color-canvas-light: #f7f8f4;
  --color-surface-light: #ffffff;
  --color-text-light: #13251c;
  --color-muted-light: #607168;
  --color-subtle-light: rgba(19, 37, 28, 0.38);
  --color-accent-light: #08794a;
  --color-border-dark: rgba(255, 255, 255, 0.08);
  --color-border-light: rgba(19, 37, 28, 0.12);
  --color-conditional: #ff9933;
  --color-information: #4da3ff;
  --color-error: #ff6b6b;

  --color-canvas: var(--color-canvas-dark);
  --color-surface: var(--color-surface-dark);
  --color-raised: var(--color-raised-dark);
  --color-text: var(--color-text-dark);
  --color-muted: var(--color-muted-dark);
  --color-subtle: var(--color-subtle-dark);
  --color-accent: var(--color-accent-dark);
  --color-border: var(--color-border-dark);
}

html[data-theme='light'] {
  --color-canvas: var(--color-canvas-light);
  --color-surface: var(--color-surface-light);
  --color-raised: var(--color-surface-light);
  --color-text: var(--color-text-light);
  --color-muted: var(--color-muted-light);
  --color-subtle: var(--color-subtle-light);
  --color-accent: var(--color-accent-light);
  --color-border: var(--color-border-light);
}

/* Approved global chrome · site navigation */
.site-header {
  z-index: 60;
  border-bottom: 1px solid var(--color-border);
  background: color-mix(in srgb, var(--color-canvas) 94%, transparent);
  box-shadow: none;
}

.header-inner {
  min-height: 72px;
  gap: 14px;
  padding: 10px 0;
}

.site-header .brand {
  flex: 0 0 auto;
  padding: 6px 0;
  border-radius: 8px;
}

.site-header .brand:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.site-header .brand-logo {
  height: 26px;
}

.site-header .nav {
  gap: 2px;
  margin-left: auto;
}

.site-header .nav-menu-shell {
  display: flex;
}

.site-header .nav-link,
.site-header .nav-utility-link,
.site-header .theme-toggle,
.site-header .nav-assessment-cta,
.site-header .nav-toggle {
  min-height: 40px;
  border-radius: 8px;
  box-shadow: none;
}

.site-header .nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 11px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-muted);
  white-space: nowrap;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.site-header .nav-link:hover {
  border-color: var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
}

.site-header .nav-link.active,
.site-header .nav-link[aria-expanded='true'] {
  border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
  background: color-mix(in srgb, var(--color-accent) 9%, transparent);
  color: var(--color-accent);
}

.site-header .nav-menu-trigger img {
  width: 10px;
  height: 10px;
  opacity: .72;
}

.site-header .nav-actions {
  flex-wrap: nowrap;
  gap: 6px;
  margin-left: 4px;
  padding-left: 10px;
  border-left: 1px solid var(--color-border);
}

.site-header .nav-utility-link,
.site-header .theme-toggle {
  border: 1px solid var(--color-border);
  background: transparent;
  color: var(--color-muted);
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.site-header .nav-utility-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
}

.site-header .theme-toggle {
  min-width: 62px;
  padding: 0 8px;
}

.site-header .nav-utility-link:hover,
.site-header .theme-toggle:hover {
  border-color: color-mix(in srgb, var(--color-text) 22%, var(--color-border));
  background: var(--color-surface);
  color: var(--color-text);
}

.site-header .nav-assessment-cta {
  min-height: 40px;
  padding: 0 14px;
  border: 1px solid var(--color-accent);
  border-radius: 8px;
  background: var(--color-accent);
  color: var(--color-canvas);
  white-space: nowrap;
  transform: none;
  transition: border-color 140ms ease, background 140ms ease, color 140ms ease;
}

.site-header .nav-assessment-cta:hover {
  border-color: color-mix(in srgb, var(--color-accent) 82%, var(--color-text));
  background: color-mix(in srgb, var(--color-accent) 88%, var(--color-text));
  color: var(--color-canvas);
  transform: none;
}

.site-header .nav-link:focus-visible,
.site-header .nav-utility-link:focus-visible,
.site-header .nav-assessment-cta:focus-visible,
.site-header .theme-toggle:focus-visible,
.site-header .nav-toggle:focus-visible,
.site-header .mobile-nav-link:focus-visible,
.site-header .mobile-platform-menu summary:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
}

.site-header .platform-mega-menu,
.site-header .nav-submenu,
.site-header .mobile-nav-panel {
  border-color: var(--color-border);
  background: var(--color-surface);
  box-shadow: none;
}

.site-header .platform-mega-menu {
  position: absolute;
  top: calc(100% + 13px);
  left: 0;
  width: min(360px, 90vw);
  grid-template-columns: 1fr;
  transform: translateY(-7px);
}

.site-header .platform-menu-shell.is-open .platform-mega-menu {
  transform: translateY(0);
}

.site-header .platform-mega-menu::before {
  left: 25px;
}

.site-header .platform-menu-group:nth-child(n) {
  padding: 14px 0;
  border-top: 1px solid var(--color-border);
  border-left: 0;
}

.site-header .platform-menu-group:first-child {
  padding-top: 0;
  border-top: 0;
}

.site-header .platform-menu-group:last-child {
  padding-bottom: 0;
}

.site-header .platform-mega-menu::before,
.site-header .nav-submenu::before {
  border-color: var(--color-border);
  background: var(--color-surface);
}

.site-header :where(.platform-menu-group, .mobile-platform-group) > .type-label,
.site-header .nav-submenu-heading {
  color: var(--color-accent);
}

.site-header :where(.platform-menu-group, .mobile-platform-group) a,
.site-header .nav-submenu-link,
.site-header .mobile-submenu-links a {
  color: var(--color-muted);
}

.site-header :where(.platform-menu-group, .mobile-platform-group) a:hover,
.site-header :where(.platform-menu-group, .mobile-platform-group) a:focus-visible,
.site-header :where(.platform-menu-group, .mobile-platform-group) a[aria-current='page'],
.site-header .nav-submenu-link:hover,
.site-header .nav-submenu-link:focus-visible,
.site-header .nav-submenu-link[aria-current='page'],
.site-header .mobile-submenu-links a:hover,
.site-header .mobile-submenu-links a:focus-visible,
.site-header .mobile-submenu-links a[aria-current='page'] {
  color: var(--color-text);
}

.site-header .nav-submenu-link:hover,
.site-header .nav-submenu-link:focus-visible,
.site-header .nav-submenu-link[aria-current='page'] {
  background: color-mix(in srgb, var(--color-accent) 8%, transparent);
}

.site-header .nav-submenu-link + .nav-submenu-link,
.site-header .platform-menu-group {
  border-color: var(--color-border);
}

.site-header .nav-toggle {
  width: 40px;
  height: 40px;
  border: 1px solid var(--color-border);
  background: transparent;
}

.site-header .nav-toggle:hover {
  border-color: color-mix(in srgb, var(--color-text) 22%, var(--color-border));
  background: var(--color-surface);
}

.site-header .nav-toggle span {
  background: var(--color-text);
}

@media (max-width: 1120px) {
  .site-header .nav,
  .site-header .nav-actions {
    display: none;
  }

  .site-header .nav-toggle {
    display: inline-flex;
  }

  .site-header .nav-assessment-cta {
    margin-left: auto;
  }
}

@media (max-width: 620px) {
  .header-inner {
    min-height: 64px;
    gap: 8px;
    padding: 8px 0;
  }

  .site-header .brand-logo {
    height: 24px;
  }

  .site-header .nav-assessment-cta {
    min-height: 40px;
    padding: 0 8px;
  }

  .page-surface.mobile-nav-open .site-header .mobile-nav {
    display: flex;
  }

  .site-header .mobile-nav {
    padding: 76px 12px 12px;
  }

  .site-header .mobile-nav-panel {
    width: min(100%, 420px);
    padding: 12px;
    border-radius: 12px;
  }

  .site-header .mobile-nav-links {
    gap: 7px;
  }

  .site-header :where(.mobile-nav-link, .mobile-platform-menu, .theme-toggle-mobile) {
    border-color: var(--color-border);
    border-radius: 8px;
    background: transparent;
    color: var(--color-text);
  }

  .site-header .mobile-nav-link,
  .site-header .mobile-platform-menu > summary,
  .site-header .theme-toggle-mobile {
    min-height: 44px;
  }

  .site-header .mobile-nav-link {
    display: flex;
    align-items: center;
    padding: 0 13px;
  }

  .site-header .mobile-platform-menu > summary {
    display: flex;
    align-items: center;
    padding: 0 13px;
  }

  .site-header .mobile-platform-menu[open] {
    border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
    background: color-mix(in srgb, var(--color-accent) 6%, transparent);
  }

  .site-header .mobile-nav-link.active {
    border-color: color-mix(in srgb, var(--color-accent) 30%, var(--color-border));
    background: color-mix(in srgb, var(--color-accent) 8%, transparent);
    color: var(--color-accent);
  }
}

@media (max-width: 380px) {
  .site-header .nav-assessment-cta {
    padding-inline: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .nav-link,
  .site-header .nav-utility-link,
  .site-header .nav-assessment-cta,
  .site-header .theme-toggle,
  .site-header .nav-menu-panel,
  .site-header .nav-menu-trigger img {
    transition: none;
  }
}

/* widget-174 · Scroll story */
.scroll-story-widget {
  min-width: 0;
  color: var(--color-text);
}

.scroll-story-widget-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.scroll-story-widget-stage-item {
  position: relative;
  top: auto;
  z-index: calc(1 + var(--scroll-story-index));
  min-height: 470px;
  padding: 12px 0;
  transition: transform 220ms ease, opacity 220ms ease;
}

.scroll-story-widget.is-stacking .scroll-story-widget-stage-item {
  position: sticky;
  top: calc(var(--scroll-story-top, 84px) + var(--scroll-story-index) * 12px);
}

.scroll-story-widget-card {
  transition: transform 220ms ease-out;
  display: grid;
  min-height: 430px;
  grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr);
  gap: 48px;
  align-items: stretch;
  padding: 30px 32px;
  border: 1px solid var(--color-border);
  border-top: 2px solid color-mix(in srgb, var(--color-accent) 44%, var(--color-border));
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.scroll-story-widget-card-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.scroll-story-widget-stage-label {
  margin: 0 0 24px;
  color: var(--color-accent);
}

.scroll-story-widget-card h3,
.scroll-story-widget-card p {
  margin: 0;
}

.scroll-story-widget-card h3 { color: var(--color-text); }
.scroll-story-widget-card-copy .type-lead { margin-top: 20px; color: var(--color-text); }
.scroll-story-widget-card-copy .type-body { margin-top: 12px; color: var(--color-muted); }

.scroll-story-widget-card-support {
  display: flex;
  align-items: center;
  min-width: 0;
}

.scroll-story-widget-support {
  width: 100%;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  list-style: none;
  background: transparent;
}

.scroll-story-widget-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.scroll-story-widget-chips li,
.scroll-story-widget-action,
.scroll-story-widget-checks li {
  display: flex;
  min-height: 44px;
  gap: 8px;
  align-items: center;
  padding: 10px 11px;
  border: 1px solid var(--color-border);
  color: var(--color-muted);
}
.scroll-story-widget-chips li img,
.scroll-story-widget-action img { width: 17px; height: 17px; filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%); }
.scroll-story-widget-checks { display: grid; gap: 8px; }
.scroll-story-widget-checks li::before { color: var(--color-accent); content: '✓'; }
.scroll-story-widget-action { justify-content: center; min-height: 88px; color: var(--color-text); }
.scroll-story-widget-action > span { display: inline-flex; gap: 8px; align-items: center; }
html[data-theme='light'] :is(.scroll-story-widget-chips img, .scroll-story-widget-action img, .interactive-offer-cards-widget-meta img) {
  filter: invert(31%) sepia(12%) saturate(958%) hue-rotate(101deg) brightness(90%);
}
.scroll-story-widget-details { border: 0; padding: 0; }
.scroll-story-widget-details li { border-bottom: 1px solid var(--color-border); }
.scroll-story-widget-details button { position: relative; display: flex; width: 100%; min-height: 48px; gap: 9px; align-items: center; padding: 11px 2px; border: 0; background: transparent; color: var(--color-text); text-align: left; cursor: help; }
.scroll-story-widget-details button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.scroll-story-widget-tooltip { position: absolute; z-index: 2; bottom: calc(100% + 8px); left: 0; width: min(280px, calc(100vw - 48px)); padding: 12px; border: 1px solid var(--color-border); border-radius: 6px; background: var(--color-raised); color: var(--color-text); opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity 150ms ease, transform 150ms ease; visibility: hidden; }
.scroll-story-widget-details button:hover .scroll-story-widget-tooltip,
.scroll-story-widget-details button:focus-visible .scroll-story-widget-tooltip,
.scroll-story-widget-details button[aria-expanded='true'] .scroll-story-widget-tooltip { opacity: 1; transform: translateY(0); visibility: visible; }

.scroll-story-widget-summary { display: grid; grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto; gap: 18px; align-items: center; margin-top: 12px; padding: 17px 20px; border: 1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-border)); background: color-mix(in srgb, var(--color-accent) 7%, var(--color-surface)); color: var(--color-muted); }
.scroll-story-widget.is-enhanced .scroll-story-widget-summary { opacity: 0; transform: translateY(8px); transition: opacity 220ms ease, transform 220ms ease; }
.scroll-story-widget.is-enhanced.is-complete .scroll-story-widget-summary { opacity: 1; transform: translateY(0); }
.scroll-story-widget-summary strong { color: var(--color-text); }
.scroll-story-widget-summary strong::before { margin-right: 8px; color: var(--color-accent); content: '·'; }
.scroll-story-widget-summary a { justify-self: end; color: var(--color-accent); text-decoration: none; }
.scroll-story-widget-summary a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }

@media (prefers-reduced-motion: no-preference) {
  .scroll-story-widget.is-stacking .scroll-story-widget-stage-item.is-past .scroll-story-widget-card { transform: translateY(-8px) scale(.985); }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-chips li { animation: scroll-story-arrive 320ms ease-out both; }
  .scroll-story-widget.is-enhanced .is-seen:nth-child(2) .scroll-story-widget-chips li { animation-name: scroll-story-connect; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-chips li:nth-child(2) { animation-delay: 70ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-chips li:nth-child(3) { animation-delay: 140ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-chips li:nth-child(4) { animation-delay: 210ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-chips li:nth-child(5) { animation-delay: 280ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li { animation: scroll-story-arrive 260ms ease-out both; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li::before { animation: scroll-story-check 320ms ease-out both; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li:nth-child(2),
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li:nth-child(2)::before { animation-delay: 120ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li:nth-child(3),
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-checks li:nth-child(3)::before { animation-delay: 240ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-action > span > span { animation: scroll-story-action 400ms ease-out both; display: inline-block; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-action > span > span:nth-child(2) { animation-delay: 80ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-action > span > span:nth-child(3) { animation-delay: 160ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-action > span > span:nth-child(4) { animation-delay: 240ms; }
  .scroll-story-widget.is-enhanced .is-seen .scroll-story-widget-action > span > span:nth-child(5) { animation-delay: 320ms; }
}
@keyframes scroll-story-arrive { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes scroll-story-connect { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: none; } }
@keyframes scroll-story-check { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: none; } }
@keyframes scroll-story-action { from { opacity: .3; transform: translateX(-5px); } to { opacity: 1; transform: none; } }

/* widget-175 · Interactive offer cards */
.interactive-offer-cards-widget { min-width: 0; color: var(--color-text); }
.interactive-offer-cards-widget-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 68px; margin: 0; padding: 34px; list-style: none; }
.interactive-offer-cards-widget-item { min-width: 0; }
.interactive-offer-cards-widget-card { display: flex; min-height: 100%; flex-direction: column; padding: 26px 24px; border: 1px solid var(--color-border); border-top: 2px solid var(--color-border); border-radius: 6px; background: var(--color-surface); color: var(--color-text); transition: transform 180ms ease, border-color 180ms ease; transform-origin: center; }
.interactive-offer-cards-widget-card:hover,
.interactive-offer-cards-widget-card:focus-within { z-index: 2; border-color: color-mix(in srgb, var(--color-accent) 48%, var(--color-border)); transform: scale(1.2); }
.interactive-offer-cards-widget-meta { display: flex; min-height: 24px; gap: 10px; align-items: center; margin-bottom: 34px; color: var(--color-muted); }
.interactive-offer-cards-widget-meta img { width: 20px; height: 20px; filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%); }
.interactive-offer-cards-widget-card h3,
.interactive-offer-cards-widget-card p { margin: 0; }
.interactive-offer-cards-widget-card > .type-body { color: var(--color-muted); }
.interactive-offer-cards-widget-card > .type-body { margin-top: 14px; }
.interactive-offer-cards-widget-card > .type-body a { color: var(--color-accent); text-decoration: underline; text-underline-offset: .15em; }
.interactive-offer-cards-widget-card > .type-body a:hover { text-decoration-thickness: 2px; }
.interactive-offer-cards-widget-card > .type-body a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.interactive-offer-cards-widget-card > a { align-self: flex-start; margin-top: auto; padding-top: 26px; color: var(--color-accent); text-decoration: none; }
.interactive-offer-cards-widget-card > a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.interactive-offer-cards-widget-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 30px; padding: 18px 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); color: var(--color-muted); }
.interactive-offer-cards-widget-cta a { color: var(--color-accent); text-decoration: none; }
.interactive-offer-cards-widget-cta a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }

@media (max-width: 900px) {
  .scroll-story-widget-card { grid-template-columns: 1fr; gap: 24px; }
  .scroll-story-widget-stage-item { min-height: 0; }
  .interactive-offer-cards-widget-list { gap: 30px; padding-inline: 16px; }
  .interactive-offer-cards-widget-card:hover,
  .interactive-offer-cards-widget-card:focus-within { transform: scale(1.08); }
}

@media (max-width: 700px), (prefers-reduced-motion: reduce) {
  .scroll-story-widget-stage-item { min-height: 0; padding: 8px 0; transform: none !important; opacity: 1 !important; }
  .scroll-story-widget-card { min-height: 0; padding: 24px 20px; transition: none; }
  .scroll-story-widget-stage-item.is-seen .scroll-story-widget-support > * { animation: none; }
  .scroll-story-widget-summary { grid-template-columns: 1fr; gap: 10px; }
  .scroll-story-widget.is-enhanced .scroll-story-widget-summary { opacity: 1; transform: none; }
  .scroll-story-widget-summary a { justify-self: start; }
  .interactive-offer-cards-widget-list { grid-template-columns: 1fr; gap: 16px; padding: 0; }
  .interactive-offer-cards-widget-card:hover,
  .interactive-offer-cards-widget-card:focus-within { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-story-widget.is-stacking .scroll-story-widget-stage-item { position: relative; top: auto; }
}

/* Full-width section backgrounds · existing Noria palette, selected by page content. */
.noria-theme section[data-section-background='white'] { background: var(--color-canvas); }
.noria-theme section[data-section-background='ivory'] { background: var(--noria-ivory); }
.noria-theme section[data-section-background='sage'] { background: var(--noria-sage); }
.noria-theme section[data-section-background='mist'] { background: var(--noria-mist); }
.noria-theme section[data-section-background='clay'] { background: var(--noria-clay); }
.noria-theme section[data-section-background='limestone'] { background: var(--noria-limestone); }

/* section-001 · Page section */
.page-section {
  padding: 94px 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}

.page-section-grid {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(45px, 8vw, 100px);
  align-items: start;
}

.page-section-grid--stacked {
  grid-template-columns: 1fr;
  gap: 38px;
}

.page-section-actions { margin-top: 32px; }

.page-section-grid--stacked .page-section-heading {
  max-width: 760px;
}

.page-section-heading > .type-label {
  margin: 0 0 13px;
  color: var(--color-accent);
}

.page-section-heading h2 {
  margin: 0;
  color: var(--color-text);
}

.page-section-body {
  max-width: 68ch;
  margin: 17px 0 0;
  color: var(--color-muted);
}

.page-section-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 27px;
  color: var(--color-accent);
  text-decoration: none;
}

.page-section-link span {
  transition: transform 150ms ease;
}

.page-section-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.page-section-link:hover span {
  transform: translateX(3px);
}

.page-section-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.page-section-widget-placeholder {
  display: grid;
  min-height: 320px;
  place-items: center;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-muted);
}

/* widget-001 · FAQ */
.design-widget-stage {
  padding: clamp(24px, 6vw, 72px);
  background: var(--color-canvas);
  color: var(--color-text);
}

.faq-widget {
  border-top: 1px solid var(--color-border);
}

.faq-widget details {
  border-bottom: 1px solid var(--color-border);
  background: transparent;
}

.faq-widget summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px;
  gap: 20px;
  padding: 20px 0;
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
}

.faq-widget summary::-webkit-details-marker {
  display: none;
}

.faq-widget summary::after {
  color: var(--color-accent);
  content: '+';
  text-align: right;
}

.faq-widget details[open] summary::after {
  content: '−';
}

.faq-widget summary:focus-visible,
.faq-widget a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.faq-widget p {
  margin: 0;
  padding: 0 42px 22px 0;
  color: var(--color-muted);
}

.faq-widget a {
  color: var(--color-accent);
}

/* section-002 · Split narrative section */
.split-narrative-section {
  padding: 106px 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}

.split-narrative-section-grid {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(480px, 1.15fr);
  gap: clamp(48px, 8vw, 100px);
  align-items: center;
}

.split-narrative-section--align-start .split-narrative-section-grid {
  align-items: start;
}

.split-narrative-section-copy {
  min-width: 0;
}

.split-narrative-section-copy > .type-label {
  margin: 0 0 13px;
  color: var(--color-accent);
}

.split-narrative-section-copy h2 {
  max-width: 13ch;
  margin: 0;
  color: var(--color-text);
}

.split-narrative-section-body {
  max-width: 48ch;
  margin-top: 18px;
}

.split-narrative-section-body p {
  margin: 0;
  color: var(--color-muted);
}

.split-narrative-section-body p + p {
  margin-top: 12px;
}

.split-narrative-section-copy > .button {
  margin-top: 24px;
}

.split-narrative-section-widget {
  min-width: 0;
}

/* widget-003 · Score report */
.scorecard-widget {
  min-width: 0;
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.scorecard-widget-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 17px;
  border-bottom: 1px solid var(--color-border);
}

.scorecard-widget-header span {
  color: var(--color-accent);
}

.scorecard-widget-header strong,
.scorecard-widget-row > span:first-child,
.scorecard-widget-summary span {
  color: var(--color-muted);
}

.scorecard-widget-row {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) 34px;
  gap: 14px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--color-border);
}

.scorecard-widget-row > strong {
  color: var(--color-text);
  text-align: right;
}

.scorecard-widget-meter {
  display: block;
  overflow: hidden;
  width: 100%;
  height: 8px;
  background: var(--color-border);
}

.scorecard-widget-fill {
  display: block;
  width: var(--scorecard-value);
  height: 100%;
  transform-origin: left center;
  background: var(--color-accent);
}

.scorecard-widget.is-score-pending .scorecard-widget-fill {
  transform: scaleX(0);
  transition: transform 1100ms cubic-bezier(.2, .7, .2, 1);
}

.scorecard-widget.is-score-pending.is-visible .scorecard-widget-fill {
  transform: scaleX(1);
}

.scorecard-widget-row:nth-child(2) .scorecard-widget-fill {
  transition-delay: 90ms;
}

.scorecard-widget-row:nth-child(3) .scorecard-widget-fill {
  transition-delay: 180ms;
}

.scorecard-widget-row:nth-child(4) .scorecard-widget-fill {
  transition-delay: 270ms;
}

.scorecard-widget-row:nth-child(5) .scorecard-widget-fill {
  transition-delay: 360ms;
}

.scorecard-widget-summary {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-top: 19px;
}

.scorecard-widget-summary strong {
  color: var(--color-text);
  text-align: right;
}

/* widget-002 · Card grid */
.card-grid-widget {
  min-width: 0;
  color: var(--color-text);
}

.card-grid-widget-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--color-border);
}

.card-grid-widget-grid--columns-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.card-grid-widget-grid--columns-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card-grid-widget--count-5 .card-grid-widget-grid--columns-3 {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card {
  grid-column: span 2;
}

.card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card:nth-child(n + 4) {
  grid-column: span 3;
  border-top: 1px solid var(--color-border);
}

.card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card:nth-child(4) {
  padding-left: 0;
  border-left: 0;
}

.card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card:nth-child(5) {
  padding-right: 0;
}

.card-grid-widget-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 28px 24px 10px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.card-grid-widget-card:first-child {
  padding-left: 0;
}

.card-grid-widget-card:last-child {
  padding-right: 0;
}

.card-grid-widget-card + .card-grid-widget-card {
  border-left: 1px solid var(--color-border);
}

.card-grid-widget-meta {
  display: flex;
  min-height: 24px;
  align-items: center;
  gap: 10px;
  margin-bottom: 34px;
  color: var(--color-muted);
}

.card-grid-widget-meta img {
  width: 20px;
  height: 20px;
  filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%);
}

.card-grid-widget-media {
  display: block;
  flex: 0 0 auto;
  object-fit: contain;
}

.card-grid-widget-meta .card-grid-widget-media--logo {
  width: auto;
  max-width: 112px;
  height: 32px;
  filter: none;
}

.card-grid-widget-card h3 {
  margin: 0 0 13px;
  color: var(--color-text);
}

.card-grid-widget-card p {
  margin: 0;
  color: var(--color-muted);
}

.card-grid-widget-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  margin-top: auto;
  padding-top: 26px;
  color: var(--color-accent);
  text-decoration: none;
}

.card-grid-widget-link span {
  transition: transform 150ms ease;
}

.card-grid-widget-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.card-grid-widget-link:hover span {
  transform: translateX(3px);
}

.card-grid-widget-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.card-grid-widget-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  margin-top: 30px;
  padding: 18px 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-muted);
}

.card-grid-widget-cta .card-grid-widget-link {
  margin: 0;
  padding: 0;
}

/* widget-004 · Testimonial carousel */
.testimonial-carousel-widget {
  min-width: 0;
  color: var(--color-text);
}

.testimonial-carousel-widget-controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  align-items: center;
  margin-bottom: 20px;
}

.testimonial-carousel-widget-controls[hidden] {
  display: none;
}

.testimonial-carousel-widget-controls > span {
  margin-right: 7px;
  color: var(--color-muted);
  white-space: nowrap;
}

.testimonial-carousel-widget-controls button {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
  transition: border-color 150ms ease, background 150ms ease, color 150ms ease;
}

.testimonial-carousel-widget-controls button:hover:not(:disabled) {
  border-color: var(--color-accent);
  background: var(--color-surface);
  color: var(--color-accent);
}

.testimonial-carousel-widget-controls button:focus-visible,
.testimonial-carousel-widget-viewport:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.testimonial-carousel-widget-controls button:disabled {
  opacity: .32;
  cursor: default;
}

.testimonial-carousel-widget-viewport {
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 14px;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  scrollbar-color: var(--color-accent) transparent;
  scrollbar-width: thin;
  overscroll-behavior-inline: contain;
}

.testimonial-carousel-widget-viewport::-webkit-scrollbar {
  height: 4px;
}

.testimonial-carousel-widget-viewport::-webkit-scrollbar-track {
  background: transparent;
}

.testimonial-carousel-widget-viewport::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: var(--color-accent);
}

.testimonial-carousel-widget-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(520px, 44vw);
  gap: 12px;
  align-items: stretch;
}

.testimonial-carousel-widget-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 34px clamp(28px, 3vw, 44px);
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  box-shadow: none;
  scroll-snap-align: start;
}

.testimonial-carousel-widget-card blockquote {
  max-width: 64ch;
  margin: 0;
  color: var(--color-text);
}

.testimonial-carousel-widget-card blockquote > :first-child {
  margin-top: 0;
}

.testimonial-carousel-widget-card blockquote > :last-child {
  margin-bottom: 0;
}

.testimonial-carousel-widget-person {
  display: flex;
  gap: 13px;
  align-items: center;
  margin-top: auto;
  padding-top: 26px;
}

.testimonial-carousel-widget-person img {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border: 1px solid var(--color-border);
  border-radius: 50%;
  object-fit: cover;
}

.testimonial-carousel-widget-person div {
  display: grid;
  gap: 4px;
}

.testimonial-carousel-widget-person strong {
  color: var(--color-text);
}

.testimonial-carousel-widget-person span {
  color: var(--color-muted);
}

html[data-theme='light'] .card-grid-widget-meta img {
  filter: invert(31%) sepia(12%) saturate(958%) hue-rotate(101deg) brightness(90%);
}

html[data-theme='light'] body.page main .card-grid-widget-card,
html[data-theme='light'] body.page main .card-grid-widget-cta {
  background: transparent !important;
  box-shadow: none !important;
}

/* widget-005 · Row list */
/* widget-177 · Plain bullets; native markers preserve accessible list semantics. */
.bullet-list-widget {
  margin: 20px 0 0;
  padding-inline-start: 1.4em;
  list-style: disc outside;
  color: var(--color-text);
}

.bullet-list-widget > li {
  padding-inline-start: .25em;
}

.bullet-list-widget > li + li {
  margin-top: 6px;
}

.bullet-list-widget > li::marker {
  color: var(--color-accent);
}

.row-list-widget {
  min-width: 0;
  color: var(--color-text);
}

.row-list-widget ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border);
  list-style: none;
}

.row-list-widget li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--color-border);
  background: transparent;
}

.row-list-widget li > :where(a, div) {
  display: grid;
  min-width: 0;
  gap: 20px;
  align-items: start;
  padding: 17px 5px;
  background: transparent;
}

.row-list-widget li > a {
  color: inherit;
  text-decoration: none;
}

.row-list-widget--underlined-title li > a > strong {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.row-list-widget--two-columns li > a {
  grid-template-columns: 180px minmax(0, 1fr) 18px;
}

.row-list-widget--two-columns li > div {
  grid-template-columns: 180px minmax(0, 1fr);
}

.row-list-widget--two-columns li > a:not(:has(> strong)) {
  grid-template-columns: minmax(0, 1fr) 18px;
}

.row-list-widget--two-columns li > div:not(:has(> strong)) {
  grid-template-columns: minmax(0, 1fr);
}

.row-list-widget--one-column li > a {
  grid-template-columns: minmax(0, 1fr) 18px;
  gap: 8px 20px;
}

.row-list-widget--one-column li > a > :where(strong, .row-list-widget-body) {
  grid-column: 1;
}

.row-list-widget--one-column li > a > .row-list-widget-icon {
  grid-column: 2;
  grid-row: 1;
}

.row-list-widget--one-column li > div {
  grid-template-columns: minmax(0, 1fr);
}

.row-list-widget strong {
  color: var(--color-text);
}

.row-list-widget span {
  color: var(--color-muted);
}

.row-list-widget .row-list-widget-icon {
  color: var(--color-accent);
  text-align: right;
}

.row-list-widget a:hover strong,
.row-list-widget a:hover span {
  color: var(--color-accent);
}

.row-list-widget a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

html[data-theme='light'] body.page main .row-list-widget li,
html[data-theme='light'] body.page main .row-list-widget li > :where(a, div) {
  background: transparent !important;
  box-shadow: none !important;
}

/* widget-006 · Progression */
.progression-widget {
  --progression-canvas: var(--color-canvas);
  --progression-panel: var(--color-surface);
  --progression-raised: var(--color-raised);
  --progression-text: var(--color-text);
  --progression-muted: var(--color-muted);
  --progression-accent: var(--color-accent);
  --progression-border: var(--color-border);
  min-width: 0;
  color: var(--progression-text);
}

.progression-widget-header {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: baseline;
  margin-bottom: 24px;
}

.progression-widget-header h2,
.progression-widget-header p {
  margin: 0;
}

.progression-widget-header h2 {
  color: var(--progression-text);
}

.progression-widget-header p {
  color: var(--progression-muted);
}

.progression-widget-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.progression-widget--count-3 .progression-widget-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.progression-widget[data-progression-columns='3'] .progression-widget-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 28px;
}

.progression-widget[data-progression-columns='3'] .progression-widget-step:nth-child(3n)::after {
  display: none;
}

.progression-widget-step {
  position: relative;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}

.progression-widget-step:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 28px;
  right: -19px;
  width: 26px;
  color: var(--progression-muted);
  content: '→';
  text-align: center;
}

.progression-widget-stage {
  display: flex;
  min-height: 0;
  height: 100%;
  flex-direction: column;
  padding: 22px 20px;
  border: 0;
  border-top: 1px solid color-mix(in srgb, var(--progression-accent) 42%, transparent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.progression-widget-stage--details {
  min-height: 270px;
  padding: 18px 14px 10px;
}

.progression-widget-number {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--progression-accent) 30%, transparent);
  border-radius: 50%;
  color: var(--progression-muted);
}

.progression-widget-progress {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  fill: none;
  stroke-width: 3;
}

.progression-widget-progress-track { stroke: var(--progression-border); }
.progression-widget-progress-fill { stroke: var(--progression-accent); }

/* Opt-in motion: without JavaScript, every indicator stays complete. */
.progression-widget[data-progress-animation="sequence"] .progression-widget-stage {
  position: relative;
}

.progression-widget[data-progress-animation="sequence"] .progression-widget-stage::before {
  position: absolute;
  top: -1px;
  right: 0;
  left: 0;
  height: 3px;
  background: var(--progression-accent);
  transform: scaleX(1);
  transform-origin: left;
  content: '';
}

.progression-widget[data-progress-animation="sequence"] .progression-widget-number {
  border-width: 2px;
  border-color: var(--progression-accent);
  background: var(--progression-panel);
  color: var(--progression-text);
}

@media (prefers-reduced-motion: no-preference) {
  [data-progress-animation="rings"] [data-progress-state="pending"] .progression-widget-progress-fill {
    stroke-dashoffset: var(--progression-marker-progress);
  }

  [data-progress-animation="rings"] [data-progress-state="running"] .progression-widget-progress-fill {
    animation: progression-ring-fill 800ms ease-out both;
  }

  .progression-widget[data-progress-animation="sequence"] [data-progress-state="pending"]::before {
    transform: scaleX(0);
  }

  .progression-widget[data-progress-animation="sequence"] [data-progress-state="running"]::before {
    animation: progression-line-fill 800ms linear both;
  }

  [data-progress-animation="sequence"] [data-progress-state="pending"] .progression-widget-number,
  [data-progress-animation="sequence"] [data-progress-state="running"] .progression-widget-number {
    border-color: var(--progression-border);
    background: transparent;
    color: var(--progression-muted);
  }
}

@keyframes progression-ring-fill {
  from { stroke-dashoffset: var(--progression-marker-progress); }
  to { stroke-dashoffset: 0; }
}

@keyframes progression-line-fill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

.progression-widget-lead.progression-widget-lead--framed {
  align-self: flex-start;
  max-width: 100%;
  padding: 9px 13px;
  border: 1px solid var(--progression-border);
  border-radius: 6px;
}
.progression-widget-lead.progression-widget-lead--pill { border-radius: 999px; }

.progression-widget-stage h3 {
  min-height: 58px;
  margin: 18px 0 12px;
  color: var(--progression-text);
}

.progression-widget-stage--details h3 {
  min-height: 0;
  margin: 13px 0 10px;
  color: var(--progression-accent);
}

.progression-widget-lead,
.progression-widget-body {
  margin: 0;
}

.progression-widget-lead {
  color: var(--progression-text);
}

.progression-widget-body {
  margin-top: 9px;
  color: var(--progression-muted);
}

.progression-widget-stage > .progression-widget-body:first-of-type {
  margin-top: 0;
}

.progression-widget-chips,
.progression-widget-checks,
.progression-widget-details {
  margin: auto 0 0;
  padding: 0;
  list-style: none;
}

.progression-widget-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.progression-widget-chips li {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid var(--progression-border);
  background: transparent;
  color: var(--progression-muted);
}

.progression-widget-chips img,
.progression-widget-action img,
.progression-widget-detail-trigger > img {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%);
}

.progression-widget-checks {
  display: grid;
  gap: 4px;
}

.progression-widget-checks li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 7px;
  padding: 8px 9px;
  border-bottom: 1px solid var(--progression-border);
  background: transparent;
  color: var(--progression-muted);
}

.progression-widget-checks li::before {
  color: var(--progression-accent);
  content: '✓';
}

.progression-widget-action {
  display: flex;
  gap: 11px;
  align-items: center;
  margin-top: auto;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--progression-accent) 30%, transparent);
  color: var(--progression-text);
}

.progression-widget-details {
  border-top: 1px solid var(--progression-border);
}

.progression-widget-details > li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--progression-border);
  background: transparent;
}

.progression-widget-details > li:last-child {
  border-bottom: 0;
}

.progression-widget-detail-trigger {
  position: relative;
  display: grid;
  width: 100%;
  min-height: 48px;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  padding: 9px 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--progression-text);
  text-align: left;
  cursor: help;
}

.progression-widget-detail-trigger:focus-visible {
  outline: 2px solid var(--progression-accent);
  outline-offset: 2px;
}

.progression-widget-tooltip {
  position: absolute;
  z-index: 20;
  bottom: calc(100% + 8px);
  left: 50%;
  width: min(280px, calc(100vw - 48px));
  padding: 12px 13px;
  border: 1px solid color-mix(in srgb, var(--progression-accent) 48%, transparent);
  border-radius: 6px;
  background: var(--progression-raised);
  color: var(--progression-text);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 5px);
  transition: opacity 140ms ease, transform 140ms ease, visibility 140ms ease;
  visibility: hidden;
  white-space: normal;
}

.progression-widget-tooltip::after {
  position: absolute;
  top: 100%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-right: 1px solid color-mix(in srgb, var(--progression-accent) 48%, transparent);
  border-bottom: 1px solid color-mix(in srgb, var(--progression-accent) 48%, transparent);
  background: var(--progression-raised);
  content: '';
  transform: translate(-50%, -4px) rotate(45deg);
}

.progression-widget-step:first-child .progression-widget-tooltip {
  left: -2px;
  transform: translate(0, 5px);
}

.progression-widget-step:first-child .progression-widget-tooltip::after {
  left: 27px;
}

.progression-widget-step:last-child .progression-widget-tooltip {
  right: -2px;
  left: auto;
  transform: translate(0, 5px);
}

.progression-widget-step:last-child .progression-widget-tooltip::after {
  right: 27px;
  left: auto;
}

.progression-widget-detail-trigger:hover .progression-widget-tooltip,
.progression-widget-detail-trigger:focus-visible .progression-widget-tooltip,
.progression-widget-detail-trigger[aria-expanded='true'] .progression-widget-tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
  visibility: visible;
}

.progression-widget-step:first-child .progression-widget-detail-trigger:hover .progression-widget-tooltip,
.progression-widget-step:first-child .progression-widget-detail-trigger:focus-visible .progression-widget-tooltip,
.progression-widget-step:first-child .progression-widget-detail-trigger[aria-expanded='true'] .progression-widget-tooltip,
.progression-widget-step:last-child .progression-widget-detail-trigger:hover .progression-widget-tooltip,
.progression-widget-step:last-child .progression-widget-detail-trigger:focus-visible .progression-widget-tooltip,
.progression-widget-step:last-child .progression-widget-detail-trigger[aria-expanded='true'] .progression-widget-tooltip {
  transform: translate(0, 0);
}

.progression-widget-summary {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr)) auto;
  gap: 18px;
  align-items: center;
  margin-top: 14px;
  padding: 17px 20px;
  border: 1px solid color-mix(in srgb, var(--progression-accent) 22%, var(--progression-border));
  background: color-mix(in srgb, var(--progression-accent) 7%, var(--progression-panel));
  color: var(--progression-muted);
}

.progression-widget-summary strong {
  color: var(--progression-text);
}

.progression-widget-summary strong::before {
  margin-right: 8px;
  color: var(--progression-accent);
  content: '·';
}

html[data-theme='light'] body.page main .progression-widget-summary {
  border-color: color-mix(in srgb, var(--progression-accent) 22%, var(--progression-border)) !important;
  background: color-mix(in srgb, var(--progression-accent) 7%, var(--progression-panel)) !important;
}

.progression-widget-link {
  display: inline-flex;
  gap: 8px;
  justify-self: end;
  color: var(--progression-accent);
  text-decoration: none;
}

.progression-widget-link span {
  transition: transform 150ms ease;
}

.progression-widget-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.progression-widget-link:hover span {
  transform: translateX(3px);
}

.progression-widget-link:focus-visible {
  outline: 2px solid var(--progression-accent);
  outline-offset: 4px;
}

.progression-widget-proof {
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
  gap: 32px;
  align-items: center;
  margin: 14px 0 0;
  padding: 22px;
  border: 1px solid var(--progression-border);
  background: var(--progression-panel);
}

.progression-widget-proof figcaption {
  display: grid;
  gap: 12px;
  color: var(--progression-muted);
}

.progression-widget-proof figcaption .type-label {
  color: var(--progression-accent);
}

.progression-widget-proof-media {
  overflow: hidden;
  width: min(100%, 560px);
  justify-self: end;
  border: 1px solid var(--progression-border);
  border-radius: 5px;
  background: var(--progression-canvas);
}

.progression-widget-proof-media:has(img[width='400']) {
  width: min(100%, 400px);
}

.progression-widget-proof-media img {
  display: block;
  width: 100%;
  height: auto;
}

html[data-theme='light'] .progression-widget :where(.progression-widget-step, .progression-widget-chips li, .progression-widget-checks li, .progression-widget-details > li) {
  background: transparent !important;
  box-shadow: none !important;
}

html[data-theme='light'] .progression-widget :where(.progression-widget-chips img, .progression-widget-action img, .progression-widget-detail-trigger > img) {
  filter: invert(31%) sepia(12%) saturate(958%) hue-rotate(101deg) brightness(90%);
}

/* section-003 · Page intro */
.page-intro-section {
  padding: 118px 0 82px;
  border-bottom: 1px solid var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}

.page-intro-section-inner--with-widget {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
  gap: clamp(48px, 8vw, 100px);
  align-items: center;
}

.page-intro-section-copy {
  max-width: 850px;
  min-width: 0;
}

.page-intro-section-copy > .type-label {
  margin: 0 0 18px;
  color: var(--color-accent);
}

.page-intro-section-copy h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--color-text);
}

.page-intro-section-copy > .type-lead {
  max-width: 68ch;
  margin: 25px 0 0;
  color: var(--color-muted);
}

.page-intro-section-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 28px;
}

.page-intro-section-widget {
  min-width: 0;
}

.card-grid-widget-card[id] {
  scroll-margin-top: 92px;
}

/* Global migration diagnostic · opt in with ?design-system-labels=1 */
html[data-design-system-labels='true'] [data-design-system-approved] {
  position: relative;
  outline: 1px dashed color-mix(in srgb, var(--color-accent) 52%, transparent);
  outline-offset: -1px;
}

.design-system-approved-pill {
  position: absolute;
  z-index: 8;
  top: 9px;
  right: 9px;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 9px;
  border: 1px solid var(--color-accent);
  border-radius: 999px;
  background: var(--color-accent);
  color: var(--color-canvas);
  pointer-events: none;
  white-space: nowrap;
}

/* widget-007 · Sitemap disclosure */
.sitemap-disclosure-widget {
  min-width: 0;
  color: var(--color-text);
}

.sitemap-disclosure-legend {
  display: flex;
  gap: 9px;
  align-items: center;
  margin: 0 0 22px;
  color: var(--color-muted);
}

.sitemap-disclosure-legend > span,
.sitemap-disclosure-status > span {
  color: var(--color-conditional);
}

.sitemap-disclosure-groups {
  border-top: 1px solid var(--color-border);
}

.sitemap-disclosure-groups details {
  border-bottom: 1px solid var(--color-border);
  background: transparent;
}

.sitemap-disclosure-groups summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 20px;
  gap: 18px;
  align-items: center;
  padding: 24px 4px;
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
}

.sitemap-disclosure-groups summary::-webkit-details-marker {
  display: none;
}

.sitemap-disclosure-groups summary::after {
  color: var(--color-accent);
  content: '+';
  text-align: right;
}

.sitemap-disclosure-groups details[open] summary::after {
  content: '−';
}

.sitemap-disclosure-count {
  color: var(--color-muted);
}

.sitemap-disclosure-groups ul {
  margin: 0;
  padding: 0 0 18px;
  list-style: none;
}

.sitemap-disclosure-groups li {
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border);
  background: transparent;
}

.sitemap-disclosure-groups a {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(160px, .8fr) auto 18px;
  gap: 18px;
  align-items: center;
  padding: 16px 4px;
  color: inherit;
  text-decoration: none;
}

.sitemap-disclosure-page-label {
  color: var(--color-text);
}

.sitemap-disclosure-path {
  overflow-wrap: anywhere;
  color: var(--color-muted);
}

.sitemap-disclosure-status {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--color-muted);
  white-space: nowrap;
}

.sitemap-disclosure-arrow {
  color: var(--color-accent);
  text-align: right;
  transition: transform 150ms ease;
}

.sitemap-disclosure-groups a:hover :where(.sitemap-disclosure-page-label, .sitemap-disclosure-path) {
  color: var(--color-accent);
}

.sitemap-disclosure-groups a:hover .sitemap-disclosure-arrow {
  transform: translateX(3px);
}

.sitemap-disclosure-groups :where(summary, a):focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

html[data-theme='light'] body.page main .sitemap-disclosure-groups :where(details, li, a) {
  background: transparent !important;
  box-shadow: none !important;
}

/* section-004 · Closing CTA */
.closing-cta-section {
  padding: 88px 0;
  border-top: 1px solid var(--color-border);
  background: color-mix(in srgb, var(--color-accent) 3%, var(--color-canvas));
  color: var(--color-text);
}

.closing-cta-section-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(32px, 7vw, 92px);
  align-items: end;
}

.closing-cta-section-copy {
  max-width: 760px;
}

.closing-cta-section-copy :where(p, h2) {
  margin: 0;
}

.closing-cta-section-copy > .type-label {
  margin-bottom: 13px;
  color: var(--color-accent);
}

.closing-cta-section-body {
  max-width: 62ch;
  margin-top: 17px !important;
  color: var(--color-muted);
}

.closing-cta-section-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

/* section-005 · Prose */
.prose-section {
  padding: 88px 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}

.prose-section-content {
  max-width: 760px;
}

.prose-section-header :where(p, h2),
.prose-section-blocks :where(p, h3) {
  margin: 0;
}

.prose-section-header > .type-label {
  margin-bottom: 13px;
  color: var(--color-accent);
}

.prose-section-blocks {
  display: grid;
  gap: 18px;
  margin-top: 24px;
  color: var(--color-muted);
}

.prose-section-subsection {
  display: grid;
  gap: 12px;
  margin-top: 10px;
  padding-top: 22px;
  border-top: 1px solid var(--color-border);
}

.prose-section-subsection h3 {
  color: var(--color-text);
}

.prose-section-link {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 26px;
  color: var(--color-accent);
  text-decoration: none;
}

.prose-section-link span {
  transition: transform 150ms ease;
}

.prose-section-link:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.prose-section-link:hover span {
  transform: translateX(3px);
}

/* section-006 · Chapter sequence */
.chapter-sequence-section {
  padding: 88px 0;
  border-top: 1px solid var(--color-border);
  background: var(--color-canvas);
  color: var(--color-text);
}

.chapter-sequence-section-header {
  max-width: 760px;
}

.chapter-sequence-section-header :where(p, h2),
.chapter-sequence-section-chapter :where(p, h3) {
  margin: 0;
}

.chapter-sequence-section-header > .type-label,
.chapter-sequence-section-chapter-header > .type-label {
  color: var(--color-accent);
}

.chapter-sequence-section-header > .type-label {
  margin-bottom: 13px;
}

.chapter-sequence-section-body {
  margin-top: 17px !important;
  color: var(--color-muted);
}

.chapter-sequence-section-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: chapter;
}

.chapter-sequence-section-item {
  min-width: 0;
  counter-increment: chapter;
}

.chapter-sequence-section-chapter {
  height: 100%;
  padding: 26px 24px;
  border-left: 1px solid var(--color-border);
  background: transparent;
  box-shadow: none;
}

.chapter-sequence-section-item:first-child .chapter-sequence-section-chapter {
  padding-left: 0;
  border-left: 0;
}

.chapter-sequence-section-item:last-child .chapter-sequence-section-chapter {
  padding-right: 0;
}

.chapter-sequence-section-chapter-header {
  display: grid;
  gap: 10px;
}

.chapter-sequence-section-chapter-header > .type-label {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--color-border);
}

.chapter-sequence-section-chapter-header::before {
  color: var(--color-muted);
  content: counter(chapter, decimal-leading-zero);
}

.chapter-sequence-section-chapter-body {
  margin-top: 15px !important;
  color: var(--color-muted);
}

.chapter-sequence-section-widget-slot {
  min-width: 0;
  margin-top: 22px;
}

.prose-section-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

/* widget-008 · Evidence frame */
.evidence-frame-widget {
  overflow: hidden;
  margin: 0;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.evidence-frame-widget-media {
  overflow: hidden;
  background: var(--color-canvas);
}

.evidence-frame-widget-media img {
  display: block;
  width: 100%;
  height: auto;
}

.evidence-frame-widget--image-only {
  border: 0;
  background: transparent;
}

.evidence-frame-widget--image-only .evidence-frame-widget-media {
  background: transparent;
}

.evidence-frame-widget-caption {
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: start;
  padding: 18px 20px;
  border-top: 1px solid var(--color-border);
}

.evidence-frame-widget-copy {
  display: grid;
  max-width: 70ch;
  gap: 7px;
  color: var(--color-muted);
}

.evidence-frame-widget-copy .type-label {
  color: var(--color-accent);
}

.evidence-frame-widget-link,
.notice-widget-link,
.offer-cards-widget-cta,
.comparison-matrix-widget-evidence {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  color: var(--color-accent);
  text-decoration: none;
}

.evidence-frame-widget-link {
  flex: 0 0 auto;
}

.evidence-frame-widget-link span,
.notice-widget-link span,
.offer-cards-widget-cta span,
.comparison-matrix-widget-evidence span {
  transition: transform 150ms ease;
}

.evidence-frame-widget-link:hover,
.notice-widget-link:hover,
.offer-cards-widget-cta:hover,
.comparison-matrix-widget-evidence:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.evidence-frame-widget-link:hover span,
.notice-widget-link:hover span,
.offer-cards-widget-cta:hover span,
.comparison-matrix-widget-evidence:hover span {
  transform: translateX(3px);
}

.evidence-frame-widget-link:focus-visible,
.notice-widget-link:focus-visible,
.offer-cards-widget-cta:focus-visible,
.comparison-matrix-widget-evidence:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

/* widget-009 · Notice / boundary */
.notice-widget {
  --notice-accent: var(--color-muted);
  padding: 24px;
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--notice-accent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--notice-accent) 4%, var(--color-surface));
  color: var(--color-text);
  box-shadow: none;
}

.notice-widget--status {
  --notice-accent: var(--color-information);
}

.notice-widget--scope {
  --notice-accent: var(--color-accent);
}

.notice-widget--warning {
  --notice-accent: var(--color-conditional);
}

.notice-widget-eyebrow,
.notice-widget-title,
.notice-widget-body {
  margin: 0;
}

.notice-widget-eyebrow {
  color: var(--notice-accent);
}

.notice-widget-title {
  margin-top: 9px;
  color: var(--color-text);
}

.notice-widget-body {
  max-width: 68ch;
  margin-top: 11px;
  color: var(--color-muted);
}

.notice-widget-items {
  display: grid;
  gap: 8px;
  margin: 17px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--color-border);
  list-style: none;
}

.notice-widget-items li {
  display: grid;
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 8px;
  color: var(--color-muted);
}

.notice-widget-items li::before {
  color: var(--notice-accent);
  content: '·';
}

.notice-widget-items li.notice-widget-item--emphasized {
  padding: 14px 0;
  gap: 12px;
}

.notice-widget-items li.notice-widget-item--emphasized + li {
  border-top: 1px solid var(--color-border);
}

.notice-widget-items li.notice-widget-item--emphasized::before { content: '•'; }
.notice-widget-item--emphasized strong { color: var(--color-text); }

.notice-widget-link {
  margin-top: 18px;
}

/* widget-010 · Offer cards */
.offer-cards-widget-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.offer-cards-widget-item {
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
}

.offer-cards-widget-offer {
  display: flex;
  height: 100%;
  flex-direction: column;
  padding: 26px 24px;
  border: 1px solid var(--color-border);
  border-top: 2px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.offer-cards-widget-offer--recommended {
  border-top-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 3%, var(--color-surface));
}

.offer-cards-widget-badge {
  align-self: flex-start;
  margin-bottom: 18px;
  color: var(--color-accent);
}

.offer-cards-widget-name,
.offer-cards-widget-price,
.offer-cards-widget-description {
  margin: 0;
}

.offer-cards-widget-price {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  color: var(--color-text);
}

.offer-cards-widget-price span,
.offer-cards-widget-description {
  color: var(--color-muted);
}

.offer-cards-widget-description {
  margin-top: 14px;
}

.offer-cards-widget-inclusions {
  display: grid;
  gap: 9px;
  margin: 22px 0 0;
  padding: 18px 0 0;
  border-top: 1px solid var(--color-border);
  list-style: none;
}

.offer-cards-widget-inclusions li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 8px;
  color: var(--color-muted);
}

.offer-cards-widget-inclusions li::before {
  color: var(--color-accent);
  content: '✓';
}

.offer-cards-widget-cta {
  align-self: flex-start;
  margin-top: auto;
  padding-top: 26px;
}

/* widget-011 · Comparison matrix */
.comparison-matrix-widget {
  overflow-x: auto;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  scrollbar-color: var(--color-accent) transparent;
  scrollbar-width: thin;
}

.comparison-matrix-widget:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.comparison-matrix-widget table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.comparison-matrix-widget caption {
  padding: 18px 20px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-accent);
  text-align: left;
}

.comparison-matrix-widget :where(th, td) {
  min-width: 190px;
  padding: 18px 20px;
  border-right: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  vertical-align: top;
}

.comparison-matrix-widget :where(th, td):last-child {
  border-right: 0;
}

.comparison-matrix-widget tbody tr:last-child :where(th, td) {
  border-bottom: 0;
}

.comparison-matrix-widget thead th,
.comparison-matrix-widget tbody th {
  background: color-mix(in srgb, var(--color-muted) 4%, var(--color-surface));
}

.comparison-matrix-widget th > :where(strong, span) {
  display: block;
}

.comparison-matrix-widget th > span {
  margin-top: 6px;
  color: var(--color-muted);
}

.comparison-matrix-widget td p {
  margin: 10px 0 0;
  color: var(--color-muted);
}

.comparison-matrix-widget-state {
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--color-text);
}

.comparison-matrix-widget-state-icon { display:inline-grid; place-items:center; order:-1; width:26px; height:26px; flex:0 0 26px; border:1px solid var(--color-border); border-radius:50%; color:var(--color-muted); background:var(--color-canvas); }
.comparison-matrix-widget td[data-comparison-state='supported'] { background:color-mix(in srgb,var(--color-accent) 14%,var(--color-canvas)); }
.comparison-matrix-widget td[data-comparison-state='conditional'] { background:color-mix(in srgb,var(--color-conditional) 14%,var(--color-canvas)); }
.comparison-matrix-widget td[data-comparison-state='unknown'] { background:color-mix(in srgb,var(--color-information) 8%,var(--color-canvas)); }
.comparison-matrix-widget td[data-comparison-state='no'] { background:color-mix(in srgb,var(--color-error) 10%,var(--color-canvas)); }
.comparison-matrix-widget td[data-comparison-state='unassessed'] { background:var(--color-surface); }
.comparison-matrix-widget-state--supported .comparison-matrix-widget-state-icon { background:var(--color-accent); border-color:var(--color-accent); color:var(--color-canvas); }
.comparison-matrix-widget-state--conditional .comparison-matrix-widget-state-icon { background:var(--color-conditional); border-color:var(--color-conditional); color:var(--color-canvas); }
.comparison-matrix-widget-state--unknown .comparison-matrix-widget-state-icon { color:var(--color-information); border-color:var(--color-information); border-style:dashed; }
.comparison-matrix-widget-state--no .comparison-matrix-widget-state-icon { background:var(--color-error); border-color:var(--color-error); color:var(--color-canvas); }

.comparison-matrix-widget-state--supported {
  border-color: color-mix(in srgb, var(--color-accent) 40%, transparent);
  color: var(--color-accent);
}

.comparison-matrix-widget-state--conditional,
.comparison-matrix-widget-state--not-public {
  border-color: color-mix(in srgb, var(--color-conditional) 40%, transparent);
  color: var(--color-conditional);
}

.comparison-matrix-widget-state--no {
  border-color: color-mix(in srgb, var(--color-error) 40%, transparent);
  color: var(--color-error);
}

.comparison-matrix-widget-evidence {
  margin-top: 14px;
}

.comparison-matrix-widget--gridless,
.comparison-matrix-widget--gridless :where(caption, th, td) {
  border: 0;
}

.comparison-matrix-widget--gridless thead th,
.comparison-matrix-widget--gridless tbody th { background: transparent; }
.comparison-matrix-widget--gridless td p:first-child { margin-top: 0; }

.comparison-matrix-widget-group {
  background: color-mix(in srgb, var(--color-muted) 7%, var(--color-surface));
}

.comparison-matrix-widget-group-start > :where(th, td) {
  padding-top: 30px;
}

/* widget-012 · Form */
.form-widget {
  padding: 24px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.form-widget-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.form-widget-field {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.form-widget-field--textarea,
.form-widget-field--checkbox {
  grid-column: 1 / -1;
}

.form-widget-label {
  color: var(--color-text);
}

.form-widget-label span,
.form-widget-field--checkbox label span {
  color: var(--color-conditional);
}

.form-widget :where(input, textarea, select) {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-canvas);
  color: var(--color-text);
}

.form-widget textarea {
  min-height: 132px;
  resize: vertical;
}

.form-widget :where(input, textarea, select):focus-visible {
  border-color: var(--color-accent);
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.form-widget-checkbox-control {
  display: flex;
  gap: 11px;
  align-items: start;
}

.form-widget-checkbox-control input {
  width: 18px;
  min-height: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin-top: 2px;
  padding: 0;
  accent-color: var(--color-accent);
}

.form-widget-help,
.form-widget-status {
  margin: 0;
  color: var(--color-muted);
}

.form-widget-submit {
  margin-top: 22px;
}

.form-widget-status {
  min-height: 22px;
  margin-top: 12px;
}

/* widget-012 · External runtime extension */
.form-widget--external-runtime {
  display: grid;
  gap: 24px;
}

.form-widget--external-runtime .form-widget-fields {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-widget-progress {
  display: grid;
  gap: 10px;
}

.form-widget-progress ol {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.form-widget-progress-step {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  color: var(--color-muted);
}

.form-widget-progress-step--active,
.form-widget-progress-step--complete {
  color: var(--color-accent);
}

.form-widget-progress-number {
  display: inline-flex;
  flex: 0 0 26px;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--color-border);
  border-radius: 50%;
}

.form-widget-progress-step--active .form-widget-progress-number,
.form-widget-progress-step--complete .form-widget-progress-number {
  border-color: color-mix(in srgb, var(--color-accent) 55%, var(--color-border));
  background: color-mix(in srgb, var(--color-accent) 10%, transparent);
}

.form-widget-progress-label {
  min-width: 0;
  overflow-wrap: anywhere;
}

.form-widget-progress-meter {
  height: 8px;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: var(--color-canvas);
}

.form-widget-progress-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--color-accent);
  transition: width 160ms ease;
}

.form-widget-progress-status,
.form-widget-runtime-step-header p,
.form-widget-error {
  margin: 0;
  color: var(--color-muted);
}

.form-widget-runtime-steps {
  display: grid;
  min-width: 0;
}

.form-widget-runtime-step {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.form-widget-runtime-step-header {
  display: grid;
  gap: 8px;
}

.form-widget-runtime-step-header h2 {
  margin: 0;
  color: var(--color-text);
}

.form-widget--external-runtime .form-widget-field {
  min-width: 0;
}

.form-widget--external-runtime .form-widget-field--textarea,
.form-widget--external-runtime .form-widget-field--multiple-choice,
.form-widget--external-runtime .form-widget-field--tag {
  grid-column: 1 / -1;
}

.form-widget--external-runtime .form-widget-label {
  color: var(--color-text);
}

.form-widget--external-runtime .form-widget-label span {
  color: var(--color-conditional);
}

.form-widget--external-runtime :where(input, textarea, select) {
  width: 100%;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-canvas);
  color: var(--color-text);
}

.form-widget--external-runtime textarea {
  min-height: 132px;
  resize: vertical;
}

.form-widget--external-runtime :where(input, textarea, select):focus-visible,
.form-widget-choice:has(input:focus-visible),
.form-widget-tag-option:focus-visible,
.form-widget-tag:focus-visible,
.form-widget-back:focus-visible,
.form-widget-next:focus-visible {
  border-color: var(--color-accent);
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.form-widget--external-runtime [aria-invalid='true'] {
  border-color: var(--color-error);
}

.form-widget-choice-list,
.form-widget-tag-options {
  display: grid;
  gap: 8px;
}

.form-widget-choice {
  display: flex;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-canvas);
  color: var(--color-text);
  cursor: pointer;
}

.form-widget-choice:has(input:checked) {
  border-color: color-mix(in srgb, var(--color-accent) 48%, var(--color-border));
  background: color-mix(in srgb, var(--color-accent) 9%, var(--color-canvas));
}

.form-widget-choice input {
  width: 18px;
  min-height: 18px;
  height: 18px;
  flex: 0 0 18px;
  padding: 0;
  accent-color: var(--color-accent);
}

.form-widget-tag-control {
  display: grid;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-canvas);
}

.form-widget-tag-control:focus-within {
  border-color: var(--color-accent);
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.form-widget-tag-control .form-widget-tag-input {
  min-height: 40px;
  padding: 8px;
  border: 0;
  outline: 0;
  background: transparent;
}

.form-widget-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.form-widget-tag,
.form-widget-tag-option {
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text);
}

.form-widget-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  cursor: pointer;
}

.form-widget-tag span {
  color: var(--color-muted);
}

.form-widget-tag-option {
  min-height: 40px;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}

.form-widget-tag-option:hover,
.form-widget-tag-option[aria-selected='true'] {
  border-color: color-mix(in srgb, var(--color-accent) 48%, var(--color-border));
  background: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));
}

.form-widget-error,
.form-widget-status--validation,
.form-widget-status--error {
  color: var(--color-error);
}

.form-widget-status--success {
  color: var(--color-accent);
}

.form-widget-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 0;
}

/* Public new/light form fixes; keep the other presentation modes intact. */
.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .page-intro-section-inner--with-widget {
  align-items: start;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-progress ol {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  row-gap: 12px;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-progress-step {
  align-items: start;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-progress-label {
  overflow-wrap: normal;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-fields {
  align-items: start;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tags:empty {
  display: none;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tag-control .form-widget-tag-input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tag-dropdown {
  padding: 6px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-canvas);
  color: var(--color-text);
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tag-dropdown .form-widget-tag-option {
  display: flex;
  width: 100%;
  border: 0;
  background: transparent;
}

.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tag-dropdown .form-widget-tag-option:hover,
.qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-tag-dropdown .form-widget-tag-option[data-combobox-selected] {
  background: var(--color-surface);
}

@media (max-width: 720px) {
  .form-widget--external-runtime .form-widget-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .form-widget-progress-step {
    align-items: start;
  }

  .form-widget-progress-label {
    display: none;
  }

  .qf-presentation-root[data-public-design='new'][data-public-theme='light'] .form-widget-progress ol {
    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  }
}

/* widget-176 · Liquid facts */
.liquid-facts-widget-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.liquid-facts-widget-fact {
  position: relative;
  display: grid;
  min-width: 0;
  gap: 8px;
  padding: 24px 22px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-accent) 42%, var(--color-border));
  border-radius: 10px;
  background: color-mix(in srgb, var(--color-surface) 92%, transparent);
  backdrop-filter: blur(8px);
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.liquid-facts-widget-fact::before {
  position: absolute;
  inset: 0;
  border: 1px solid color-mix(in srgb, var(--color-text) 22%, transparent);
  border-radius: inherit;
  content: '';
  pointer-events: none;
}

.liquid-facts-widget-fact:hover {
  border-color: var(--color-accent);
  background: color-mix(in srgb, var(--color-surface) 86%, transparent);
  transform: translateY(-2px);
}

.liquid-facts-widget-fact:focus-within {
  border-color: var(--color-accent);
}

.liquid-facts-widget-value {
  color: var(--color-text);
}

.liquid-facts-widget-label {
  color: var(--color-accent);
}

.liquid-facts-widget-qualifier {
  color: var(--color-muted);
}

@media (max-width: 720px) {
  .liquid-facts-widget-list {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .liquid-facts-widget-fact {
    transition: none;
  }

  .liquid-facts-widget-fact:hover {
    transform: none;
  }
}

/* widget-013 · Fact strip */
.fact-strip-widget-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  list-style: none;
}

.fact-strip-widget--section-owned-boundary .fact-strip-widget-list {
  border-top: 0;
  border-bottom: 0;
}

.fact-strip-widget-fact {
  display: grid;
  min-width: 0;
  gap: 8px;
  padding: 22px 20px;
  background: transparent;
}

.fact-strip-widget--section-owned-boundary .fact-strip-widget-fact:first-child,
.fact-strip-widget-fact + .fact-strip-widget-fact {
  border-left: 1px solid var(--color-border);
}

.fact-strip-widget-value {
  color: var(--color-text);
}

.fact-strip-widget-label {
  color: var(--color-accent);
}

.fact-strip-widget-qualifier {
  color: var(--color-muted);
}

/* widget-014 · Source ledger */
.source-ledger-widget-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.source-ledger-widget-entry {
  margin: 0;
  padding: 0;
  background: transparent;
}

.source-ledger-widget-entry article {
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
  color: var(--color-text);
  box-shadow: none;
}

.source-ledger-widget-header,
.source-ledger-widget-footer {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: baseline;
}

.source-ledger-widget-source-type {
  color: var(--color-accent);
}

.source-ledger-widget-accessed-date,
.source-ledger-widget-scope-note {
  color: var(--color-muted);
}

.source-ledger-widget-entry h3,
.source-ledger-widget-summary {
  margin: 0;
}

.source-ledger-widget-entry h3 {
  margin-top: 14px;
}

.source-ledger-widget-link {
  color: var(--color-text);
  text-decoration: none;
}

.source-ledger-widget-link:hover {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.source-ledger-widget-link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.source-ledger-widget-summary {
  max-width: 78ch;
  margin-top: 10px;
  color: var(--color-muted);
}

.source-ledger-widget-footer {
  margin-top: 17px;
  padding-top: 15px;
  border-top: 1px solid var(--color-border);
}

.source-ledger-widget-confidence {
  flex: 0 0 auto;
  color: var(--color-muted);
}

.source-ledger-widget-confidence--high {
  color: var(--color-accent);
}

.source-ledger-widget-confidence--medium {
  color: var(--color-conditional);
}

.source-ledger-widget-confidence--low {
  color: var(--color-error);
}

/* widget-015 · Evidence source map */
.evidence-source-map-widget {
  min-width: 0;
  margin: 0;
  color: var(--color-text);
}

.evidence-source-map-widget-source-group {
  position: relative;
  min-width: 0;
  padding-bottom: 32px;
}

.evidence-source-map-widget-source-group::before,
.evidence-source-map-widget-source-group::after {
  position: absolute;
  background: var(--color-border);
  content: '';
}

.evidence-source-map-widget-source-group::before {
  right: 25%;
  bottom: 31px;
  left: 25%;
  height: 1px;
}

.evidence-source-map-widget-source-group::after {
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 32px;
}

.evidence-source-map-widget-sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border: 1px solid var(--color-border);
  list-style: none;
}

.evidence-source-map-widget-source {
  display: grid;
  min-width: 0;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 14px 13px;
  background: transparent;
  color: var(--color-muted);
}

.evidence-source-map-widget-source:nth-child(even) {
  border-left: 1px solid var(--color-border);
}

.evidence-source-map-widget-source:nth-child(n + 3) {
  border-top: 1px solid var(--color-border);
}

.evidence-source-map-widget--count-5 .evidence-source-map-widget-source:last-child {
  grid-column: 1 / -1;
  border-left: 0;
}

.evidence-source-map-widget-source-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%);
}

.evidence-source-map-widget-source-title {
  min-width: 0;
}

.evidence-source-map-widget-core {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 22px;
  border: 1px solid var(--color-border);
  border-left: 3px solid var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 4%, var(--color-surface));
}

.evidence-source-map-widget-core::before {
  position: absolute;
  top: -5px;
  left: calc(50% - 4px);
  width: 9px;
  height: 9px;
  background: var(--color-accent);
  content: '';
  transform: rotate(45deg);
}

.evidence-source-map-widget-eyebrow {
  color: var(--color-accent);
}

.evidence-source-map-widget-title {
  color: var(--color-text);
}

.evidence-source-map-widget-body {
  color: var(--color-muted);
}

html[data-theme='light'] .evidence-source-map-widget-source-icon {
  filter: invert(31%) sepia(12%) saturate(958%) hue-rotate(101deg) brightness(90%);
}

html[data-theme='light'] body.page main :where(
  .chapter-sequence-section-chapter,
  .offer-cards-widget-item,
  .source-ledger-widget-entry
) {
  background: transparent !important;
  box-shadow: none !important;
}

/* widget-016 · Smart Signal preview */
.smart-signal-widget {
  position: relative;
  width: min(100%, 500px);
  min-width: 0;
  justify-self: end;
  padding: 22px;
  border: 1px solid var(--color-border);
  border-radius: 8px;
  background: var(--color-canvas);
  box-shadow: none;
  color: var(--color-text);
}

.smart-signal-widget-header {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--color-border);
}

.smart-signal-widget-header > div,
.smart-signal-widget-company {
  min-width: 0;
}

.smart-signal-widget-header small,
.smart-signal-widget-status,
.smart-signal-widget-company small {
  display: block;
}

.smart-signal-widget-stakeholders {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 14px;
  list-style: none;
}

.smart-signal-widget-stakeholder {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
  padding-top: 9px;
  border-top: 1px solid var(--color-border);
}

.smart-signal-widget-stakeholder:first-child {
  padding-top: 0;
  border-top: 0;
}

.smart-signal-widget-stakeholder > strong,
.smart-signal-widget-stakeholder > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.smart-signal-widget-stakeholder > strong {
  color: var(--color-text);
}

.smart-signal-widget-stakeholder > span {
  color: var(--color-muted);
}

.smart-signal-widget-stakeholder > span:last-child {
  color: var(--color-muted);
}

.smart-signal-widget-status {
  color: var(--color-accent);
}

.smart-signal-widget-header small {
  margin-top: 5px;
  color: var(--color-muted);
}

.smart-signal-widget-fit {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid color-mix(in srgb, var(--color-accent) 32%, var(--color-border));
  border-radius: 999px;
  outline: 1px solid transparent;
  background: color-mix(in srgb, var(--color-accent) 8%, var(--color-surface));
  color: var(--color-accent);
  white-space: nowrap;
}

.smart-signal-widget-company {
  margin-top: 17px;
}

.smart-signal-widget-company > strong {
  display: block;
  color: var(--color-text);
}

.smart-signal-widget-company small {
  margin-top: 4px;
  color: var(--color-muted);
}

.smart-signal-widget-spiced-list {
  display: grid;
  padding: 0 14px 14px;
}

.smart-signal-widget-spiced-row {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 0;
  border-top: 1px solid var(--color-border);
}

.smart-signal-widget-spiced-row b {
  color: var(--color-accent);
}

.smart-signal-widget-spiced-row > span {
  color: var(--color-muted);
}

.smart-signal-widget-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 14px;
}

.smart-signal-widget-meta-item {
  padding: 5px 8px;
  border: 1px solid var(--color-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--color-text) 3%, transparent);
  color: var(--color-muted);
}

.smart-signal-widget-meta-item--priority {
  border-color: color-mix(in srgb, var(--color-conditional) 35%, var(--color-border));
  background: color-mix(in srgb, var(--color-conditional) 8%, var(--color-surface));
  color: var(--color-conditional);
}

.smart-signal-widget-opportunity {
  margin: 18px 0 0;
  color: var(--color-text);
}

.smart-signal-widget-thesis {
  margin: 8px 0 17px;
  color: var(--color-muted);
}

.smart-signal-widget-proof {
  padding: 0 14px 14px;
}

.smart-signal-widget-proof > div {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 0;
  border-top: 1px solid var(--color-border);
}

.smart-signal-widget-proof span {
  color: var(--color-muted);
}

.smart-signal-widget-proof span:first-child {
  color: var(--color-accent);
}

.smart-signal-widget-disclosure {
  margin-top: 8px;
  border: 1px solid var(--color-border);
  border-radius: 6px;
  background: var(--color-surface);
}

.smart-signal-widget-disclosure-trigger {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 12px 14px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
  text-align: left;
}

.smart-signal-widget-disclosure-trigger:hover {
  color: var(--color-accent);
}

.smart-signal-widget-disclosure-trigger:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.smart-signal-widget-disclosure-indicator {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  filter: invert(83%) sepia(52%) saturate(778%) hue-rotate(92deg) brightness(103%);
  transition: transform 320ms ease;
}

html[data-theme='light'] .smart-signal-widget-disclosure-indicator {
  filter: invert(31%) sepia(12%) saturate(958%) hue-rotate(101deg) brightness(90%);
}

.smart-signal-widget-disclosure-trigger[aria-expanded='true'] .smart-signal-widget-disclosure-indicator {
  transform: rotate(180deg);
}

.smart-signal-widget-disclosure-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 320ms ease;
}

.smart-signal-widget-disclosure-trigger[aria-expanded='true'] + .smart-signal-widget-disclosure-panel {
  grid-template-rows: 1fr;
}

.smart-signal-widget-disclosure-inner {
  min-height: 0;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transform: translateY(8px);
  transition:
    visibility 0s linear 320ms,
    opacity 180ms ease,
    transform 320ms ease;
}

.smart-signal-widget-disclosure-trigger[aria-expanded='true'] + .smart-signal-widget-disclosure-panel .smart-signal-widget-disclosure-inner {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0s;
}

.smart-signal-widget-footer {
  margin-top: 15px;
  padding-top: 14px;
  border-top: 1px solid var(--color-border);
}

.smart-signal-widget-footer > small {
  display: block;
  color: var(--color-subtle);
}

@media (prefers-reduced-motion: reduce) {
  .smart-signal-widget-disclosure-indicator,
  .smart-signal-widget-disclosure-panel,
  .smart-signal-widget-disclosure-inner {
    transition: none;
  }
}

@media (max-width: 1050px) {
  .smart-signal-widget {
    width: min(100%, 640px);
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .page-intro-section {
    padding: 82px 0 62px;
  }

  .page-intro-section-inner--with-widget {
    grid-template-columns: 1fr;
  }

  .page-intro-section-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .page-intro-section-actions .button {
    width: 100%;
  }

  .closing-cta-section,
  .prose-section,
  .chapter-sequence-section {
    padding: 62px 0;
  }

  .closing-cta-section-inner {
    grid-template-columns: 1fr;
  }

  .closing-cta-section-actions {
    justify-content: flex-start;
  }

  .page-section {
    padding: 68px 0;
  }

  .page-section-grid {
    grid-template-columns: 1fr;
  }

  .page-section-widget-placeholder {
    min-height: 220px;
  }

  .split-narrative-section {
    padding: 62px 0;
  }

  .split-narrative-section-grid {
    grid-template-columns: 1fr;
  }

  .split-narrative-section-copy h2 {
    max-width: 16ch;
  }

  .scorecard-widget-row {
    grid-template-columns: minmax(0, 1fr) 32px;
  }

  .scorecard-widget-meter {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .scorecard-widget-row > strong {
    grid-column: 2;
    grid-row: 1;
  }

  .card-grid-widget-grid {
    grid-template-columns: 1fr;
    border-top: 0;
  }

  .card-grid-widget--count-5 .card-grid-widget-grid--columns-3 {
    grid-template-columns: 1fr;
  }

  .card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card {
    grid-column: auto;
  }

  .card-grid-widget--count-5 .card-grid-widget-grid--columns-3 .card-grid-widget-card:nth-child(n + 4) {
    grid-column: auto;
  }

  .chapter-sequence-section-list {
    grid-template-columns: 1fr;
  }

  .chapter-sequence-section-chapter,
  .chapter-sequence-section-item:first-child .chapter-sequence-section-chapter,
  .chapter-sequence-section-item:last-child .chapter-sequence-section-chapter {
    padding: 24px 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .chapter-sequence-section-item:first-child .chapter-sequence-section-chapter {
    border-top: 0;
  }

  .card-grid-widget-card,
  .card-grid-widget-card:first-child,
  .card-grid-widget-card:last-child,
  .card-grid-widget-card + .card-grid-widget-card {
    padding: 24px 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .card-grid-widget-meta {
    margin-bottom: 28px;
  }

  .card-grid-widget-cta {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 18px;
  }

  .testimonial-carousel-widget-controls {
    justify-content: flex-start;
  }

  .testimonial-carousel-widget-track {
    grid-auto-columns: min(560px, 84vw);
  }

  .testimonial-carousel-widget-card {
    padding: 27px 20px;
  }

  .row-list-widget--two-columns li > :is(a, div) {
    grid-template-columns: minmax(0, 1fr) 18px;
  }

  .row-list-widget--two-columns li > :where(a, div) span {
    grid-column: 1;
  }

  .row-list-widget--two-columns li > :where(a, div) .row-list-widget-icon {
    grid-column: 2;
    grid-row: 1;
  }

  .sitemap-disclosure-groups summary {
    grid-template-columns: minmax(0, 1fr) 20px;
  }

  .sitemap-disclosure-count {
    grid-column: 1;
    grid-row: 2;
  }

  .sitemap-disclosure-groups summary::after {
    grid-column: 2;
    grid-row: 1;
  }

  .sitemap-disclosure-groups a {
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 6px 14px;
  }

  .sitemap-disclosure-path,
  .sitemap-disclosure-status {
    grid-column: 1;
  }

  .sitemap-disclosure-arrow {
    grid-column: 2;
    grid-row: 1;
  }

  .evidence-frame-widget-caption,
  .source-ledger-widget-header,
  .source-ledger-widget-footer {
    display: grid;
  }

  .evidence-frame-widget-link {
    justify-self: start;
  }

  .notice-widget {
    padding: 20px 18px;
  }

  .offer-cards-widget-list,
  .fact-strip-widget-list,
  .form-widget-fields {
    grid-template-columns: 1fr;
  }

  .form-widget {
    padding: 20px 18px;
  }

  .fact-strip-widget-fact + .fact-strip-widget-fact {
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }

  .fact-strip-widget--section-owned-boundary .fact-strip-widget-fact:first-child {
    border-left: 0;
  }

  .evidence-source-map-widget-sources {
    grid-template-columns: 1fr;
  }

  .evidence-source-map-widget-source,
  .evidence-source-map-widget-source:nth-child(even),
  .evidence-source-map-widget--count-5 .evidence-source-map-widget-source:last-child {
    grid-column: auto;
    border-left: 0;
  }

  .evidence-source-map-widget-source:nth-child(n + 2) {
    border-top: 1px solid var(--color-border);
  }

  .comparison-matrix-widget table {
    min-width: 680px;
  }

  .progression-widget-header {
    display: grid;
    gap: 7px;
  }

  .progression-widget-steps {
    grid-template-columns: 1fr;
  }

  .progression-widget--count-3 .progression-widget-steps {
    grid-template-columns: 1fr;
  }

  .progression-widget[data-progression-columns='3'] .progression-widget-steps {
    grid-template-columns: 1fr;
  }

  .progression-widget[data-progression-columns='3'] .progression-widget-step:nth-child(3n):not(:last-child)::after {
    display: block;
  }

  .progression-widget-stage,
  .progression-widget-stage--details {
    min-height: 0;
    padding: 20px 18px;
  }

  .progression-widget-stage h3 {
    min-height: 0;
  }

  .progression-widget-step:not(:last-child)::after {
    top: auto;
    right: 50%;
    bottom: -20px;
    content: '↓';
    transform: translateX(50%);
  }

  .progression-widget-tooltip,
  .progression-widget-step:first-child .progression-widget-tooltip,
  .progression-widget-step:last-child .progression-widget-tooltip {
    right: auto;
    left: 0;
    width: min(300px, calc(100vw - 76px));
    transform: translate(0, 5px);
  }

  .progression-widget-tooltip::after,
  .progression-widget-step:first-child .progression-widget-tooltip::after,
  .progression-widget-step:last-child .progression-widget-tooltip::after {
    right: auto;
    left: 27px;
  }

  .progression-widget-detail-trigger:hover .progression-widget-tooltip,
  .progression-widget-detail-trigger:focus-visible .progression-widget-tooltip,
  .progression-widget-detail-trigger[aria-expanded='true'] .progression-widget-tooltip {
    transform: translate(0, 0);
  }

  .progression-widget-summary,
  .progression-widget-proof {
    grid-template-columns: 1fr;
  }

  .progression-widget-link,
  .progression-widget-proof-media {
    justify-self: start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scorecard-widget.is-score-pending .scorecard-widget-fill {
    transform: none;
    transition: none;
  }

  .card-grid-widget-link span {
    transition: none;
  }

  .progression-widget-link span,
  .progression-widget-tooltip,
  .evidence-frame-widget-link span,
  .notice-widget-link span,
  .offer-cards-widget-cta span,
  .comparison-matrix-widget-evidence span {
    transition: none;
  }

  .sitemap-disclosure-arrow {
    transition: none;
  }

  .testimonial-carousel-widget-controls button {
    transition: none;
  }

  .testimonial-carousel-widget-viewport {
    scroll-behavior: auto;
  }

  .page-section-link span {
    transition: none;
  }

  .prose-section-link span {
    transition: none;
  }
}

@media (min-width: 721px) and (max-width: 1050px) {
  .page-intro-section-inner--with-widget {
    grid-template-columns: 1fr;
  }

  .page-intro-section-widget {
    max-width: 720px;
  }

  .card-grid-widget-grid--columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .split-narrative-section-grid {
    grid-template-columns: 1fr;
  }

  .split-narrative-section-widget {
    max-width: 720px;
  }

  .testimonial-carousel-widget-track {
    grid-auto-columns: min(560px, 65vw);
  }

  .progression-widget-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .progression-widget-step::after {
    display: none;
  }

  .progression-widget-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .progression-widget-summary > span,
  .progression-widget-summary .progression-widget-link {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

@media (max-width: 480px) {
  .smart-signal-widget {
    width: 100%;
    padding: 16px 14px;
  }

  .smart-signal-widget-spiced-row,
  .smart-signal-widget-proof > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .testimonial-carousel-widget-card {
    padding: 24px 20px;
  }
}

@media print {
  .scroll-story-widget.is-stacking .scroll-story-widget-stage-item { position: relative; top: auto; }
  .scroll-story-widget .scroll-story-widget-card { transform: none !important; break-inside: avoid; }
  .scroll-story-widget.is-enhanced .scroll-story-widget-summary { opacity: 1; transform: none; }
}

/* widget-178 · Observation-to-Smart-Signal flow */
.noria-theme .signal-study { position: relative; z-index: 3; margin: 28px 0 0; }
.noria-theme .signal-study-scene { position: relative; height: clamp(220px, 30vw, 380px); overflow: clip; }
.noria-theme .signal-sculpture { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.noria-theme .signal-data-field,
.noria-theme .signal-shockwaves { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.noria-theme .signal-data-blip {
  position: absolute;
  top: 0;
  left: 0;
  width: 8px;
  height: 8px;
  border: 1px solid #285d2e;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 25%, #e0ffcb 0%, #83dc51 30%, #39953b 67%, #1b5729 100%);
  opacity: 0;
  will-change: transform, opacity;
}
.noria-theme .signal-data-blip::before {
  position: absolute;
  z-index: -1;
  inset: -8px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(117, 223, 72, .48), rgba(117, 223, 72, .2) 40%, transparent 72%);
  content: '';
}
.noria-theme .signal-data-blip--source { width: 16px; height: 16px; outline: 1px solid rgba(255, 255, 255, .95); outline-offset: 1px; }
.noria-theme .signal-data-blip--source::before { inset: -12px; }
.noria-theme :where(.signal-blip-label, .signal-focus-label) {
  padding: 5px 9px;
  border: 1px solid #171a17;
  border-radius: 4px;
  background: #171a17;
  color: #ffffff;
  white-space: nowrap;
}
.noria-theme .signal-focus-label { position: relative; z-index: 1; }
.noria-theme .signal-blip-label { position: absolute; z-index: 2; top: 0; left: 0; opacity: 0; pointer-events: none; }
.noria-theme .signal-study-focus {
  position: absolute;
  top: 45%;
  left: 87%;
  display: flex;
  width: 106px;
  margin-top: -34px;
  padding: 8px 0;
  transform: translateX(-50%);
  flex-direction: column;
  gap: 10px;
  align-items: center;
  border: 0;
  background: transparent;
  color: #315e38;
}
.noria-theme .signal-focus-mark {
  position: relative;
  isolation: isolate;
  display: grid;
  width: 52px;
  height: 52px;
  transform: scale(.58);
  place-items: center;
  border: 1px solid #285d2e;
  border-radius: 50%;
  outline: 2px solid #ffffff;
  outline-offset: 2px;
  background: radial-gradient(circle at 30% 25%, #e0ffcb 0%, #83dc51 30%, #39953b 67%, #1b5729 100%);
  filter: grayscale(1);
  will-change: transform, filter;
}
.noria-theme .signal-focus-mark > span { width: 12px; height: 12px; border: 2px solid #ffffff; border-radius: 50%; background: rgba(22, 74, 31, .45); }
.noria-theme .signal-focus-mark::before {
  position: absolute;
  z-index: -1;
  inset: -23px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(117, 223, 72, .48) 15%, rgba(117, 223, 72, .24) 42%, transparent 71%);
  content: '';
}
.noria-theme .signal-focus-mark::after {
  position: absolute;
  inset: -9px;
  border: 1px solid #428544;
  border-radius: 50%;
  content: '';
  animation: signal-ring-breathe 4s ease-in-out infinite;
}
.noria-theme .signal-shockwaves > span {
  position: absolute;
  top: 0;
  left: 0;
  width: 52px;
  height: 52px;
  border: 1px solid #4c9a47;
  border-radius: 50%;
  opacity: 0;
  will-change: transform, opacity;
}
.noria-theme .signal-study-scene[data-phase='birthing'] .signal-focus-mark::after { visibility: hidden; }
.noria-theme .signal-study-focus:disabled { cursor: default; opacity: 1; }
.noria-theme .signal-study[data-motion-paused] .signal-focus-mark::after { animation-play-state: paused; }
.noria-theme .signal-study-focus:focus-visible { outline: 2px solid var(--noria-signal); outline-offset: -2px; }
.noria-theme .signal-study-preview {
  position: absolute;
  z-index: 40;
  top: 0;
  right: 0;
  width: min(440px, calc(100vw - 40px));
  border: 1px solid #a5afa0;
  border-radius: 10px;
  background: #ffffff;
}
.noria-theme .signal-preview-close {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 17px 0 auto;
  padding: 7px 10px;
  border: 0;
  background: #ffffff;
  color: var(--color-muted);
}
.noria-theme .signal-study-caption {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-top: 15px;
  border-top: 1px solid var(--color-border);
  color: var(--color-muted);
}
.noria-theme .signal-motion-controls { display: flex; flex: none; gap: 20px; }
.noria-theme :where(.signal-replay, .signal-motion-toggle) { padding: 7px 0; border: 0; background: transparent; color: var(--color-muted); }
.noria-theme .signal-motion-toggle { padding-left: 12px; }
.noria-theme :where(.signal-replay, .signal-motion-toggle, .signal-preview-close):hover { color: var(--color-text); }

/* widget-178 · Responsive composition approved in the homepage refresh, 2026-09-29. */
.signal-study-mobile-card { display: none; }
.signal-study--responsive :is(.signal-replay, .signal-motion-toggle) { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; cursor: pointer; }
.signal-study--responsive :is(.signal-replay, .signal-motion-toggle):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.signal-motion-icon { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.signal-motion-play { display: none; }
.signal-motion-toggle[aria-pressed='true'] .signal-motion-play { display: block; }
.signal-motion-toggle[aria-pressed='true'] .signal-motion-pause { display: none; }
@media (max-width: 900px) {
  .signal-study--responsive .signal-study-mobile-card { display: block; margin-bottom: 24px; }
  .noria-theme .signal-study--responsive .signal-study-mobile-card .smart-signal-widget { padding: 22px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-canvas); }
  .signal-study--responsive .signal-study-preview { display: none; }
}

/* widget-016 inside the editorial signal-flow overlay */
.noria-theme .signal-study .smart-signal-widget { width: 100%; padding: 12px 27px 27px; border: 0; border-radius: 0; background: #ffffff; }
.noria-theme .signal-study .smart-signal-widget-header { padding-bottom: 20px; }
.noria-theme .signal-study .smart-signal-widget-header small { margin-top: 6px; }
.noria-theme .signal-study .smart-signal-widget-status { color: var(--noria-signal); }
.noria-theme .signal-study .smart-signal-widget-fit {
  padding: 5px 10px;
  border-color: #c5d0bf;
  background: var(--noria-signal-paper);
  color: var(--noria-signal);
}
.noria-theme .signal-study .smart-signal-widget-company { margin: 20px 0 15px; }
.noria-theme .signal-study .smart-signal-widget-meta { margin: 0 0 22px; }
.noria-theme .signal-study .smart-signal-widget-meta-item { padding: 4px 8px; border-radius: 4px; background: #f9faf7; }
.noria-theme .signal-study .smart-signal-widget-meta-item--priority { border-color: #c5d0bf; background: var(--noria-signal-paper); color: var(--noria-signal); }
.noria-theme .signal-study .smart-signal-widget-opportunity { margin-bottom: 12px; }
.noria-theme .signal-study .smart-signal-widget-thesis { margin-bottom: 20px; }
.noria-theme .signal-study .smart-signal-widget-disclosure { margin-top: 0; border: 0; border-top: 1px solid var(--color-border); border-radius: 0; background: transparent; }
.noria-theme .signal-study .smart-signal-widget-disclosure-trigger { padding: 17px 0; }
.noria-theme .signal-study .smart-signal-widget-disclosure-inner { padding-bottom: 20px; }
.noria-theme .signal-study .smart-signal-widget-footer { margin-top: 8px; }

@keyframes signal-ring-breathe {
  0%, 100% { transform: scale(1); opacity: .35; }
  50% { transform: scale(1.16); opacity: .7; }
}

/* Shared dropdown navigation: existing grouped menus in the Noria shell. */
.noria-theme .site-header { z-index: 30; }
.noria-theme .desktop-nav .nav-menu-trigger {
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-text);
}
.noria-theme .desktop-nav .nav-menu-trigger:hover,
.noria-theme .desktop-nav .nav-menu-trigger[aria-expanded='true'] { color: var(--color-accent); }
.noria-theme .desktop-nav .nav-menu-trigger img { filter: none; }
.noria-theme .desktop-nav .nav-menu-trigger.active,
.noria-theme .noria-mobile-group > summary.active {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 8px;
}
.noria-theme .desktop-nav .nav-menu-shell { position: relative; }
.noria-theme .noria-navigation-panel {
  position: absolute;
  top: calc(100% - 12px);
  left: var(--navigation-panel-shift, 0px);
  z-index: 40;
  display: none;
  gap: 28px;
  width: min(360px, 100%);
  padding: 28px;
  border: 1px solid var(--color-border);
  background: var(--color-canvas);
}
.noria-theme .nav-menu-shell.is-open .noria-navigation-panel { display: grid; }
.noria-theme .noria-mobile-group { border-bottom: 1px solid var(--color-border); }
.noria-theme .noria-mobile-group > summary { padding: 12px 0; cursor: pointer; }
.noria-theme .site-header .mobile-menu { max-height: calc(100dvh - 82px); overflow-y: auto; }

/* widget-183 · Shared grouped navigation. */
.grouped-navigation-widget { display: grid; gap: 20px; max-width: 380px; }
.grouped-navigation-group + .grouped-navigation-group { padding-top: 20px; border-top: 1px solid var(--color-border); }
.grouped-navigation-heading { margin: 0 0 8px; padding: 0 10px; color: var(--color-accent); }
.grouped-navigation-group ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.grouped-navigation-group li { margin: 0; padding: 0; }
.grouped-navigation-widget .grouped-navigation-link,
.noria-theme .site-header .grouped-navigation-link,
.noria-theme .site-header .mobile-menu .grouped-navigation-link {
  display: flex; align-items: flex-start; gap: 14px; padding: 10px;
  min-height: 44px; border: 1px solid transparent; border-radius: 4px; color: var(--color-text); text-decoration: none;
}
.grouped-navigation-icon { flex: 0 0 22px; margin-top: 3px; color: var(--color-muted); }
.grouped-navigation-copy { display: grid; gap: 2px; min-width: 0; }
.grouped-navigation-title { color: var(--color-text); text-decoration: underline; text-underline-offset: 4px; }
.grouped-navigation-description { color: var(--color-muted); }
.grouped-navigation-current { margin-top: 4px; color: var(--color-accent); }
.grouped-navigation-widget .grouped-navigation-link--selected,
.noria-theme .site-header .grouped-navigation-link--selected,
.noria-theme .site-header .mobile-menu .grouped-navigation-link--selected {
  border-color: var(--color-border);
  background: var(--color-surface);
}
.grouped-navigation-widget .grouped-navigation-link:hover,
.grouped-navigation-widget .grouped-navigation-link:focus-visible,
.noria-theme .site-header .grouped-navigation-link:hover,
.noria-theme .site-header .grouped-navigation-link:focus-visible { background: var(--color-surface); text-decoration: none; }
.grouped-navigation-link:is(:hover, :focus-visible, .grouped-navigation-link--selected) :is(.grouped-navigation-icon, .grouped-navigation-title) { color: var(--color-accent); }
.grouped-navigation-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }

/* widget-184 · Breadcrumbs, with wrapping ancestor links and current-page text. */
.breadcrumb-widget { color: var(--color-text); }
.breadcrumb-widget ol { display: flex; flex-wrap: wrap; gap: 0 12px; margin: 0; padding: 0; list-style: none; }
.breadcrumb-widget li { display: flex; align-items: baseline; gap: 12px; min-width: 0; max-width: 100%; margin: 0; padding: 0; }
.breadcrumb-widget :is(a, [aria-current='page']) { display: inline-block; min-width: 0; padding: 10px 0; overflow-wrap: anywhere; }
.breadcrumb-widget a { color: var(--color-accent); text-decoration: underline; text-underline-offset: 4px; }
.breadcrumb-widget a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.breadcrumb-separator { flex: none; color: var(--color-muted); }
.page-breadcrumbs { padding-top: 12px; padding-bottom: 12px; }
.noria-theme .noria-navigation-panel--anchored {
  top: calc(100% + 14px); left: var(--navigation-panel-shift, 0px); right: auto;
  width: min(380px, calc(100vw - 32px)); padding: 20px; grid-template-columns: minmax(0, 1fr);
  max-height: calc(100dvh - 112px); overflow-y: auto;
}
.noria-theme .nav-menu-shell--anchored::after {
  content: ''; position: absolute; top: 100%; left: 0; width: 100%; height: 16px;
}
.noria-theme .noria-mobile-group > .grouped-navigation-widget { padding: 12px 0 20px; }

.grouped-navigation-widget--columns-2, .grouped-navigation-widget--columns-3 { max-width: none; }
.grouped-navigation-widget--columns-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grouped-navigation-widget--columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
:is(.grouped-navigation-widget--columns-2, .grouped-navigation-widget--columns-3) > .grouped-navigation-group + .grouped-navigation-group { border-top: 0; border-left: 1px solid var(--color-border); padding-top: 0; padding-left: 20px; }
.noria-theme .noria-navigation-panel--columns-2 { width: min(680px, calc(100vw - 32px)); }
.noria-theme .noria-navigation-panel--columns-3 { width: min(900px, calc(100vw - 32px)); }
@media (max-width: 760px) {
  .grouped-navigation-widget { grid-template-columns: minmax(0, 1fr); }
  :is(.grouped-navigation-widget--columns-2, .grouped-navigation-widget--columns-3) > .grouped-navigation-group + .grouped-navigation-group { border-left: 0; border-top: 1px solid var(--color-border); padding: 20px 0 0; }
}

/* Editorial content entrances are progressive enhancement only. */
.noria-theme main { overflow-x: clip; }
.noria-theme [data-noria-reveal='pending'] { opacity: 0; }
.noria-theme .closing .button[data-noria-reveal='complete'] { scale: 1.06; }

@media (max-width: 760px) {
  .noria-theme .signal-study { margin-top: 20px; }
  .noria-theme .signal-study-scene { height: 220px; }
  .noria-theme .signal-study-focus { width: 94px; margin-top: -29px; }
  .noria-theme .signal-shockwaves > span,
  .noria-theme .signal-focus-mark { width: 42px; height: 42px; }
  .noria-theme .signal-motion-controls { gap: 14px; }
  .noria-theme .signal-study .smart-signal-widget { padding: 20px; }
  .noria-theme .signal-study .smart-signal-widget-header,
  .noria-theme .signal-study-caption { flex-wrap: wrap; }
  .noria-theme .signal-study-caption { align-items: flex-start; gap: 12px; }
  .noria-theme .signal-study-caption > span { max-width: 220px; }
  .noria-theme .signal-motion-toggle { padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .noria-theme .signal-focus-mark::after { animation: none; }
  .noria-theme [data-noria-reveal] { opacity: 1 !important; }
  .noria-theme .closing .button[data-noria-reveal] { scale: 1; }
}

@media print {
  .noria-theme [data-noria-reveal] { opacity: 1 !important; transform: none !important; scale: 1 !important; }
}

/* Noria source-of-truth guards against retired light-theme component rules. */
.noria-theme .card-grid-widget-meta {
  min-height: 0;
  gap: 14px;
}
.noria-theme .card-grid-widget-meta img { width: 22px; height: 22px; }
.noria-theme .card-grid-widget-link {
  display: inline-block;
  gap: 0;
  padding: 10px 0;
}
.noria-theme .card-grid-widget-cta {
  display: flex;
  justify-content: space-between;
  padding: 22px 0;
}
.noria-theme .card-grid-widget-cta .card-grid-widget-link { padding: 10px 0; }

.noria-theme .noria-product-frame {
  display: block;
  overflow: hidden;
  border: 1px solid var(--color-border);
  background: var(--color-canvas);
}
.noria-theme .noria-product-frame:has(.evidence-frame-widget--framed) { border: 0; background: transparent; }
.noria-theme .noria-product-frame:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.noria-theme .noria-product-frame .evidence-frame-widget { border: 0; }
.noria-theme .noria-product-caption {
  display: flex;
  justify-content: space-between;
  gap: 10px 24px;
  margin: 0;
  padding-top: 18px;
  color: var(--color-muted);
}

.noria-theme #faq .page-section-grid:not(.page-section-grid--stacked-slot) {
  grid-template-columns: .85fr 1.15fr;
  gap: 90px;
}

html[data-theme='light'] body.noria-theme.page main :where(h1, h2, h3, h4, strong, summary):not(:where(.closing-inset h2)) {
  color: var(--color-text) !important;
}
html[data-theme='light'] body.noria-theme.page main :where(p, small, dt, dd):not(:where(.segment-card-rows dt, .closing-inset p)) {
  color: var(--color-muted) !important;
}
html[data-theme='light'] body.noria-theme.page main a:not(.button) {
  color: inherit !important;
}

@media (max-width: 760px) {
  .noria-theme .site-header {
    min-height: 82px;
    justify-content: space-between;
    gap: 20px;
  }
  .noria-theme .hero-actions {
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 22px;
  }
  .noria-theme .signal-study { margin: 20px 0 0; }
  .noria-theme .facts .fact-strip-widget-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .noria-theme .facts .fact-strip-widget-fact {
    display: flex;
    flex-direction: column;
  }
  .noria-theme .facts .fact-strip-widget-fact + .fact-strip-widget-fact {
    border-top: 0;
    border-left: 1px solid var(--color-border);
  }
  .noria-theme .page-section-grid--stacked { gap: 32px; }
  .noria-theme .card-grid-widget-card { padding: 26px 0 0; }
  .noria-theme .card-grid-widget-cta {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 30px;
  }
  .noria-theme #faq .page-section-grid { display: block; }
  .noria-theme #faq .page-section-heading { margin-bottom: 32px; }
  .noria-theme .noria-product-caption { flex-direction: column; gap: 5px; }
}

@media (max-width: 380px) {
  .noria-theme .facts .fact-strip-widget-list { grid-template-columns: 1fr; gap: 18px; }
  .noria-theme .facts .fact-strip-widget-fact,
  .noria-theme .facts .fact-strip-widget-fact + .fact-strip-widget-fact {
    padding: 18px 0 0;
    border-top: 1px solid var(--color-border);
    border-left: 0;
  }
  .noria-theme .facts .fact-strip-widget-fact:first-child { padding-top: 0; border-top: 0; }
}

/* widget-180 · Evidence story illustrations. Approved 2026-09-21. */
.evidence-story-widget { width: 100%; min-width: 0; margin: 0; color: var(--color-text); }
.evidence-story-canvas { position: relative; overflow: hidden; display: grid; gap: 20px; padding: 28px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-canvas); }
.evidence-story-account { display: flex; gap: 14px; align-items: center; position: relative; }
.evidence-story-account p { margin: 6px 0 0; color: var(--color-muted); }
.evidence-story-orbit { display: block; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid var(--color-accent); border-radius: 50%; position: relative; }
.evidence-story-orbit::before, .evidence-story-orbit::after { content: ''; position: absolute; border: 1px solid var(--color-accent); border-radius: 50%; inset: 7px; }
.evidence-story-orbit::after { inset: 14px; background: var(--color-accent); }
.evidence-story-observations, .evidence-story-outcomes { position: relative; display: grid; gap: 10px; list-style: none; padding: 0; margin: 0; }
.evidence-story-observation { display: flex; align-items: start; gap: 14px; min-width: 0; padding: 15px; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 5px; }
.evidence-story-widget .type-label { display: block; color: var(--color-muted); }
.evidence-story-widget .type-body-compact { margin: 5px 0 0; color: var(--color-text); }
.evidence-story-number { color: var(--color-accent); padding-top: 1px; }
.evidence-story-meta { display: block; margin-top: 6px; color: var(--color-muted); }
.evidence-story-outcomes > li { display: flex; align-items: start; gap: 12px; padding: 12px 0; border-top: 1px solid var(--color-border); }
.evidence-story-mark { display: grid; place-items: center; flex: 0 0 26px; height: 26px; border: 1px solid currentColor; border-radius: 50%; color: var(--color-accent); }
.evidence-story-outcomes [data-evidence-state='held'] .evidence-story-mark { color: var(--color-conditional); border-style: dashed; }
.evidence-story-outcomes [data-evidence-state='out'] .evidence-story-mark { color: var(--color-muted); }
.evidence-story-next { position: relative; padding: 18px 40px 18px 18px; background: var(--color-raised); border-left: 2px solid var(--color-accent); }
.evidence-story-next > span:last-child { position: absolute; right: 18px; top: 20px; color: var(--color-accent); }
.evidence-story-widget figcaption { margin-top: 12px; color: var(--color-muted); }
.evidence-story-widget[data-evidence-story='read'] .evidence-story-observations { padding-left: 16px; border-left: 1px dashed var(--color-border); }
.evidence-story-widget[data-evidence-story='read'] .evidence-story-observation { position: relative; }
.evidence-story-widget[data-evidence-story='read'] .evidence-story-observation::before { content: ''; position: absolute; left: -21px; top: 23px; width: 7px; height: 7px; border-radius: 50%; background: var(--color-accent); }
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-account { justify-content: center; padding: 15px 0 24px; border-bottom: 1px solid var(--color-accent); }
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-observations { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-observation { display: block; position: relative; }
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-number { display: none; }
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-observation::before { content: ''; position: absolute; top: -21px; left: 50%; height: 20px; border-left: 1px solid var(--color-border); }
.evidence-story-widget[data-evidence-story='check'] .evidence-story-observation { border-style: dashed; }
.evidence-story-widget[data-evidence-story='check'] .evidence-story-outcomes { gap: 0; }
.evidence-story-widget[data-evidence-story='handover'] .evidence-story-canvas { border-top: 3px solid var(--color-accent); }
.evidence-story-widget[data-evidence-story='handover'] .evidence-story-observation { border-width: 0 0 1px; border-radius: 0; background: transparent; padding: 12px 0; }
.evidence-story-widget[data-evidence-story='handover'] .evidence-story-observations { gap: 0; }
.evidence-story-widget[data-evidence-story='match'] .evidence-story-account { padding-bottom: 20px; border-bottom: 1px solid var(--color-border); }
/* Each scene owns a visible mechanical action, timed to its active story stage. */
.evidence-story-widget[data-evidence-story='read'] .evidence-story-observations::after {
  content: ''; position: absolute; pointer-events: none; top: 0; left: 0; right: 0; height: 32px;
  border-bottom: 2px solid var(--color-accent);
  background: linear-gradient(transparent, color-mix(in srgb, var(--color-accent) 14%, transparent));
  opacity: 0;
}
.evidence-story-widget[data-evidence-story='connect'] .evidence-story-account::after {
  content: ''; position: absolute; bottom: -3px; left: 0; width: 6px; height: 6px;
  border-radius: 50%; background: var(--color-accent); opacity: 0;
}
.evidence-story-widget[data-evidence-story='check'] .evidence-story-outcomes > li { position: relative; }
.evidence-story-widget[data-evidence-story='check'] .evidence-story-outcomes > li::after {
  content: ''; position: absolute; bottom: 0; left: 38px; right: 0; height: 2px;
  background: var(--color-accent); transform: scaleX(0); transform-origin: left;
}
.evidence-story-widget[data-evidence-story='check'] .evidence-story-outcomes > [data-evidence-state='held']::after { background: var(--color-conditional); }
.evidence-story-widget[data-evidence-story='check'] .evidence-story-outcomes > [data-evidence-state='out']::after { background: var(--color-muted); }
.evidence-story-widget[data-evidence-story='handover'] .evidence-story-number { position: relative; }
.evidence-story-widget[data-evidence-story='handover'] .evidence-story-number::after {
  content: ''; position: absolute; inset: -4px -5px; border: 1px solid var(--color-accent); border-radius: 3px; opacity: 0;
}
@media (prefers-reduced-motion: no-preference) {
  [data-evidence-story='read'].is-evidence-playing .evidence-story-observations::after { animation: evidence-scan 4.2s ease-in-out both; }
  [data-evidence-story='read'].is-evidence-playing .evidence-story-observation { animation: evidence-read-highlight 1.4s ease both; animation-delay: calc(var(--evidence-order) * 1.05s + .3s); }
  [data-evidence-story='read'].is-evidence-playing .evidence-story-observation::before { animation: evidence-receive 900ms ease both; animation-delay: calc(var(--evidence-order) * 1.05s + .3s); }
  [data-evidence-story='connect'].is-evidence-playing .evidence-story-observation { animation: evidence-connect-node 1.2s ease both; animation-delay: calc(var(--evidence-order) * .65s); }
  [data-evidence-story='connect'].is-evidence-playing .evidence-story-observation::before { transform-origin: top; animation: evidence-draw-link 1.3s ease both; animation-delay: calc(var(--evidence-order) * .65s); }
  [data-evidence-story='connect'].is-evidence-playing .evidence-story-account::after { animation: evidence-connect-travel 3.4s .4s ease both; }
  [data-evidence-story='connect'].is-evidence-playing .evidence-story-orbit::before { animation: evidence-receive 1.1s 2.7s ease both; }
  [data-evidence-story='check'].is-evidence-playing .evidence-story-outcomes > li::after { animation: evidence-check-line 1s ease both; animation-delay: calc(var(--evidence-order) * .65s); }
  [data-evidence-story='check'].is-evidence-playing .evidence-story-mark { animation: evidence-check-stamp 850ms ease both; animation-delay: calc(var(--evidence-order) * .65s + .55s); }
  [data-evidence-story='handover'].is-evidence-playing .evidence-story-observation { animation: evidence-assemble 1.1s ease both; animation-delay: calc(var(--evidence-order) * .7s); }
  [data-evidence-story='handover'].is-evidence-playing .evidence-story-number::after { animation: evidence-packet 1.1s ease both; animation-delay: calc(var(--evidence-order) * .7s); }
  [data-evidence-story='handover'].is-evidence-playing .evidence-story-next { animation: evidence-handover-ready 1.4s 2.6s ease both; }
  [data-evidence-story='handover'].is-evidence-playing .evidence-story-next > span:last-child { animation: evidence-handover-arrow 1.2s 3.1s ease both; }
}
@keyframes evidence-scan { 0% { top: 0; opacity: 0; } 8% { opacity: 1; } 90% { top: calc(100% - 32px); opacity: 1; } 100% { top: calc(100% - 32px); opacity: 0; } }
@keyframes evidence-read-highlight { 0%, 100% { background: var(--color-surface); } 40% { background: var(--color-raised); border-color: var(--color-accent); } }
@keyframes evidence-receive { 0% { transform: scale(.65); opacity: .4; } 55% { transform: scale(1.5); opacity: 1; } 100% { transform: scale(1); opacity: 1; } }
@keyframes evidence-connect-node { from { opacity: .4; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes evidence-draw-link { from { transform: scaleY(0); border-color: var(--color-accent); } to { transform: scaleY(1); border-color: var(--color-accent); } }
@keyframes evidence-connect-travel { 0% { left: 0; opacity: 0; } 10% { opacity: 1; } 48%, 58% { left: 50%; opacity: 1; } 90% { left: calc(100% - 6px); opacity: 1; } 100% { left: calc(100% - 6px); opacity: 0; } }
@keyframes evidence-check-line { 0% { transform: scaleX(0); opacity: 1; } 70% { transform: scaleX(1); opacity: 1; } 100% { transform: scaleX(1); opacity: 0; } }
@keyframes evidence-check-stamp { 0% { opacity: .35; transform: scale(.65) rotate(-18deg); } 65% { transform: scale(1.15); } 100% { opacity: 1; transform: none; } }
@keyframes evidence-assemble { from { opacity: .35; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
@keyframes evidence-packet { 0% { opacity: 0; transform: translateX(-12px); } 35% { opacity: 1; } 100% { opacity: 0; transform: none; } }
@keyframes evidence-handover-ready { 0% { opacity: .35; transform: translateY(18px); } 65% { opacity: 1; transform: translateY(-2px); } 100% { opacity: 1; transform: none; } }
@keyframes evidence-handover-arrow { 0% { opacity: .3; transform: translate(-9px, 9px); } 100% { opacity: 1; transform: none; } }
@media (max-width: 600px) {
  .evidence-story-canvas { padding: 20px; gap: 16px; }
  .evidence-story-widget[data-evidence-story='connect'] .evidence-story-observations { grid-template-columns: 1fr; }
  .evidence-story-widget[data-evidence-story='connect'] .evidence-story-observation::before { display: none; }
}

/* widget-179 · Optional in-place quote navigation; single quotes keep their original layout. */
.editorial-testimonial-viewport { display: flex; align-items: flex-start; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.editorial-testimonial-viewport::-webkit-scrollbar { display: none; }
.editorial-testimonial-slide { flex: 0 0 100%; min-width: 0; scroll-snap-align: start; scroll-snap-stop: always; display: flex; flex-direction: column; justify-content: center; }
.noria-theme .editorial-testimonial-slide > p { margin: 0; color: var(--color-text); }
.noria-theme .editorial-testimonial-slide > p span { display: block; margin-top: 5px; color: var(--color-muted); }
.editorial-testimonial-controls { display: flex; justify-content: center; align-items: center; gap: 22px; margin-top: 28px; color: var(--color-muted); }
.editorial-testimonial-controls[hidden] { display: none; }
.editorial-testimonial-controls button { display: grid; place-items: center; width: 44px; height: 44px; background: transparent; border: 1px solid var(--color-border); border-radius: 50%; color: var(--color-text); cursor: pointer; }
.editorial-testimonial-controls button:hover { background: var(--color-raised); border-color: var(--color-accent); }
.editorial-testimonial-controls button[aria-disabled='true'] { opacity: .4; cursor: default; }
.editorial-testimonial-controls button:focus-visible, .editorial-testimonial-viewport:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
@media print {
  .editorial-testimonial-viewport { display: block; overflow: visible; height: auto !important; }
  .editorial-testimonial-controls { display: none; }
  .evidence-story-widget * { animation: none !important; }
}

/* Evidence-aware provider comparison · widget-182. Compact selection approved 2026-09-23. */
.provider-comparison-widget { min-width: 0; scroll-margin-top: 100px; }
.provider-comparison-selection, .provider-comparison-toolbar, .provider-comparison-actions, .provider-comparison-catalog-footer { display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.provider-comparison-selection { margin-bottom:20px; }
.provider-comparison-baseline { display:flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--color-accent); border-radius:4px; background:var(--color-accent); color:var(--color-canvas); }
.provider-comparison-toolbar { align-items:end; }
.provider-comparison-toolbar label { display:grid; gap:6px; min-width:0; }
.provider-comparison-toolbar > label:first-child { flex:2 1 240px; }
.provider-comparison-toolbar > label { flex:1 1 200px; }
.provider-comparison-widget input, .provider-comparison-widget select { width:100%; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--color-border); border-radius:4px; background:var(--color-canvas); color:var(--color-text); }
.provider-comparison-widget button { cursor:pointer; border:1px solid var(--color-border); background:var(--color-canvas); color:var(--color-text); padding:10px 14px; min-height:44px; border-radius:4px; }
.provider-comparison-widget button:hover, .provider-comparison-widget button[aria-pressed="true"] { border-color:var(--color-accent); background:var(--color-raised); }
.provider-comparison-widget button:disabled { cursor:default; opacity:.55; }
.provider-comparison-widget :is(button,a,input,select,summary):focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.provider-comparison-filters summary { cursor:pointer; padding:12px 0; }
.provider-comparison-filters[open] { flex-basis:100%; }
.provider-comparison-filters > div { display:flex; flex-wrap:wrap; gap:12px; }
.provider-comparison-filters label { flex:1 1 200px; }
.provider-comparison-catalog { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; max-height:250px; overflow:auto; padding:4px; margin:12px -4px 0; }
.provider-comparison-widget .provider-comparison-card { display:flex; align-items:center; justify-content:space-between; gap:8px; min-width:0; padding:12px; text-align:left; }
.provider-comparison-card > span:first-child { display:grid; gap:3px; min-width:0; overflow-wrap:anywhere; }
.provider-comparison-select-mark { display:grid; place-items:center; width:26px; height:26px; flex:0 0 26px; border:1px solid var(--color-border); border-radius:50%; }
.provider-comparison-card[aria-pressed='true'] .provider-comparison-select-mark { background:var(--color-accent); border-color:var(--color-accent); color:var(--color-canvas); }
.provider-comparison-widget .provider-comparison-card[aria-pressed='true'] { background:color-mix(in srgb,var(--color-accent) 15%,var(--color-canvas)); }
.provider-comparison-card .type-identifier, .provider-comparison-status, .provider-comparison-catalog-footer { color:var(--color-muted); }
.provider-comparison-catalog-footer { justify-content:space-between; margin-top:8px; }
.provider-comparison-widget [hidden] { display:none; }
.provider-comparison-status { min-height:1px; overflow-wrap:anywhere; }
.provider-comparison-profiles { margin-top:20px; }
.provider-comparison-profiles summary { cursor:pointer; padding:12px 0; }
.provider-comparison-profiles article { padding:12px 0; border-top:1px solid var(--color-border); }
.provider-comparison-profiles h3 { margin:0; }
.provider-comparison-actions { margin-top:24px; }
/* widget-173 comparison mode reuses the canvas grid and spatial grouping. */
.function-canvas-comparison-block { display:block; padding:0; }
.function-canvas-comparison-block > summary { display:block; cursor:pointer; list-style:none; padding:18px; }
.function-canvas-comparison-block > summary::-webkit-details-marker { display:none; }
.function-canvas-comparison-heading { display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.function-canvas-comparison-heading > :nth-child(2) { flex:1; min-width:0; }
.function-canvas-comparison-block[open] { grid-column:1 / -1; }
.function-canvas-comparison-block[open] .function-canvas-comparison-heading > :last-child { transform:rotate(45deg); }
.function-canvas-comparison-rows { display:grid; }
.function-canvas-comparison-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:6px 12px; padding:8px 0; border-top:1px solid var(--color-border); }
.function-canvas-comparison-rating { display:grid; justify-items:end; gap:4px; }
.function-canvas-comparison-strip { display:flex; gap:4px; }
.function-canvas-comparison-legend { display:flex; flex-wrap:wrap; gap:12px 20px; padding:14px 24px; border-bottom:1px solid var(--color-border); }
.function-canvas-comparison-legend > span { display:inline-flex; align-items:center; gap:7px; }
.function-canvas-comparison-marker { width:20px; height:20px; box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; flex:0 0 20px; border:1px solid var(--color-border); border-radius:3px; background:var(--color-surface); color:var(--color-muted); }
.function-canvas-comparison-marker--supported { background:var(--color-accent); border-color:var(--color-accent); color:var(--color-canvas); }
.function-canvas-comparison-marker--conditional { background:var(--color-conditional); border-color:var(--color-conditional); color:var(--color-canvas); }
.function-canvas-comparison-marker--unknown { background:color-mix(in srgb,var(--color-information) 8%,var(--color-canvas)); border-color:var(--color-information); border-style:dashed; color:var(--color-information); }
.function-canvas-comparison-marker--no { background:var(--color-error); border-color:var(--color-error); color:var(--color-canvas); }
.function-canvas-comparison-detail { padding:0 18px 18px; }
.function-canvas-comparison-detail .comparison-matrix-widget { margin:16px 0; }
.function-canvas-comparison-detail :is(p,a) { overflow-wrap:anywhere; }
.function-canvas-comparison-detail h4 { margin:12px 0 0; }
.function-canvas-widget--comparison .function-canvas-block--full:not([open]) .function-canvas-comparison-rows { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; }
@media(max-width:760px) {
  .provider-comparison-catalog { grid-template-columns:repeat(2,minmax(0,1fr)); max-height:230px; }
  .provider-comparison-toolbar > label { flex-basis:100%; }
  .provider-comparison-selection button { max-width:100%; overflow-wrap:anywhere; }
  .function-canvas-widget--comparison .function-canvas-block--full:not([open]) .function-canvas-comparison-rows { grid-template-columns:minmax(0,1fr); }
}

/* Outbound operation workspace · widget-181 */
.toolbox-workspace { min-width: 0; scroll-margin-top: 100px; }
.toolbox-workspace *, .toolbox-workspace *::before, .toolbox-workspace *::after { box-sizing: border-box; }
.toolbox-workspace p { max-width: 86ch; }
.toolbox-library, .toolbox-panel-heading { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.toolbox-library { padding: 18px; border: 1px solid var(--color-border); background: var(--color-surface); }
.toolbox-library > label { flex: 1 1 230px; }
.toolbox-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 16px 0; }
.toolbox-actions .button, .toolbox-workspace button, .toolbox-workspace summary { min-height: 44px; }
.toolbox-workspace .button { white-space: normal; text-align: center; cursor: pointer; }
.toolbox-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 8px 0; border-bottom: 1px solid var(--color-border); margin-bottom: 24px; }
.toolbox-tabs button { flex: 1 0 auto; color: var(--color-text); background: var(--color-surface); padding: 12px; border: 1px solid var(--color-border); cursor: pointer; }
.toolbox-tabs button[aria-current] { background: var(--color-text); color: var(--color-surface); }
.toolbox-workspace :is(button,input,textarea,select,a,summary):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.toolbox-panel { padding: 24px; border: 1px solid var(--color-border); background: var(--color-surface); margin: 0 0 24px; min-width: 0; }
.toolbox-panel h3 { margin-top: 0; }
.toolbox-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 16px 0; }
.toolbox-field { display: grid; align-content: start; gap: 7px; min-width: 0; }
.toolbox-field :is(input,textarea,select), .toolbox-workspace form input, .toolbox-workspace form select { width: 100%; min-width: 0; max-width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--color-border); border-radius: 0; background: var(--color-canvas); color: var(--color-text); }
.toolbox-field textarea { resize: vertical; }
.toolbox-workspace fieldset { min-width: 0; padding: 12px; border: 1px solid var(--color-border); }
.toolbox-workspace :is(input[type='checkbox'],input[type='radio']) { accent-color: var(--color-accent); width: 18px; height: 18px; flex: 0 0 18px; }
.toolbox-function-picker { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 16px 0; }
.toolbox-function-picker label, .toolbox-inline label { display: flex; gap: 10px; align-items: start; padding: 7px 0; }
.toolbox-inline { display: flex; gap: 24px; flex-wrap: wrap; }
.toolbox-workspace details { min-width: 0; }
.toolbox-workspace summary { display: flex; align-items: center; gap: 12px; justify-content: space-between; padding: 10px 0; cursor: pointer; color: var(--color-text); }
.toolbox-workspace summary::after { content: '+'; margin-left: auto; padding-left: 8px; }
.toolbox-workspace details[open] > summary::after { content: '−'; }
.toolbox-workspace summary::-webkit-details-marker { display: none; }
.toolbox-disclosure, .toolbox-resource, .toolbox-action, .toolbox-kpi, .toolbox-cost-row { border-top: 1px solid var(--color-border); padding: 12px 0; }
.toolbox-resource[open], .toolbox-action[open], .toolbox-kpi[open] { padding-bottom: 24px; }
.toolbox-provider-results { max-height: 390px; overflow-y: auto; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); margin: 16px 0; padding-right: 8px; }
.toolbox-provider-row { display: flex; justify-content: space-between; align-items: center; gap: 16px; border-top: 1px solid var(--color-border); padding: 12px 0; }
.toolbox-provider-row:first-of-type { border-top: 0; }
.toolbox-provider-row p { margin: 4px 0; }
.toolbox-canvas { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; }
.toolbox-canvas-block { min-width: 0; padding: 16px; border: 1px solid var(--color-border); background: var(--color-canvas); }
.toolbox-canvas-block > h4 { margin: 0 0 10px; }
.toolbox-canvas-block--full { grid-column: span 6; }
.toolbox-canvas-block--third { grid-column: span 2; }
.toolbox-canvas-block--half { grid-column: span 3; }
.toolbox-canvas-block--third .toolbox-form-grid { grid-template-columns: minmax(0,1fr); }
.toolbox-function { border-top: 1px solid var(--color-border); padding: 5px 0; }
.toolbox-function > summary { align-items: start; flex-wrap: wrap; }
.toolbox-function > summary > span:first-child { flex: 1 1 150px; }
.toolbox-badge { display: inline-block; border: 1px solid var(--color-border); padding: 2px 7px; background: var(--color-surface); }
.toolbox-badge[data-state='gap'], .toolbox-badge[data-state='partial'] { border-color: var(--color-conditional); }
.toolbox-badge[data-state='covered'] { border-color: var(--color-accent); }
.toolbox-warning { border-left: 3px solid var(--color-conditional); padding: 12px 16px; background: var(--color-surface); }
.toolbox-status { min-height: 24px; color: var(--color-muted); }
.toolbox-metric-value { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 10px; align-items: end; }
.toolbox-workspace input[type='file'] { width: min(100%,220px); }
.toolbox-workspace :is(p,li,summary,a,label) { overflow-wrap: anywhere; }
@media (max-width: 960px) {
  .toolbox-canvas-block--third, .toolbox-canvas-block--half { grid-column: span 3; }
  .toolbox-function-picker { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 640px) {
  .toolbox-panel, .toolbox-library { padding: 16px; }
  .toolbox-form-grid, .toolbox-function-picker { grid-template-columns: minmax(0,1fr); }
  .toolbox-canvas-block--full, .toolbox-canvas-block--third, .toolbox-canvas-block--half { grid-column: span 6; }
  .toolbox-library .toolbox-actions, .toolbox-library > label { width: 100%; }
  .toolbox-library .button { flex: 1 1 40%; }
  .toolbox-provider-row { align-items: start; }
  .toolbox-provider-row .button { flex: 0 0 auto; }
  .toolbox-tabs button { padding: 10px; }
}
/* Approved Home2 component variants · 28 September 2026. Defaults stay independent. */
.noria-theme .smart-signal-widget--hero { width: 100%; padding: 22px; }
.smart-signal-widget--hero .smart-signal-widget-company { margin: 18px 0 14px; }
.smart-signal-widget--hero .smart-signal-widget-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 20px; }
.smart-signal-widget-meta-item--conditional,
.noria-theme .signal-study .smart-signal-widget-meta-item--conditional { color: var(--color-conditional); border-color: var(--color-conditional); background: color-mix(in srgb, var(--color-conditional) 8%, var(--color-canvas)); }
.smart-signal-widget-why { margin: 0 0 8px; color: var(--color-muted); }
.smart-signal-widget-hero-evidence { margin: 0; padding: 0; list-style: none; }
.smart-signal-widget-hero-evidence li { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 12px; padding: 10px 0; border-top: 1px solid var(--color-border); }
.smart-signal-widget-unknown { margin: 10px 0 0; padding: 12px; border-left: 3px solid var(--color-conditional); color: var(--color-conditional); background: color-mix(in srgb, var(--color-conditional) 6%, var(--color-canvas)); }
.noria-theme .signal-study--hero .signal-study-scene { height: 540px; }
.noria-theme .signal-study--hero .signal-study-caption { border-top: 0; padding-top: 24px; }
.noria-theme .signal-study--hero .signal-study-preview { top: 0; right: 0; width: min(420px, 42%); border-color: var(--color-border); background: var(--color-canvas); }
.noria-theme .signal-study--hero .smart-signal-widget { padding: 22px; border-radius: 10px; background: var(--color-canvas); }
.noria-theme .signal-study--hero .smart-signal-widget-header { padding-bottom: 12px; }
.noria-theme .signal-study--hero .smart-signal-widget-company { margin: 14px 0; }
.noria-theme .signal-study--hero .smart-signal-widget-meta { margin-bottom: 14px; }
.noria-theme .signal-study--hero[data-card-ready='false'] .signal-study-preview { opacity: 0; visibility: hidden; }
.noria-theme .signal-study--hero[data-card-ready='true'] .signal-study-preview { opacity: 1; visibility: visible; }
.noria-theme .signal-study--hero :is(.signal-replay,.signal-motion-toggle) { padding: 8px 14px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-text); }
.noria-theme .signal-study--hero :is(.signal-replay,.signal-motion-toggle):focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.noria-theme .hero-footer { margin-top: 40px; padding-bottom: 64px; }
.noria-theme .fact-strip-widget--inline .fact-strip-widget-list { display: flex; flex-wrap: wrap; gap: 8px 0; padding: 0; border: 0; }
.noria-theme .fact-strip-widget--inline .fact-strip-widget-fact { display: inline; padding: 0; border: 0; color: var(--color-text); }
.noria-theme .fact-strip-widget--inline .fact-strip-widget-fact + .fact-strip-widget-fact { padding: 0; border: 0; }
.noria-theme .fact-strip-widget--inline .fact-strip-widget-fact + .fact-strip-widget-fact::before { content: '·'; margin: 0 8px; color: var(--color-muted); }
.fact-strip-widget--inline .fact-strip-widget-fact > span { color: var(--color-muted); }
.noria-theme .card-grid-widget--segment .card-grid-widget-grid { gap: 24px; }
.noria-theme .card-grid-widget--segment .card-grid-widget-card { display: flex; flex-direction: column; align-items: stretch; padding: 24px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-canvas); color: var(--color-text); text-decoration: none; transition: transform 150ms ease, border-color 150ms ease; }
.noria-theme.page main .card-grid-widget--segment .card-grid-widget-card:hover { transform: translateY(-2px); border-color: var(--color-accent) !important; }
.card-grid-widget--segment .card-grid-widget-card:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.noria-theme .card-grid-widget--segment .card-grid-widget-meta { margin-bottom: 18px; }
.noria-theme .card-grid-widget--segment .card-grid-widget-card h3 { margin: 0 0 24px; }
.segment-card-rows { display: grid; gap: 24px; margin: 0 0 24px; }
.noria-theme.page main .card-grid-widget--segment .segment-card-rows dt { margin: 0 0 8px; color: var(--color-accent) !important; }
.segment-card-rows dd { margin: 0; color: var(--color-muted); }
.card-grid-widget--segment .card-grid-widget-link { margin-top: auto; }
@supports (grid-template-rows: subgrid) {
  .noria-theme .card-grid-widget--segment .card-grid-widget-grid { gap: 24px; }
  .noria-theme .card-grid-widget--segment .card-grid-widget-card { display: grid; grid-template-rows: subgrid; grid-row: span 9; row-gap: 0; }
  .noria-theme .card-grid-widget--segment .card-grid-widget-card:has(.segment-card-rows > div:nth-child(2):last-child) { grid-row: span 7; }
  .card-grid-widget--segment .segment-card-rows,
  .card-grid-widget--segment .segment-card-rows > div { display: contents; }
  /* Preserve shared text rows, with tighter label pairs and space between groups. */
  .card-grid-widget--segment .segment-card-rows dd { margin-bottom: 24px; }
}
.noria-theme .belief-widgets { margin-top: 48px; }
.signal-assembly-widget { max-width: 1180px; margin: 0; color: var(--color-text); }
.signal-assembly-label { margin: 0 0 14px; color: var(--color-muted); }
.signal-assembly-tiles { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; padding: 0; margin: 0; list-style: none; }
.signal-assembly-tile { display: grid; grid-template-rows: auto 1fr auto; gap: 8px; min-width: 0; min-height: 110px; padding: 16px; border: 1px solid var(--color-border); border-radius: 8px; background: var(--color-canvas); }
.signal-assembly-tile > .type-label, .signal-assembly-date { color: var(--color-muted); }
.signal-assembly-tile.is-evidence { border-color: var(--color-accent); }
.signal-assembly-date { min-height: 24px; }
.signal-assembly-gutter { position: relative; height: 120px; }
.signal-assembly-connectors, .signal-assembly-pulses { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.signal-assembly-connectors path { fill: none; stroke: var(--color-border); stroke-width: 1; vector-effect: non-scaling-stroke; }
.signal-assembly-company { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); display: grid; gap: 4px; min-width: 160px; padding: 12px 18px; text-align: center; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-canvas); }
.signal-assembly-company > span { color: var(--color-accent); }
.signal-assembly-pulses > span { position: absolute; width: 8px; height: 8px; border-radius: 50%; background: var(--color-accent); transform: translate(-50%,-50%); opacity: 0; }
.signal-assembly-checks { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; padding: 0; margin: 28px 0; list-style: none; }
.signal-assembly-checks li { padding: 8px 12px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-muted); }
.signal-assembly-checks li.is-checked { border-color: var(--color-accent); color: var(--color-accent); background: var(--color-raised); }
.signal-assembly-card { max-width: 560px; margin: 0 auto; }
.signal-assembly-caption { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 20px; color: var(--color-muted); }
.signal-assembly-caption button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--color-border); border-radius: 999px; background: var(--color-canvas); color: var(--color-text); }
.signal-assembly-caption button:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.scroll-story-widget--sequence { position: relative; padding-top: 52px; }
.scroll-story-widget--sequence .scroll-story-widget-list { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 20px; }
.scroll-story-widget--sequence .scroll-story-widget-stage-item { min-height: 0; padding: 0; }
.scroll-story-widget--sequence .scroll-story-widget-card { height: 100%; min-height: 0; grid-template-columns: 1fr; grid-template-rows: 1fr auto; gap: 24px; padding: 20px; }
.scroll-story-widget--sequence .scroll-story-widget-card-copy { justify-content: flex-start; }
.scroll-story-widget--sequence .scroll-story-widget-stage-label { align-self: flex-start; margin-bottom: 16px; }
.scroll-story-widget--sequence .scroll-story-widget-card-support { min-width: 0; }
.scroll-story-step-number { position: absolute; top: -52px; left: 0; display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--color-border); border-radius: 50%; background: var(--color-canvas); color: var(--color-muted); }
.scroll-story-sequence-track { position: absolute; top: 18px; left: 18px; right: calc(25% - 4px); height: 2px; background: var(--color-border); }
.scroll-story-sequence-track > span { display: block; width: 100%; height: 100%; background: var(--color-accent); transform-origin: left; }
.scroll-story-widget--sequence[data-variant-state='pending'] .scroll-story-sequence-track > span { transform: scaleX(0); }
.scroll-story-widget--sequence[data-variant-state='playing'] .scroll-story-sequence-track > span { animation: sequence-track-fill 1950ms linear both; }
.scroll-story-widget--sequence[data-variant-state='playing'] .scroll-story-step-number { animation: sequence-number-fill 1ms calc(var(--scroll-story-index) * 650ms) both; }
.scroll-story-widget--sequence[data-variant-state='complete'] .scroll-story-step-number { background: var(--color-accent); color: var(--color-canvas); border-color: var(--color-accent); }
@keyframes sequence-track-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sequence-number-fill { to { background: var(--color-accent); color: var(--color-canvas); border-color: var(--color-accent); } }
.noria-theme .evidence-frame-widget--framed { border: 0; overflow: visible; }
.noria-theme .evidence-frame-widget--framed .evidence-frame-widget-media { border: 1px solid var(--color-border); border-radius: 14px; overflow: hidden; }
.evidence-frame-chips { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 20px 0 4px; list-style: none; }
.evidence-frame-chips li { padding: 8px 14px; border: 1px solid var(--color-border); border-radius: 999px; color: var(--color-muted); background: var(--color-canvas); }
.testimonial-carousel-widget--peek { margin-top: 32px; text-align: left; }
.testimonial-carousel-widget--peek .testimonial-carousel-widget-track { grid-auto-columns: calc((100% - 24px - 60px) / 3); gap: 20px; }
.testimonial-carousel-widget--peek .testimonial-carousel-widget-card { padding: 24px; background: var(--color-canvas); }
.testimonial-carousel-widget--peek .testimonial-carousel-widget-person { border-top: 1px solid var(--color-border); padding-top: 18px; margin-top: 24px; }
.testimonial-carousel-widget--peek .testimonial-carousel-widget-controls { justify-content: flex-end; margin: 18px 0 0; }
.testimonial-carousel-widget--peek .testimonial-carousel-widget-card blockquote { flex: 1; }
.noria-theme .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-list { padding: 0; gap: 24px; }
.noria-theme .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card { padding: 24px; border: 1px solid var(--color-border); border-radius: 10px; background: var(--color-canvas); transition: transform 150ms ease, border-color 150ms ease; }
.noria-theme.page main .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card:is(:hover,:focus-within) { transform: translateY(-2px); border-color: var(--color-accent) !important; }
.offer-ownership { margin-top: auto; padding-top: 20px; }
.offer-ownership-bar { display: flex; gap: 4px; width: 100%; }
.offer-ownership-bar > span { position: relative; flex: 1; height: 6px; overflow: hidden; border-radius: 2px; background: var(--color-border); }
.offer-ownership-bar > .is-owned::after { position: absolute; inset: 0; content: ''; background: var(--color-accent); transform-origin: left; }
.offer-ownership > p { color: var(--color-muted); margin: 10px 0 0; }
.offer-price { display: grid; gap: 6px; margin: 20px 0; }
.offer-price > span, .offer-price > p { margin: 0; color: var(--color-muted); }
[data-variant-reveal='offer'][data-variant-state='pending'] .is-owned::after { transform: scaleX(0); }
[data-variant-reveal='offer'][data-variant-state='playing'] .is-owned::after { animation: ownership-fill calc(400ms / var(--ownership-run-count)) calc(var(--offer-index) * 120ms + var(--ownership-index) * 400ms / var(--ownership-run-count)) linear both; }
@keyframes ownership-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.noria-theme .page-section-grid--stacked-slot { grid-template-columns: minmax(0,4fr) minmax(0,8fr); }
.page-section-widget-stack { display: grid; gap: 28px; min-width: 0; }
.noria-theme .faq-widget--animated details { overflow: hidden; }
.noria-theme .faq-widget--animated summary { display: block; position: relative; list-style: none; padding-right: 36px; }
.noria-theme .faq-widget--animated summary::-webkit-details-marker { display: none; }
.noria-theme .faq-widget--animated summary::after { display: block; position: absolute; top: 23px; right: 0; width: 24px; height: 24px; content: '+'; color: var(--color-accent); transition: transform 300ms ease; }
.noria-theme .faq-widget--animated details[open] summary::after { content: '+'; transform: rotate(45deg); }
.noria-theme .faq-widget--animated details[data-faq-open='false'] summary::after { transform: none; }
.noria-theme.page main .notice-widget--amber-list { border: 0; border-left: 3px solid var(--color-conditional); border-color: var(--color-conditional) !important; border-radius: 0; padding: 20px 24px; background: color-mix(in srgb, var(--color-conditional) 6%, var(--color-canvas)) !important; }
.notice-widget--amber-list .notice-widget-items { display: grid; gap: 10px; list-style: none; }
.notice-widget--amber-list .notice-widget-items li { display: block; position: relative; padding-left: 18px; }
.notice-widget--amber-list .notice-widget-items li::before { position: absolute; top: .8em; left: 0; width: 8px; height: 2px; content: ''; background: var(--color-conditional); }
.noria-theme .closing-cta-section--inverted { padding: 0 0 64px; background: var(--color-canvas); }
.closing-inset { padding: 72px 48px; border-radius: 22px; background: var(--color-text); color: var(--color-canvas); text-align: center; }
.closing-inset :is(h2,p) { max-width: 940px; margin: 0 auto; }
.noria-theme .closing-inset h2 { margin: 24px auto; color: var(--color-canvas); }
.closing-inset :is(.type-lead,.type-identifier,.type-label) { color: color-mix(in srgb, var(--color-canvas) 76%, var(--color-text)); }
.noria-theme .closing-inset .button { margin: 30px auto 18px; border-color: var(--color-canvas); background: var(--color-canvas); color: var(--color-text); }
.noria-theme .closing-inset .button .arrow { filter: none; }
.noria-theme .closing-inset .button:hover { border-color: var(--color-canvas); background: var(--color-surface); color: var(--color-text); }
.closing-inset .button:focus-visible { outline: 2px solid var(--color-canvas); outline-offset: 4px; }
@media (max-width: 900px) {
  .noria-theme .signal-study--hero .signal-study-scene { height: 300px; }
  .noria-theme .hero-footer { margin-top: 32px; padding-bottom: 48px; }
  .noria-theme .signal-study--hero .signal-study-preview { position: static; width: 100%; margin-top: 20px; }
  .noria-theme .signal-study--hero .signal-study-caption { flex-direction: column; align-items: flex-start; }
  .noria-theme .signal-study--hero .signal-study-caption > span { max-width: none; }
  .noria-theme .card-grid-widget--segment .card-grid-widget-grid { grid-template-columns: 1fr; }
  .signal-assembly-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .signal-assembly-tile { padding: 12px; min-height: 140px; }
  .signal-assembly-date { min-height: 40px; }
  .signal-assembly-checks { justify-content: flex-start; gap: 8px; }
  .signal-assembly-caption { align-items: flex-start; flex-direction: column; }
  .scroll-story-widget--sequence { padding: 0 0 0 48px; }
  .scroll-story-widget--sequence .scroll-story-widget-list { grid-template-columns: 1fr; gap: 24px; }
  .scroll-story-widget--sequence .scroll-story-widget-card { padding: 20px; }
  .scroll-story-step-number { top: 0; left: -48px; }
  .scroll-story-sequence-track { top: 18px; bottom: 18px; left: 17px; right: auto; width: 2px; height: auto; }
  .scroll-story-sequence-track > span { transform-origin: top; }
  .scroll-story-widget--sequence[data-variant-state='pending'] .scroll-story-sequence-track > span { transform: scaleY(0); }
  .scroll-story-widget--sequence[data-variant-state='playing'] .scroll-story-sequence-track > span { animation-name: sequence-track-fill-vertical; }
  .testimonial-carousel-widget--peek .testimonial-carousel-widget-track { grid-auto-columns: calc(100% - 44px); gap: 20px; }
  .noria-theme .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-list { grid-template-columns: 1fr; gap: 16px; }
  .noria-theme .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card { padding: 20px; }
  .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-meta { min-height: 0; margin-bottom: 12px; }
  .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card > .type-body { margin-top: 8px; }
  .interactive-offer-cards-widget--lift .offer-ownership { padding-top: 12px; }
  .interactive-offer-cards-widget--lift .offer-ownership > p { margin-top: 6px; }
  .interactive-offer-cards-widget--lift .offer-price { margin: 12px 0 4px; }
  .interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card > a { display: inline-flex; align-items: center; min-height: 44px; gap: 8px; padding-top: 0; }
  .noria-theme .page-section-grid--stacked-slot { grid-template-columns: 1fr; }
  .closing-inset { padding: 52px 24px; }
}
@media (max-width: 900px) {
  .noria-theme .fact-strip-widget--inline.fact-strip-widget--count-4 .fact-strip-widget-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 24px; }
  .noria-theme .fact-strip-widget--inline.fact-strip-widget--count-4 .fact-strip-widget-fact { display: grid; align-content: start; gap: 4px; }
  .noria-theme .fact-strip-widget--inline.fact-strip-widget--count-4 .fact-strip-widget-fact::before { content: none; }
}
@keyframes sequence-track-fill-vertical { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) {
  .scroll-story-widget--sequence :is(.scroll-story-step-number,.scroll-story-sequence-track > span),
  .interactive-offer-cards-widget--lift .is-owned::after { animation: none !important; }
  .noria-theme :is(.card-grid-widget--segment .card-grid-widget-card,.interactive-offer-cards-widget--lift .interactive-offer-cards-widget-card,.faq-widget--animated summary::after) { transition: none; }
}

/* Approved homepage feedback · section-002, widget-002, widget-174, widget-179 */
.split-narrative-section--text-cta .split-narrative-section-grid { align-items: stretch; }
.split-narrative-section--text-cta .split-narrative-section-copy { display: flex; flex-direction: column; align-items: flex-start; }
.split-narrative-section--text-cta .split-narrative-section-text-cta { margin-top: auto; padding-top: 40px; color: var(--color-accent); text-decoration: underline; text-underline-offset: .2em; }
.split-narrative-section-text-cta:hover { color: var(--color-text); }
.split-narrative-section-text-cta:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.scroll-story-widget--copy-start .scroll-story-widget-card-copy { justify-content: flex-start; align-items: flex-start; text-align: left; }
.scroll-story-widget--copy-start .scroll-story-widget-card-copy .scroll-story-widget-stage-label { margin: 0 0 32px; color: var(--color-accent); }
.editorial-testimonial-controls .editorial-testimonial-playback { width: auto; min-width: 70px; padding: 0 16px; border-radius: 24px; }
@media (max-width: 900px) {
  .noria-theme .card-grid-widget--mobile-scroll { min-width: 0; max-width: 100%; }
  .noria-theme .card-grid-widget--mobile-scroll .card-grid-widget-grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; padding: 4px 4px 16px; margin: -4px; }
  .noria-theme .card-grid-widget--mobile-scroll .card-grid-widget-card { flex: 0 0 calc(100% - 44px); min-width: 0; display: flex; scroll-snap-align: start; scroll-snap-stop: always; }
  .card-grid-widget--mobile-scroll .segment-card-rows { display: grid; }
  .card-grid-widget--mobile-scroll .segment-card-rows > div { display: block; }
  .card-grid-widget--mobile-scroll .segment-card-rows dd { margin-bottom: 0; }
}

/* section-003: opt-in wider title measure for two-line desktop headings. */
.page-intro-section-copy h1.page-intro-section-title--wide { max-width: 27ch; text-wrap: balance; }

/* Review feedback · existing widgets 006, 175 and 183. */
.progression-widget[data-progression-connectors='none'] .progression-widget-step::after { display: none; }
.progression-widget-title-link { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.progression-widget-title-link:hover { color: var(--color-accent); }
.progression-widget-title-link:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
html[data-theme='light'] body.noria-theme.page main .interactive-offer-cards-widget .interactive-offer-cards-widget-card > a:not(.button) { color: var(--noria-signal) !important; }
.interactive-offer-cards-widget-list:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 4px; }
.noria-theme .grouped-navigation-widget .grouped-navigation-link[aria-current='page'],
.noria-theme .site-header .grouped-navigation-link[aria-current='page'],
.noria-theme .site-header .mobile-menu .grouped-navigation-link[aria-current='page'] { background: var(--noria-sage); }
@media (max-width: 700px) {
  .noria-theme .interactive-offer-cards-widget .interactive-offer-cards-widget-list {
    display: grid; grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 88%;
    gap: 16px; padding: 4px 0 16px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scroll-padding-inline: 0; align-items: stretch;
  }
  .interactive-offer-cards-widget-item { scroll-snap-align: start; scroll-snap-stop: normal; }
  .noria-theme.page main .interactive-offer-cards-widget .interactive-offer-cards-widget-card:is(:hover, :focus-within) { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  [data-variant-reveal='offer'] .is-owned::after { animation: none !important; transform: none !important; }
}
