/* ================================
   SAINT THOMAS LANDING PAGE
   CSS COMPLETO
================================ */

:root {
  --st-blue: #071b4f;
  --st-blue-2: #0b2463;
  --st-gold: #c8a052;
  --st-gold-2: #e1bf72;
  --st-text: #14204a;
  --st-muted: #5c6680;
  --st-light: #f7f8fb;
  --st-white: #ffffff;
  --st-border: #e8eaf1;
  --st-shadow: 0 18px 45px rgba(7, 27, 79, 0.12);
  --st-shadow-soft: 0 12px 30px rgba(7, 27, 79, 0.08);
  --st-radius: 22px;
  --st-radius-sm: 14px;
  --st-container: 1180px;

  --font-title: "Georgia", "Times New Roman", serif;
  --font-body: "Inter", "Montserrat", Arial, sans-serif;
}

/* RESET */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--st-text);
  background: var(--st-white);
  line-height: 1.55;
  overflow-x: hidden;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font-family: inherit;
}

/* CONTAINER */

.container {
  width: min(100% - 48px, var(--st-container));
  margin-inline: auto;
}

/* BACKGROUND DECORATIVO */

.page-bg {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 18%, rgba(200, 160, 82, 0.08), transparent 22%),
    radial-gradient(circle at 92% 32%, rgba(200, 160, 82, 0.08), transparent 20%),
    linear-gradient(180deg, #ffffff 0%, #f8f9fc 45%, #ffffff 100%);
}

.dotted-line {
  position: absolute;
  width: 260px;
  height: 260px;
  border: 2px dashed rgba(200, 160, 82, 0.42);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}

.dotted-line.one {
  top: 120px;
  right: 18%;
}

.dotted-line.two {
  top: 520px;
  left: -150px;
}

.dotted-line.three {
  bottom: 620px;
  right: -120px;
}

/* HEADER */

.st-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(232, 234, 241, 0.8);
}

.st-header__inner {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.st-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 215px;
}

.st-logo img {
  width: 205px;
  height: auto;
}

.st-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  flex: 1;
}

.st-nav a {
  font-size: 13px;
  font-weight: 700;
  color: var(--st-blue);
  transition: color 0.25s ease;
}

.st-nav a:hover {
  color: var(--st-gold);
}

.st-header__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 22px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--st-gold), var(--st-gold-2));
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 10px 24px rgba(200, 160, 82, 0.28);
}

.st-header__cta span {
  width: 20px;
  height: 20px;
  border: 1px solid rgba(255,255,255,0.6);
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
}

/* BOTÕES */

.btn {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 12px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.25s ease;
}

.btn::after {
  content: "›";
  width: 22px;
  height: 22px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 18px;
  line-height: 1;
}

.btn-primary {
  background: var(--st-blue);
  color: #fff;
  box-shadow: 0 14px 28px rgba(7, 27, 79, 0.18);
}

.btn-primary::after {
  border: 1px solid rgba(255,255,255,0.45);
}

.btn-primary:hover {
  transform: translateY(-2px);
  background: #0a2361;
}

.btn-outline {
  background: #fff;
  color: var(--st-gold);
  border-color: rgba(200, 160, 82, 0.45);
}

.btn-outline::after {
  border: 1px solid rgba(200,160,82,0.45);
}

.btn-outline:hover {
  background: rgba(200,160,82,0.08);
  transform: translateY(-2px);
}

.btn-gold {
  background: linear-gradient(135deg, var(--st-gold), var(--st-gold-2));
  color: #fff;
}

.btn-gold::after {
  border: 1px solid rgba(255,255,255,0.55);
}

/* HERO */

.hero {
  position: relative;
  z-index: 1;
  padding: 70px 0 66px;
}

.hero__grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: 54px;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 13px;
  border-radius: 7px;
  background: #f1f3f8;
  color: var(--st-blue);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 22px;
}

.hero h1 {
  font-family: var(--font-title);
  font-size: clamp(42px, 5vw, 68px);
  line-height: 0.98;
  font-weight: 800;
  letter-spacing: -0.045em;
  color: var(--st-blue);
  margin-bottom: 28px;
}

.hero h1 span {
  display: block;
  color: var(--st-gold);
}

.hero p {
  max-width: 470px;
  color: var(--st-muted);
  font-size: 16px;
  line-height: 1.85;
  margin-bottom: 34px;
}

.hero__actions {
  display: flex;
  flex-direction: row !important;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* HERO MEDIA */

.hero__media {
  position: relative;
  min-height: 410px;
}

.hero__mascot {
  position: absolute;
  z-index: 3;
  left: -80px;
  bottom: -30px;
  width: 310px;
  filter: drop-shadow(0 18px 25px rgba(7,27,79,0.18));
}

.video-card {
  display: block;
  position: relative;
  z-index: 2;
  margin-left: 110px;
  border-radius: 28px;
  overflow: hidden;
  border: 8px solid rgba(200,160,82,0.35);
  box-shadow: var(--st-shadow);
  height: 385px;
  background: #dfe4ea;
}

.video-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 35%, rgba(7,27,79,0.72) 100%),
    linear-gradient(90deg, rgba(7,27,79,0.12), transparent);
}

.video-card__play {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 86px;
  height: 86px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 16px 34px rgba(0,0,0,0.22);
}

.video-card__play::before {
  content: "";
  margin-left: 7px;
  width: 0;
  height: 0;
  border-top: 16px solid transparent;
  border-bottom: 16px solid transparent;
  border-left: 24px solid var(--st-blue);
}

.video-card__title {
  position: absolute;
  z-index: 3;
  left: 36px;
  bottom: 28px;
  color: #fff;
  font-family: var(--font-title);
  font-size: 34px;
  font-weight: 800;
  text-shadow: 0 4px 14px rgba(0,0,0,0.32);
}

/* SEÇÕES PADRÃO */

.section {
  position: relative;
  z-index: 1;
  padding: 76px 0;
}

