/* =========================================================================
   Verde Casino PT — folha de estilo principal
   Escala tipográfica TYPO-03 · ritmo SPACE-03 · geometria GEO-01 (sem raios)
   Cascata: tokens → base → acessibilidade → componentes → utilitários
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. Tipos de letra alojados no próprio servidor
   ------------------------------------------------------------------------- */
@font-face {
    font-family: 'Montserrat';
    src: url('/assets/typeface/montserrat-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Montserrat';
    src: url('/assets/typeface/montserrat-900.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('/assets/typeface/inter-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Inter';
    src: url('/assets/typeface/inter-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* -------------------------------------------------------------------------
   2. Tokens da construção (nomes próprios deste site)
   ------------------------------------------------------------------------- */
:root {
    /* cor */
    --primary: #65c101;
    --flare: #0b0a10;
    --key-active: #000000;
    --ground: #141516;
    --card: #1c1e1f;
    --body: #ffffff;
    --muted: #c1c1c1;
    --border: #2a2d2e;
    --border-strong: #3d4142;
    --grad-1: #40385c;
    --grad-2: #211e31;
    --caution: #7f1d1d;
    --deep: #08070c;
    --stripe: #1f2122;

    /* ritmo vertical SPACE-03 */
    --g-2xs: 2px;
    --g-xs: 6px;
    --g-sm: 10px;
    --g-md: 14px;
    --g-lg: 20px;
    --g-xl: 28px;
    --g-2xl: 48px;
    --g-3xl: 72px;
    --sec-y: 44px;

    /* geometria GEO-01 — tudo a direito */
    --lozenge: 0;
    --circle: 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;
    --even: 2px;
    --thick: 4px;

    /* letra */
    --lead: 'Montserrat', 'Helvetica Neue', Arial, sans-serif;
    --base: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    --xxl: clamp(30px, 5.6vw, 80px);
    --xl-2: clamp(26px, 3.4vw, 48px);
    --h3: clamp(22px, 2.2vw, 30px);
    --sub-2: 22px;
    --minor: 16px;
    --h6: 13px;
    --normal: 15px;
    --small: 13px;
    --xs: 11px;
    --compact: 0.98;
    --l-normal: 1.45;
    --open: 1.65;
    --w-normal: 400;
    --mid: 700;
    --strong: 900;
    --packed: -0.04em;
    --e-base: 0;
    --e-open: 0.08em;

    /* movimento — números desta construção */
    --fast: 105ms;
    --steady: 230ms;
    --calm: 440ms;
    --exit: cubic-bezier(0.21, 0.9, 0.4, 0.97);
    --in: cubic-bezier(0.57, 0, 0.4, 0.88);
    --smooth: cubic-bezier(0.57, 0, 0.4, 0.88);
    --pop: cubic-bezier(0.45, 1.55, 0.67, 1);

    /* larguras */
    --outer: 1380px;
    --readable: 1380px;
    --pinch: 670px;
    --inset-desktop: 48px;
    --padding-tablet: 32px;
    --edge-narrow: 16px;

    /* alturas da barra superior */
    --h-lg: 54px;
    --size-mobile: 54px;
    --shell: 100px;
}

/* -------------------------------------------------------------------------
   3. Reposição e base
   ------------------------------------------------------------------------- */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    overflow-x: clip;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    margin-block-start: var(--shell, 100px);
    background-color: var(--ground);
    color: var(--body);
    font-family: var(--base);
    font-size: var(--normal);
    font-weight: var(--w-normal);
    line-height: var(--l-normal);
    -webkit-font-smoothing: antialiased;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

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

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

h1 {
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--xxl);
    line-height: var(--compact);
    letter-spacing: var(--packed);
    text-transform: uppercase;
}

h2 {
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--xl-2);
    line-height: var(--compact);
    letter-spacing: var(--packed);
    text-transform: uppercase;
}

h3 {
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--h3);
    line-height: 1.15;
    letter-spacing: var(--e-base);
}

h4 {
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--sub-2);
    line-height: 1.2;
}

h5,
h6 {
    font-family: var(--base);
    font-weight: var(--mid);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
}

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

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

p {
    margin: 0 0 var(--g-md);
    line-height: var(--open);
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color var(--fast) var(--exit);
}

a:hover {
    color: var(--body);
}

img {
    max-width: 100%;
}

ul,
ol {
    margin: 0 0 var(--g-md);
    padding-inline-start: var(--g-xl);
}

li {
    line-height: var(--open);
    margin-block-end: var(--g-xs);
}

strong {
    font-weight: var(--mid);
}

table {
    border-collapse: collapse;
}

/* largura única de todas as secções */
.e19-frame,
.i43-frame,
.o54-frame,
.c90-frame,
.o05-frame,
.m29-frame,
.p40-frame,
.b62-frame,
.k77-frame,
.z31-frame,
.l68-frame,
.w32-frame,
.z78-frame {
    max-width: calc(var(--outer) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-desktop);
    display: block;
    width: 100%;
}

/* -------------------------------------------------------------------------
   4. Acessibilidade
   ------------------------------------------------------------------------- */
.skip-hop {
    position: absolute;
    inset-inline-start: var(--g-sm);
    z-index: 300;
    background: var(--primary);
    color: var(--flare);
    padding: var(--g-sm) var(--g-md);
    font-weight: var(--mid);
}

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

