/* Hallmark · shape: Bento Grid · genre: atmospheric · theme: Kiln (deal 3/3, seed grupo-alertas-passagens-com-a25a·b75db943·2026-11-14·r0) · job: join · draw: 9954a5
 * hero: Banner · nav: masthead · footer: colophon block · imagery: the product, five alert cards built from the group's real alerts · signature: cream alert cards cut by the edge under a full-width serif head · kiln: insignia (brand spec 2026-11-14: navy ground, gold signal, Playfair Display)
 * axes: dark/high-contrast-serif/warm · posture: full-palette · contrast: pass · fold: pass · v2.0.0 */
/* Hallmark · pre-emit critique: P4 H4 E4 S5 R4 V4 · weakest: P, the page argues only "see it before it is gone"; put the found-on date on every card so the urgency is a fact, not a slogan */
/* Hallmark · dismissed 58 · the count takes in seven closed FAQ answers and five alert cards of product data; no 900px window passes 80 words of copy */
/* Hallmark · answered F20 · the route is one row of three (code, line, code); the plane line is centred on the codes, not wrapped */
/* Hallmark · waive 68 · five alert cards in one rail, each a built product sample with real data · the rail is the group's feed, shown as it arrives */
@import url("./tokens.css");
@import url("./base.css");

/* ---------- Shared ---------- */
.skip { position: absolute; left: var(--space-md); top: calc(-1 * var(--space-3xl)); z-index: var(--z-toast); padding: var(--space-xs) var(--space-md); background: var(--color-ink); color: var(--color-paper); }
.skip:focus-visible { top: var(--space-md); }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 var(--space-lg); border: 0; border-radius: var(--radius-pill); font: 500 var(--text-md)/1 var(--font-body); white-space: nowrap; text-decoration: none; cursor: pointer; transition: background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out); }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.btn[aria-disabled="true"] { opacity: 0.55; cursor: not-allowed; transform: none; }
.btn--primary { background: var(--color-accent); color: var(--color-accent-ink); }
.btn--primary:hover { background: var(--color-accent-2); }
.btn--ghost { background: transparent; color: var(--color-ink); box-shadow: inset 0 0 0 var(--rule-hair) var(--color-rule); }
.btn--ghost:hover { background: var(--color-paper-3); }
.btn--sm { min-height: 44px; padding: 0 var(--space-md); font-size: var(--text-sm); }

.figure { font-family: var(--font-display); font-weight: var(--display-weight); letter-spacing: -0.03em; font-variant-numeric: lining-nums tabular-nums; }
.caption { margin-top: var(--space-lg); max-width: 75ch; font-size: var(--text-sm); color: var(--color-muted); }
.head--split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); align-items: end; }
.head--split > h2 { grid-column: 1 / span 6; }
.head--split > .lead { grid-column: 8 / span 5; color: var(--color-ink-2); }

/* ---------- Masthead ---------- */
.mast { border-bottom: var(--rule-hair) solid var(--color-rule); }
.mast__in { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: 80px; }
.mast__links { display: flex; gap: var(--space-lg); }
.mast__links a { display: inline-flex; align-items: center; min-height: 44px; font-size: var(--text-sm); color: var(--color-ink-2); text-decoration: none; transition: color var(--dur-short) var(--ease-out); }
.mast__links a:hover { color: var(--color-ink); }
.mast__brand { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 44px; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-xl); letter-spacing: var(--tracking-display); text-decoration: none; white-space: nowrap; }
.mast__brand img { width: 48px; height: 48px; flex-shrink: 0; }
.mast__cta { justify-self: end; }

