        .hero-shell {
            position: relative;
            overflow: hidden;
            border: 1px solid var(--line);
            border-radius: 28px;
            background:
                linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 99%, var(--paper)), color-mix(in srgb, var(--paper-strong) 95%, var(--paper))),
                radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--theme-gradient-start) 34%, transparent), transparent 20%),
                radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--accent-secondary) 28%, transparent), transparent 20%),
                radial-gradient(circle at 60% 10%, color-mix(in srgb, var(--paper-strong) 72%, transparent), transparent 16%);
            box-shadow: var(--shadow-soft);
        }
        html[data-theme-key="bon-pote"] .hero-shell {
            background:
                linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 99%, var(--paper)), color-mix(in srgb, var(--paper-strong) 95%, var(--paper))),
                radial-gradient(circle at 86% 14%, color-mix(in srgb, var(--theme-gradient-start) 26%, transparent), transparent 20%),
                radial-gradient(circle at 16% 84%, color-mix(in srgb, var(--accent-secondary) 18%, transparent), transparent 18%);
            box-shadow: 0 18px 36px rgba(21, 37, 61, 0.055);
        }
        .hero-shell::before {
            content: '';
            position: absolute;
            inset: 0;
            background:
                repeating-linear-gradient(0deg, transparent, transparent 36px, rgba(22,49,74,0.02) 37px),
                repeating-linear-gradient(90deg, transparent, transparent 36px, rgba(22,49,74,0.015) 37px);
            pointer-events: none;
        }
        html[data-theme-key="bon-pote"] .hero-shell::before {
            background:
                repeating-linear-gradient(0deg, transparent, transparent 36px, rgba(21,37,61,0.018) 37px),
                repeating-linear-gradient(90deg, transparent, transparent 36px, rgba(21,37,61,0.012) 37px);
        }
        .section-shell {
            position: relative;
            overflow: hidden;
            padding: 1.4rem;
            border: 1px solid var(--line);
            border-radius: var(--radius-xl);
            background: color-mix(in srgb, var(--paper-strong) 95%, transparent);
            box-shadow: var(--shadow-card);
        }
        @media (min-width: 768px) {
            .section-shell {
                padding: 1.75rem;
            }
        }
        .section-shell::before {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 34%, transparent), transparent 14%);
            pointer-events: none;
        }
        .section-header {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 0.9rem;
            margin-bottom: 1.8rem;
            padding-bottom: 1.25rem;
            border-bottom: 1px solid var(--line);
        }
        .section-kicker {
            font-size: 0.72rem;
            letter-spacing: 0.24em;
            text-transform: uppercase;
            font-weight: 700;
            color: var(--vintage-blue);
        }
        .paper-card {
            border: 1px solid var(--line);
            border-radius: 18px;
            background: color-mix(in srgb, var(--paper-strong) 96%, transparent);
            box-shadow: 0 10px 20px rgba(31, 31, 28, 0.05);
        }
        .paper-card--event {
            border-color: color-mix(in srgb, var(--accent-secondary) 28%, var(--line));
            background:
                linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 99%, var(--paper)), color-mix(in srgb, var(--paper-strong) 95%, var(--paper))),
                radial-gradient(circle at top right, color-mix(in srgb, var(--theme-gradient-start) 24%, transparent), transparent 28%),
                radial-gradient(circle at 16% 10%, color-mix(in srgb, var(--paper-strong) 58%, transparent), transparent 18%);
            box-shadow: 0 14px 28px rgba(11, 95, 255, 0.1);
        }
        html[data-theme-key="bon-pote"] .paper-card--event {
            border-color: color-mix(in srgb, var(--accent-secondary) 24%, var(--line));
            background:
                linear-gradient(180deg, color-mix(in srgb, var(--paper-strong) 99%, var(--paper)), color-mix(in srgb, var(--paper-strong) 96%, var(--paper))),
                radial-gradient(circle at top right, color-mix(in srgb, var(--theme-gradient-start) 18%, transparent), transparent 26%);
            box-shadow: 0 14px 28px rgba(21, 37, 61, 0.075);
        }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--muted);
        }
        @media (min-width: 1024px) {
            .eyebrow {
                margin-top: 2rem;
            }
        }
        .category-chip {
            display: inline-flex;
            align-items: center;
            padding: 0.28rem 0.75rem;
            border-radius: 999px;
            border: 1px solid var(--line);
            background: color-mix(in srgb, var(--paper-strong) 96%, transparent);
            font-size: 0.68rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }
        .action-pill {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 46px;
            padding: 0.9rem 1.1rem;
            border-radius: 999px;
            font-size: 0.78rem;
            font-weight: 800;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }
        .action-pill:hover {
            transform: translateY(-1px);
        }
        .action-pill--primary,
        .action-pill--secondary,
        .action-pill--tertiary,
        .action-pill--quaternary {
            color: var(--cta-on-accent, #fff);
            box-shadow: 0 14px 26px color-mix(in srgb, var(--ink) 16%, transparent);
        }
        .action-pill--primary {
            background: linear-gradient(135deg, var(--accent-primary), color-mix(in srgb, var(--accent-primary) 72%, #ffffff));
        }
        .action-pill--secondary {
            background: linear-gradient(135deg, #0a47c6, var(--accent-primary));
        }
        .action-pill--tertiary {
            background: linear-gradient(135deg, var(--accent-secondary), color-mix(in srgb, var(--accent-secondary) 72%, #ffffff));
        }
        html[data-theme-key="bon-pote"] .action-pill--tertiary {
            background: linear-gradient(135deg, var(--accent-primary), color-mix(in srgb, var(--accent-primary) 74%, var(--accent-secondary)));
        }
        .action-pill--quaternary {
            background: linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 60%, var(--accent-secondary)), color-mix(in srgb, var(--accent-tertiary) 58%, var(--accent-primary)));
        }
        .list-card + .list-card {
            margin-top: 0.9rem;
        }
        .home-spotlight-stack {
            display: grid;
            gap: 1.5rem;
        }
        .home-secondary-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1rem;
        }
        .home-article-media {
            margin: 0 0 1rem;
            border: 1px solid var(--line);
            border-radius: 14px;
            overflow: hidden;
            aspect-ratio: 16 / 9;
            background: color-mix(in srgb, var(--paper-strong) 92%, transparent);
        }
        .home-article-media img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .home-article-media--hero {
            margin-bottom: 1rem;
        }
        .home-article-media--featured {
            margin-bottom: 1.2rem;
        }
        .home-article-media--compact {
            margin-bottom: 0.9rem;
        }
        @media (min-width: 1024px) {
            .home-secondary-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        .quick-link-card {
            position: relative;
            overflow: hidden;
        }
        .quick-link-media {
            margin: 0 0 0.9rem;
            border: 1px solid var(--line);
            border-radius: 12px;
            overflow: hidden;
            aspect-ratio: 16 / 9;
            background: color-mix(in srgb, var(--paper-strong) 92%, transparent);
        }
        .quick-link-media img {
            display: block;
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .quick-link-card::before {
            content: '';
            position: absolute;
            inset: 0 auto 0 0;
            width: 5px;
            background: var(--quick-link-accent, var(--accent-primary));
        }
        .quick-link-card::after {
            content: '';
            position: absolute;
            inset: auto 0 0 0;
            height: 1px;
            background: linear-gradient(90deg, var(--quick-link-accent-soft, color-mix(in srgb, var(--accent-primary) 14%, transparent)), transparent 70%);
        }
        .quick-link-chip {
            color: var(--quick-link-accent, var(--accent-primary));
        }
        .quick-link-accent--brown {
            --quick-link-accent: color-mix(in srgb, var(--accent-primary) 78%, white);
            --quick-link-accent-soft: color-mix(in srgb, var(--accent-primary) 14%, transparent);
        }
        .quick-link-accent--green {
            --quick-link-accent: var(--accent-secondary);
            --quick-link-accent-soft: color-mix(in srgb, var(--accent-secondary) 18%, transparent);
        }
        .quick-link-accent--blue {
            --quick-link-accent: var(--accent-primary);
            --quick-link-accent-soft: color-mix(in srgb, var(--accent-primary) 18%, transparent);
        }
        .quick-link-chip--brown {
            color: color-mix(in srgb, var(--accent-primary) 78%, white);
        }
        .quick-link-chip--green {
            color: var(--accent-secondary);
        }
        .quick-link-chip--blue {
            color: var(--accent-primary);
        }
        .hero-spotlight-slide[hidden] {
            display: none !important;
        }
        .hero-spotlight-controls {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 0.9rem;
            margin-top: 1.1rem;
            padding-top: 1rem;
            border-top: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
        }
        .hero-spotlight-nav {
            display: inline-flex;
            align-items: center;
            gap: 0.6rem;
        }
        .hero-spotlight-arrow {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.5rem;
            height: 2.5rem;
            border: 1px solid var(--line);
            border-radius: 999px;
            background: color-mix(in srgb, var(--paper-strong) 96%, transparent);
            color: var(--ink);
            font-size: 1rem;
            line-height: 1;
            transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
        }
        .hero-spotlight-arrow:hover {
            transform: translateY(-1px);
            background: color-mix(in srgb, var(--accent-secondary) 10%, var(--paper-strong));
            box-shadow: 0 10px 18px rgba(22, 49, 74, 0.08);
        }
        html[data-theme-key="bon-pote"] .hero-spotlight-arrow:hover {
            background: color-mix(in srgb, var(--theme-gradient-start) 18%, var(--paper-strong));
        }
        .hero-spotlight-dots {
            display: inline-flex;
            align-items: center;
            gap: 0.45rem;
        }
        .hero-spotlight-dot {
            width: 0.72rem;
            height: 0.72rem;
            border: none;
            border-radius: 999px;
            background: rgba(22, 49, 74, 0.16);
            transition: transform 0.2s ease, background 0.2s ease;
        }
        .hero-spotlight-dot[aria-pressed="true"] {
            background: var(--vintage-blue);
            transform: scale(1.08);
        }
        .hero-spotlight-counter {
            font-size: 0.72rem;
            font-weight: 800;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            color: var(--muted);
        }

        html[data-theme-key="sombre"] .hero-shell h1,
        html[data-theme-key="sombre"] .hero-shell h2,
        html[data-theme-key="sombre"] .hero-shell h3,
        html[data-theme-key="sombre"] .section-shell h1,
        html[data-theme-key="sombre"] .section-shell h2,
        html[data-theme-key="sombre"] .section-shell h3,
        html[data-theme-key="sombre"] .paper-card h1,
        html[data-theme-key="sombre"] .paper-card h2,
        html[data-theme-key="sombre"] .paper-card h3,
        html[data-theme-key="sombre"] .quick-link-card h3 {
            color: var(--heading, #ffffff) !important;
            text-shadow: 0 1px 18px rgba(0, 0, 0, 0.24);
        }

        html[data-theme-key="sombre"] .paper-card p,
        html[data-theme-key="sombre"] .section-shell p {
            color: color-mix(in srgb, var(--heading-muted, var(--muted)) 88%, #ffffff);
        }
        html[data-theme-key="sombre"] .hero-shell {
            border-color: color-mix(in srgb, var(--line) 78%, transparent);
            background:
                linear-gradient(180deg, color-mix(in srgb, var(--surface) 90%, #020617), color-mix(in srgb, var(--paper) 95%, #020617)),
                radial-gradient(circle at 88% 16%, color-mix(in srgb, var(--accent-secondary) 18%, transparent), transparent 20%),
                radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--accent-primary) 16%, transparent), transparent 20%);
            box-shadow: 0 18px 36px rgba(0, 0, 0, 0.34);
        }
        html[data-theme-key="sombre"] .hero-shell::before {
            background:
                repeating-linear-gradient(0deg, transparent, transparent 36px, color-mix(in srgb, #ffffff 6%, transparent) 37px),
                repeating-linear-gradient(90deg, transparent, transparent 36px, color-mix(in srgb, #ffffff 4%, transparent) 37px);
        }