.section--soft {
  background: linear-gradient(180deg, #f8f9fc 0%, #ffffff 100%);
}

.section__head {
  position: relative;
  z-index: 2;
  max-width: 660px;
  margin: 0 auto 44px;
  text-align: center;
}

.section__head h2,
.split__text h2,
.form-copy h2,
.thankyou h2 {
  font-family: var(--font-title);
  color: var(--st-blue);
  font-size: clamp(34px, 3.4vw, 48px);
  line-height: 1.08;
  letter-spacing: -0.025em;
  font-weight: 800;
}

.section__head h2::after {
  content: "";
  width: 54px;
  height: 4px;
  display: block;
  border-radius: 99px;
  margin: 16px auto 0;
  background: var(--st-gold);
}

.section__head p {
  margin-top: 18px;
  color: var(--st-muted);
  font-size: 15px;
  line-height: 1.75;
}

/* CARDS */

.card-grid {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 18px;
}

.card-grid--5 {
  grid-template-columns: repeat(5, 1fr);
}

.card-grid--6 {
  grid-template-columns: repeat(6, 1fr);
}

.card {
  min-height: 170px;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 20px;
  padding: 28px 22px;
  text-align: center;
  box-shadow: var(--st-shadow-soft);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: var(--st-shadow);
}

.card__icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  color: var(--st-gold);
}

.card__icon svg,
.card__icon img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

.card h3 {
  font-family: var(--font-title);
  color: var(--st-blue);
  font-size: 17px;
  line-height: 1.15;
  font-weight: 800;
  margin-bottom: 12px;
}

.card p {
  color: var(--st-muted);
  font-size: 12px;
  line-height: 1.55;
}

/* SEÇÃO COM MASCOTE LATERAL */

.routine {
  position: relative;
}

.potential {
  padding: 76px 0 64px;
}

.potential__grid {
  display: grid;
  grid-template-columns: 38% 62%;
  gap: 20px;
  align-items: flex-start;
}

.split__text h2 {
  max-width: 455px;
}

.split__text h2::after {
  content: "";
  width: 58px;
  height: 4px;
  display: block;
  border-radius: 99px;
  margin-top: 16px;
  background: var(--st-gold);
}

.split__text p {
  margin-top: 22px;
  color: var(--st-muted);
  font-size: 15px;
  line-height: 1.75;
  max-width: 500px;
}

.study-mascot-wrapper {
  position: relative;
  display: inline-block;
  margin-top: 26px;
  margin-left: 30px;
}

.study-mascot-wrapper::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  height: 25px;
  background: radial-gradient(ellipse at center, rgba(10,35,97,0.8) 0%, rgba(10,35,97,0) 70%);
  z-index: -1;
  pointer-events: none;
}

.study-mascot {
  width: 322px;
  position: relative;
  z-index: 2;
  display: block;
}

.icon-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 18px;
}

.mini-card {
  flex: 0 0 calc(25% - 14px);
  min-height: 110px;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 16px;
  padding: 16px 8px;
  display: grid;
  place-items: center;
  text-align: center;
  box-shadow: var(--st-shadow-soft);
}

.mini-card__icon {
  width: 32px;
  height: 32px;
  color: var(--st-blue);
  margin-bottom: 8px;
}

.mini-card h3 {
  font-family: var(--font-title);
  color: var(--st-blue);
  font-size: 13px;
  line-height: 1.15;
}

/* FUTURO */

.future {
  position: relative;
}

.future__mascot {
  position: absolute;
  right: -30px;
  bottom: -20px;
  width: 280px;
  z-index: 3;
  opacity: 1;
  filter: drop-shadow(0 16px 25px rgba(7,27,79,0.16));
}

.future .container {
  position: relative;
  z-index: 2;
}

/* FAIXA AZUL */

.blue-band {
  position: relative;
  overflow: visible;
  background:
    linear-gradient(90deg, rgba(7,27,79,0.96), rgba(9,35,96,0.96)),
    url("../img/bg-british.jpg") center/cover no-repeat;
  color: #fff;
  padding: 54px 0;
}

.blue-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 20% 50%, rgba(200,160,82,0.13), transparent 28%),
    radial-gradient(circle at 92% 30%, rgba(255,255,255,0.08), transparent 25%);
}

.blue-band__grid {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 30px;
}

.features-centered {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 70px;
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
}

.features-centered li {
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.3px;
  transition: transform 0.4s ease;
  cursor: default;
}

.features-centered li:hover {
  transform: translateY(-6px);
}

.features-centered li:hover .features-centered__icon {
  background: rgba(200, 160, 82, 0.12);
  border-color: rgba(200, 160, 82, 0.6);
  box-shadow: 0 10px 30px rgba(200, 160, 82, 0.25);
  transform: scale(1.05);
}

.features-centered__icon {
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.12);
  display: grid;
  place-items: center;
  color: var(--st-gold);
  transition: all 0.4s ease;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.features-centered__icon svg {
  width: 32px;
  height: 32px;
  stroke-width: 1.8px;
}

.quote-box {
  border-left: 1px solid rgba(255,255,255,0.22);
  padding-left: 36px;
}

.quote-box--centered {
  border-left: none;
  padding-left: 0;
  text-align: center;
  max-width: 780px;
  margin-bottom: 20px;
}

.quote-box::before {
  content: "“";
  display: block;
  font-family: var(--font-title);
  color: var(--st-gold);
  font-size: 86px;
  line-height: 0.75;
  margin-bottom: 20px;
  opacity: 0.9;
}

.quote-box p {
  font-family: var(--font-title);
  font-size: 26px;
  line-height: 1.45;
  font-style: italic;
  font-weight: 500;
  text-shadow: 0 2px 10px rgba(0,0,0,0.2);
}

/* FORMULÁRIO */

.form-section {
  background: #fff;
  padding: 58px 0 62px;
}

.form-panel {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 42px;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--st-border);
  border-radius: 28px;
  padding: 34px;
  box-shadow: var(--st-shadow-soft);
}

.form-copy {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 12px;
}

.form-copy__icon {
  width: 56px;
  height: 56px;
  color: var(--st-gold);
  margin-bottom: 16px;
}

.form-copy h2 {
  font-size: 36px;
  margin-bottom: 18px;
}

.form-copy p {
  color: var(--st-muted);
  font-size: 15px;
  line-height: 1.7;
}

.form-copy__mascot {
  position: absolute;
  left: -8px;
  bottom: -34px;
  width: 165px;
  filter: drop-shadow(0 12px 20px rgba(7,27,79,0.14));
}

.lead-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  align-content: center;
}

.form-field {
  position: relative;
}

