/* ==== FONTS ==== */
@font-face {
    font-display:swap;
    font-family:"Krona One";
    font-style:normal;
    font-weight:400;
    src:url("../fonts/krona-arena.woff2") format("woff2");
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    ascent-override:83.40%;
    font-family:"Krona One Fallback";
    size-adjust:118.71%;
    src:local("Arial Black");
}
@font-face {
    font-display:swap;
    font-family:"Manrope";
    font-style:normal;
    font-weight:300 800;
    src:url("../fonts/manrope-var.woff2") format("woff2");
    unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    ascent-override:105.00%;
    font-family:"Manrope Fallback";
    size-adjust:101.90%;
    src:local("Arial");
}

/* ==== TOKENS ==== */
:root {
    --borracha:hsl(216, 14%, 38%);
    --corda:hsl(212, 16%, 83%);
    --desvio:12px;
    --espuma:hsl(210, 20%, 97%);
    --largura:73rem;
    --lona:hsl(208, 24%, 92%);
    --raio:10px;
    --relva:hsl(146, 58%, 31%);
    --relva-escura:hsl(146, 60%, 24%);
    --relva-luz:hsl(146, 62%, 72%);
    --sombra-dupla:0 1px 2px hsl(222, 26%, 14%, 10%), 0 18px 36px -14px hsl(222, 26%, 14%, 30%);
    --sombra-mole:0 12px 32px -14px hsl(222, 26%, 14%, 22%);
    --tinta:hsl(222, 26%, 14%);
    --tinta-suave:HSL(222, 22%, 22%);
    --topo:4.75rem;
    --vinil:hsl(0, 0%, 100%);
}

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

html {
    -webkit-text-size-adjust:100%;
    scroll-padding-top:calc(var(--topo) + 1rem);
}

body {
    background:var(--espuma);
    color:var(--tinta);
    font-family:"Manrope", "Manrope Fallback", Arial, sans-serif;
    font-size:1.0625rem;
    line-height:1.6;
    margin:0;
}

img {
    display:block;
    height:auto;
    max-width:100%;
}

h1,
h2,
h3,
p,
ul,
ol,
figure,
dl,
dd {
    margin:0;
}

ul,
ol {
    padding:0;
}

a {
    color:var(--relva);
    text-underline-offset:0.2em;
}

button,
input {
    font:inherit;
}

:focus-visible {
    outline:3px solid var(--relva);
    outline-offset:3px;
}

/* ==== TYPE ==== */
h1,
h2 {
    font-weight:300;
    letter-spacing:-0.025em;
    line-height:1.12;
}

h1 {
    font-size:clamp(1.9rem, 1.2rem + 2.1vw, 3rem);
}

h2 {
    font-size:clamp(1.6rem, 1.15rem + 1.5vw, 2.4rem);
}

h3 {
    font-size:1.15rem;
    font-weight:700;
    letter-spacing:-0.01em;
    line-height:1.3;
}

.adv-eyebrow {
    align-items:center;
    color:var(--borracha);
    display:flex;
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:0.72rem;
    gap:0.75rem;
    letter-spacing:0.06em;
    margin-bottom:1rem;
    text-transform:uppercase;
}

.adv-eyebrow::before {
    background:var(--relva);
    content:"";
    height:2px;
    width:2.5rem;
}

.adv-lead {
    color:var(--borracha);
    font-size:1.15rem;
    margin-top:1rem;
    max-width:38rem;
}

/* ==== LAYOUT ==== */
.adv-wrap {
    margin-left:auto;
    margin-right:auto;
    width:min(100% - 3rem, var(--largura));
}

.adv-band {
    padding-bottom:5rem;
    padding-top:5rem;
    position:relative;
}

.adv-band-tint {
    background:var(--lona);
}

.adv-band-dark {
    background:var(--tinta);
    color:var(--espuma);
}

.adv-pad-tall {
    padding-bottom:7rem;
    padding-top:8rem;
}

.adv-pad-short {
    padding-bottom:3.5rem;
    padding-top:4rem;
}

