@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/letters/montserrat-latin-500-normal.woff2') format('woff2');
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/letters/montserrat-latin-700-normal.woff2') format('woff2');
}

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

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

@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/letters/inter-latin-700-normal.woff2') format('woff2');
}

:root {
    --c-pillar: #0a83d6;
    --c-pillar-deep: #075a94;
    --c-punch: #38bd56;
    --c-spot-deep: #31a547;
    --c-backdrop: #11152d;
    --c-raised: #1a2043;
    --c-shade: #232a55;
    --c-text: #ffffff;
    --c-text-muted: #c0c0c0;
    --c-edge: #2b3260;
    --c-rule-bold: #3f4884;
    --c-blend-a: #98dea5;
    --c-blend-b: #63cd7c;
    --c-advisory: #a71e34;
    --c-ink: #08101f;
    --s-2xs: 2px;
    --s-xs: 6px;
    --s-sm: 10px;
    --s-md: 14px;
    --s-lg: 20px;
    --s-xl: 28px;
    --s-2xl: 48px;
    --s-3xl: 72px;
    --s-step: 48px;
    --r-2xs: 2px;
    --r-xs: 4px;
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-xl: 20px;
    --r-2xl: 26px;
    --r-3xl: 34px;
    --r-stadium: 9999px;
    --r-circle: 50%;
    --f-head: 'Montserrat', 'Trebuchet MS', sans-serif;
    --f-copy: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --z-h1: 64px;
    --z-xl-2: 40px;
    --z-h3: 28px;
    --z-sub-2: 22px;
    --z-minor: 18px;
    --z-xs-2: 16px;
    --z-copy: 17px;
    --z-caption: 14px;
    --z-micro: 12px;
    --l-close: 1.16;
    --l-normal: 1.5;
    --l-relaxed: 1.75;
    --w-plain: 400;
    --w-mid: 500;
    --w-black: 700;
    --e-narrow: -0.02em;
    --e-even: 0;
    --e-loose: 0.04em;
    --d-2xs: none;
    --d-xs: none;
    --d-sm: none;
    --d-md: none;
    --d-lg: 0 8px 24px rgba(0, 0, 0, 0.10);
    --d-xl: 0 14px 34px rgba(0, 0, 0, 0.22);
    --d-2xl: 0 20px 46px rgba(0, 0, 0, 0.28);
    --d-3xl: 0 26px 60px rgba(0, 0, 0, 0.34);
    --t-fast: 129ms;
    --t-normal: 240ms;
    --t-easy: 464ms;
    --x-land: cubic-bezier(0.32, 0.9, 0.41, 0.95);
    --x-take-off: cubic-bezier(0.5, 0.1, 0.49, 0.94);
    --x-both: cubic-bezier(0.5, 0.1, 0.49, 0.94);
    --x-bounce: cubic-bezier(0.23, 1.7, 0.55, 1.1);
    --v-full: 1160px;
    --v-narrow: 570px;
    --v-padding-desktop: 32px;
    --v-edge-mid: 20px;
    --v-pad-sm: 12px;
    --v-edge: var(--v-padding-desktop);
    --b-fine: 1px;
    --b-medium: 2px;
    --b-thick: 3px;
    --h-h-lg: 72px;
    --h-h-sm: 64px;
}

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

html,
body {
    overflow-x: clip;
}

html {
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    padding-block-end: var(--rg-pad, 58px);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    background: var(--c-backdrop);
    color: var(--c-text);
    font-family: var(--f-copy);
    font-size: var(--z-copy);
    font-weight: var(--w-plain);
    line-height: var(--l-relaxed);
}

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

h1 {
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: clamp(30px, 5vw, var(--z-h1));
    line-height: var(--l-close);
    letter-spacing: var(--e-narrow);
    text-transform: uppercase;
}

h2 {
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: clamp(24px, 3.1vw, var(--z-xl-2));
    line-height: var(--l-close);
    letter-spacing: var(--e-narrow);
}

h3 {
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: clamp(20px, 2.1vw, var(--z-h3));
    line-height: var(--l-close);
    letter-spacing: var(--e-even);
}

h4 {
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-sub-2);
    line-height: var(--l-close);
    letter-spacing: var(--e-even);
}

h5,
h6 {
    font-family: var(--f-copy);
    font-weight: var(--w-mid);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    line-height: var(--l-normal);
}

h5 {
    font-size: var(--z-minor);
}

h6 {
    font-size: var(--z-xs-2);
}

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

a {
    color: var(--c-blend-a);
}

img {
    max-width: 100%;
}

table {
    border-collapse: collapse;
}

ul,
ol {
    margin-block: 0 var(--s-md);
}

.skip-hop {
    position: absolute;
    inset-inline-start: var(--s-md);
    z-index: 200;
    display: inline-block;
    padding: var(--s-sm) var(--s-md);
    border-radius: var(--r-sm);
    background: var(--c-punch);
    color: var(--c-ink);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    text-decoration: none;
}

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