.form-field--full {
  grid-column: 1 / -1;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--st-border);
  border-radius: 10px;
  background: #fff;
  color: var(--st-text);
  padding: 0 16px;
  font-size: 13px;
  font-weight: 600;
  outline: none;
  transition: border-color 0.22s ease, box-shadow 0.22s ease;
}

.form-field textarea {
  min-height: 96px;
  padding-top: 14px;
  resize: vertical;
}

.form-field input::placeholder,
.form-field textarea::placeholder {
  color: #8b93a7;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: rgba(200,160,82,0.75);
  box-shadow: 0 0 0 4px rgba(200,160,82,0.13);
}

.radio-group {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1fr repeat(3, auto);
  gap: 10px;
  align-items: center;
}

.radio-label {
  min-height: 46px;
  border: 1px solid var(--st-border);
  border-radius: 10px;
  display: flex;
  align-items: center;
  padding: 0 14px;
  color: var(--st-blue);
  font-size: 13px;
  font-weight: 800;
  background: #fff;
}

.radio-option {
  min-height: 46px;
  padding: 0 14px;
  border: 1px solid var(--st-border);
  border-radius: 10px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--st-muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.radio-option input {
  accent-color: var(--st-blue);
}

.lead-form .btn {
  grid-column: 1 / -1;
  width: 100%;
  min-height: 52px;
  border: none;
}

/* WHATSAPP NO INPUT */

.input-whatsapp {
  position: relative;
}

.input-whatsapp::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 18px;
  height: 18px;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #28c76f;
}

.input-whatsapp input {
  padding-right: 48px;
}

/* THANK YOU */

.thankyou {
  position: relative;
  overflow: visible;
  background:
    linear-gradient(90deg, rgba(7,27,79,0.96), rgba(9,35,96,0.96)),
    url("../img/bg-palace.jpg") center/cover no-repeat;
  color: #fff;
  padding: 76px 0;
}

.thankyou::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 15% 45%, rgba(200,160,82,0.14), transparent 26%),
    linear-gradient(90deg, rgba(7,27,79,0.95) 0%, rgba(7,27,79,0.82) 55%, rgba(7,27,79,0.55) 100%);
}

.thankyou__grid {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 44px;
  padding-right: 310px; /* Space for absolute mascot */
}

.thankyou__logo img {
  width: 190px;
}

.thankyou h2 {
  color: #fff;
  margin-bottom: 18px;
}

.thankyou p {
  color: rgba(255,255,255,0.84);
  max-width: 630px;
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 28px;
}

.thankyou__mascot {
  position: absolute;
  right: -50px;
  bottom: 0;
  width: 310px;
  z-index: 3;
  filter: drop-shadow(0 18px 30px rgba(0,0,0,0.25));
}

/* UTILITÁRIOS */

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

.mt-20 {
  margin-top: 20px;
}

.mt-40 {
  margin-top: 40px;
}

.hide-desktop {
  display: none;
}

/* ANIMAÇÕES SUAVES */

.fade-up {
  opacity: 0;
  transform: translateY(22px);
  animation: fadeUp 0.75s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* MASCOTES E FORMULÁRIO (DESKTOP) */
.mascot-grid-item {
  position: relative; 
  flex: 0 0 calc(25% - 14px); 
  min-width: 0;
}

.mascot-grid-item__img {
  width: 240px; 
  max-width: none; 
  position: absolute; 
  bottom: -20px; 
  right: -20px; 
  filter: drop-shadow(0 10px 15px rgba(7,27,79,0.15)); 
  z-index: 10;
}

.form-title-group {
  display: flex; 
  align-items: center; 
  gap: 20px; 
  margin-bottom: 24px;
}

.form-title-group__img {
  width: 120px; 
  height: auto; 
  flex-shrink: 0;
}

.form-title-group h2 {
  margin-bottom: 0; 
  text-align: left;
}

/* RESPONSIVO */

@media (max-width: 1180px) {
  .st-nav {
    gap: 20px;
  }

  .hero__grid,
  .potential__grid {
    gap: 36px;
  }

  .card-grid--6 {
    grid-template-columns: repeat(3, 1fr);
  }

  .card-grid--5 {
    grid-template-columns: repeat(3, 1fr);
  }

  .future__mascot {
    width: 165px;
    right: 2%;
  }

  .blue-band__grid {
    gap: 40px;
  }
  
  .features-centered {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }

  .quote-box {
    grid-column: 1 / -1;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid rgba(255,255,255,0.18);
    padding-top: 28px;
  }
}

@media (max-width: 980px) {
  .st-header__cta {
    display: none !important;
  }

  .st-header__inner {
    min-height: auto;
    padding: 18px 0;
    flex-wrap: wrap;
    justify-content: center !important;
  }

  .st-logo {
    min-width: auto;
  }

  .st-nav {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 4px;
  }

  .st-nav a {
    white-space: nowrap;
  }

  .hero {
    padding-top: 48px;
  }

  .hero__grid,
  .potential__grid,
  .form-panel,
  .thankyou__grid {
    grid-template-columns: 1fr;
  }

  .hero__media {
    min-height: 360px;
  }

  .hero__mascot {
    display: none !important;
  }

  .hero__actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 15px !important;
    white-space: normal !important;
  }

  .btn {
    width: 100% !important;
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-size: 14px;
    box-sizing: border-box !important;
  }

  .video-card {
    position: relative !important;
    left: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    border-radius: 22px;
    border-width: 6px;
    box-sizing: border-box !important;
  }

  .icon-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
  }
  .mini-card {
    flex: 0 0 calc(50% - 9px);
  }

  .form-copy__mascot {
    display: none;
  }

  .thankyou__logo img {
    width: 160px;
  }

  .thankyou__mascot {
    justify-self: start;
    width: 180px;
  }
}