/* ---------- Hero (Banner) ---------- */
.hero { padding-block: var(--space-2xl) var(--section-gap-s); }
.hero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xl); align-items: end; }
.hero h1 { grid-column: 1 / -1; max-width: none; font-size: clamp(2.5rem, 6vw + 0.5rem, 6rem); line-height: 1.02; }
.hero__lead { grid-column: 1 / span 7; color: var(--color-ink-2); }
.hero__actions { grid-column: 1 / span 7; align-self: start; display: flex; flex-wrap: wrap; gap: var(--space-sm); margin-top: calc(-1 * var(--space-md)); }
.hero__price { grid-column: 9 / span 4; align-self: start; display: grid; gap: var(--space-xs); justify-items: end; margin-top: calc(-1 * var(--space-md)); text-align: right; }
.hero__figure { font-size: var(--text-display); line-height: 1; white-space: nowrap; }
.hero__per { font-size: var(--text-md); color: var(--color-muted); }

/* ---------- Alerts rail ---------- */
.alerts { padding-bottom: var(--section-gap); }
.rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(19rem, 23rem); gap: var(--gap-columns); margin: var(--space-2xl) 0 0; padding: 0 var(--gutter) var(--space-lg); padding-inline-start: max(var(--gutter), calc((100% - var(--container)) / 2 + var(--gutter))); list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); overscroll-behavior-x: contain; scrollbar-width: thin; }
.rail > li { scroll-snap-align: start; display: grid; }
.rail:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 4px; }

.alert { display: flex; flex-direction: column; gap: var(--space-md); padding: var(--space-lg); border-radius: min(2vw, var(--radius-card)); background: var(--color-card); color: var(--color-card-ink); }
.alert__route { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-sm); }
.alert__iata { font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-3xl); line-height: 1; letter-spacing: 0; }
.alert__line { width: 100%; height: 24px; color: var(--color-card-gold); }
.alert__cities { display: flex; justify-content: space-between; gap: var(--space-md); margin-top: calc(-1 * var(--space-xs)); font-size: var(--text-sm); color: var(--color-card-muted); }
.alert__meta, .alert__dates { display: grid; margin: 0; }
.alert__meta { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-md); padding-block: var(--space-md); border-block: var(--rule-hair) solid var(--color-card-rule); }
.alert__meta dt, .alert__dates dt, .alert__prog, .alert__tax, .alert__found { font-size: var(--text-sm); color: var(--color-card-muted); }
.alert__meta dd { margin: 0; font-weight: 500; }
.alert__cost { display: grid; gap: var(--space-2xs); }
.alert__miles { font-size: var(--text-md); font-weight: 500; }
.alert__miles .figure { font-variant-numeric: lining-nums tabular-nums; font-size: var(--text-3xl); line-height: 1.1; margin-right: var(--space-2xs); }
.alert__dates { gap: var(--space-xs); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-card-rule); }
.alert__dates > div { display: grid; grid-template-columns: 4.5rem minmax(0, 1fr); gap: var(--space-sm); }
.alert__dates dd { margin: 0; font-weight: 500; font-variant-numeric: tabular-nums; }
.alert__found { margin-top: auto; padding-top: var(--space-xs); }

/* ---------- Bento: what a member gets ---------- */
.gets { padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.bento { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--gap-columns); margin-top: var(--space-2xl); }
.tile { grid-column: span 4; display: grid; align-content: start; gap: var(--space-sm); min-height: 240px; padding: var(--space-xl); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-well); background: var(--color-paper); }
.tile p { color: var(--color-ink-2); }
.tile a, .faq details a { white-space: nowrap; }
.tile--type { align-content: space-between; gap: var(--space-xl); }
.tile--type h3 { font-size: var(--text-2xl); line-height: 1.12; }
.tile--lead { grid-column: span 7; grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); min-height: 360px; }
.tile__text { display: grid; gap: var(--space-sm); }
.tile--programs { grid-column: span 5; gap: var(--space-xl); min-height: 360px; }
.months { width: 100%; border-collapse: collapse; }
.months th, .months td { padding: var(--space-sm) 0; border-top: var(--rule-hair) solid var(--color-rule); text-align: left; vertical-align: baseline; }
.months th { width: 6rem; font-weight: 400; font-size: var(--text-sm); color: var(--color-muted); white-space: nowrap; }
.months td { font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-xl); letter-spacing: 0; }
.names { display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-lg); margin: 0; padding: 0; list-style: none; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-2xl); line-height: 1.15; letter-spacing: var(--tracking-display); }

