/*
 Niko Niko Gakuen + Sora Gakuen | CSS global do site.
 Editar visual geral nesta folha; estilos específicos das subpáginas em assets/*.css.
*/

:root{--red:#e52438;--red-dark:#bf162a;--yellow:#ffcc30;--blue:#0964c9;--navy:#103460;--ink:#18304e;--muted:#556880;--cream:#fffcf4;--light:#f4f9ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;color:var(--ink);line-height:1.55;background:white}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ffc400;outline-offset:4px}.container{max-width:1180px;padding:0 24px;margin:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:50px;padding:13px 24px;font-weight:800;font-size:14px;transition:transform .2s ease}.btn:hover{transform:translateY(-2px)}.red{background:var(--red);color:white}.blue{background:var(--blue);color:white}.white{background:white;color:var(--red)}.outline{border:2px solid #cedff3;color:var(--blue);background:#fff}
header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:50;border-bottom:1px solid #e6edf3;box-shadow:0 4px 15px #163f6610}header .top{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:flex;align-items:center;gap:10px}.logo img{width:57px;height:57px;object-fit:contain}.logo strong{display:block;font-size:19px;color:var(--red);line-height:1.2}.logo span{font-size:10px;color:var(--navy);letter-spacing:2px;font-weight:700;text-transform:uppercase}nav{display:flex;gap:25px;align-items:center}nav a{font-size:13px;font-weight:700;color:var(--navy)}nav a:hover{color:var(--red)}
.hero{background:radial-gradient(circle at 87% 16%,#f7df8f 0%,transparent 22%),linear-gradient(110deg,#e9f5ff 3%,#fefefe 55%,#fff5ce 100%);position:relative;overflow:hidden;padding:48px 0 50px}.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:45px}.eyebrow{display:inline-block;background:white;border:1px solid #dfeaf9;color:var(--blue);border-radius:100px;font-weight:800;font-size:12px;padding:8px 17px;margin-bottom:19px}h1,h2,h3{letter-spacing:-.035em;line-height:1.13;margin:0}h1{font-size:clamp(38px,4.9vw,65px);color:var(--navy)}h1 span{color:var(--red)}h1 em{font-style:normal;color:var(--blue)}.hero p{color:#475d79;font-size:18px;max-width:530px;margin:25px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.hero-notes{display:flex;gap:13px;flex-wrap:wrap;margin-top:25px;font-size:12px;font-weight:750;color:#3f5a78}.hero-notes span{background:white;padding:7px 11px;border-radius:100px}.hero-photo{position:relative;min-height:520px;display:grid;place-items:center}.hero-photo:before{content:'';position:absolute;inset:40px 12px 30px 10px;background:var(--yellow);border-radius:45% 55% 37% 63%/55% 44% 56% 45%;transform:rotate(-5deg)}.hero-photo img{height:495px;width:390px;max-width:86%;object-fit:cover;object-position:50% 47%;position:relative;box-shadow:0 20px 50px #163d6940;border:8px solid white;border-radius:35px;transform:rotate(2deg)}.bubble{position:absolute;right:0;top:25px;background:white;padding:16px 21px;border-radius:22px;box-shadow:0 14px 35px #11376025;font-weight:900;color:var(--red);font-size:20px;max-width:195px;text-align:center;transform:rotate(4deg)}
.section{padding:76px 0}.section.soft{background:#f8fbff}.section.cream{background:#fffaf0}.sec-heading{text-align:center;max-width:770px;margin:0 auto 32px}.sec-heading small{color:var(--red);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:2px}.sec-heading h2{font-size:clamp(30px,3.6vw,43px);color:var(--navy);margin:12px 0}.sec-heading p{color:var(--muted);font-size:16px;margin:0}
.school-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.school{border-radius:29px;padding:31px;display:grid;grid-template-columns:1fr;gap:14px;border:1px solid #e6ecf5;box-shadow:0 12px 32px #1f3b5a12}.school.niko{background:linear-gradient(130deg,#fff2f3,white)}.school.sora{background:linear-gradient(135deg,#edf7ff,white)}.school .mark{display:inline-flex;align-items:center;gap:9px;font-weight:900;color:var(--red);font-size:24px}.school.sora .mark{color:var(--blue)}.school .mark .symbol{font-size:34px}.school h3{font-size:22px;color:var(--navy)}.school p{color:var(--muted);font-size:15px;margin:0}.school ul{margin:5px 0 13px;padding-left:21px;color:#3f526e;font-size:14px;line-height:1.9}.school .btn{justify-self:start}.school small{color:#586c84}
.benefits{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px}.benefit{text-align:center;background:white;border:1px solid #eaf0f7;border-radius:22px;padding:25px 19px}.benefit .ico{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:#fff0c8;font-size:28px;margin:0 auto 12px}.benefit h3{font-size:16px;color:var(--navy);margin:0 0 8px}.benefit p{font-size:13px;color:var(--muted);margin:0}
.two-col{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:60px}.two-col h2{font-size:39px;color:var(--navy)}.two-col p{color:var(--muted);font-size:16px;line-height:1.8}.address-card{background:white;border-radius:26px;border:1px solid #e1e9f1;padding:29px;box-shadow:0 15px 35px #19486e12}.address-card h3{font-size:23px;color:var(--navy);margin-bottom:16px}.address-card p{margin:12px 0;color:#3c556f}.address-card .links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.address-card .address-line{font-weight:800;color:#194464}
.cta-banner{background:linear-gradient(110deg,#bf142a,#e7293e 55%,#fc5260);color:white;padding:59px 0}.cta-banner .cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.cta-banner h2{font-size:39px;max-width:710px}.cta-banner p{margin:13px 0 0;font-size:16px;color:#fff4f1}footer{background:#102f5a;color:white;padding:46px 0 27px}footer .foot-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:30px}footer strong{font-size:18px}footer p{color:#d0dded;font-size:13px}footer a{display:block;margin:9px 0;color:#eff5ff;font-size:13px}footer a:hover{text-decoration:underline}.bottom{margin-top:30px;border-top:1px solid #426184;padding-top:17px;color:#becce1;font-size:12px}.wa-float{position:fixed;right:23px;bottom:23px;z-index:999;display:inline-flex;align-items:center;gap:10px;background:#16a34a;color:white;border:2px solid white;border-radius:999px;padding:13px 19px;font:700 15px/1.2 system-ui,sans-serif;box-shadow:0 8px 28px rgba(6,73,35,.28);transition:transform .2s ease}.wa-float:hover{transform:translateY(-3px);background:#12813c}.wa-float svg{width:27px;height:27px;fill:white}.wa-float:focus-visible{outline:3px solid #fcd34d;outline-offset:4px}
@media(max-width:1050px){nav{gap:14px}nav a{font-size:12px}.hero-grid{gap:15px}.hero-photo{min-height:450px}.hero-photo img{height:420px}.bubble{top:18px}}
@media(max-width:800px){header .top{min-height:72px}nav{display:none}.logo strong{font-size:15px}.logo img{width:45px;height:45px}header .btn{font-size:12px;padding:11px 14px}.hero-grid,.two-col{grid-template-columns:1fr}.hero-photo{min-height:370px;margin-top:18px}.hero-photo img{height:360px;width:310px}.hero{padding:38px 0}.hero-grid{gap:0}.benefits{grid-template-columns:repeat(2,1fr)}.cta-banner .cta-inner{flex-direction:column;align-items:flex-start}.foot-grid{grid-template-columns:1fr 1fr!important}}
@media(max-width:580px){.container{padding:0 16px}h1{font-size:39px}.hero p{font-size:16px}.section{padding:55px 0}.school-grid,.benefits,.foot-grid{grid-template-columns:1fr!important}.bubble{right:0;font-size:15px;max-width:150px}.two-col h2,.cta-banner h2{font-size:30px}.hero-notes{gap:6px}.hero-notes span{font-size:11px}.wa-float{right:14px;bottom:14px;padding:13px;width:59px;height:59px;justify-content:center}.wa-float .wa-text{display:none}.wa-float svg{width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.wa-float{transition:none}}


/* Formulário de encaminhamento ao WhatsApp */
/* Modal de captação Niko Niko / Sora — integrado aos links wa.me existentes. */
.niko-lead-backdrop{position:fixed;inset:0;z-index:2000;background:rgba(10,28,54,.72);display:flex;justify-content:center;align-items:center;padding:16px}
.niko-lead-backdrop[hidden]{display:none}
.niko-lead-dialog{width:min(100%,520px);max-height:min(94vh,820px);overflow-y:auto;background:white;color:#18304e;border-radius:22px;box-shadow:0 18px 80px #0005;padding:28px;position:relative;font:15px/1.5 system-ui,-apple-system,'Segoe UI',sans-serif}
.niko-lead-close{position:absolute;right:15px;top:12px;border:0;background:#eef3fa;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer;color:#18304e}
.niko-lead-dialog h2{font-size:26px;line-height:1.12;color:#103460;margin:5px 32px 10px 0}
.niko-lead-dialog p{color:#53677e;margin:0 0 17px;font-size:14px}
.niko-lead-field{display:block;margin-top:13px;font-size:13px;font-weight:750}
.niko-lead-field input,.niko-lead-field select,.niko-lead-field textarea{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #c9d5e6;border-radius:10px;font:inherit;margin-top:5px;background:#fff;color:#18304e}
.niko-lead-field textarea{min-height:72px;resize:vertical}
.niko-lead-consent{display:flex;gap:10px;margin:17px 0 6px;font-size:12px;color:#516178;align-items:start}
.niko-lead-consent input{margin-top:3px;accent-color:#e52438;min-width:16px;min-height:16px}
.niko-lead-submit{width:100%;border:0;background:#16a34a;color:#fff;border-radius:13px;padding:15px;font:800 15px/1.2 system-ui,sans-serif;margin-top:14px;cursor:pointer}
.niko-lead-submit[disabled]{opacity:.62;cursor:wait}
.niko-lead-notice{font-size:12px;color:#697b8d;margin-top:10px}
.niko-lead-hp{position:absolute;left:-10000px;opacity:0;pointer-events:none}
@media(max-width:480px){.niko-lead-dialog{padding:22px 18px}.niko-lead-dialog h2{font-size:23px}}

/* Acessibilidade e compatibilidade */
:focus-visible { outline:3px solid #f5c62f; outline-offset:3px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