.skip-hop:focus {
    top: var(--s-md);
}

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

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

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

.pane-tint {
    background: var(--c-raised);
}

[data-seen] {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(9px);
    transition: opacity var(--t-easy) var(--x-land), transform var(--t-easy) var(--x-land), filter var(--t-easy) var(--x-land);
}

[data-seen].is-shown {
    opacity: 1;
    transform: none;
    filter: none;
}

/* ── shared container ─────────────────────────────────────────────── */

.repe-guts,
.sadavo-guts,
.nifabym-guts,
.gelune-guts,
.kodob-guts,
.pumudis-guts,
.bytifud-guts,
.faxu-guts,
.vosis-guts,
.fyvufys-guts,
.toly-guts,
.dobe-guts,
.bifofef-guts {
    width: 100%;
    max-width: calc(var(--v-full) + 2 * var(--v-padding-desktop));
    margin-inline: auto;
    padding-inline: var(--v-padding-desktop);
}

/* ── header ───────────────────────────────────────────────────────── */

.rudo {
    position: relative;
    z-index: 70;
    background: var(--c-backdrop);
    color: var(--c-text);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.38);
}

.rudo-strip {
    height: 72px;
    display: flex;
    align-items: center;
    gap: var(--s-md);
    width: 100%;
    max-width: calc(var(--v-full) + 2 * var(--v-padding-desktop));
    margin-inline: auto;
    padding-inline: var(--s-lg);
}

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

.rudo-logo-plate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: var(--s-xs) var(--s-lg);
    border-radius: var(--r-stadium);
    background: var(--c-shade);
    color: var(--c-text);
}

.rudo-logo-visual {
    display: block;
    height: 54px;
    width: auto;
    flex-shrink: 0;
}

.rudo-bar {
    display: flex;
    align-items: center;
    gap: var(--s-sm);
    margin-inline-start: auto;
}

.rudo-tag {
    display: inline-flex;
    align-items: center;
    padding: var(--s-2xs) var(--s-sm);
    border-radius: var(--r-xs);
    background: var(--c-shade);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-micro);
    letter-spacing: var(--e-loose);
}

.rudo-tap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--s-lg);
    border-radius: var(--r-md);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
    white-space: nowrap;
    flex-shrink: 0;
}

.rudo-tap-quiet {
    border: var(--b-fine) solid var(--c-rule-bold);
    background: var(--c-shade);
    color: var(--c-text);
    transition: background var(--t-fast) var(--x-land), color var(--t-fast) var(--x-land);
}

.rudo-tap-quiet:hover,
.rudo-tap-quiet:focus-visible {
    background: var(--c-text);
    color: var(--c-ink);
}

.rudo-menu-knob {
    display: inline-flex;
    align-items: center;
    gap: var(--s-xs);
    min-height: 44px;
    padding-inline: var(--s-md);
    border: var(--b-fine) solid var(--c-rule-bold);
    border-radius: var(--r-md);
    background: var(--c-shade);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    cursor: pointer;
    flex-shrink: 0;
}

.rudo-menu-knob:hover,
.rudo-menu-knob:focus-visible {
    border-color: var(--c-punch);
}

.rudo-knob-lead {
    display: inline;
}

.rudo-knob-word {
    display: inline;
}

.rudo-drawer {
    display: none;
    position: absolute;
    inset-inline: 0;
    top: 100%;
    z-index: 65;
    max-height: 74vh;
    overflow-y: auto;
    background: var(--c-raised);
    color: var(--c-text);
    border-block-end: var(--b-medium) solid var(--c-punch);
    box-shadow: var(--d-2xl);
}

.rudo-drawer.is-open {
    display: block;
}

.rudo-drawer-hold {
    width: 100%;
    max-width: calc(var(--v-full) + 2 * var(--v-padding-desktop));
    margin-inline: auto;
    padding: var(--s-lg);
}

.rudo-guide {
    display: block;
}

.rudo-stack {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--s-2xs) var(--s-lg);
}

.rudo-one {
    display: block;
}

.rudo-path {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding-inline: var(--s-sm);
    border-radius: var(--r-xs);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-mid);
    font-size: 15px;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--t-fast) var(--x-land);
}

.rudo-path:hover,
.rudo-path:focus-visible {
    color: var(--c-blend-a);
}

.rudo-path[aria-current='page'] {
    color: var(--c-blend-b);
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
}

.rudo-drawer-side {
    display: none;
    margin-block-start: var(--s-md);
    padding-block-start: var(--s-md);
    border-block-start: var(--b-fine) solid var(--c-edge);
}

.rudo-side-path {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--s-lg);
    border: var(--b-fine) solid var(--c-rule-bold);
    border-radius: var(--r-md);
    background: var(--c-shade);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
}

/* ── offer button ─────────────────────────────────────────────────── */

.tovix-act {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: var(--s-md) var(--s-xl);
    border: var(--b-medium) solid transparent;
    border-radius: var(--r-md);
    background: var(--c-punch);
    color: var(--c-ink);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
}

