@font-face {
    font-display: swap;
    font-family: "Inter";
    font-style: normal;
    font-weight: 400;
    src: url("/panel-premium/inter-latin-400-normal.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Inter";
    font-style: normal;
    font-weight: 500;
    src: url("/panel-premium/inter-latin-500-normal.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Inter";
    font-style: normal;
    font-weight: 600;
    src: url("/panel-premium/inter-latin-600-normal.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Rowdies";
    font-style: normal;
    font-weight: 400;
    src: url("/panel-premium/rowdies-latin-400-normal.woff2") format("woff2");
}

@font-face {
    font-display: swap;
    font-family: "Rowdies";
    font-style: normal;
    font-weight: 600 700;
    src: url("/panel-premium/rowdies-latin-700-normal.woff2") format("woff2");
}

/* design tokens — names come from this build's dictionary */
:root {
    --pillar: #fad118;
    --spot: #104832;
    --accent-pressed: #081f14;
    --sheet: #141516;
    --card: #1e2022;
    --type: #ffffff;
    --dim: #c0c0c0;
    --hairline: #2c2f31;
    --rule-bold: #454a4d;
    --ramp-start: #25b473;
    --blend-b: #176b48;
    --age-band: #8c1c13;

    --s-2xs: 4px;
    --s-xs: 8px;
    --s-sm: 12px;
    --s-md: 16px;
    --s-lg: 24px;
    --s-xl: 40px;
    --s-2xl: 64px;
    --s-3xl: 96px;

    --pill: 0;
    --orb: 50%;
    --r-2xs: 0;
    --r-xs: 0;
    --r-sm: 0;
    --r-md: 0;
    --r-lg: 0;
    --r-xl: 0;
    --r-2xl: 0;
    --r-3xl: 0;

    --d-2xs: none;
    --d-xs: none;
    --d-sm: 0 1px 0 rgba(0, 0, 0, 0.08);
    --d-md: 0 2px 0 rgba(0, 0, 0, 0.12);
    --d-lg: 0 4px 0 rgba(0, 0, 0, 0.16);
    --d-xl: 0 6px 0 rgba(0, 0, 0, 0.2);
    --d-2xl: 0 8px 0 rgba(0, 0, 0, 0.24);
    --d-3xl: 0 10px 0 rgba(0, 0, 0, 0.28);

    --hair: 1px;
    --b-regular: 2px;
    --b-strong: 4px;

    --lead: "Rowdies", "Trebuchet MS", sans-serif;
    --copy: "Inter", system-ui, -apple-system, sans-serif;

    --display-1: 28px;
    --xl-2: 24px;
    --h3: 20px;
    --sub-2: 18px;
    --minor: 16px;
    --xs-2: 14px;
    --normal: 16px;
    --caption: 14px;
    --legal: 12px;

    --tight: 1.25;
    --regular: 1.6;
    --roomy: 1.8;

    --book: 400;
    --semi: 500;
    --strong: 600;

    --snug: 0;
    --base: 0;
    --wide: 0.01em;

    --snap: 160ms;
    --t-base: 330ms;
    --long: 613ms;
    --release: cubic-bezier(0.17, 0.8, 0.39, 0.92);
    --take-off: cubic-bezier(0.46, 0.08, 0.59, 1);
    --swing: cubic-bezier(0.46, 0.08, 0.59, 1);
    --pop: cubic-bezier(0.33, 1.75, 0.69, 1.25);

    --full: 1320px;
    --text: 1320px;
    --slim: 580px;
    --padding-desktop: 48px;
    --inset-tablet: 24px;
    --edge-narrow: 16px;

    --size-desktop: 76px;
    --height-mobile: 64px;

    --band-y: 32px;
    --pitch-y: 40px;
    --shell-h: 90px;
}

@media (min-width: 780px) {
    :root {
        --display-1: 38px;
        --xl-2: 30px;
        --h3: 24px;
        --sub-2: 20px;
        --minor: 17px;
        --xs-2: 15px;
        --normal: 17px;
        --caption: 15px;
        --legal: 13px;
        --band-y: 44px;
        --pitch-y: 60px;
    }
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    background: var(--sheet);
    scroll-behavior: smooth;
}

html,
body {
    overflow-x: clip;
}

body {
    background: var(--sheet);
    color: var(--type);
    display: flex;
    flex-direction: column;
    font-family: var(--copy);
    font-size: var(--normal);
    font-weight: var(--book);
    line-height: var(--roomy);
    margin: 0;
    margin-block-start: var(--shell-h, 90px);
    min-height: 100vh;
}

.main {
    display: block;
    flex: 1 0 auto;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: anywhere;
    margin: 0;
}

h1,
h2,
h3 {
    color: var(--type);
    font-family: var(--lead);
    font-weight: var(--strong);
    letter-spacing: var(--base);
    line-height: var(--tight);
}

h4,
h5,
h6 {
    color: var(--type);
    font-family: var(--copy);
    font-weight: var(--semi);
    line-height: var(--tight);
}

h1 {
    font-size: var(--display-1);
}

h2 {
    font-size: var(--xl-2);
}

h3 {
    font-size: var(--h3);
}

p {
    margin: 0 0 var(--s-md);
}

img {
    max-width: 100%;
}

svg {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.skip-jump {
    background: var(--pillar);
    color: #141516;
    font-weight: var(--semi);
    inset-inline-start: var(--s-md);
    padding: var(--s-xs) var(--s-md);
    position: fixed;
    z-index: 200;
}

.skip-jump:not(:focus) {
    top: -200px !important;
}

.sr-only {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* shared section frame — every .X-shell shares one width */
.g38-span,
.r95-span,
.l28-shell,
.g76-shell,
.n03-shell,
.i64-shell,
.c49-shell,
.a07-shell,
.m90-shell,
.w41-shell,
.d61-shell,
.z96-shell,
.a29-shell,
.u05-shell,
.f83-shell,
.x17-shell,
.r24-shell,
.v81-shell {
    margin-inline: auto;
    max-width: calc(var(--full) + 2 * var(--padding-desktop));
    padding-inline: var(--edge-narrow);
    width: 100%;
}

@media (min-width: 780px) {
    .g38-span,
    .r95-span,
    .l28-shell,
    .g76-shell,
    .n03-shell,
    .i64-shell,
    .c49-shell,
    .a07-shell,
    .m90-shell,
    .w41-shell,
    .d61-shell,
    .z96-shell,
    .a29-shell,
    .u05-shell,
    .f83-shell,
    .x17-shell,
    .r24-shell,
    .v81-shell {
        padding-inline: var(--inset-tablet);
    }
}

@media (min-width: 1140px) {
    .g38-span,
    .r95-span,
    .l28-shell,
    .g76-shell,
    .n03-shell,
    .i64-shell,
    .c49-shell,
    .a07-shell,
    .m90-shell,
    .w41-shell,
    .d61-shell,
    .z96-shell,
    .a29-shell,
    .u05-shell,
    .f83-shell,
    .x17-shell,
    .r24-shell,
    .v81-shell {
        padding-inline: var(--padding-desktop);
    }
}

.l28,
.g76,
.c49,
.a07,
.m90,
.d61,
.z96,
.a29,
.u05,
.f83,
.v81,
.r24 {
    background: var(--sheet);
    color: var(--type);
    padding-block: var(--band-y);
}

/* reveal — blur-in on scroll */
[data-anim] {
    filter: blur(9px);
    opacity: 0;
    transform: translateY(32px);
    transition: filter var(--long) var(--release), opacity var(--long) var(--release), transform var(--long) var(--release);
}

[data-anim].in-view {
    filter: blur(0);
    opacity: 1;
    transform: none;
}

/* ── header: HEAD-TIER, fixed top ─────────────────────────────── */
.g38 {
    background: var(--sheet);
    color: var(--type);
    inset-block-start: 0;
    inset-inline: 0;
    position: fixed;
    z-index: 100;
}

.g38-tier {
    background: #0e1011;
    border-block-end: var(--hair) solid var(--hairline);
    color: var(--dim);
    display: none;
    height: 40px;
}

.g38-tier .g38-span {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: space-between;
}

.g38-note {
    color: var(--dim);
    background: #0e1011;
    font-size: var(--legal);
    letter-spacing: var(--wide);
    margin: 0;
    text-transform: uppercase;
}

.g38-tier .g38-jump {
    background: #0e1011;
    color: var(--pillar);
    font-size: var(--legal);
    letter-spacing: var(--wide);
    text-decoration: none;
    text-transform: uppercase;
}

.g38-tier .g38-jump:hover {
    background: #0e1011;
    color: var(--ramp-start);
}

.g38-base {
    background: var(--sheet);
    border-block-end: var(--hair) solid var(--hairline);
    min-height: 62px;
    transition: min-height var(--t-base) var(--swing);
}

.g38-base .g38-span {
    align-items: center;
    column-gap: var(--s-md);
    display: flex;
    padding-block: var(--s-xs);
    position: relative;
}

.g38-crest {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    text-decoration: none;
}

.g38-crest,
.g38-crest img,
.g38-visual {
    flex-shrink: 0;
}

.g38-visual {
    display: block;
    height: 52px;
    width: auto;
}

.g38.is-shrunk .g38-visual {
    height: 44px;
}

.g38-menu-switch {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--type);
    column-gap: var(--s-xs);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--copy);
    font-size: var(--caption);
    font-weight: 500;
    letter-spacing: var(--wide);
    margin-left: auto !important;
    min-height: 44px;
    padding: var(--s-xs) var(--s-sm);
    text-transform: uppercase;
}

.g38-lines {
    display: inline-block;
    height: 2px;
    background: var(--pillar);
    position: relative;
    width: 22px;
}

.g38-lines::before,
.g38-lines::after {
    background: var(--pillar);
    content: "";
    height: 2px;
    inset-inline: 0;
    position: absolute;
}

.g38-lines::before {
    inset-block-start: -7px;
}

.g38-lines::after {
    inset-block-start: 7px;
}

.g38-word {
    color: var(--type);
}

.g38-routes {
    display: none;
    flex: 0 0 auto;
    margin-left: auto;
}

.g38-roll {
    align-items: center;
    column-gap: var(--s-sm);
    display: flex;
    flex-wrap: nowrap;
    list-style: none;
    margin: 0;
    padding: 0;
}

.g38-one {
    display: block;
    position: relative;
}

.g38-one[hidden] {
    display: none;
}

.g38-roll > .g38-one + .g38-one::before {
    color: var(--rule-bold);
    content: "\00B7";
    inset-inline-start: calc(-1 * var(--s-xs));
    position: absolute;
}

.g38-jump {
    color: var(--type);
    background: var(--sheet);
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: var(--wide);
    line-height: 1.2;
    padding-block: var(--s-sm);
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.g38-roll .g38-jump:hover {
    background: var(--sheet);
    color: var(--pillar);
    text-decoration: underline;
    text-underline-offset: 6px;
}

.g38-roll .g38-jump[aria-current="page"] {
    background: var(--sheet);
    color: var(--pillar);
    font-weight: var(--strong);
}

.g38-one-more {
    display: block;
}

.g38-more-switch {
    background: var(--sheet);
    border: 0;
    color: var(--type);
    cursor: pointer;
    font-family: var(--copy);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: var(--wide);
    min-height: 44px;
    padding-block: var(--s-sm);
    text-transform: uppercase;
    white-space: nowrap;
}

.g38-more-switch:hover {
    background: var(--sheet);
    color: var(--pillar);
}

.g38-more-roll {
    background: var(--card);
    border: var(--hair) solid var(--hairline);
    display: none;
    inset-block-start: calc(100% + var(--s-xs));
    inset-inline-end: 0;
    list-style: none;
    margin: 0;
    max-height: 62vh;
    min-width: 220px;
    overflow-y: auto;
    padding: var(--s-xs) 0;
    pointer-events: none;
    position: absolute;
    z-index: 30;
}

.g38-more-roll.is-open {
    display: block;
    pointer-events: auto;
}

.g38-more-one {
    display: block;
}

.g38-more-roll .g38-pane-jump {
    background: var(--card);
    color: var(--type);
    display: block;
    font-size: var(--caption);
    letter-spacing: var(--wide);
    padding: var(--s-xs) var(--s-md);
    text-decoration: none;
    text-transform: uppercase;
}

.g38-more-roll .g38-pane-jump:hover {
    background: var(--spot);
    color: var(--type);
}

.g38-pane {
    background: var(--card);
    border-block-start: var(--hair) solid var(--hairline);
    display: none;
    inset-block-start: 100%;
    inset-inline: 0;
    max-height: 70vh;
    overflow-y: auto;
    position: absolute;
    z-index: 40;
}

.g38-pane.is-open {
    display: block;
}

.g38-pane-roll {
    list-style: none;
    margin: 0;
    padding: var(--s-xs) var(--edge-narrow) var(--s-md);
}

.g38-pane-one {
    display: block;
}

.g38-pane-roll .g38-pane-jump {
    background: var(--card);
    color: var(--type);
    display: block;
    font-size: var(--caption);
    font-weight: 500;
    letter-spacing: var(--wide);
    min-height: 44px;
    padding-block: var(--s-sm);
    text-decoration: none;
    text-transform: uppercase;
}

.g38-pane-roll .g38-pane-jump[aria-current="page"] {
    background: var(--card);
    color: var(--pillar);
    font-weight: var(--strong);
}

.g38-age {
    background: #0d0e0f;
    border-block-start: 3px solid var(--age-band);
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    line-height: 1.35;
    margin: 0;
    padding-block: var(--s-2xs);
    padding-inline: var(--s-sm);
    text-align: center;
}

.g38-help {
    background: #0d0e0f;
    color: var(--pillar);
    text-decoration: underline;
    text-decoration-color: var(--age-band);
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.g38-help:hover {
    background: #0d0e0f;
    color: var(--ramp-start);
}

@media (min-width: 900px) {
    .g38-tier {
        display: block;
    }

    .g38-routes {
        display: block;
    }

    .g38-menu-switch {
        display: none;
    }

    .g38-pane {
        display: none !important;
    }

    .g38-visual {
        height: 60px;
    }

    .g38.is-shrunk .g38-visual {
        height: 50px;
    }
}

@media (min-width: 1140px) {
    .g38-roll {
        column-gap: var(--s-md);
    }
}

/* ── breadcrumbs: BREAD-06 background bar ─────────────────────── */
.n03 {
    background: var(--card);
    color: var(--dim);
    display: block;
    padding-block: var(--s-sm);
}

.n03-shell {
    font-size: var(--caption);
}

.n03-jump {
    background: var(--card);
    color: var(--dim);
    text-decoration: none;
}

.n03-jump:hover {
    background: var(--card);
    color: var(--pillar);
}

.n03-mark {
    color: var(--dim);
    background: var(--card);
    padding-inline: var(--s-2xs);
}

.n03-here {
    background: var(--card);
    color: var(--type);
}

/* ── hero: HERO-03 centered compact ───────────────────────────── */
.l28 {
    background-color: var(--sheet);
    background-image: linear-gradient(rgba(20, 21, 22, 0.78), rgba(20, 21, 22, 0.93)), url("/panel-premium/image-sleek.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding-block: 0;
    text-align: center;
}

.l28-shell {
    padding-block: var(--s-xl);
}

@media (min-width: 780px) {
    .l28-shell {
        padding-block: var(--s-2xl);
    }
}

.l28-eyebrow {
    background: transparent;
    color: var(--pillar);
    display: block;
    font-size: var(--legal);
    letter-spacing: 0.14em;
    margin-block-end: var(--s-md);
    text-transform: uppercase;
}

.l28 h1 {
    margin-inline: auto;
    max-width: 20ch;
}

.l28-lead {
    color: var(--dim);
    font-size: var(--normal);
    line-height: var(--roomy);
    margin-block: var(--s-md);
    margin-inline: auto;
    max-width: var(--slim);
}

.l28-press {
    margin-block: var(--s-lg) var(--s-sm);
}

.l28-fine {
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    margin-inline: auto;
    max-width: var(--slim);
}

/* ── page header: PHEAD-05 crumb-trail + title ────────────────── */
.g76 {
    background: var(--sheet);
}

.g76-crumbs {
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    letter-spacing: var(--wide);
    margin-block-end: var(--s-sm);
    text-transform: uppercase;
}

.g76-jump {
    background: var(--sheet);
    color: var(--dim);
    text-decoration: none;
}

.g76-jump:hover {
    background: var(--sheet);
    color: var(--pillar);
}

.g76-lede {
    margin-block-end: var(--s-sm);
}

.g76-note {
    color: var(--dim);
    margin: 0;
}

/* ── author byline: BYLINE-03 thin strip ──────────────────────── */
.x17 {
    background: var(--sheet);
    border-block-end: var(--hair) solid var(--hairline);
    display: block;
    padding-block: var(--s-sm);
}

.x17-shell {
    align-items: center;
    column-gap: var(--s-sm);
    display: flex;
}

.x17-photo {
    border-radius: var(--orb);
    display: block;
    flex-shrink: 0;
    height: 36px;
    object-fit: cover;
    width: 36px;
}

.x17-sub {
    color: var(--dim);
    font-size: var(--caption);
    line-height: var(--regular);
}

.x17-who {
    background: var(--sheet);
    color: var(--pillar);
    text-decoration: none;
}

.x17-who:hover {
    background: var(--sheet);
    color: var(--ramp-start);
    text-decoration: underline;
}

.x17-job {
    background: var(--sheet);
    color: var(--dim);
}

/* ── inline cta: INLINE-CTA-07 icon-headlined centered block ──── */
.i64 {
    background: var(--sheet);
    display: block;
    padding-block: var(--s-xl);
}

.i64-shell > * {
    margin-inline: auto;
    max-width: var(--slim);
}

.i64-plate {
    background: var(--card);
    border: var(--hair) solid var(--hairline);
    padding: var(--s-lg) var(--s-md);
    text-align: center;
}

.i64-glyph {
    color: var(--pillar);
    background: var(--card);
    display: block;
    font-family: var(--lead);
    font-size: var(--display-1);
    line-height: 1;
    margin-block-end: var(--s-md);
}

.i64-head {
    font-size: var(--h3);
    margin-block-end: var(--s-sm);
}

.i64-press {
    margin-block-start: var(--s-2xs);
}

.i64-sub {
    color: var(--dim);
    margin-block-end: var(--s-lg);
}

/* ── prose: PROSE-23 first paragraph as a framed lead-in ──────── */
.d61 {
    background: var(--sheet);
}

.d61-part {
    display: block;
    margin-block-end: var(--s-xl);
}

.d61-part:last-child {
    margin-block-end: 0;
}

.d61-part h2 {
    font-size: var(--xl-2);
    font-weight: var(--strong);
    margin-block-end: var(--s-sm);
    margin-block-start: var(--s-lg);
}

.d61-part:first-child h2 {
    margin-block-start: 0;
}

.d61-open {
    background: var(--sheet);
    border: var(--hair) solid var(--rule-bold);
    color: var(--type);
    font-size: var(--minor);
    line-height: var(--regular);
    margin-block-end: var(--s-md);
    padding: var(--s-sm) var(--s-md);
}

.d61-part p {
    color: var(--dim);
    line-height: var(--roomy);
}

.d61-part strong {
    color: var(--type);
}

.d61-part a {
    background: var(--sheet);
    color: var(--pillar);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.d61-part a:hover {
    background: var(--sheet);
    color: var(--ramp-start);
}

.d61-roll {
    color: var(--dim);
    margin: 0 0 var(--s-md);
    padding-inline-start: var(--s-lg);
}

.d61-roll li {
    margin-block-end: var(--s-xs);
}

.d61-media {
    display: block;
    margin: var(--s-lg) 0;
}

.d61-media img {
    display: block;
    height: clamp(200px, 40vh, 400px);
    object-fit: cover;
    width: 100%;
}

.d61-cap {
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    margin-block-start: var(--s-xs);
}

.d61-pitch {
    align-items: center;
    background: var(--card);
    border-inline-start: var(--b-strong) solid var(--pillar);
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-sm) var(--s-md);
    margin-block: var(--s-lg);
    padding: var(--s-md);
}

.d61-fine {
    background: var(--card);
    color: var(--dim);
    flex: 1 1 240px;
    font-size: var(--legal);
    line-height: var(--regular);
}

/* ── items grid: GRID-09 horizontal scroll strip ──────────────── */
.c49-head {
    margin-block-end: var(--s-lg);
}

.c49-rail {
    column-gap: var(--s-md);
    display: flex;
    margin-inline: calc(-1 * var(--edge-narrow));
    overflow-x: auto;
    padding-block-end: var(--s-sm);
    padding-inline: var(--edge-narrow);
    scroll-snap-type: x proximity;
}

@media (min-width: 780px) {
    .c49-rail {
        margin-inline: calc(-1 * var(--inset-tablet));
        padding-inline: var(--inset-tablet);
    }
}

@media (min-width: 1140px) {
    .c49-rail {
        margin-inline: calc(-1 * var(--padding-desktop));
        padding-inline: var(--padding-desktop);
    }
}

.c49-plate {
    background: var(--card);
    border: var(--hair) solid var(--hairline);
    color: var(--type);
    display: block;
    flex-shrink: 0;
    min-height: 200px;
    padding: var(--s-md);
    scroll-snap-align: start;
    transition: transform var(--t-base) var(--release), border-color var(--t-base) var(--release);
    width: 320px;
}

.c49-plate:hover {
    border-color: var(--pillar);
    transform: translateX(4px);
}

.c49-glyph {
    align-items: center;
    background: #2b2f26;
    border: var(--hair) solid var(--rule-bold);
    color: var(--pillar);
    display: inline-flex;
    height: 38px;
    justify-content: center;
    margin-block-end: var(--s-sm);
    width: 38px;
}

.c49-glyph svg {
    height: 21px;
    width: 21px;
}

.c49-plate h3 {
    font-size: var(--sub-2);
    margin-block-end: var(--s-xs);
}

.c49-body {
    color: var(--dim);
    font-size: var(--caption);
    line-height: var(--regular);
}

.c49-plate-pitch {
    background: var(--spot);
    border-color: var(--ramp-start);
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: var(--s-sm);
}

.c49-plate-pitch h3 {
    background: var(--spot);
    color: var(--type);
}

.c49-plate-pitch .c49-body {
    background: var(--spot);
    color: #e6f2ea;
}

.c49-dots {
    background: var(--sheet);
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    letter-spacing: 0.4em;
    margin-block-start: var(--s-sm);
}

/* ── faq: FAQ-07 compact mini-faq ─────────────────────────────── */
.a07-head {
    margin-block-end: var(--s-lg);
}

.a07-roll {
    display: flex;
    flex-direction: column;
    row-gap: var(--s-sm);
}

.a07-one {
    border-block-end: var(--hair) solid var(--hairline);
    display: block;
}

.a07-one summary {
    cursor: pointer;
    list-style: none;
    padding-block: var(--s-xs);
}

.a07-one summary::-webkit-details-marker {
    display: none;
}

.a07-ask {
    align-items: start;
    color: var(--type);
    column-gap: var(--s-sm);
    display: grid;
    font-family: var(--copy);
    font-size: var(--caption);
    font-weight: var(--semi);
    grid-template-columns: minmax(0, 1fr) auto;
    line-height: var(--regular);
    margin: 0;
}

.a07-sign {
    color: var(--pillar);
    display: inline-block;
    font-size: var(--sub-2);
    line-height: 1;
}

.a07-sign::before {
    content: "+";
}

.a07-one[open] .a07-sign::before {
    content: "\2013";
}

.a07-wrap {
    display: block;
    overflow: hidden;
}

.a07-one[open] .a07-wrap {
    animation: a07-unfold var(--t-base) var(--release) both;
}

.a07-body {
    color: var(--dim);
    font-size: var(--caption);
    line-height: var(--regular);
    margin: 0;
    padding-block: var(--s-xs) var(--s-sm);
}

@keyframes a07-unfold {
    from {
        opacity: 0;
        transform: translateY(-6px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

/* ── reviews: REV-04 featured + list ──────────────────────────── */
.m90-head {
    margin-block-end: var(--s-lg);
}

.m90-pick {
    background: #26220c;
    border: var(--hair) solid var(--rule-bold);
    margin-block-end: var(--s-xl);
    padding: var(--s-lg);
}

@media (min-width: 780px) {
    .m90-pick {
        padding: var(--s-2xl);
    }
}

.m90-pick .m90-stars {
    background: #26220c;
    color: var(--pillar);
    display: block;
    font-size: 28px;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-block-end: var(--s-md);
}

.m90-quote {
    margin: 0;
}

.m90-quote p {
    color: var(--type);
    font-size: var(--sub-2);
    font-style: italic;
    line-height: var(--regular);
    margin: 0 0 var(--s-sm);
}

.m90-pick .m90-who {
    background: #26220c;
    color: var(--dim);
    font-size: var(--caption);
    font-style: normal;
}

.m90-stack {
    display: grid;
    gap: var(--s-md);
    grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 780px) {
    .m90-stack {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }
}

.m90-plate {
    background: var(--card);
    border-block-start: var(--b-regular) solid var(--rule-bold);
    display: block;
    padding: var(--s-md);
}

.m90-strip {
    align-items: baseline;
    column-gap: var(--s-sm);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-block-end: var(--s-xs);
}

.m90-plate .m90-who {
    background: var(--card);
    color: var(--type);
    font-size: var(--caption);
    font-style: normal;
    font-weight: var(--semi);
}

.m90-plate .m90-stars {
    background: var(--card);
    color: var(--pillar);
    font-size: var(--caption);
    letter-spacing: 0.06em;
}

.m90-body {
    color: var(--dim);
    font-size: var(--caption);
    line-height: var(--regular);
}

/* ── data table: TABLE-08 floating cards grid ─────────────────── */
.z96-head {
    margin-block-end: var(--s-lg);
}

.z96-grid {
    display: grid;
    gap: var(--s-md);
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.z96-plate {
    background: var(--card);
    display: block;
    padding: var(--s-lg);
}

.z96-line {
    display: block;
    margin-block-end: var(--s-sm);
}

.z96-line:last-child {
    margin-block-end: 0;
}

.z96-cap {
    background: var(--card);
    color: var(--dim);
    display: block;
    font-size: var(--legal);
    letter-spacing: var(--wide);
    text-transform: uppercase;
}

.z96-val {
    background: var(--card);
    color: var(--type);
    display: block;
    font-size: var(--normal);
    font-weight: var(--semi);
    line-height: var(--regular);
}

/* ── cta block: CTA-01 full-width strip on accent ─────────────── */
.w41 {
    background: var(--spot);
    color: var(--type);
    display: block;
    padding-block: var(--pitch-y);
}

.w41-shell {
    align-items: center;
    column-gap: var(--s-xl);
    display: flex;
    flex-direction: column;
    row-gap: var(--s-lg);
}

@media (min-width: 900px) {
    .w41-shell {
        flex-direction: row;
        justify-content: space-between;
    }
}

.w41-words {
    display: block;
}

.w41-lede {
    background: var(--spot);
    color: var(--type);
    font-size: var(--xl-2);
    letter-spacing: var(--snug);
    max-width: var(--slim);
    text-transform: uppercase;
}

.w41-body {
    background: var(--spot);
    color: #e2eee7;
    line-height: var(--regular);
    margin-block: var(--s-sm) 0;
    max-width: var(--slim);
}

/* ── legal: LEGAL-01 continuous document ──────────────────────── */
.a29-lede {
    color: var(--type);
    font-size: var(--minor);
    line-height: var(--regular);
    margin-block-end: var(--s-lg);
}

.a29-part {
    border-block-start: var(--hair) solid var(--hairline);
    display: block;
    padding-block-start: var(--s-lg);
}

.a29-part:first-of-type {
    border-block-start: 0;
    padding-block-start: 0;
}

.a29-part h3 {
    margin-block-end: var(--s-sm);
}

.a29-part p {
    color: var(--dim);
    line-height: var(--roomy);
}

.a29-part a,
.a29-box a {
    color: var(--pillar);
    text-decoration: underline;
}

.a29-box {
    background: var(--card);
    display: block;
    margin-block-start: var(--s-xl);
    padding: var(--s-lg);
}

.a29-box h3 {
    background: var(--card);
    color: var(--type);
    margin-block-end: var(--s-sm);
}

.a29-roll {
    color: var(--dim);
    list-style: none;
    margin: 0;
    padding: 0;
}

.a29-one {
    display: block;
    margin-block-end: var(--s-xs);
}

.a29-warn {
    background: #2a1210;
    border-inline-start: 3px solid var(--age-band);
    color: #f2d9d6;
    display: block;
    font-size: var(--caption);
    line-height: var(--regular);
    margin-block-start: var(--s-xl);
    padding: var(--s-md);
}

/* ── contact form: FORM-03 compact single-field-per-row ───────── */
.u05-note {
    color: var(--dim);
    margin-block-end: var(--s-lg);
    margin-inline: auto;
    max-width: var(--slim);
    text-align: center;
}

.u05-form {
    display: block;
    margin-inline: auto;
    max-width: var(--slim);
}

.u05-line {
    display: block;
    margin-block-end: var(--s-md);
}

.u05-cap {
    background: var(--sheet);
    color: var(--dim);
    display: block;
    font-size: var(--caption);
    margin-block-end: var(--s-2xs);
}

.u05-input {
    background: var(--card);
    border: var(--b-regular) solid var(--rule-bold);
    color: var(--type);
    display: block;
    font-family: var(--copy);
    font-size: var(--normal);
    min-height: 48px;
    padding: var(--s-sm) var(--s-md);
    width: 100%;
}

textarea.u05-input {
    min-height: 140px;
    resize: vertical;
}

.u05-input:focus {
    border-color: var(--pillar);
    outline: none;
}

.u05-press {
    background: var(--pillar);
    border: 0;
    color: #141516;
    cursor: pointer;
    font-family: var(--copy);
    font-size: var(--normal);
    font-weight: var(--semi);
    height: 52px;
    width: 100%;
}

.u05-press:hover {
    background: var(--ramp-start);
    color: #0b1a12;
}

.u05-done {
    background: var(--spot);
    color: var(--type);
    display: block;
    margin-inline: auto;
    max-width: var(--slim);
    padding: var(--s-md);
}

/* ── author card: AUTH-05 compact inline ──────────────────────── */
.f83-plate {
    background: var(--card);
    column-gap: var(--s-sm);
    display: flex;
    max-width: 480px;
    padding: var(--s-md);
}

.f83-photo {
    border-radius: var(--orb);
    flex-shrink: 0;
    height: 56px;
    object-fit: cover;
    width: 56px;
}

.f83-body {
    display: flex;
    flex-direction: column;
    row-gap: var(--s-2xs);
}

.f83-job {
    background: var(--card);
    color: var(--pillar);
    font-size: var(--legal);
    letter-spacing: var(--wide);
    text-transform: uppercase;
}

.f83-who {
    background: var(--card);
    color: var(--type);
    font-size: var(--normal);
    font-weight: var(--strong);
}

.f83-bio {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    background: var(--card);
    color: var(--dim);
    display: -webkit-box;
    font-size: var(--caption);
    line-height: var(--regular);
    margin: 0;
    overflow: hidden;
}

/* ── error block: ERR-03 minimal no-drama ─────────────────────── */
.main:has(> .v81) {
    display: flex;
    flex-direction: column;
}

.v81 {
    display: flex;
    flex: 1 0 auto;
    flex-direction: column;
    justify-content: center;
    text-align: center;
}

.v81-shell > * {
    margin-inline: auto;
    max-width: var(--slim);
}

.v81-lede {
    font-size: var(--xl-2);
    margin-block-end: var(--s-md);
}

.v81-body {
    color: var(--dim);
    line-height: var(--roomy);
    margin-block-end: var(--s-lg);
}

.v81-press {
    background: var(--pillar);
    color: #141516;
    display: inline-block;
    font-weight: var(--semi);
    height: 44px;
    line-height: 44px;
    padding-inline: var(--s-lg);
    text-decoration: none;
}

.v81-press:hover {
    background: var(--ramp-start);
    color: #0b1a12;
}

/* ── cookie banner: COOK-11 inline above footer ───────────────── */
.r24 {
    display: block;
}

.r24[hidden] {
    display: none;
}

.r24-plate {
    align-items: center;
    animation: r24-rise var(--long) var(--release) both;
    background: var(--card);
    border: var(--hair) solid var(--rule-bold);
    column-gap: var(--s-lg);
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding: var(--s-lg);
    row-gap: var(--s-md);
}

@media (min-width: 700px) {
    .r24-plate {
        grid-template-columns: minmax(0, 1fr) auto;
    }
}

@keyframes r24-rise {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.r24-words {
    background: var(--card);
    color: var(--dim);
    font-size: var(--caption);
    line-height: var(--regular);
    margin: 0;
}

.r24-deck {
    column-gap: var(--s-sm);
    display: flex;
    flex-wrap: wrap;
    row-gap: var(--s-xs);
}

.r24-agree,
.r24-dismiss {
    align-items: center;
    border: var(--hair) solid var(--rule-bold);
    cursor: pointer;
    display: inline-flex;
    font-family: var(--copy);
    font-size: var(--caption);
    font-weight: var(--semi);
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--s-lg);
    white-space: nowrap;
}

.r24-agree {
    background: var(--pillar);
    border-color: var(--pillar);
    color: #141516;
}

.r24-agree:hover {
    background: var(--ramp-start);
    border-color: var(--ramp-start);
    color: #0b1a12;
}

.r24-dismiss {
    background: var(--card);
    color: var(--type);
}

.r24-dismiss:hover {
    background: var(--spot);
    color: var(--type);
}

@media (max-width: 720px) {
    .r24-plate {
        font-size: 13px;
        gap: var(--s-xs);
        line-height: 1.35;
        padding: var(--s-sm) var(--s-md);
    }

    .r24-agree,
    .r24-dismiss {
        font-size: 12px;
        min-height: 40px;
        padding-inline: var(--s-md);
        white-space: normal;
    }
}

/* ── footer: FOOT-04 sticky mini ──────────────────────────────── */
.r95 {
    background: var(--card);
    border-block-start: var(--hair) solid var(--hairline);
    color: var(--dim);
    display: block;
    flex-shrink: 0;
    position: relative;
}

.r95-span {
    align-items: center;
    column-gap: var(--s-md);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 80px;
    padding-block: var(--s-sm);
    row-gap: var(--s-xs);
}

@media (min-width: 780px) {
    .r95-span {
        flex-direction: row;
        min-height: 64px;
        padding-block: 0;
    }
}

.r95-note {
    background: var(--card);
    color: var(--dim);
    font-size: var(--legal);
}

.r95-routes {
    align-items: center;
    column-gap: var(--s-sm);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: var(--s-2xs);
}

.r95-jump {
    background: var(--card);
    color: var(--dim);
    font-size: var(--legal);
    letter-spacing: var(--wide);
    padding-inline-start: var(--s-sm);
    text-decoration: none;
    text-transform: uppercase;
}

.r95-jump:first-child {
    border-inline-start: 0;
    padding-inline-start: 0;
}

.r95-jump + .r95-jump {
    border-inline-start: var(--hair) solid var(--rule-bold);
}

.r95-jump:hover {
    background: var(--card);
    color: var(--type);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
    }

    [data-anim] {
        filter: none;
        opacity: 1;
        transform: none;
    }

    html {
        scroll-behavior: auto;
    }
}
.q71-act{display:inline-block;text-align:center;padding:var(--s-sm) var(--s-xl);border-radius:var(--r-md);font-size:var(--normal);min-height:52px;line-height:28px;font-weight:500;letter-spacing:var(--wide)}
.q71-act{position:relative;
  background:#4F46E5;color:#FFFFFF;text-decoration:none;text-transform:uppercase;
  transition:background var(--snap) var(--release);}
.q71-act.q71-act{color:#FFFFFF;text-decoration:none;}
.q71-act:hover{background:#4338CA;color:#FFFFFF;animation:none}
.q71-act.q71-act:hover{color:#FFFFFF;text-decoration:none}
.q71-act:hover::after{animation:none}
.q71-act:active{background:#3730A3;color:#FFFFFF}
.q71-act:focus-visible{outline:3px solid #141516;outline-offset:3px}
@keyframes rulu-ripple{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.q71-act::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:4px;background:currentColor;opacity:.5;transform-origin:left;animation:rulu-ripple 2.2s var(--swing) infinite}
@media (prefers-reduced-motion:reduce){.q71-act,.q71-act::after{animation:none!important;transition:none!important}}

@media (max-width: 908px) {
  .g38-routes,
  .g38-roll { display: none !important; }
  .g38-menu-switch { display: flex !important; }
}