.skip-hop:focus {
    top: var(--g-sm);
}

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

:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   5. Barra superior — composição HEAD-TIER (fila de serviço + fila principal)
   ------------------------------------------------------------------------- */
.l09 {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: var(--flare);
    border-bottom: var(--hair) solid var(--border);
}

/* fila de serviço */
.l09-tier {
    height: 34px;
    background: var(--deep);
    color: var(--muted);
    display: flex;
    align-items: center;
    gap: var(--g-md);
    padding-inline: var(--g-2xl);
    font-size: var(--xs);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
}

.l09-tier-route {
    color: var(--muted);
    background: var(--deep);
}

.l09-tier-route:hover {
    color: var(--body);
    background: var(--deep);
}

.l09-flagpin {
    margin-inline-start: auto;
    display: inline-flex;
    align-items: center;
    gap: var(--g-xs);
    background: var(--deep);
    color: var(--muted);
}

.l09-flagpin span {
    font-size: 14px;
    line-height: 1;
}

/* fila principal */
.l09-base {
    min-height: 54px;
    background: var(--flare);
    color: var(--body);
    display: flex;
    align-items: center;
    gap: var(--g-lg);
    padding-inline: var(--g-2xl);
    padding-block: var(--g-xs);
    position: relative;
}

.l09-mark {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    order: 1;
    background: var(--flare);
}

.l09-art {
    display: block;
    height: 48px;
    width: auto;
    flex-shrink: 0;
}

.l09-caution {
    order: 2;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 22px;
    background: var(--caution);
    color: var(--body);
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: 12px;
    letter-spacing: var(--e-base);
}

/* menu horizontal — prioridade+ calculada pela folha de estilo */
.l09-index {
    order: 3;
    flex: 0 0 auto;
    margin-inline-start: auto;
    background: var(--flare);
}

.l09-chain {
    display: flex;
    align-items: center;
    gap: var(--g-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.l09-node {
    margin: 0;
    display: flex;
    align-items: center;
    position: relative;
}

.l09-node[hidden] {
    display: none;
}

.l09-node + .l09-node::before,
.l09-more-host::before {
    content: '|';
    color: var(--border-strong);
    margin-inline-end: var(--g-sm);
    font-size: var(--h6);
}

.l09-route {
    display: inline-block;
    padding-block: var(--g-xs);
    color: var(--body);
    background: var(--flare);
    font-family: var(--base);
    font-size: 15px;
    font-weight: 400;
    font-variant: small-caps;
    letter-spacing: var(--e-base);
    white-space: nowrap;
    border-top: var(--even) solid transparent;
    transition: color var(--fast) var(--exit), transform var(--fast) var(--exit);
}

.l09-route:hover {
    color: var(--primary);
    background: var(--flare);
    transform: translateY(-3px);
}

.l09-route[aria-current='page'] {
    color: var(--primary);
    background: var(--flare);
    border-top-color: var(--primary);
}

/* item “mostrar mais” */
.l09-more-host {
    margin: 0;
    display: flex;
    align-items: center;
    position: relative;
}

.l09-more-host[hidden] {
    display: none;
}

.l09-more-knob {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    border: 0;
    background: var(--flare);
    color: var(--body);
    padding: var(--g-xs) var(--g-sm);
    cursor: pointer;
}

.l09-more-knob:hover {
    color: var(--primary);
    background: var(--flare);
}

.l09-more-dot {
    display: block;
    width: 4px;
    height: 4px;
    background: currentColor;
}

.l09-more-pane {
    display: none;
    position: absolute;
    top: calc(100% + var(--g-xs));
    right: 0;
    min-width: 190px;
    max-height: 60vh;
    overflow-y: auto;
    margin: 0;
    padding: var(--g-xs) 0;
    list-style: none;
    background: var(--deep);
    color: var(--body);
    border: var(--hair) solid var(--border-strong);
    z-index: 120;
}

.l09-more-pane.is-open {
    display: block;
}

.l09-more-pane .l09-node {
    display: block;
    width: 100%;
}

.l09-more-pane .l09-node::before {
    content: none;
}

.l09-more-pane .l09-route {
    display: block;
    width: 100%;
    padding: var(--g-xs) var(--g-md);
    background: var(--deep);
    border-top: 0;
}

.l09-more-pane .l09-route:hover {
    background: var(--deep);
    color: var(--primary);
    transform: none;
}

/* botões da barra */
.l09-actions {
    order: 4;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: var(--g-sm);
}

.l09-tap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--g-lg);
    white-space: nowrap;
    flex-shrink: 0;
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--h6);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
}

/* botão do menu (palavra, com fundo suave) */
.l09-menu-knob {
    order: 5;
    display: none;
    align-items: center;
    gap: var(--g-xs);
    background: var(--stripe);
    color: var(--body);
    border: var(--hair) solid var(--border-strong);
    padding: var(--g-xs) var(--g-md);
    min-height: 40px;
    font-family: var(--base);
    font-size: var(--h6);
    font-weight: var(--mid);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
    cursor: pointer;
}

.l09-menu-knob:hover {
    background: var(--border);
    color: var(--body);
}

/* painel deslizante (ecrãs estreitos) */
.l09-slide {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--deep);
    color: var(--body);
    border-top: var(--hair) solid var(--border-strong);
    max-height: 70vh;
    overflow-y: auto;
    z-index: 110;
}