.tovix-act-slim {
    min-height: 44px;
    padding: var(--s-sm) var(--s-lg);
}

.tovix-note {
    display: block;
    margin-block-start: var(--s-xs);
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    line-height: var(--l-normal);
}

/* ── hero (HERO-12) ───────────────────────────────────────────────── */

.repe {
    padding-block: var(--s-2xl) var(--s-xl);
    background: var(--c-backdrop);
    color: var(--c-text);
}

.repe-head {
    text-align: center;
}

.repe-kicker {
    display: block;
    margin-block-end: var(--s-sm);
    color: var(--c-blend-b);
    font-family: var(--f-copy);
    font-size: var(--z-caption);
    font-style: italic;
    letter-spacing: var(--e-loose);
}

.repe-lead {
    max-width: var(--v-narrow);
    margin-inline: auto;
    margin-block: var(--s-lg) 0;
    color: var(--c-text-muted);
    font-size: var(--z-minor);
    font-style: italic;
    line-height: var(--l-normal);
}

.repe-sub {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--s-sm);
    margin-block-start: var(--s-md);
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
}

.repe-sub-one {
    display: inline-flex;
    align-items: center;
}

.repe-bar {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-2xs);
    margin-block-start: var(--s-lg);
}

.repe-figure {
    margin: var(--s-2xl) 0 0;
}

.repe-visual {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    border-radius: var(--r-lg);
}

.repe-caption {
    padding-block-start: var(--s-xs);
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    font-style: italic;
    text-align: center;
}

/* ── page header (PHEAD-03) ───────────────────────────────────────── */

.sadavo {
    padding-block: var(--s-2xl);
    background: var(--c-pillar-deep);
    color: var(--c-text);
}

.sadavo-top {
    font-size: clamp(30px, 5.4vw, var(--z-h1));
}

.sadavo-lead {
    max-width: var(--v-narrow);
    margin-block: var(--s-md) 0;
    color: var(--c-text);
    font-size: var(--z-minor);
    line-height: var(--l-normal);
}

/* ── byline (BYLINE-03) ───────────────────────────────────────────── */

.bifofef {
    padding-block: var(--s-sm);
    background: var(--c-backdrop);
    color: var(--c-text-muted);
    border-block-end: var(--b-fine) solid var(--c-edge);
}

.bifofef-line {
    display: flex;
    align-items: center;
    gap: var(--s-sm);
    flex-wrap: wrap;
}

.bifofef-headshot {
    display: block;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: var(--r-circle);
    object-fit: cover;
}

.bifofef-sub {
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
}

.bifofef-byname {
    color: var(--c-blend-a);
    font-weight: var(--w-mid);
    text-decoration: none;
}

.bifofef-byname:hover,
.bifofef-byname:focus-visible {
    text-decoration: underline;
}

.bifofef-hat {
    color: var(--c-text-muted);
}

/* ── prose (PROSE-08) ─────────────────────────────────────────────── */

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

.nifabym-slab {
    margin-block-start: var(--s-xl);
}

.nifabym-slab:first-child {
    margin-block-start: 0;
}

.nifabym-head {
    margin-block: 0 var(--s-sm);
    font-size: clamp(24px, 3.4vw, 42px);
    font-weight: var(--w-black);
}

.nifabym-tier {
    margin-inline-start: var(--s-step);
}

.nifabym-tier > p {
    margin-block: 0 var(--s-sm);
    line-height: var(--l-relaxed);
}

.nifabym-tier > ul,
.nifabym-tier > ol {
    margin-block: 0 var(--s-sm);
    padding-inline-start: var(--s-xl);
}

.nifabym-tier li {
    margin-block-end: var(--s-2xs);
    line-height: var(--l-relaxed);
}

.nifabym-tier > ol {
    list-style: none;
    counter-reset: step;
    padding-inline-start: 0;
}

.nifabym-tier > ol > li {
    counter-increment: step;
    padding-inline-start: var(--s-xl);
    position: relative;
}

.nifabym-tier > ol > li::before {
    content: counter(step) ".";
    position: absolute;
    inset-inline-start: 0;
    color: var(--c-blend-b);
    font-family: var(--f-head);
    font-weight: var(--w-black);
}

.nifabym-tier a,
.vosis-tier a {
    color: var(--c-blend-a);
    text-decoration: none;
    background-image: linear-gradient(var(--c-blend-a), var(--c-blend-a));
    background-repeat: no-repeat;
    background-position: 50% 100%;
    background-size: 0 2px;
    transition: background-size var(--t-normal) var(--x-land);
}

.nifabym-tier a:hover,
.nifabym-tier a:focus-visible,
.vosis-tier a:hover,
.vosis-tier a:focus-visible {
    background-size: 100% 2px;
}

/* ── content figures ──────────────────────────────────────────────── */

.pilav {
    margin: var(--s-xl) 0;
}