.adv-pad-odd {
    padding-bottom:6rem;
    padding-top:4.5rem;
}

.adv-sec-head {
    margin-bottom:3rem;
    max-width:44rem;
}

.adv-sec-head p {
    color:var(--borracha);
    margin-top:1rem;
}

.adv-band-dark .adv-sec-head p,
.adv-band-dark .adv-eyebrow {
    color:var(--corda);
}

.adv-band-dark .adv-eyebrow::before {
    background:var(--relva-luz);
}

/* ==== SKIP + COOKIE ==== */
.adv-skip {
    background:var(--tinta);
    color:var(--vinil);
    left:1rem;
    padding:0.75rem 1rem;
    position:absolute;
    top:-5rem;
    z-index:90;
}

.adv-skip:focus {
    top:1rem;
}

.cookie-bar {
    background:var(--vinil);
    border:1px solid var(--corda);
    border-left:4px solid var(--relva);
    border-radius:var(--raio);
    bottom:auto;
    box-shadow:var(--sombra-dupla);
    color:var(--tinta);
    font-size:0.95rem;
    padding:1rem 1.25rem;
    position:fixed;
    right:1rem;
    top:calc(var(--topo) + 0.75rem);
    width:min(22rem, calc(100% - 2rem));
    z-index:70;
}

.cookie-bar[hidden] {
    display:none;
}

.adv-cookie-text a {
    color:var(--tinta);
    font-weight:600;
}

.adv-cookie-acts {
    display:flex;
    gap:0.6rem;
    margin-top:0.85rem;
}

.adv-cookie-acts .adv-btn {
    flex:1 1 0;
    padding-left:0.75rem;
    padding-right:0.75rem;
}

/* ==== BUTTONS ==== */
.adv-btn {
    align-items:center;
    background:var(--relva);
    border:2px solid var(--relva);
    border-radius:0;
    color:var(--vinil);
    cursor:pointer;
    display:inline-flex;
    font-weight:700;
    gap:0.5rem;
    justify-content:center;
    min-height:48px;
    padding:0.7rem 1.4rem;
    text-decoration:none;
}

.adv-btn:hover {
    background:var(--relva-escura);
    border-color:var(--relva-escura);
}

.adv-btn-line {
    background:transparent;
    border-color:var(--tinta);
    color:var(--tinta);
}

.adv-btn-line:hover {
    background:var(--tinta);
    border-color:var(--tinta);
    color:var(--vinil);
}

.adv-arrow {
    align-items:center;
    color:var(--tinta);
    display:inline-flex;
    font-weight:700;
    gap:0.4rem;
    min-height:48px;
    text-decoration:none;
}

.adv-arrow::after {
    color:var(--relva);
    content:"\2192";
    transition:transform 0.2s;
}

.adv-arrow:hover::after {
    transform:translateX(4px);
}

.adv-band-dark .adv-arrow {
    color:var(--vinil);
}

.adv-band-dark .adv-arrow::after {
    color:var(--relva-luz);
}

/* ==== HEADER ==== */
.adv-top {
    background:var(--espuma);
    border-bottom:1px solid var(--corda);
    height:var(--topo);
    position:sticky;
    top:0;
    z-index:60;
}

.adv-top-in {
    align-items:center;
    display:flex;
    height:100%;
    justify-content:space-between;
}

.adv-logo {
    align-items:center;
    color:var(--tinta);
    display:inline-flex;
    gap:0.65rem;
    min-height:44px;
    text-decoration:none;
}

.adv-logo img {
    height:2.25rem;
    width:2.25rem;
}

.adv-logo-word {
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:0.95rem;
    letter-spacing:-0.02em;
}

.adv-cta-top {
    min-height:46px;
    padding-bottom:0.5rem;
    padding-top:0.5rem;
    width:11rem;
}

.adv-burger {
    align-items:center;
    background:transparent;
    border:2px solid var(--tinta);
    border-radius:0;
    color:var(--tinta);
    cursor:pointer;
    display:none;
    height:46px;
    justify-content:center;
    width:46px;
}