@media (max-width: 760px) {
  .st-nav {
    display: none;
  }

  .mascot-grid-item {
    display: flex;
    justify-content: center;
    position: static;
    flex: 1 1 100%;
    margin-top: 20px;
  }

  .mascot-grid-item__img {
    position: static;
    width: 160px;
    max-width: 100%;
  }

  .form-title-group {
    flex-direction: column;
    text-align: center;
    gap: 10px;
  }

  .form-title-group__img {
    width: 100px;
  }

  .form-title-group h2 {
    text-align: center;
  }

  .container {
    width: min(100% - 32px, var(--st-container));
  }

  .st-header__cta {
    display: none !important;
  }
  .st-header__inner {
    justify-content: center !important;
  }

  .hero h1 {
    font-size: 43px;
  }

  .hero p {
    font-size: 15px;
  }

  .hero__actions {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 15px !important;
    white-space: normal !important;
  }

  .btn {
    width: 100% !important;
    flex: 1;
    text-align: center;
    padding: 14px 10px;
    font-size: 14px;
    box-sizing: border-box !important;
  }

  .hero__media {
    min-height: auto;
    padding-bottom: 0;
  }

  .hero__mascot {
    display: none !important;
  }

  .video-card {
    position: relative !important;
    left: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    border-radius: 22px;
    border-width: 6px;
    box-sizing: border-box !important;
  }

  .video-card__play {
    width: 68px;
    height: 68px;
  }

  .video-card__title {
    left: 22px;
    bottom: 22px;
    font-size: 26px;
  }

  .section {
    padding: 58px 0;
  }

  .section__head h2,
  .split__text h2,
  .form-copy h2,
  .thankyou h2 {
    font-size: 32px;
  }

  .card-grid--5,
  .card-grid--6 {
    grid-template-columns: 1fr;
    padding-right: 0;
  }

  .card {
    min-height: auto;
  }

  .future__mascot {
    position: static;
    margin: 28px auto 0;
    width: 160px;
  }

  .study-mascot {
    width: 180px;
    margin-inline: auto;
  }

  .icon-grid {
    display: flex;
    flex-direction: column;
  }
  .mini-card {
    flex: 1 1 100%;
  }

  .blue-band {
    padding: 46px 0;
  }

  .blue-band__grid {
    gap: 30px;
  }

  .features-centered {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .quote-box p {
    font-size: 21px;
  }

  .form-panel {
    padding: 24px;
    border-radius: 22px;
  }

  .lead-form {
    grid-template-columns: 1fr;
  }

  .radio-group {
    grid-template-columns: 1fr;
  }

  .thankyou {
    padding: 56px 0;
  }
}

@media (max-width: 480px) {
  .st-logo img {
    width: 145px;
  }

  .hero h1 {
    font-size: 32px;
  }

  .eyebrow {
    font-size: 11px;
  }

  .video-card {
    height: 235px;
    border-radius: 22px;
  }

  .card h3,
  .mini-card h3 {
    font-size: 15px;
  }

  .section__head p,
  .split__text p,
  .form-copy p,
  .thankyou p {
    font-size: 14px;
  }
}

/* MODALS (VIDEO & SUCCESS) */
.video-modal,
.success-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  padding: 20px;
}

.video-modal.active,
.success-modal.active {
  visibility: visible;
  opacity: 1;
}

.video-modal__overlay,
.success-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(7, 27, 79, 0.92);
  backdrop-filter: blur(8px);
  cursor: pointer;
}

.video-modal__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 450px;
  background: #000;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 25px 50px rgba(0,0,0,0.5);
  transform: scale(0.95);
  transition: transform 0.3s ease;
}

.success-modal__content {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 900px;
  border-radius: 24px;
  box-shadow: 0 25px 50px rgba(0,0,0,0.4);
  transform: scale(0.95);
  transition: transform 0.3s ease;
}

.video-modal.active .video-modal__content,
.success-modal.active .success-modal__content {
  transform: scale(1);
}

.video-modal__close,
.success-modal__close {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 10;
  background: rgba(0,0,0,0.5);
  color: #fff;
  border: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
}

.video-modal__close:hover,
.success-modal__close:hover {
  background: rgba(0,0,0,0.8);
}

.video-modal__ratio {
  position: relative;
  width: 100%;
  padding-top: 177.77%; /* 16:9 Vertical */
}

.video-modal__ratio video,
.video-modal__ratio iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* WHATSAPP FLOAT */
.whatsapp-float {
  position: fixed;
  width: 60px;
  height: 60px;
  bottom: 40px;
  right: 40px;
  background-color: #25d366;
  color: #fff;
  border-radius: 50%;
  text-align: center;
  font-size: 30px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.3);
  z-index: 9999;
  display: grid;
  place-items: center;
  animation: pulse-wa 2s infinite;
  transition: transform 0.3s ease;
}

.whatsapp-float:hover {
  transform: scale(1.1);
}

@keyframes pulse-wa {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
  }
  70% {
    box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
  }
}

@media (max-width: 768px) {
  .whatsapp-float {
    width: 50px;
    height: 50px;
    bottom: 20px;
    right: 20px;
  }
  .whatsapp-float svg {
    width: 28px;
    height: 28px;
  }
}

/* FOOTER */
.st-footer {
  background: var(--st-blue);
  color: #fff;
  padding: 45px 0;
  text-align: center;
  font-size: 14px;
}

.st-footer__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
}

.st-footer p {
  opacity: 0.7;
}