/* ---------- Statement: the brand line, word by word ---------- */
.say { padding-block: var(--section-gap-l); }
.statement { max-width: 22ch; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-display); line-height: 1.04; letter-spacing: var(--tracking-display); text-wrap: balance; }
.js .statement .w { opacity: 0.3; transition: opacity var(--dur-long) var(--ease-out); }
.js .statement .w.is-in { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .js .statement .w { opacity: 1; transition: none; } }

/* ---------- Plans ---------- */
.plans { padding-bottom: var(--section-gap-l); }
.plans__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-2xl); align-items: start; }
.plans__offer { grid-column: 1 / span 8; }
.plans__how { grid-column: 10 / span 3; display: grid; gap: var(--space-lg); padding-top: var(--space-sm); }
.rows { margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr) minmax(0, 3fr) auto; align-items: center; gap: var(--space-lg); padding-block: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
.row:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.row__price { color: var(--color-ink-2); white-space: nowrap; }
.row__price .figure { font-variant-numeric: lining-nums tabular-nums; font-size: var(--text-3xl); line-height: 1; color: var(--color-ink); margin-right: var(--space-2xs); }
.row__note { font-size: var(--text-sm); color: var(--color-muted); }
.row .btn { min-width: 11.5rem; }
.plans__terms { margin-top: var(--space-lg); color: var(--color-ink-2); }
.steps { display: grid; gap: var(--space-md); margin: 0; padding: 0; list-style: none; counter-reset: step; }
.steps li { display: grid; grid-template-columns: 2rem minmax(0, 1fr); gap: var(--space-sm); align-items: baseline; color: var(--color-ink-2); counter-increment: step; }
.steps li::before { content: counter(step); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-xl); line-height: 1; color: var(--color-ink); }

/* ---------- FAQ ---------- */
.faq { padding-bottom: var(--section-gap-l); }
.faq__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xl); align-items: start; }
.faq__grid > h2 { grid-column: 1 / span 4; }
.faq__list { grid-column: 5 / span 8; }
.faq details { border-top: var(--rule-hair) solid var(--color-rule); }
.faq details:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.faq summary { display: flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: 72px; padding-block: var(--space-md); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-title); line-height: 1.2; letter-spacing: var(--tracking-display); cursor: pointer; list-style: none; transition: color var(--dur-short) var(--ease-out); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: ""; flex-shrink: 0; width: 12px; height: 12px; margin-right: var(--space-2xs); border-right: 1.5px solid var(--color-accent); border-bottom: 1.5px solid var(--color-accent); transform: translateY(-3px) rotate(45deg); transition: transform var(--dur-short) var(--ease-in-out); }
.faq details[open] > summary::after { transform: translateY(3px) rotate(-135deg); }
.faq summary:hover { color: var(--color-accent-2); }
.faq summary:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.faq details > p { padding-bottom: var(--space-lg); color: var(--color-ink-2); }
.faq details:not([open]) > p { display: none; }
@media (prefers-reduced-motion: reduce) { .faq summary::after { transition: none; } }

/* ---------- Close ---------- */
.close { padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.close__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-xl); }
.close h2 { max-width: 20ch; }

/* ---------- Footer (colophon block) ---------- */
.foot { padding-block: var(--space-2xl); }
.foot__in { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xl); }
.foot__about { grid-column: 1 / span 6; max-width: 60ch; color: var(--color-ink-2); }
.foot__links { grid-column: 7 / span 6; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-xs) var(--gap-columns); align-content: start; }
.foot__links a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; color: var(--color-ink-2); text-decoration: none; transition: color var(--dur-short) var(--ease-out); }
.foot__links a:hover { color: var(--color-ink); text-decoration: underline; }
.foot__legal { grid-column: 1 / -1; padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); color: var(--color-muted); }