.adv-burger-bars,
.adv-burger-bars::before,
.adv-burger-bars::after {
    background:currentColor;
    display:block;
    height:2px;
    position:relative;
    width:20px;
}

.adv-burger-bars::before,
.adv-burger-bars::after {
    content:"";
    position:absolute;
}

.adv-burger-bars::before {
    top:-6px;
}

.adv-burger-bars::after {
    top:6px;
}

.adv-top-acts {
    align-items:center;
    display:flex;
    gap:0.75rem;
}

/* ==== NAV ==== */
.adv-nav {
    align-items:center;
    display:flex;
    height:var(--topo);
    position:fixed;
    right:calc((100% - min(100% - 3rem, var(--largura))) / 2 + 12.5rem);
    top:0;
    z-index:61;
}

.adv-nav-list {
    display:flex;
    gap:0.25rem;
    list-style:none;
}

.adv-nav-link {
    align-items:center;
    border-bottom:2px solid transparent;
    color:var(--tinta);
    display:inline-flex;
    font-size:0.97rem;
    font-weight:600;
    min-height:44px;
    padding:0 0.7rem;
    text-decoration:none;
}

.adv-nav-link:hover,
.adv-nav-link[aria-current="page"] {
    border-bottom-color:var(--relva);
}

/* ==== HERO ==== */
.adv-hero {
    isolation:isolate;
    padding-bottom:3.5rem;
    padding-top:1.5rem;
    position:relative;
}

.adv-mark-layer {
    inset:0;
    overflow:hidden;
    pointer-events:none;
    position:absolute;
    z-index:-1;
}

.adv-mark {
    bottom:-0.08em;
    color:var(--corda);
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:clamp(5rem, 13vw, 14rem);
    letter-spacing:-0.04em;
    line-height:1;
    position:absolute;
    right:-0.04em;
    white-space:nowrap;
}

.adv-hero-in {
    display:grid;
    gap:0 2.5rem;
    grid-template-columns:minmax(0, 7fr) minmax(0, 5fr);
}

.adv-hero-photo {
    grid-column:1 / -1;
    isolation:isolate;
    position:relative;
}

.adv-hero-photo img {
    height:clamp(18rem, 52vh, 34rem);
    object-fit:cover;
    object-position:center 60%;
    width:100%;
}

.adv-frame {
    isolation:isolate;
    position:relative;
}

.adv-frame::before,
.adv-hero-photo::before {
    border:2px solid var(--relva);
    bottom:calc(var(--desvio) * -1);
    content:"";
    left:var(--desvio);
    position:absolute;
    right:calc(var(--desvio) * -1);
    top:var(--desvio);
    z-index:-1;
}

.adv-hero-card {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-dupla);
    margin-left:1.5rem;
    margin-top:-7.5rem;
    padding:2rem 2.25rem 1.75rem;
    position:relative;
    z-index:2;
}

.adv-hero-card .adv-lead {
    font-size:1.08rem;
    margin-top:0.85rem;
}

.adv-chips {
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem;
    list-style:none;
    margin-top:1.25rem;
}

.adv-chip {
    background:var(--lona);
    border-radius:8px;
    font-size:0.88rem;
    font-weight:600;
    padding:0.35rem 0.75rem;
}

.adv-hero-acts {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:0.75rem 1.5rem;
    margin-top:1.5rem;
}

.adv-hero-side {
    align-self:start;
    padding-top:2.5rem;
}

.adv-hours-mini {
    background:var(--vinil);
    border:1px solid var(--corda);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    padding:1.25rem 1.5rem;
}

.adv-hours-mini h2 {
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:0.8rem;
    font-weight:400;
    letter-spacing:0.05em;
    margin-bottom:0.6rem;
    text-transform:uppercase;
}

.adv-hours-mini dl {
    display:grid;
    font-size:0.95rem;
    gap:0.3rem 1rem;
    grid-template-columns:auto 1fr;
}

.adv-hours-mini dt {
    font-weight:700;
}

.adv-hours-mini dd {
    color:var(--borracha);
}

