:root{
  --blue:#2F40FA; --amber:#E89C24; --ink:#0f172a; --muted:#475569;
  --bg:#f9f9f9; --card:#fff; --bd:#e6e9f8; --err:#dc2626; --ok:#10b981;
}

/* base */
*{ box-sizing:border-box; }
body{ margin:0; font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial; color:var(--ink); background:#fff; }

/* hero */
.al-hero{ background:linear-gradient(90deg,var(--blue),#3d52ff); color:#fff; }
.al-hero__wrap{ width:min(1200px,92vw); margin-inline:auto; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding:60px 0; }
.al-hero__text h1{ font-size:clamp(26px,2vw,36px); margin:0 0 10px; font-weight:900; letter-spacing:-.02em; }
.al-hero__text p{ font-size:clamp(15px,1.2vw,18px); opacity:.95; margin:0; }
.al-hero__img{ text-align:center; }
.al-hero__img img{ width:min(360px, 80%); justify-self: center; height:auto; filter:drop-shadow(0 10px 25px rgba(0,0,0,.18)); }
@media (max-width:900px){ .al-hero__wrap{ grid-template-columns:1fr; text-align:center; } }

/* form card */
.al-form{ background:var(--bg); padding:60px 16px; }
.al-card{ width:min(760px,92vw); margin:0 auto; background:var(--card); border:1px solid var(--bd); border-radius:20px; box-shadow:0 16px 50px rgba(0,0,0,.06); padding:28px; }
.al-card h2{ text-align:center; font-size:clamp(22px,1.6vw,28px); margin:6px 0 4px; font-weight:900; }
.al-sub{ text-align:center; color:var(--muted); margin:0 0 18px; }

/* fields */
.fg{ margin-bottom:16px; }
.fg label{ display:block; font-weight:700; margin:0 0 6px; }
.fg input,.fg select{
  height:46px; border:1px solid var(--bd); border-radius:12px; padding:0 12px; font-size:16px; outline:none;
  background:#fff; transition:border-color .15s ease, box-shadow .15s ease;
}
.fg input:focus,.fg select:focus{ border-color:#cdd3ff; box-shadow:0 0 0 3px rgba(47,64,250,.12); }
.fg--check{ display:flex; align-items:center; gap:10px; }
.fg .err{ display:block; color:var(--err); min-height:18px; font-size:12px; padding-top:4px; }

/* invalid/valid */
.fg.is-invalid input,.fg.is-invalid select{ border-color: var(--err); box-shadow:0 0 0 3px rgba(220,38,38,.12); }
.fg.is-valid input,.fg.is-valid select{ border-color: rgba(16,185,129,.6); }

/* button */
.btn{
  width:100%; height:48px; border:0; border-radius:12px; font-size:16px; font-weight:900; cursor:not-allowed;
  background:linear-gradient(90deg,var(--amber),#f0a63c); color:#fff; box-shadow:0 10px 18px rgba(232,156,36,.22); transition:filter .2s ease, transform .08s ease;
}
.btn:is(:hover,:focus-visible){ filter:brightness(1.03); }
.btn:active{ transform:translateY(1px); }
.btn[disabled]{ opacity:.6; }

/* note & toast */
.form-note{ text-align:center; color:#64748b; font-size:12px; margin:12px 0 0; }
.toast{ position:fixed; left:50%; bottom:40px; transform:translateX(-50%); background:var(--blue); color:#fff; border-radius:999px; padding:12px 18px; opacity:0; pointer-events:none; transition:.3s; font-weight:800; }
.toast.show{ opacity:1; }

/* group hidden */
#grupo-escola[hidden]{ display:none !important; }