/* ---------- Under 60rem ---------- */
@media (max-width: 60rem) {
  .mast__in { grid-template-columns: auto minmax(0, 1fr); min-height: 72px; }
  .mast__links { display: none; }
  .head--split > h2, .head--split > .lead, .hero__lead, .hero__actions, .hero__price, .plans__offer, .plans__how, .faq__grid > h2, .faq__list, .foot__about, .foot__links { grid-column: 1 / -1; }
  .head--split { row-gap: var(--space-md); }
  .hero { padding-block: var(--space-xl) var(--space-2xl); }
  .hero__actions, .hero__price { margin-top: 0; }
  .hero__price { justify-items: start; text-align: left; }
  .rail { margin-top: var(--space-xl); }
  .tile, .tile--lead, .tile--programs { grid-column: span 6; min-height: 0; }
  .tile--lead, .tile--programs { grid-column: 1 / -1; }
  .row { grid-template-columns: minmax(0, 1fr) auto; }
  .row h3, .row__price { grid-column: 1; }
  .row__note { grid-column: 1; }
  .row .btn { grid-column: 2; grid-row: 1 / span 3; }
}
@media (max-width: 40rem) {
  .mast__brand { font-size: var(--text-lg); }
  .mast__brand img { width: 40px; height: 40px; }
  .tile, .tile--lead, .tile--programs { grid-column: 1 / -1; padding: var(--space-lg); }
  .names { font-size: var(--text-xl); }
  .row { grid-template-columns: minmax(0, 1fr); gap: var(--space-xs); }
  .row .btn { grid-column: 1; grid-row: auto; margin-top: var(--space-sm); justify-self: start; }
  .rail { grid-auto-columns: minmax(17rem, 82%); }
  .foot__links { grid-template-columns: minmax(0, 1fr); }
  .close__in { gap: var(--space-lg); }
}

/* ========== Inner pages (appended 2026-11-14; rules above are the home page and stay as they are) ========== */

/* ---------- Inner pages: shared ---------- */
/* A fact the owner still has to supply: visible, dashed, never mistaken for final copy. */
.fill { margin-inline: var(--space-3xs); padding-inline: var(--space-2xs); outline: var(--rule-hair) dashed var(--color-muted); outline-offset: var(--space-3xs); color: var(--color-muted); -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.foot__links a[aria-current="page"] { color: var(--color-ink); text-decoration: underline; }
.tile--half { grid-column: span 6; }
.tile--top { align-content: start; gap: var(--space-md); }
.tile .btn { justify-self: start; margin-top: var(--space-sm); }
.inner-hero { padding-block: var(--space-2xl) var(--section-gap-s); }
.inner-hero .hero__lead { margin-top: calc(-1 * var(--space-xs)); }
.inner-hero__count { grid-column: 9 / span 4; align-self: start; display: grid; gap: var(--space-xs); justify-items: end; margin-top: calc(-1 * var(--space-md)); text-align: right; }

/* ---------- Guide: como ler um alerta ---------- */
.read { padding-bottom: var(--section-gap); }
.read__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-2xl); align-items: start; margin-top: var(--space-2xl); }
.read__card { grid-column: 1 / span 5; position: sticky; top: var(--space-xl); display: grid; gap: var(--space-md); }
.read__card .alert { max-width: 26rem; }
.read__card .caption { margin-top: 0; max-width: 26rem; }
.fields { grid-column: 7 / span 6; margin: 0; padding: 0; list-style: none; }
.fields li { display: grid; gap: var(--space-xs); padding-block: var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
.fields li:first-child { padding-top: 0; border-top: 0; }
.fields li:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.fields p { max-width: 52ch; color: var(--color-ink-2); }
.act { padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.why { padding-block: var(--section-gap-l) var(--section-gap); }
.reasons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.reasons li { padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-2xl); line-height: 1.15; letter-spacing: var(--tracking-display); text-wrap: balance; }
.why__note { margin-top: var(--space-2xl); color: var(--color-ink-2); }
.close__text { display: grid; gap: var(--space-sm); }
.close__text p { color: var(--color-ink-2); }

/* ---------- Welcome: obrigado ---------- */
.next { padding-bottom: var(--section-gap-l); }
.next__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap-columns); margin: var(--space-2xl) 0 0; padding: 0; list-style: none; counter-reset: next; }
.next__list li { display: grid; align-content: start; gap: var(--space-md); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); color: var(--color-ink-2); counter-increment: next; }
.next__list li::before { content: counter(next); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-3xl); line-height: 1; color: var(--color-ink); }
.help { padding-block: var(--section-gap-s); background: var(--color-paper-2); }