.l09-slide.is-open {
    display: block;
}

.l09-slide-chain {
    margin: 0;
    padding: 0;
    list-style: none;
}

.l09-slide-node {
    margin: 0;
}

.l09-slide-route {
    display: block;
    padding: var(--g-md) var(--g-lg);
    color: var(--body);
    background: var(--deep);
    font-size: var(--minor);
    font-variant: small-caps;
    border-bottom: var(--hair) solid var(--border);
}

.l09-slide-route:hover,
.l09-slide-route[aria-current='page'] {
    color: var(--primary);
    background: var(--deep);
}

/* comportamento “encolher” ao rolar */
.l09.is-shrunk .l09-tier {
    height: 0;
    overflow: hidden;
    padding-block: 0;
}

.l09.is-shrunk .l09-art {
    height: 40px;
}

/* -------------------------------------------------------------------------
   6. Primeiro ecrã — HERO-11 (imagem compacta à direita)
   ------------------------------------------------------------------------- */
.e19 {
    background-color: var(--grad-2);
    background-image: linear-gradient(140deg, var(--grad-2) 0%, var(--ground) 62%);
    color: var(--body);
    padding-block: var(--sec-y);
    border-bottom: var(--hair) solid var(--border);
}

.e19-grid {
    display: grid;
    grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
    gap: var(--g-2xl);
    align-items: center;
    min-height: 400px;
}

.e19-fill {
    display: block;
}

.e19-kicker {
    display: inline-block;
    background: var(--primary);
    color: var(--flare);
    padding: var(--g-2xs) var(--g-sm);
    font-family: var(--base);
    font-size: var(--xs);
    font-weight: var(--mid);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
    margin-block-end: var(--g-md);
}

.e19-head {
    color: var(--body);
    margin-block-end: var(--g-md);
}

.e19-deck {
    color: var(--muted);
    font-size: var(--minor);
    max-width: var(--pinch);
    margin-block-end: var(--g-lg);
}

.e19-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--g-md);
}

.e19-fineprint {
    display: block;
    color: var(--muted);
    font-size: var(--xs);
    margin-block-start: var(--g-sm);
}

.e19-figure {
    margin: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: var(--hair) solid var(--border-strong);
    align-self: center;
}

.e19-art {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* -------------------------------------------------------------------------
   7. Cabeçalho de página — PHEAD-02 (compacto, centrado)
   ------------------------------------------------------------------------- */
.i43 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
    border-bottom: var(--hair) solid var(--border);
    text-align: center;
}

.i43-head {
    color: var(--body);
    margin-block-end: var(--g-md);
}

.i43-rule {
    display: block;
    width: 64px;
    height: var(--thick);
    background: var(--primary);
    margin-inline: auto;
    border: 0;
}

.i43-actions {
    display: flex;
    justify-content: center;
    margin-block-start: var(--g-lg);
}

/* -------------------------------------------------------------------------
   8. Texto corrido — PROSE-12 (número solto à esquerda, sem plaqueta)
   ------------------------------------------------------------------------- */
.p40 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
    counter-reset: p40seq;
}

.p40-block {
    counter-increment: p40seq;
    display: block;
    margin-block-end: var(--g-xl);
}

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

.p40-head {
    display: flex;
    align-items: baseline;
    gap: var(--g-md);
    color: var(--body);
    margin-block-start: 0;
    margin-block-end: var(--g-sm);
}

.p40-head::before {
    content: counter(p40seq, decimal-leading-zero);
    flex-shrink: 0;
    font-family: var(--lead);
    font-weight: var(--w-normal);
    font-size: 56px;
    line-height: 0.9;
    color: var(--primary);
}

.p40-copy {
    color: var(--body);
    background: var(--ground);
    margin-block-end: var(--g-sm);
}

.p40-chain {
    color: var(--body);
    margin-block-end: var(--g-md);
}

.p40-item {
    color: var(--body);
}

.p40-copy a,
.p40-item a {
    color: var(--primary);
    background: var(--ground);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.p40-copy a:hover,
.p40-item a:hover {
    color: var(--body);
    background: var(--ground);
}

.p40-shot {
    margin: 0 0 var(--g-lg);
    display: block;
    max-width: 520px;
    margin-inline: auto;
    border: var(--hair) solid var(--border-strong);
}

.p40-shot-tall {
    max-width: 360px;
}

.p40-shot img {
    display: block;
    width: 100%;
    height: auto;
}

.p40-plug {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--g-md);
    background: var(--card);
    color: var(--body);
    border-left: var(--thick) solid var(--primary);
    padding: var(--g-lg);
    margin-block: var(--g-lg);
}

.p40-plug-copy {
    flex: 1 1 260px;
    color: var(--muted);
    background: var(--card);
    margin: 0;
    font-size: var(--small);
}

/* -------------------------------------------------------------------------
   9. Cartões — GRID-04 (círculo com número e ícone)
   ------------------------------------------------------------------------- */
.o54 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.o54-lede {
    color: var(--body);
    margin-block-start: 0;
    margin-block-end: var(--g-lg);
}

.o54-stack {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--g-md);
}

