/* ════════════════════════════════════════════════════
   Alemanha Cast — Design System
   ════════════════════════════════════════════════════ */

/* ── Tokens da marca ─────────────────────────────── */
:root {
  --acast-yellow    : #f1ba2b;
  --acast-yellow-10 : rgba(241,186,43,.10);
  --acast-yellow-20 : rgba(241,186,43,.20);
  --acast-red       : #db2125;
  --acast-red-10    : rgba(219,33,37,.10);
  --acast-dark      : #070707;
  --acast-gray      : #6b7280;
  --acast-bg        : #ffffff;

  --radius-box   : 0.75rem;
  --radius-card  : 1.25rem;
  --radius-btn   : 0.5rem;
  --transition   : 0.18s ease;

  /* Shadow scale */
  --shadow-xs : 0 1px 3px rgba(7,7,7,.06), 0 1px 2px rgba(7,7,7,.04);
  --shadow-sm : 0 4px 12px rgba(7,7,7,.07), 0 2px 4px rgba(7,7,7,.04);
  --shadow-md : 0 12px 32px rgba(7,7,7,.09), 0 4px 8px rgba(7,7,7,.04);
  --shadow-lg : 0 24px 52px rgba(7,7,7,.11), 0 8px 16px rgba(7,7,7,.05);
  --shadow-xl : 0 40px 80px rgba(7,7,7,.14), 0 12px 24px rgba(7,7,7,.06);
}

/* ── Tema DaisyUI "acast" ────────────────────────── */
/* Valores oklch aproximados dos hex da marca         */
[data-theme="acast"] {
  color-scheme: light;

  --p  : 78.5% 0.166 83;   /* primary  = #f1ba2b */
  --pc : 4.5%  0     0;    /* texto sobre primary */
  --s  : 45.7% 0.213 23;   /* secondary = #db2125 */
  --sc : 100%  0     0;    /* texto sobre secondary */
  --a  : 78.5% 0.166 83;   /* accent   = same as primary */
  --ac : 4.5%  0     0;
  --n  : 4.5%  0     0;    /* neutral  = #070707 */
  --nc : 100%  0     0;
  --b1 : 100%  0     0;    /* base-100 = white */
  --b2 : 97%   0     0;
  --b3 : 94%   0     0;
  --bc : 4.5%  0     0;    /* base content */
  --er : 45.7% 0.213 23;   /* error    = vermelho */

  --rounded-box   : var(--radius-box);
  --rounded-btn   : var(--radius-btn);
  --animation-btn : var(--transition);
}

/* ── Tipografia global ───────────────────────────── */
body { font-family: 'Rubik', sans-serif; }

/* ── Foco acessível (WCAG 2.1 AA) ───────────────── */
:focus-visible {
  outline        : 3px solid var(--acast-yellow);
  outline-offset : 2px;
}

/* ── Smooth scroll global ────────────────────────── */
html { scroll-behavior: smooth; }

/* ── Seleção de texto com cor da marca ──────────── */
::selection {
  background-color : var(--acast-yellow);
  color            : var(--acast-dark);
}

/* ── Transições condicionais ─────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .nav-link,
  .footer-link {
    transition: color var(--transition);
  }
  .cta-btn {
    transition: background-color var(--transition), color var(--transition);
  }
}

/* ════════════════════════════════════════════════════
   Componente: Header / Navbar
   ════════════════════════════════════════════════════ */
.site-header {
  background-color         : rgba(255, 255, 255, 0.92);
  color                    : var(--acast-dark);
  border-bottom            : 1px solid rgba(7,7,7,.07);
  backdrop-filter          : blur(18px) saturate(180%);
  -webkit-backdrop-filter  : blur(18px) saturate(180%);
  box-shadow               : var(--shadow-sm);
  transition               : box-shadow 0.3s ease, background-color 0.3s ease;
}

/* Sombra mais forte ao rolar */
.site-header.is-scrolled {
  box-shadow         : var(--shadow-md);
  background-color   : rgba(255,255,255,.97);
}

.site-brand-mark {
  display          : inline-flex;
  align-items      : center;
  justify-content  : center;
  min-height       : 2.75rem;
  padding          : 0;
  border           : none;
  background       : transparent;
  box-shadow       : none;
}

.site-brand-mark__image {
  display    : block;
  width      : auto;
  height     : 2.2rem;
  max-width  : min(42vw, 11.25rem);
}

.site-header__menu-toggle {
  color            : var(--acast-dark);
  border-radius    : 999px;
}

.site-header__menu-toggle:hover,
.site-header__menu-toggle:focus-visible {
  background-color : rgba(7,7,7,.06);
}

.nav-link {
  color  : rgba(7,7,7,.72);
  border-radius : var(--radius-btn);
  padding: 0.5rem 1rem;
}
.nav-link:hover,
.nav-link:focus-visible,
.nav-link[aria-current="page"] {
  color            : var(--acast-red);
  background-color : rgba(219,33,37,.06);
}

.site-header__dropdown {
  background-color : #ffffff;
  color            : var(--acast-dark);
  border           : 1px solid rgba(7,7,7,.08);
  border-radius    : var(--radius-box);
  box-shadow       : 0 20px 40px rgba(7,7,7,.12);
}

.site-header__dropdown-link {
  color         : rgba(7,7,7,.76);
  border-radius : var(--radius-btn);
}

.site-header__dropdown-link:hover,
.site-header__dropdown-link:focus-visible,
.site-header__dropdown-link[aria-current="page"] {
  color            : var(--acast-red);
  background-color : rgba(219,33,37,.06);
}

.site-header__dropdown-cta {
  border-top : 1px solid rgba(7,7,7,.08);
}

@media (max-width: 639px) {
  .site-brand-mark {
    padding : 0;
  }

  .site-brand-mark__image {
    height    : 1.95rem;
    max-width : 8.75rem;
  }
}

/* ════════════════════════════════════════════════════
   Componente: Botões (variantes da marca)
   ════════════════════════════════════════════════════ */

/* Primário: amarelo → vermelho no hover */
.btn-brand {
  background-color : var(--acast-yellow);
  color            : var(--acast-dark);
  border           : none;
  font-weight      : 700;
  letter-spacing   : 0.01em;
  transition       : background-color 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}

.btn-brand:hover,
.btn-brand:focus-visible {
  background-color : var(--acast-red);
  color            : #ffffff;
  box-shadow       : 0 14px 28px rgba(219,33,37,.18);
}

/* Outline: borda escura → fundo escuro no hover */
.btn-outline-brand {
  border           : 2px solid var(--acast-dark);
  color            : var(--acast-dark);
  background-color : transparent;
  font-weight      : 700;
  letter-spacing   : 0.01em;
}
.btn-outline-brand:hover,
.btn-outline-brand:focus-visible {
  background-color : var(--acast-dark);
  color            : #ffffff;
}

/* ════════════════════════════════════════════════════
   Componente: Hero de página
   ════════════════════════════════════════════════════ */
.page-hero {
  position   : relative;
  overflow   : hidden;
  padding    : 5.5rem 0 3.5rem;
  background :
    radial-gradient(ellipse 60% 50% at 92% 10%, rgba(241,186,43,.18), transparent),
    radial-gradient(ellipse 40% 35% at 5% 95%,  rgba(219,33,37,.08),  transparent),
    linear-gradient(180deg, rgba(248,248,248,1) 0%, rgba(255,255,255,1) 70%);
}

/* Linha decorativa no topo do hero de página interna */
.page-hero::before {
  content    : '';
  position   : absolute;
  top        : 0;
  left       : 0;
  right      : 0;
  height     : 3px;
  background : linear-gradient(90deg, var(--acast-yellow) 0%, var(--acast-red) 100%);
}

.page-hero__inner {
  display : flex;
}

.page-hero__content {
  max-width : 46rem;
}