/* ---------- Not found: 404 ---------- */
.lost { padding-block: var(--space-3xl) var(--space-2xl); }
.lost .hero__actions { margin-top: 0; }

/* ---------- Inner pages under 60rem and 40rem ---------- */
@media (max-width: 60rem) {
  .inner-hero { padding-block: var(--space-xl) var(--space-2xl); }
  .inner-hero__count { grid-column: 1 / -1; justify-items: start; margin-top: 0; text-align: left; }
  .read__card, .fields { grid-column: 1 / -1; }
  .read__card { position: static; }
  .fields li { padding-block: var(--space-xl); }
  .tile--half { grid-column: 1 / -1; }
  .reasons, .next__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-xl); }
}

/* ========== Inner pages, round two (appended 2026-11-14): guides, routes, glossary, nine-link footer ========== */

/* ---------- Inner pages: footer with nine links ---------- */
.foot--inner .foot__about { grid-column: 1 / span 7; }
.foot--inner .foot__links { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- Inner pages: onward reading rows ---------- */
.more { padding-block: var(--section-gap-s) var(--section-gap); }
.more__list { margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.more__list li { border-top: var(--rule-hair) solid var(--color-rule); }
.more__list li:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.more__link { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xs); align-items: baseline; padding-block: var(--space-xl); text-decoration: none; }
.more__title { grid-column: 1 / span 5; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-2xl); line-height: 1.15; letter-spacing: var(--tracking-display); }
.more__line { grid-column: 7 / span 6; color: var(--color-ink-2); }
.more__link:hover .more__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.16em; }
.more__link:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }

/* ---------- Routes: rotas monitoradas ---------- */
.code { font-family: var(--font-display); font-weight: var(--display-weight); line-height: 1; letter-spacing: 0; font-variant-numeric: lining-nums; }
.ports { padding-bottom: var(--section-gap); }
.ports__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-xl) var(--gap-columns); margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.ports__grid li { display: grid; align-content: start; gap: var(--space-sm); padding-top: var(--space-lg); border-top: var(--rule-hair) solid var(--color-rule); }
.ports__grid .code { font-size: var(--text-display-s); }
.ports__grid span:not(.code) { color: var(--color-ink-2); }
.dest { padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.regions { margin-top: var(--space-2xl); }
.region { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-lg); padding-block: var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
.region h3 { grid-column: 1 / span 3; }
.region ul { grid-column: 4 / -1; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-xl) var(--gap-columns); margin: 0; padding: 0; list-style: none; }
.region li { display: grid; align-content: start; gap: var(--space-2xs); }
.region .code { font-size: var(--text-3xl); }
.region li span:not(.code) { font-size: var(--text-sm); color: var(--color-ink-2); }
.progs { padding-block: var(--section-gap-l) var(--section-gap-s); }
.progs__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-lg) var(--gap-columns); margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.progs__list li { padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-2xl); line-height: 1.15; letter-spacing: var(--tracking-display); }
.window { padding-block: var(--section-gap-s); background: var(--color-paper-2); }
.window__rows { margin: var(--space-2xl) 0 0; padding: 0; list-style: none; }
.window__rows li { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xs); align-items: baseline; padding-block: var(--space-xl); border-top: var(--rule-hair) solid var(--color-rule); }
.window__rows li:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.window__rows .figure { grid-column: 1 / span 5; font-size: var(--text-3xl); line-height: 1.1; font-variant-numeric: lining-nums tabular-nums; }
.window__rows p { grid-column: 7 / span 6; color: var(--color-ink-2); }
.how { padding-block: var(--section-gap) var(--section-gap-l); }
.next__list--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* ---------- Guide: depois do alerta ---------- */
.walk { padding-bottom: var(--section-gap); }
.walk__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-2xl); align-items: start; }
.walk__head { grid-column: 1 / span 4; position: sticky; top: var(--space-xl); display: grid; gap: var(--space-md); }
.walk__head p { color: var(--color-ink-2); }
.walk__list { grid-column: 6 / -1; margin: 0; padding: 0; list-style: none; counter-reset: walk; }
.walk__list li { display: grid; grid-template-columns: 4rem minmax(0, 1fr); column-gap: var(--space-lg); row-gap: var(--space-xs); padding-block: var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); counter-increment: walk; }
.walk__list li:first-child { padding-top: 0; border-top: 0; }
.walk__list li:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.walk__list li::before { content: counter(walk); grid-row: 1 / span 2; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-display-s); line-height: 1; color: var(--color-ink); }
.walk__list h3, .walk__list p { grid-column: 2; }
.walk__list p { max-width: 52ch; color: var(--color-ink-2); }
.gone { padding-block: var(--section-gap-l) var(--section-gap); }
.gone h2 { max-width: 18ch; font-size: var(--text-display); line-height: 1.04; }
.gone .lead { margin-top: var(--space-xl); color: var(--color-ink-2); }