.o54-panel {
    background: var(--card);
    color: var(--body);
    border: var(--hair) solid var(--border);
    padding: var(--g-lg);
    box-shadow: none;
    transition: box-shadow var(--steady) var(--exit);
}

.o54-panel:hover {
    box-shadow: var(--d-lg);
}

.o54-disc {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: var(--circle);
    background: var(--primary);
    color: var(--flare);
    margin-block-end: var(--g-md);
    position: relative;
}

.o54-glyph {
    display: block;
    width: 30px;
    height: 30px;
    fill: currentColor;
}

.o54-num {
    position: absolute;
    inset-block-start: -6px;
    inset-inline-end: -6px;
    min-width: 22px;
    height: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--flare);
    color: var(--body);
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--xs);
}

.o54-head {
    color: var(--body);
    font-size: var(--sub-2);
    font-weight: var(--strong);
    margin-block-end: var(--g-sm);
}

.o54-copy {
    color: var(--muted);
    background: var(--card);
    font-size: var(--normal);
    line-height: var(--l-normal);
}

.o54-plug {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--g-md);
    background: var(--card);
    color: var(--body);
    border: var(--hair) solid var(--primary);
    padding: var(--g-lg);
}

.o54-plug-copy {
    flex: 1 1 260px;
    margin: 0;
    color: var(--muted);
    background: var(--card);
    font-size: var(--small);
}

/* -------------------------------------------------------------------------
   10. Perguntas — FAQ-05 (details nativo)
   ------------------------------------------------------------------------- */
.c90 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.c90-lede {
    color: var(--body);
    margin-block-start: 0;
    margin-block-end: var(--g-lg);
}

.c90-chain {
    margin: 0;
    padding: 0;
    list-style: none;
}

.c90-node {
    margin: 0;
    border-bottom: var(--hair) solid var(--border);
}

.c90-item {
    display: block;
    padding-block: var(--g-md);
}

.c90-ask {
    display: block;
    position: relative;
    padding-inline-end: var(--g-xl);
    cursor: pointer;
    list-style: none;
    color: var(--body);
    background: var(--ground);
}

.c90-ask::-webkit-details-marker {
    display: none;
}

.c90-ask::after {
    content: '';
    position: absolute;
    inset-inline-end: var(--g-xs);
    inset-block-start: 8px;
    width: 10px;
    height: 10px;
    border-right: var(--even) solid var(--primary);
    border-bottom: var(--even) solid var(--primary);
    transform: rotate(45deg);
}

.c90-item[open] .c90-ask::after {
    transform: rotate(-135deg);
}

.c90-head {
    display: inline;
    color: var(--body);
    font-size: var(--minor);
    font-family: var(--base);
    font-weight: var(--mid);
    text-transform: none;
    letter-spacing: var(--e-base);
}

.c90-ask:hover .c90-head {
    color: var(--primary);
}

.c90-fill {
    display: block;
    padding-block-start: var(--g-sm);
}

.c90-copy {
    color: var(--muted);
    background: var(--ground);
    margin-block-end: 0;
}

/* -------------------------------------------------------------------------
   11. Opiniões — REV-10 (lista sublinhada, muito discreta)
   ------------------------------------------------------------------------- */
.o05 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.o05-lede {
    color: var(--body);
    margin-block-start: 0;
    margin-block-end: var(--g-lg);
}

.o05-stack {
    display: block;
}

.o05-item {
    display: block;
    padding-block: var(--g-md);
    border-bottom: var(--hair) dotted var(--border-strong);
}

.o05-byname {
    display: inline;
    color: var(--body);
    background: var(--ground);
    font-size: var(--normal);
    font-weight: var(--mid);
}

.o05-score {
    display: inline;
    color: var(--muted);
    background: var(--ground);
    font-size: var(--normal);
}

.o05-quote {
    display: block;
    margin: var(--g-xs) 0 0;
    padding: 0;
    border: 0;
    color: var(--muted);
    background: var(--ground);
    font-size: var(--normal);
    line-height: var(--open);
}

/* -------------------------------------------------------------------------
   12. Apelo — CTA-07 (cartão vertical com número decorativo)
   ------------------------------------------------------------------------- */
.m29 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.m29-panel {
    background: var(--card);
    color: var(--body);
    border: var(--even) solid var(--primary);
    padding: var(--g-2xl);
    text-align: center;
}

.m29-digit {
    display: block;
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: clamp(44px, 7vw, 80px);
    line-height: var(--compact);
    color: var(--primary);
    background: var(--card);
    margin-block-end: var(--g-sm);
}

.m29-head {
    color: var(--body);
    margin-block-end: var(--g-md);
}

.m29-copy {
    color: var(--muted);
    background: var(--card);
    max-width: var(--pinch);
    margin-inline: auto;
    margin-block-end: var(--g-lg);
}

.m29-actions {
    display: flex;
    justify-content: center;
}

.m29-fineprint {
    display: block;
    color: var(--muted);
    background: var(--card);
    font-size: var(--xs);
    margin-block-start: var(--g-md);
}

/* -------------------------------------------------------------------------
   13. Tabela — TABLE-01 (linhas alternadas)
   ------------------------------------------------------------------------- */
.b62 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.b62-lede {
    color: var(--body);
    margin-block-start: 0;
    margin-block-end: var(--g-sm);
}

.b62-note {
    display: block;
    color: var(--muted);
    background: var(--ground);
    font-size: var(--small);
    margin-block-end: var(--g-md);
}