.pilav-wide .pilav-shot {
    display: block;
    width: 100%;
    height: auto;
    max-height: 460px;
    aspect-ratio: 3 / 2;
    object-fit: cover;
    border-radius: var(--r-md);
}

.pilav-tall,
.pilav-square {
    width: fit-content;
    margin-inline: auto;
    padding: var(--s-md);
    border-radius: var(--r-md);
    background: var(--c-raised);
}

.pilav-tall .pilav-shot,
.pilav-square .pilav-shot {
    display: block;
    width: auto;
    height: auto;
    max-height: 440px;
    max-width: 100%;
    border-radius: var(--r-sm);
}

/* ── inline offer inset ───────────────────────────────────────────── */

.jorel {
    margin-block: var(--s-xl);
    padding: var(--s-lg);
    border: var(--b-fine) dashed var(--c-rule-bold);
    border-radius: var(--r-lg);
    background: var(--c-raised);
    color: var(--c-text);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--s-md);
}

.jorel-meat {
    flex: 1 1 300px;
}

.jorel-top {
    display: block;
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-sub-2);
    line-height: var(--l-close);
}

.jorel-body {
    display: block;
    margin-block-start: var(--s-xs);
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
}

.jorel-bar {
    flex: 0 0 auto;
}

/* ── items grid (GRID-03) ─────────────────────────────────────────── */

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

.gelune-head {
    margin-block-end: var(--s-lg);
}

.gelune-stack {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    align-items: stretch;
    gap: var(--s-md);
}

.gelune-one {
    grid-column: span 6;
}

.gelune-one:nth-of-type(4n + 2),
.gelune-one:nth-of-type(4n + 3) {
    grid-column: span 4;
}

.gelune-one {
    padding: var(--s-lg);
    border: var(--b-fine) dashed var(--c-rule-bold);
    border-radius: var(--r-md);
    background: var(--c-raised);
    color: var(--c-text);
    transition: transform var(--t-normal) var(--x-land), border-color var(--t-normal) var(--x-land);
}

.gelune-one:hover {
    transform: translateX(3px);
    border-color: var(--c-punch);
}

.gelune-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-block-end: var(--s-sm);
    border: var(--b-fine) solid var(--c-rule-bold);
    border-radius: var(--r-circle);
    background: var(--c-shade);
    color: var(--c-blend-b);
}

.gelune-badge svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke-width: 1.5;
}

.gelune-top {
    margin-block-end: var(--s-xs);
}

.gelune-body {
    margin: 0;
    color: var(--c-text-muted);
    line-height: var(--l-normal);
}

.gelune-slot {
    grid-column: 1 / -1;
}

.gelune-slot .jorel {
    margin-block: 0;
}

/* ── data table (TABLE-07) ────────────────────────────────────────── */

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

.faxu-head {
    margin-block-end: var(--s-sm);
}

.faxu-note {
    margin-block: 0 var(--s-md);
    color: var(--c-text-muted);
    font-size: var(--z-caption);
}

.faxu-scroll {
    overflow-x: auto;
    border-radius: var(--r-md);
    border: var(--b-fine) solid var(--c-edge);
}

.faxu-grid {
    width: 100%;
    min-width: 640px;
    background: var(--c-raised);
    color: var(--c-text);
    font-size: var(--z-caption);
}

.faxu-grid th {
    padding: var(--s-md);
    background: var(--c-pillar-deep);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    letter-spacing: var(--e-loose);
    text-align: start;
    text-transform: uppercase;
}

.faxu-grid td {
    padding: var(--s-md);
    border-block-start: var(--b-fine) solid var(--c-edge);
    background: var(--c-raised);
    color: var(--c-text);
    line-height: var(--l-normal);
    vertical-align: top;
}

.faxu-grid td:nth-child(even) {
    background: var(--c-shade);
    color: var(--c-text);
}

/* ── reviews (REV-09) ─────────────────────────────────────────────── */

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

.pumudis-head {
    margin-block-end: var(--s-lg);
    text-align: center;
}

.pumudis-one {
    padding-block: var(--s-2xl);
    margin: 0;
    text-align: center;
}

.pumudis-body {
    max-width: var(--v-narrow);
    margin-inline: auto;
    font-family: var(--f-head);
    font-size: clamp(20px, 2.2vw, var(--z-h3));
    font-style: italic;
    font-weight: var(--w-mid);
    line-height: var(--l-close);
    color: var(--c-text);
}

.pumudis-sub {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: var(--s-sm);
    margin-block-start: var(--s-md);
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
}

.pumudis-score {
    color: var(--c-blend-b);
    font-weight: var(--w-mid);
}

.pumudis-rule {
    width: 80px;
    height: 0;
    margin: 0 auto;
    border: 0;
    border-block-start: var(--b-fine) solid var(--c-rule-bold);
}

.pumudis-slot {
    padding-block: var(--s-lg);
}

/* ── faq (FAQ-10) ─────────────────────────────────────────────────── */

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