/* ---------- Glossary: dicionário de milhas ---------- */
.letters { grid-column: 1 / -1; }
.letters ul { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-sm); margin: 0; padding: 0; list-style: none; }
.letters a { display: inline-flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; border-radius: var(--radius-pill); box-shadow: inset 0 0 0 var(--rule-hair) var(--color-rule); font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-xl); line-height: 1; text-decoration: none; color: var(--color-ink); }
.letters a:hover { background: var(--color-paper-3); }
.letters a:focus-visible { outline: 2px solid var(--color-focus); outline-offset: 2px; }
.gloss-sec { padding-bottom: var(--section-gap); }
.gloss { margin: var(--space-2xl) 0 0; }
.gloss__item { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap-columns); row-gap: var(--space-xs); align-items: baseline; padding-block: var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
.gloss__item:last-child { border-bottom: var(--rule-hair) solid var(--color-rule); }
.gloss__item dt { grid-column: 1 / span 5; font-family: var(--font-display); font-weight: var(--display-weight); font-size: var(--text-2xl); line-height: 1.15; letter-spacing: var(--tracking-display); }
.gloss__item dd { grid-column: 7 / span 6; max-width: 52ch; margin: 0; color: var(--color-ink-2); }

/* ---------- Round two under 60rem, 48rem and 40rem ---------- */
@media (max-width: 60rem) {
  .foot--inner .foot__about { grid-column: 1 / -1; }
  .region h3, .region ul, .walk__head, .walk__list { grid-column: 1 / -1; }
  .walk__head { position: static; }
  .walk__list li { padding-block: var(--space-xl); }
  .ports__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .next__list--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 48rem) {
  .foot--inner .foot__links { grid-template-columns: minmax(0, 1fr); }
  .region ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 40rem) {
  .more__title, .more__line, .window__rows .figure, .window__rows p, .gloss__item dt, .gloss__item dd { grid-column: 1 / -1; }
  .more__link, .gloss__item { padding-block: var(--space-lg); }
  .region ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .next__list--4 { grid-template-columns: minmax(0, 1fr); }
  .walk__list li { grid-template-columns: 3rem minmax(0, 1fr); column-gap: var(--space-md); }
  .walk__list li::before { font-size: var(--text-3xl); }
  .progs__list { grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); }
  .progs__list li { font-size: var(--text-xl); }
}