.b62-scroll {
    overflow-x: auto;
    border: var(--hair) solid var(--border);
}

.b62-grid {
    width: 100%;
    background: var(--card);
    color: var(--body);
    font-size: var(--normal);
}

.b62-grid th {
    background: var(--primary);
    color: var(--flare);
    font-family: var(--base);
    font-weight: var(--mid);
    font-size: var(--h6);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
    text-align: left;
    padding: var(--g-md);
}

.b62-grid td {
    background: var(--card);
    color: var(--muted);
    padding: var(--g-md);
    text-align: left;
    border-top: var(--hair) solid var(--border);
    overflow-wrap: anywhere;
}

.b62-grid td:first-child {
    color: var(--body);
    background: var(--card);
    font-weight: var(--mid);
}

.b62-grid tbody tr:nth-child(even) td {
    background: var(--stripe);
    color: var(--muted);
}

.b62-grid tbody tr:nth-child(even) td:first-child {
    background: var(--stripe);
    color: var(--body);
}

/* -------------------------------------------------------------------------
   14. Páginas legais — LEGAL-05 (lista de definições)
   ------------------------------------------------------------------------- */
.k77 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.k77-intro {
    color: var(--body);
    background: var(--ground);
    font-size: var(--minor);
    margin-block-end: var(--g-lg);
}

.k77-chain {
    margin: 0;
    padding: 0;
}

.k77-term {
    position: relative;
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--sub-2);
    color: var(--body);
    background: var(--ground);
    margin-block-start: var(--g-lg);
    margin-block-end: var(--g-xs);
    padding-block-start: var(--g-sm);
}

.k77-term::before {
    content: '';
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    width: 30px;
    height: var(--even);
    background: var(--primary);
}

.k77-def {
    margin-inline-start: 0;
    color: var(--muted);
    background: var(--ground);
    line-height: var(--open);
    margin-block-end: var(--g-md);
}

.k77-set {
    margin-block-start: var(--g-lg);
    color: var(--muted);
}

.k77-set-lede {
    color: var(--body);
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--sub-2);
    margin-block-end: var(--g-sm);
}

.k77-note {
    margin-block-start: var(--g-lg);
    padding: var(--g-md);
    background: var(--card);
    color: var(--muted);
    border-left: var(--thick) solid var(--border-strong);
    font-size: var(--small);
}

/* -------------------------------------------------------------------------
   15. Formulário — FORM-07 (cartão escuro com friso de destaque)
   ------------------------------------------------------------------------- */
.z31 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

.z31-panel {
    overflow: hidden;
    border: var(--hair) solid var(--border);
    max-width: 720px;
}

.z31-crest {
    display: block;
    height: 8px;
    background: var(--primary);
}

.z31-guts {
    background: var(--card);
    color: var(--body);
    padding: var(--g-xl);
}

.z31-line {
    display: block;
    margin-block-end: var(--g-md);
}

.z31-chip {
    display: block;
    color: var(--muted);
    background: var(--card);
    font-size: var(--small);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
    margin-block-end: var(--g-xs);
}

.z31-input {
    display: block;
    width: 100%;
    background: var(--ground);
    color: var(--body);
    border: var(--even) solid var(--border-strong);
    padding: var(--g-sm) var(--g-md);
    font-family: var(--base);
    font-size: var(--normal);
}

.z31-input:focus {
    border-color: var(--primary);
    outline: none;
}

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

.z31-actions {
    display: flex;
    justify-content: center;
    margin-block-start: var(--g-lg);
}

.z31-tap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding-inline: var(--g-xl);
    background: var(--primary);
    color: var(--flare);
    border: 0;
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--h6);
    letter-spacing: var(--e-open);
    text-transform: uppercase;
    cursor: pointer;
    transition: transform var(--fast) var(--exit);
}

.z31-tap:hover {
    background: var(--body);
    color: var(--flare);
    transform: scale(1.02);
}

.z31-notice {
    display: none;
    background: var(--primary);
    color: var(--flare);
    padding: var(--g-md);
    font-weight: var(--mid);
    margin-block-start: var(--g-md);
}

.z31-notice.is-open {
    display: block;
}

/* -------------------------------------------------------------------------
   16. Ficha da autora — AUTH-02 (vertical, centrada)
   ------------------------------------------------------------------------- */
.l68 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--sec-y);
}

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

.l68-portrait {
    display: block;
    width: 140px;
    height: 140px;
    border-radius: var(--circle);
    object-fit: cover;
    object-position: center top;
    margin-inline: auto;
    margin-block-end: var(--g-lg);
}

.l68-position {
    display: block;
    color: var(--primary);
    background: var(--ground);
    font-size: var(--small);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
    margin-block-end: var(--g-xs);
}

.l68-byname {
    color: var(--body);
    margin-block-end: var(--g-md);
}

.l68-copy {
    color: var(--muted);
    background: var(--ground);
    line-height: var(--open);
    margin-block-end: var(--g-md);
}

.l68-tagset {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--g-xs);
    margin: 0;
    padding: 0;
    list-style: none;
}

.l68-tagitem {
    margin: 0;
    background: var(--card);
    color: var(--muted);
    border: var(--hair) solid var(--border);
    padding: var(--g-2xs) var(--g-sm);
    font-size: var(--small);
}