.kodob-split {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
    gap: var(--s-2xl);
    align-items: start;
}

.kodob-aside {
    position: sticky;
    top: var(--s-xl);
    align-self: start;
    padding: var(--s-lg);
    border: var(--b-fine) dashed var(--c-rule-bold);
    border-radius: var(--r-lg);
    background: var(--c-raised);
    color: var(--c-text);
}

.kodob-head {
    margin: 0;
}

.kodob-lead {
    margin-block: var(--s-sm) 0;
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
}

.kodob-stack {
    display: grid;
    gap: var(--s-xl);
}

.kodob-one {
    padding-block-end: var(--s-lg);
    border-block-end: var(--b-fine) solid var(--c-edge);
}

.kodob-one[open] {
    padding-block-end: var(--s-lg);
}

.kodob-knob {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    align-items: start;
    gap: var(--s-md);
    cursor: pointer;
    list-style: none;
}

.kodob-knob::-webkit-details-marker {
    display: none;
}

.kodob-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: var(--r-circle);
    background: var(--c-shade);
    color: var(--c-blend-b);
    font-family: var(--f-head);
    font-size: var(--z-caption);
    font-weight: var(--w-black);
}

.kodob-top {
    font-size: clamp(18px, 1.7vw, var(--z-sub-2));
}

.kodob-meat {
    margin-block-start: var(--s-sm);
    padding-inline-start: calc(32px + var(--s-md));
}

.kodob-meat p {
    margin-block: 0;
    color: var(--c-text-muted);
    line-height: var(--l-relaxed);
}

.kodob-slot {
    padding-block: var(--s-sm);
}

/* ── cta block (CTA-05) ───────────────────────────────────────────── */

.bytifud {
    padding-block: var(--s-xl);
    background: var(--c-raised);
    color: var(--c-text);
    border-block: var(--b-fine) dashed var(--c-rule-bold);
}

.bytifud-inside {
    text-align: center;
}

.bytifud-body {
    max-width: var(--v-narrow);
    margin-inline: auto;
    margin-block: var(--s-md) 0;
    color: var(--c-text-muted);
    line-height: var(--l-normal);
}

.bytifud-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: var(--s-md);
    margin-block-start: var(--s-lg);
}

.bytifud-tap-second {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: var(--s-md) var(--s-xl);
    border: var(--b-fine) solid var(--c-text-muted);
    border-radius: var(--r-md);
    background: var(--c-shade);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color var(--t-fast) var(--x-land), background var(--t-fast) var(--x-land);
}

.bytifud-tap-second:hover,
.bytifud-tap-second:focus-visible {
    border-color: var(--c-text);
    background: var(--c-pillar-deep);
    color: var(--c-text);
}

/* ── legal (LEGAL-04) ─────────────────────────────────────────────── */

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

.vosis-box {
    position: relative;
    padding: var(--s-2xl);
    border: var(--b-fine) solid var(--c-edge);
    border-radius: var(--r-lg);
    background: var(--c-raised);
    color: var(--c-text);
    box-shadow: var(--d-sm);
}

.vosis-day {
    position: absolute;
    top: var(--s-md);
    inset-inline-end: var(--s-md);
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
}

.vosis-tier > h2 {
    margin-block: var(--s-xl) var(--s-sm);
    font-size: clamp(22px, 2.6vw, 32px);
}

.vosis-tier > h2:first-child {
    margin-block-start: 0;
}

.vosis-tier p {
    margin-block: 0 var(--s-sm);
    color: var(--c-text);
    line-height: var(--l-relaxed);
}

.vosis-stack {
    margin-block: 0 var(--s-sm);
    padding-inline-start: var(--s-xl);
}

.vosis-stack li {
    margin-block-end: var(--s-2xs);
    line-height: var(--l-relaxed);
}

.vosis-fine {
    margin-block-start: var(--s-xl);
    padding: var(--s-md);
    border-radius: var(--r-sm);
    background: var(--c-shade);
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
}

/* ── author card (AUTH-02) ────────────────────────────────────────── */

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

.toly-box {
    max-width: 600px;
    margin-inline: auto;
    text-align: center;
}

.toly-headshot {
    display: block;
    width: 140px;
    height: 140px;
    margin: 0 auto var(--s-lg);
    border-radius: var(--r-circle);
    object-fit: cover;
}

.toly-hat {
    color: var(--c-blend-b);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
}

.toly-head {
    margin-block: var(--s-xs) var(--s-md);
}

.toly-body {
    margin-block: 0 var(--s-md);
    color: var(--c-text-muted);
    line-height: var(--l-relaxed);
}

.toly-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.toly-chip {
    padding: var(--s-2xs) var(--s-sm);
    border: var(--b-fine) solid var(--c-rule-bold);
    border-radius: var(--r-stadium);
    background: var(--c-shade);
    color: var(--c-text);
    font-size: var(--z-micro);
}