/* ==== ZONES / STEPPED GRID ==== */
.adv-steps {
    display:grid;
    gap:1.75rem;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    list-style:none;
    padding-bottom:5rem;
}

.adv-step {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    padding:1.75rem 1.6rem 1.6rem;
}

.adv-step:nth-child(3n+2) {
    margin-top:2.5rem;
}

.adv-step:nth-child(3n) {
    margin-top:5rem;
}

.adv-step-photo {
    background:transparent;
    border-radius:0;
    box-shadow:none;
    padding:0;
}

.adv-step-photo figcaption {
    margin-top:calc(var(--desvio) + 1.1rem);
}

.adv-step-num {
    color:var(--relva);
    display:block;
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:1.7rem;
    line-height:1;
    margin-bottom:1rem;
}

.adv-step p,
.adv-step-photo figcaption p {
    color:var(--borracha);
    font-size:0.98rem;
    margin-top:0.5rem;
}

.adv-age {
    border:1px solid var(--corda);
    border-radius:8px;
    display:inline-block;
    font-size:0.8rem;
    font-weight:700;
    margin-top:0.85rem;
    padding:0.15rem 0.6rem;
}

.adv-rules {
    background:var(--vinil);
    border-left:4px solid var(--relva);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    display:grid;
    gap:1rem 2.5rem;
    grid-template-columns:minmax(0, 1fr) minmax(0, 2fr);
    padding:1.75rem 2rem;
}

.adv-rules ul {
    display:grid;
    gap:0.5rem 2rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    list-style:none;
}

.adv-rules li {
    padding-left:1.4rem;
    position:relative;
}

.adv-rules li::before {
    background:var(--relva);
    content:"";
    height:0.55rem;
    left:0;
    position:absolute;
    top:0.55em;
    width:0.55rem;
}

/* ==== PARTY / INVERTED ==== */
.adv-party-grid {
    display:grid;
    gap:3rem;
    grid-template-columns:minmax(0, 6fr) minmax(0, 5fr);
}

.adv-flow {
    counter-reset:passo;
    display:grid;
    gap:1.25rem;
    list-style:none;
}

.adv-flow li {
    border-top:1px solid var(--tinta-suave);
    counter-increment:passo;
    display:grid;
    gap:0 1.25rem;
    grid-template-columns:3.5rem 1fr;
    padding-top:1.25rem;
}

.adv-flow li::before {
    color:var(--relva-luz);
    content:counter(passo, decimal-leading-zero);
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:1.5rem;
    grid-row:span 2;
    line-height:1.1;
}

.adv-flow p {
    color:var(--corda);
    font-size:0.98rem;
}

.adv-flow .adv-min {
    color:var(--relva-luz);
    font-size:0.85rem;
    font-weight:700;
}

.adv-glow {
    isolation:isolate;
    position:relative;
}

.adv-glow::before {
    background:radial-gradient(closest-side, hsl(146, 62%, 72%, 34%), hsl(146, 62%, 72%, 0%));
    content:"";
    inset:-3rem 0;
    pointer-events:none;
    position:absolute;
    z-index:-1;
}

.adv-packs {
    display:grid;
    gap:1.25rem;
}

.adv-pack {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-dupla);
    color:var(--tinta);
    padding:1.6rem 1.75rem;
}

.adv-pack-price {
    color:var(--relva);
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:1.6rem;
    margin-top:0.35rem;
}

.adv-pack-price small {
    color:var(--borracha);
    font-family:"Manrope", "Manrope Fallback", Arial, sans-serif;
    font-size:0.9rem;
    font-weight:600;
}

.adv-pack ul {
    display:grid;
    gap:0.35rem;
    list-style:none;
    margin-top:0.9rem;
}

.adv-pack li {
    border-bottom:1px dashed var(--corda);
    font-size:0.97rem;
    padding-bottom:0.35rem;
}

.adv-party-foot {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem 1.5rem;
    margin-top:1.5rem;
}

.adv-party-foot p {
    color:var(--corda);
    font-size:0.95rem;
}

/* ==== DECK TABS ==== */
.adv-deck {
    display:grid;
    gap:2.5rem;
    grid-template-columns:minmax(0, 4fr) minmax(0, 8fr);
}