.l68-articles {
    max-width: 600px;
    margin-inline: auto;
    margin-block-start: var(--g-2xl);
    text-align: left;
}

.l68-articles-lede {
    color: var(--body);
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--sub-2);
    margin-block-end: var(--g-sm);
}

.l68-articles-chain {
    margin: 0;
    padding: 0;
    list-style: none;
}

.l68-articles-item {
    margin: 0;
    border-bottom: var(--hair) solid var(--border);
}

.l68-articles-route {
    display: block;
    padding-block: var(--g-sm);
    color: var(--primary);
    background: var(--ground);
    font-size: var(--normal);
}

.l68-articles-route:hover {
    color: var(--body);
    background: var(--ground);
}

/* -------------------------------------------------------------------------
   17. Assinatura — BYLINE-02 (cartão com moldura)
   ------------------------------------------------------------------------- */
.w32 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--g-lg);
}

.w32-panel {
    max-width: var(--pinch);
    margin-inline: auto;
    display: flex;
    gap: var(--g-md);
    background: var(--card);
    color: var(--body);
    border: var(--hair) solid var(--border);
    padding: var(--g-lg);
}

.w32-portrait {
    flex-shrink: 0;
    display: block;
    width: 64px;
    height: 64px;
    align-self: flex-start;
}

.w32-art {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: var(--circle);
    object-fit: cover;
    object-position: center top;
}

.w32-fill {
    display: block;
}

.w32-chip {
    display: block;
    color: var(--muted);
    background: var(--card);
    font-size: var(--xs);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
}

.w32-byname {
    color: var(--body);
    font-size: var(--sub-2);
    font-family: var(--lead);
    font-weight: var(--strong);
    margin-block: var(--g-2xs) var(--g-xs);
}

.w32-byname a {
    color: var(--body);
    background: var(--card);
}

.w32-byname a:hover {
    color: var(--primary);
    background: var(--card);
    text-decoration: underline;
}

.w32-position {
    color: var(--muted);
    background: var(--card);
    font-size: var(--small);
    margin-block-end: var(--g-xs);
}

.w32-copy {
    color: var(--muted);
    background: var(--card);
    font-size: var(--normal);
    line-height: var(--l-normal);
    margin-block-end: var(--g-xs);
}

.w32-route {
    color: var(--primary);
    background: var(--card);
    font-size: var(--small);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
}

.w32-route:hover {
    color: var(--body);
    background: var(--card);
}

/* -------------------------------------------------------------------------
   18. Erro 404 — ERR-01
   ------------------------------------------------------------------------- */
.z78 {
    background: var(--ground);
    color: var(--body);
    padding-block: var(--g-3xl);
    text-align: center;
}

.z78-frame {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--g-lg);
}

.z78-digit {
    display: block;
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: clamp(80px, 16vw, 200px);
    line-height: var(--compact);
    color: var(--primary);
    background: var(--ground);
}

.z78-head {
    color: var(--body);
    max-width: var(--pinch);
}

.z78-copy {
    color: var(--muted);
    background: var(--ground);
    font-size: var(--minor);
    max-width: var(--pinch);
}

.z78-tap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding-inline: var(--g-xl);
    background: var(--primary);
    color: var(--flare);
    font-family: var(--lead);
    font-weight: var(--strong);
    font-size: var(--h6);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
    transition: transform var(--fast) var(--exit);
}

.z78-tap:hover {
    background: var(--body);
    color: var(--flare);
    transform: scale(1.02);
}

/* -------------------------------------------------------------------------
   19. Cookies — COOK-11 (bloco em fluxo, logo acima do rodapé)
   ------------------------------------------------------------------------- */
.v31 {
    display: none;
    background: var(--ground);
    color: var(--body);
    padding-block: var(--g-lg);
}

.v31.is-open {
    display: block;
}

.v31-panel {
    max-width: calc(var(--outer) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-desktop);
}

.v31-guts {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: var(--g-lg);
    align-items: center;
    background: var(--card);
    color: var(--body);
    border: var(--hair) solid var(--border-strong);
    padding: var(--g-lg);
}

.v31-notice {
    margin: 0;
    color: var(--body);
    background: var(--card);
    font-size: var(--normal);
}

.v31-actions {
    display: flex;
    gap: var(--g-sm);
}

.v31-allow,
.v31-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding-inline: var(--g-lg);
    border: var(--hair) solid var(--border-strong);
    font-family: var(--base);
    font-size: var(--small);
    font-weight: var(--mid);
    cursor: pointer;
    white-space: nowrap;
}

.v31-allow {
    background: var(--primary);
    color: var(--flare);
    border-color: var(--primary);
}

.v31-allow:hover {
    background: var(--body);
    color: var(--flare);
}

.v31-no {
    background: var(--stripe);
    color: var(--body);
}

.v31-no:hover {
    background: var(--border);
    color: var(--body);
}

/* -------------------------------------------------------------------------
   20. Rodapé — FOOT-02 (duas filas: marca + navegação, depois legais)
   ------------------------------------------------------------------------- */
.a50 {
    background: var(--ground);
    color: var(--body);
    border-top: var(--hair) solid var(--border);
    padding-block: var(--g-xl);
    flex-shrink: 0;
}