.toly-articles {
    margin-block-start: var(--s-2xl);
    padding-block-start: var(--s-lg);
    border-block-start: var(--b-fine) solid var(--c-edge);
}

.toly-articles-head {
    margin-block-end: var(--s-md);
    text-align: center;
}

.toly-stack {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--s-xs) var(--s-lg);
}

.toly-one {
    display: block;
}

.toly-path {
    display: block;
    padding-block: var(--s-xs);
    color: var(--c-blend-a);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
    text-decoration: none;
}

.toly-path:hover,
.toly-path:focus-visible {
    text-decoration: underline;
}

/* ── contact form (FORM-05) ───────────────────────────────────────── */

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

.fyvufys-box {
    padding: var(--s-xl);
    border: var(--b-medium) solid var(--c-punch);
    border-radius: var(--r-md);
    color: var(--c-text);
}

.fyvufys-head {
    margin-block-end: var(--s-md);
}

.fyvufys-form {
    display: block;
}

.fyvufys-entry {
    display: block;
    margin-block-end: var(--s-lg);
}

.fyvufys-tag {
    display: block;
    margin-block-end: var(--s-xs);
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
}

.fyvufys-input,
.fyvufys-area {
    display: block;
    width: 100%;
    padding: var(--s-sm) 0;
    border: 0;
    border-bottom: var(--b-medium) dashed var(--c-rule-bold);
    background: transparent;
    color: var(--c-text);
    font-family: var(--f-copy);
    font-size: var(--z-minor);
}

.fyvufys-area {
    min-height: 130px;
    resize: vertical;
}

.fyvufys-input:focus,
.fyvufys-area:focus {
    outline: none;
    border-bottom-color: var(--c-punch);
}

.fyvufys-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: var(--s-md) var(--s-xl);
    border: 0;
    border-radius: var(--r-md);
    background: var(--c-punch);
    color: var(--c-ink);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    cursor: pointer;
}

.fyvufys-done {
    display: none;
    margin-block-start: var(--s-md);
    padding: var(--s-md);
    border-radius: var(--r-sm);
    background: var(--c-shade);
    color: var(--c-blend-a);
    font-size: var(--z-caption);
}

.fyvufys-done.is-shown {
    display: block;
}

/* ── error block (ERR-08) ─────────────────────────────────────────── */

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

.dobe-core {
    width: 100%;
}

.dobe-body {
    max-width: var(--v-narrow);
    margin-block: var(--s-md) var(--s-lg);
    color: var(--c-text-muted);
    line-height: var(--l-normal);
}

.dobe-back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: var(--s-md) var(--s-xl);
    border-radius: var(--r-md);
    background: var(--c-pillar-deep);
    color: var(--c-text);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-caption);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
}

.dobe-hints {
    margin-block-start: var(--s-2xl);
    padding: var(--s-xl);
    border-radius: var(--r-md);
    background: var(--c-raised);
    color: var(--c-text);
}

.dobe-hints-head {
    margin-block-end: var(--s-md);
}

.dobe-stack {
    display: flex;
    flex-wrap: wrap;
    gap: var(--s-md);
    list-style: none;
    margin: 0;
    padding: 0;
}

.dobe-one {
    display: block;
}

.dobe-path {
    color: var(--c-blend-a);
    font-size: var(--z-copy);
    text-decoration: none;
}

.dobe-path:hover,
.dobe-path:focus-visible {
    text-decoration: underline;
}

/* ── footer (FOOT-03) ─────────────────────────────────────────────── */

.zevany {
    flex-shrink: 0;
    padding-block: var(--s-3xl);
    background: var(--c-backdrop);
    color: var(--c-text);
    border-block-start: var(--b-fine) solid var(--c-edge);
}

.zevany-frame {
    width: 100%;
    max-width: calc(var(--v-full) + 2 * var(--v-padding-desktop));
    margin-inline: auto;
    padding-inline: var(--v-padding-desktop);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--s-lg);
    text-align: center;
}

.zevany-logo {
    display: inline-flex;
    text-decoration: none;
}

.zevany-logo-visual {
    display: block;
    height: 88px;
    width: auto;
}

.zevany-guide {
    display: block;
    width: 100%;
}

.zevany-stack {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--s-sm) var(--s-lg);
    list-style: none;
    margin: 0;
    padding: 0;
}

.zevany-one {
    display: block;
}

.zevany-path {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    color: var(--c-text);
    font-family: var(--f-head);
    font-size: var(--z-copy);
    font-weight: var(--w-mid);
    text-decoration: none;
}

.zevany-path:hover,
.zevany-path:focus-visible {
    color: var(--c-blend-a);
}

.zevany-lead {
    max-width: 480px;
    margin: 0;
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-relaxed);
}

.zevany-legal-strip {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: var(--s-sm);
}

.zevany-legal-path {
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    text-decoration: none;
}

.zevany-legal-path:hover,
.zevany-legal-path:focus-visible {
    color: var(--c-text);
}

.zevany-dot {
    color: var(--c-text-muted);
    font-size: var(--z-micro);
}