.adv-deck-tabs {
    display:grid;
    gap:0.6rem;
    grid-auto-rows:min-content;
}

.adv-deck-tab {
    align-items:center;
    background:var(--vinil);
    border:1px solid var(--corda);
    border-left:4px solid var(--corda);
    border-radius:0;
    color:var(--tinta);
    cursor:pointer;
    display:flex;
    font-weight:700;
    justify-content:space-between;
    min-height:56px;
    padding:0.8rem 1.1rem;
    text-align:left;
    transition:transform 0.2s;
}

.adv-deck-tab span {
    color:var(--borracha);
    font-size:0.85rem;
    font-weight:600;
}

.adv-deck-tab.state-in {
    border-left-color:var(--relva);
    box-shadow:var(--sombra-dupla);
    transform:translateX(0.75rem);
}

.adv-deck-panels {
    display:grid;
    gap:1.5rem;
}

.adv-deck-panel {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-dupla);
    padding:2rem 2.25rem;
}

.adv-deck-panel h3 {
    margin-bottom:1rem;
}

.adv-deck-panel > p {
    color:var(--borracha);
    margin-top:1rem;
}

.adv-table {
    border-collapse:collapse;
    width:100%;
}

.adv-table caption {
    color:var(--borracha);
    font-size:0.9rem;
    padding-bottom:0.6rem;
    text-align:left;
}

.adv-table th,
.adv-table td {
    border-bottom:1px solid var(--corda);
    padding:0.7rem 0.5rem;
    text-align:left;
    vertical-align:top;
}

.adv-table thead th {
    color:var(--borracha);
    font-size:0.85rem;
    text-transform:uppercase;
}

.adv-deck-panel .adv-table td:last-child {
    font-weight:700;
    white-space:nowrap;
}

/* ==== TEAM + CASES ==== */
.adv-team {
    align-items:start;
    display:grid;
    gap:3.5rem;
    grid-template-columns:minmax(0, 26rem) minmax(0, 1fr);
}

.adv-team figcaption {
    color:var(--borracha);
    font-size:0.92rem;
    margin-top:calc(var(--desvio) + 1rem);
}

.adv-team-text p + p {
    margin-top:1rem;
}

.adv-cases {
    display:grid;
    gap:1.5rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    margin-top:3.5rem;
}

.adv-case {
    background:var(--vinil);
    border-radius:var(--raio);
    border-top:4px solid var(--relva);
    box-shadow:var(--sombra-mole);
    padding:1.75rem 1.9rem;
}

.adv-case dl {
    display:grid;
    gap:0.75rem;
    margin-top:1rem;
}

.adv-case dt {
    color:var(--relva-escura);
    font-size:0.8rem;
    font-weight:800;
    letter-spacing:0.05em;
    text-transform:uppercase;
}

.adv-case dd {
    font-size:0.98rem;
}

/* ==== CALL STRIP ==== */
.adv-call {
    align-items:center;
    background:var(--vinil);
    border:1px solid var(--corda);
    border-radius:var(--raio);
    box-shadow:var(--sombra-dupla);
    display:grid;
    gap:1.5rem 3rem;
    grid-template-columns:minmax(0, 1fr) auto;
    padding:2.25rem 2.5rem;
}

.adv-call p {
    color:var(--borracha);
    margin-top:0.6rem;
}

.adv-call-acts {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:0.75rem 1.25rem;
}

.adv-tel {
    align-items:center;
    color:var(--tinta);
    display:inline-flex;
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:1.05rem;
    min-height:48px;
    text-decoration:none;
}

/* ==== PAGE HEAD ==== */
.adv-head {
    padding-bottom:2.5rem;
    padding-top:3.5rem;
}

.adv-head h1 {
    max-width:44rem;
}

.adv-head .adv-lead {
    max-width:40rem;
}

/* ==== CONTACT ==== */
.adv-facts {
    display:grid;
    gap:1.25rem;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    list-style:none;
}

.adv-fact {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    padding:1.3rem 1.5rem;
}

