        :root {
            --orange:       #dc4f0a;
            --orange-dark:  #b63e07;
            --orange-light: rgba(220,79,10,.08);
            --taupe:        #76685f;
            --taupe-dark:   #3d3630;
            --taupe-light:  #f5f1ee;
            --taupe-border: #ddd5cf;
            --surface:      #fcfbf9;
            --white:        #ffffff;
            --bs-primary: #76685f;
            --bs-secondary: #dc4f0a;
            --background: #fcfbf9;
            --surface-variant: #f5f1ee;
        }

        body {
            font-family: 'Barlow Condensed', sans-serif;
            background-color: var(--surface);
            color: var(--taupe-dark);
        }

        h1, h2, h3, h4, h5, h6,
        .font-headline, .btn, .nav-link {
            font-family: 'Barlow Condensed', sans-serif;
            text-transform: uppercase;
        }

        .text-primary-custom   { color: var(--taupe)  !important; }
        .text-secondary-custom { color: var(--orange) !important; }
        .bg-primary-custom     { background-color: var(--taupe)  !important; }
        .bg-secondary-custom   { background-color: var(--orange) !important; }

        .btn-orange {
            background-color: var(--orange); color: white;
            border-radius: 0.5rem; padding: 0.75rem 2rem; font-weight: 700;
            border: none; transition: all 0.3s ease;
        }
        .btn-orange:hover { background-color: #c44509; color: white; transform: translateY(-2px); }

        .btn-outline-taupe {
            border: 2px solid var(--taupe); color: var(--taupe);
            border-radius: 0.5rem; padding: 0.75rem 2rem; font-weight: 700;
            background: transparent; transition: all 0.3s ease;
        }
        .btn-outline-taupe:hover { background-color: var(--taupe); color: white; }

        /* Hero */
        .hero-video-section {
            height: 85vh; min-height: 600px;
            position: relative; background-color: #000;
            display: flex; align-items: center; overflow: hidden;
        }
        .hero-bg {
            position: absolute; top: 0; left: 0; width: 100%; height: 100%;
            object-fit: cover; opacity: 0.5; filter: sepia(0.3) contrast(1.1);
        }
        .hero-overlay {
            position: absolute; inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,.8) 0%, transparent 100%);
        }

        /* Stats */
        .stat-item .display-3 { font-weight: 700; color: var(--orange); margin-bottom: 0; }
        .stat-label {
            font-size: .78rem; letter-spacing: .16em; text-transform: uppercase;
            font-weight: 600; color: var(--taupe); margin-bottom: 0;
        }

        /* Bento Grid */
        .bento-grid {
            display: grid; grid-template-columns: repeat(4, 1fr);
            grid-auto-rows: 250px; gap: 1.5rem;
        }
        @media (max-width: 991px) { .bento-grid { grid-template-columns: repeat(2, 1fr); } }
        @media (max-width: 575px) { .bento-grid { grid-template-columns: 1fr; grid-auto-rows: 300px; } }

        .bento-item {
            position: relative; border-radius: 0.5rem;
            overflow: hidden; background-color: var(--taupe);
        }
        .bento-item-lg  { grid-column: span 2; grid-row: span 2; }
        .bento-item-wide { grid-column: span 2; }
        .bento-content {
            position: absolute; bottom: 0; left: 0; width: 100%; padding: 1.5rem;
            background: linear-gradient(transparent, rgba(0,0,0,.95)); color: white;
        }

        header {
            background-color: rgba(255,255,255,1);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid var(--surface-variant);
        }

        .card { border: none; border-radius: 0.5rem; transition: transform .3s ease; }
        .card .card-img-top { aspect-ratio: 1; object-fit: cover; }
        .card:hover { transform: translateY(-5px); }

        .grayscale { filter: grayscale(100%); transition: filter .3s; }
        .grayscale:hover { filter: grayscale(0%); }

        .ls-wide { letter-spacing: .2em; }

        .stat-number { transition: transform .35s cubic-bezier(.2,.8,.2,1); will-change: transform; }
        .stat-item.in-view .stat-number { transform: scale(1.04); }

        /* Slot counter */
        .slot-counter {
            display: inline-flex; overflow: hidden; height: 1.2em; line-height: 1.2em;
            font-size: clamp(2.6rem, 5vw, 4.4rem); font-weight: 700; letter-spacing: -.02em;
            color: var(--orange); text-shadow: 0 1px 1px rgba(61,54,48,.12);
            -webkit-font-smoothing: antialiased; transform: translateZ(0);
        }
        .slot-digit {
            position: relative; width: .72em; height: 1.2em;
            overflow: hidden; border-radius: .12em;
        }
        .slot-track {
            position: absolute; left: 0; top: 0; width: 100%;
            will-change: transform; transition-timing-function: cubic-bezier(.12,.85,.1,1);
        }
        .slot-track span { display: block; height: 1.2em; text-align: center; transform: translateZ(0); }
        .slot-digit.stopped { animation: bumpPremium .42s cubic-bezier(.2,.9,.2,1); }
        .slot-suffix { display: flex; align-items: center; justify-content: center; padding-left: .15em; color: var(--orange); font-weight: 800; opacity: .95; }
        @keyframes bumpPremium {
            0%   { transform: scale(1); filter: brightness(1); }
            35%  { transform: scale(1.18); filter: brightness(1.3); }
            60%  { transform: scale(0.98); }
            100% { transform: scale(1); filter: brightness(1); }
        }

        /* Typographie éditoriale */
        .font-display { font-family: 'Playfair Display', serif; text-transform: none; font-weight: 600; letter-spacing: 0; }

        .rounded-pill, .rounded, .rounded-1, .rounded-2, .rounded-3, .rounded-4, .rounded-5 {
            border-radius: 0.5rem !important;
        }

        /* Stats section */
        .stats-section { background: var(--white); }
        .stat-item { position: relative; padding: .5rem 1rem; }
        @media (min-width: 992px) {
            .stat-item:not(:last-child)::after {
                content: ""; position: absolute; right: 0; top: 22%;
                height: 56%; width: 1px; background: var(--taupe-border);
            }
            /* 6 chiffres sur 3 colonnes : pas de séparateur en bout de ligne. */
            .stat-item:nth-child(3n)::after { content: none; }
        }
        .stat-rule {
            display: block; width: 0; height: 3px; border-radius: 2px;
            background: var(--orange); margin: .6rem auto .8rem; opacity: 0;
            transition: opacity .5s .35s ease, width .6s .35s cubic-bezier(.2,.8,.2,1);
        }
        .stat-item.in-view .stat-rule { opacity: 1; width: 44px; }
        .stat-eyebrow {
            font-family: 'Barlow Condensed', sans-serif; letter-spacing: .22em;
            text-transform: uppercase; font-size: .85rem; font-weight: 700; color: var(--orange);
        }
        .slot-suffix { display: inline-block; }

        /* Partenaires historiques */
        .hist-logo {
            height: 44px; width: auto; max-width: 160px; object-fit: contain;
            filter: grayscale(1); opacity: .55; transition: filter .3s ease, opacity .3s ease;
        }
        .hist-logo:hover { filter: grayscale(0); opacity: 1; }

        /* Citation pull-quote */
        .testimonial-section {
            position: relative; background: var(--taupe-dark); color: var(--taupe-light);
            padding: clamp(4rem, 9vw, 7rem) 0; text-align: center; overflow: hidden;
        }
        .testimonial-section .container { max-width: 880px; }
        .testimonial-mark {
            display: block; font-family: 'Playfair Display', serif; font-weight: 700;
            font-size: clamp(5rem, 13vw, 9rem); line-height: .7; color: var(--orange);
            opacity: .22; margin-bottom: .1em; user-select: none;
        }
        .testimonial-quote {
            font-family: 'Playfair Display', serif; font-style: italic; font-weight: 500;
            font-size: clamp(1.45rem, 3.1vw, 2.35rem); line-height: 1.42; color: #f3ede8;
            max-width: 42ch; margin: 0 auto 1.75rem; text-wrap: balance;
        }
        .testimonial-rule {
            display: block; width: 48px; height: 3px; border-radius: 2px;
            background: var(--orange); margin: 0 auto 1.5rem;
        }
        .testimonial-cite { font-style: normal; display: block; margin-bottom: 2.5rem; }
        .testimonial-name {
            display: block; font-family: 'Barlow Condensed', sans-serif;
            text-transform: uppercase; letter-spacing: .18em; font-weight: 700;
            font-size: 1.15rem; color: #ffffff;
        }
        .testimonial-role {
            display: block; margin-top: .4rem; font-family: 'Barlow Condensed', sans-serif;
            text-transform: uppercase; letter-spacing: .14em; font-weight: 500;
            font-size: .85rem; color: var(--taupe-border);
        }
        .testimonial-btn {
            border: 1.5px solid rgba(245,241,238,.35); color: var(--taupe-light);
            background: transparent; border-radius: .5rem; padding: .7rem 2.2rem;
            font-weight: 700; letter-spacing: .08em;
            transition: background .25s ease, color .25s ease, border-color .25s ease;
        }
        .testimonial-btn:hover { background: var(--taupe-light); color: var(--taupe-dark); border-color: var(--taupe-light); }

        /* ═══════════════════════════════════════════════════════════
           HEADER + NAVIGATION 7 CHAPITRES
        ═══════════════════════════════════════════════════════════ */
        .chi-header {
            position: fixed; top: 0; left: 0; right: 0;
            z-index: 1030; background: white; color: var(--taupe-dark);
            transition: transform .35s ease;
        }
        .chi-header.hide { transform: translateY(-100%); }

        .chi-header-inner {
            display: grid; grid-template-columns: auto 1fr auto;
            align-items: center; gap: 1.25rem;
            padding: .75rem clamp(1rem, 3vw, 2rem);
            max-width: 1700px; margin: 0 auto;
        }

        .chi-header-logos { display: flex; align-items: center; gap: 1.1rem; min-width: 0; }
        .chi-logo-link { display: inline-flex; align-items: center; }
        .chi-logo { height: 72px; width: auto; background: #fff; border-radius: 0.5rem; padding-right: 22px; }
        .chi-rolex-slot { width: 260px; height: 82px; flex-shrink: 0; }
        .chi-rolex-card { width: 260px; height: 82px; background: #fff; border-radius: 0.5rem; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.18); }
        .chi-rolex-card iframe { width: 260px; height: 82px; display: block; border: 0; }
        .chi-ubs { height: 22px; width: auto; opacity: .8; }

        .chi-header-actions { display: flex; align-items: center; gap: .65rem; justify-self: end; }
        .chi-link-back {
            display: inline-flex; align-items: center; gap: .4rem;
            color: var(--taupe-dark); text-decoration: none;
            font-family: 'Barlow Condensed', sans-serif;
            font-size: .82rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
            padding: .55rem .65rem; transition: color .2s, opacity .2s; min-height: 44px;
        }
        .chi-link-back:hover { color: var(--orange); }
        .chi-link-back i { font-size: 1.1rem; }

        .chi-menu-toggle {
            display: inline-flex; align-items: center; justify-content: center;
            width: 44px; height: 44px; background: transparent;
            border: 1.5px solid var(--taupe-dark); border-radius: 0.5rem;
            color: var(--taupe-dark); cursor: pointer; transition: border-color .2s, color .2s;
        }
        .chi-menu-toggle:hover { border-color: var(--orange); color: var(--orange); }
        .chi-menu-toggle i { font-size: 1.3rem; }

        /* Navigation overlay */
        .chapter-nav {
            position: fixed; inset: 0; background: var(--taupe-dark); color: var(--taupe-light);
            z-index: 1029; padding-top: 110px;
            opacity: 0; visibility: hidden; pointer-events: none;
            transition: opacity .4s ease, visibility .4s; overflow-y: auto;
        }
        .chapter-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; }
        body.chapter-nav-open { overflow: hidden; }

        .chapter-nav-inner {
            max-width: 980px; margin: 0 auto;
            padding: clamp(1.5rem, 4vw, 3rem) clamp(1.25rem, 4vw, 3rem);
            min-height: calc(100% - 110px); display: flex; flex-direction: column;
        }
        .chapter-nav-eyebrow {
            display: inline-flex; align-items: center; gap: .55rem;
            font-family: 'Barlow Condensed', sans-serif; font-size: .82rem; font-weight: 700;
            letter-spacing: .22em; text-transform: uppercase; color: var(--orange); margin-bottom: 2.5rem;
        }
        .chapter-nav-dash { letter-spacing: 0; }

        .chapter-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; }
        .chapter-item { border-bottom: 1px solid rgba(245,241,238,.14); }
        .chapter-item:first-child { border-top: 1px solid rgba(245,241,238,.14); }

        .chapter-link {
            display: flex; align-items: center; gap: 1.5rem;
            padding: .8rem .15rem; text-decoration: none;
            color: rgba(245,241,238,.55); font-family: 'Barlow Condensed', sans-serif;
            transition: color .25s ease, padding-left .25s ease, background .25s ease; min-height: 50px;
        }
        a.chapter-link:hover, a.chapter-link:focus {
            color: var(--taupe-light); padding-left: 1rem;
            background: linear-gradient(to right, rgba(220,79,10,.06), transparent 80%);
        }
        .chapter-item.is-active .chapter-link { color: #fff; }
        .chapter-item.is-active .chapter-num { color: var(--orange); }

        .chapter-num { flex-shrink: 0; width: 44px; font-size: .82rem; font-weight: 700; letter-spacing: .14em; color: var(--orange); opacity: .85; }
        .chapter-item.is-locked .chapter-num { color: rgba(245,241,238,.3); }

        .chapter-body { flex: 1; min-width: 0; display: flex; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
        .chapter-title { font-size: clamp(1.4rem, 3vw, 1.95rem); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.1; }
        .chapter-period { font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(245,241,238,.4); font-weight: 500; white-space: nowrap; }
        .chapter-item.is-locked .chapter-link { cursor: not-allowed; }
        .chapter-soon {
            flex-shrink: 0; display: inline-flex; align-items: center;
            font-size: .65rem; letter-spacing: .2em; text-transform: uppercase;
            color: var(--orange); background: rgba(220,79,10,.12);
            border: 1px solid rgba(220,79,10,.35); padding: 4px 10px;
            border-radius: 4px; font-weight: 700; line-height: 1; height: 22px;
        }

        .chapter-nav-footer {
            margin-top: auto; padding-top: 3rem;
            display: flex; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 1.25rem;
        }
        .chapter-nav-copy {
            font-family: 'Barlow Condensed', sans-serif; font-size: .78rem;
            letter-spacing: .18em; text-transform: uppercase; color: rgba(245,241,238,.4);
        }

        .chapter-extra { margin-top: 2.5rem; }
        .chapter-extra-eyebrow {
            display: block; font-family: 'Barlow Condensed', sans-serif;
            font-size: .82rem; letter-spacing: .22em; text-transform: uppercase;
            font-weight: 700; color: var(--orange); margin-bottom: 1.25rem;
        }
        .chapter-extra-list {
            list-style: none; padding: 0; margin: 0;
            display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem;
        }

        /* News cards */
        .news-card { border: none; border-radius: 0.5rem; overflow: hidden; background: #fff; box-shadow: 0 4px 12px rgba(61,54,48,.08); transition: transform .3s, box-shadow .3s; }
        .news-card:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(61,54,48,.12); }
        .news-card-img { height: 220px; overflow: hidden; }
        .news-card img { width: 100%; height: 220px; object-fit: cover; transition: transform .5s; }
        .news-card:hover img { transform: scale(1.05); }
        .news-card h3 { transition: color .2s; }
        .news-card:hover h3 { color: var(--orange); }
        .chapter-extra-link {
            display: flex; align-items: center; gap: .75rem;
            padding: 1rem 1.25rem; background: rgba(245,241,238,.04);
            border: 1px solid rgba(245,241,238,.14); border-radius: 0.5rem;
            color: rgba(245,241,238,.85); text-decoration: none;
            font-family: 'Barlow Condensed', sans-serif; font-weight: 600;
            font-size: .95rem; letter-spacing: .04em; text-transform: uppercase;
            transition: background .25s, border-color .25s, color .25s, transform .25s; min-height: 56px;
        }
        .chapter-extra-link:hover, .chapter-extra-link:focus {
            background: rgba(220,79,10,.1); border-color: var(--orange); color: #fff; transform: translateY(-2px);
        }
        .chapter-extra-link > i:first-child { font-size: 1.2rem; color: var(--orange); flex-shrink: 0; }
        .chapter-extra-link > span { flex: 1; line-height: 1.2; }
        .chapter-extra-arrow { font-size: 1rem; opacity: .5; transition: opacity .2s, transform .25s; }
        .chapter-extra-link:hover .chapter-extra-arrow { opacity: 1; transform: translate(2px, -2px); }
        @media (max-width: 767.98px) { .chapter-extra-list { grid-template-columns: 1fr; gap: .65rem; } .chapter-extra { margin-top: 2rem; } }

        main { margin-top: 98px !important; }

        /* Header responsive */
        @media (max-width: 1299.98px) {
            .chi-rolex-slot { width: 200px; height: 63px; }
            .chi-rolex-card { transform: scale(.77); transform-origin: left top; }
            .chi-logo { height: 52px; padding: 0; }
            .chi-header-logos { gap: .85rem; }
        }
        @media (max-width: 1023.98px) {
            .chi-rolex-slot { display: block; }
            .chi-ubs { height: 22px; }
            .chi-logo { height: 52px; }
            main { margin-top: 78px !important; }
            .chapter-nav { padding-top: 78px; }
            .chapter-nav-inner { min-height: calc(100% - 78px); }
        }
        @media (max-width: 767.98px) {
            .chi-header-inner { gap: .4rem; padding: .5rem .5rem; }
            .chi-header-logos { gap: .65rem; }
            .chi-logo { height: 52px; }
            .chi-ubs { height: 22px; opacity: .7; }
            .chi-link-back .d-md-inline { display: none !important; }
            main { margin-top: 64px !important; }
            .chapter-nav { padding-top: 64px; }
            .chapter-nav-inner { min-height: calc(100% - 64px); }
        }
        @media (max-width: 480px) {
            .chi-logo { height: 52px; }
            .chapter-link { flex-wrap: wrap; gap: .6rem 1rem; padding: 1rem .25rem; }
            .chapter-num { width: 36px; }
            .chapter-body { flex-direction: column; align-items: flex-start; gap: .25rem; }
            .chapter-title { font-size: 1.15rem; }
            .chapter-period { font-size: .7rem; letter-spacing: .12em; }
            .chapter-soon { order: 3; font-size: .58rem; padding: 3px 8px; height: 20px; margin-left: 36px; }
        }
        @media (max-width: 380px) {
            .chi-ubs { display: inline-block; height: 18px; opacity: .75; }
            .chi-link-back { padding: .55rem .35rem; }
        }

        /* ══════════════════════════════════════════════════════════
           LISTING NEWS 100 ANS — habillage du module News (List.html rendu via {{Content}}).
           List.html emploie les classes du site principal (.newsEl, .default-title…),
           absentes de styles.css ici → on les stylise façon .news-card. Scopé .c100.
        ══════════════════════════════════════════════════════════ */
        .pageTitle {
            font-family: 'Playfair Display', serif; font-weight: 600;
            font-size: clamp(2rem, 4.5vw, 3.2rem); line-height: 1.1;
            color: var(--taupe-dark); margin: 0 0 2.5rem;
        }
        .infinitListing .listing-item.row { --bs-gutter-x: 1.75rem; --bs-gutter-y: 1.75rem; }
        .newsEl {
            position: relative; display: flex; flex-direction: column; height: 100%;
            background: #fff; border-radius: 0.5rem; overflow: hidden;
            box-shadow: 0 4px 12px rgba(61,54,48,.08);
            transition: transform .3s, box-shadow .3s;
        }
        .newsEl:hover { transform: translateY(-6px); box-shadow: 0 20px 40px rgba(61,54,48,.12); }
        .newsEl .BlocImage { height: 220px; overflow: hidden; flex: 0 0 auto; }
        .newsEl .BlocImage picture,
        .newsEl .BlocImage img { display: block; width: 100%; height: 220px; object-fit: cover; transition: transform .5s; }
        .newsEl:hover .BlocImage img { transform: scale(1.05); }
        .newsEl .content { padding: 1.5rem; display: flex; flex-direction: column; gap: .5rem; }
        .newsEl .top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
        .newsEl .date {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 600;
            text-transform: uppercase; letter-spacing: .06em; font-size: .82rem; color: var(--orange);
        }
        .newsEl .tag { display: none; }
        .newsEl .default-title {
            font-family: 'Barlow Condensed', sans-serif; font-weight: 700;
            font-size: 1.35rem; line-height: 1.15; color: var(--taupe-dark); margin: 0;
            transition: color .2s;
        }
        .newsEl:hover .default-title { color: var(--orange); }
        .newsEl .description { font-size: .98rem; line-height: 1.6; color: var(--taupe); margin: 0; }
        /* Le lien du site principal (.hoverLink) recouvre toute la carte → carte cliquable, texte masqué */
        .newsEl .hoverLink {
            position: absolute; inset: 0; z-index: 3;
            overflow: hidden; text-indent: -9999px; white-space: nowrap;
        }
        @media (max-width: 767.98px) {
            .newsEl .BlocImage,
            .newsEl .BlocImage img,
            .newsEl .BlocImage picture { height: 200px; }
        }
        /* ══════════════════════════════════════════════════════════
           DÉTAIL NEWS 100 ANS — habillage de News/Detail.html (héro + typo + actions).
           Repris de styles.css (site de base), couleurs → vars 100 ans, SCOPÉ .news-detail
           (n'affecte pas les chapitres). Helpers .text-primary-custom/.bg-secondary-custom déjà définis plus haut.
        ══════════════════════════════════════════════════════════ */
        /* Corps de l'article */
        .news-detail .chi-content-body { color: var(--taupe-dark); line-height: 1.7; }
        .news-detail .chi-content-body h1, .news-detail .chi-content-body h2, .news-detail .chi-content-body h3,
        .news-detail .chi-content-body h4, .news-detail .chi-content-body h5, .news-detail .chi-content-body h6 {
            font-family: 'Barlow Condensed', sans-serif; text-transform: uppercase;
            color: var(--taupe); font-weight: 700; line-height: 1.1; letter-spacing: .02em;
        }
        .news-detail .chi-content-body h2 { font-size: 2rem; margin: 2.5rem 0 1rem; padding-bottom: .6rem; position: relative; }
        .news-detail .chi-content-body h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 3rem; height: 3px; background: var(--orange); border-radius: 2px; }
        .news-detail .chi-content-body h3 { font-size: 1.55rem; margin: 2rem 0 .75rem; font-weight: 600; }
        .news-detail .chi-content-body h4 { font-size: 1.3rem; margin: 1.5rem 0 .6rem; font-weight: 600; color: var(--taupe); }
        .news-detail .chi-content-body h5, .news-detail .chi-content-body h6 { font-size: 1.1rem; margin: 1.2rem 0 .5rem; font-weight: 600; }
        .news-detail .chi-content-body .default-subtitle-stroke, .news-detail .chi-content-body .default-subtitle,
        .news-detail .chi-content-body .default-subtitle-red, .news-detail .chi-content-body .wysiwyg-default-subtitle-stroke { color: var(--orange) !important; }
        .news-detail .chi-content-body p { margin: 0 0 1.1rem; }
        .news-detail .chi-content-body strong, .news-detail .chi-content-body b { font-weight: 700; color: var(--taupe-dark); }
        .news-detail .chi-content-body li { margin: 0 0 .4rem; }
        .news-detail .chi-content-body blockquote {
            margin: 1.5rem 0; padding: 1rem 1.4rem;
            border-left: 4px solid var(--orange); background: var(--taupe-light);
            border-radius: 0 .5rem .5rem 0; color: var(--taupe-dark); font-style: italic;
        }
        .news-detail .chi-content-body hr { border: 0; border-top: 1px solid var(--taupe-border); margin: 2rem 0; }
        .news-detail .chi-content-body .lead, .news-detail .chi-content-body .subtitle {
            font-size: 1.2rem; color: var(--taupe); font-weight: 500; line-height: 1.5; margin-bottom: 1.3rem;
        }
        /* Héro : bande pleine largeur, image (gauche) + titre/chapô (droite) */
        .news-detail .news-hero {
            background: #f6f6f6;
            margin-left: calc(50% - 49vw); margin-right: calc(50% - 49vw);
            padding: 4.5rem max(1.5rem, calc(50vw - 640px)); margin-bottom: 3rem;
        }
        .news-detail .news-hero .hero-img-container { position: relative; }
        .news-detail .news-hero .hero-img-container .part { margin: 0; }
        .news-detail .news-hero .hero-img-container picture { display: block; }
        .news-detail .news-hero .hero-img-container img { width: 100%; height: auto; display: block; border-radius: .5rem; box-shadow: 0 1rem 3rem color-mix(in srgb, var(--taupe-dark) 18%, transparent); }
        .news-detail .news-hero .hero-accent { position: absolute; bottom: -20px; left: -16px; width: 120px; height: 120px; border-left: 4px solid var(--orange); border-bottom: 4px solid var(--orange); opacity: .25; }
        .news-detail .news-hero-lead { font-size: 1.25rem; line-height: 1.6; color: var(--taupe); }
        .news-detail .news-hero-lead .part { margin: 0; }
        .news-detail .news-hero-lead p:last-child { margin-bottom: 0; }
        @media (max-width: 768px) {
            .news-detail .news-hero { padding: 2rem 1.25rem; }
            .news-detail .news-hero .display-1 { font-size: 3rem; }
            .news-detail .news-hero .hero-img-container { margin-top: 2.5rem; }
        }
        /* Barre catégorie + partage */
        .news-detail .news-detail-actions {
            display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
            gap: 1rem; list-style: none; padding: 1.5rem 0 0; margin: 2.5rem 0 0;
            border-top: 1px solid var(--taupe-border);
        }
        .news-detail .news-detail-actions > li { margin: 0; padding: 0; }
        .news-detail .replayInfos-subVideo-right { padding-left: 20px; }
        .news-detail .replayInfos-subVideo-shareTitle { margin-top: 21px; font-family: 'Barlow Condensed'; font-size: 1.2em; }
        .news-detail .btn.btn-transparent { background: 0 0; border-color: transparent; color: var(--orange); }
        .news-detail .btn.btn-transparent:hover { text-decoration: none; background: 0 0; border-color: transparent; color: var(--orange-dark); }

        /* ══════════════════════════════════════════════════════════
           FRISE DES 7 CHAPITRES — section « Un siècle d'émotion » (home).
           Cartes sur fond sombre : ouvertes (cliquables) / verrouillées (…).
        ══════════════════════════════════════════════════════════ */
        .siecle-emotion .chapters-frieze { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
        @media (min-width: 768px) { .siecle-emotion .chapters-frieze { grid-template-columns: repeat(4, 1fr); } }
        .chapter-card {
            display: flex; flex-direction: column; gap: .55rem;
            min-height: 200px; padding: 1.5rem;
            border: 1px solid rgba(255,255,255,.22); border-radius: 14px;
            background: rgba(255,255,255,.08); color: #fff; text-decoration: none; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: 0 14px 40px rgba(0,0,0,.35);
            transition: transform .3s ease, border-color .3s ease, background .3s ease;
        }
        .chapter-card-head { display: flex; align-items: baseline; justify-content: space-between; gap: .5rem; }
        .chapter-card-num { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 2.4rem; line-height: 1; color: var(--orange); }
        .chapter-card-period { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; font-size: .8rem; color: var(--taupe-light); opacity: .85; }
        .chapter-card-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; text-transform: uppercase; font-size: 1.15rem; line-height: 1.15; margin: auto 0 0; color: #fff; }
        .chapter-card-cta { font-family: 'Barlow Condensed', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: .82rem; color: var(--orange); display: inline-flex; align-items: center; gap: .4rem; }
        .chapter-card-cta i { transition: transform .3s ease; }
        .chapter-card.is-open:hover { transform: translateY(-6px); border-color: var(--orange); background: rgba(220,79,10,.25); }
        .chapter-card.is-open:hover .chapter-card-cta i { transform: translateX(4px); }
        .chapter-card.is-locked { opacity: .5; cursor: default; }
        .chapter-card.is-locked .chapter-card-num { color: rgba(255,255,255,.55); }
        .chapter-card-badge {
            display: inline-flex; align-items: center; gap: .3rem;
            font-family: 'Barlow Condensed', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: .72rem;
            color: var(--taupe-light); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: .12rem .6rem;
        }
        @media (max-width: 575.98px) { .chapter-card { min-height: 160px; padding: 1.1rem; } .chapter-card-num { font-size: 2rem; } }

        /* Nav 100 ans — compactage mobile (gain d_espace dans le drawer) */
        @media (max-width: 767.98px) {
            .chapter-nav-inner { padding-top: 1.25rem; padding-bottom: 1.5rem; }
            .chapter-nav-eyebrow { margin-bottom: 1.25rem; }
            .chapter-link { padding: .55rem .15rem; min-height: 44px; gap: 1rem; }
            .chapter-extra { margin-top: 1.5rem; }
            .chapter-nav-footer { padding-top: 1.5rem; }
        }
        @media (max-width: 480px) {
            .chapter-link { padding: .55rem .25rem; }
            .chapter-title { font-size: 1.05rem; }
        }

        /* Largeur de contenu alignée sur le site principal (TE_Full) : .max-container = 1280px centré */
        .max-container { max-width: 1280px; margin: 0 auto; }

        /* (4) Détail news : pas d espace blanc au-dessus du héro (comme le site principal) */
        .chi-internal-content:has(.news-detail) > .max-container { padding-top: 0 !important; }
        .chi-internal-content:has(.news-detail) > .max-container > .row { --bs-gutter-y: 0; }
        /* (5) Rolex TOUJOURS visible sur mobile, mis à l échelle pour tenir dans le header */
        @media (max-width: 767.98px) {
            .chi-rolex-slot { display: block; width: 150px; height: 47px; flex-shrink: 0; }
            .chi-rolex-card { transform: scale(.577); transform-origin: left top; }
            .chi-logo { height: 34px; padding-right: 0; }
            .chi-ubs { display: inline-block; height: 18px; opacity: .75; }
            .chi-header-logos { gap: .5rem; }
            .chi-header-inner { gap: .4rem; }
        }
        @media (max-width: 380px) {
            .chi-rolex-slot { width: 130px; height: 41px; }
            .chi-rolex-card { transform: scale(.5); }
            .chi-logo { height: 30px; }
        }

        /* Rolex sur tablette (768-1023) : plus petit que le logo pour ne pas agrandir le header */
        @media (min-width: 768px) and (max-width: 1023.98px) {
            .chi-rolex-slot { display: block; width: 156px; height: 49px; flex-shrink: 0; }
            .chi-rolex-card { transform: scale(.6); transform-origin: left top; }
        }

        /* ══ Sélecteur de langue (header desktop + drawer mobile) ══ */
        .chi-lang { display: inline-flex; align-items: center; gap: .3rem; font-family: 'Barlow Condensed', sans-serif; font-weight: 700; letter-spacing: .06em; }
        .chi-lang-opt { color: var(--taupe); text-decoration: none; font-size: .95rem; line-height: 1; padding: .35rem .3rem; transition: color .2s; }
        .chi-lang-opt:hover, .chi-lang-opt.active { color: var(--orange); }
        .chi-lang-sep { color: var(--taupe-border); font-weight: 400; }
        .chi-lang--drawer .chi-lang-opt { color: rgba(245,241,238,.6); font-size: 1.05rem; padding: .3rem .45rem; }
        .chi-lang--drawer .chi-lang-opt:hover, .chi-lang--drawer .chi-lang-opt.active { color: #fff; }
        .chi-lang--drawer .chi-lang-sep { color: rgba(245,241,238,.3); }
        .chapter-nav-footer { justify-content: space-between; }

        /* ══ Horloge Rolex + UBS dans la barre (desktop) / bulle UBS (mobile) — classes dédiées = header identique sur tous les chapitres ══ */
        .chi-header-inner { position: relative; z-index: 2; }
        /* Horloge Rolex : toujours dans la barre */
        .chi-bar-clock { width: 260px; height: 82px; overflow: hidden; flex-shrink: 0; border-radius: .4rem; }
        .chi-bar-clock iframe { display: block; border: 0; }
        /* Logo UBS dans la barre (desktop) */
        .chi-bar-ubs { display: inline-flex; align-items: center; flex-shrink: 0; }
        .chi-bar-ubs img { display: block; height: 30px; width: auto; opacity: .85; transition: opacity .2s; }
        .chi-bar-ubs:hover img { opacity: 1; }
        /* Bulle UBS (mobile) — cachée en desktop */
        .chi-rolex-bubble { position: absolute; top: 100%; right: 1rem; z-index: -1; display: none; align-items: center; background: #fff; border-radius: 0 0 .8rem .8rem; padding: .45rem 1.1rem .6rem; box-shadow: 0 12px 26px rgba(61,54,48,.14); transition: transform .45s cubic-bezier(.4,0,.2,1), opacity .35s ease; }
        .chi-bubble-ubs { display: inline-flex; align-items: center; }
        .chi-bubble-ubs .chi-ubs { display: block !important; height: 26px; width: auto; opacity: .9; }
        .chi-header.bubble-closed .chi-rolex-bubble { transform: translateY(-130%); opacity: 0; pointer-events: none; }
        @media (max-width: 767.98px) {
            .chi-lang { display: none; }
            .chi-bar-ubs { display: none; }
            .chi-rolex-bubble { display: inline-flex; }
            .chi-bar-clock { width: 176px; height: 56px; }
            .chi-bar-clock iframe { transform: scale(.677); transform-origin: top left; }
        }
        @media (max-width: 380px) {
            .chi-bar-clock { width: 148px; height: 47px; }
            .chi-bar-clock iframe { transform: scale(.569); transform-origin: top left; }
        }

        /* ══════════════════════════════════════════════════════════
           8e CARRÉ DE LA FRISE — le film du centenaire
           La frise mêle désormais des <a> (chapitres) et un <button>
           (le film) : reset du bouton pour un rendu identique.
        ══════════════════════════════════════════════════════════ */
        .chapter-card--film {
            font: inherit; text-align: left; cursor: pointer;
            border-color: var(--orange);
            background: linear-gradient(145deg, color-mix(in srgb, var(--orange) 26%, transparent), rgba(255,255,255,.06));
        }
        .chapter-card--film .chapter-card-num { display: inline-flex; align-items: center; font-size: 2rem; }
        .chapter-card--film:hover { transform: translateY(-6px); background: linear-gradient(145deg, color-mix(in srgb, var(--orange) 40%, transparent), rgba(255,255,255,.1)); }
        .chapter-card--film:hover .chapter-card-cta i { transform: translateX(4px); }
        .chapter-card--film:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
        /* Vidéo pas encore livrée : on retombe sur le rendu neutre des chapitres
           verrouillés (opacity .5 héritée de .chapter-card.is-locked), sans hover. */
        .chapter-card--film.is-locked,
        .chapter-card--film.is-locked:hover {
            cursor: default; transform: none;
            border-color: rgba(255,255,255,.22);
            background: rgba(255,255,255,.08);
        }
        .chapter-card--film.is-locked .chapter-card-num { color: rgba(255,255,255,.55); }

        /* ══════════════════════════════════════════════════════════
           SECTION FILM PROMOTIONNEL — 7 teasers hebdomadaires + spot entier
           Les cartes en attente portent .is-soon (non cliquables) ; une fois
           la vidéo déposée, .is-soon devient .js-film-open.
        ══════════════════════════════════════════════════════════ */
        .film-section { background: var(--taupe-light); }
        .film-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
        @media (min-width: 576px) { .film-grid { grid-template-columns: repeat(3, 1fr); } }
        @media (min-width: 992px) { .film-grid { grid-template-columns: repeat(4, 1fr); } }

        .film-card {
            position: relative; display: flex; flex-direction: column; gap: .45rem;
            min-height: 172px; padding: 1.35rem;
            border: 1px solid var(--taupe-border); border-radius: 14px;
            background: #fff; color: var(--taupe-dark); text-decoration: none;
            font: inherit; text-align: left;
            box-shadow: 0 10px 28px color-mix(in srgb, var(--taupe-dark) 8%, transparent);
            transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
        }
        .film-card-num { font-family: 'Playfair Display', serif; font-weight: 600; font-size: 2.1rem; line-height: 1; color: var(--orange); }
        .film-card-label { font-family: 'Barlow Condensed', sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: 1.05rem; line-height: 1.15; margin-top: auto; }
        .film-card-desc { font-size: .92rem; line-height: 1.45; color: var(--taupe); }
        .film-card-meta { display: inline-flex; align-items: center; gap: .4rem; font-family: 'Barlow Condensed', sans-serif; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; font-size: .8rem; color: var(--orange); }
        .film-card-meta i { transition: transform .3s ease; }

        /* Carte cliquable (vidéo disponible) */
        .film-card.js-film-open { cursor: pointer; }
        .film-card.js-film-open:hover { transform: translateY(-5px); border-color: var(--orange); box-shadow: 0 16px 38px color-mix(in srgb, var(--taupe-dark) 14%, transparent); }
        .film-card.js-film-open:hover .film-card-meta i { transform: translateX(4px); }
        .film-card.js-film-open:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }

        /* Carte en attente de publication */
        /* Boutons désactivés (teasers non publiés) : on garde notre rendu, pas celui du navigateur. */
        .film-card[disabled] { opacity: 1; }
        .film-card.is-soon { cursor: default; background: color-mix(in srgb, #fff 70%, transparent); border-style: dashed; }
        .film-card.is-soon .film-card-num,
        .film-card.is-soon .film-card-meta { color: var(--taupe); }
        .film-card.is-soon .film-card-label { color: var(--taupe); }

        /* Le spot entier : mise en avant, occupe 2 colonnes dès 576px */
        .film-card--full { background: var(--taupe-dark); color: #fff; border-color: var(--taupe-dark); }
        @media (min-width: 576px) { .film-card--full { grid-column: span 2; } }
        /* 7 teasers + le spot = 8 cartes. Sur 4 colonnes le spot reprend une seule
           colonne : 2 rangées pleines, aucun trou dans la grille. */
        @media (min-width: 992px) { .film-card--full { grid-column: auto; } }
        .film-card--full .film-card-num { color: var(--orange); font-size: 2.4rem; }
        .film-card--full .film-card-desc { color: rgba(245,241,238,.72); }
        .film-card--full.is-soon { background: var(--taupe-dark); border-style: dashed; border-color: color-mix(in srgb, #fff 28%, transparent); }
        .film-card--full.is-soon .film-card-label { color: #fff; }
        .film-card--full.is-soon .film-card-meta { color: rgba(245,241,238,.6); }

        /* ══════════════════════════════════════════════════════════
           MODAL VIDÉO PARTAGÉE (frise + section film)
        ══════════════════════════════════════════════════════════ */
        .film-modal { position: fixed; inset: 0; background: rgba(0,0,0,.92); z-index: 2000; opacity: 0; visibility: hidden; display: flex; align-items: center; justify-content: center; padding: clamp(1rem, 3vw, 3rem); transition: opacity .35s ease, visibility .35s; }
        .film-modal.is-open { opacity: 1; visibility: visible; }
        .film-modal-wrap { width: 100%; max-width: 1280px; aspect-ratio: 16/9; border-radius: .5rem; overflow: hidden; background: #000; box-shadow: 0 30px 80px rgba(0,0,0,.5); }
        .film-modal-wrap video { width: 100%; height: 100%; display: block; background: #000; }
        .film-modal-close { position: absolute; top: clamp(.75rem, 2vw, 1.5rem); right: clamp(.75rem, 2vw, 1.5rem); width: 48px; height: 48px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .2s, transform .2s; }
        .film-modal-close:hover { background: var(--orange); border-color: var(--orange); transform: rotate(90deg); }
        body.film-modal-open { overflow: hidden; }

        /* ══════════════════════════════════════════════════════════
           TIMELINE HORIZONTALE (GSAP timeline + ScrollTrigger, pin)
           Composant partagé, défini ici UNIQUEMENT. Section épinglée :
           le scroll vertical fait défiler le rail à l’horizontale et
           remplit la barre de progression, orchestrés par un seul
           gsap.timeline(). Sur mobile, pas de pin : le rail repasse en
           colonne et se lit normalement (comportement du ch.01/02).
        ══════════════════════════════════════════════════════════ */
        .htl { position: relative; height: 100vh; overflow: hidden; display: flex; align-items: center;
               background: var(--taupe-dark); color: var(--taupe-light); }
        .htl-head { position: absolute; top: clamp(4.5rem, 13vh, 8.5rem); left: 0; right: 0; z-index: 2;
                    text-align: center; padding: 0 clamp(1.25rem, 5vw, 2rem); }
        .htl-eyebrow { display: block; font-family: 'Barlow Condensed', sans-serif; font-size: .8rem; font-weight: 700;
                       letter-spacing: .3em; text-transform: uppercase; color: var(--orange); margin-bottom: .6rem; }
        .htl-title { font-family: 'Playfair Display', serif; font-weight: 600; font-size: clamp(1.5rem, 3.2vw, 2.5rem);
                     line-height: 1.1; margin: 0; color: #fff; }

        /* Le rail : c’est lui que GSAP translate en X */
        .htl-rail { display: flex; align-items: flex-start; width: max-content; padding: 0 12vw; will-change: transform; }
        .htl-node { position: relative; flex: 0 0 auto; width: min(56vw, 400px); padding-right: clamp(1.5rem, 4vw, 3.5rem); }
        /* L’axe : le trait de chaque jalon se raccorde au suivant */
        .htl-node::before { content: ""; position: absolute; top: 7px; left: 0; width: 100%; height: 1px;
                            background: rgba(245,241,238,.18); }
        .htl-node:last-child::before { width: 50%; }
        .htl-dot { position: relative; z-index: 1; width: 14px; height: 14px; border-radius: 50%; background: var(--orange);
                   box-shadow: 0 0 0 6px color-mix(in srgb, var(--orange) 20%, transparent); }
        .htl-year { display: block; font-family: 'Playfair Display', serif; font-weight: 600; line-height: 1;
                    font-size: clamp(2.2rem, 5.5vw, 3.8rem); color: #fff; margin-top: 1.6rem; }
        .htl-label { font-family: 'Barlow Condensed', sans-serif; font-size: clamp(1rem, 1.5vw, 1.18rem); line-height: 1.4;
                     color: rgba(245,241,238,.7); margin: .7rem 0 0; max-width: 30ch; }

        /* Barre de progression + invitation à défiler */
        .htl-bar { position: absolute; z-index: 2; bottom: clamp(3rem, 9vh, 5.5rem);
                   left: clamp(1.25rem, 5vw, 4rem); right: clamp(1.25rem, 5vw, 4rem);
                   height: 2px; background: rgba(245,241,238,.16); border-radius: 2px; overflow: hidden; }
        .htl-fill { display: block; height: 100%; background: var(--orange); transform: scaleX(0); transform-origin: left center; }
        .htl-hint { position: absolute; z-index: 2; bottom: clamp(1.3rem, 4.5vh, 2.6rem); left: 0; right: 0; text-align: center;
                    font-family: 'Barlow Condensed', sans-serif; font-size: .72rem; font-weight: 600; letter-spacing: .24em;
                    text-transform: uppercase; color: rgba(245,241,238,.45); }
        .htl-hint i { font-size: 1rem; vertical-align: -2px; }

        /* Mobile : plus de pin, lecture verticale classique */
        @media (max-width: 767.98px) {
            .htl { height: auto; display: block; padding: 3rem 0 3.5rem; }
            .htl-head { position: static; margin-bottom: 2.25rem; }
            .htl-rail { flex-direction: column; width: auto; padding: 0 clamp(1.25rem, 5vw, 2rem); }
            .htl-node { width: 100%; padding: 0 0 1.9rem 1.6rem; }
            .htl-node::before { top: 7px; left: 6px; width: 1px; height: 100%; }
            .htl-node:last-child::before { height: 0; }
            .htl-dot { position: absolute; top: 0; left: 0; width: 13px; height: 13px; box-shadow: 0 0 0 4px color-mix(in srgb, var(--orange) 20%, transparent); }
            .htl-year { font-size: 1.9rem; margin-top: 0; }
            .htl-label { max-width: none; }
            .htl-bar, .htl-hint { display: none; }
        }

        /* ══════════════════════════════════════════════════════════
           SLIDER HORIZONTAL PLEIN ÉCRAN — règles reprises telles quelles
           du chapitre 02 (plainpalais.css) pour garantir un rendu
           strictement identique. Les ch.01 et 02 conservent leur propre
           copie, aux mêmes valeurs ; les ch.03+ héritent d’ici.
        ══════════════════════════════════════════════════════════ */
        .horizontal-section-wrapper { overflow: hidden; }
        .horizontal-container { display: flex; width: max-content; height: 100vh; will-change: transform; }
        .horizontal-item { width: 100vw; height: 100vh; flex-shrink: 0; display: flex; align-items: center; }

        .hscroll-indicator { position: absolute; left: 0; right: 0; bottom: 2rem; padding: 0 clamp(1.5rem, 4vw, 4rem); display: flex; flex-direction: column; gap: .65rem; z-index: 5; pointer-events: none; }
        .hscroll-label { display: flex; justify-content: space-between; align-items: baseline; font-family: 'Barlow Condensed', sans-serif; font-size: .8rem; letter-spacing: .18em; font-weight: 700; text-transform: uppercase; color: var(--taupe); }
        .hscroll-eyebrow { color: var(--orange); }
        .hscroll-label #hscroll-index { color: var(--taupe-dark); font-size: 1.1rem; }
        .hscroll-progress { width: 100%; height: 2px; background: var(--taupe-border); border-radius: 2px; overflow: hidden; }
        .hscroll-progress-bar { width: 100%; height: 100%; background: var(--orange); transform-origin: left center; transform: scaleX(0); transition: transform .1s linear; }

        /* Photos d’archive : jamais recadrées sur grand écran (retour client). */
        @media (min-width: 768px) {
            .horizontal-item img { height: auto !important; max-height: 74vh; object-fit: contain !important; }
        }

        @media (max-width: 767.98px) {
            .horizontal-container { height: 100svh; }
            .horizontal-item { height: 100svh; padding: 1rem !important; }
            .horizontal-item .row { width: 100%; }
            .horizontal-item img { height: auto !important; max-height: 38svh !important; aspect-ratio: 4/3 !important; object-fit: cover; }
            .horizontal-item .container, .horizontal-item .container-xxl { padding-left: .75rem !important; padding-right: .75rem !important; }
            .horizontal-item .row { --bs-gutter-y: 1rem; --bs-gutter-x: .5rem; }
            .horizontal-item .g-5 { --bs-gutter-x: .75rem; --bs-gutter-y: 1rem; }
            .horizontal-item h2.display-3, .horizontal-item h2.display-4 { font-size: 1.7rem !important; line-height: 1.1 !important; margin-bottom: .5rem !important; }
            .horizontal-item h4.h1, .horizontal-item .h1 { font-size: 1.4rem !important; line-height: 1.15 !important; margin-bottom: .25rem !important; }
            .horizontal-item div[style*="height: 4px"] { height: 2px !important; margin-top: .5rem !important; margin-bottom: 1rem !important; }
            .horizontal-item p.lead { font-size: .92rem !important; line-height: 1.4 !important; margin-top: 1rem !important; margin-bottom: .65rem !important; max-width: 100% !important; }
            .horizontal-item .border-start.border-4 { border-left-width: 3px !important; padding-left: .85rem !important; margin-bottom: .85rem !important; }
            .horizontal-item .border-start .label-caps { font-size: 11px; }
            .hscroll-indicator { padding: 0 1rem; bottom: 1.25rem; }
            .hscroll-label { font-size: .65rem; letter-spacing: .14em; }
            .hscroll-label #hscroll-index { font-size: .9rem; }
        }
        @media (max-width: 400px) {
            .horizontal-item { padding: .75rem !important; }
            .horizontal-item img { max-height: 32svh !important; }
            .horizontal-item h2.display-3, .horizontal-item h2.display-4 { font-size: 1.45rem !important; }
            .horizontal-item h4.h1 { font-size: 1.2rem !important; }
            .horizontal-item p.lead { font-size: .85rem !important; }
        }