.zevany-fineprint {
    display: block;
    max-width: 640px;
    color: var(--c-text-muted);
    font-size: var(--z-micro);
    line-height: var(--l-normal);
}

/* ── responsible gaming band (RG-06) ──────────────────────────────── */

.rg-crest {
    position: fixed;
    inset-block-end: 0;
    inset-inline: 0;
    z-index: 80;
    display: block;
    padding: var(--s-xs) var(--s-md);
    background: var(--c-advisory);
    color: #ffffff;
    font-size: var(--z-micro);
    line-height: var(--l-normal);
    text-align: center;
    pointer-events: none;
}

.rg-crest-mark {
    display: inline-flex;
    align-items: center;
    margin-inline-end: var(--s-xs);
    padding: 0 var(--s-xs);
    border: var(--b-fine) solid #ffffff;
    border-radius: var(--r-2xs);
    background: var(--c-advisory);
    color: #ffffff;
    font-family: var(--f-head);
    font-weight: var(--w-black);
}

.rg-crest-say {
    color: #ffffff;
}

.rg-crest-path {
    margin-inline-start: var(--s-xs);
    color: #ffffff;
    display: inline-block;
    white-space: nowrap;
    pointer-events: auto;
}

/* ── cookie banner (COOK-07) ──────────────────────────────────────── */

.bisynid {
    position: fixed;
    inset-block-end: calc(var(--rg-pad, 58px) + var(--s-sm));
    inset-inline-end: var(--s-lg);
    z-index: 90;
    width: 320px;
    max-width: calc(100vw - 2 * var(--s-lg));
    padding: var(--s-md);
    border-inline-start: 4px solid var(--c-punch);
    border-radius: var(--r-sm);
    background: var(--c-backdrop);
    color: var(--c-text);
    box-shadow: var(--d-xl);
    opacity: 0;
    clip-path: inset(100% 0 0 0);
    transition: clip-path var(--t-normal) var(--x-land), opacity var(--t-normal) var(--x-land);
}

.bisynid.is-shown {
    opacity: 1;
    clip-path: inset(0 0 0 0);
}

.bisynid.is-gone {
    opacity: 0;
    transform: translateY(150vh);
}

.bisynid-meat {
    display: flex;
    flex-direction: column;
    gap: var(--s-sm);
}

.bisynid-sign {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    color: var(--c-blend-b);
}

.bisynid-sign svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke-width: 1.5;
}

.bisynid-message {
    color: var(--c-text-muted);
    font-size: var(--z-caption);
    line-height: var(--l-normal);
}

.bisynid-ok {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: var(--s-sm) var(--s-md);
    border: 0;
    border-radius: var(--r-sm);
    background: var(--c-punch);
    color: var(--c-ink);
    font-family: var(--f-head);
    font-weight: var(--w-black);
    font-size: var(--z-micro);
    letter-spacing: var(--e-loose);
    text-transform: uppercase;
    cursor: pointer;
}

/* ── tablet ───────────────────────────────────────────────────────── */

@media (max-width: 1240px) {
    .repe-guts,
    .sadavo-guts,
    .nifabym-guts,
    .gelune-guts,
    .kodob-guts,
    .pumudis-guts,
    .bytifud-guts,
    .faxu-guts,
    .vosis-guts,
    .fyvufys-guts,
    .toly-guts,
    .dobe-guts,
    .bifofef-guts,
    .zevany-frame,
    .rudo-drawer-hold {
        padding-inline: var(--v-edge-mid);
    }

    .nifabym-tier {
        margin-inline-start: var(--s-xl);
    }

    .kodob-split {
        gap: var(--s-xl);
    }
}

@media (max-width: 900px) {
    .rudo-tap-quiet {
        display: none;
    }

    .rudo-drawer-side {
        display: block;
    }

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

    .gelune-stack {
        grid-template-columns: minmax(0, 1fr);
    }

    .gelune-one,
    .gelune-one:nth-of-type(4n + 2),
    .gelune-one:nth-of-type(4n + 3) {
        grid-column: 1 / -1;
    }

    .kodob-split {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--s-lg);
    }

    .kodob-aside {
        position: static;
    }

    .toly-stack {
        grid-template-columns: minmax(0, 1fr);
    }

    .vosis-box {
        padding: var(--s-xl);
        padding-block-start: var(--s-2xl);
    }

    .repe-visual {
        aspect-ratio: 16 / 9;
    }
}

/* ── mobile ───────────────────────────────────────────────────────── */

@media (max-width: 620px) {
    .rudo-strip {
        height: auto;
        min-height: 64px;
        flex-wrap: wrap;
        row-gap: var(--s-sm);
        padding-block: var(--s-sm);
        padding-inline: var(--s-md);
    }

    .rudo-bar {
        order: 4;
        flex-basis: 100%;
        margin-inline-start: 0;
        justify-content: space-between;
    }

    .rudo-menu-knob {
        margin-inline-start: auto;
    }

    .rudo-logo-visual {
        height: 38px;
    }

    .rudo-logo-plate {
        padding: var(--s-xs) var(--s-md);
    }

    .rudo-knob-lead {
        display: none;
    }

    .rudo-stack {
        grid-template-columns: minmax(0, 1fr);
    }

    .tovix-act {
        width: 100%;
    }

    .jorel-bar {
        flex: 1 1 100%;
    }
}

