/* Identité Abysse, phase 2 : Tarifs, Benchmarks, Sécurité, FAQ, Check.
   Chargé après identity.css ; ne touche pas l'accueil (.home-redesign). */
.identity-abyss:not(.home-redesign) {
  --paper: var(--abyss); --paper-2: var(--deep); --line: var(--rim); --line-dark: var(--rim);
  --ink: #e9f4f5; --ink-2: #b4cbd0; --ink-3: #9fb6bb; --mute: #9fb6bb; --mute-dark: #9fb6bb;
  --accent-soft: rgba(46, 230, 200, .12); --accent-deep: var(--glow-2);
}
/* Surfaces: one dark rhythm, hairline seams between sections. */
.identity-abyss:not(.home-redesign) main > section { background: var(--abyss); color: var(--ink); }
.identity-abyss:not(.home-redesign) main > section + section { border-top: 1px solid rgba(22, 56, 74, .6); }
.identity-abyss:not(.home-redesign) main > section:nth-of-type(even) { background: var(--deep); }
.identity-abyss:not(.home-redesign) main > section:first-child { background: radial-gradient(55% 70% at 78% 40%, rgba(22,110,112,.32), transparent 70%), radial-gradient(40% 40% at 15% 10%, rgba(18,60,80,.5), transparent 70%), linear-gradient(180deg, #06121c, var(--abyss)); }
.identity-abyss:not(.home-redesign) h1, .identity-abyss:not(.home-redesign) h2, .identity-abyss:not(.home-redesign) h3,
.identity-abyss:not(.home-redesign) summary, .identity-abyss:not(.home-redesign) strong, .identity-abyss:not(.home-redesign) th { color: var(--ink); }
.identity-abyss:not(.home-redesign) p, .identity-abyss:not(.home-redesign) li, .identity-abyss:not(.home-redesign) td,
.identity-abyss:not(.home-redesign) label, .identity-abyss:not(.home-redesign) legend, .identity-abyss:not(.home-redesign) .lede,
.identity-abyss:not(.home-redesign) .muted { color: var(--ink-2); }
.identity-abyss:not(.home-redesign) .eyebrow, .identity-abyss:not(.home-redesign) .price-eyebrow, .identity-abyss:not(.home-redesign) .bands-eyebrow,
.identity-abyss:not(.home-redesign) .trust-section-index { color: var(--glow-2); }
.identity-abyss:not(.home-redesign) main a:not(.btn) { color: var(--glow-2); }
.identity-abyss:not(.home-redesign) code { background: var(--tide); color: var(--glow-2); border-color: var(--rim); }
.identity-abyss:not(.home-redesign) .btn-secondary { background: transparent; color: var(--ink); border-color: rgba(180,203,208,.4); box-shadow: none; }
.identity-abyss:not(.home-redesign) .btn-secondary:hover { border-color: var(--glow); }

/* Cards, tables and form controls on dark. */
.identity-abyss:not(.home-redesign) .sim-card, .identity-abyss:not(.home-redesign) .lic-card,
.identity-abyss:not(.home-redesign) .sim-fieldset, .identity-abyss:not(.home-redesign) .faq-item,
.identity-abyss:not(.home-redesign) .findings-panel, .identity-abyss:not(.home-redesign) .check-disclaimer { background: var(--tide); border-color: var(--rim); color: var(--ink); }
.identity-abyss:not(.home-redesign) .lic-card.featured { background: var(--deep); border-color: rgba(122,242,220,.35); }
.identity-abyss:not(.home-redesign) table thead th, .identity-abyss:not(.home-redesign) .bands-meter { background: var(--deep); color: var(--ink-2); border-color: var(--rim); }
.identity-abyss:not(.home-redesign) table td, .identity-abyss:not(.home-redesign) table th { border-color: var(--rim); }
.identity-abyss:not(.home-redesign) tbody tr:hover { background: rgba(46,230,200,.05); }
.identity-abyss:not(.home-redesign) .band-price strong, .identity-abyss:not(.home-redesign) .sim-final-amount { color: var(--glow-2); }
.identity-abyss:not(.home-redesign) .band-name, .identity-abyss:not(.home-redesign) .sim-band-label, .identity-abyss:not(.home-redesign) .sim-band-sub,
.identity-abyss:not(.home-redesign) .sim-total-value, .identity-abyss:not(.home-redesign) .sim-total-label, .identity-abyss:not(.home-redesign) .sim-label { color: var(--ink); }
.identity-abyss:not(.home-redesign) .sim-band-calc, .identity-abyss:not(.home-redesign) .sim-total-suffix, .identity-abyss:not(.home-redesign) .sim-note,
.identity-abyss:not(.home-redesign) .permonth { color: var(--ink-2); background: transparent; }
.identity-abyss:not(.home-redesign) input, .identity-abyss:not(.home-redesign) textarea, .identity-abyss:not(.home-redesign) select { background: var(--deep); color: var(--ink); border-color: var(--rim); }
.identity-abyss:not(.home-redesign) .sim-slider { accent-color: var(--glow); }

/* Page-level light backgrounds set with page-scoped selectors in brand.css. */
.identity-abyss.pricing-page .pricing-license, .identity-abyss.pricing-page .pricing-offers,
.identity-abyss.benchmarks-site .benchmarks-hero { background: radial-gradient(55% 70% at 78% 40%, rgba(22,110,112,.28), transparent 70%), var(--abyss); }
.identity-abyss.pricing-page .pricing-grid, .identity-abyss.pricing-page .buyer-criteria,
.identity-abyss.benchmarks-site .benchmark-results { background: var(--deep); }
.identity-abyss.benchmarks-site .benchmark-protocol, .identity-abyss .faq-page { background: var(--abyss); }
.identity-abyss .benchmark-cta { background: var(--tide); box-shadow: inset 0 0 0 1px var(--rim); }
.identity-abyss .benchmark-steps article, .identity-abyss .buyer-criteria-list, .identity-abyss .buyer-criteria-list article { border-color: var(--rim); }
.identity-abyss .buyer-criteria-list article > span, .identity-abyss .benchmark-steps article > span { color: var(--glow-2); }
.identity-abyss .trust-boundary-node { background: var(--tide); color: var(--ink); box-shadow: inset 0 0 0 1px var(--rim); }
.identity-abyss .trust-boundary-node p { color: var(--ink-2); }
.identity-abyss .findings-head { background: var(--deep); color: var(--ink); }
.identity-abyss .findings-head span { color: var(--ink-2); }
.identity-abyss .trust-boundary-node > span { color: var(--glow-2); }
.identity-abyss:not(.home-redesign) .sim-total-value.sim-final-amount { color: var(--glow-2); }
.identity-abyss:not(.home-redesign) main > section:first-child, .identity-abyss.pricing-page .pricing-license, .identity-abyss.benchmarks-site .benchmarks-hero { background-origin: border-box; }

/* Signature visuals: the same luminous frame as the hero's finding card. */
.identity-abyss .sim-card, .identity-abyss .benchmark-scorecard, .identity-abyss .trust-boundary-visual,
.identity-abyss .trust-review-section .trust-review-layout {
  background: linear-gradient(180deg, rgba(12,34,49,.96), rgba(7,21,33,.96));
  box-shadow: inset 0 0 0 1px rgba(122,242,220,.3), 0 0 60px -12px rgba(46,230,200,.35), 0 40px 90px -40px #000;
  border-color: transparent;
}
.identity-abyss .benchmarks-hero-grid { position: relative; }
.identity-abyss .benchmark-scorecard { position: relative; }
.identity-abyss .benchmark-scorecard .is-primary td { color: var(--glow-2); text-shadow: 0 0 30px rgba(46,230,200,.35); }
.identity-abyss .trust-boundary-transfer { color: var(--glow-2); }
.identity-abyss .trust-boundary-transfer > span { text-shadow: 0 0 14px var(--glow); }
.identity-abyss .trust-boundary-destination { background: repeating-linear-gradient(135deg, rgba(122,242,220,.07) 0 2px, transparent 2px 9px), var(--tide); box-shadow: inset 0 0 0 1px rgba(122,242,220,.45); }
.identity-abyss .faq-item[open] { box-shadow: inset 0 0 0 1px rgba(122,242,220,.3); }
.identity-abyss .faq-item summary::after { color: var(--glow); }
.identity-abyss .example-chip { background: transparent; border-color: var(--rim); color: var(--ink-2); }
.identity-abyss .example-chip.is-active, .identity-abyss .example-chip:hover { border-color: var(--glow); color: var(--ink); background: rgba(46,230,200,.1); }
.identity-abyss .cf-field .check-textarea { background: var(--deep); color: var(--glow-2); box-shadow: inset 0 0 0 1px var(--rim); }
.identity-abyss .benchmark-scorecard { background: linear-gradient(180deg, rgba(12,34,49,.78), rgba(7,21,33,.86)); backdrop-filter: blur(2px); }

/* Phase 2 review pass: designed dark components, not token overrides. */
.identity-abyss .trust-status.is-public { color: #80e1d2; background: #163e3f; }
.identity-abyss .trust-status.is-review { color: #ffd37b; background: #44351c; }
.identity-abyss .trust-status.is-unclaimed { color: #dce8e9; background: #293b49; }
.identity-abyss .sev-badge.sev-critical { color: #ffb3b3; background: #4a1a22; border-color: #7a2a35; }
.identity-abyss .sev-badge.sev-high { color: #ffc99a; background: #4a2e14; border-color: #7a4a22; }
.identity-abyss .sev-badge.sev-medium { color: #f3dd8a; background: #3f3714; border-color: #6a5c22; }
.identity-abyss .sev-badge.sev-low, .identity-abyss .sev-badge.sev-info { color: #a9d8f5; background: #16304a; border-color: #28506f; }
.identity-abyss .findings-list li { grid-template-columns: 6.5rem minmax(0, 1fr); }
.identity-abyss .finding-body { min-width: 0; }
.identity-abyss .finding-body .rule, .identity-abyss .finding-body .msg { overflow-wrap: anywhere; }
@media (max-width: 480px) { .identity-abyss .findings-list li { grid-template-columns: 1fr; } }
.identity-abyss .faq-page .faq-item summary { padding: 1.25rem 1.4rem; }
.identity-abyss .faq-page .faq-item p { padding: 0 1.6rem 1.4rem 1.4rem; }
.identity-abyss .faq-page .faq-list { gap: .6rem; }
.identity-abyss .faq-page .faq-item, .identity-abyss .faq-page .faq-item[open] { border-radius: 14px; border: 1px solid var(--rim); }
.identity-abyss.pricing-page .pricing-ai, .public-site.identity-abyss .pricing-ai { background: var(--tide); box-shadow: inset 0 0 0 1px var(--rim); color: var(--ink); }
/* Simulator controls: visible track with a filled part, designed radios. */
.identity-abyss .sim-slider { -webkit-appearance: none; appearance: none; height: 6px; border-radius: 999px; background: linear-gradient(90deg, var(--glow) var(--pct, 10%), var(--rim) var(--pct, 10%)); }
.identity-abyss .sim-slider::-webkit-slider-thumb { -webkit-appearance: none; width: 20px; height: 20px; border-radius: 50%; background: var(--glow-2); box-shadow: 0 0 0 4px rgba(46,230,200,.25), 0 0 14px var(--glow); cursor: ew-resize; }
.identity-abyss .sim-slider::-moz-range-thumb { width: 20px; height: 20px; border: 0; border-radius: 50%; background: var(--glow-2); box-shadow: 0 0 14px var(--glow); }
.identity-abyss .sim-fieldset input[type=radio] { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; margin: 0 .5rem 0 0; border-radius: 50%; border: 2px solid #4f7482; background: transparent; vertical-align: -3px; }
.identity-abyss .sim-fieldset input[type=radio]:checked { border-color: var(--glow); background: radial-gradient(circle, var(--glow) 0 4px, transparent 5px); }
.identity-abyss .sim-fieldset input[type=radio]:focus-visible { outline: 2px solid var(--glow-2); outline-offset: 2px; }
/* Pricing hero: estimate beside the pitch, no half-empty hero. */
@media (min-width: 1101px) {
  .identity-abyss.pricing-page .pricing-license > .wrap { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); column-gap: clamp(2rem, 4vw, 4rem); align-items: start; }
  .identity-abyss.pricing-page .pricing-license > .wrap > :not(#estimate) { grid-column: 1; }
  .identity-abyss.pricing-page .pricing-license > .wrap > #estimate { grid-column: 2; grid-row: 1 / span 6; margin-top: 0; }
}
/* Benchmarks: one full disc visible above the card. */
@media (max-width: 900px) { .identity-abyss .benchmark-scorecard { max-width: none; } }
/* Security disclosure: reading measure and heading scale. */
.identity-abyss .trust-disclosure h2:not(.trust-disclosure-title) { font-size: clamp(1.35rem, 2vw, 1.7rem); margin-top: 2.4rem; }
.identity-abyss .trust-disclosure p, .identity-abyss .trust-disclosure ul { max-width: 68ch; }

/* Phase 3: docs, legal and privacy on the same surfaces. */
.identity-abyss .docs-note { background: var(--tide); border-color: var(--rim); }
.identity-abyss .docs-note.is-warn { background: #2a2210; border-color: #6a5220; }
.identity-abyss .docs-note.is-warn p, .identity-abyss .docs-note.is-warn .docs-note-label { color: #f6d58f; }
.identity-abyss [data-doc-topic] { background: transparent; color: var(--ink-2); border-color: var(--rim); }
.identity-abyss [data-doc-topic].is-active, .identity-abyss [data-doc-topic][aria-current], .identity-abyss [data-doc-topic][aria-selected="true"] { background: rgba(46,230,200,.14); color: var(--ink); border-color: var(--glow); }
.identity-abyss .docs-hub-aside, .identity-abyss .docs-toc-mobile { border-color: var(--rim); }
.identity-abyss .docs-hub-aside a, .identity-abyss .docs-toc-mobile a { color: var(--ink-2); }
.identity-abyss .docs-hub-aside a:hover, .identity-abyss .docs-hub-aside a.is-active { color: var(--ink); background: rgba(46,230,200,.08); }
.identity-abyss .docs-quickstart-card, .identity-abyss .docs-showcase-card, .identity-abyss .docs-product-showcase figure { background: var(--tide); border-color: var(--rim); }
.identity-abyss .docs-hub-version-pill { background: var(--tide); color: var(--ink-2); border-color: var(--rim); }
.identity-abyss .docs-hub-search input { background: var(--deep); color: var(--ink); border-color: var(--rim); }
.identity-abyss .legal-page .legal-list li { border-color: var(--rim); }

/* Docs diagrams (scripts/frontend/build-docs-diagrams.py). */
.docs-diagram { margin: 1.4rem 0 1.8rem; padding: clamp(.8rem, 2vw, 1.4rem); border-radius: 20px; background: linear-gradient(180deg, rgba(12,34,49,.9), rgba(7,21,33,.95)); box-shadow: inset 0 0 0 1px rgba(122,242,220,.22), 0 30px 70px -40px #000; overflow-x: auto; }
.docs-diagram svg { display: block; width: 100%; min-width: 640px; height: auto; font-family: Geist, system-ui, sans-serif; }
.docs-diagram .dg-glow-a { stop-color: #2ee6c8; stop-opacity: .14; }
.docs-diagram .dg-glow-b { stop-color: #2ee6c8; stop-opacity: 0; }
.docs-diagram .dg-mesh-line { stroke: #7af2dc; stroke-opacity: .35; }
.docs-diagram .dg-mesh-box { stroke: #7af2dc; stroke-opacity: .55; }
.docs-diagram .dg-arrow-head { fill: #2ee6c8; }
.docs-diagram .dg-boundary { fill: rgba(4,11,18,.35); stroke: rgba(122,242,220,.35); stroke-dasharray: 6 6; }
.docs-diagram .dg-node rect { fill: #0c2231; stroke: #16384a; }
.docs-diagram .dg-node.is-strong rect { stroke: #2ee6c8; filter: drop-shadow(0 0 14px rgba(46,230,200,.35)); }
.docs-diagram .dg-node.is-out rect { fill: #071521; }
.docs-diagram .dg-inner { fill: #0c2231; stroke: #16384a; }
.docs-diagram .dg-inner.is-control { fill: #071521; stroke-dasharray: 4 4; }
.docs-diagram .dg-title { fill: #e9f4f5; font-size: 17px; font-weight: 600; }
.docs-diagram .dg-h { fill: #e9f4f5; font: 650 22px Archivo, Geist, sans-serif; font-stretch: 112%; }
.docs-diagram .dg-text { fill: #b4cbd0; font-size: 14px; }
.docs-diagram .dg-small { fill: #9fb6bb; font-size: 12px; }
.docs-diagram .dg-kicker { fill: #7af2dc; font-size: 13px; font-weight: 600; }
.docs-diagram .is-center { text-anchor: middle; }
.docs-diagram .dg-flow { fill: none; stroke: #2ee6c8; stroke-width: 2; }
.docs-diagram .dg-flow.is-dashed { stroke-dasharray: 5 6; stroke-opacity: .8; }
.docs-diagram .dg-flow.is-thin { stroke-width: 1.3; stroke-opacity: .6; }
.docs-diagram .dg-step circle { fill: #071521; stroke: #2ee6c8; stroke-width: 1.5; }
.docs-diagram .dg-num { fill: #7af2dc; font-size: 16px; font-weight: 600; text-anchor: middle; }
.docs-diagram .dg-chip { fill: #071521; stroke: #16384a; }
.docs-diagram .dg-chip-text { fill: #b4cbd0; font-size: 12px; text-anchor: middle; }
.docs-diagram .dg-chip-text.is-strong { fill: #e9f4f5; font-size: 14px; font-weight: 600; }
.docs-diagram .dg-status { fill: #3a2c0a; stroke: #6a5220; }
.docs-diagram .dg-status-text { fill: #f6d58f; font-size: 12px; font-weight: 600; }
@media (prefers-reduced-motion: no-preference) {
  .docs-diagram .dg-flow.is-dashed { animation: dg-dash 1.6s linear infinite; }
  @keyframes dg-dash { to { stroke-dashoffset: -22; } }
}

/* Phase 3 review pass. */
.docs-diagram { border: 1px solid rgba(122,242,220,.28); box-shadow: 0 30px 70px -40px #000; overflow: visible; }
.docs-diagram svg { min-width: 0; }
.docs-diagram .dg-narrow { display: none; max-width: 420px; margin-inline: auto; }
@media (max-width: 700px) {
  .docs-diagram .dg-wide { display: none; }
  .docs-diagram .dg-narrow { display: block; }
}
.docs-diagram .dg-title { font-size: 19px; }
.docs-diagram .dg-text { font-size: 16px; }
.docs-diagram .dg-small { font-size: 14px; }
.docs-diagram .dg-kicker { font-size: 14px; }
.docs-diagram .dg-chip-text { font-size: 12px; }
.identity-abyss .docs-table-wrap { border: 1px solid var(--rim); border-radius: 12px; -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); mask-image: linear-gradient(90deg, #000 calc(100% - 28px), transparent); }
.identity-abyss .code-block pre, .identity-abyss .code-block pre code { white-space: pre-wrap; overflow-wrap: anywhere; }
.identity-abyss .legal-page h2 { font-size: clamp(1.35rem, 2vw, 1.6rem); margin-top: 2.4rem; }
.docs-diagram .dg-inner.is-hub { fill: #0c2231; stroke: #2ee6c8; filter: drop-shadow(0 0 12px rgba(46,230,200,.3)); }
.docs-diagram .dg-flow.is-rail { stroke-opacity: .5; }
.docs-diagram .dg-boundary.is-tamis { stroke: rgba(46,230,200,.7); stroke-dasharray: none; }
.docs-diagram .dg-status.is-ok { fill: #0f3b35; stroke: #1f6f62; }
.docs-diagram .dg-status-text.is-ok { fill: #8ff0da; }
.docs-diagram .dg-text.is-tight { font-size: 15px; }

/* Pricing hero: the licensing problem, then three plain commitments. */
.identity-abyss.pricing-page .pricing-license .pricing-title { margin-top: 1rem; }
.identity-abyss.pricing-page .pricing-license > .wrap > .lede { margin-top: 1.6rem; max-width: 36rem; }
.pricing-promises { max-width: 36rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.pricing-promises li { padding: 1rem 0; border-top: 1px solid var(--rim); color: var(--ink-2); line-height: 1.55; }
.pricing-promises li:last-child { border-bottom: 1px solid var(--rim); }
.pricing-promises strong { display: block; margin-bottom: .2rem; color: var(--ink); font-weight: 600; }
.pricing-page .pricing-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin: 2.2rem 0 0; }
@media (min-width: 1101px) {
  .identity-abyss.pricing-page #license > .wrap > .eyebrow, .identity-abyss.pricing-page #license > .wrap > .pricing-title { grid-column: 1 / -1; }
  .identity-abyss.pricing-page .pricing-license > .wrap > #estimate { grid-row: 3 / span 4; margin-top: 1.8rem; }
}
.identity-abyss.pricing-page .pricing-license .pricing-title { max-width: none; }
@media (max-width: 480px) { .pricing-page .pricing-actions .btn { width: 100%; justify-content: center; } }
/* FAQ: airier answers, clearer groups. */
.identity-abyss .faq-page .faq-list { gap: .9rem; }
.identity-abyss .faq-page .faq-item summary { padding: 1.35rem 1.5rem; font-size: 1.05rem; line-height: 1.45; }
.identity-abyss .faq-page .faq-item p { max-width: 64ch; margin: 0; padding: .1rem 1.8rem 1.7rem 1.5rem; font-size: 1rem; line-height: 1.75; }
.identity-abyss .faq-page .marketing-subsection-heading { margin-top: 4.5rem; }
/* Security page: one idea per line, statuses up front. */
.sec-page main { background: var(--abyss); }
.sec-hero { padding: clamp(8rem, 13vw, 10.5rem) 0 clamp(3.5rem, 6vw, 5rem); }
.sec-hero h1 { margin: 1.1rem 0 0; font-size: clamp(2.5rem, 5vw, 4.2rem); line-height: 1.04; color: var(--ink); }
.sec-lede { max-width: 36rem; margin: 1.4rem 0 0; font-size: 1.12rem; line-height: 1.65; }
.sec-actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.sec-section { padding: clamp(4.5rem, 9vw, 7rem) 0; border-top: 1px solid rgba(22,56,74,.6); }
.sec-section-deep { background: var(--deep); }
.sec-section h2 { max-width: 34rem; margin: 1rem 0 0; font-size: clamp(1.9rem, 3.2vw, 2.8rem); line-height: 1.1; color: var(--ink); }
.sec-modes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; margin-top: 2.8rem; }
.sec-modes article { padding: 1.5rem 1.5rem 1.6rem; border-radius: 16px; background: rgba(12,34,49,.85); box-shadow: inset 0 0 0 1px var(--rim); }
.sec-mode-head { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .8rem; }
.sec-modes h3 { margin: 0; font-size: 1.15rem; color: var(--ink); }
.sec-modes p { margin: .8rem 0 0; line-height: 1.65; }
/* Data boundary per deployment mode: your side above the dashed line, Tamis below. */
@supports (grid-template-rows: subgrid) { @media (min-width: 901px) {
  .sec-modes { grid-template-rows: repeat(5, auto); row-gap: 0; }
  .sec-modes article { display: grid; grid-row: span 5; grid-template-rows: subgrid; }
  .sec-modes .frontier { grid-row: span 3; grid-template-rows: subgrid; }
} }
.frontier { display: grid; margin-top: 1.2rem; }
.frontier-zone { padding: .75rem .85rem .85rem; border-radius: 12px; background: rgba(4,11,18,.6); box-shadow: inset 0 0 0 1px var(--rim); }
.frontier-zone.is-tamis { background: rgba(46,230,200,.06); box-shadow: inset 0 0 0 1px rgba(46,230,200,.28); }
.sec-modes .frontier-where { margin: 0 0 .55rem; color: var(--mute); font-size: .8rem; line-height: 1.3; }
.frontier-zone.is-tamis .frontier-where { color: var(--glow-2); }
.frontier-items { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.frontier-items li { padding: .2rem .6rem; border-radius: 999px; background: var(--tide); box-shadow: inset 0 0 0 1px var(--rim); color: var(--ink); font-size: .82rem; line-height: 1.45; }
.frontier-items li.is-empty { padding: .2rem 0; background: none; box-shadow: none; color: var(--ink-2); font-style: italic; }
.sec-modes .frontier-cross { position: relative; display: flex; align-items: center; gap: .55rem; margin: 0; padding: .85rem 0; color: var(--glow-2); font-size: .84rem; line-height: 1.4; }
.frontier-cross::before { content: ""; position: absolute; top: 50%; left: -1.5rem; right: -1.5rem; border-top: 1px dashed rgba(122,242,220,.5); }
.frontier-arrow { position: relative; flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; background: #0b1f2c; box-shadow: inset 0 0 0 1px var(--glow), 0 0 16px -4px var(--glow); color: var(--glow); }
.frontier-cross-text { position: relative; padding: .1rem .45rem; border-radius: 6px; background: #0b1f2c; }
.frontier-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: no-preference) {
  .frontier-cross.is-down .frontier-arrow svg { animation: frontier-down 2.4s ease-in-out infinite; }
  .frontier-cross.is-up .frontier-arrow svg { animation: frontier-up 2.4s ease-in-out infinite; }
}
@keyframes frontier-down { 0%, 100% { transform: translateY(-2px); opacity: .7; } 50% { transform: translateY(2px); opacity: 1; } }
@keyframes frontier-up { 0%, 100% { transform: translateY(2px); opacity: .7; } 50% { transform: translateY(-2px); opacity: 1; } }
.sec-legend { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin: 2rem 0 0; padding: 0; list-style: none; color: var(--ink-2); font-size: .9rem; }
.sec-controls { display: grid; margin: 1.6rem 0 0; padding: 0; list-style: none; }
.sec-controls li { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1.4rem; align-items: start; padding: 1.3rem 0; border-top: 1px solid var(--rim); }
.sec-controls li > .trust-status { justify-self: start; margin-top: .15rem; }
.sec-controls h3 { margin: 0; font-size: 1.05rem; color: var(--ink); }
.sec-controls p { max-width: 60ch; margin: .35rem 0 0; line-height: 1.65; }
.sec-review { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 3rem; }
.sec-review p { max-width: 40rem; margin: .8rem 0 0; line-height: 1.65; }
.sec-disclosure { display: grid; margin: 2rem 0 0; }
.sec-disclosure > div { display: grid; grid-template-columns: 9.5rem minmax(0, 1fr); gap: 1.4rem; padding: 1.1rem 0; border-top: 1px solid var(--rim); }
.sec-disclosure dt { color: var(--glow-2); font-weight: 600; }
.sec-disclosure dd { max-width: 62ch; margin: 0; line-height: 1.65; color: var(--ink-2); }
.sec-note { margin: 1.6rem 0 0; color: var(--mute); font-size: .88rem; }
.sla-bars { display: grid; gap: .55rem; max-width: 34rem; margin: 1rem 0 .2rem; padding: 0; list-style: none; }
.sla-bars li { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); align-items: center; gap: .8rem; font-size: .88rem; }
.sla-sev { color: var(--ink-2); }
.sla-track { display: flex; align-items: center; gap: .6rem; }
.sla-bar { height: 10px; border-radius: 0 4px 4px 0; background: var(--glow); box-shadow: 0 0 14px -4px var(--glow); }
.sla-bar.is-7 { width: calc((100% - 5rem) * 7 / 90); }
.sla-bar.is-30 { width: calc((100% - 5rem) * 30 / 90); }
.sla-bar.is-90 { width: calc(100% - 5rem); }
.sla-val { flex: none; color: var(--ink); font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  .sec-hero { padding-top: 6.5rem; }
  .sec-modes { grid-template-columns: 1fr; }
  .sec-controls li, .sec-disclosure > div { grid-template-columns: 1fr; gap: .5rem; }
}
@media (max-width: 480px) { .sec-actions .btn { width: 100%; justify-content: center; } }
.status-page { min-height: 70vh; }
.status-page .status-links { margin: 1.6rem 0 2rem; color: var(--ink-2); }
.sec-review .sec-mail { margin: .7rem 0 0; color: var(--ink-2); font-size: .9rem; }