.a50-shell {
    max-width: calc(var(--outer) + 2 * var(--inset-desktop));
    margin-inline: auto;
    padding-inline: var(--inset-desktop);
}

.a50-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--g-lg);
}

.a50-strip-base {
    border-top: var(--hair) solid var(--border);
    padding-block-start: var(--g-md);
    margin-block-start: var(--g-md);
    align-items: flex-start;
}

.a50-mark {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    background: var(--ground);
}

.a50-art {
    display: block;
    height: 72px;
    width: auto;
}

.a50-index {
    background: var(--ground);
}

.a50-chain {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--g-sm) var(--g-lg);
    margin: 0;
    padding: 0;
    list-style: none;
}

.a50-node {
    margin: 0;
}

.a50-route {
    color: var(--muted);
    background: var(--ground);
    font-size: var(--normal);
}

.a50-route:hover {
    color: var(--body);
    background: var(--ground);
}

.a50-note {
    color: var(--muted);
    background: var(--ground);
    font-size: var(--xs);
    max-width: 620px;
    display: block;
}

.a50-caution {
    display: block;
    color: var(--muted);
    background: var(--ground);
    font-size: var(--xs);
    line-height: var(--l-normal);
    margin-block-start: var(--g-sm);
    max-width: 620px;
}

.a50-caution-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    height: 20px;
    background: var(--caution);
    color: var(--body);
    font-family: var(--lead);
    font-weight: var(--mid);
    font-size: var(--xs);
    margin-inline-end: var(--g-xs);
}

.a50-caution a {
    color: var(--primary);
    background: var(--ground);
    text-decoration: underline;
}

.a50-caution a:hover {
    color: var(--body);
    background: var(--ground);
}

.a50-legal {
    background: var(--ground);
    flex-shrink: 0;
}

.a50-legal-chain {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: var(--g-xs) var(--g-md);
    margin: 0;
    padding: 0;
    list-style: none;
}

.a50-legal-node {
    margin: 0;
}

.a50-legal-route {
    color: var(--muted);
    background: var(--ground);
    font-size: var(--xs);
}

.a50-legal-route:hover {
    color: var(--body);
    background: var(--ground);
}

.a50-lede {
    display: block;
    color: var(--body);
    background: var(--ground);
    font-size: var(--xs);
    text-transform: uppercase;
    letter-spacing: var(--e-open);
    margin-block-end: var(--g-xs);
    text-align: right;
}

/* -------------------------------------------------------------------------
   21. Ecrãs estreitos (a construção é desktop-first)
   ------------------------------------------------------------------------- */
@media (max-width: 1239px) {
    .l09-tier,
    .l09-base {
        padding-inline: var(--padding-tablet);
    }

    .l09-chain {
        gap: var(--g-xs);
    }

    .l09-route {
        font-size: 14px;
    }

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

@media (max-width: 1023px) {
    :root {
        --inset-desktop: 32px;
        --sec-y: 36px;
    }

    .e19-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--g-lg);
        min-height: 0;
    }

    .e19-figure {
        aspect-ratio: 16 / 9;
        max-height: 240px;
    }
}

@media (max-width: 899px) {
    .l09-index {
        display: none;
    }

    .l09-menu-knob {
        display: inline-flex;
        margin-inline-start: auto;
    }

    .l09-actions {
        order: 6;
    }

    .l09-art {
        height: 40px;
    }

    .l09.is-shrunk .l09-art {
        height: 36px;
    }
}

@media (max-width: 767px) {
    :root {
        --inset-desktop: 16px;
        --padding-tablet: 16px;
        --sec-y: 32px;
        --normal: 14px;
        --small: 12px;
        --xs: 10px;
        --minor: 14px;
        --sub-2: 18px;
        --h6: 12px;
    }

    .l09-tier {
        gap: var(--g-sm);
        padding-inline: var(--edge-narrow);
        font-size: 10px;
    }

    .l09-base {
        padding-inline: var(--edge-narrow);
        gap: var(--g-sm);
    }

    .l09-tier-route {
        display: none;
    }

    .l09-tap {
        padding-inline: var(--g-md);
        min-height: 42px;
    }

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

    .p40-head {
        gap: var(--g-sm);
    }

    .p40-head::before {
        font-size: 34px;
    }

    .a50-strip,
    .a50-strip-base {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .a50-chain,
    .a50-legal-chain {
        justify-content: center;
    }

    .a50-lede {
        text-align: center;
    }

    .a50-note,
    .a50-caution {
        text-align: center;
    }

    .a50-art {
        height: 56px;
    }

    .m29-panel {
        padding: var(--g-lg);
    }

    .z31-guts {
        padding: var(--g-lg);
    }

    .b62-grid th,
    .b62-grid td {
        padding: var(--g-sm);
        font-size: var(--small);
    }
}

@media (max-width: 720px) {
    .v31-guts {
        grid-template-columns: minmax(0, 1fr);
        padding: 12px 14px;
        gap: 8px;
        font-size: 13px;
        line-height: 1.35;
    }

    .v31-notice {
        font-size: 13px;
    }

    .v31-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 8px;
    }

    .v31-allow,
    .v31-no {
        padding: 8px 14px;
        font-size: 12px;
        min-height: 40px;
    }
}