@media (max-width: 600px) {
    :root {
        --z-h1: 36px;
        --z-xl-2: 28px;
        --z-h3: 22px;
        --z-sub-2: 18px;
        --z-minor: 16px;
        --z-xs-2: 14px;
        --z-copy: 16px;
        --z-caption: 13px;
        --z-micro: 11px;
    }

    .repe-guts,
    .sadavo-guts,
    .nifabym-guts,
    .gelune-guts,
    .kodob-guts,
    .pumudis-guts,
    .bytifud-guts,
    .faxu-guts,
    .vosis-guts,
    .fyvufys-guts,
    .toly-guts,
    .dobe-guts,
    .bifofef-guts,
    .zevany-frame,
    .rudo-drawer-hold {
        padding-inline: var(--v-pad-sm);
    }

    .nifabym-tier {
        margin-inline-start: 0;
    }

    .vosis-box {
        padding: var(--s-lg);
        padding-block-start: var(--s-2xl);
    }

    .fyvufys-box {
        padding: var(--s-lg);
    }

    .dobe-hints {
        padding: var(--s-lg);
    }

    .zevany-logo-visual {
        height: 60px;
    }

    .pumudis-one {
        padding-block: var(--s-xl);
    }

    .faxu-grid {
        min-width: 0;
    }

    .faxu-grid th,
    .faxu-grid td {
        padding: var(--s-sm);
        white-space: normal;
    }

    .kodob-meat {
        padding-inline-start: 0;
    }

    .toly-headshot {
        width: 120px;
        height: 120px;
    }

    .pilav-tall .pilav-shot,
    .pilav-square .pilav-shot {
        max-height: 320px;
    }
}

@media (max-width: 700px) {
    .bisynid {
        inset-inline: var(--s-md);
        inset-block-end: calc(var(--rg-pad, 58px) + var(--s-sm));
        width: auto;
        max-width: none;
    }

    .bisynid,
    .bisynid-meat {
        padding: 12px 14px;
        gap: 8px;
    }

    .bisynid {
        padding: 0;
    }

    .bisynid-sign {
        display: none;
    }

    .bisynid-message {
        font-size: 13px;
        line-height: 1.35;
    }

    .bisynid-ok {
        width: 100%;
        min-height: 38px;
        padding: 8px 14px;
        font-size: 12px;
    }
}

@media (max-width: 430px) {
    .faxu-grid {
        font-size: 12px;
    }

    .faxu-grid th,
    .faxu-grid td {
        padding: var(--s-xs);
    }

    .rg-crest {
        padding-inline: var(--s-xs);
        font-size: 10px;
    }

    .rg-crest-mark {
        font-size: 10px;
    }
}

@media (max-width: 420px) {
    .rudo-tap {
        padding-inline: var(--s-md);
    }

    .rudo-bar {
        gap: var(--s-xs);
    }
}

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

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

/* ── offer button skin (from scripts/cta-style.mjs, domain-rolled) ────── */

.tovix-act {
    position: relative;
    overflow: hidden;
    background: #F59E0B;
    color: #08101F;
    text-decoration: none;
    text-transform: uppercase;
    animation: tovix-beat 2.12s var(--x-both) infinite;
    transition: background var(--t-normal) var(--x-land), border-color var(--t-normal) var(--x-land);
}

.tovix-act::after {
    content: "";
    position: absolute;
    inset: 0;
    width: 100%;
    pointer-events: none;
    background-image: linear-gradient(100deg, transparent 38%, rgba(255, 255, 255, 0.42) 50%, transparent 62%);
    background-size: 260% 100%;
    background-repeat: no-repeat;
    background-position: -60% 0;
    animation: tovix-glide 2.12s var(--x-both) infinite;
}

.tovix-act:hover {
    background: #B45309;
    color: #FFFFFF;
    animation: none;
}

.tovix-act:hover::after {
    animation: none;
}

.tovix-act:active {
    background: #92400E;
    color: #FFFFFF;
}

.tovix-act:focus-visible {
    outline: 3px solid #08101F;
    outline-offset: 3px;
}

@keyframes tovix-beat {
    0% {
        transform: scale(1);
        animation-timing-function: var(--x-land);
    }

    18.396% {
        transform: scale(1.07);
        animation-timing-function: var(--x-both);
    }

    48.113%,
    100% {
        transform: scale(1);
    }
}

@keyframes tovix-glide {
    0%,
    4.245% {
        background-position: -60% 0;
    }

    41.038%,
    100% {
        background-position: 160% 0;
    }
}

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