.adv-fact strong {
    color:var(--borracha);
    display:block;
    font-size:0.8rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
}

.adv-fact a,
.adv-fact span {
    color:var(--tinta);
    display:inline-flex;
    font-weight:700;
    min-height:44px;
    overflow-wrap:anywhere;
    padding-top:0.6rem;
}

.adv-book {
    align-items:start;
    display:grid;
    gap:2.5rem;
    grid-template-columns:minmax(0, 25rem) minmax(0, 1fr);
}

.adv-book-sum {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-dupla);
    padding:1.75rem;
    position:sticky;
    top:calc(var(--topo) + 1.25rem);
}

.adv-sum-list {
    border-bottom:1px solid var(--corda);
    display:grid;
    font-size:0.95rem;
    gap:0.35rem 1rem;
    grid-template-columns:auto 1fr;
    margin-bottom:1.25rem;
    margin-top:1rem;
    padding-bottom:1rem;
}

.adv-sum-list dt {
    color:var(--borracha);
}

.adv-sum-list dd {
    font-weight:700;
    text-align:right;
}

.adv-field {
    display:grid;
    gap:0.35rem;
    margin-bottom:1rem;
}

.adv-field label {
    font-size:0.92rem;
    font-weight:700;
}

.adv-field input {
    background:var(--espuma);
    border:1px solid var(--borracha);
    border-radius:0;
    color:var(--tinta);
    min-height:48px;
    padding:0.6rem 0.8rem;
    width:100%;
}

.adv-check {
    align-items:start;
    display:grid;
    font-size:0.9rem;
    gap:0.6rem;
    grid-template-columns:1.4rem 1fr;
    margin-bottom:1.1rem;
}

.adv-check input {
    accent-color:var(--relva);
    height:1.3rem;
    margin:0.15rem 0 0;
    width:1.3rem;
}

.adv-err {
    color:var(--tinta);
    font-size:0.88rem;
    font-weight:600;
    min-height:1.2em;
}

.adv-form .adv-btn {
    width:100%;
}

.adv-trap {
    height:1px;
    left:-9999px;
    overflow:hidden;
    position:absolute;
    width:1px;
}

.adv-days {
    display:grid;
    gap:1rem;
}

.adv-day {
    background:var(--vinil);
    border:1px solid var(--corda);
    border-radius:var(--raio);
    display:grid;
    gap:0.75rem 1.25rem;
    grid-template-columns:8.5rem minmax(0, 1fr);
    padding:1rem 1.25rem;
}

.adv-day-name {
    font-weight:800;
    padding-top:0.6rem;
}

.adv-slots {
    display:grid;
    gap:0.5rem;
    grid-template-columns:repeat(3, minmax(0, 1fr));
}

.adv-slot {
    background:var(--espuma);
    border:1px solid var(--corda);
    border-radius:0;
    color:var(--tinta);
    cursor:pointer;
    display:grid;
    font-size:0.9rem;
    min-height:52px;
    padding:0.45rem 0.6rem;
    text-align:left;
}

.adv-slot small {
    color:var(--relva-escura);
    font-weight:700;
}

.adv-slot:disabled {
    background:var(--lona);
    color:var(--borracha);
    cursor:not-allowed;
    text-decoration:line-through;
}

.adv-slot:disabled small {
    color:var(--borracha);
}

.adv-slot.state-in {
    background:var(--relva);
    border-color:var(--relva);
    color:var(--vinil);
}

.adv-slot.state-in small {
    color:var(--vinil);
}

.adv-pick {
    display:grid;
    gap:1rem;
    grid-template-columns:minmax(0, 1fr) auto;
    margin-top:1.25rem;
}

.adv-pick fieldset {
    border:1px solid var(--corda);
    border-radius:var(--raio);
    margin:0;
    padding:0.75rem 1rem 1rem;
}

.adv-pick legend {
    font-size:0.9rem;
    font-weight:700;
    padding:0 0.35rem;
}

.adv-pick label {
    align-items:center;
    display:flex;
    gap:0.5rem;
    min-height:44px;
}