@media (max-width: 599px) {
    .l09-base {
        flex-wrap: wrap;
        row-gap: var(--g-xs);
    }

    .l09-menu-knob {
        order: 3;
    }

    .l09-actions {
        order: 4;
        flex-basis: 100%;
        margin-inline-start: 0;
    }

    .l09-tap {
        width: 100%;
    }

    .w32-panel {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .p40-head {
        flex-direction: column;
        gap: var(--g-2xs);
    }

    .p40-shot,
    .p40-shot-tall {
        max-width: 100%;
    }
}

@media (max-width: 400px) {
    .l09-menu-knob {
        padding-inline: var(--g-sm);
    }

    .b62-grid th,
    .b62-grid td {
        white-space: normal;
    }
}

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

/* -------------------------------------------------------------------------
   23. Botão de oferta — aparência gerada por scripts/cta-style.mjs
        (cor fora da paleta do site, brilho em ciclo contínuo)
   ------------------------------------------------------------------------- */
.e19-tap,
.p40-tap,
.o54-tap,
.m29-offer {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vapo-grab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 var(--g-xl);
    min-height: 52px;
    border-radius: var(--r-sm);
    font-family: var(--lead);
    font-size: var(--h6);
    font-weight: var(--strong);
    letter-spacing: var(--e-open);
    position: relative;
    overflow: hidden;
    background: #16a34a;
    color: #000000;
    text-decoration: none;
    text-transform: uppercase;
    transition: background var(--steady) var(--exit), box-shadow var(--steady) var(--exit);
}

.vapo-grab.vapo-grab {
    color: #000000;
    text-decoration: none;
}

.vapo-grab:hover {
    background: #15803d;
    color: #ffffff;
    animation: none;
}

.vapo-grab.vapo-grab:hover {
    color: #ffffff;
    text-decoration: none;
}

.vapo-grab:hover::after {
    animation: none;
}

.vapo-grab:active {
    background: #166534;
    color: #ffffff;
}

.vapo-grab:focus-visible {
    outline: 3px solid #000000;
    outline-offset: 3px;
}

.vapo-grab::after {
    content: '';
    position: absolute;
    inset: 0;
    width: 100%;
    transform: none;
    pointer-events: none;
    background-image: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.42) 50%, transparent 100%);
    background-size: 260% 100%;
    background-repeat: no-repeat;
    background-position: 150% 0;
    animation: vapo-sway 2s var(--smooth) infinite;
}

@keyframes vapo-sway {
    0% {
        background-position: 150% 0;
    }
    47.500%,
    100% {
        background-position: -80% 0;
    }
}

/* ajustes de encaixe: barra superior e ecrãs estreitos */
.l09-tap.vapo-grab {
    min-height: 46px;
    padding-inline: var(--g-lg);
}

.m29-offer.vapo-grab {
    box-shadow: 0 0 0 3px var(--card);
}

@media (max-width: 767px) {
    .l09-tap.vapo-grab {
        min-height: 44px;
        padding-inline: var(--g-md);
    }

    .vapo-grab {
        padding: 0 var(--g-lg);
        min-height: 48px;
    }
}

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

/* -------------------------------------------------------------------------
   24. Acabamentos
   ------------------------------------------------------------------------- */
.a50-strip-top {
    align-items: center;
}

.z31-form {
    display: block;
}

@media (max-width: 430px) {
    .vapo-grab {
        padding-inline: var(--g-sm);
        font-size: 11px;
        letter-spacing: 0.04em;
        text-align: center;
        white-space: normal;
        line-height: 1.2;
    }

    .p40-plug .vapo-grab,
    .o54-plug .vapo-grab,
    .m29-actions .vapo-grab,
    .e19-actions .vapo-grab {
        width: 100%;
    }
}

/* врезки офферной кнопки в списках отзывов и вопросов */
.o05-plug,
.c90-plug {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--g-md);
    background: var(--card);
    color: var(--body);
    border-left: var(--thick) solid var(--primary);
    padding: var(--g-lg);
    margin-block: var(--g-md);
}

.c90-plug {
    border-bottom: 0;
}

.o05-plug-copy,
.c90-plug-copy {
    flex: 1 1 260px;
    margin: 0;
    color: var(--muted);
    background: var(--card);
    font-size: var(--small);
}

.o05-tap,
.c90-tap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 430px) {
    .o05-plug .vapo-grab,
    .c90-plug .vapo-grab {
        width: 100%;
    }
}

/* a primeira célula de cada linha é <th scope='row'>: não deve herdar o friso do topo */
.b62-grid thead th {
    background: var(--primary);
    color: var(--flare);
}

.b62-grid tbody th {
    background: var(--card);
    color: var(--body);
    font-family: var(--base);
    font-size: var(--normal);
    font-weight: var(--mid);
    letter-spacing: var(--e-base);
    text-transform: none;
    text-align: left;
    padding: var(--g-md);
    border-top: var(--hair) solid var(--border);
}

.b62-grid tbody tr:nth-child(even) th {
    background: var(--stripe);
    color: var(--body);
}

/* o alvo dos botões de oferta não pode ficar debaixo da barra fixa */
#acesso {
    scroll-margin-block-start: calc(var(--shell, 100px) + var(--g-md));
}

@media (max-width: 911px) {
  .l09-index,
  .l09-chain,
  .l09-route { display: none !important; }
  .l09-menu-knob { display: flex !important; }
}
