      :root {
        --ink: #071628;
        --ink-soft: #102645;
        --mist: #f7fbff;
        --mist-soft: rgba(226, 240, 255, 0.78);
        --line: rgba(56, 182, 255, 0.16);
        --line-strong: rgba(56, 182, 255, 0.34);
        --blue: #0d76f2;
        --blue-strong: #004bcc;
        --sky: #38b6ff;
        --sky-soft: rgba(56, 182, 255, 0.14);
        --mint: #89c6aa;
        --panel: rgba(7, 22, 40, 0.82);
        --panel-strong: rgba(6, 18, 34, 0.94);
        --card: rgba(10, 28, 51, 0.84);
        --shadow: 0 28px 90px rgba(1, 10, 24, 0.34);
        --background-dark: #06111f;
        --background-mid: #071628;
        --background-accent: #0a1d36;
        --display: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        --body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        --font-size-sm: 0.76rem;
        --font-size-base: 0.92rem;
        --font-size-md: 1rem;
        --letter-spacing-display: 0.18em;
        --spacing-xs: 4px;
        --spacing-sm: 10px;
        --spacing-md: 12px;
        --spacing-lg: 14px;
        --spacing-xl: 16px;
        --spacing-2xl: 18px;
        --spacing-3xl: 20px;
        --spacing-4xl: 28px;
        --spacing-5xl: 32px;
        --spacing-6xl: 56px;
        --spacing-7xl: 72px;
        --radius-sm: 22px;
        --radius-md: 28px;
        --radius-full: 999px;
        --shadow-primary: 0 28px 90px rgba(1, 10, 24, 0.34);
        --shadow-inset: inset 0 1px 0 rgba(255, 255, 255, 0.08);
        --blur-md: blur(18px);
        --max-width: 1220px;
        --logo-width: 176px;
        --page-shell-padding-y: 72px;
        --page-shell-padding-x: 32px;
        --section-gap: 18px;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        margin: 0;
        min-height: 100vh;
        color: var(--mist);
        font-family: var(--body);
        background:
          radial-gradient(circle at 72% 20%, rgba(255, 210, 30, 0.15), transparent 34rem),
          radial-gradient(circle at 84% 36%, rgba(143, 72, 255, 0.13), transparent 28rem),
          radial-gradient(circle at 12% 10%, rgba(56, 182, 255, 0.14), transparent 26%),
          linear-gradient(180deg, var(--background-dark) 0%, var(--background-mid) 42%, var(--background-accent) 100%);
      }

      body::before {
        content: "";
        position: fixed;
        inset: 0;
        pointer-events: none;
        background-image:
          linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
        background-size: 56px 56px;
        mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.7), transparent 85%);
      }

      a {
        color: inherit;
        text-decoration: none;
      }

      .page-shell {
        width: min(1220px, calc(100vw - 32px));
        margin: 0 auto;
        padding: 18px 0 72px;
      }

      .topbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        margin-bottom: 28px;
        padding: 16px 20px;
        position: sticky;
        top: 16px;
        z-index: 20;
        border: 1px solid var(--line);
        border-radius: 28px;
        background: rgba(6, 18, 34, 0.82);
        box-shadow: var(--shadow);
        backdrop-filter: blur(18px);
      }

      .topbar__actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 14px;
        flex-wrap: wrap;
        flex: 1;
        min-width: 0;
      }

      .brand {
        display: inline-flex;
        align-items: center;
        gap: 14px;
        min-width: 0;
      }

      .brand-shell {
        display: inline-flex;
        align-items: center;
        padding: 12px 16px;
        border-radius: 22px;
        border: 1px solid var(--line);
        background: linear-gradient(135deg, rgba(5, 18, 35, 0.98), rgba(12, 39, 80, 0.84));
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
      }

      .brand-logo {
        display: block;
        width: auto;
        height: 48px;
      }

      .brand-copy {
        display: grid;
        gap: 4px;
        min-width: 0;
      }

      .brand-copy strong {
        font-size: 0.76rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
      }

      .brand-copy span {
        font-size: 0.92rem;
        color: var(--mist-soft);
      }

      .nav {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
      }

      .nav a,
      .nav-group summary {
        padding: 10px 14px;
        border-radius: 999px;
        border: 1px solid rgba(56, 182, 255, 0.08);
        color: var(--mist-soft);
        background: rgba(255, 255, 255, 0.03);
      }

      .nav-group {
        position: relative;
        display: inline-flex;
      }

      .nav-group summary {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        cursor: pointer;
        list-style: none;
      }

      .nav-group summary::-webkit-details-marker {
        display: none;
      }

      .nav-group summary::after {
        content: "⌄";
        font-size: 0.82em;
        line-height: 1;
        color: currentColor;
      }

      .nav-submenu {
        position: absolute;
        top: calc(100% + 10px);
        left: 0;
        z-index: 40;
        display: none;
        min-width: 228px;
        padding: 10px;
        border: 1px solid rgba(255, 210, 30, 0.28);
        border-radius: 12px;
        background: rgba(5, 14, 27, 0.96);
        box-shadow: 0 18px 54px rgba(0, 0, 0, 0.42);
      }

      .nav-submenu a {
        display: block;
        padding: 10px 12px;
        white-space: nowrap;
      }

      .nav-group[open] .nav-submenu,
      .nav-group:hover .nav-submenu,
      .nav-group:focus-within .nav-submenu {
        display: grid;
        gap: 4px;
      }

      .nav a[aria-current="page"],
      .nav-group summary[aria-current="page"],
      .topbar-button[aria-current="page"] {
        color: var(--mist);
        border-color: var(--line-strong);
        background: rgba(56, 182, 255, 0.12);
      }

      .account-chip {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 999px;
        color: var(--mist);
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .topbar__cta {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 12px;
        flex-wrap: wrap;
        min-width: 0;
      }

      .language-switch {
        display: inline-flex;
        align-items: center;
        min-height: 42px;
        padding: 4px;
        border: 1px solid rgba(255, 210, 30, 0.38);
        border-radius: 8px;
        background: rgba(5, 14, 27, 0.66);
      }

      .language-switch a {
        display: inline-grid;
        min-width: 34px;
        min-height: 34px;
        place-items: center;
        border-radius: 6px;
        color: #f5f8ff;
        font-size: 0.78rem;
        font-weight: 800;
      }

      .language-switch a[aria-current="true"] {
        background: #ffd21e;
        color: #06101f;
      }

      .account-chip span {
        color: var(--mist-soft);
        font-size: 0.82rem;
      }

      .account-chip strong {
        font-size: 0.9rem;
      }

      .hero {
        display: grid;
        grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
        gap: 28px;
        align-items: stretch;
      }

      .hero--landing-orbit {
        grid-template-columns: minmax(0, 0.95fr) minmax(420px, 1.05fr);
        align-items: center;
        min-height: calc(100vh - 132px);
      }

      .hero--single {
        grid-template-columns: 1fr;
      }

      .auth-shell {
        display: grid;
        gap: 24px;
      }

      .auth-shell--centered {
        justify-content: center;
      }

      .hero-copy,
      .hero-panel,
      .section-shell {
        border: 1px solid var(--line);
        background: linear-gradient(180deg, rgba(12, 34, 61, 0.92), rgba(6, 18, 34, 0.9));
        border-radius: 30px;
        box-shadow: var(--shadow);
        backdrop-filter: blur(14px);
        position: relative;
        overflow: hidden;
      }

      .hero-copy {
        padding: 38px;
      }

      .hero-copy--orbit {
        border-color: rgba(255, 210, 30, 0.18);
        background: linear-gradient(180deg, rgba(10, 24, 48, 0.78), rgba(5, 13, 27, 0.9));
      }

      .hero--landing-orbit h1 {
        max-width: 11ch;
        font-size: clamp(3rem, 5.7vw, 5.1rem);
        line-height: 0.96;
        background: linear-gradient(92deg, #ffffff 0%, #ffffff 42%, #ffd21e 62%, #ffe56d 78%, #f8fbff 100%);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
      }

      .hero--landing-orbit .lead {
        max-width: 62ch;
      }

      .hero-copy::before,
      .section-shell::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background:
          radial-gradient(circle at top right, rgba(56, 182, 255, 0.16), transparent 32%),
          linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 32%);
      }

      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin: 0 0 18px;
        color: var(--sky);
        font-size: 0.8rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }

      .eyebrow::before {
        content: "";
        width: 36px;
        height: 1px;
        background: currentColor;
      }

      .eyebrow--tight {
        margin-bottom: 10px;
      }

      .eyebrow--tight::before {
        width: 24px;
      }

      h1,
      h2,
      h3 {
        margin: 0;
        font-family: var(--display);
        line-height: 0.98;
        letter-spacing: -0.03em;
      }

      h1 {
        font-size: clamp(3rem, 5.8vw, 5.8rem);
        max-width: 10ch;
      }

      h2 {
        font-size: clamp(2rem, 3.4vw, 3.3rem);
      }

      h3 {
        font-size: 1.55rem;
      }

      .lead {
        max-width: 60ch;
        margin: 22px 0 28px;
        font-size: 1.08rem;
        line-height: 1.7;
        color: var(--mist-soft);
      }

      .hero-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-bottom: 26px;
      }

      .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        min-height: 52px;
        padding: 0 22px;
        border-radius: 999px;
        border: 1px solid transparent;
        font-weight: 700;
        letter-spacing: 0.02em;
        cursor: pointer;
        transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
      }

      .button--primary {
        color: #08111f;
        background: linear-gradient(135deg, #ffd21e, #f4a900);
        box-shadow: 0 16px 42px rgba(255, 210, 30, 0.24);
      }

      .button--ghost {
        color: var(--mist);
        border-color: rgba(255, 210, 30, 0.28);
        background: rgba(255, 210, 30, 0.06);
      }

      .button--subtle {
        min-height: 44px;
        padding: 0 18px;
        color: var(--mist);
        border-color: rgba(56, 182, 255, 0.16);
        background: rgba(255, 255, 255, 0.03);
      }

      .button--compact {
        min-height: 44px;
        padding: 0 18px;
      }

      .logout-form {
        display: inline-flex;
        margin: 0;
      }

      .signal-strip {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 14px;
      }

      .signal-strip li {
        padding: 16px 18px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 210, 30, 0.16);
      }

      .signal-strip strong {
        display: block;
        font-size: 1.45rem;
        margin-bottom: 6px;
        color: #ffd21e;
      }

      .signal-strip span {
        color: var(--mist-soft);
        font-size: 0.92rem;
      }

      .hero-panel {
        padding: 28px;
        position: relative;
        overflow: hidden;
      }

      .hero-bullets {
        display: flex;
        flex-wrap: wrap;
        gap: 12px 24px;
        margin: 24px 0 0;
        padding: 0;
        list-style: none;
        color: var(--mist-soft);
        font-weight: 700;
      }

      .hero-bullets li::before {
        content: "•";
        color: #ffd21e;
        margin-right: 8px;
        font-size: 1.2em;
        line-height: 0;
      }

      .orbit-cockpit {
        position: relative;
        min-height: 540px;
        isolation: isolate;
      }

      .orbit-cockpit__ring {
        position: absolute;
        inset: 18% -6% 10%;
        border: 1px solid rgba(255, 210, 30, 0.2);
        border-radius: 50%;
        background:
          radial-gradient(ellipse at 50% 50%, rgba(255, 210, 30, 0.16), transparent 38%),
          radial-gradient(ellipse at 55% 50%, rgba(143, 72, 255, 0.2), transparent 52%);
        box-shadow: inset 0 0 38px rgba(255, 210, 30, 0.16), 0 0 80px rgba(255, 210, 30, 0.1);
        transform: rotate(-7deg);
      }

      .orbit-cockpit__ring::before,
      .orbit-cockpit__ring::after {
        content: "";
        position: absolute;
        inset: 15% 2%;
        border-top: 2px solid rgba(255, 210, 30, 0.42);
        border-bottom: 1px solid rgba(143, 72, 255, 0.25);
        border-radius: 50%;
      }

      .orbit-card {
        position: absolute;
        z-index: 2;
        padding: 20px;
        border: 1px solid rgba(255, 210, 30, 0.18);
        border-radius: 18px;
        background: linear-gradient(180deg, rgba(10, 24, 48, 0.84), rgba(5, 13, 27, 0.92));
        box-shadow: var(--shadow);
        backdrop-filter: blur(16px);
      }

      .orbit-card strong {
        display: block;
        font-size: 1.08rem;
      }

      .orbit-card p {
        margin: 6px 0;
      }

      .orbit-card small,
      .orbit-card span {
        color: var(--mist-soft);
      }

      .orbit-card a {
        display: inline-block;
        margin-top: 10px;
        color: #ffd21e;
        font-weight: 850;
      }

      .status-dot {
        display: inline-block;
        width: 12px;
        height: 12px;
        margin-right: 8px;
        border-radius: 50%;
      }

      .status-dot--danger {
        background: #ff4e66;
        box-shadow: 0 0 18px rgba(255, 78, 102, 0.6);
      }

      .orbit-card--incident {
        top: 6%;
        left: 7%;
        width: min(340px, 48%);
        border-color: rgba(255, 78, 102, 0.38);
      }

      .orbit-card--score {
        top: 3%;
        right: 2%;
        width: 265px;
        transform: rotate(3deg);
      }

      .orbit-card--chart {
        top: 35%;
        left: 0;
        width: 340px;
      }

      .orbit-card--chart svg {
        width: 100%;
        height: 86px;
        margin-top: 8px;
      }

      .orbit-card--chart polyline {
        fill: none;
        stroke: #ffd21e;
        stroke-width: 4;
        stroke-linecap: round;
        stroke-linejoin: round;
        filter: drop-shadow(0 0 10px rgba(255, 210, 30, 0.48));
      }

      .orbit-card--pdf {
        right: 1%;
        bottom: 13%;
        width: 360px;
        display: grid;
        grid-template-columns: 80px 1fr;
        gap: 16px;
        align-items: center;
      }

      .pdf-icon {
        display: grid;
        place-items: center;
        width: 72px;
        height: 54px;
        border-radius: 8px;
        background: linear-gradient(135deg, #ffffff, #d8ddea);
        color: #e82441;
        font-weight: 950;
      }

      .orbit-gauge {
        display: grid;
        place-items: end center;
        width: 172px;
        aspect-ratio: 2;
        margin: 14px 0 4px;
        padding-bottom: 16px;
        border-radius: 172px 172px 0 0;
        background: conic-gradient(from 270deg, #ffd21e, #ffd21e 76%, rgba(255, 255, 255, 0.18) 0);
      }

      .orbit-gauge strong {
        font-size: 2.8rem;
        line-height: 0.9;
      }

      .orbit-gauge small,
      .positive {
        color: var(--success) !important;
        font-weight: 800;
      }

      /* CashFlowCanary public template system.
         Future marketing pages inherit the template by reusing the standard
         renderer primitives: hero, section-shell, feature-card, blog-card,
         plan-card, proof-card, portal-form and cta-band. */
      .theme-canary {
        --canary-gold: #ffd21e;
        --canary-gold-strong: #f4b400;
        --canary-gold-soft: rgba(255, 210, 30, 0.16);
        --canary-panel: rgba(4, 13, 25, 0.84);
        --canary-panel-strong: rgba(4, 12, 24, 0.94);
        --canary-line: rgba(255, 210, 30, 0.2);
        --canary-line-strong: rgba(255, 210, 30, 0.52);
        --canary-radius: 8px;
      }

      .theme-canary-public {
        background:
          radial-gradient(ellipse at 72% 30%, rgba(255, 210, 30, 0.16), transparent 34rem),
          linear-gradient(180deg, #050d18 0%, #071628 45%, #08223a 100%);
      }

      .theme-canary-public::after {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
          repeating-radial-gradient(ellipse at 72% 26%, rgba(255, 210, 30, 0.22) 0 1px, transparent 1px 18px);
        opacity: 0.16;
        transform: rotate(-7deg) scale(1.1);
        transform-origin: 72% 26%;
        mask-image: linear-gradient(120deg, transparent 0%, rgba(0, 0, 0, 0.75) 44%, transparent 78%);
      }

      .theme-canary-public h1,
      .theme-canary-public h2,
      .theme-canary-public h3 {
        font-family: var(--display);
        letter-spacing: 0;
      }

      .theme-canary-public .page-shell {
        width: min(1240px, calc(100vw - 32px));
      }

      .theme-canary-public main {
        gap: 18px;
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) {
        align-items: center;
        gap: clamp(22px, 4vw, 56px);
        margin-bottom: 16px;
      }

      .theme-canary-public .hero--single:not(.hero--landing-orbit) .hero-copy {
        width: min(100%, 920px);
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) .hero-copy {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        overflow: visible;
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) .hero-copy::before {
        display: none;
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) .eyebrow,
      .theme-canary-public .hero-panel .eyebrow,
      .theme-canary-public .section-shell > .section-heading .eyebrow:first-child {
        width: fit-content;
        margin-bottom: 12px;
        padding: 7px 12px;
        border: 1px solid rgba(255, 210, 30, 0.34);
        border-radius: 999px;
        background: rgba(255, 210, 30, 0.08);
        color: #f7faff;
        font-size: 0.78rem;
        letter-spacing: 0.04em;
        text-transform: none;
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) .eyebrow::before,
      .theme-canary-public .hero-panel .eyebrow::before,
      .theme-canary-public .section-shell > .section-heading .eyebrow:first-child::before {
        content: "★";
        width: auto;
        height: auto;
        background: none;
        color: var(--canary-gold);
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) h1 {
        max-width: 18ch;
        color: #f8fbff;
        font-size: clamp(2.45rem, 4.4vw, 4.65rem);
        font-weight: 950;
        line-height: 1.03;
      }

      .theme-canary-public.page-blog .hero h1,
      .theme-canary-public.collection-blog .hero h1,
      .theme-canary-public.collection-fonctionnalites .hero h1,
      .theme-canary-public.collection-solutions .hero h1,
      .theme-canary-public.collection-comparatifs .hero h1,
      .theme-canary-public.collection-ressources .hero h1,
      .theme-canary-public.page-faq .hero h1,
      .theme-canary-public.page-contact .hero h1,
      .theme-canary-public.page-audit .hero h1,
      .theme-canary-public.page-plan .hero h1,
      .theme-canary-public.page-checkout .hero h1,
      .theme-canary-public.page-parrainage .hero h1 {
        max-width: 22ch;
      }

      .theme-canary-public.collection-blog.page-seo .hero--single {
        padding-block: 30px 14px;
      }

      .theme-canary-public.collection-blog.page-seo .hero-copy {
        min-height: auto;
        max-width: 860px;
      }

      .theme-canary-public.collection-blog.page-seo .hero h1 {
        max-width: 24ch;
        font-size: 3rem;
        line-height: 1.08;
      }

      .theme-canary-public.collection-blog.page-seo .hero .lead {
        max-width: 70ch;
        margin: 14px 0 18px;
      }

      @media (max-width: 760px) {
        /* Audit 8,9 §14 : le hub restait a 2.45rem sur mobile — quatre lignes et 162 px de
           haut a 390 px, autant de retard avant le premier guide — alors que les articles
           descendaient deja a 2.25rem ici. Le hub rejoint la meme regle. */
        .theme-canary-public.page-blog .hero h1,
        .theme-canary-public.collection-blog.page-seo .hero h1 {
          font-size: 2.25rem;
          line-height: 1.08;
        }
      }

      /* A 390 px, 2.25rem laissait encore « pour garder la vente » deborder d'un
         cheveu : quatre lignes. 1.9rem la fait tenir, le titre passe a trois et le
         premier guide remonte de 64 px (162 -> 98). Le hub seul — les articles gardent 2.25rem. */
      @media (max-width: 430px) {
        .theme-canary-public.page-blog .hero h1 {
          font-size: 1.9rem;
        }
      }

      .theme-canary-public.page-parrainage .referral-hero {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
        align-items: center;
        gap: clamp(28px, 5vw, 72px);
      }

      .theme-canary-public.page-parrainage .referral-hero__copy {
        min-width: 0;
        width: 100%;
        max-width: 780px;
      }

      .theme-canary-public.page-parrainage .referral-hero h1 {
        overflow-wrap: anywhere;
      }

      .theme-canary-public.page-parrainage .referral-hero__panel,
      .theme-canary-public.page-parrainage .referral-offer,
      .theme-canary-public.page-parrainage .referral-terms {
        border: 1px solid rgba(255, 202, 31, 0.34);
        background:
          radial-gradient(circle at 16% 18%, rgba(255, 202, 31, 0.16), transparent 34%),
          linear-gradient(145deg, rgba(12, 25, 38, 0.96), rgba(4, 14, 24, 0.98));
        box-shadow: 0 24px 80px rgba(0, 0, 0, 0.32);
      }

      .theme-canary-public.page-parrainage .referral-hero__panel {
        border-radius: 8px;
        padding: clamp(24px, 4vw, 36px);
        min-height: 250px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .theme-canary-public.page-parrainage .referral-hero__panel strong {
        display: block;
        color: var(--brand);
        font-size: clamp(4.25rem, 10vw, 7.5rem);
        line-height: 0.9;
        letter-spacing: 0;
      }

      .theme-canary-public.page-parrainage .referral-hero__panel span {
        margin-top: 14px;
        color: var(--text);
        font-size: clamp(1.25rem, 2vw, 1.7rem);
        font-weight: 800;
      }

      .theme-canary-public.page-parrainage .referral-hero__panel small {
        margin-top: 10px;
        color: var(--muted);
        font-size: 1rem;
        line-height: 1.5;
      }

      .theme-canary-public.page-parrainage .referral-section {
        width: min(1240px, calc(100% - 32px));
        margin: 0 auto;
        display: grid;
        gap: 22px;
      }

      .theme-canary-public.page-parrainage .referral-offer {
        border-radius: 8px;
        padding: clamp(22px, 4vw, 38px);
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(210px, 300px);
        gap: clamp(20px, 4vw, 42px);
        align-items: start;
      }

      .theme-canary-public.page-parrainage .referral-offer__copy h2 {
        margin: 8px 0 10px;
        color: var(--text);
        font-size: clamp(2rem, 4vw, 3.6rem);
        line-height: 1;
        letter-spacing: 0;
      }

      .theme-canary-public.page-parrainage .referral-offer__copy p,
      .theme-canary-public.page-parrainage .referral-offer__example,
      .theme-canary-public.page-parrainage .referral-terms p {
        color: var(--muted);
        line-height: 1.65;
      }

      .theme-canary-public.page-parrainage .referral-offer__signal {
        border-radius: 8px;
        border: 1px solid rgba(255, 202, 31, 0.45);
        background: rgba(255, 202, 31, 0.09);
        padding: 22px;
        min-height: 190px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }

      .theme-canary-public.page-parrainage .referral-offer__signal span {
        color: var(--brand);
        font-size: clamp(3rem, 6vw, 5rem);
        font-weight: 950;
        line-height: 0.9;
      }

      .theme-canary-public.page-parrainage .referral-offer__signal strong {
        margin-top: 12px;
        color: var(--text);
        font-size: 1.15rem;
      }

      .theme-canary-public.page-parrainage .referral-offer__signal small {
        margin-top: 6px;
        color: var(--muted);
      }

      .theme-canary-public.page-parrainage .referral-offer__details {
        grid-column: 1 / -1;
      }

      .theme-canary-public.page-parrainage .referral-offer__details h3,
      .theme-canary-public.page-parrainage .referral-terms h2 {
        margin: 0 0 14px;
        color: var(--text);
        font-size: 1.35rem;
      }

      .theme-canary-public.page-parrainage .referral-offer__details ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
      }

      .theme-canary-public.page-parrainage .referral-offer__details li {
        position: relative;
        min-height: 100%;
        border: 1px solid rgba(148, 163, 184, 0.22);
        border-radius: 8px;
        background: rgba(4, 14, 24, 0.58);
        padding: 16px 16px 16px 42px;
        color: var(--text);
        line-height: 1.5;
      }

      .theme-canary-public.page-parrainage .referral-offer__details li::before {
        content: "✓";
        position: absolute;
        left: 16px;
        top: 16px;
        color: var(--brand);
        font-weight: 900;
      }

      .theme-canary-public.page-parrainage .referral-offer__example {
        grid-column: 1 / -1;
        margin: 0;
        border-left: 3px solid var(--brand);
        padding: 4px 0 4px 16px;
      }

      .theme-canary-public.page-parrainage .referral-terms {
        width: min(1240px, calc(100% - 32px));
        margin: 24px auto 0;
        border-radius: 8px;
        padding: clamp(22px, 3vw, 34px);
      }

      .theme-canary-public.page-parrainage .referral-hero__copy.lift,
      .theme-canary-public.page-parrainage .referral-hero__panel.lift,
      .theme-canary-public.page-parrainage .referral-offer.lift,
      .theme-canary-public.page-parrainage .referral-terms.lift {
        opacity: 1;
        transform: none;
        animation: none;
      }

      .theme-canary-public .hero:not(.hero--landing-orbit) .lead {
        max-width: 68ch;
        margin: 18px 0 22px;
        font-size: 1.02rem;
        line-height: 1.55;
      }

      .theme-canary-public .hero-panel,
      .theme-canary-public .section-shell,
      .theme-canary-public .offer-preview,
      .theme-canary-public .offer-card {
        border-color: var(--canary-line);
        border-radius: var(--canary-radius);
        background: linear-gradient(145deg, rgba(12, 20, 32, 0.9), rgba(4, 12, 24, 0.94));
        box-shadow: 0 18px 56px rgba(0, 0, 0, 0.32);
      }

      .theme-canary-public .section-shell {
        padding: clamp(22px, 3vw, 34px);
      }

      .theme-canary-public .section-shell::before {
        background:
          linear-gradient(180deg, rgba(255, 210, 30, 0.035), transparent 44%),
          radial-gradient(ellipse at 92% 0%, rgba(255, 210, 30, 0.12), transparent 36%);
      }

      .theme-canary-public .hero-panel::after {
        display: none;
      }

      .theme-canary-public .feature-card,
      .theme-canary-public .proof-card,
      .theme-canary-public .plan-card,
      .theme-canary-public .plan-card__surface,
      .theme-canary-public .faq-item,
      .theme-canary-public .checkout-card,
      .theme-canary-public .capability-card,
      .theme-canary-public .flow-card,
      .theme-canary-public .snapshot-card,
      .theme-canary-public .artifact-item,
      .theme-canary-public .site-dropdown,
      .theme-canary-public .site-dropdown__item,
      .theme-canary-public .empty-card {
        border-color: rgba(255, 210, 30, 0.16);
        border-radius: var(--canary-radius);
        background: rgba(4, 13, 25, 0.78);
      }

      .theme-canary-public .feature-card h3,
      .theme-canary-public .proof-card h3,
      .theme-canary-public .faq-item h3,
      .theme-canary-public .checkout-card h3 {
        color: #f8fbff;
        font-size: clamp(1rem, 1.3vw, 1.28rem);
        line-height: 1.1;
      }

      .theme-canary-public .feature-card p,
      .theme-canary-public .proof-card p,
      .theme-canary-public .faq-item p,
      .theme-canary-public .checkout-card p,
      .theme-canary-public .section-copy,
      .theme-canary-public .portal-note {
        color: var(--mist-soft);
      }

      .theme-canary-public .proof-card__step,
      .theme-canary-public .plan-card__tier,
      .theme-canary-public .hero-priceband__label {
        color: var(--canary-gold);
      }

      .theme-canary-public .button {
        min-height: 46px;
        border-radius: var(--canary-radius);
        letter-spacing: 0;
      }

      .theme-canary-public .button--primary {
        color: #06101f;
        background: linear-gradient(135deg, var(--canary-gold), var(--canary-gold-strong));
        box-shadow: 0 14px 38px rgba(255, 210, 30, 0.2);
      }

      .theme-canary-public .button--ghost,
      .theme-canary-public .button--subtle {
        border-color: rgba(255, 210, 30, 0.42);
        background: rgba(255, 210, 30, 0.055);
      }

      .theme-canary-public .field input,
      .theme-canary-public .field select,
      .theme-canary-public .field textarea {
        border-color: rgba(255, 210, 30, 0.2);
        border-radius: var(--canary-radius);
        background: rgba(2, 10, 21, 0.86);
      }

      .theme-canary-public .field input:focus,
      .theme-canary-public .field select:focus,
      .theme-canary-public .field textarea:focus {
        border-color: rgba(255, 210, 30, 0.62);
        outline-color: rgba(255, 210, 30, 0.38);
      }

      .theme-canary-public .signal-strip li,
      .theme-canary-public .audience-panel__facts,
      .theme-canary-public .hero-priceband,
      .theme-canary-public .audit-score {
        border-color: rgba(255, 210, 30, 0.22);
        border-radius: var(--canary-radius);
        background: rgba(4, 13, 25, 0.72);
      }

      .theme-canary-public .signal-strip strong,
      .theme-canary-public .audit-score strong,
      .theme-canary-public .plan-card__price,
      .theme-canary-public .offer-price strong,
      .theme-canary-public .inline-link {
        color: var(--canary-gold);
      }

      .theme-canary-public .offer-list li::before,
      .theme-canary-public .flow-step {
        background: var(--canary-gold);
        color: #06101f;
      }

      .theme-canary-public .notice {
        border-radius: var(--canary-radius);
      }

      .topbar:not(:has(.nav--app)) {
        position: relative;
        top: auto;
        padding: 18px 0 8px;
        margin-bottom: 18px;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
      }

      .topbar:not(:has(.nav--app)) .brand-shell {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
      }

      .topbar:not(:has(.nav--app)) .brand-copy {
        display: none;
      }

      .topbar:not(:has(.nav--app)) .nav {
        flex: 1 1 620px;
        min-width: 0;
        justify-content: flex-end;
        gap: clamp(10px, 1.15vw, 18px);
      }

      .topbar:not(:has(.nav--app)) .nav a,
      .topbar:not(:has(.nav--app)) .nav-group summary,
      .topbar-login {
        display: inline-flex;
        align-items: center;
        min-height: 32px;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        color: #f5f8ff;
        font-size: clamp(0.82rem, 0.86vw, 0.95rem);
        font-weight: 650;
        white-space: nowrap;
      }

      .topbar:not(:has(.nav--app)) .nav a[aria-current="page"],
      .topbar:not(:has(.nav--app)) .nav-group summary[aria-current="page"],
      .topbar-login[aria-current="page"] {
        color: #ffd21e;
        background: transparent;
      }

      .topbar:not(:has(.nav--app)) .topbar__cta {
        flex: 0 1 auto;
        gap: clamp(8px, 0.9vw, 14px);
        flex-wrap: nowrap;
      }

      .topbar:not(:has(.nav--app)) .button--primary {
        min-height: 42px;
        padding: 0 clamp(14px, 1.2vw, 20px);
        border-radius: 8px;
      }

      .hero--landing-orbit {
        gap: clamp(26px, 3.4vw, 52px);
        grid-template-columns: minmax(0, 1fr) minmax(390px, 0.92fr);
        min-height: 390px;
        margin-bottom: 14px;
      }

      .hero-copy--template {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        backdrop-filter: none;
        overflow: visible;
      }

      .hero-copy--template::before {
        display: none;
      }

      .template-pill {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin: 0 0 16px;
        padding: 7px 12px;
        border: 1px solid rgba(255, 210, 30, 0.38);
        border-radius: 999px;
        background: rgba(255, 210, 30, 0.08);
        color: #f7faff;
        font-size: 0.86rem;
      }

      .template-pill span {
        color: #ffd21e;
      }

      .hero--landing-orbit .hero-copy--template h1 {
        max-width: 20ch;
        color: #f8fbff;
        background: none;
        font-family: var(--display);
        font-size: clamp(2.35rem, 3.35vw, 3.65rem);
        font-weight: 950;
        letter-spacing: 0;
        line-height: 1.02;
      }

      .hero--landing-orbit .hero-copy--template .lead {
        max-width: 66ch;
        margin: 16px 0 16px;
        font-size: 0.98rem;
        line-height: 1.48;
      }

      .hero-copy--template .hero-actions {
        margin-bottom: 14px;
      }


      .hero-copy--template .button {
        min-height: 48px;
        border-radius: 8px;
      }

      .hero-copy--template .hero-bullets {
        display: grid;
        grid-template-columns: repeat(4, max-content);
        gap: 12px 28px;
        margin-top: 18px;
        font-size: 0.88rem;
      }

      .hero-copy--template .hero-bullets li {
        position: relative;
        padding-left: 22px;
      }

      .hero-copy--template .hero-bullets li::before {
        content: "✓";
        position: absolute;
        left: 0;
        color: #ffd21e;
        font-size: 0.92rem;
      }

      .hero-copy--template .hero-bullets li + li {
        border-left: 1px solid rgba(255, 210, 30, 0.24);
        padding-left: 34px;
      }

      .orbit-cockpit {
        width: min(100%, 560px);
        justify-self: end;
        min-height: 385px;
      }

      .orbit-cockpit__ring {
        inset: 29% -7% 4%;
        border-color: rgba(255, 210, 30, 0.34);
        background:
          radial-gradient(ellipse at 52% 48%, rgba(255, 210, 30, 0.2), transparent 36%),
          repeating-radial-gradient(ellipse at 52% 50%, rgba(255, 210, 30, 0.28) 0 1px, transparent 1px 12px);
        box-shadow: inset 0 0 48px rgba(255, 210, 30, 0.22), 0 0 90px rgba(255, 210, 30, 0.18);
      }

      .orbit-card {
        box-sizing: border-box;
        padding: 16px;
        border-radius: 8px;
        background: linear-gradient(145deg, rgba(13, 22, 35, 0.92), rgba(3, 12, 25, 0.94));
      }

      .orbit-card strong,
      .orbit-card p,
      .orbit-card small,
      .orbit-card span {
        overflow-wrap: anywhere;
      }

      .orbit-card--incident {
        top: 2%;
        left: 7%;
        width: min(285px, 48%);
      }

      .orbit-card--score {
        top: 0;
        right: 0;
        width: min(250px, 46%);
      }

      .orbit-card--chart {
        top: 32%;
        left: 0;
        width: min(310px, 50%);
      }

      .orbit-card--pdf {
        right: 0;
        bottom: 4%;
        width: min(330px, 48%);
        grid-template-columns: 76px 1fr;
      }

      .orbit-card--pdf ul {
        margin: 8px 0 0;
        padding: 0;
        list-style: none;
        color: var(--mist-soft);
        font-size: 0.82rem;
      }

      .orbit-card--pdf li::before {
        content: "✓";
        margin-right: 6px;
        color: #ffd21e;
      }

      .landing-process,
      .landing-calculator,
      .landing-feature-strip {
        border: 1px solid rgba(255, 210, 30, 0.17);
        background: linear-gradient(145deg, rgba(12, 20, 32, 0.88), rgba(4, 12, 24, 0.92));
        box-shadow: 0 18px 56px rgba(0, 0, 0, 0.34);
      }

      .landing-process {
        display: grid;
        grid-template-columns: 250px 1fr;
        gap: 24px;
        align-items: center;
        margin-bottom: 12px;
        padding: 20px 26px;
        border-radius: 8px;
      }

      .landing-process h2 {
        font-family: var(--display);
        font-size: 1.45rem;
        letter-spacing: 0;
        line-height: 1.15;
      }

      .landing-process__steps {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 26px;
      }

      .landing-process__steps article {
        display: grid;
        grid-template-columns: 48px 1fr;
        gap: 14px;
        align-items: center;
        position: relative;
      }

      .landing-process__steps article:not(:last-child)::after {
        content: "";
        position: absolute;
        right: -20px;
        top: 50%;
        width: 28px;
        border-top: 2px dotted rgba(255, 210, 30, 0.7);
      }

      .landing-process__steps span {
        display: grid;
        place-items: center;
        width: 48px;
        height: 48px;
        border: 1px solid #ffd21e;
        border-radius: 50%;
        color: #ffd21e;
        font-size: 1.2rem;
        font-weight: 900;
      }

      .landing-process h3,
      .landing-feature-strip h3 {
        font-family: var(--display);
        font-size: 1rem;
        letter-spacing: 0;
      }

      .landing-process p,
      .landing-calculator p,
      .landing-feature-strip p {
        margin: 5px 0 0;
        color: var(--mist-soft);
        font-size: 0.82rem;
        line-height: 1.4;
      }

      .landing-calculator {
        display: grid;
        gap: 20px;
        margin: 12px 0;
        padding: 24px;
        border-radius: 8px;
      }

      .landing-calculator__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.1fr) minmax(240px, 0.8fr) minmax(220px, 0.7fr);
        gap: 14px;
      }

      .landing-calculator__panel,
      .landing-calculator__result,
      .landing-calculator__simulation {
        display: grid;
        align-content: start;
        gap: 12px;
        min-height: 190px;
        padding: 18px;
        border: 1px solid rgba(255, 210, 30, 0.18);
        border-radius: 8px;
        background: rgba(4, 13, 25, 0.74);
      }

      .landing-calculator__panel label,
      .landing-calculator__panel > span,
      .landing-calculator__result span,
      .landing-calculator__simulation span {
        color: #ffd21e;
        font-size: 0.82rem;
        font-weight: 850;
        letter-spacing: 0.03em;
        text-transform: uppercase;
      }

      .landing-calculator__panel output {
        color: #f8fbff;
        font-size: 1.45rem;
        font-weight: 900;
      }

      .landing-calculator input[type="range"] {
        width: 100%;
        accent-color: #ffd21e;
      }

      .landing-calculator__presets {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .landing-calculator__presets button {
        min-height: 34px;
        padding: 0 11px;
        border: 1px solid rgba(255, 210, 30, 0.28);
        border-radius: 6px;
        color: #f8fbff;
        background: rgba(255, 255, 255, 0.04);
        font: inherit;
        font-weight: 800;
        cursor: pointer;
      }

      .landing-calculator__presets button[aria-pressed="true"] {
        color: #07101e;
        background: #ffd21e;
      }

      .landing-calculator__result strong,
      .landing-calculator__simulation strong,
      .landing-calculator__simulation time {
        color: #f8fbff;
        font-size: 2rem;
        line-height: 1;
        font-weight: 950;
      }

      .landing-calculator__result small,
      .landing-calculator__simulation small {
        color: var(--mist-soft);
        font-size: 0.92rem;
        line-height: 1.4;
      }

      .landing-feature-strip {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 8px;
        margin-bottom: 12px;
        border: 0;
        background: transparent;
        box-shadow: none;
      }

      .landing-feature-strip article {
        display: grid;
        grid-template-columns: 44px 1fr;
        gap: 12px;
        min-height: 96px;
        padding: 16px;
        border: 1px solid rgba(255, 210, 30, 0.16);
        border-radius: 8px;
        background: rgba(4, 13, 25, 0.78);
      }

      .landing-feature-strip__icon {
        display: grid;
        place-items: center;
        color: #ffd21e;
        font-size: 2.1rem;
        line-height: 1;
      }

      .hero-panel--solo {
        width: min(100%, 720px);
        margin: 0 auto;
      }

      .hero-panel::after {
        content: "";
        position: absolute;
        width: 220px;
        height: 220px;
        right: -70px;
        top: -70px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(56, 182, 255, 0.18), transparent 70%);
      }

      .hero-copy > *,
      .hero-panel > *,
      .section-shell > *,
      .cta-band > * {
        position: relative;
        z-index: 1;
      }

      .console {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 16px;
      }

      .proof-card,
      .feature-card,
      .plan-card,
      .audience-panel__facts,
      .portal-form,
      .artifact-item,
      .flow-card,
      .snapshot-card {
        background: var(--card);
        border: 1px solid rgba(56, 182, 255, 0.12);
        border-radius: 22px;
      }

      .snapshot-card--health {
        background:
          linear-gradient(180deg, rgba(56, 182, 255, 0.12), rgba(255, 255, 255, 0.02)),
          var(--card);
        border-color: rgba(56, 182, 255, 0.2);
      }

      .portal-form,
      .offer-preview,
      .capability-card,
      .artifact-item,
      .flow-card,
      .snapshot-card {
        padding: 22px;
      }

      .portal-form {
        position: relative;
        z-index: 1;
        display: grid;
        gap: 18px;
      }

      .portal-form__heading {
        margin-bottom: 0;
      }

      .section-heading--compact {
        gap: 8px;
        margin-bottom: 22px;
      }

      .auth-title {
        max-width: none;
        font-size: clamp(2.3rem, 4vw, 3.6rem);
      }

      .portal-form__grid {
        display: grid;
        gap: 14px;
      }

      .field {
        display: grid;
        gap: 8px;
      }

      .field span {
        font-size: 0.92rem;
        font-weight: 700;
      }

      .field input,
      .field select,
      .field textarea {
        width: 100%;
        min-height: 50px;
        padding: 0 16px;
        border-radius: 8px;
        border: 1px solid rgba(56, 182, 255, 0.16);
        background: rgba(5, 17, 33, 0.88);
        color: var(--mist);
        font: inherit;
      }

      .field textarea {
        min-height: 160px;
        padding: 14px 16px;
        resize: vertical;
      }

      /* Audit 2026-09-25, P0-4 : le bouton d'envoi du contact tombait sous la ligne de
         flottaison ; le formulaire occupait une demi-largeur, champs empiles. */
      .theme-canary-public .hero--contact-form h1.auth-title {
        font-size: clamp(1.9rem, 3vw, 2.6rem);
      }

      .hero--contact-form .field textarea {
        min-height: 88px;
      }

      /* .section-heading (plus bas, meme specificite) annulait le margin-bottom: 0 voulu. */
      .hero--contact-form .portal-form__heading {
        margin-bottom: 0;
      }

      @media (max-width: 719px) {
        .hero--contact-form .hero-panel {
          padding: 12px;
        }
      }

      @media (min-width: 720px) {
        .hero--contact-form .portal-form__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .hero--contact-form .field--full,
        .hero--contact-form .field--consent {
          grid-column: 1 / -1;
        }
      }

      .field input:focus,
      .field select:focus,
      .field textarea:focus {
        outline: 2px solid rgba(56, 182, 255, 0.4);
        outline-offset: 2px;
        border-color: rgba(56, 182, 255, 0.34);
      }

      .field input::placeholder {
        color: rgba(245, 239, 228, 0.45);
      }

      .field select option {
        color: #071628;
        background: #f7fbff;
      }

      .field--hidden {
        position: absolute;
        left: -9999px;
        width: 1px;
        height: 1px;
        overflow: hidden;
      }

      .field--consent {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        color: var(--mist-soft);
        line-height: 1.45;
      }

      .field--consent input[type="checkbox"] {
        appearance: auto;
        box-sizing: border-box;
        width: 22px;
        min-width: 22px;
        max-width: 22px;
        height: 22px;
        min-height: 22px;
        margin: 2px 0 0;
        padding: 0;
        border-radius: 4px;
      }

      .field--consent span {
        min-width: 0;
      }

      input:-webkit-autofill,
      input:-webkit-autofill:hover,
      input:-webkit-autofill:focus {
        -webkit-text-fill-color: var(--mist);
        box-shadow: 0 0 0 1000px #0f1923 inset;
        transition: background-color 9999s ease-in-out 0s;
      }

      .portal-note {
        margin: 0;
        color: var(--mist-soft);
        line-height: 1.65;
      }

      .audit-result {
        display: grid;
        grid-template-columns: minmax(180px, 240px) 1fr;
        gap: 28px;
        align-items: start;
      }

      .audit-score {
        display: grid;
        gap: 8px;
        min-height: 220px;
        padding: 24px;
        border-radius: 18px;
        background: linear-gradient(145deg, rgba(56, 182, 255, 0.18), rgba(12, 26, 44, 0.94));
        border: 1px solid rgba(56, 182, 255, 0.24);
        box-shadow: 0 18px 54px rgba(4, 12, 24, 0.28);
      }

      .audit-score span,
      .audit-score em {
        color: var(--mist-soft);
        font-style: normal;
      }

      .audit-score strong {
        font-size: 5rem;
        line-height: 1;
        color: var(--mist);
      }

      .audit-fit {
        grid-column: 2;
        display: grid;
        gap: 10px;
        padding: 16px 18px;
        border: 1px solid rgba(255, 211, 77, 0.24);
        border-radius: 14px;
        background: rgba(255, 211, 77, 0.06);
      }

      .audit-fit strong {
        color: var(--mist);
      }

      .audit-fit ul {
        display: grid;
        gap: 6px;
        margin: 0;
        padding-left: 20px;
        color: var(--mist-soft);
        line-height: 1.55;
      }

      .audit-fit--supported {
        border-color: rgba(102, 230, 139, 0.28);
        background: rgba(102, 230, 139, 0.07);
      }

      .audit-fit--not-fit {
        border-color: rgba(255, 91, 91, 0.34);
        background: rgba(255, 91, 91, 0.08);
      }

      .inline-link {
        color: var(--sky);
        text-decoration: underline;
        text-underline-offset: 0.18em;
      }

      .site-dropdown__meta,
      .artifact-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
        align-items: center;
      }

      .site-dropdown__meta span,
      .artifact-meta span {
        display: inline-flex;
        align-items: center;
        min-height: 34px;
        padding: 0 12px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.04);
        border: 1px solid rgba(255, 255, 255, 0.08);
        color: var(--mist-soft);
        font-size: 0.82rem;
        font-weight: 700;
      }

      .plugin-status-card {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 14px;
        margin-top: 14px;
        padding: 14px;
        border-radius: 14px;
        border: 1px solid rgba(255, 210, 30, 0.18);
        background: rgba(255, 255, 255, 0.035);
      }

      .plugin-status-card div {
        min-width: 0;
        display: grid;
        gap: 4px;
      }

      .plugin-status-card span:first-child,
      .plugin-status-card small {
        color: var(--mist-soft);
        font-size: 0.82rem;
        font-weight: 700;
      }

      .plugin-status-card strong {
        color: var(--paper);
        font-size: 0.94rem;
        line-height: 1.4;
      }

      .notice {
        display: grid;
        gap: 8px;
        margin: 0 0 22px;
        padding: 16px 18px;
        border-radius: 18px;
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .notice strong {
        font-size: 1rem;
      }

      .notice p {
        margin: 0;
        line-height: 1.6;
      }

      .notice--success {
        background: rgba(36, 118, 77, 0.22);
        color: #e9fff4;
      }

      .notice--warn {
        background: rgba(160, 103, 23, 0.22);
        color: #fff4dd;
      }

      .notice--error {
        background: rgba(143, 43, 43, 0.25);
        color: #fff0f0;
      }

      .notice--info {
        background: rgba(28, 76, 118, 0.25);
        color: #eef7ff;
      }

      .portal-stack,
      .artifact-list,
      .site-dropdown__list,
      .flow-grid,
      .capability-grid,
      .faq-grid {
        display: grid;
        gap: 18px;
      }

      .app-control-room {
        position: relative;
      }

      .app-control-room .lift {
        opacity: 1;
        transform: none;
        animation: none;
      }

      .app-control-room::before {
        content: "";
        position: fixed;
        inset: 0;
        z-index: -1;
        pointer-events: none;
        background:
          linear-gradient(rgba(255, 210, 30, 0.035) 1px, transparent 1px),
          linear-gradient(90deg, rgba(255, 210, 30, 0.026) 1px, transparent 1px),
          radial-gradient(ellipse at 78% 20%, rgba(255, 210, 30, 0.14), transparent 34rem);
        background-size: 44px 44px, 44px 44px, auto;
        opacity: 0.55;
      }

      .app-control-room .section-shell {
        border-color: rgba(255, 210, 30, 0.22);
        border-radius: 8px;
        background:
          linear-gradient(145deg, rgba(255, 210, 30, 0.045), transparent 38%),
          rgba(3, 12, 24, 0.86);
        box-shadow: 0 22px 70px rgba(0, 0, 0, 0.38);
      }

      .control-room-rail {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
      }

      .control-room-rail div {
        display: grid;
        gap: 5px;
        padding: 16px 18px;
        border: 1px solid rgba(255, 210, 30, 0.2);
        border-radius: 8px;
        background:
          radial-gradient(circle at 90% 10%, rgba(255, 210, 30, 0.14), transparent 38%),
          rgba(2, 10, 21, 0.72);
      }

      .control-room-rail span {
        color: var(--mist-soft);
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .control-room-rail strong {
        color: #ffd21e;
        font-size: 1.05rem;
      }

      .control-room-rail small {
        color: var(--mist-soft);
        line-height: 1.4;
      }

      .portal-action-strip {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.5fr) auto;
        align-items: center;
        gap: 14px;
        padding: 14px 16px;
        border: 1px solid rgba(255, 210, 30, 0.18);
        border-radius: 8px;
        background: rgba(2, 10, 21, 0.66);
      }

      .portal-action-strip strong {
        color: #ffd21e;
        font-size: 1rem;
      }

      .portal-action-strip span {
        color: var(--mist-soft);
        line-height: 1.45;
      }

      .portal-action-strip--ok {
        border-color: rgba(137,198,170,0.42);
      }

      .portal-action-strip--warn {
        border-color: rgba(243,183,85,0.42);
      }

      .portal-action-strip--error {
        border-color: rgba(255, 101, 101, 0.44);
        background:
          linear-gradient(135deg, rgba(255, 101, 101, 0.12), rgba(255, 210, 30, 0.055)),
          rgba(5, 15, 28, 0.84);
      }

      .portal-action-strip--error .button {
        border-color: rgba(255, 210, 30, 0.62);
        background: linear-gradient(135deg, rgba(255, 210, 30, 0.18), rgba(255, 255, 255, 0.03));
      }

      .portal-onboarding {
        display: grid;
        gap: 16px;
        padding: 18px;
        border: 1px solid rgba(255, 210, 30, 0.2);
        border-radius: 8px;
        background:
          linear-gradient(135deg, rgba(255, 210, 30, 0.1), transparent 34%),
          rgba(2, 10, 21, 0.72);
      }

      .portal-onboarding__steps {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
      }

      .portal-onboarding__step {
        display: grid;
        align-content: start;
        gap: 10px;
        min-height: 250px;
        padding: 16px;
        border: 1px solid rgba(222, 236, 246, 0.12);
        border-radius: 8px;
        background: rgba(3, 13, 28, 0.76);
      }

      .portal-onboarding__step > span {
        display: inline-grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: #ffd21e;
        color: #07111f;
        font-family: var(--display);
        font-weight: 900;
      }

      .portal-onboarding__step strong {
        color: #ffffff;
        font-size: 1rem;
        line-height: 1.25;
      }

      .portal-onboarding__step p {
        color: var(--mist-soft);
        line-height: 1.5;
      }

      .portal-kpi-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin: 18px 0;
      }

      .portal-kpi {
        display: grid;
        gap: 4px;
        min-height: 92px;
        padding: 16px 18px;
        border: 1px solid rgba(255, 210, 30, 0.16);
        border-radius: 8px;
        background: rgba(2, 10, 21, 0.68);
      }

      .portal-kpi span {
        color: var(--mist-soft);
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .portal-kpi strong {
        color: #eaf6ff;
        font-family: var(--display);
        font-size: 2rem;
        line-height: 1;
      }

      .portal-kpi--ok {
        border-color: rgba(137,198,170,0.42);
      }

      .portal-kpi--error {
        border-color: rgba(255,92,92,0.5);
        background:
          radial-gradient(circle at 88% 18%, rgba(255, 92, 92, 0.14), transparent 38%),
          rgba(2, 10, 21, 0.72);
      }

      .portal-kpi--warn {
        border-color: rgba(243,183,85,0.44);
        background:
          radial-gradient(circle at 88% 18%, rgba(243,183,85,0.14), transparent 38%),
          rgba(2, 10, 21, 0.72);
      }

      .artifact-list {
        gap: 14px;
      }

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

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

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

      .site-dropdown__item,
      .artifact-item,
      .flow-card,
      .snapshot-card,
      .offer-preview,
      .capability-card,
      .faq-item,
      .checkout-card {
        display: grid;
        gap: 12px;
      }

      .nav a,
      .feature-card,
      .proof-card,
      .plan-card,
      .site-dropdown,
      .site-dropdown__item,
      .artifact-item,
      .flow-card,
      .snapshot-card,
      .faq-item,
      .capability-card,
      .checkout-card,
      .offer-preview {
        transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
      }

      .nav a:hover,
      .nav a:focus-visible {
        border-color: var(--line-strong);
        background: rgba(56, 182, 255, 0.08);
      }

      .button:hover,
      .button:focus-visible {
        transform: translateY(-1px);
      }

      .feature-card:hover,
      .proof-card:hover,
      .plan-card:hover,
      .site-dropdown:hover,
      .site-dropdown__item:hover,
      .artifact-item:hover,
      .flow-card:hover,
      .snapshot-card:hover,
      .faq-item:hover,
      .capability-card:hover,
      .checkout-card:hover,
      .offer-preview:hover {
        transform: translateY(-4px);
        border-color: var(--line-strong);
      }

      .artifact-head {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        flex-wrap: wrap;
      }

      .alert-channel-row {
        padding: 14px;
        border-top: 1px solid var(--line);
        border-radius: 14px;
        background: rgba(255,255,255,0.025);
      }

      .alert-channel-main {
        display: flex;
        align-items: flex-start;
        gap: 14px;
        min-width: min(100%, 360px);
      }

      .channel-icon-shell {
        width: 44px;
        height: 44px;
        flex: 0 0 44px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 14px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.06);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.08);
      }

      .channel-icon {
        display: block;
        width: 30px;
        height: 30px;
      }

      .alert-channel-copy {
        display: grid;
        gap: 3px;
        min-width: 0;
      }

      .alert-channel-copy strong {
        overflow-wrap: anywhere;
      }

      .alert-config-form {
        align-items: flex-end;
        margin-left: 58px;
        padding: 14px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: rgba(255,255,255,0.03);
      }

      .alert-config-form .form-title {
        flex-basis: 100%;
        font-size: 0.92rem;
      }

      .alert-config-form .input {
        min-width: min(280px, 100%);
      }

      .snapshot-card span,
      .capability-card span {
        color: var(--mist-soft);
        font-size: 0.88rem;
      }

      .snapshot-card strong,
      .capability-card strong {
        font-size: 1.48rem;
        line-height: 1.05;
      }

      .flow-card p,
      .artifact-item p,
      .offer-preview__copy {
        margin: 0;
        color: var(--mist-soft);
        line-height: 1.65;
      }

      .external-link {
        color: var(--sky);
        text-decoration: underline;
        text-underline-offset: 0.18em;
        word-break: break-all;
      }

      .site-dropdown {
        padding: 20px 22px;
        border-radius: 22px;
        background: var(--card);
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .site-dropdown summary {
        list-style: none;
        cursor: pointer;
      }

      .site-dropdown summary::-webkit-details-marker {
        display: none;
      }

      .site-dropdown__summary,
      .site-dropdown__title {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
      }

      .site-dropdown__copy,
      .site-dropdown__item-copy {
        display: grid;
        gap: 10px;
      }

      .site-dropdown__copy span,
      .site-dropdown__item-copy span {
        color: var(--mist-soft);
        font-size: 0.88rem;
      }

      .site-dropdown__copy strong,
      .site-dropdown__item-copy strong {
        font-size: 1.08rem;
        line-height: 1.1;
      }

      .site-dropdown__list {
        margin-top: 16px;
      }

      .site-dropdown__item {
        padding: 18px;
        border-radius: 20px;
        background: rgba(255, 255, 255, 0.03);
        border: 1px solid rgba(255, 255, 255, 0.06);
      }

      .empty-card,
      .faq-item,
      .checkout-card {
        padding: 22px;
        border-radius: 22px;
        background: var(--card);
        border: 1px solid rgba(255, 255, 255, 0.08);
      }

      .empty-card {
        color: var(--mist-soft);
      }

      .faq-item p,
      .checkout-card p {
        margin: 0;
        color: var(--mist-soft);
        line-height: 1.65;
      }

      .checkout-card span {
        color: var(--mist-soft);
        font-size: 0.88rem;
      }

      .checkout-card strong {
        font-size: 1.45rem;
        line-height: 1.05;
      }

      .checkout-card--compact {
        gap: 4px;
        padding: 14px 16px;
        border-radius: 8px;
      }

      .checkout-card--compact strong {
        font-size: 1.12rem;
      }

      @media (max-width: 760px) {
        .theme-canary-public.page-checkout .hero {
          gap: 14px;
        }

        .theme-canary-public.page-checkout .hero-copy {
          padding-bottom: 4px;
        }

        .theme-canary-public.page-checkout .hero-copy .signal-strip,
        .theme-canary-public.page-checkout .checkout-card--compact {
          display: none;
        }

        .theme-canary-public.page-checkout .portal-form {
          gap: 14px;
        }

        .theme-canary-public.page-checkout .portal-form__heading {
          margin-bottom: 0;
        }
      }

      .status-pill {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 7px 10px;
        border-radius: 999px;
        font-size: 0.76rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .status-pill--ok {
        color: #d8ffef;
        background: rgba(137, 198, 170, 0.18);
      }

      .status-pill--warn {
        color: #ffe7be;
        background: rgba(243, 183, 85, 0.16);
      }

      .status-pill--error {
        color: #fff0f0;
        background: rgba(179, 38, 30, 0.24);
      }

      .offer-preview__header,
      .offer-price,
      .offer-preview__meta {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
        flex-wrap: wrap;
      }

      .offer-price strong {
        font-family: var(--display);
        font-size: 2rem;
      }

      .offer-price span,
      .offer-preview__meta span {
        color: var(--mist-soft);
      }

      .offer-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
      }

      .offer-list--hero {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px 24px;
        margin-bottom: 24px;
      }

      .offer-list li {
        position: relative;
        padding-left: 18px;
        color: var(--mist-soft);
        line-height: 1.6;
      }

      .hero-priceband {
        display: inline-grid;
        gap: 8px;
        margin-bottom: 24px;
        padding: 18px 20px;
        border-radius: 22px;
        border: 1px solid rgba(56, 182, 255, 0.24);
        background: linear-gradient(180deg, rgba(56, 182, 255, 0.08), rgba(255, 255, 255, 0.03));
      }

      .hero-priceband__label {
        color: var(--sky);
        font-size: 0.78rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }

      .hero-priceband__value {
        margin: 0;
        font-family: var(--display);
        font-size: clamp(1.8rem, 3vw, 2.8rem);
        line-height: 0.95;
      }

      .offer-list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 10px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--sky), var(--blue));
      }

      .flow-step {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 38px;
        height: 38px;
        border-radius: 999px;
        color: #f7fbff;
        background: linear-gradient(135deg, var(--blue), var(--sky));
        font-weight: 800;
        letter-spacing: 0.08em;
      }

      main {
        display: grid;
        gap: 24px;
        margin-top: 24px;
      }

      .section-shell,
      .section-shell {
        padding: 34px;
      }

      .section-heading {
        display: grid;
        gap: 14px;
        margin-bottom: 28px;
      }

      .section-copy {
        max-width: 62ch;
        color: var(--mist-soft);
        line-height: 1.7;
        margin: 0;
      }

      .pricing-note {
        margin: -4px 0 0;
        color: var(--sky);
        font-size: 0.94rem;
        font-weight: 700;
        line-height: 1.6;
      }

      .feature-grid,
      .proof-grid,
      .plan-grid {
        display: grid;
        gap: 18px;
      }

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

      .feature-grid--three {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

      .feature-grid--five {
        grid-template-columns: repeat(5, minmax(0, 1fr));
      }

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

      .feature-card,
      .proof-card {
        padding: 22px;
      }

      .feature-card--contrast {
        background: linear-gradient(180deg, rgba(7, 34, 66, 0.96), rgba(5, 19, 38, 0.94));
        border-color: rgba(56, 182, 255, 0.24);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
      }

      .feature-card p,
      .proof-card p {
        margin: 12px 0 0;
        color: var(--mist-soft);
        line-height: 1.7;
      }

      .proof-card__step {
        display: inline-flex;
        margin-bottom: 14px;
        padding: 8px 12px;
        border-radius: 999px;
        color: #f7fbff;
        background: linear-gradient(135deg, var(--blue), var(--sky));
        font-size: 0.78rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
      }

      .evidence-demo {
        overflow: hidden;
      }

      .evidence-report {
        display: grid;
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.4fr) minmax(240px, 0.85fr);
        gap: 18px;
        align-items: stretch;
        margin-top: 24px;
      }

      .evidence-report__summary,
      .evidence-report__timeline,
      .evidence-report__action {
        border: 1px solid rgba(255, 255, 255, 0.1);
        background: rgba(255, 255, 255, 0.035);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
      }

      .evidence-report__summary,
      .evidence-report__action {
        border-radius: 8px;
        padding: 22px;
      }

      .evidence-report__badge {
        display: inline-flex;
        align-items: center;
        width: fit-content;
        margin-bottom: 16px;
        border-radius: 999px;
        padding: 8px 12px;
        background: rgba(255, 96, 96, 0.16);
        color: #ffd6d6;
        font-size: 0.78rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.08em;
      }

      .evidence-report h3 {
        margin: 0;
        max-width: 16ch;
      }

      .evidence-report dl {
        display: grid;
        gap: 14px;
        margin: 22px 0 0;
      }

      .evidence-report dl div {
        padding-top: 14px;
        border-top: 1px solid rgba(255, 255, 255, 0.08);
      }

      .evidence-report dt,
      .evidence-report__action span {
        color: var(--sky);
        font-size: 0.78rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.08em;
      }

      .evidence-report dd {
        margin: 6px 0 0;
        color: var(--mist);
        font-weight: 700;
        line-height: 1.5;
      }

      .evidence-report__timeline {
        position: relative;
        display: grid;
        gap: 0;
        border-radius: 8px;
        padding: 8px 0;
      }

      .evidence-step {
        position: relative;
        padding: 18px 22px 18px 56px;
      }

      .evidence-step::before {
        content: "";
        position: absolute;
        left: 27px;
        top: 24px;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        background: var(--sky);
        box-shadow: 0 0 0 6px rgba(56, 182, 255, 0.13);
      }

      .evidence-step::after {
        content: "";
        position: absolute;
        left: 31px;
        top: 40px;
        bottom: -8px;
        width: 2px;
        background: rgba(56, 182, 255, 0.2);
      }

      .evidence-step:last-child::after {
        display: none;
      }

      .evidence-step__time {
        display: block;
        color: var(--sky);
        font-size: 0.82rem;
        font-weight: 800;
      }

      .evidence-step strong {
        display: block;
        margin-top: 5px;
        color: #ffffff;
      }

      .evidence-step p,
      .evidence-report__action p {
        margin: 8px 0 0;
        color: var(--mist-soft);
        line-height: 1.65;
      }

      .evidence-step code {
        border-radius: 6px;
        padding: 2px 6px;
        background: rgba(255, 255, 255, 0.08);
        color: #ffffff;
        font-size: 0.9em;
      }

      .evidence-report__action {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 18px;
      }

      .audience-panel {
        display: grid;
        gap: 24px;
      }

      .audience-panel__facts {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        overflow: hidden;
      }

      .audience-panel__facts div {
        padding: 18px 20px;
        border-right: 1px solid rgba(255, 255, 255, 0.08);
      }

      .audience-panel__facts div:last-child {
        border-right: 0;
      }

      .audience-panel__facts span {
        display: block;
        color: var(--mist-soft);
        font-size: 0.84rem;
        margin-bottom: 8px;
      }

      .audience-panel__facts strong {
        font-size: 1.08rem;
      }

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

      .plan-card {
        padding: 24px;
        display: grid;
        gap: 16px;
      }

      .plan-card__surface {
        display: grid;
        gap: 16px;
        color: inherit;
        text-decoration: none;
        min-height: 100%;
      }

      .plan-card__surface:hover .plan-card__top h3,
      .plan-card__surface:focus-visible .plan-card__top h3 {
        color: var(--sky);
      }

      .plan-card__surface:focus-visible {
        outline: 2px solid rgba(56, 182, 255, 0.6);
        outline-offset: 6px;
        border-radius: 22px;
      }

      .plan-card--featured {
        background:
          linear-gradient(180deg, rgba(56, 182, 255, 0.16), rgba(255, 255, 255, 0.04)),
          var(--card);
        border-color: rgba(56, 182, 255, 0.32);
        transform: translateY(-6px);
      }

      .plan-card__top {
        display: grid;
        gap: 10px;
      }

      .plan-card__tier {
        margin: 0;
        color: var(--sky);
        font-size: 0.8rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
      }

      .plan-card__price {
        margin: 0;
        font-family: var(--display);
        font-size: 2.6rem;
        line-height: 0.95;
      }

      .plan-card__price span {
        font-family: var(--body);
        font-size: 0.92rem;
        color: var(--mist-soft);
        margin-left: 6px;
      }

      .plan-card__note {
        margin: 0;
        color: var(--mist-soft);
        line-height: 1.65;
      }

      .plan-card__list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
      }

      .plan-card__list li {
        position: relative;
        padding-left: 18px;
        color: var(--mist-soft);
        line-height: 1.55;
      }

      .plan-card__list li::before {
        content: "";
        position: absolute;
        left: 0;
        top: 10px;
        width: 8px;
        height: 8px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--sky), var(--blue));
      }

      .plan-card__actions {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin-top: auto;
      }

      .lift {
        opacity: 1;
        transform: none;
        animation: none;
      }

      .theme-canary-public .section-shell,
      .theme-canary-public .hero-panel,
      .theme-canary-public .feature-card,
      .theme-canary-public .feature-card--contrast,
      .theme-canary-public .proof-card,
      .theme-canary-public .plan-card,
      .theme-canary-public .plan-card__surface,
      .theme-canary-public .audience-panel__facts,
      .theme-canary-public .portal-form,
      .theme-canary-public .artifact-item,
      .theme-canary-public .flow-card,
      .theme-canary-public .snapshot-card,
      .theme-canary-public .faq-item,
      .theme-canary-public .checkout-card,
      .theme-canary-public .offer-preview,
      .theme-canary-public .offer-card,
      .theme-canary-public .site-dropdown,
      .theme-canary-public .site-dropdown__item,
      .theme-canary-public .empty-card,
      .theme-canary-public .hero-priceband,
      .theme-canary-public .audit-score,
      .theme-canary-public .evidence-report__summary,
      .theme-canary-public .evidence-report__timeline,
      .theme-canary-public .evidence-report__action {
        border-color: rgba(255, 210, 30, 0.18);
        border-radius: var(--canary-radius);
        background: linear-gradient(145deg, rgba(7, 16, 29, 0.88), rgba(3, 11, 22, 0.94));
      }

      .theme-canary-public .section-shell,
      .theme-canary-public .hero-panel,
      .theme-canary-public .offer-preview,
      .theme-canary-public .offer-card {
        box-shadow: 0 18px 56px rgba(0, 0, 0, 0.34);
      }

      .theme-canary-public .section-heading h2,
      .theme-canary-public .cta-band h2 {
        max-width: 24ch;
        font-size: clamp(1.55rem, 2.45vw, 2.45rem);
        line-height: 1.08;
      }

      .theme-canary-public .feature-card h3,
      .theme-canary-public .proof-card h3,
      .theme-canary-public .faq-item h3,
      .theme-canary-public .checkout-card h3,
      .theme-canary-public .plan-card h3 {
        font-size: clamp(1rem, 1.35vw, 1.28rem);
      }

      .theme-canary-public .feature-card--contrast,
      .theme-canary-public .snapshot-card--health {
        background: linear-gradient(145deg, rgba(10, 22, 36, 0.92), rgba(4, 12, 24, 0.95));
      }

      .theme-canary-public .proof-card__step,
      .theme-canary-public .flow-step,
      .theme-canary-public .offer-list li::before,
      .theme-canary-public .plan-card__list li::before {
        background: var(--canary-gold);
        color: #06101f;
      }

      .theme-canary-public .proof-card__step {
        border-radius: var(--canary-radius);
        letter-spacing: 0;
      }

      .theme-canary-public .plan-card--featured {
        border-color: rgba(255, 210, 30, 0.55);
      }

      .theme-canary-public .plan-card__price,
      .theme-canary-public .hero-priceband__value,
      .theme-canary-public .offer-price strong {
        font-family: var(--display);
      }

      .theme-canary-public .feature-card:hover,
      .theme-canary-public .proof-card:hover,
      .theme-canary-public .plan-card:hover,
      .theme-canary-public .site-dropdown:hover,
      .theme-canary-public .site-dropdown__item:hover,
      .theme-canary-public .artifact-item:hover,
      .theme-canary-public .flow-card:hover,
      .theme-canary-public .snapshot-card:hover,
      .theme-canary-public .faq-item:hover,
      .theme-canary-public .capability-card:hover,
      .theme-canary-public .checkout-card:hover,
      .theme-canary-public .offer-preview:hover {
        border-color: rgba(255, 210, 30, 0.52);
        box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28);
      }

      .theme-canary-public .inline-link,
      .theme-canary-public .external-link,
      .theme-canary-public .faq-mini-link {
        color: var(--canary-gold);
      }

      .breadcrumb {
        display: flex;
        align-items: center;
        gap: 8px;
        margin: -12px 0 18px;
        color: rgba(230, 242, 255, 0.7);
        font-size: 0.88rem;
        line-height: 1.4;
      }

      .breadcrumb a {
        color: rgba(255, 210, 30, 0.9);
      }

      .breadcrumb span[aria-current="page"] {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .trust-grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 12px;
      }

      .trust-item {
        min-height: 132px;
        padding: 18px;
        border: 1px solid rgba(255, 210, 30, 0.18);
        border-radius: var(--canary-radius);
        background: rgba(255, 255, 255, 0.035);
      }

      .trust-item strong,
      .trust-item span {
        display: block;
      }

      .trust-item strong {
        margin-bottom: 10px;
        color: var(--mist);
        font-size: 1rem;
      }

      .trust-item span {
        color: var(--mist-soft);
        font-size: 0.92rem;
        line-height: 1.55;
      }

      .mobile-sticky-cta {
        display: none;
      }

      @keyframes lift {
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @media (max-width: 1080px) {
        .hero {
          grid-template-columns: 1fr;
        }

        .hero--landing-orbit {
          min-height: auto;
        }

        .orbit-cockpit {
          min-height: 500px;
        }

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

        .topbar:not(:has(.nav--app)) {
          align-items: flex-start;
        }

        .topbar:not(:has(.nav--app)) .topbar__actions {
          align-items: flex-end;
          flex-direction: column;
        }

        .hero-copy--template .hero-bullets {
          grid-template-columns: repeat(2, max-content);
        }

        .landing-process {
          grid-template-columns: 1fr;
        }

        .landing-process__steps,
        .landing-calculator__grid,
        .landing-feature-strip {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .feature-grid--three,
        .feature-grid--five {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }

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

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

        .theme-canary-public.page-parrainage .referral-hero,
        .theme-canary-public.page-parrainage .referral-offer {
          grid-template-columns: 1fr;
        }

        .theme-canary-public.page-parrainage .referral-hero__panel {
          min-height: 210px;
        }

        .theme-canary-public.page-parrainage .referral-offer__signal {
          min-height: 150px;
        }

        .capability-grid,
        .flow-grid,
        .evidence-report,
        .audit-result {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }

      @media (max-width: 760px) {
        .page-shell {
          width: min(100vw - 24px, 100%);
          padding-bottom: 104px;
        }

        .topbar {
          align-items: flex-start;
          flex-direction: column;
        }

        .topbar__actions {
          width: 100%;
          justify-content: flex-start;
        }

        .brand {
          flex-direction: column;
          align-items: flex-start;
        }

        .topbar:not(:has(.nav--app)) .brand {
          flex-direction: row;
          align-items: center;
        }

        .brand-shell {
          width: 100%;
          justify-content: center;
        }

        .topbar:not(:has(.nav--app)) .brand-shell {
          width: auto;
          justify-content: flex-start;
        }

        .topbar:not(:has(.nav--app)) .nav {
          gap: 14px 18px;
        }

        .topbar:not(:has(.nav--app)) .topbar__actions,
        .topbar:not(:has(.nav--app)) .topbar__cta {
          align-items: flex-start;
          justify-content: flex-start;
        }

        .breadcrumb {
          margin: -8px 0 16px;
          max-width: 100%;
          overflow: hidden;
        }

        .hero-copy,
        .hero-panel,
        .audit-result,
        .section-shell {
          padding: 24px;
          border-radius: 24px;
        }

        .trust-grid {
          grid-template-columns: 1fr;
        }

        .trust-item {
          min-height: auto;
        }

        /* La bande recouvrait le bas de page, dont le lien de pagination
           « Articles suivants » : sa hauteur est desormais reservee. */
        body:has(.mobile-sticky-cta) {
          padding-bottom: 92px;
        }

        /* Sur les navigateurs qui savent lier une animation au defilement, la bande
           ne se montre qu'une fois le premier ecran passe : le lecteur voit la page
           avant l'offre. Ailleurs le comportement actuel est conserve tel quel, sans
           regression. Aucun JS ajoute : le CSP public interdit tout script. */
        @supports (animation-timeline: scroll()) {
          .mobile-sticky-cta {
            animation: sticky-cta-reveal linear both;
            animation-timeline: scroll(root block);
            animation-range: 22% 34%;
          }
        }

        @keyframes sticky-cta-reveal {
          from {
            opacity: 0;
            visibility: hidden;
            transform: translateY(130%);
          }
          to {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
          }
        }

        .mobile-sticky-cta {
          position: fixed;
          left: 12px;
          right: 12px;
          bottom: 12px;
          z-index: 50;
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          gap: 8px;
          padding: 10px;
          border: 1px solid rgba(255, 210, 30, 0.26);
          border-radius: 20px;
          background: rgba(6, 18, 34, 0.94);
          box-shadow: 0 18px 50px rgba(0, 0, 0, 0.42);
          backdrop-filter: blur(16px);
        }

        .mobile-sticky-cta .button {
          justify-content: center;
          width: 100%;
          min-height: 44px;
          padding-inline: 12px;
          white-space: nowrap;
        }

        .hero--landing-orbit h1 {
          max-width: 12ch;
          font-size: clamp(2.55rem, 13vw, 4.2rem);
        }

        .hero--landing-orbit .hero-copy--template h1 {
          max-width: 15ch;
          font-size: clamp(2.2rem, 10vw, 3.4rem);
        }

        .hero-bullets {
          gap: 8px 16px;
        }

        .hero-copy--template .hero-bullets,
        .landing-process__steps,
        .landing-calculator__grid,
        .landing-feature-strip {
          grid-template-columns: 1fr;
        }

        .hero-copy--template .hero-bullets li + li {
          border-left: 0;
          padding-left: 22px;
        }

        .landing-process {
          padding: 18px;
        }

        .landing-process__steps article:not(:last-child)::after {
          display: none;
        }

        .orbit-cockpit {
          display: grid;
          gap: 14px;
          min-height: auto;
        }

        .orbit-cockpit__ring {
          display: none;
        }

        .orbit-card {
          position: relative;
          inset: auto;
          width: 100%;
          transform: none;
        }

        .orbit-card--pdf {
          grid-template-columns: 64px 1fr;
        }

        .orbit-gauge {
          width: min(172px, 100%);
        }

        .signal-strip,
        .control-room-rail,
        .feature-grid,
        .feature-grid--three,
        .feature-grid--five,
        .proof-grid,
        .plan-grid,
        .audience-panel__facts,
        .portal-action-strip,
        .portal-onboarding__steps,
        .portal-kpi-grid,
        .site-dropdown__list,
        .flow-grid,
        .capability-grid,
        .evidence-report,
        .audit-result,
        .faq-grid,
        .offer-list--hero {
          grid-template-columns: 1fr;
        }

        .article-list__item {
          grid-template-columns: 40px minmax(0, 1fr);
          align-items: start;
        }

        .article-list__marker {
          width: 40px;
          height: 40px;
        }

        .article-list__link {
          grid-column: 2;
          justify-self: start;
        }

        .theme-canary-public.page-parrainage .referral-section,
        .theme-canary-public.page-parrainage .referral-terms {
          width: min(100vw - 24px, 100%);
        }

        .theme-canary-public.page-parrainage .referral-hero__panel,
        .theme-canary-public.page-parrainage .referral-offer,
        .theme-canary-public.page-parrainage .referral-terms {
          padding: 22px;
        }

        .theme-canary-public.page-parrainage .referral-offer__details ul {
          grid-template-columns: 1fr;
        }

        .theme-canary-public.page-parrainage .referral-offer__signal {
          min-height: auto;
        }

        .audit-fit {
          grid-column: 1;
        }

        .site-dropdown__summary,
        .site-dropdown__title {
          align-items: flex-start;
          flex-direction: column;
        }

        .audience-panel__facts div {
          border-right: 0;
          border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        }

        .audience-panel__facts div:last-child {
          border-bottom: 0;
        }

        .plan-card--featured {
          transform: none;
        }
      }

      @media (prefers-reduced-motion: reduce) {
        html {
          scroll-behavior: auto;
        }

        .lift {
          opacity: 1;
          transform: none;
          animation: none;
        }
      }

      /* ── hero two-col override ───────────────────────────── */

      /* ── console mockup ──────────────────────────────────── */

      /* ── verdict cockpit ─────────────────────────────────── */
      .verdict-card {
        display: grid;
        gap: 16px;
        padding: 22px 24px;
        border-radius: 8px;
        border: 1px solid rgba(255,210,30,0.22);
        background:
          radial-gradient(circle at 92% 18%, rgba(255, 210, 30, 0.13), transparent 34%),
          linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
        box-shadow: inset 0 0 0 1px rgba(255, 210, 30, 0.035);
      }

      .verdict-card--ok {
        border-color: rgba(137,198,170,0.4);
        background: linear-gradient(180deg, rgba(137,198,170,0.14), rgba(255,255,255,0.02));
      }

      .verdict-card--warn {
        border-color: rgba(243,183,85,0.4);
        background: linear-gradient(180deg, rgba(243,183,85,0.14), rgba(255,255,255,0.02));
      }

      .verdict-card--error {
        border-color: rgba(179,38,30,0.45);
        background: linear-gradient(180deg, rgba(179,38,30,0.18), rgba(255,255,255,0.02));
      }

      .verdict-card__head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
      }

      .verdict-card__copy {
        display: grid;
        gap: 6px;
      }

      .verdict-card__verdict {
        max-width: none;
        font-family: var(--display);
        font-size: clamp(1.8rem, 3vw, 2.6rem);
        line-height: 1;
        letter-spacing: -0.03em;
        color: #ffd21e;
      }

      .verdict-card__copy p {
        margin: 0;
        color: var(--mist-soft);
      }

      .verdict-card__facts {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 12px;
        margin: 0;
      }

      .verdict-card__facts div {
        display: grid;
        gap: 3px;
        padding: 12px 14px;
        border: 1px solid rgba(255, 210, 30, 0.14);
        border-radius: 8px;
        background: rgba(2, 10, 21, 0.58);
      }

      .verdict-card__facts dt {
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--mist-soft);
      }

      .verdict-card__facts dd {
        margin: 0;
        font-size: 0.95rem;
        color: #eaf6ff;
      }

      /* Un <summary> n'est ni lien ni bouton : il ne porte pas la classe .button (audit de
         cliquabilite des CTA), il en reprend l'apparence. */
      .alert-test > summary {
        display: inline-flex;
        align-items: center;
        min-height: 36px;
        padding: 0 14px;
        border: 1px solid rgba(255, 210, 30, 0.34);
        border-radius: 999px;
        color: var(--mist);
        font-size: 0.85rem;
        font-weight: 700;
        list-style: none;
        cursor: pointer;
      }

      .alert-test > summary::-webkit-details-marker {
        display: none;
      }

      .alert-test[open] > summary {
        border-color: rgba(255, 210, 30, 0.6);
      }

      .alert-test > form {
        display: grid;
        gap: 8px;
        margin-top: 8px;
      }

      .incident-filters {
        display: flex;
        flex-wrap: wrap;
        align-items: end;
        gap: 8px;
        margin: 0 0 16px;
      }

      .incident-filters [aria-current="page"] {
        border-color: rgba(255, 210, 30, 0.6);
        color: #fff3bf;
      }

      .incident-pagination {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        margin-top: 16px;
        color: var(--mist-soft);
      }

      .site-checks > summary {
        margin-top: 12px;
        cursor: pointer;
        color: var(--sky);
        font-size: 0.88rem;
        font-weight: 700;
      }

      .button:disabled,
      .button[aria-disabled="true"] {
        opacity: 0.45;
        cursor: not-allowed;
        box-shadow: none;
        transform: none;
      }

      /* ── per-page status list ────────────────────────────── */
      .page-status-list {
        list-style: none;
        margin: 12px 0 0;
        padding: 0;
        display: grid;
        gap: 8px;
      }

      .page-status-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding: 10px 14px;
        border-radius: 8px;
        border: 1px solid rgba(255, 210, 30, 0.14);
        background: rgba(2, 10, 21, 0.62);
      }

      .page-status-item__copy {
        display: grid;
        gap: 2px;
        min-width: 0;
      }

      .page-status-item__copy strong {
        font-size: 0.9rem;
        color: #eaf6ff;
      }

      .page-status-item__copy span {
        font-size: 0.78rem;
        color: var(--mist-soft);
        word-break: break-word;
      }

      .page-status-item__state {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        flex-shrink: 0;
      }

      .page-status-item__time {
        font-size: 0.74rem;
        color: var(--mist-soft);
      }

      .page-status-item__incident {
        font-size: 0.78rem;
        font-weight: 700;
        color: var(--sky);
        white-space: nowrap;
      }

      .empty-card--cta {
        display: grid;
        gap: 8px;
        justify-items: start;
      }

      .empty-card--cta strong {
        font-size: 1rem;
        color: #eaf6ff;
      }

      .empty-card--cta p {
        margin: 0;
        color: var(--mist-soft);
      }

      .empty-card--action {
        display: grid;
        gap: 10px;
        justify-items: start;
      }

      .empty-card--action strong {
        color: #eaf6ff;
        font-size: 1rem;
      }

      .empty-card--action p {
        margin: 0;
        color: var(--mist-soft);
        max-width: 58ch;
      }

      .quota-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 12px;
      }

      .quota-card {
        display: grid;
        gap: 4px;
        padding: 16px 18px;
        border-radius: 16px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.03);
      }

      .quota-card__label {
        font-size: 0.74rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--mist-soft);
      }

      .quota-card__value {
        font-family: var(--font-body);
        font-size: 1.6rem;
        line-height: 1.1;
        letter-spacing: 0;
        color: #eaf6ff;
      }

      .quota-card__context {
        font-size: 0.8rem;
        color: var(--mist-soft);
      }

      .quota-card__meter {
        width: 100%;
        height: 8px;
      }

      .quota-card--warn { border-color: rgba(243, 183, 85, 0.45); }
      .quota-card--error { border-color: rgba(255, 101, 101, 0.5); }

      .quota-card__alert {
        font-size: 0.8rem;
        font-weight: 700;
        color: #ffd27a;
      }

      .portal-table-wrap {
        overflow-x: auto;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: rgba(2,10,21,0.72);
      }

      .portal-table {
        width: 100%;
        min-width: 760px;
        border-collapse: collapse;
        font-size: 0.86rem;
      }

      .portal-table caption {
        padding: 12px 14px;
        color: var(--mist-soft);
        text-align: left;
      }

      .portal-table th,
      .portal-table td {
        padding: 10px 12px;
        border-top: 1px solid var(--line);
        text-align: left;
        white-space: nowrap;
      }

      .portal-table thead th {
        color: #eaf6ff;
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .portal-table tbody th {
        color: #eaf6ff;
        font-weight: 800;
      }

      /* ── incident detail ─────────────────────────────────── */
      .back-link {
        display: inline-block;
        margin-bottom: 14px;
        font-size: 0.85rem;
        color: var(--mist-soft);
      }

      .incident-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 16px;
        padding: 22px 24px;
        border-radius: 22px;
        border: 1px solid rgba(255,255,255,0.1);
        background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
      }

      .incident-head--ok { border-color: rgba(137,198,170,0.4); }
      .incident-head--warn { border-color: rgba(243,183,85,0.4); }
      .incident-head--error { border-color: rgba(179,38,30,0.45); }

      .incident-head__copy h1 {
        max-width: none;
        margin: 4px 0 4px;
        font-size: clamp(1.35rem, 1.8vw, 1.7rem);
        line-height: 1.2;
      }

      .incident-head__copy p {
        margin: 0;
        color: var(--mist-soft);
      }

      .incident-head__site {
        margin: 2px 0 10px !important;
        color: var(--mist);
        font-weight: 850;
      }

      .incident-facts {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
        gap: 12px;
        margin: 0;
      }

      .incident-facts div {
        display: grid;
        gap: 3px;
        padding: 12px 14px;
        border-radius: 14px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.03);
      }

      .incident-facts dt {
        font-size: 0.72rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: var(--mist-soft);
      }

      .incident-facts dd {
        margin: 0;
        font-size: 0.92rem;
        color: #eaf6ff;
        word-break: break-word;
      }

      .incident-ai {
        padding: 18px 20px;
        border-radius: 16px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.03);
      }

      .incident-ai__content {
        color: #eaf6ff;
        line-height: 1.55;
      }

      .incident-ai__meta {
        margin: 12px 0 0;
        font-size: 0.78rem;
        color: var(--mist-soft);
      }

      .incident-ai__empty {
        margin: 0;
        color: var(--mist-soft);
      }

      .incident-impact {
        margin: 4px 0 0;
        color: #ffe7be;
        font-size: 0.92rem;
      }

      /* CSS-only tabs: radios drive panel visibility without page-specific JS. */
      .incident-tab-input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        pointer-events: none;
      }

      .incident-tab-bar {
        display: flex;
        gap: 8px;
        margin-bottom: 18px;
        border-bottom: 1px solid var(--line);
        flex-wrap: wrap;
      }

      .incident-tab {
        padding: 10px 18px;
        border-radius: 14px 14px 0 0;
        cursor: pointer;
        color: var(--mist-soft);
        border: 1px solid transparent;
        border-bottom: none;
        font-weight: 700;
        font-size: 0.9rem;
      }

      #incident-view-client:checked ~ .incident-tab-bar label[for="incident-view-client"],
      #incident-view-tech:checked ~ .incident-tab-bar label[for="incident-view-tech"] {
        color: var(--mist);
        background: rgba(56, 182, 255, 0.12);
        border-color: var(--line-strong);
      }

      #incident-view-client:focus-visible ~ .incident-tab-bar label[for="incident-view-client"],
      #incident-view-tech:focus-visible ~ .incident-tab-bar label[for="incident-view-tech"] {
        outline: 2px solid var(--sky);
        outline-offset: 2px;
      }

      .incident-tab-panel {
        display: none;
      }

      #incident-view-client:checked ~ .incident-tab-panel--client,
      #incident-view-tech:checked ~ .incident-tab-panel--tech {
        display: block;
      }

      .incident-accordion {
        margin-top: 12px;
        border: 1px solid var(--line);
        border-radius: 12px;
        background: rgba(255,255,255,0.03);
        padding: 10px 14px;
      }

      .incident-accordion > summary {
        cursor: pointer;
        font-weight: 700;
        font-size: 0.88rem;
        color: #eaf6ff;
      }

      .incident-accordion[open] > summary {
        margin-bottom: 10px;
      }

      .incident-accordion__hint {
        margin: 8px 0 0;
        font-size: 0.78rem;
        color: var(--mist-soft);
      }

      .incident-devmsg {
        width: 100%;
        box-sizing: border-box;
        margin-top: 6px;
        padding: 10px 12px;
        border-radius: 10px;
        border: 1px solid var(--line);
        background: rgba(0,0,0,0.28);
        color: #eaf6ff;
        font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
        font-size: 0.82rem;
        line-height: 1.5;
        resize: vertical;
      }

      .incident-timeline {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 10px;
      }

      .incident-timeline__item {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 14px;
        align-items: baseline;
        padding: 12px 16px;
        border-radius: 14px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.03);
      }

      .incident-timeline__time {
        font-size: 0.78rem;
        color: var(--mist-soft);
        min-width: 150px;
      }

      .incident-timeline__type {
        font-weight: 700;
        font-size: 0.85rem;
        color: #eaf6ff;
      }

      .incident-timeline__detail {
        font-size: 0.85rem;
        color: var(--mist-soft);
        word-break: break-word;
      }

      .incident-actions {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 12px;
        margin-top: 16px;
      }

      .incident-actions__form {
        margin: 0;
      }

      .incident-actions__hint {
        font-size: 0.82rem;
        color: var(--mist-soft);
      }

      .incident-share {
        display: grid;
        gap: 8px;
        margin-top: 14px;
        padding: 14px 16px;
        border-radius: 14px;
        border: 1px solid var(--line);
        background: rgba(255,255,255,0.03);
      }

      .incident-share__label {
        margin: 0;
        font-size: 0.78rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--mist-soft);
      }

      .incident-share__url {
        font-size: 0.85rem;
        color: #eaf6ff;
        word-break: break-all;
        background: rgba(0,0,0,0.25);
        padding: 8px 10px;
        border-radius: 8px;
      }

      .incident-share__meta,
      .incident-share__hint {
        font-size: 0.8rem;
        color: var(--mist-soft);
      }

      .incident-share__form {
        margin: 0;
      }

      /* ── public share proof ──────────────────────────────── */
      .share-shell {
        position: relative;
      }

      .share-banner {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 14px;
        padding: 8px 14px;
        border-radius: 999px;
        font-size: 0.78rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: var(--mist-soft);
        border: 1px solid var(--line);
        background: rgba(56,182,255,0.08);
      }

      .share-watermark {
        position: fixed;
        bottom: 12%;
        right: -2%;
        font-family: var(--display);
        font-size: clamp(4rem, 16vw, 13rem);
        font-weight: 800;
        letter-spacing: -0.04em;
        color: rgba(56,182,255,0.05);
        transform: rotate(-18deg);
        pointer-events: none;
        z-index: 0;
        user-select: none;
      }

      .share-footnote {
        margin: 16px 0 0;
        font-size: 0.82rem;
        color: var(--mist-soft);
      }

      /* ── cta band ────────────────────────────────────────── */
      .cta-band {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
        flex-wrap: wrap;
        background: linear-gradient(135deg, rgba(13,118,242,0.18), rgba(56,182,255,0.08));
        border-color: rgba(56,182,255,0.28);
      }

      .cta-band__copy h2 {
        margin: 0 0 10px;
        font-size: clamp(1.5rem, 2.2vw, 2.2rem);
      }

      .cta-band__copy p {
        margin: 0;
        color: var(--sky);
        font-size: 0.96rem;
      }

      .cta-band__actions {
        display: flex;
        gap: 14px;
        flex-shrink: 0;
        flex-wrap: wrap;
      }

      /* ── faq mini ────────────────────────────────────────── */
      .faq-mini-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        margin-bottom: 22px;
      }

      .faq-mini-link {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        color: var(--sky);
        font-size: 0.96rem;
        font-weight: 700;
      }

      .faq-mini-link::after {
        content: "→";
      }

      .article-list {
        display: grid;
        gap: 14px;
      }

      /* Audit 8,9 §25 : sur le hub, treize articles portaient chacun un marqueur dore,
         un « Lire → » dore et une bordure doree — trente-neuf signaux pour une liste ou
         aucune ligne n'est plus importante qu'une autre. Le dore ne signalait plus rien,
         il texturait. Au repos tout est neutre; le dore revient au survol et au focus,
         la ou il veut encore dire quelque chose. */
      .article-list__item {
        display: grid;
        grid-template-columns: 46px minmax(0, 1fr) max-content;
        gap: 18px;
        align-items: center;
        min-width: 0;
        padding: 18px;
        border: 1px solid rgba(214, 226, 241, 0.14);
        border-radius: var(--canary-radius);
        color: inherit;
        text-decoration: none;
        background: linear-gradient(145deg, rgba(7, 16, 29, 0.88), rgba(3, 11, 22, 0.94));
        box-shadow: 0 18px 46px rgba(0, 0, 0, 0.24);
        transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
      }

      .article-list__item:hover {
        border-color: rgba(255, 210, 30, 0.52);
        box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28), 0 0 34px rgba(255, 210, 30, 0.12);
        transform: translateY(-2px);
      }

      .article-list__item:focus-visible {
        outline: 3px solid var(--canary-gold);
        outline-offset: 4px;
      }

      .article-list__marker {
        display: grid;
        place-items: center;
        width: 46px;
        height: 46px;
        border: 1px solid rgba(214, 226, 241, 0.22);
        border-radius: 50%;
        color: rgba(232, 240, 252, 0.86);
        font-weight: 900;
        box-shadow: none;
      }

      .article-list__item:hover .article-list__marker,
      .article-list__item:focus-visible .article-list__marker {
        border-color: var(--canary-gold);
        color: var(--canary-gold);
      }

      .article-list__body {
        display: grid;
        gap: 7px;
        min-width: 0;
      }

      .article-list__body .card-meta {
        margin: 0;
        color: var(--sky);
        font-size: 0.76rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        line-height: 1.45;
        text-transform: uppercase;
      }

      .article-list__title {
        color: var(--paper);
        font-size: 1.08rem;
        font-weight: 900;
        line-height: 1.25;
      }

      .article-list__text {
        max-width: 68ch;
        color: var(--mist-soft);
        line-height: 1.58;
      }

      .article-list__link {
        color: rgba(232, 240, 252, 0.72);
        font-weight: 900;
        white-space: nowrap;
      }

      .article-list__item:hover .article-list__link,
      .article-list__item:focus-visible .article-list__link {
        color: var(--canary-gold);
      }

      .pagination {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 10px;
        margin-top: 18px;
      }

      .pagination__status,
      .pagination__link {
        min-height: 42px;
        padding: 10px 14px;
        border: 1px solid rgba(255, 210, 30, 0.28);
        border-radius: 14px;
        font-weight: 900;
      }

      .pagination__status {
        color: var(--mist-soft);
        background: rgba(7, 16, 29, 0.62);
      }

      .pagination__link {
        color: var(--canary-gold);
        text-decoration: none;
        background: rgba(255, 210, 30, 0.08);
      }

      .pagination__link:hover,
      .pagination__link:focus-visible {
        border-color: rgba(255, 210, 30, 0.52);
        box-shadow: 0 0 28px rgba(255, 210, 30, 0.16);
      }

      /* ── footer ──────────────────────────────────────────── */
      .site-footer {
        margin-top: 48px;
        padding: 26px 34px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        background: var(--card);
        border: 1px solid rgba(56, 182, 255, 0.12);
        border-radius: 22px;
      }

      .site-footer nav {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 20px;
      }

      .site-footer nav a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 32px;
        color: var(--mist-soft);
        font-size: 0.9rem;
        transition: color 0.15s;
      }

      .footer-social__icon-link {
        width: 36px;
        min-width: 36px;
        border: 1px solid rgba(56, 182, 255, 0.16);
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.04);
      }

      .footer-social__x-icon {
        width: 17px;
        height: 17px;
        fill: currentColor;
      }

      .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
      }

      .site-footer nav a:hover {
        color: var(--mist);
      }

      .site-footer--app {
        margin-top: 26px;
        border-color: var(--app-border);
        border-radius: var(--app-radius-lg);
        background: rgba(4, 13, 24, 0.92);
      }

      .site-footer--app nav {
        gap: 8px 14px;
      }

      .site-footer__copy {
        color: var(--mist-soft);
        font-size: 0.86rem;
        margin: 0;
      }

      /* ── signup two-col ──────────────────────────────────── */
      .auth-shell--with-offer {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
        align-items: start;
      }

      .offer-preview {
        border: 1px solid rgba(56,182,255,0.18);
        border-radius: 22px;
        background: var(--card);
        display: grid;
        gap: 14px;
      }

      .offer-preview__header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 12px;
      }

      .offer-price {
        display: flex;
        align-items: baseline;
        gap: 8px;
      }

      .offer-price strong {
        font-family: var(--display);
        font-size: 2.2rem;
        line-height: 1;
      }

      .offer-price span {
        color: var(--mist-soft);
        font-size: 0.88rem;
      }

      .offer-preview__copy {
        color: var(--mist-soft);
        line-height: 1.65;
        font-size: 0.94rem;
      }

      .offer-preview__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
      }

      .offer-preview__meta span {
        padding: 6px 12px;
        border-radius: 999px;
        background: rgba(56,182,255,0.1);
        border: 1px solid rgba(56,182,255,0.18);
        font-size: 0.82rem;
        color: var(--mist-soft);
      }

      @media (max-width: 900px) {
        .auth-shell--with-offer {
          grid-template-columns: 1fr;
        }
      }

      @media (max-width: 760px) {
        .page-status-item,
        .incident-head,
        .incident-actions,
        .artifact-head {
          flex-direction: column;
          align-items: flex-start;
        }

        .page-status-item__state,
        .artifact-meta {
          width: 100%;
          justify-content: flex-start;
          flex-wrap: wrap;
        }

        .alert-channel-main {
          width: 100%;
        }

        .alert-config-form {
          margin-left: 0;
          width: 100%;
        }

        .portal-action-strip {
          align-items: start;
        }

        .incident-head {
          padding: 18px;
          border-radius: 18px;
        }

        .incident-tab {
          flex: 1 1 140px;
          text-align: center;
        }

        .incident-devmsg,
        .incident-share__url {
          max-width: 100%;
        }

        .cta-band {
          flex-direction: column;
          align-items: flex-start;
        }

        .faq-mini-grid {
          grid-template-columns: 1fr;
        }

        .site-footer {
          width: 100%;
          flex-direction: column;
          align-items: flex-start;
        }

        .site-footer nav {
          width: 100%;
        }

        .site-footer__copy {
          max-width: 100%;
          overflow-wrap: anywhere;
        }
      }
      /* Professional cockpit layer: calmer, denser, more product-grade. */
      .topbar {
        border-radius: 8px;
        border-color: rgba(214, 226, 241, 0.14);
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018)),
          rgba(5, 15, 28, 0.9);
        box-shadow: 0 18px 56px rgba(0, 0, 0, 0.28);
      }

      .brand-shell {
        border-radius: 8px;
        border-color: rgba(214, 226, 241, 0.14);
        background: rgba(8, 21, 38, 0.88);
      }

      .nav a,
      .nav-group summary,
      .account-chip {
        border-color: rgba(214, 226, 241, 0.11);
        background: rgba(255, 255, 255, 0.035);
        font-weight: 750;
      }

      .nav a:hover,
      .nav a:focus-visible,
      .nav a[aria-current="page"],
      .nav-group summary[aria-current="page"] {
        border-color: rgba(255, 210, 30, 0.42);
        background: rgba(255, 210, 30, 0.09);
        box-shadow: none;
      }

      .app-control-room {
        width: min(100% - 32px, 1240px);
        gap: 20px;
      }

      .app-control-room::before {
        background:
          linear-gradient(180deg, rgba(5, 16, 31, 0.86), rgba(2, 7, 14, 0.96)),
          radial-gradient(ellipse at 82% 10%, rgba(255, 210, 30, 0.08), transparent 34rem);
        background-size: auto;
        opacity: 1;
      }

      .app-control-room .section-shell,
      .verdict-card,
      .app-control-room .artifact-item,
      .app-control-room .site-dropdown,
      .app-control-room .site-dropdown__item,
      .app-control-room .empty-card,
      .app-control-room .portal-form,
      .snapshot-card,
      .flow-card,
      .checkout-card,
      .faq-item,
      .capability-card {
        border-radius: 8px;
        border-color: rgba(214, 226, 241, 0.13);
        background:
          linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018)),
          rgba(7, 18, 33, 0.88);
        box-shadow: 0 18px 52px rgba(0, 0, 0, 0.25);
      }

      .app-control-room .section-shell {
        padding: clamp(20px, 2.5vw, 32px);
      }

      .app-control-room .section-heading--compact h2 {
        font-family: var(--font-body);
        letter-spacing: 0;
      }

      .app-control-room h1,
      .app-control-room h2,
      .app-control-room h3,
      .verdict-card__verdict {
        font-family: var(--font-body);
        letter-spacing: 0;
      }

      .control-room-rail div,
      .verdict-card__facts div,
      .page-status-item {
        border-color: rgba(214, 226, 241, 0.11);
        background: rgba(3, 12, 23, 0.62);
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
      }

      .snapshot-card:hover,
      .site-dropdown:hover,
      .site-dropdown__item:hover,
      .artifact-item:hover {
        transform: translateY(-2px);
        border-color: rgba(255, 210, 30, 0.38);
        box-shadow: 0 24px 58px rgba(0, 0, 0, 0.32);
      }

      .verdict-card {
        border-color: rgba(255, 210, 30, 0.28);
        background:
          linear-gradient(180deg, rgba(255, 210, 30, 0.105), rgba(255, 255, 255, 0.016)),
          rgba(7, 18, 33, 0.9);
      }

      .verdict-card--ok {
        border-color: rgba(96, 211, 148, 0.36);
        background:
          linear-gradient(180deg, rgba(96, 211, 148, 0.11), rgba(255, 255, 255, 0.016)),
          rgba(7, 18, 33, 0.9);
      }

      .verdict-card--warn {
        border-color: rgba(243, 183, 85, 0.42);
        background:
          linear-gradient(180deg, rgba(243, 183, 85, 0.12), rgba(255, 255, 255, 0.016)),
          rgba(7, 18, 33, 0.9);
      }

      .verdict-card--error {
        border-color: rgba(255, 101, 101, 0.4);
        background:
          linear-gradient(180deg, rgba(255, 101, 101, 0.12), rgba(255, 255, 255, 0.016)),
          rgba(7, 18, 33, 0.9);
      }

      .verdict-card__verdict,
      .control-room-rail strong {
        color: #fff3bf;
      }

      .verdict-card__verdict {
        font-size: clamp(2rem, 4vw, 3.15rem);
        line-height: 1.02;
      }

      .status-pill {
        border: 1px solid transparent;
        font-weight: 850;
      }

      .status-pill--ok {
        border-color: rgba(96, 211, 148, 0.28);
        color: #c9ffe1;
        background: rgba(96, 211, 148, 0.12);
      }

      .status-pill--warn {
        border-color: rgba(243, 183, 85, 0.3);
        color: #ffe7be;
        background: rgba(243, 183, 85, 0.12);
      }

      .status-pill--error {
        border-color: rgba(255, 101, 101, 0.3);
        color: #ffe2e2;
        background: rgba(255, 101, 101, 0.13);
      }

      /* Un site jamais controle n'est ni au vert, ni en alerte, ni critique : il n'est pas
         evalue. Sans cette variante il heritait du ton d'erreur, donc du rouge. */
      .status-pill--muted {
        border-color: rgba(214, 226, 241, 0.2);
        color: rgba(232, 240, 252, 0.82);
        background: rgba(214, 226, 241, 0.08);
      }

      .portal-action-strip {
        border-color: rgba(214, 226, 241, 0.13);
        background: rgba(5, 15, 28, 0.78);
      }

      .portal-action-strip--error {
        border-color: rgba(255, 101, 101, 0.44);
        background:
          linear-gradient(135deg, rgba(255, 101, 101, 0.12), rgba(255, 210, 30, 0.055)),
          rgba(5, 15, 28, 0.84);
      }

      .portal-action-strip--error .button {
        border-color: rgba(255, 210, 30, 0.62);
        background: linear-gradient(135deg, rgba(255, 210, 30, 0.18), rgba(255, 255, 255, 0.03));
      }

      .page-status-item {
        padding: 12px 14px;
      }

      .page-status-item__copy strong {
        font-size: 0.94rem;
      }

      .topbar:not(:has(.nav--app)) {
        background: transparent;
        box-shadow: none;
      }

      .topbar:has(.nav--app) {
        align-items: flex-start;
        padding: 14px 20px;
      }

      .topbar:has(.nav--app) .brand-shell {
        min-width: 156px;
        min-height: 72px;
        justify-content: center;
      }

      .topbar:has(.nav--app) .brand-copy span {
        max-width: 260px;
      }

      .topbar:has(.nav--app) .nav {
        gap: 8px;
      }

      .topbar:has(.nav--app) .nav a,
      .topbar:has(.nav--app) .nav-group summary {
        padding: 9px 13px;
      }

      .topbar-mobile-menu {
        display: none;
      }

      .app-control-room [id] {
        scroll-margin-top: 128px;
      }

      .app-control-room .section-heading--compact {
        display: grid;
        gap: 8px;
      }

      .app-control-room .section-heading--compact h1 {
        max-width: min(100%, 34ch);
        font-size: clamp(1.65rem, 2.4vw, 2.15rem);
        line-height: 1.12;
      }

      .app-control-room .section-heading--compact h2 {
        max-width: min(100%, 40ch);
        font-size: clamp(1.25rem, 1.75vw, 1.65rem);
        line-height: 1.18;
      }

      .app-control-room .section-heading--compact p {
        max-width: 74ch;
      }

      @media (max-width: 760px) {
        .topbar:not(:has(.nav--app)) {
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          align-items: center;
          gap: 10px;
          padding: 12px 0;
        }

        .topbar:not(:has(.nav--app)) .topbar__actions {
          display: none;
        }

        .topbar-mobile-menu {
          position: relative;
          z-index: 4;
          display: block;
          justify-self: end;
        }

        .topbar-mobile-menu > summary {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 84px;
          min-height: 44px;
          padding: 0 16px;
          border: 1px solid rgba(255, 210, 30, 0.34);
          border-radius: 8px;
          background: rgba(255, 210, 30, 0.09);
          color: #f8fbff;
          cursor: pointer;
          font-weight: 900;
          list-style: none;
        }

        .topbar-mobile-menu > summary::-webkit-details-marker {
          display: none;
        }

        .topbar-mobile-menu > summary::after {
          content: "";
          width: 8px;
          height: 8px;
          margin-left: 10px;
          border-right: 2px solid currentColor;
          border-bottom: 2px solid currentColor;
          transform: translateY(-2px) rotate(45deg);
        }

        .topbar-mobile-menu[open] > summary::after {
          transform: translateY(2px) rotate(225deg);
        }

        .topbar-mobile-menu:not([open]) .topbar-mobile-menu__panel {
          display: none;
        }

        .topbar-mobile-menu__panel {
          position: fixed;
          top: 70px;
          right: 12px;
          left: 12px;
          display: grid;
          gap: 12px;
          max-height: calc(100dvh - 88px);
          overflow-y: auto;
          padding: 14px;
          border: 1px solid rgba(255, 210, 30, 0.28);
          border-radius: 8px;
          background: rgba(5, 14, 27, 0.98);
          box-shadow: 0 22px 70px rgba(0, 0, 0, 0.48);
        }

        .topbar-mobile-menu__panel .nav {
          display: grid;
          grid-template-columns: 1fr;
          gap: 8px;
          width: 100%;
        }

        .topbar-mobile-menu__panel .nav a,
        .topbar-mobile-menu__panel .nav-group summary {
          justify-content: flex-start;
          min-height: 42px;
          width: 100%;
          padding: 8px 12px;
          border: 1px solid rgba(255, 255, 255, 0.08);
          border-radius: 8px;
          background: rgba(255, 255, 255, 0.035);
          font-size: 0.9rem;
        }

        .topbar-mobile-menu__panel .nav-group {
          display: grid;
        }

        .topbar-mobile-menu__panel .nav-submenu {
          position: static;
          min-width: 0;
          margin-top: 6px;
          border-color: rgba(255, 210, 30, 0.18);
          box-shadow: none;
        }

        .topbar-mobile-menu__cta {
          display: grid;
          gap: 8px;
          padding-top: 10px;
          border-top: 1px solid rgba(255, 255, 255, 0.1);
        }

        .topbar-mobile-menu__cta .language-switch {
          justify-self: start;
        }

        .topbar:has(.nav--app) {
          top: 8px;
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          align-items: center;
          gap: 10px;
          padding: 10px 12px;
          margin-bottom: 14px;
          border-radius: 8px;
        }

        .topbar:has(.nav--app) .brand {
          flex-direction: row;
          align-items: center;
          width: 100%;
          gap: 10px;
        }

        .topbar:has(.nav--app) .brand-shell {
          min-width: 0;
          min-height: 0;
          padding: 6px 8px;
        }

        .topbar:has(.nav--app) .brand-copy {
          gap: 1px;
        }

        .topbar:has(.nav--app) .brand-copy strong {
          font-size: 0.68rem;
          letter-spacing: 0.12em;
        }

        .topbar:has(.nav--app) .brand-copy span {
          display: none;
        }

        .topbar:has(.nav--app) .topbar__actions {
          display: none;
        }

        .topbar:has(.nav--app) .nav {
          display: flex;
          flex-wrap: nowrap;
          gap: 6px;
          width: 100%;
          overflow-x: auto;
          padding-bottom: 4px;
          scrollbar-width: none;
        }

        .topbar:has(.nav--app) .nav::-webkit-scrollbar {
          display: none;
        }

        .topbar:has(.nav--app) .nav a,
        .topbar:has(.nav--app) .nav-group summary {
          flex: 0 0 auto;
          min-height: 38px;
          padding: 8px 11px;
          font-size: 0.82rem;
          white-space: nowrap;
        }

        .topbar:has(.nav--app) .topbar__cta {
          display: flex;
          flex-wrap: nowrap;
          justify-content: flex-start;
          width: 100%;
          gap: 6px;
          overflow-x: auto;
          padding-bottom: 2px;
        }

        .topbar:has(.nav--app) .account-chip,
        .topbar:has(.nav--app) .topbar__cta .button {
          flex: 0 0 auto;
          min-height: 38px;
          padding: 8px 11px;
          font-size: 0.78rem;
          white-space: nowrap;
        }

        .topbar:has(.nav--app) .account-chip span:first-child {
          max-width: 13ch;
          overflow: hidden;
          text-overflow: ellipsis;
        }

        .topbar:has(.nav--app) .topbar-mobile-menu__panel .nav {
          display: grid;
          grid-template-columns: 1fr;
          gap: 8px;
          overflow: visible;
          padding-bottom: 0;
        }

        .topbar:has(.nav--app) .topbar-mobile-menu__panel .nav a,
        .topbar:has(.nav--app) .topbar-mobile-menu__panel .nav-group summary {
          flex: initial;
          justify-content: flex-start;
          width: 100%;
          min-height: 42px;
          white-space: normal;
        }

        .topbar:has(.nav--app) .topbar-mobile-menu__cta {
          display: grid;
          overflow: visible;
          width: 100%;
        }

        .topbar:has(.nav--app) .topbar-mobile-menu__cta .account-chip,
        .topbar:has(.nav--app) .topbar-mobile-menu__cta .button {
          width: 100%;
          min-height: 42px;
          justify-content: center;
        }

        .app-control-room {
          width: min(100vw - 24px, 100%);
          gap: 14px;
        }

        .app-control-room [id] {
          scroll-margin-top: 178px;
        }

        .app-control-room .section-shell {
          padding: 18px;
        }

        .app-control-room .section-heading--compact h1 {
          font-size: clamp(1.45rem, 7.2vw, 1.9rem);
          max-width: 100%;
        }

        .app-control-room .section-heading--compact h2 {
          font-size: clamp(1.2rem, 5.8vw, 1.55rem);
        }

        .verdict-card__head {
          display: grid;
        }

        .verdict-card__verdict {
          font-size: clamp(1.75rem, 8.4vw, 2.35rem);
        }
      }

      @media (max-width: 1180px) {
        .topbar:not(:has(.nav--app)),
        .topbar:has(.nav--app) {
          top: 8px;
          display: grid;
          grid-template-columns: minmax(0, 1fr) auto;
          align-items: center;
          gap: 12px;
          margin-bottom: 16px;
          padding: 12px;
          border-radius: 8px;
          background: rgba(5, 14, 27, 0.96);
          box-shadow: 0 18px 54px rgba(0, 0, 0, 0.38);
        }

        .topbar:not(:has(.nav--app)) .topbar__actions,
        .topbar:has(.nav--app) .topbar__actions {
          display: none;
        }

        .topbar:not(:has(.nav--app)) .brand,
        .topbar:has(.nav--app) .brand {
          flex-direction: row;
          align-items: center;
          min-width: 0;
        }

        .topbar:not(:has(.nav--app)) .brand-shell,
        .topbar:has(.nav--app) .brand-shell {
          width: auto;
          min-width: 0;
          min-height: 0;
          justify-content: flex-start;
          padding: 6px 8px;
        }

        .topbar:has(.nav--app) .brand-copy span,
        .topbar:not(:has(.nav--app)) .brand-copy {
          display: none;
        }

        .topbar-mobile-menu {
          position: relative;
          z-index: 4;
          display: block;
          justify-self: end;
        }

        .topbar-mobile-menu > summary {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-width: 84px;
          min-height: 44px;
          padding: 0 16px;
          border: 1px solid rgba(255, 210, 30, 0.34);
          border-radius: 8px;
          background: rgba(255, 210, 30, 0.09);
          color: #f8fbff;
          cursor: pointer;
          font-weight: 900;
          list-style: none;
        }

        .topbar-mobile-menu > summary::-webkit-details-marker {
          display: none;
        }

        .topbar-mobile-menu > summary::after {
          content: "";
          width: 8px;
          height: 8px;
          margin-left: 10px;
          border-right: 2px solid currentColor;
          border-bottom: 2px solid currentColor;
          transform: translateY(-2px) rotate(45deg);
        }

        .topbar-mobile-menu[open] > summary::after {
          transform: translateY(2px) rotate(225deg);
        }

        .topbar-mobile-menu:not([open]) .topbar-mobile-menu__panel {
          display: none;
        }

        .topbar-mobile-menu__panel {
          position: fixed;
          top: 78px;
          right: 16px;
          left: auto;
          display: grid;
          gap: 12px;
          width: min(430px, calc(100vw - 32px));
          max-height: calc(100dvh - 96px);
          overflow-y: auto;
          padding: 14px;
          border: 1px solid rgba(255, 210, 30, 0.28);
          border-radius: 8px;
          background: #05111f;
          box-shadow: 0 22px 70px rgba(0, 0, 0, 0.54);
        }

        .topbar-mobile-menu__panel .nav {
          display: grid;
          grid-template-columns: 1fr;
          gap: 8px;
          width: 100%;
          overflow: visible;
          padding-bottom: 0;
        }

        .topbar-mobile-menu__panel .nav a,
        .topbar-mobile-menu__panel .nav-group summary {
          justify-content: flex-start;
          width: 100%;
          min-height: 42px;
          padding: 8px 12px;
          border: 1px solid rgba(255, 255, 255, 0.08);
          border-radius: 8px;
          background: rgba(255, 255, 255, 0.035);
          font-size: 0.9rem;
          white-space: normal;
        }

        .topbar-mobile-menu__cta {
          display: grid;
          gap: 8px;
          width: 100%;
          padding-top: 10px;
          border-top: 1px solid rgba(255, 255, 255, 0.1);
          overflow: visible;
        }

        .topbar-mobile-menu__cta .button,
        .topbar-mobile-menu__cta .account-chip,
        .topbar-mobile-menu__cta .topbar-login {
          width: 100%;
          justify-content: center;
        }

        .topbar-mobile-menu__cta .language-switch {
          justify-self: start;
          margin-top: 2px;
        }

        .theme-canary-public .hero:not(.hero--landing-orbit) h1 {
          max-width: 100%;
          overflow-wrap: break-word;
          word-break: normal;
        }

        .theme-canary-public .hero--landing-orbit {
          grid-template-columns: 1fr;
          min-height: auto;
          gap: 10px;
          margin-bottom: 12px;
        }

        .theme-canary-public .hero--landing-orbit .hero-copy--template h1 {
          max-width: min(100%, 16ch);
          font-size: 2.85rem;
          line-height: 1.04;
        }

        .theme-canary-public .hero--landing-orbit .hero-copy--template .lead {
          max-width: 58ch;
          font-size: 0.98rem;
          line-height: 1.45;
        }

        .theme-canary-public .hero-copy--template .hero-actions {
          margin-bottom: 10px;
        }

        .theme-canary-public .hero-copy--template .hero-bullets {
          grid-template-columns: repeat(4, minmax(0, max-content));
          gap: 8px 18px;
          margin-top: 10px;
        }

        .theme-canary-public .hero-copy--template .hero-bullets li + li {
          border-left: 0;
          padding-left: 22px;
        }

        .theme-canary-public .orbit-cockpit {
          display: grid;
          grid-template-columns: repeat(4, minmax(0, 1fr));
          gap: 8px;
          width: 100%;
          max-width: none;
          min-height: auto;
          justify-self: stretch;
        }

        .theme-canary-public .orbit-cockpit__ring {
          display: none;
        }

        .theme-canary-public .orbit-card,
        .theme-canary-public .orbit-card--incident,
        .theme-canary-public .orbit-card--score,
        .theme-canary-public .orbit-card--chart,
        .theme-canary-public .orbit-card--pdf {
          position: static;
          width: auto;
          min-height: 96px;
          padding: 11px;
          transform: none;
        }

        .theme-canary-public .orbit-card--pdf {
          grid-template-columns: 1fr;
        }

        .theme-canary-public .orbit-card--pdf .pdf-icon,
        .theme-canary-public .orbit-card--pdf ul,
        .theme-canary-public .orbit-card a {
          display: none;
        }
      }

      @media (max-width: 760px) {
        .topbar-mobile-menu__panel {
          top: 70px;
          right: 12px;
          left: 12px;
          width: auto;
          background: #05111f;
        }

        .portal-kpi-grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 8px;
          margin: 12px 0;
        }

        .portal-kpi {
          min-height: 64px;
          padding: 10px;
        }

        .portal-kpi span {
          font-size: 0.64rem;
        }

        .portal-kpi strong {
          font-size: 1.3rem;
        }

        .control-room-rail {
          grid-template-columns: 1fr;
        }

        .control-room-rail div {
          padding: 12px 14px;
        }

        .verdict-card {
          padding: 18px;
        }

        .verdict-card__facts {
          /* Deux colonnes plutot qu'une : quatre reperes tiennent en deux lignes
             au lieu de cinq blocs empiles (audit design, point 11). */
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }

        .theme-canary-public .orbit-cockpit,
        .theme-canary-public .hero-copy--template .hero-bullets {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }
      }

      @media (max-width: 520px) {
        .page-shell {
          width: min(100vw - 24px, 100%);
        }

        .auth-shell,
        .auth-shell--centered,
        .auth-shell--with-offer {
          width: 100%;
          grid-template-columns: 1fr;
          gap: 14px;
          justify-content: stretch;
        }

        .auth-shell .hero-panel,
        .auth-shell .offer-preview {
          width: 100%;
          min-width: 0;
          padding: 16px;
          border-radius: 8px;
        }

        .auth-shell .hero-panel--solo {
          padding: 0;
          border: 0;
          background: transparent;
          box-shadow: none;
        }

        .portal-form,
        .portal-form__grid,
        .field,
        .field input,
        .field select,
        .field textarea,
        .portal-form .button,
        .notice {
          width: 100%;
          max-width: 100%;
          min-width: 0;
          box-sizing: border-box;
        }

        .portal-form {
          padding: 16px;
          border-radius: 8px;
        }

        .auth-title {
          max-width: 100%;
          font-size: 2rem;
          line-height: 1.08;
          overflow-wrap: break-word;
          word-break: normal;
        }

        .field-hint {
          color: var(--mist-soft);
          font-size: 0.78rem;
          line-height: 1.35;
        }

        .notice p,
        .portal-note,
        .field-hint {
          overflow-wrap: break-word;
        }

        .offer-preview__meta {
          display: grid;
          grid-template-columns: 1fr;
        }

        .hero .hero-copy .signal-strip,
        .hero-copy .offer-list--hero {
          max-height: 12rem;
          overflow: auto;
        }

        .theme-canary-public .orbit-cockpit,
        .theme-canary-public .hero-copy--template .hero-bullets {
          grid-template-columns: 1fr;
        }
      }

      @media (max-width: 340px) {
        .theme-canary-public .hero:not(.hero--landing-orbit) h1,
        .theme-canary-public .hero--landing-orbit .hero-copy--template h1 {
          font-size: 1.88rem;
          line-height: 1.08;
          overflow-wrap: anywhere;
        }
      }

      @keyframes cfc-app-rise {
        from {
          opacity: 0;
          transform: translateY(14px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      @keyframes cfc-app-sweep {
        from {
          transform: translateX(-55%);
        }
        to {
          transform: translateX(55%);
        }
      }

      .app-control-room .section-shell,
      .verdict-card,
      .snapshot-card {
        opacity: 1;
        transform: none;
        animation: none;
      }

      .app-control-room .section-shell:nth-of-type(2) {
        animation-delay: 80ms;
      }

      .app-control-room .section-shell:nth-of-type(3) {
        animation-delay: 140ms;
      }

      .snapshot-card,
      .verdict-card {
        position: relative;
        overflow: hidden;
        transition:
          transform 200ms ease,
          border-color 200ms ease,
          box-shadow 200ms ease,
          background 200ms ease;
      }

      .snapshot-card::before,
      .verdict-card::before {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background: linear-gradient(110deg, transparent 0 42%, rgba(255, 255, 255, 0.075) 50%, transparent 58% 100%);
        opacity: 0;
        transform: translateX(-55%);
      }

      .snapshot-card:hover::before,
      .verdict-card:hover::before {
        opacity: 1;
        animation: cfc-app-sweep 800ms ease;
      }

      @media (prefers-reduced-motion: reduce) {
        .app-control-room .section-shell,
        .verdict-card,
        .snapshot-card {
          animation: none !important;
        }

        .snapshot-card,
        .verdict-card {
          transition: none !important;
        }
      }


      /* Audit 2026-09-25 : variables lues sans etre definies (vocabulaire de la vitrine ou
         d'un ancien theme) ; la propriete retombait sur la valeur heritee, sans bruit. */
      :root {
        --brand: #ffd21e;
        --text: var(--mist);
        --paper: var(--mist);
        --muted: #a7b0c2;
        --success: #27e7a1;
        --font-body: var(--body);
        --app-border: var(--line);
        --app-radius-lg: 8px;
      }

      .signup-plan-title {
        font-size: clamp(1.6rem, 2.4vw, 2.2rem);
      }

      /* Audit 2026-09-25, P1-1 : un seul en-tete public. Les pages publiques servies par le
         serveur ajoutaient « Accueil » (le logo y mene deja) et un logo de 78x48 contre 91x56
         sur la vitrine : memes liens, meme logo. */
      .topbar:not(:has(.nav--app)) .brand-logo {
        height: clamp(46px, 4.2vw, 56px);
      }

      @media (max-width: 680px) {
        .topbar:not(:has(.nav--app)) .brand-logo {
          height: 40px;
        }
      }

      /* Audit 2026-09-25, P2-3 : au doigt, le selecteur de langue et les liens de pied de page
         faisaient 32 px. Cible tactile de 44 px. */
      @media (pointer: coarse), (max-width: 760px) {
        .language-switch a,
        .site-footer nav a {
          min-width: 44px;
          min-height: 44px;
        }
      }