.adv-stepper {
    align-items:center;
    display:flex;
    gap:0.5rem;
}

.adv-stepper button {
    background:var(--vinil);
    border:2px solid var(--tinta);
    border-radius:0;
    color:var(--tinta);
    cursor:pointer;
    font-size:1.2rem;
    font-weight:700;
    height:44px;
    width:44px;
}

.adv-stepper output {
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    min-width:2.5rem;
    text-align:center;
}

.adv-visit {
    display:grid;
    gap:2rem;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
}

.adv-map {
    align-content:center;
    background:var(--vinil);
    border:1px solid var(--corda);
    border-radius:var(--raio);
    display:grid;
    gap:0.75rem;
    justify-items:start;
    min-height:20rem;
    padding:2rem;
}

.adv-map iframe {
    border:0;
    height:20rem;
    width:100%;
}

.adv-map.state-open {
    padding:0;
}

.adv-legal-table th,
.adv-legal-table td {
    overflow-wrap:anywhere;
}

.adv-legal-table th {
    width:38%;
}

.adv-panel {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    padding:1.75rem 2rem;
}

.adv-panel h2 {
    font-size:1.5rem;
    margin-bottom:1rem;
}

.adv-panel p {
    color:var(--borracha);
    margin-top:0.75rem;
}

/* ==== LEGAL PAGES ==== */
.adv-doc {
    align-items:start;
    display:grid;
    gap:2.5rem;
    grid-template-columns:minmax(0, 16rem) minmax(0, 1fr);
}

.adv-toc {
    background:var(--vinil);
    border:1px solid var(--corda);
    border-radius:var(--raio);
    padding:1.25rem 1.4rem;
    position:sticky;
    top:calc(var(--topo) + 1.25rem);
}

.adv-toc strong {
    display:block;
    font-size:0.8rem;
    letter-spacing:0.05em;
    margin-bottom:0.5rem;
    text-transform:uppercase;
}

.adv-toc ol {
    list-style:none;
}

.adv-toc a {
    align-items:center;
    color:var(--tinta);
    display:flex;
    font-size:0.95rem;
    min-height:44px;
    text-decoration:none;
}

.adv-toc a:hover {
    color:var(--relva);
}

.adv-cards {
    display:grid;
    gap:1.25rem;
    grid-template-columns:repeat(2, minmax(0, 1fr));
}

.adv-card {
    background:var(--vinil);
    border-radius:var(--raio);
    border-top:3px solid var(--relva);
    box-shadow:var(--sombra-mole);
    padding:1.5rem 1.6rem;
}

.adv-card-wide {
    grid-column:1 / -1;
}

.adv-card h2 {
    font-size:1.35rem;
    font-weight:400;
    margin-bottom:0.75rem;
}

.adv-card p,
.adv-card li {
    color:var(--borracha);
    font-size:0.98rem;
}

.adv-card p + p,
.adv-card p + ul,
.adv-card ul + p {
    margin-top:0.65rem;
}

.adv-card ul {
    display:grid;
    gap:0.35rem;
    padding-left:1.1rem;
}

.adv-card .adv-table {
    margin-top:0.5rem;
}

.adv-scroll {
    overflow-x:auto;
}

.adv-scroll .adv-table {
    min-width:34rem;
}

.adv-next {
    counter-reset:prox;
    display:grid;
    gap:1.25rem;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    list-style:none;
}

.adv-next li {
    background:var(--vinil);
    border-radius:var(--raio);
    box-shadow:var(--sombra-mole);
    counter-increment:prox;
    padding:1.5rem 1.6rem;
}

.adv-next li::before {
    color:var(--relva);
    content:counter(prox, decimal-leading-zero);
    display:block;
    font-family:"Krona One", "Krona One Fallback", Arial, sans-serif;
    font-size:1.4rem;
    margin-bottom:0.6rem;
}

.adv-next h3 a {
    align-items:center;
    color:var(--tinta);
    display:inline-flex;
    min-height:44px;
}

.adv-next p {
    color:var(--borracha);
    margin-top:0.4rem;
}