.page-hero__eyebrow {
  display        : inline-block;
  margin-bottom  : 1rem;
  color          : var(--acast-red);
  font-size      : 0.8rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.page-hero__title {
  margin      : 0;
  font-size   : clamp(2.4rem, 5vw, 4.5rem);
  line-height : 1.02;
  font-weight : 800;
  letter-spacing: -0.03em;
}

.page-hero__intro {
  max-width   : 40rem;
  margin      : 1.5rem 0 0;
  color       : var(--acast-gray);
  font-size   : 1.05rem;
  line-height : 1.8;
}

.page-hero__actions {
  display    : flex;
  flex-wrap  : wrap;
  gap        : 0.875rem;
  margin-top : 2rem;
}

.intent-router {
  padding : 0 0 4.5rem;
}

.intent-router--compact {
  padding-top : 0.75rem;
}

.intent-router__header {
  max-width     : 44rem;
  margin-bottom : 1.75rem;
}

.intent-router__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.8rem;
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.intent-router__title {
  margin         : 0;
  color          : var(--acast-dark);
  font-size      : clamp(1.85rem, 4vw, 3rem);
  line-height    : 1.08;
  letter-spacing : -0.03em;
}

.intent-router__intro {
  margin      : 0.9rem 0 0;
  color       : var(--acast-gray);
  font-size   : 1rem;
  line-height : 1.75;
}

.intent-router__grid {
  display               : grid;
  grid-template-columns : repeat(1, minmax(0, 1fr));
  gap                   : 1rem;
}

.intent-router__card {
  display        : flex;
  flex-direction : column;
  min-height     : 100%;
  padding        : 1.4rem;
  border         : 1px solid rgba(7,7,7,.08);
  border-radius  : 1.25rem;
  background     : linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(250,250,250,1) 100%);
  box-shadow     : var(--shadow-sm);
}

