/* A abertura se ajusta ao conteúdo e à altura do computador. O celular mantém seu layout. */
@media(min-width:901px){
  .hero,.segment-infantil .hero{height:auto;min-height:min(1000px,calc(100svh - var(--header)));max-height:none}
  .hero-inner{height:auto;min-height:min(1000px,calc(100svh - var(--header)))}
  .hero-copy{min-width:0;padding-bottom:65px}
  .hero-scroll{bottom:20px}
}
@media(min-width:901px) and (max-height:850px){
  .hero-copy{padding:clamp(20px,3.5svh,35px) 0 58px}
  .hero .segment-signature{margin-bottom:18px}
  .hero .eyebrow{margin-bottom:18px}
  .segment-infantil .hero h1{font-size:clamp(44px,min(6vw,8.75svh),82px)}
  .segment-fundamental .hero h1{font-size:clamp(44px,min(6.5vw,8.75svh),85px)}
  .segment-medio .hero h1{font-size:clamp(44px,min(6.1vw,8.65svh),82px)}
  .segment-pre-vestibular .hero.pv-hero h1{font-size:clamp(43px,min(5.65vw,9.1svh),79px)}
  .hero .hero-description{font-size:clamp(16px,1.3vw,18px);line-height:1.55;margin-top:20px}
  .hero .hero-actions{margin-top:23px;gap:14px;align-items:center}
  .hero-actions .button{font-size:13px;min-height:54px;padding:0 20px;gap:16px}
  .hero-actions .text-link{font-size:11px;min-height:38px;gap:7px}
  .hero .hero-note{margin-top:12px}
}
@media(min-width:901px) and (max-height:650px){
  .hero-copy{padding-top:18px;padding-bottom:48px}
  .hero .segment-signature{margin-bottom:12px}
  .hero .eyebrow{margin-bottom:14px}
  .segment-infantil .hero h1,.segment-fundamental .hero h1,.segment-medio .hero h1{font-size:clamp(38px,min(5.9vw,8svh),55px)}
  .segment-pre-vestibular .hero.pv-hero h1{font-size:clamp(38px,min(5.4vw,9svh),60px)}
  .hero .hero-description{margin-top:16px}
  .hero .hero-actions{margin-top:18px}
  .hero .hero-note{font-size:10px;margin-top:10px}
  .hero-scroll{bottom:15px;font-size:9px}
}

/* Visível apenas quando o pequeno script de carregamento está ativo. */
.page-loader{display:none;position:fixed;inset:0;z-index:1000;place-items:center;padding:30px;background:#031e3a;color:#fff;isolation:isolate;opacity:1;transition:opacity .36s ease,visibility .36s ease;font-family:Manrope,Arial,sans-serif}
.page-loader::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 41%,#0b436a80,transparent 57%)}
.page-loading .page-loader,.page-entering .page-loader,.form-submitting .page-loader{display:grid}
.form-submitting .page-loader{opacity:1;visibility:visible;pointer-events:auto;transition:none}
.page-loading,.form-submitting{overflow:hidden}
.page-entering .page-loader{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{text-align:center;max-width:420px}
.loader-symbol{position:relative;width:148px;height:148px;display:grid;place-items:center;margin:0 auto 30px}
.loader-symbol img{width:88px;height:52px;object-fit:contain;position:relative;z-index:2;animation:loader-form 1.85s ease-in-out infinite;filter:drop-shadow(0 0 16px #ffcf0026)}
.loader-orbit{position:absolute;inset:0;border:1px solid #ffffff15;border-top-color:#ffcf00;border-right-color:#ffcf0055;border-radius:50%;animation:loader-orbit 2.2s linear infinite}
.loader-halo{position:absolute;inset:10px;border:1px solid #ffcf0018;border-radius:50%;animation:loader-halo 1.85s ease-in-out infinite}
.loader-title{font-size:23px;font-weight:650;letter-spacing:-.035em;line-height:1.3}
.loader-description{font-size:12px;color:#afc5d8;margin-top:11px;line-height:1.6}
.loader-line{display:block;position:relative;overflow:hidden;width:84px;height:2px;margin:25px auto 0;background:#ffffff14;border-radius:99px}
.loader-line::after{content:"";position:absolute;inset:0;background:#ffcf00;transform-origin:left;animation:loader-line 1.85s ease-in-out infinite}
@keyframes loader-form{0%,100%{opacity:.55;transform:scale(.94);filter:blur(1px) drop-shadow(0 0 10px #ffcf0026)}50%{opacity:1;transform:scale(1);filter:blur(0) drop-shadow(0 0 20px #ffcf0033)}}
@keyframes loader-orbit{to{transform:rotate(360deg)}}
@keyframes loader-halo{0%,100%{opacity:.45;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}
@keyframes loader-line{0%{transform:translateX(-100%)}55%{transform:translateX(0)}100%{transform:translateX(100%)}}
@media(max-width:600px){.loader-symbol{width:128px;height:128px;margin-bottom:27px}.loader-symbol img{width:78px;height:46px}.loader-title{font-size:21px}.loader-description{font-size:11px}}
@media(prefers-reduced-motion:reduce){.page-loader{transition:none}.loader-symbol img,.loader-orbit,.loader-halo,.loader-line::after{animation:none;filter:none}.loader-line::after{transform:none}}