/* ==== FOOTER ==== */
.adv-foot {
    background:var(--tinta);
    color:var(--corda);
    font-size:0.9rem;
    padding-bottom:1.25rem;
    padding-top:1.25rem;
}

.adv-foot-in {
    align-items:center;
    display:flex;
    flex-wrap:wrap;
    gap:0.5rem 2rem;
    justify-content:space-between;
}

.adv-foot-links {
    display:flex;
    flex-wrap:wrap;
    gap:0 1.1rem;
    list-style:none;
}

.adv-foot-links a {
    align-items:center;
    color:var(--espuma);
    display:inline-flex;
    min-height:44px;
}

/* ==== RESPONSIVE ==== */
@media (max-width:1100px) {
    .cookie-bar {
        bottom:1rem;
        left:1rem;
        right:1rem;
        top:auto;
        width:auto;
    }

    .adv-cookie-acts {
        max-width:24rem;
    }
}

@media (max-width:1100px) {
    .adv-cta-top {
        display:none;
    }

    .adv-nav {
        height:auto;
        padding:0.5rem 1rem;
        position:static;
    }

    .adv-nav-list {
        flex-wrap:wrap;
        justify-content:center;
    }

    .adv-js .adv-burger {
        display:inline-flex;
    }

    .adv-js .adv-nav {
        background:var(--espuma);
        bottom:0;
        display:block;
        left:0;
        overflow-y:auto;
        padding:1.5rem;
        position:fixed;
        right:0;
        top:var(--topo);
        visibility:hidden;
        z-index:80;
    }

    .adv-js .adv-nav.state-open {
        visibility:visible;
    }

    .adv-js .adv-nav-list {
        display:grid;
        gap:0.25rem;
        justify-content:stretch;
    }

    .adv-js .adv-nav-link {
        border-bottom:1px solid var(--corda);
        font-size:1.25rem;
        min-height:56px;
        padding:0 0.25rem;
    }

    .adv-hero-in,
    .adv-party-grid,
    .adv-deck,
    .adv-team,
    .adv-book,
    .adv-visit,
    .adv-doc {
        grid-template-columns:minmax(0, 1fr);
    }

    .adv-hero-card {
        margin-left:0.75rem;
        margin-right:0.75rem;
    }

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

    .adv-step:nth-child(3n+2),
    .adv-step:nth-child(3n) {
        margin-top:0;
    }

    .adv-step:nth-child(2n) {
        margin-top:2.5rem;
    }

    .adv-deck-tabs {
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    .adv-deck-tab.state-in {
        transform:none;
    }

    .adv-book-sum,
    .adv-toc {
        position:static;
    }

    .adv-team figure {
        max-width:26rem;
    }
}

@media (max-width:760px) {
    body {
        font-size:1rem;
    }

    .adv-wrap {
        width:min(100% - 2rem, var(--largura));
    }

    .adv-band,
    .adv-pad-tall,
    .adv-pad-odd {
        padding-bottom:3.5rem;
        padding-top:3.5rem;
    }

    .adv-hero-photo img {
        height:clamp(14rem, 38vh, 22rem);
    }

    .adv-hero-card {
        margin-left:0;
        margin-right:0;
        margin-top:-3rem;
        padding:1.5rem 1.25rem;
    }

    .adv-steps,
    .adv-cases,
    .adv-facts,
    .adv-cards,
    .adv-next,
    .adv-rules,
    .adv-rules ul {
        grid-template-columns:minmax(0, 1fr);
    }

    .adv-step:nth-child(2n) {
        margin-top:0;
    }

    .adv-steps {
        padding-bottom:3rem;
    }

    .adv-call {
        grid-template-columns:minmax(0, 1fr);
        padding:1.75rem 1.5rem;
    }

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

    .adv-day-name {
        padding-top:0;
    }

    .adv-slots {
        grid-template-columns:repeat(3, minmax(0, 1fr));
    }

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

    .adv-deck-panel,
    .adv-panel {
        padding:1.5rem 1.25rem;
    }

    .adv-logo-word {
        font-size:0.82rem;
    }
}