.intent-router__card-kicker {
  display        : inline-block;
  margin-bottom  : 0.75rem;
  color          : var(--acast-red);
  font-size      : 0.73rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.intent-router__card-title {
  margin      : 0;
  color       : var(--acast-dark);
  font-size   : 1.18rem;
  line-height : 1.22;
}

.intent-router__card-text {
  margin      : 0.8rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.7;
  flex        : 1 1 auto;
}

.intent-router__card-link {
  display         : inline-flex;
  align-items     : center;
  gap             : 0.4rem;
  margin-top      : 1rem;
  color           : var(--acast-red);
  font-weight     : 700;
  text-decoration : none;
}

.intent-router__card-link:hover,
.intent-router__card-link:focus-visible {
  color : #bf1c20;
}

/* ════════════════════════════════════════════════════
   Componente: Serviços
   ════════════════════════════════════════════════════ */
.services-section {
  padding : 4.5rem 0 5rem;
}

.services-section--muted {
  background :
    linear-gradient(180deg, rgba(252,252,252,1) 0%, rgba(248,248,248,1) 100%);
  border-top : 1px solid rgba(7,7,7,.05);
}

.services-section__header {
  display         : flex;
  flex-direction  : column;
  gap             : 1.5rem;
  margin-bottom   : 2.25rem;
}

.services-section__copy {
  max-width : 44rem;
}

.services-section__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.85rem;
  color          : var(--acast-red);
  font-size      : 0.78rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.services-section__title {
  margin         : 0;
  color          : var(--acast-dark);
  font-size      : clamp(2rem, 4vw, 3.2rem);
  line-height    : 1.06;
  letter-spacing : -0.03em;
}

.services-section__intro,
.services-section__lead {
  margin      : 0.95rem 0 0;
  color       : var(--acast-gray);
  font-size   : 1rem;
  line-height : 1.75;
}

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

.service-card {
  display        : flex;
  flex-direction : column;
  min-height     : 100%;
  padding        : 1.5rem;
  border         : 1px solid rgba(7,7,7,.08);
  border-radius  : var(--radius-card);
  background     : #ffffff;
  box-shadow     : var(--shadow-sm);
  position       : relative;
  overflow       : hidden;
}

/* Accent bar colorida no topo de cada card */
.service-card::before {
  content    : '';
  position   : absolute;
  top        : 0;
  left       : 1.5rem;
  right      : 1.5rem;
  height     : 2px;
  background : linear-gradient(90deg, var(--acast-yellow), var(--acast-red));
  opacity    : 0;
  transition : opacity 0.2s ease;
  border-radius: 0 0 2px 2px;
}

.service-card__top {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  gap             : 1rem;
  margin-bottom   : 1.25rem;
}

.service-card__icon {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  width           : 3rem;
  height          : 3rem;
  border-radius   : 0.95rem;
  background      : linear-gradient(135deg, rgba(241,186,43,.2) 0%, rgba(219,33,37,.16) 100%);
  color           : var(--acast-dark);
}

.service-card__icon-svg {
  width  : 1.45rem;
  height : 1.45rem;
}

.service-card__category {
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.12em;
}

.service-card__body {
  flex : 1 1 auto;
}

.service-card__title {
  margin      : 0;
  font-size   : 1.3rem;
  line-height : 1.2;
  font-weight : 700;
}

.service-card__title-link {
  color           : var(--acast-dark);
  text-decoration : none;
}

.service-card__description {
  margin      : 0.85rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.7;
}

.service-card__footer {
  margin-top : 1.4rem;
  padding-top: 1rem;
  border-top : 1px solid rgba(7,7,7,.07);
}

.service-card__link {
  color           : var(--acast-red);
  font-weight     : 700;
  text-decoration : none;
}

.service-card__link:hover,
.service-card__link:focus-visible,
.service-card__title-link:hover,
.service-card__title-link:focus-visible {
  color : var(--acast-red);
}

.landing-pages-grid .landing-pages-card .service-card__description {
  display            : -webkit-box;
  -webkit-line-clamp : 3;
  -webkit-box-orient : vertical;
  overflow           : hidden;
}

/* ════════════════════════════════════════════════════
   Componente: Guias de decisão (Serviços)
   ════════════════════════════════════════════════════ */
.decision-guides {
  padding    : 3.25rem 0 4rem;
  background : linear-gradient(180deg, #fff8ee 0%, #ffffff 100%);
  border-top : 1px solid rgba(7,7,7,.05);
}

.decision-guides__header {
  max-width     : 46rem;
  margin-bottom : 1.4rem;
}

.decision-guides__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.8rem;
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.decision-guides__title {
  margin         : 0;
  color          : var(--acast-dark);
  font-size      : clamp(1.85rem, 4vw, 2.65rem);
  line-height    : 1.08;
  letter-spacing : -0.03em;
}

.decision-guides__intro {
  margin      : 0.9rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.75;
}

.decision-guides__links {
  display     : flex;
  flex-wrap   : wrap;
  gap         : 0.75rem;
  align-items : center;
}

.decision-guides__link {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  padding         : 0.65rem 1rem;
  border          : 1px solid rgba(7,7,7,.1);
  border-radius   : 999px;
  background      : #ffffff;
  color           : #223045;
  font-size       : 0.9rem;
  font-weight     : 600;
  line-height     : 1.3;
  text-decoration : none;
  transition      : border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, color 0.2s ease;
}

.decision-guides__link:hover,
.decision-guides__link:focus-visible {
  color        : var(--acast-red);
  border-color : rgba(219,33,37,.25);
  box-shadow   : var(--shadow-sm);
  transform    : translateY(-1px);
}

.decision-guides__actions {
  margin-top : 1.2rem;
}

.page-hero--service-detail {
  padding-bottom : 2.5rem;
}

.service-detail {
  padding : 0 0 2rem;
}

.service-detail__grid {
  display               : grid;
  grid-template-columns : 1fr;
  gap                   : 1.25rem;
}

.service-detail__content,
.service-detail__summary {
  display : grid;
  gap     : 1rem;
}

.service-detail__card,
.service-detail__summary-card {
  padding       : 1.5rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.25rem;
  background    : #ffffff;
  box-shadow    : 0 16px 40px rgba(7,7,7,.04);
}

.service-detail__kicker,
.service-detail__summary-label {
  display        : inline-block;
  margin-bottom  : 0.9rem;
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.12em;
}

.service-detail__text,
.service-detail__summary-title {
  margin : 0;
}

.service-detail__text {
  color       : var(--acast-gray);
  line-height : 1.8;
}

.service-detail__summary-title {
  font-size   : 1.5rem;
  line-height : 1.2;
}

.service-detail__list {
  display    : grid;
  gap        : 0.8rem;
  margin     : 1.2rem 0 0;
  padding    : 0;
  list-style : none;
}

.service-detail__list li {
  position     : relative;
  padding-left : 1.2rem;
  color        : var(--acast-gray);
  line-height  : 1.6;
}

.service-detail__list li::before {
  content       : '';
  position      : absolute;
  top           : 0.55rem;
  left          : 0;
  width         : 0.45rem;
  height        : 0.45rem;
  border-radius : 999px;
  background    : var(--acast-yellow);
}

.contact-form-block {
  padding : 1.5rem 0 4.5rem;
}

.contact-form-block__shell {
  width         : 100%;
  padding       : 2rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.25rem;
  background    : #ffffff;
  box-shadow    : 0 16px 38px rgba(7,7,7,.05);
}

.contact-form-block__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.75rem;
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.contact-form-block__title {
  margin      : 0;
  font-size   : clamp(1.7rem, 3.5vw, 2.35rem);
  line-height : 1.08;
}

.contact-form-block__text,
.contact-form-block__context {
  margin      : 0.75rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.7;
  font-size   : 0.98rem;
}

.contact-form-block__meta {
  margin      : 0.65rem 0 0;
  color       : #6b7280;
  font-size   : 0.86rem;
  line-height : 1.5;
}

.contact-form-block__benefits {
  display    : grid;
  gap        : 0.5rem;
  margin     : 0.75rem 0 0;
  padding    : 0;
  list-style : none;
}

.contact-form-block__benefits li {
  position     : relative;
  padding-left : 1rem;
  color        : #4f5d6f;
  font-size    : 0.88rem;
  line-height  : 1.55;
}

.contact-form-block__benefits li::before {
  content       : '';
  position      : absolute;
  top           : 0.5rem;
  left          : 0;
  width         : 0.42rem;
  height        : 0.42rem;
  border-radius : 999px;
  background    : var(--acast-yellow);
}

.contact-form-block__context-wrap {
  display     : flex;
  flex-wrap   : wrap;
  align-items : center;
  gap         : 0.75rem;
  margin-top  : 1rem;
}

.contact-form-block__context-label {
  margin      : 0;
  color       : var(--acast-gray);
  font-size   : 0.9rem;
  font-weight : 600;
}

.contact-form-block__context-chip {
  margin        : 0;
  padding       : 0.45rem 0.85rem;
  border        : 1px solid rgba(219,33,37,.14);
  border-radius : 999px;
  background    : rgba(219,33,37,.06);
  color         : var(--acast-red);
  font-size     : 0.92rem;
  font-weight   : 700;
}

.contact-form {
  display               : grid;
  grid-template-columns : repeat(2, minmax(0, 1fr));
  align-items           : start;
  column-gap            : 1rem;
  row-gap               : 1rem;
  margin-top            : 1.5rem;
}

.contact-form__field {
  display       : grid;
  gap           : 0.45rem;
  align-content : start;
}

.contact-form__field--full,
.contact-form__consent,
.contact-form__captcha,
.contact-form__submit {
  grid-column : 1 / -1;
}

.contact-form__label {
  color       : #516274;
  font-size   : 0.95rem;
  font-weight : 600;
  line-height : 1.3;
}

.contact-form__required {
  color       : var(--acast-red);
  font-weight : 700;
}

.contact-form__input {
  width         : 100%;
  min-height    : 3.15rem;
  padding       : 0.75rem 0.95rem;
  border        : 1px solid rgba(7,7,7,.07);
  border-radius : 0.9rem;
  background    : #fcfcfc;
  color         : var(--acast-dark);
  font-size     : 0.98rem;
  box-shadow    : none;
}

.contact-form__select {
  appearance         : none;
  -webkit-appearance : none;
  -moz-appearance    : none;
  background-image   : linear-gradient(45deg, transparent 50%, rgba(7,7,7,.55) 50%), linear-gradient(135deg, rgba(7,7,7,.55) 50%, transparent 50%);
  background-position: calc(100% - 1.15rem) calc(50% - 0.15rem), calc(100% - 0.85rem) calc(50% - 0.15rem);
  background-size    : 0.38rem 0.38rem, 0.38rem 0.38rem;
  background-repeat  : no-repeat;
  padding-right      : 2.8rem;
}

.contact-form__textarea {
  min-height    : 8.25rem;
  resize        : vertical;
  border-radius : 0.9rem;
}

.contact-form__input:focus,
.contact-form__input:focus-visible {
  outline        : none;
  border-color   : var(--acast-red);
  box-shadow     : 0 0 0 3px rgba(219,33,37,.12);
}

.contact-form__input[aria-invalid="true"] {
  border-color : #db2125;
  box-shadow   : 0 0 0 3px rgba(219,33,37,.08);
  background   : #fffafa;
}

.contact-form__error,
.contact-form__hint {
  margin      : 0;
  font-size   : 0.82rem;
  line-height : 1.55;
}

.contact-form__hint {
  color : #6b7280;
}

.contact-form__error {
  min-height : 1.25rem;
  color      : #b42318;
}

.contact-form__error:empty,
.contact-form__hint:empty {
  display : none;
}

.contact-form__error--form {
  grid-column : 1 / -1;
  margin-top  : -0.35rem;
}

.contact-form__radio-group {
  display         : flex;
  flex-wrap       : wrap;
  gap             : 0.75rem;
  padding-top     : 0.1rem;
}

.contact-form__radio {
  display     : inline-flex;
  align-items : center;
  gap         : 0.65rem;
  padding     : 0.7rem 0.9rem;
  border      : 1px solid rgba(7,7,7,.08);
  border-radius : 999px;
  background  : #fcfcfc;
  color       : #5f6b7a;
  font-size   : 0.95rem;
  font-weight : 600;
  cursor      : pointer;
  transition  : border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.contact-form__radio input {
  position : absolute;
  opacity  : 0;
}

.contact-form__radio-indicator {
  width         : 1.15rem;
  height        : 1.15rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 999px;
  background    : #ffffff;
  box-shadow    : none;
}

.contact-form__radio input:checked + .contact-form__radio-indicator {
  border-color : rgba(219,33,37,.34);
  background   : radial-gradient(circle at center, var(--acast-red) 0 36%, rgba(255,255,255,1) 40% 100%);
}

.contact-form__radio:has(input:checked) {
  border-color : rgba(219,33,37,.22);
  background   : rgba(219,33,37,.04);
  color        : var(--acast-dark);
}

.contact-form__radio.is-invalid {
  border-color : rgba(219,33,37,.5);
  background   : #fff7f7;
}

.contact-form__radio-text {
  line-height : 1;
}

.contact-form__submit {
  width         : fit-content;
  min-width     : 12.5rem;
  margin-top    : 0.2rem;
  padding-left  : 1.35rem;
  padding-right : 1.35rem;
}

.contact-form__consent {
  display       : grid;
  gap           : 0.75rem;
  margin-top    : 0.15rem;
  padding       : 1rem 1rem 0;
  border        : 1px solid rgba(7,7,7,.06);
  border-radius : 1rem;
  background    : #fafafa;
}

.contact-form__checkbox {
  display      : grid;
  grid-template-columns : auto 1fr;
  align-items  : start;
  column-gap   : 0.75rem;
  row-gap      : 0.3rem;
  color        : #5f6b7a;
  font-size    : 0.94rem;
  line-height  : 1.68;
  cursor       : pointer;
}

.contact-form__checkbox input {
  position : absolute;
  opacity  : 0;
}

.contact-form__checkbox-indicator {
  width         : 1.2rem;
  height        : 1.2rem;
  margin-top    : 0.15rem;
  border        : 1px solid rgba(7,7,7,.1);
  border-radius : 0.3rem;
  background    : #ffffff;
  box-shadow    : none;
}

.contact-form__checkbox input:checked + .contact-form__checkbox-indicator {
  border-color : rgba(219,33,37,.32);
  background   : linear-gradient(180deg, #db2125 0%, #c41c20 100%);
}

.contact-form__checkbox a {
  color           : #4c9ad6;
  text-decoration : none;
}

.contact-form__checkbox a:hover,
.contact-form__checkbox a:focus-visible {
  text-decoration : underline;
}

.contact-form__consent-note {
  margin      : 0;
  color       : var(--acast-gray);
  font-size   : 0.86rem;
  line-height : 1.65;
}

.contact-form__captcha {
  display         : flex;
  justify-content : flex-start;
  padding-top     : 0.15rem;
}

.policy-section {
  padding : 0 0 5rem;
}

.policy-section--spaced {
  padding-top : 2rem;
}

.policy-layout {
  max-width : 56rem;
}

.policy-card {
  padding       : 2rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.5rem;
  background    : #ffffff;
  box-shadow    : 0 18px 42px rgba(7,7,7,.05);
}

.policy-updated {
  margin      : 0 0 1.5rem;
  color       : var(--acast-gray);
  font-size   : 0.95rem;
}

.policy-title {
  margin      : 2rem 0 0.85rem;
  font-size   : 1.5rem;
  line-height : 1.2;
}

.policy-title:first-of-type {
  margin-top : 0;
}

.policy-text {
  margin      : 0 0 1rem;
  color       : var(--acast-gray);
  line-height : 1.8;
}

.policy-list {
  margin      : 0 0 1rem;
  padding-left: 1.2rem;
  color       : var(--acast-gray);
  line-height : 1.8;
}

.cookie-consent[hidden],
.cookie-preferences[hidden] {
  display : none;
}

.cookie-consent {
  position        : fixed;
  right           : 1rem;
  bottom          : 1rem;
  z-index         : 90;
  width           : min(100% - 2rem, 34rem);
}

.cookie-consent__panel {
  padding       : 1.35rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.25rem;
  background    : rgba(255,255,255,.96);
  box-shadow    : var(--shadow-lg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.cookie-consent__eyebrow {
  display        : inline-block;
  margin         : 0 0 0.6rem;
  color          : var(--acast-red);
  font-size      : 0.74rem;
  font-weight    : 700;
  letter-spacing : 0.12em;
  text-transform : uppercase;
}

.cookie-consent__title {
  margin      : 0;
  font-size   : 1.25rem;
  line-height : 1.25;
}

.cookie-consent__text {
  margin      : 0.85rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.7;
  font-size   : 0.96rem;
}

.cookie-consent__text a {
  color           : var(--acast-red);
  text-decoration : none;
}

.cookie-consent__text a:hover,
.cookie-consent__text a:focus-visible {
  text-decoration : underline;
}

.cookie-consent__actions {
  display    : flex;
  flex-wrap  : wrap;
  gap        : 0.75rem;
  margin-top : 1.15rem;
}

.cookie-consent__button {
  min-width : 11rem;
}

.cookie-preferences {
  position : fixed;
  inset    : 0;
  z-index  : 95;
}

.cookie-preferences__backdrop {
  position   : absolute;
  inset      : 0;
  background : rgba(7,7,7,.42);
}

.cookie-preferences__dialog {
  position      : relative;
  max-width     : 42rem;
  max-height    : min(84vh, 48rem);
  margin        : 8vh auto 0;
  padding       : 1.5rem;
  border-radius : 1.5rem;
  background    : #ffffff;
  box-shadow    : var(--shadow-xl);
  overflow      : auto;
}

.cookie-preferences__header,
.cookie-preferences__footer,
.cookie-category__top {
  display         : flex;
  justify-content : space-between;
  gap             : 1rem;
  align-items     : center;
}

.cookie-preferences__header {
  align-items : start;
}

.cookie-preferences__title {
  margin      : 0;
  font-size   : 1.6rem;
  line-height : 1.2;
}

.cookie-preferences__close {
  border        : 0;
  background    : transparent;
  color         : var(--acast-gray);
  font-size     : 2rem;
  line-height   : 1;
  cursor        : pointer;
}

.cookie-preferences__body {
  display    : grid;
  gap        : 0.9rem;
  margin-top : 1.25rem;
}

.cookie-category {
  padding       : 1rem 1.1rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1rem;
  background    : #fafafa;
}

.cookie-category__title {
  margin      : 0;
  font-size   : 1.02rem;
  line-height : 1.3;
}

.cookie-category__text {
  margin      : 0.35rem 0 0;
  color       : var(--acast-gray);
  line-height : 1.6;
  font-size   : 0.94rem;
}

.cookie-category__status {
  display       : inline-flex;
  align-items   : center;
  padding       : 0.3rem 0.7rem;
  border-radius : 999px;
  font-size     : 0.8rem;
  font-weight   : 700;
  white-space   : nowrap;
}

.cookie-category__status--locked {
  background : var(--acast-yellow-20);
  color      : var(--acast-dark);
}

.cookie-toggle {
  position : relative;
  display  : inline-flex;
  flex     : 0 0 auto;
  width    : 3.35rem;
  height   : 2rem;
  min-width: 3.35rem;
  align-items : center;
}

.cookie-toggle input {
  position           : absolute;
  inset              : 0;
  width              : 100%;
  height             : 100%;
  margin             : 0;
  opacity            : 0;
  appearance         : none;
  -webkit-appearance : none;
  -moz-appearance    : none;
  cursor             : pointer;
  z-index            : 1;
}

.cookie-toggle__track {
  width         : 100%;
  height        : 100%;
  border-radius : 999px;
  background    : #d9dde3;
  position      : relative;
  transition    : background-color .18s ease;
  pointer-events: none;
}

.cookie-toggle__track::after {
  content       : '';
  position      : absolute;
  top           : 0.2rem;
  left          : 0.2rem;
  width         : 1.6rem;
  height        : 1.6rem;
  border-radius : 999px;
  background    : #ffffff;
  box-shadow    : var(--shadow-xs);
  transition    : transform .18s ease;
}

.cookie-toggle input:checked + .cookie-toggle__track {
  background : var(--acast-red);
}

.cookie-toggle input:checked + .cookie-toggle__track::after {
  transform : translateX(1.35rem);
}

.cookie-preferences__footer {
  align-items : center;
  margin-top  : 1.25rem;
}

.back-to-top[hidden] {
  display : none;
}

.back-to-top {
  position      : fixed;
  right         : 1rem;
  bottom        : 1rem;
  z-index       : 80;
  display       : inline-flex;
  align-items   : center;
  justify-content: center;
  width         : 3.25rem;
  height        : 3.25rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 999px;
  background    : rgba(255,255,255,.94);
  color         : var(--acast-dark);
  box-shadow    : var(--shadow-md);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition    : transform .18s ease, opacity .18s ease, background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.back-to-top:hover,
.back-to-top:focus-visible {
  background  : var(--acast-yellow);
  color       : var(--acast-dark);
  box-shadow  : var(--shadow-lg);
  transform   : translateY(-2px);
}

.back-to-top svg {
  width  : 1.35rem;
  height : 1.35rem;
}

@media (prefers-reduced-motion: no-preference) {
  .service-card {
    transition : transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }

  .service-card:hover {
    transform    : translateY(-4px);
    border-color : rgba(219,33,37,.2);
    box-shadow   : var(--shadow-lg);
  }

  .service-card:hover::before {
    opacity : 1;
  }

  .bio-stat {
    transition : transform .2s ease, box-shadow .2s ease;
  }
  .bio-stat:hover {
    transform  : translateY(-3px);
    box-shadow : var(--shadow-md);
  }

  .pricing-card {
    transition : transform .2s ease, box-shadow .2s ease;
  }
  .pricing-card:hover {
    transform  : translateY(-4px);
    box-shadow : var(--shadow-lg);
  }
}

@media (min-width: 768px) {
  .intent-router__grid {
    grid-template-columns : repeat(2, minmax(0, 1fr));
  }

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

  .site-footer__inner {
    grid-template-columns : minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items           : start;
    gap                   : 3rem;
  }

  .site-footer__nav-grid {
    grid-template-columns : repeat(2, minmax(0, 1fr));
    column-gap            : 2.5rem;
    row-gap               : 2rem;
  }

  .site-footer__meta {
    flex-direction : row;
  }
}

@media (min-width: 1024px) {
  .services-section__header {
    flex-direction  : row;
    justify-content : space-between;
    align-items     : end;
  }

  .services-grid {
    grid-template-columns : repeat(3, minmax(0, 1fr));
    gap                   : 1.25rem;
  }

  .intent-router__grid {
    grid-template-columns : repeat(4, minmax(0, 1fr));
  }

  .service-detail__grid {
    grid-template-columns : minmax(0, 1.45fr) minmax(19rem, .85fr);
    align-items           : start;
  }

  .site-footer__inner {
    grid-template-columns : minmax(26rem, 1.25fr) minmax(22rem, 1fr);
    gap                   : 4rem;
  }

  .site-footer__nav-grid {
    column-gap : 4rem;
    row-gap    : 2.5rem;
  }
}

@media (max-width: 639px) {
  .page-hero {
    padding : 4rem 0 2.5rem;
  }

  .page-hero__actions {
    flex-direction : column;
  }

  .services-section {
    padding : 3.5rem 0 4rem;
  }

  .intent-router {
    padding-bottom : 3.75rem;
  }

  .service-card {
    padding : 1.2rem;
  }

  .contact-form-block {
    padding-bottom : 4rem;
  }

  .contact-form-block__shell {
    padding : 1.25rem;
  }

  .contact-form__radio-group {
    flex-direction : column;
    gap            : 0.65rem;
  }

  .contact-form__submit {
    width : 100%;
  }

  .contact-form {
    grid-template-columns : 1fr;
    row-gap               : 1.15rem;
  }

  .contact-form__checkbox {
    font-size : 0.9rem;
  }

  .contact-form__checkbox-indicator {
    width  : 1.15rem;
    height : 1.15rem;
  }

  .cookie-consent {
    left  : 1rem;
    right : 1rem;
    width : auto;
  }

  .cookie-consent__actions,
  .cookie-preferences__footer {
    flex-direction : column;
  }

  .cookie-consent__button {
    width : 100%;
  }

  .cookie-preferences__dialog {
    margin    : 4vh 1rem 0;
    padding   : 1.2rem;
    max-width : none;
    max-height: calc(100vh - 2rem);
  }

  .cookie-category__top {
    align-items : start;
  }

  .policy-section {
    padding-bottom : 4rem;
  }

  .policy-section--spaced {
    padding-top : 1.5rem;
  }

  .policy-card {
    padding : 1.35rem;
  }
}

/* ════════════════════════════════════════════════════
   Componente: Pricing / Apoie tiers
   ════════════════════════════════════════════════════ */
.pricing-grid {
  display               : grid;
  grid-template-columns : 1fr;
  gap                   : 1.25rem;
  margin-top            : 2.5rem;
}

.pricing-card {
  display        : flex;
  flex-direction : column;
  padding        : 1.75rem;
  border         : 1px solid rgba(7,7,7,.09);
  border-radius  : 1.25rem;
  background     : #ffffff;
  box-shadow     : 0 14px 36px rgba(7,7,7,.05);
}

.pricing-card--featured {
  border-color     : var(--acast-yellow);
  background       : linear-gradient(160deg, rgba(241,186,43,.06) 0%, rgba(255,255,255,1) 60%);
  box-shadow       : 0 18px 44px rgba(241,186,43,.18);
}

.pricing-card__badge {
  display        : inline-block;
  align-self     : flex-start;
  margin-bottom  : 1.1rem;
  padding        : 0.25rem 0.7rem;
  border-radius  : 999px;
  background     : var(--acast-yellow);
  color          : var(--acast-dark);
  font-size      : 0.72rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.1em;
}

.pricing-card__title {
  margin      : 0;
  font-size   : 1.35rem;
  font-weight : 700;
  line-height : 1.2;
}

.pricing-card__subtitle {
  margin     : 0.2rem 0 0;
  color      : var(--acast-gray);
  font-size  : 0.88rem;
}

.pricing-card__price {
  display     : flex;
  align-items : baseline;
  gap         : 0.3rem;
  margin      : 1.2rem 0 1.4rem;
}

.pricing-card__amount {
  font-size   : 2.5rem;
  font-weight : 800;
  line-height : 1;
  color       : var(--acast-dark);
}

.pricing-card__period {
  color     : var(--acast-gray);
  font-size : 0.9rem;
}

.pricing-card__cta {
  margin-top : auto;
}

@media (prefers-reduced-motion: no-preference) {
  .pricing-card {
    transition : transform .18s ease, box-shadow .18s ease;
  }
  .pricing-card:hover {
    transform  : translateY(-3px);
    box-shadow : 0 22px 48px rgba(7,7,7,.08);
  }
}

@media (min-width: 640px) {
  .pricing-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .pricing-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ════════════════════════════════════════════════════
   Componente: Sobre / Bio
   ════════════════════════════════════════════════════ */
.bio-section {
  padding : 5rem 0;
}

.bio-grid {
  display               : grid;
  grid-template-columns : 1fr;
  gap                   : 3rem;
  align-items           : start;
}

.bio-stats-section {
  margin-top : 3rem;
}

.bio-portrait-card {
  margin        : 0 0 1.75rem;
  border-radius : 1.5rem;
  overflow      : hidden;
  background    : linear-gradient(180deg, #f7f2ea 0%, #efe6d9 100%);
  box-shadow    : 0 18px 42px rgba(7,7,7,.08);
}

.bio-portrait-card__image {
  display         : block;
  width           : 100%;
  aspect-ratio    : 5 / 5.5;
  object-fit      : cover;
  object-position : center 18%;
}

.bio-stat-grid {
  display               : grid;
  grid-template-columns : repeat(2, minmax(0, 1fr));
  gap                   : 1rem;
  margin-top            : 2.5rem;
}

.bio-stat-grid--full {
  max-width : 80rem;
}

.bio-stat {
  min-width     : 0;
  padding       : 1.5rem 1.6rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1rem;
  background    : #ffffff;
  box-shadow    : 0 8px 24px rgba(7,7,7,.04);
}

.bio-stat__number {
  margin        : 0;
  font-size     : clamp(2.15rem, 4vw, 3.35rem);
  font-weight   : 800;
  line-height   : 1;
  letter-spacing: -0.04em;
  color         : var(--acast-dark);
  white-space   : nowrap;
}

.bio-stat__number--wide {
  font-size      : clamp(1.75rem, 3.4vw, 2.9rem);
  letter-spacing : -0.055em;
}

.bio-stat__label {
  margin      : 0.55rem 0 0;
  color       : var(--acast-gray);
  font-size   : 0.92rem;
  line-height : 1.55;
}

@media (max-width: 479px) {
  .bio-stat-grid {
    grid-template-columns : 1fr;
  }
}

@media (min-width: 1024px) {
  .bio-stat-grid {
    grid-template-columns : repeat(4, minmax(0, 1fr));
    justify-content       : center;
  }

  .bio-stat-grid--home {
    grid-template-columns : repeat(2, minmax(0, 1fr));
  }

  .bio-stat {
    padding : 1.45rem 1.4rem;
  }

  .bio-stat__number {
    font-size : clamp(2.1rem, 2.4vw, 3rem);
  }

  .bio-stat__number--wide {
    font-size : clamp(1.85rem, 2vw, 2.55rem);
  }
}

.bio-content__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.85rem;
  color          : var(--acast-red);
  font-size      : 0.78rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.bio-content__title {
  margin         : 0 0 1.5rem;
  font-size      : clamp(2rem, 4vw, 3rem);
  line-height    : 1.06;
  letter-spacing : -0.03em;
}

.bio-content__text {
  color       : var(--acast-gray);
  line-height : 1.85;
  margin      : 0 0 1rem;
}

.bio-content__text:last-of-type { margin-bottom: 0; }

.bio-listen-section {
  padding    : 0 0 5rem;
}

.bio-listen-section--spaced {
  padding-top : 1.5rem;
}

.bio-listen-card {
  padding       : 2.5rem;
  border-radius : 1.5rem;
  background    : linear-gradient(135deg, var(--acast-dark) 0%, rgba(7,7,7,.92) 100%);
  color         : #ffffff;
}

.bio-listen-card__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.75rem;
  color          : var(--acast-yellow);
  font-size      : 0.78rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.14em;
}

.bio-listen-card__title {
  margin      : 0 0 0.75rem;
  font-size   : clamp(1.6rem, 3.5vw, 2.4rem);
  line-height : 1.1;
  font-weight : 800;
}

.bio-listen-card__text {
  color       : rgba(255,255,255,.65);
  line-height : 1.75;
  margin      : 0 0 1.75rem;
  max-width   : 42rem;
}

.bio-listen-links {
  display   : flex;
  flex-wrap : wrap;
  gap       : 0.75rem;
}

.bio-listen-link {
  display      : inline-flex;
  align-items  : center;
  gap          : 0.5rem;
  padding      : 0.55rem 1.1rem;
  border       : 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  color        : rgba(255,255,255,.8);
  font-size    : 0.875rem;
  font-weight  : 500;
  text-decoration: none;
  background   : rgba(255,255,255,.06);
  transition   : border-color .15s ease, background .15s ease, color .15s ease;
}

.bio-listen-link:hover,
.bio-listen-link:focus-visible {
  border-color : var(--acast-yellow);
  background   : rgba(241,186,43,.12);
  color        : var(--acast-yellow);
}

/* ════════════════════════════════════════════════════
   Componente: Curso card
   ════════════════════════════════════════════════════ */
.course-hero-card {
  padding       : 2.5rem;
  border        : 1px solid rgba(241,186,43,.3);
  border-radius : 1.5rem;
  background    : linear-gradient(150deg, rgba(241,186,43,.08) 0%, rgba(255,255,255,1) 55%);
  box-shadow    : 0 20px 50px rgba(241,186,43,.12);
}

.course-hero-card__badge {
  display        : inline-flex;
  align-items    : center;
  gap            : 0.4rem;
  margin-bottom  : 1.25rem;
  padding        : 0.3rem 0.85rem;
  border-radius  : 999px;
  background     : var(--acast-yellow);
  color          : var(--acast-dark);
  font-size      : 0.75rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.1em;
}

.course-hero-card__title {
  margin      : 0 0 0.85rem;
  font-size   : clamp(1.75rem, 3.5vw, 2.75rem);
  line-height : 1.08;
  font-weight : 800;
}

.course-hero-card__desc {
  color       : var(--acast-gray);
  line-height : 1.8;
  margin      : 0 0 1.75rem;
  max-width   : 48rem;
}

.course-topics {
  display               : grid;
  grid-template-columns : 1fr;
  gap                   : 0.75rem;
  margin                : 2rem 0;
}

.course-topic {
  display      : flex;
  align-items  : flex-start;
  gap          : 0.85rem;
  padding      : 1rem 1.25rem;
  border       : 1px solid rgba(7,7,7,.07);
  border-radius: 0.875rem;
  background   : rgba(255,255,255,.8);
}

.course-topic__bullet {
  flex-shrink    : 0;
  width          : 1.75rem;
  height         : 1.75rem;
  display        : flex;
  align-items    : center;
  justify-content: center;
  border-radius  : 999px;
  background     : linear-gradient(135deg, rgba(241,186,43,.25) 0%, rgba(219,33,37,.15) 100%);
  font-size      : 0.72rem;
  font-weight    : 800;
  color          : var(--acast-dark);
}

.course-topic__text {
  color       : var(--acast-gray);
  line-height : 1.6;
  font-size   : 0.95rem;
}

.course-meta-card {
  position     : sticky;
  top          : 5.5rem;
  padding      : 1.75rem;
  border       : 1px solid rgba(7,7,7,.09);
  border-radius: 1.25rem;
  background   : #ffffff;
  box-shadow   : 0 16px 40px rgba(7,7,7,.07);
}

.course-meta-card__label {
  color          : var(--acast-red);
  font-size      : 0.75rem;
  font-weight    : 700;
  text-transform : uppercase;
  letter-spacing : 0.12em;
  margin-bottom  : 1rem;
}

.course-meta-list {
  display    : grid;
  gap        : 0.85rem;
  margin     : 0 0 1.5rem;
  padding    : 0;
  list-style : none;
}

.course-meta-list li {
  display    : flex;
  align-items: flex-start;
  gap        : 0.65rem;
  color      : var(--acast-gray);
  font-size  : 0.9rem;
  line-height: 1.5;
}

.course-meta-list li::before {
  content      : '';
  flex-shrink  : 0;
  width        : 0.45rem;
  height       : 0.45rem;
  margin-top   : 0.45rem;
  border-radius: 999px;
  background   : var(--acast-yellow);
}

@media (min-width: 768px) {
  .course-topics { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1024px) {
  .bio-grid { grid-template-columns: 1fr 1.2fr; }
}

/* ════════════════════════════════════════════════════
   Componente: Footer
   ════════════════════════════════════════════════════ */
.site-footer {
  background-color : var(--acast-dark);
  color            : #ffffff;
}

.footer-link {
  display         : inline-flex;
  align-items     : center;
  width           : fit-content;
  color : rgba(255,255,255,.5);
  line-height     : 1.5;
  transition      : color 0.2s ease;
}
.footer-link:hover,
.footer-link:focus-visible {
  color : var(--acast-yellow);
}

.footer-link--button {
  display    : inline-flex;
  padding    : 0;
  border     : 0;
  background : transparent;
  cursor     : pointer;
  font       : inherit;
  text-align : left;
}

.site-footer__inner {
  display               : grid;
  grid-template-columns : 1fr;
  gap                   : 2.5rem;
  padding-top           : 4rem;
  padding-bottom        : 3.75rem;
}

.site-footer__brand {
  display        : flex;
  flex-direction : column;
  gap            : 1.25rem;
  max-width      : 34rem;
}

.site-footer__brand-link {
  display : inline-flex;
}

.site-footer__logo {
  width  : auto;
  height : 2.2rem;
  filter : brightness(0) invert(1);
}

.site-footer__brand-text {
  margin      : 0;
  color       : rgba(255,255,255,.45);
  font-size   : 1.06rem;
  line-height : 1.8;
}

.site-footer__socials {
  margin-top : 0.5rem;
}

.site-footer__social-list {
  display   : flex;
  flex-wrap : wrap;
  gap       : 0.65rem;
}

.site-footer__social-link {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  width           : 2.9rem;
  height          : 2.9rem;
  border          : 1px solid rgba(255,255,255,.08);
  border-radius   : 999px;
  color           : rgba(255,255,255,.58);
  background      : rgba(255,255,255,.02);
  transition      : color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.site-footer__social-link:hover,
.site-footer__social-link:focus-visible {
  color            : var(--acast-yellow);
  background-color : rgba(255,255,255,.06);
  border-color     : rgba(255,255,255,.14);
  transform        : translateY(-1px);
}

.site-footer__social-link svg {
  width  : 1.28rem;
  height : 1.28rem;
}

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

.site-footer__nav-column {
  min-width : 0;
}

.site-footer__link-list {
  display    : grid;
  gap        : 0.95rem;
  margin     : 0;
  padding    : 0;
  list-style : none;
}

.site-footer__meta {
  display         : flex;
  flex-direction  : column;
  justify-content : space-between;
  align-items     : center;
  gap             : 0.5rem;
  padding-top     : 1rem;
  padding-bottom  : 1rem;
  color           : rgba(255,255,255,.3);
  font-size       : 0.75rem;
}

.footer-heading {
  color         : rgba(255,255,255,.4);
  font-size     : 0.7rem;
  font-weight   : 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom : 1rem;
}

.footer-divider {
  border-top : 1px solid rgba(255,255,255,.06);
}

@media (min-width: 640px) {
  .site-footer__nav-grid {
    grid-template-columns : repeat(2, minmax(0, 1fr));
    column-gap            : 1.75rem;
    row-gap               : 1.75rem;
  }
}

@media (min-width: 768px) {
  .site-footer__inner {
    grid-template-columns : minmax(0, 1.1fr) minmax(0, 0.9fr);
    align-items           : start;
    gap                   : 3rem;
  }

  .site-footer__nav-grid {
    column-gap  : 2.5rem;
    row-gap     : 2rem;
    padding-top : 0.45rem;
  }

  .site-footer__meta {
    flex-direction : row;
  }
}

@media (min-width: 1024px) {
  .site-footer__inner {
    grid-template-columns : minmax(28rem, 1.3fr) minmax(22rem, 0.95fr);
    gap                   : 5rem;
  }

  .site-footer__nav-grid {
    column-gap  : 4rem;
    row-gap     : 2.5rem;
    padding-top : 0.95rem;
  }
}

/* ════════════════════════════════════════════════════
   Componente: Course Outcomes Timeline
   ════════════════════════════════════════════════════ */
.course-outcomes-timeline {
  display    : grid;
  gap        : 1.1rem;
  margin     : 0;
  padding    : 0;
  list-style : none;
}

.course-outcomes-timeline__item {
  display        : grid;
  grid-template-columns : 3rem 1fr;
  align-items    : start;
  gap            : 1rem;
}

.course-outcomes-timeline__marker {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  width           : 3rem;
  height          : 3rem;
  border-radius   : 999px;
  background      : #f6c32f;
  color           : #070707;
  font-size       : 1.125rem;
  font-weight     : 800;
  box-shadow      : 0 12px 24px rgba(246, 195, 47, 0.2);
}

.course-outcomes-timeline__card {
  position      : relative;
  padding       : 1.15rem 1.25rem 1.15rem 1.35rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.15rem;
  background    : #ffffff;
  box-shadow    : var(--shadow-sm);
}

.course-outcomes-timeline__card::before {
  content       : '';
  position      : absolute;
  top           : 1.15rem;
  left          : -0.62rem;
  width         : 1.05rem;
  height        : 1.05rem;
  border-left   : 1px solid rgba(7,7,7,.08);
  border-bottom : 1px solid rgba(7,7,7,.08);
  background    : #ffffff;
  transform     : rotate(45deg);
}

.course-outcomes-timeline__text {
  margin      : 0;
  color       : #5f6b7a;
  font-size   : 1rem;
  line-height : 1.8;
}

.course-feature-media {
  position      : relative;
  aspect-ratio  : 16 / 10;
  overflow      : hidden;
  background    : linear-gradient(180deg, #f7f2ea 0%, #efe6d9 100%);
}

.course-feature-media__image {
  width            : 100%;
  height           : 100%;
  object-fit       : cover;
  object-position  : center 18%;
  transform        : scale(1.03);
}

/* ════════════════════════════════════════════════════
   Search Landing Pages
   ════════════════════════════════════════════════════ */
.landing-conversion-hero {
  position   : relative;
  overflow   : hidden;
  padding    : 5.5rem 0 4rem;
  background : linear-gradient(180deg, #fff8ee 0%, #ffffff 56%, #fff4f1 100%);
}

.landing-conversion-hero::before {
  content        : '';
  position       : absolute;
  inset          : 0;
  background     : radial-gradient(circle at top right, rgba(241, 186, 43, 0.18), transparent 34%),
                   radial-gradient(circle at bottom left, rgba(219, 33, 37, 0.1), transparent 28%);
  pointer-events : none;
}

.landing-conversion-hero__inner {
  position              : relative;
  z-index               : 1;
  display               : grid;
  gap                   : 1.75rem;
  align-items           : start;
}

.landing-conversion-hero__eyebrow {
  display        : inline-flex;
  align-items    : center;
  gap            : 0.5rem;
  margin-bottom  : 1rem;
  padding        : 0.45rem 0.9rem;
  border         : 1px solid rgba(219, 33, 37, .16);
  border-radius  : 999px;
  background     : rgba(255, 255, 255, 0.75);
  color          : var(--acast-red);
  font-size      : 0.8rem;
  font-weight    : 700;
  letter-spacing : 0.12em;
  text-transform : uppercase;
}

.landing-conversion-hero__title {
  margin         : 0;
  max-width      : 15ch;
  font-size      : clamp(2.5rem, 6vw, 5rem);
  font-weight    : 800;
  line-height    : 0.98;
  letter-spacing : -0.05em;
  color          : #070707;
}

.landing-conversion-hero__intro {
  max-width   : 44rem;
  margin      : 1.25rem 0 0;
  color       : #5f6b7a;
  font-size   : 1.05rem;
  line-height : 1.9;
}

.landing-conversion-hero__actions {
  display   : flex;
  flex-wrap : wrap;
  gap       : 0.9rem;
  margin    : 1.9rem 0 0;
}

.landing-conversion-hero__points {
  display         : grid;
  gap             : 0.8rem;
  margin          : 2rem 0 0;
  padding         : 0;
  list-style      : none;
}

.landing-conversion-hero__points li {
  display       : flex;
  align-items   : flex-start;
  gap           : 0.75rem;
  color         : #394150;
  line-height   : 1.75;
}

.landing-conversion-hero__points li::before {
  content       : '';
  flex-shrink   : 0;
  width         : 0.65rem;
  height        : 0.65rem;
  margin-top    : 0.45rem;
  border-radius : 999px;
  background    : linear-gradient(135deg, var(--acast-yellow), var(--acast-red));
  box-shadow    : 0 0 0 4px rgba(241, 186, 43, 0.12);
}

.landing-cro-trust-list {
  display         : grid;
  gap             : 0.6rem;
  margin          : 1.25rem 0 0;
  padding         : 1rem;
  border          : 1px solid rgba(7,7,7,.08);
  border-radius   : 1rem;
  background      : rgba(255,255,255,.9);
  list-style      : none;
}

.landing-cro-trust-list li {
  position      : relative;
  padding-left  : 1.1rem;
  color         : #3f4b5d;
  font-size     : 0.94rem;
  line-height   : 1.6;
}

.landing-cro-trust-list li::before {
  content       : '';
  position      : absolute;
  top           : 0.5rem;
  left          : 0;
  width         : 0.45rem;
  height        : 0.45rem;
  border-radius : 999px;
  background    : var(--acast-yellow);
}

.landing-conversion-panel {
  padding       : 1.5rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.5rem;
  background    : rgba(255, 255, 255, 0.88);
  box-shadow    : var(--shadow-md);
}

.landing-conversion-panel--accent {
  background : linear-gradient(180deg, #ffffff 0%, #fff8eb 100%);
}

.landing-conversion-panel__kicker {
  display        : block;
  margin-bottom  : 0.8rem;
  color          : var(--acast-red);
  font-size      : 0.75rem;
  font-weight    : 700;
  letter-spacing : 0.14em;
  text-transform : uppercase;
}

.landing-conversion-panel__text {
  margin      : 0;
  color       : #445063;
  line-height : 1.85;
}

.landing-conversion-section {
  padding : 4.25rem 0;
}

.landing-conversion-section--soft {
  background : #fcfaf6;
  margin-bottom : 1rem;
}

.landing-conversion-section--dark {
  background : #111111;
}

.landing-conversion-two-column,
.landing-checklist-layout {
  display : grid;
  gap     : 1.5rem;
}

.landing-inline-cta {
  padding : 0 0 2.25rem;
}

.landing-inline-cta--quiet {
  padding : 2.25rem 0 0;
  background : #111111;
}

.landing-inline-cta--after-dark {
  padding    : 2.25rem 0 0;
  background : #ffffff;
}

.landing-inline-cta__card {
  display        : flex;
  flex-direction : column;
  gap            : 1rem;
  padding        : 1.35rem 1.4rem;
  border         : 1px solid rgba(7,7,7,.08);
  border-radius  : 1.4rem;
  background     : #fffdf8;
  box-shadow     : var(--shadow-sm);
}

.landing-inline-cta--quiet .landing-inline-cta__card {
  border-color : rgba(255,255,255,.08);
  background   : rgba(255,255,255,.04);
  box-shadow   : none;
}

.landing-inline-cta__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.45rem;
  color          : var(--acast-red);
  font-size      : 0.76rem;
  font-weight    : 700;
  letter-spacing : 0.14em;
  text-transform : uppercase;
}

.landing-inline-cta--quiet .landing-inline-cta__eyebrow {
  color : #f6c32f;
}

.landing-inline-cta__text {
  margin      : 0;
  color       : #445063;
  line-height : 1.8;
}

.landing-inline-cta--quiet .landing-inline-cta__text {
  color : rgba(255,255,255,.72);
}

.landing-inline-cta__button {
  width : 100%;
}

.landing-conversion-copy__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.9rem;
  color          : var(--acast-red);
  font-size      : 0.8rem;
  font-weight    : 700;
  letter-spacing : 0.14em;
  text-transform : uppercase;
}

.landing-conversion-copy__eyebrow--dark {
  color : #f6c32f;
}

.landing-conversion-copy__title {
  margin         : 0;
  max-width      : 16ch;
  font-size      : clamp(2rem, 5vw, 3.4rem);
  font-weight    : 800;
  line-height    : 1.02;
  letter-spacing : -0.04em;
  color          : #070707;
}

.landing-conversion-copy__title--dark {
  color : #ffffff;
}

.landing-conversion-copy__text {
  max-width   : 46rem;
  margin      : 1rem 0 0;
  color       : #5f6b7a;
  line-height : 1.9;
}

.landing-conversion-copy__text--dark {
  color : rgba(255,255,255,.68);
}

.landing-conversion-copy--center {
  text-align : center;
}

.landing-conversion-copy--center .landing-conversion-copy__title,
.landing-conversion-copy--center .landing-conversion-copy__text {
  max-width   : 40rem;
  margin-left : auto;
  margin-right: auto;
}

.landing-signal-grid,
.landing-journey-grid {
  display    : grid;
  gap        : 1rem;
  margin-top : 2rem;
}

.landing-journey-cta {
  display         : flex;
  justify-content : center;
  margin-top      : 1.4rem;
}

.landing-journey-cta__link {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  gap             : 0.5rem;
  padding         : 0.8rem 1.15rem;
  border          : 1px solid rgba(7, 7, 7, .08);
  border-radius   : 999px;
  background      : #fff9ef;
  color           : #a8181c;
  font-size       : 0.95rem;
  font-weight     : 600;
  line-height     : 1.4;
  text-align      : center;
  text-decoration : none;
  transition      : transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.landing-journey-cta__link:hover,
.landing-journey-cta__link:focus-visible {
  border-color : rgba(219, 33, 37, .18);
  box-shadow   : var(--shadow-sm);
  transform    : translateY(-1px);
}

.landing-signal-card,
.landing-journey-card,
.landing-checklist-card {
  padding       : 1.4rem 1.35rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.35rem;
  background    : #ffffff;
  box-shadow    : var(--shadow-sm);
}

.landing-signal-card__title,
.landing-journey-card__title {
  margin        : 0;
  color         : #070707;
  font-size     : 1.15rem;
  font-weight   : 700;
  line-height   : 1.3;
}

.landing-signal-card__text,
.landing-journey-card__text {
  margin      : 0.7rem 0 0;
  color       : #5f6b7a;
  line-height : 1.8;
}

.landing-journey-card {
  position : relative;
  overflow : hidden;
}

.landing-journey-card__index {
  display         : inline-flex;
  align-items     : center;
  justify-content : center;
  width           : 2.5rem;
  height          : 2.5rem;
  margin-bottom   : 1rem;
  border-radius   : 999px;
  background      : #111111;
  color           : #ffffff;
  font-weight     : 800;
}

.landing-checklist-card {
  background : #171717;
  border-color : rgba(255,255,255,.08);
  box-shadow : none;
}

.landing-checklist {
  display    : grid;
  gap        : 1rem;
  margin     : 0;
  padding    : 0;
  list-style : none;
}

.landing-checklist li {
  display     : flex;
  align-items : flex-start;
  gap         : 0.8rem;
  color       : rgba(255,255,255,.82);
  line-height : 1.8;
}

.landing-checklist li::before {
  content       : '';
  flex-shrink   : 0;
  width         : 0.7rem;
  height        : 0.7rem;
  margin-top    : 0.45rem;
  border-radius : 999px;
  background    : #f6c32f;
}

.landing-faq-list {
  display    : grid;
  gap        : 0.9rem;
  margin-top : 2rem;
}

.landing-related-links {
  display    : grid;
  gap        : 0.9rem;
  margin-top : 2rem;
}

.landing-related-links__item {
  display         : block;
  padding         : 1.15rem 1.2rem;
  border          : 1px solid rgba(7,7,7,.08);
  border-radius   : 1rem;
  background      : #ffffff;
  color           : #111111;
  font-weight     : 600;
  text-decoration : none;
  box-shadow      : var(--shadow-sm);
  transition      : transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.landing-related-links__item:hover,
.landing-related-links__item:focus-visible {
  border-color : rgba(219, 33, 37, .18);
  box-shadow   : var(--shadow-md);
  transform    : translateY(-1px);
}

.landing-conversion-steps {
  display    : grid;
  gap        : 1rem;
  margin-top : 2rem;
}

.landing-conversion-steps__card {
  padding       : 1.25rem 1.2rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.1rem;
  background    : #ffffff;
  box-shadow    : var(--shadow-sm);
}

.landing-conversion-steps__title {
  margin      : 0;
  color       : #070707;
  font-size   : 1.02rem;
  font-weight : 700;
  line-height : 1.35;
}

.landing-conversion-steps__text {
  margin      : 0.7rem 0 0;
  color       : #5f6b7a;
  line-height : 1.75;
}

.landing-cro-prep {
  padding       : 1.35rem 1.25rem;
  border        : 1px solid rgba(7,7,7,.08);
  border-radius : 1.25rem;
  background    : #ffffff;
  box-shadow    : var(--shadow-sm);
}

.landing-cro-prep__eyebrow {
  display        : inline-block;
  margin-bottom  : 0.65rem;
  color          : var(--acast-red);
  font-size      : 0.74rem;
  font-weight    : 700;
  letter-spacing : 0.14em;
  text-transform : uppercase;
}

.landing-cro-prep__title {
  margin      : 0;
  font-size   : clamp(1.45rem, 3.4vw, 2rem);
  line-height : 1.15;
}

.landing-cro-prep__list {
  display    : grid;
  gap        : 0.65rem;
  margin     : 1rem 0 0;
  padding    : 0;
  list-style : none;
}

.landing-cro-prep__list li {
  position      : relative;
  padding-left  : 1.2rem;
  color         : #445063;
  line-height   : 1.7;
}

.landing-cro-prep__list li::before {
  content       : '';
  position      : absolute;
  top           : 0.55rem;
  left          : 0;
  width         : 0.48rem;
  height        : 0.48rem;
  border-radius : 999px;
  background    : linear-gradient(135deg, var(--acast-yellow), var(--acast-red));
}

.landing-cro-prep__cta {
  margin-top : 1.1rem;
}

.landing-sticky-cta {
  position : fixed;
  left     : 0;
  right    : 0;
  bottom   : 0.9rem;
  z-index  : 70;
  display  : none;
}

.landing-sticky-cta__inner {
  display         : flex;
  align-items     : center;
  justify-content : space-between;
  gap             : 0.8rem;
  width           : min(100% - 1.2rem, 36rem);
  margin          : 0 auto;
  padding         : 0.7rem 0.75rem;
  border          : 1px solid rgba(7,7,7,.08);
  border-radius   : 999px;
  background      : rgba(255,255,255,.95);
  box-shadow      : var(--shadow-md);
  backdrop-filter : blur(10px);
}

.landing-sticky-cta__text {
  margin      : 0;
  color       : #394150;
  font-size   : 0.86rem;
  font-weight : 600;
}

.landing-sticky-cta__button {
  min-height : 2.3rem;
  padding    : 0 1rem;
}

@media (min-width: 768px) {
  .landing-conversion-hero__inner,
  .landing-conversion-two-column,
  .landing-checklist-layout {
    grid-template-columns : minmax(0, 1.2fr) minmax(18rem, 0.8fr);
    gap                   : 2rem;
  }

  .landing-signal-grid,
  .landing-journey-grid {
    grid-template-columns : repeat(2, minmax(0, 1fr));
  }

  .landing-inline-cta__card {
    flex-direction  : row;
    align-items     : center;
    justify-content : space-between;
    gap             : 1.5rem;
  }

  .landing-inline-cta__button {
    width      : auto;
    flex-shrink : 0;
  }

  .landing-related-links {
    grid-template-columns : repeat(2, minmax(0, 1fr));
  }

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

  .landing-cro-prep {
    padding : 1.55rem 1.5rem;
  }
}

@media (min-width: 1024px) {
  .landing-conversion-hero {
    padding : 7rem 0 5rem;
  }

  .landing-conversion-section {
    padding : 5.25rem 0;
  }

  .landing-conversion-hero__inner {
    grid-template-columns : minmax(0, 1.35fr) minmax(20rem, 0.65fr);
    gap                   : 2.5rem;
  }

  .landing-conversion-two-column {
    grid-template-columns : minmax(0, 0.95fr) minmax(0, 1.05fr);
  }

  .landing-journey-grid {
    grid-template-columns : repeat(3, minmax(0, 1fr));
    align-items           : stretch;
  }

  .landing-related-links {
    grid-template-columns : repeat(3, minmax(0, 1fr));
  }

  .landing-conversion-steps {
    grid-template-columns : repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .landing-conversion-hero__actions {
    flex-direction : column;
  }

  .landing-conversion-hero__actions .btn {
    width : 100%;
  }

  .landing-conversion-hero__title,
  .landing-conversion-copy__title {
    max-width : none;
  }

  .landing-journey-cta__link,
  .landing-inline-cta__button {
    width : 100%;
  }

  .landing-related-links__item {
    padding : 1rem 1.05rem;
  }

  .landing-sticky-cta {
    display : block;
  }

  .landing-page .site-footer {
    padding-bottom : 5rem;
  }
}

@media (min-width: 1024px) {
  .course-outcomes-timeline {
    grid-template-columns : repeat(2, minmax(0, 1fr));
    gap                   : 1.5rem;
  }

  .course-outcomes-timeline__item {
    gap : 1.15rem;
  }

  .course-outcomes-timeline__text {
    font-size : 1.02rem;
  }

  .course-feature-media {
    aspect-ratio : 5 / 4;
  }
}

/* ════════════════════════════════════════════════════
   Layout utilitário
   ════════════════════════════════════════════════════ */
.container-site {
  max-width : 72rem;   /* 1152px — equivalente a max-w-6xl */
  margin    : 0 auto;
  padding   : 0 1.5rem;
}

@media (min-width: 1024px) {
  .container-site { padding: 0 2.5rem; }
}
