@font-face {
  font-family: "Archivo Narrow";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/archivo-narrow-latin-variable.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 {
  font-family: "Archivo Narrow";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/archivo-narrow-latin-ext-variable.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-variable.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 {
  font-family: "JetBrains Mono";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url("/fonts/jetbrains-mono-latin-ext-variable.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308,
    U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113,
    U+2C60-2C7F, U+A720-A7FF;
}

/* Precisa do mesmo seletor do sistema, `body:has(.ctrl-page)`, e nao de `:root`: os dois tokens
   nascem la, com especificidade (0,1,1), e `:root` sozinho perderia. Como este arquivo e o
   ultimo <link> do <head>, empatar em especificidade basta. */
body:has(.ctrl-page) {
  --ctrl-sans: "Archivo Narrow", "Arial Narrow", "Roboto Condensed", "Aptos Display", "Segoe UI",
    sans-serif;
  --ctrl-mono: "JetBrains Mono", "Cascadia Code", "IBM Plex Mono", Consolas, ui-monospace,
    monospace;
}

/* Ajustes compartilhados do funil; carregado depois dos dois temas. */
.ctrl-page [hidden] { display: none !important; }
.ctrl-page .ctrl-eyebrow::before { display: none; }
.ctrl-page .ctrl-brand { gap: 10px; }
.ctrl-page .ctrl-brand__icon { width: 34px; height: 34px; object-fit: contain; filter: none; flex: none; }
.ctrl-wordmark { display: inline-flex; position: relative; width: 148px; flex: none; }
.ctrl-page .ctrl-wordmark img { width: 100%; height: auto; }
.ctrl-wordmark::after { content: ""; position: absolute; left: 10%; top: 65.5%; width: 9.5%; height: 5%; background: #4dde1f; }
.ctrl-page .ctrl-brand__tag { display: inline; font-size: 12px; }
.ctrl-page .ctrl-btn--primary,
.ctrl-page .ctrl-btn--secondary,
.ctrl-page .ctrl-theme-switch button[aria-pressed="true"],
.ctrl-page .st-button,
.ctrl-page .st-lesson-cover__play {
  background: linear-gradient(90deg, #4778ff, #4dde1f);
  color: var(--ctrl-on-accent, #000) !important;
  border-color: transparent;
}
.ctrl-page .ctrl-btn--primary:hover,
.ctrl-page .ctrl-btn--secondary:hover,
.ctrl-page .st-button:hover,
.ctrl-page .st-lesson-cover:hover .st-lesson-cover__play { background: linear-gradient(90deg, #4778ff, #4dde1f); }
.ctrl-chevron { width: 20.65px; height: 15.4px; flex: none; fill: currentColor; }
.ctrl-chevron path { animation: ctrl-next-wave 1.5s ease-in-out infinite; }
.ctrl-chevron path:nth-child(2) { animation-delay: .2s; }
.ctrl-chevron path:nth-child(3) { animation-delay: .4s; }
@keyframes ctrl-next-wave { 0%, 100% { fill: var(--ctrl-on-accent, #000); } 50% { fill: #008cff; } }
.ctrl-page .ctrl-thesis__grid { display: block; text-align: center; }
.ctrl-page .ctrl-thesis__code { display: block; margin-top: 12px; }
.ctrl-page .ctrl-lesson:nth-child(1) .st-breath-diagram rect.is-lit { fill: var(--ctrl-cyan); }
.ctrl-page .ctrl-lesson:nth-child(3) .st-breath-diagram rect.is-lit { fill: var(--ctrl-magenta); }
.ctrl-page .ctrl-lesson:nth-child(4) .st-breath-diagram rect:nth-child(1).is-lit { fill: var(--ctrl-magenta); }
.ctrl-page .ctrl-lesson:nth-child(4) .st-breath-diagram rect:nth-child(2).is-lit { fill: var(--ctrl-lime); }
.ctrl-page .ctrl-lesson:nth-child(4) .st-breath-diagram rect:nth-child(3).is-lit { fill: var(--ctrl-cyan); }
.ctrl-page .ctrl-signup__grid { grid-template-columns: minmax(360px, .8fr) minmax(0, 1fr); align-items: center; }
.ctrl-signup__form { grid-column: 1; grid-row: 1; }
.ctrl-signup__story { grid-column: 2; grid-row: 1; }
.ctrl-signup__form .ctrl-panel__head { justify-content: center; color: var(--ctrl-cyan-ink, var(--ctrl-cyan)); font-size: 11.52px; }
.ctrl-page .ctrl-field label { font-size: 12px; }
.ctrl-page .ctrl-consent { display: flex; align-items: flex-start; gap: 10px; margin-top: 18px; color: var(--ctrl-prose); font-size: 13px; line-height: 1.5; cursor: pointer; }
.ctrl-consent input { flex: none; width: 18px; height: 18px; margin-top: 2px; accent-color: #4dde1f; }
.ctrl-consent a { text-decoration: underline; text-underline-offset: 3px; }
.ctrl-page .ctrl-thanks__intro h1 { font-family: var(--ctrl-sans); font-weight: 700; font-size: clamp(3rem, 5.4vw, 5rem); line-height: .95; }
.ctrl-page .ctrl-thanks__subtitle { margin: 24px 0 18px; font-size: clamp(1.6rem, 3vw, 2.2rem); text-transform: none; letter-spacing: -.02em; line-height: 1.15; }
.ctrl-page .ctrl-quote { border-left-color: var(--ctrl-line); border-bottom: 2px solid #4dde1f; }
.ctrl-thanks__steps .ctrl-panel__head { font-size: 12px; color: var(--ctrl-cyan-ink, var(--ctrl-cyan)); }
.ctrl-page .ctrl-btn--outline { background: transparent; color: var(--ctrl-lime-ink, #4dde1f) !important; border: 1px solid #4dde1f; }
.ctrl-page .ctrl-btn--outline:hover { background: color-mix(in srgb, #4dde1f 10%, transparent); }
.ctrl-btn--outline .ctrl-chevron path { fill: currentColor; animation: none; }
.ctrl-page .ctrl-class__grid { align-items: stretch; gap: 24px; }
.ctrl-class__stage, .ctrl-rail, .ctrl-class__grid > .st-breath-guide { min-width: 0; width: 100%; }
.ctrl-page .ctrl-class__stage > .ctrl-panel { overflow: hidden; }
.ctrl-page .ctrl-player { width: 100%; margin-inline: 0; border-radius: 0; }
.ctrl-page .st-lesson-cover__copy { width: 49%; padding: 24px; justify-content: center; gap: 16px; }
.ctrl-page .st-lesson-cover__number { font-size: clamp(2.5rem, 7vw, 5rem); }
.ctrl-page .st-lesson-cover__title { font-size: clamp(1.1rem, 2.4vw, 1.8rem); line-height: 1.12; }
.ctrl-page .st-lesson-cover__play { inset: 50% 20% auto auto; margin: 0; translate: 50% -50%; --tamanho: clamp(64px, 9vw, 92px); }
.ctrl-page .st-breath-diagram rect.is-lit { fill: var(--aula, var(--ctrl-lime)); }
.ctrl-page[data-zona="all"] .st-breath-diagram rect:nth-child(1).is-lit { fill: var(--ctrl-magenta); }
.ctrl-page[data-zona="all"] .st-breath-diagram rect:nth-child(2).is-lit { fill: var(--ctrl-lime); }
.ctrl-page[data-zona="all"] .st-breath-diagram rect:nth-child(3).is-lit { fill: var(--ctrl-cyan); }
.ctrl-page .ctrl-brief__nav { flex-wrap: wrap; }
.ctrl-page .ctrl-brief__nav > span { display: none; }
.ctrl-page .ctrl-rail { align-self: start; }
.ctrl-page .ctrl-rail__copy { flex: 1; }
.ctrl-page .ctrl-rail__copy strong { font-size: 1rem; line-height: 1.3; }
.ctrl-page .ctrl-rail__copy > span, .ctrl-page .aula-duracao-item { font-size: 11px; }
.ctrl-page .ctrl-class__grid > .st-breath-guide { grid-column: 1; }
.ctrl-page .ctrl-cookie-banner { position: fixed; inset: auto 12px max(12px, env(safe-area-inset-bottom)); z-index: 100; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; padding: 20px 24px; border: 1px solid var(--ctrl-line-strong); border-radius: 18px; background: var(--ctrl-surface); color: var(--ctrl-text); box-shadow: var(--ctrl-shadow); }
.ctrl-page .ctrl-cookie-banner p { flex: 1 1 380px; margin: 0; font-size: 14px; line-height: 1.5; }
.ctrl-cookie-banner a { text-decoration: underline; text-underline-offset: 3px; }
.ctrl-cookie-actions { display: flex; gap: 12px; }
.ctrl-cookie-actions .ctrl-btn { min-width: 100px; }
.ctrl-page .ctrl-cookie-status { flex-basis: 100%; color: var(--ctrl-coral); }
.ctrl-cookie-preferences { color: inherit; background: none; border: 0; padding: 0; min-height: 44px; font: inherit; text-transform: inherit; text-decoration: underline; cursor: pointer; }
.ctrl-cookie-banner:not([hidden]) ~ .ctrl-cta-flutuante { display: none; }
@media (width <= 1100px) {
  .ctrl-page .ctrl-signup__grid { grid-template-columns: minmax(0, 1fr); }
  .ctrl-signup__form { grid-area: 1 / 1; justify-self: center; width: 100%; max-width: 620px; }
  .ctrl-signup__story { grid-area: 2 / 1; max-width: 760px; justify-self: center; }
  .ctrl-page .ctrl-class__grid { display: flex; flex-direction: column; align-items: stretch; }
  .ctrl-page .ctrl-rail { align-self: stretch; }
}
@media (width <= 560px) {
  .ctrl-page .ctrl-nav__inner { flex-wrap: wrap; gap: 8px; padding-block: 10px; }
  .ctrl-page .ctrl-nav .ctrl-btn { min-height: 40px; padding-inline: 10px; gap: 6px; font-size: 10px; }
  .ctrl-page .ctrl-brand { gap: 6px; }
  .ctrl-wordmark { width: 100px; }
  .ctrl-page .ctrl-brand__icon { width: 28px; height: 28px; }
  .ctrl-page .ctrl-brand__tag { padding-left: 8px; }
  .ctrl-page .st-lesson-cover__copy { padding: 14px; gap: 10px; width: 53%; }
  .ctrl-page .st-lesson-cover__meta { gap: 8px; }
  .ctrl-page .st-lesson-cover__number { font-size: 2.6rem; }
  .ctrl-page .st-lesson-cover__meta .st-breath-diagram { width: 22px; height: 32px; }
  .ctrl-page .st-lesson-cover__play { right: 23%; --tamanho: 64px; }
  .ctrl-page .st-lesson-cover__play svg { width: 22px; height: 22px; }
  .ctrl-page .aula-duracao { bottom: 8px; right: 8px; padding: 3px 7px; font-size: 10px; }
  .ctrl-page .ctrl-brief { padding: 22px 18px; }
  .ctrl-page .ctrl-thesis__code { display: none; }
  .ctrl-page .ctrl-cookie-banner { padding: 16px; gap: 12px; }
  .ctrl-page .ctrl-cookie-banner p { flex-basis: 100%; font-size: 13px; }
  .ctrl-cookie-actions { width: 100%; }
  .ctrl-cookie-actions .ctrl-btn { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { .ctrl-chevron path { animation: none; fill: #008cff; } }

/* Revisão de 29/10/2026: título em duas caixas e CTAs mais largos. */
.ctrl-page .ctrl-hero h1 { font-size: clamp(2.25rem, 5.8vw, 5.3rem); }
.ctrl-page .ctrl-hero__premise { display: block; font-size: .75em; line-height: 1.08; text-transform: none; letter-spacing: -.035em; }
.ctrl-page .ctrl-hero h1 .ctrl-signal-line { display: block; font-size: 1em; margin-top: .44em; }
.ctrl-page .ctrl-hero__actions .ctrl-btn,
.ctrl-page .ctrl-section-cta .ctrl-btn,
.ctrl-page .ctrl-final > .ctrl-container > .ctrl-btn { width: min(100%, 400px); justify-content: center; }
.ctrl-page .ctrl-thesis__grid { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 32px; }
.ctrl-page .ctrl-thesis__grid > p { width: 100%; max-width: none; text-align: center; }
.ctrl-page .ctrl-lessons__note { margin-top: 16px; text-align: center; font-family: var(--ctrl-mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ctrl-muted); }
.ctrl-page #ricardo .ctrl-figure::before { background: linear-gradient(transparent 76%, rgb(2 3 5 / 88%) 100%); }
.ctrl-page .ctrl-final h2 { text-transform: uppercase; line-height: 1.08; }
.ctrl-final h2 > span { display: block; }
.ctrl-final__green { color: #4dde1f; }
[data-theme="clean"] .ctrl-final__green { color: #287d12; }
.ctrl-final__assinatura a { display: inline-flex; align-items: center; min-height: 44px; text-underline-offset: 5px; }

/* Os dois pulmões reutilizam as zonas SVG e a animação de 12s do método. */
.ctrl-lungs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ctrl-page .ctrl-telemetry { width: 290px; background: color-mix(in srgb, var(--ctrl-surface) 75%, transparent); }
.ctrl-lungs .ctrl-zone { display: flex; flex-direction: column; gap: 4px; }
.ctrl-lungs .ctrl-zones { gap: 8px; }
.ctrl-lungs .ctrl-zone__bar { display: block; width: 100%; height: 14px; overflow: visible; }
.ctrl-lungs .ctrl-zone--ribs .ctrl-zone__bar { width: 75%; }
.ctrl-lungs .ctrl-zone--chest .ctrl-zone__bar { width: 37.5%; }
@media (width <= 1100px) { .ctrl-page .ctrl-telemetry { width: min(100% - 28px, 290px); } }

.ctrl-page .ctrl-cookie-banner .ctrl-btn--primary { background: #fff; border: 1px solid #fff; color: #000 !important; }
[data-theme="clean"] .ctrl-page .ctrl-cookie-banner .ctrl-btn--primary { background: var(--ctrl-text); border-color: var(--ctrl-text); color: #fff !important; }

.ctrl-page .ctrl-serenity { width: min(100%, 500px); margin: 0; padding: 24px; border: 1px solid #4778ff; border-radius: 22px; background: color-mix(in srgb, var(--ctrl-surface) 75%, transparent); color: var(--ctrl-text); box-shadow: var(--ctrl-shadow); text-align: left; }
.ctrl-serenity__header { display: flex; justify-content: space-between; gap: 8px; font: 500 9px/1.5 var(--ctrl-mono); letter-spacing: .04em; color: var(--ctrl-muted); }
.ctrl-serenity__status { color: var(--ctrl-lime-ink, #4dde1f); }
.ctrl-serenity__status::before { content: ""; display: inline-block; width: 5px; height: 5px; margin-right: 5px; border-radius: 50%; background: currentColor; vertical-align: middle; }
.ctrl-serenity__wave { display: flex; align-items: center; gap: 4px; height: 138px; }
.ctrl-serenity__wave i { display: block; flex: 1; min-width: 0; height: calc(var(--height) * 2.43); border-radius: 5px; background: linear-gradient(to top, #008cff, #4dde1f); animation: ctrl-serenity-wave 2.8s ease-in-out infinite; animation-delay: var(--delay); }
.ctrl-serenity__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; border-top: 1px solid var(--ctrl-line); padding-top: 15px; }
.ctrl-serenity__metrics div { min-width: 0; text-align: center; }
.ctrl-serenity__metrics dt { color: var(--ctrl-muted); font: 400 8px/1.4 var(--ctrl-mono); text-transform: uppercase; }
.ctrl-serenity__metrics dd { display: flex; justify-content: center; align-items: center; gap: 5px; margin: 6px 0 0; font-size: 22px; font-weight: 700; }
.ctrl-serenity__metrics .arrow { width: 13px; height: 13px; fill: #4dde1f; }
.ctrl-serenity__metrics .down { fill: #ff4d69; transform: rotate(90deg); }
.ctrl-page .ctrl-serenity__caption { margin-top: 14px; font: 400 9px/1.4 var(--ctrl-mono); letter-spacing: .03em; text-align: center; text-transform: none; color: var(--ctrl-muted); }
@keyframes ctrl-serenity-wave { 0%, 100% { transform: scaleY(.65); opacity: .65; } 50% { transform: scaleY(1); opacity: 1; } }
@media (width <= 560px) { .ctrl-page .ctrl-serenity { padding: 20px 14px; } .ctrl-serenity__header { font-size: 8px; } .ctrl-serenity__metrics dt { font-size: 7px; } }
@media (prefers-reduced-motion: reduce) { .ctrl-serenity__wave i { animation: none !important; } }

.ctrl-map__row > span:first-child { font-family: "JetBrains Mono", "Cascadia Code", "IBM Plex Mono", Consolas, ui-monospace, monospace; }