.st-footer__dev {
  margin-top: 8px;
  font-size: 15px;
  opacity: 1 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.groven-link {
  display: inline-flex;
  align-items: center;
  margin-left: 4px;
  position: relative;
  transition: all 0.3s ease;
}

.groven-logo-img {
  height: 24px;
  width: auto;
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.4s ease;
  filter: drop-shadow(0 0 0 transparent);
}

.groven-link:hover .groven-logo-img {
  transform: translateY(-3px) scale(1.08);
  filter: drop-shadow(0 6px 12px rgba(255, 255, 255, 0.25));
}

/* RESPONSIVIDADE DO MODAL DE SUCESSO (THANK YOU) */
@media (max-width: 980px) {
  .success-modal__content.thankyou {
    padding: 40px 0 !important;
  }
  .success-modal__content.thankyou .thankyou__grid {
    flex-direction: column;
    padding: 0 24px !important; /* Zera os paddings inline e do desktop */
    gap: 24px;
    text-align: center;
  }
  .success-modal__content.thankyou .thankyou__mascot {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    width: 160px !important;
    margin: 0 auto !important;
    display: block !important;
  }
  .success-modal__content.thankyou .thankyou__content {
    max-width: 100% !important;
  }
  .success-modal__content.thankyou .thankyou__content h2 {
    font-size: 26px !important;
    line-height: 1.2;
    margin-bottom: 12px !important;
  }
  .success-modal__content.thankyou .thankyou__content p {
    font-size: 15px !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
    padding: 0 10px;
  }
  .success-modal__content.thankyou .btn {
    width: 100% !important;
    max-width: 280px;
    margin: 0 auto !important;
  }
}

@media (max-width: 480px) {
  .success-modal__content.thankyou {
    padding: 30px 0 20px !important;
  }
  .success-modal__content.thankyou .thankyou__grid {
    padding: 0 16px !important;
    gap: 16px;
  }
  .success-modal__content.thankyou .thankyou__mascot {
    width: 130px !important;
  }
  .success-modal__content.thankyou .thankyou__content h2 {
    font-size: 22px !important;
  }
  .success-modal__content.thankyou .thankyou__content p {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}


/* Shared Miss Zaddik FAQ and navigation between school pages. */
.miss-faq{background:#eeece2;padding:88px 0;color:#17264a;scroll-margin-top:110px}
.miss-faq-layout{width:min(1240px,calc(100% - 80px));margin:0 auto;display:grid;grid-template-columns:.8fr 1.2fr;gap:44px 66px;align-items:start}
.miss-faq-intro{position:relative;top:auto;min-width:0}
.miss-faq-person{display:flex;gap:15px;align-items:center;margin-bottom:30px}
.miss-faq-person img{width:68px;height:78px;object-fit:cover;border-radius:36px 36px 8px 8px}
.miss-faq-person strong{display:block;font-family:Georgia,serif;font-size:23px;font-weight:400}
.miss-faq-person span{display:block;font-size:8px;letter-spacing:2px;margin-top:4px;color:#626a7b}
.miss-faq-kicker{font:600 9px/1.8 Arial,sans-serif;letter-spacing:1.8px;color:#806138;margin:0 0 16px}
.miss-faq h2,.stage-bridge h2{font-family:Georgia,serif;font-size:clamp(30px,3vw,42px);line-height:1.2;font-weight:400;letter-spacing:-1.3px;margin:0 0 24px}
.miss-faq h2 em,.stage-bridge h2 em{color:#947044;font-weight:400}
.miss-faq-emoji{font-size:25px}
.miss-faq-intro>p:not(.miss-faq-kicker){font-size:14px;line-height:1.9;color:#586276;margin:0}
.miss-faq-intro>p>strong{color:#17264a;font-weight:600}
.miss-faq-questions{border-top:1px solid #cdd0c4}
.miss-faq-item{border-bottom:1px solid #cdd0c4}
.miss-faq-item summary{display:flex;gap:22px;align-items:center;justify-content:space-between;list-style:none;cursor:pointer;padding:22px 0;font-size:15px;font-weight:500;line-height:1.6;color:#17264a;touch-action:manipulation}
.miss-faq-item summary::-webkit-details-marker{display:none}
.miss-faq-item summary:hover{color:#806138}
.miss-faq-item summary:focus-visible,.miss-faq-contact:focus-visible,.f2-page-links a:focus-visible{outline:2px solid #947044;outline-offset:5px}
.miss-faq-plus{position:relative;flex:0 0 20px;width:20px;height:20px}
.miss-faq-plus:before,.miss-faq-plus:after{content:'';position:absolute;background:currentColor;left:4px;right:4px;top:9px;height:1px}
.miss-faq-plus:after{transform:rotate(90deg)}
.miss-faq-item[open] .miss-faq-plus:after{transform:rotate(0)}
.miss-faq-answer{padding:0 35px 24px 0}
.miss-faq-answer p{font-size:14px;line-height:1.9;color:#586276;margin:0}
.miss-faq-answer strong{font-weight:600;color:#17264a}
.miss-faq-invitation{grid-column:1/-1;border-top:1px solid #cdd0c4;padding-top:30px;display:flex;align-items:center;justify-content:space-between;gap:36px}
.miss-faq-invitation h3{font:400 25px/1.3 Georgia,serif;margin:0 0 12px;color:#17264a}
.miss-faq-invitation p{font-size:13px;line-height:1.8;max-width:640px;color:#586276;margin:0}
.miss-faq-contact{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:50px;padding:13px 22px;background:#101e42;color:#fff;font-size:12px;font-weight:500;line-height:1.6;text-decoration:none;flex-shrink:0}
.miss-faq-contact:hover{background:#23365f;color:#fff}
.miss-faq-contact>span{font-size:21px}
.stage-bridge{background:#f7f5ee;padding:64px 0;border-top:1px solid #dcded3}
.stage-bridge-inner{width:min(1240px,calc(100% - 80px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:50px}
.stage-bridge h2{font-size:32px;margin-bottom:18px;max-width:700px}
.stage-bridge-inner>div>p:last-child{max-width:700px;font-size:14px;line-height:1.9;color:#586276;margin:0}
.f2-page-links{width:min(1180px,calc(100% - 48px));margin:0 auto;display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #dcded3;font-size:12px;color:#071b4f}
.f2-page-links a{color:inherit;text-decoration:none}
@media(max-width:1100px){.miss-faq-layout{gap:35px;grid-template-columns:.85fr 1.15fr}.miss-faq-invitation,.stage-bridge-inner{align-items:flex-start;flex-direction:column;gap:23px}}
@media(max-width:800px){.miss-faq{padding:56px 0}.miss-faq-layout{width:calc(100% - 40px);grid-template-columns:1fr;gap:30px}.miss-faq-intro{position:static}.miss-faq h2{font-size:34px}.miss-faq-person{margin-bottom:24px}.miss-faq-answer{padding-right:12px}.miss-faq-invitation{gap:22px}.stage-bridge{padding:44px 0}.stage-bridge-inner{width:calc(100% - 40px)}.stage-bridge h2{font-size:30px}.f2-page-links{width:calc(100% - 32px);font-size:11px}}
@media(max-width:480px){.miss-faq-item summary{font-size:14px;gap:14px;padding:19px 0}.miss-faq-answer p{font-size:13px}.miss-faq-contact{width:100%;font-size:12px;padding:13px 17px}.f2-page-links{flex-wrap:wrap;gap:9px}.miss-faq h2{font-size:31px}}

/* Fundamental II — admissions 2027 */
body.f2-redesign{--f2-navy:#101e42;--f2-cream:#f7f5ee;--f2-gold:#a9804e;background:var(--f2-cream);color:var(--f2-navy);font-family:Inter,sans-serif;margin:0;line-height:1.65}
.f2-redesign *{box-sizing:border-box}.f2-redesign img{max-width:100%}.f2-redesign a{color:inherit}.f2-redesign section[id]{scroll-margin-top:24px}.f2-wrap{width:min(1240px,calc(100% - 96px));margin:auto}.f2-redesign h1,.f2-redesign h2,.f2-redesign h3,.f2-redesign p{margin:0}.f2-redesign h1,.f2-redesign h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.12}.f2-redesign h1{font-size:clamp(44px,4.6vw,68px)}.f2-redesign h2{font-size:clamp(36px,3.5vw,50px)}.f2-redesign em{color:var(--f2-gold);font-weight:400}.f2-kicker{font-size:11px;letter-spacing:.19em;font-weight:600;margin-bottom:23px!important}.f2-header{border-bottom:1px solid #101e4218}.f2-nav{min-height:106px;display:flex;align-items:center;justify-content:space-between;gap:24px}.f2-nav>a:first-child{display:block;width:210px;flex-shrink:0}.f2-nav img{display:block;height:auto}.f2-nav nav{display:flex;gap:25px;font-size:12px}.f2-nav a{text-decoration:none}.f2-button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 25px;background:var(--f2-navy);color:white!important;text-decoration:none;font-size:13px;font-weight:500;line-height:1.4;border:1px solid var(--f2-navy);transition:background .2s,box-shadow .2s}.f2-button:hover{background:#243762;box-shadow:0 6px 18px #101e421a}.f2-button span{font-size:22px}.f2-hero{padding:65px 0 60px}.f2-hero-grid{display:grid;grid-template-columns:1.12fr 1fr;gap:64px;align-items:center}.f2-hero-copy>p:not(.f2-kicker){max-width:510px;color:#586174;font-size:15px;margin-top:22px}.f2-hero-copy .f2-lead{font-size:21px!important;color:var(--f2-navy)!important;line-height:1.5}.f2-hero-copy .f2-button{margin-top:30px}.f2-hero-copy .f2-note{font-size:11px!important;margin-top:12px!important}.f2-hero-art{position:relative;min-height:525px;background:#e9e5d9;overflow:hidden;border-radius:3px}.f2-admission{position:absolute;z-index:2;left:27px;top:25px;border-left:2px solid var(--f2-gold);padding-left:15px}.f2-admission span{display:block;font-size:10px;letter-spacing:.13em}.f2-admission strong{font-family:'Playfair Display',Georgia,serif;font-size:49px;line-height:1.1;font-weight:400}.f2-monogram{position:absolute;font:300px/1 Georgia,serif;color:#dcd5c4;right:-12px;top:88px;letter-spacing:-.08em}.f2-lion{position:absolute;height:410px;width:100%;object-fit:contain;bottom:52px;left:30px;z-index:1}.f2-art-caption{position:absolute;bottom:0;left:0;right:0;background:var(--f2-navy);color:white;padding:18px 28px;font-size:13px;z-index:2}.f2-art-caption strong{font-weight:500;color:#d3bb90}.f2-opening{border-block:1px solid #101e4222;padding:27px 0}.f2-opening .f2-wrap{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center}.f2-opening strong{font-family:'Playfair Display',Georgia,serif;font-size:24px;font-weight:400}.f2-opening p{font-size:13px;color:#586174}.f2-section{padding:100px 0}.f2-section-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:75px;align-items:end;margin-bottom:44px}.f2-section-heading>p,.f2-culture p:not(.f2-kicker){font-size:15px;color:#586174;line-height:1.8}.f2-subjects{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #101e4225}.f2-subjects article{padding:30px 32px;border-right:1px solid #101e4225}.f2-subjects article:first-child{padding-left:0}.f2-subjects article:last-child{border:0}.f2-subject-icon{display:block;height:42px;width:42px;font:40px/1 Georgia;color:var(--f2-gold);margin-bottom:26px}.f2-subjects h3{font-size:20px;font-weight:500}.f2-subjects p{font-size:14px;color:#687082}.f2-languages{display:block;font-size:10px;letter-spacing:.11em;margin-top:28px}.f2-languages b{color:var(--f2-gold);margin:0 9px;font-size:16px}.f2-journey{background:#eeece2}.f2-split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.f2-study img{display:block;height:265px;width:340px;object-fit:contain;margin:25px auto -35px}.f2-editorial-list article{display:flex;gap:23px;padding:26px 0;border-top:1px solid #101e4228}.f2-editorial-list article>span{font-size:12px;color:var(--f2-gold);padding-top:4px}.f2-editorial-list h3{font-size:19px;font-weight:500;margin-bottom:9px}.f2-editorial-list p{font-size:14px;color:#586174}.f2-text-link{display:inline-block;font-size:13px;text-underline-offset:6px;line-height:1.8}.f2-editorial-list>.f2-text-link{margin-top:15px}.f2-film{display:block;height:480px;position:relative;overflow:hidden;background:var(--f2-navy)}.f2-film>img{height:100%;width:100%;object-fit:cover}.f2-film:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#081329d9)}.f2-play{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);width:66px;height:66px;border:1px solid #ffffffb3;border-radius:50%;background:#101e4277;color:white;display:grid;place-items:center;z-index:2;font-size:20px;padding-left:4px}.f2-film-caption{position:absolute;bottom:30px;left:30px;color:white;font-size:10px;letter-spacing:.14em;z-index:2}.f2-film-caption strong{display:block;font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:400;letter-spacing:0;margin-top:8px}.f2-culture h2{margin-bottom:24px}.f2-culture p+p{margin-top:18px}.f2-culture .f2-text-link{margin-top:28px}.f2-redesign .miss-faq{background:#eeece2}.f2-redesign .miss-faq-intro{position:relative;top:auto}.f2-redesign .miss-faq h2{margin-bottom:25px}.f2-redesign .miss-faq h3{margin-bottom:12px}.f2-contact{background:var(--f2-navy);color:var(--f2-cream)}.f2-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.f2-contact .f2-kicker,.f2-contact em{color:#d3bb90}.f2-contact-copy>p:not(.f2-kicker){font-size:14px;color:#ccd1dd;margin-top:25px;max-width:380px}.f2-contact-person{display:flex;align-items:center;gap:22px;margin:25px 0}.f2-contact-person img{width:130px;height:160px;object-fit:contain}.f2-contact-person span{font-family:'Playfair Display',Georgia,serif;font-size:21px;font-style:italic;color:#d3bb90}.f2-form-card{padding:36px;background:var(--f2-cream);color:var(--f2-navy)}.f2-form-card>h3{font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:400}.f2-form-card>p{font-size:12px;color:#586174;margin:8px 0 24px}.f2-redesign .lead-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:none;padding:0;margin:0;border:0;box-shadow:none}.f2-redesign .form-field{display:block;min-width:0;margin:0}.f2-redesign .form-field>span{display:block;font-size:12px;margin-bottom:7px}.f2-redesign .form-field input{width:100%;height:48px;border:1px solid #c5c6c8;border-radius:3px;background:white;color:var(--f2-navy);padding:12px;font:16px Inter,sans-serif;box-shadow:none}.f2-redesign .form-field input::placeholder{color:#727781;font-size:12px}.f2-redesign .radio-group{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 16px;margin:4px 0;padding:0;border:0}.f2-redesign .radio-label{flex-basis:100%;font-size:12px;margin:0}.f2-redesign .radio-option{font-size:12px;display:flex;align-items:center;gap:6px;margin:0;min-height:34px}.f2-redesign .radio-option input{accent-color:var(--f2-navy)}.f2-redesign .lead-form button{grid-column:1/-1;background:var(--f2-navy);border:0;border-radius:2px;color:white;padding:17px;font-size:14px;box-shadow:none;white-space:normal}.f2-redesign :focus-visible{outline:3px solid #b38d53;outline-offset:4px}.f2-footer{background:#09152e;color:#d8dce5;padding:30px 0 40px}.f2-footer .f2-wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-right:65px}.f2-footer p,.f2-footer a{font-size:11px;text-decoration:none}.f2-footer strong{font-size:17px;color:white}.f2-redesign .whatsapp-float{width:54px;height:54px;right:20px;bottom:20px;background:#168553;box-shadow:0 5px 18px #0002;border-radius:50%}.f2-redesign .whatsapp-float svg{width:27px;height:27px}.f2-redesign .video-modal__content{max-height:90vh;max-width:min(450px,45vh)}
@media(max-width:1050px){.f2-wrap{width:calc(100% - 56px)}.f2-nav nav{gap:16px}.f2-nav>a:first-child{width:180px}.f2-nav>.f2-button{padding:13px 16px;gap:10px}.f2-hero-grid,.f2-split,.f2-contact-grid{gap:40px}.f2-hero-art{min-height:480px}.f2-lion{height:350px;left:15px}.f2-section-heading{gap:35px}.f2-form-card{padding:26px}}
@media(max-width:760px){.f2-wrap{width:calc(100% - 40px)}.f2-nav{padding:18px 0;flex-wrap:wrap;gap:16px;min-height:0}.f2-nav>a:first-child{width:154px}.f2-nav>.f2-button{font-size:11px;padding:11px 13px;gap:9px}.f2-nav nav{order:3;width:100%;justify-content:space-between;font-size:11px;border-top:1px solid #101e4215;padding-top:14px;gap:12px}.f2-hero{padding:38px 0}.f2-hero-grid,.f2-split,.f2-section-heading,.f2-contact-grid{grid-template-columns:1fr;gap:35px}.f2-redesign h1{font-size:43px}.f2-redesign h2{font-size:36px}.f2-hero-copy .f2-lead{font-size:19px!important}.f2-hero-copy .f2-button{width:100%}.f2-hero-art{min-height:410px}.f2-lion{height:325px;left:12px;bottom:45px}.f2-admission{left:20px;top:20px}.f2-admission strong{font-size:40px}.f2-admission span{font-size:8px}.f2-monogram{font-size:240px;top:65px}.f2-opening .f2-wrap{grid-template-columns:1fr;gap:10px}.f2-opening{padding:25px 0}.f2-section{padding:60px 0}.f2-section-heading{margin-bottom:25px;gap:22px}.f2-subjects{grid-template-columns:1fr}.f2-subjects article,.f2-subjects article:first-child{padding:22px 0 22px 64px;position:relative;border-right:0;border-bottom:1px solid #101e4225}.f2-subject-icon{position:absolute;top:23px;left:0;width:36px;height:36px}.f2-languages{margin-top:12px}.f2-study img{height:210px;margin:20px auto -10px}.f2-editorial-list article{padding:23px 0}.f2-film{height:410px}.f2-culture .f2-split>div{order:-1}.f2-redesign .miss-faq{padding:60px 20px}.f2-form-card{padding:25px 20px}.f2-contact-copy h2 br{display:none}.f2-contact-copy h2 em:before{content:' '}.f2-contact-person{margin:20px 0}.f2-contact-person img{height:130px;width:100px}.f2-footer .f2-wrap{display:block;padding-right:50px}.f2-footer a{display:inline-block;margin-top:15px}}
@media(max-width:370px){.f2-wrap{width:calc(100% - 32px)}.f2-nav>a:first-child{width:130px}.f2-nav>.f2-button{font-size:10px;padding:10px}.f2-redesign h1{font-size:37px}.f2-redesign .lead-form{grid-template-columns:1fr}.f2-hero-art{min-height:380px}.f2-lion{height:285px}.f2-admission strong{font-size:35px}}
.f2-redesign .miss-faq-contact{color:#fff}.f2-redesign .radio-label{background:transparent;border:0;padding:0;box-shadow:none}
@media(max-width:540px){.f2-redesign .lead-form{grid-template-columns:1fr}.f2-redesign .f2-form-card>h3{font-size:27px;line-height:1.3}}

/* Abertura com mascote livre e selo de matrículas */
.f2-hero-art.f2-hero-art--open{background:transparent;min-height:540px;overflow:visible;border-radius:0;isolation:isolate}
.f2-hero-halo{position:absolute;width:85%;aspect-ratio:1;left:5%;bottom:24px;border-radius:50%;background:radial-gradient(circle at 45% 40%,#e9e0ce 0%,#eee9dc 48%,#f7f5ee 72%);z-index:-1}
.f2-hero-art--open .f2-lion{height:440px;width:100%;left:-5%;bottom:0;object-fit:contain;filter:drop-shadow(0 20px 15px #101e4212)}
.f2-enrolment-seal{position:absolute;right:0;top:8px;z-index:2;width:158px;height:158px;border:1px solid #aa8854;border-radius:50%;background:#f7f5ee;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;box-shadow:inset 0 0 0 6px #f7f5ee,inset 0 0 0 7px #aa885433;color:#101e42}
.f2-enrolment-seal span{font-size:8px;font-weight:500;letter-spacing:.12em;line-height:1.4}
.f2-enrolment-seal strong{font-family:'Playfair Display',Georgia,serif;font-size:46px;font-weight:400;line-height:1.1;letter-spacing:-.04em}
.f2-hero:has(.f2-hero-art--open){border-bottom:1px solid #101e4215}
@media(min-width:761px) and (max-width:1050px){.f2-hero-art.f2-hero-art--open{min-height:490px}.f2-hero-art--open .f2-lion{height:360px}.f2-enrolment-seal{width:133px;height:133px;top:0}.f2-enrolment-seal strong{font-size:40px}.f2-enrolment-seal span{font-size:7px}}
@media(max-width:760px){.f2-hero-art.f2-hero-art--open{min-height:400px;max-width:430px;width:100%;margin:auto}.f2-hero-art--open .f2-lion{height:340px;left:-6%;bottom:0}.f2-enrolment-seal{width:126px;height:126px;top:0;right:0;gap:5px}.f2-enrolment-seal strong{font-size:38px}.f2-enrolment-seal span{font-size:6.5px}.f2-hero-halo{bottom:5px;width:90%;left:0}}
@media(max-width:370px){.f2-hero-art.f2-hero-art--open{min-height:355px}.f2-hero-art--open .f2-lion{height:290px}.f2-enrolment-seal{width:115px;height:115px}.f2-enrolment-seal strong{font-size:35px}}

.f2-hero-flags{display:flex;align-items:center;gap:12px;margin-top:18px}.f2-hero-flags svg{display:block;width:32px;height:22px;border-radius:2px;box-shadow:0 1px 3px #101e4212}

/* Crédito idêntico ao da página principal; logo branca no fundo escuro. */
.f2-footer .developer-credit{display:flex;align-items:center;gap:12px;font-size:10px;flex-shrink:0}
.f2-footer .developer-credit img{width:85px;height:29px;object-fit:contain;filter:brightness(0) invert(1);opacity:.75}
@media(max-width:760px){.f2-footer{padding-bottom:100px}.f2-footer .f2-wrap{padding-right:0}.f2-footer .developer-credit{display:flex;margin-top:15px}}

.f2-footer a.developer-credit{display:inline-flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;width:max-content;max-width:100%;gap:12px;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:400;line-height:1.6;white-space:nowrap}.f2-footer a.developer-credit img{display:block;flex:0 0 85px;width:85px;max-width:none;height:29px;object-fit:contain;margin:0;padding:0}

/* Leitura e alinhamento exclusivos para celulares. */
@media(max-width:600px){
  .f2-redesign main section{text-align:center}
  .f2-redesign .f2-hero-copy>p:not(.f2-kicker),.f2-redesign .f2-section-heading>p,.f2-redesign .f2-editorial-list p,.f2-redesign .f2-culture p:not(.f2-kicker),.f2-redesign .f2-contact-copy>p:not(.f2-kicker),.f2-redesign .miss-faq-intro>p:not(.miss-faq-kicker),.f2-redesign .miss-faq-answer p,.f2-redesign .miss-faq-invitation p{font-size:16px;line-height:1.75}
  .f2-redesign .f2-hero-copy .f2-note{font-size:13px!important;line-height:1.65}
  .f2-redesign .f2-hero-copy .f2-lead{font-size:20px!important;line-height:1.5}
  .f2-redesign .f2-hero-copy>p,.f2-redesign .f2-contact-copy>p{margin-left:auto;margin-right:auto}
  .f2-hero-flags,.f2-contact-person,.f2-redesign .miss-faq-person{justify-content:center}
  .f2-redesign .f2-kicker,.f2-redesign .miss-faq-kicker{font-size:11px;line-height:1.6;letter-spacing:1.2px}
  .f2-redesign .f2-text-link,.f2-redesign .f2-button,.f2-redesign .miss-faq-contact{font-size:14px}
  .f2-redesign .f2-subjects article,.f2-redesign .f2-subjects article:first-child{padding:25px 0}
  .f2-redesign .f2-subject-icon{position:static;margin:0 auto 15px}.f2-redesign .f2-subjects p{font-size:16px}.f2-redesign .f2-languages{font-size:11px}
  .f2-redesign .f2-editorial-list article{display:block}.f2-redesign .f2-editorial-list article>span{display:block;margin-bottom:8px;font-size:13px}
  .f2-redesign .f2-editorial-list h3{font-size:21px;line-height:1.4}
  .f2-redesign .miss-faq-invitation{align-items:center}.f2-redesign .miss-faq-item summary{font-size:16px;line-height:1.6;text-align:center}
  .f2-redesign .miss-faq-item summary>span:first-child{flex:1}.f2-redesign .miss-faq-plus{flex-shrink:0}.f2-redesign .miss-faq-answer{padding-right:0}
  .f2-redesign .f2-form-card{text-align:left}.f2-redesign .f2-form-card>h3,.f2-redesign .f2-form-card>p{text-align:center}
  .f2-redesign .f2-form-card>p{font-size:14px;line-height:1.6}.f2-redesign .form-field>span,.f2-redesign .radio-label,.f2-redesign .radio-option{font-size:14px}
  .f2-redesign .form-field input::placeholder{font-size:14px}.f2-redesign .form-field input{font-size:16px}.f2-redesign .lead-form button{font-size:16px}
  .f2-redesign .f2-footer{text-align:center}.f2-redesign .f2-footer p{font-size:13px;line-height:1.7}
}
@media(max-width:600px){.f2-redesign .f2-nav{justify-content:center}.f2-redesign .f2-nav>.f2-button{justify-content:center}.f2-redesign .f2-hero-copy .f2-button{justify-content:center}.f2-redesign .f2-contact-person{text-align:center}}
