/* Prof. Dr. João Oliveira — style.css v5 — FUNDO CLARO TOTAL */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400;1,600&family=Raleway:wght@300;400;500;600;700&display=swap');

:root {
  --navy:    #0B1C2E;
  --navy2:   #1e3a5a;
  --gold:    #B8965A;
  --goldlt:  #D4AE78;
  --goldpal: #FBF5EA;
  --cream:   #F5EFE6;
  --cream2:  #EDE5D8;
  --white:   #FFFFFF;
  --off:     #FDFCFA;
  --border:  #E2D9CC;
  --t1:      #111827;
  --t2:      #374151;
  --t3:      #6B7280;
  --fd: 'Cormorant Garamond', Georgia, serif;
  --fb: 'Raleway', sans-serif;
  --r: 6px;
  --tr: all .32s cubic-bezier(.4,0,.2,1);
  --s1: 0 1px 8px rgba(11,28,46,.07);
  --s2: 0 6px 28px rgba(11,28,46,.12);
  --s3: 0 20px 60px rgba(11,28,46,.18);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:19px}
body{font-family:var(--fb);background:var(--off);color:var(--t1);line-height:1.75;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul{list-style:none}

.wrap{width:90%;max-width:1200px;margin:0 auto}
.lbl{font-family:var(--fb);font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.9rem}
.ttl{font-family:var(--fd);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:500;line-height:1.15;color:var(--navy)}
.ttl.w{color:var(--white)}
.bar{width:52px;height:2px;background:var(--gold);margin:1.4rem 0}
.bar.c{margin:1.4rem auto}
.btn{display:inline-block;font-family:var(--fb);font-size:.78rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;padding:.9rem 2.2rem;border:none;cursor:pointer;transition:var(--tr);border-radius:var(--r);line-height:1}
.bg{background:var(--gold);color:var(--navy)}
.bg:hover{background:var(--goldlt);transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,150,90,.35)}
.bo{background:transparent;color:var(--white);border:1.5px solid rgba(255,255,255,.35)}
.bo:hover{border-color:var(--gold);color:var(--gold)}
.bn{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}
.bn:hover{background:var(--navy);color:var(--white)}

/* TOP BAR */
#tb{background:var(--navy);padding:.6rem 0;font-size:.78rem;font-weight:500;color:rgba(255,255,255,.6)}
#tb .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
#tb .crp{color:var(--gold);font-weight:700}
#tb a{transition:var(--tr)}
#tb a:hover{color:var(--gold)}
.wl{display:flex;align-items:center;gap:.4rem}

/* NAVBAR */
#nav{position:sticky;top:0;z-index:1000;background:rgba(11,28,46,.97);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,150,90,.18);transition:var(--tr)}
#nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:2rem}
.logo{font-family:var(--fd);font-size:1.35rem;font-weight:600;color:var(--white);letter-spacing:.03em;white-space:nowrap}
.logo span{color:var(--gold)}
.nl{display:flex;gap:2rem;align-items:center}
.nl a{font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);transition:var(--tr);position:relative;padding-bottom:3px}
.nl a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--gold);transition:width .3s ease}
.nl a:hover{color:var(--gold)}
.nl a:hover::after{width:100%}
.hb{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px;background:none;border:none}
.hb span{display:block;width:24px;height:2px;background:var(--white);transition:var(--tr)}
.hb.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hb.on span:nth-child(2){opacity:0}
.hb.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mob{display:none;flex-direction:column;background:var(--navy2);border-top:1px solid rgba(184,150,90,.18)}
.mob.on{display:flex}
.mob a{padding:1rem 5%;font-size:.88rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.05);transition:var(--tr)}
.mob a:hover{color:var(--gold);padding-left:7%}

/* ── HERO — fundo claro, luminoso ── */
#hero{
  min-height:100vh;
  background: linear-gradient(160deg, #3d6fa8 0%, #2a5490 50%, #1e3f72 100%);
  display:flex;align-items:center;position:relative;overflow:hidden
}
#hero::before{
  content:'';position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 70% at 80% 40%, rgba(184,150,90,.22) 0%, transparent 60%),
    radial-gradient(ellipse 40% 50% at 10% 80%, rgba(30,80,120,.5) 0%, transparent 55%);
}
#hero::after{
  content:'';position:absolute;inset:0;
  background-image:linear-gradient(rgba(184,150,90,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(184,150,90,.06) 1px,transparent 1px);
  background-size:80px 80px
}
.hw{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:3.5rem 0 5rem}
.hey{display:inline-flex;align-items:center;gap:.7rem;font-size:.72rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem}
.hey::before{content:'';width:30px;height:1px;background:var(--gold)}
.htl{font-family:var(--fd);font-size:clamp(3rem,5.5vw,5rem);font-weight:400;line-height:1.08;color:var(--white);margin-bottom:1.4rem}
.htl em{font-style:italic;color:var(--gold)}
.hsb{font-size:1.05rem;font-weight:300;color:rgba(255,255,255,.7);line-height:1.82;max-width:500px;margin-bottom:2.4rem}
.hac{display:flex;gap:1rem;flex-wrap:wrap}
.hcr{display:flex;flex-direction:column;gap:.6rem;margin-top:2.8rem;padding-top:1.8rem;border-top:1px solid rgba(184,150,90,.2)}
.hcr span{font-size:.8rem;font-weight:500;letter-spacing:.06em;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:.6rem}
.hcr span::before{content:'';width:18px;height:1px;background:var(--gold);flex-shrink:0}
.hvi{display:flex;justify-content:center;align-items:flex-end}
.hfr{position:relative;width:100%;max-width:420px}
.hfr::before{content:'';position:absolute;top:-22px;right:-22px;width:100%;height:100%;border:1.5px solid rgba(184,150,90,.3);border-radius:var(--r);z-index:0}
.hph{width:100%;aspect-ratio:3/4;border-radius:var(--r);position:relative;z-index:1;overflow:hidden}
.hph img{width:100%;height:100%;object-fit:cover;object-position:top}
.hbg{position:absolute;bottom:-16px;left:-16px;z-index:2;background:var(--gold);color:var(--navy);padding:1.2rem 1.5rem;border-radius:var(--r);text-align:center;box-shadow:var(--s2)}
.hbg strong{display:block;font-family:var(--fd);font-size:2.5rem;font-weight:600;line-height:1}
.hbg span{font-size:.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;opacity:.75}

/* MÍDIA */
#mid{background:var(--cream);padding:1.8rem 0;border-bottom:1px solid var(--border)}
#mid .wrap{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
.mlbl{font-size:.7rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--t3);white-space:nowrap}
.msep{width:1px;height:28px;border-left:1px solid var(--border)}
.mlog{display:flex;align-items:center;gap:2.5rem;flex-wrap:wrap}
.mit{font-family:var(--fd);font-size:1.15rem;font-weight:500;color:rgba(11,28,46,.3);transition:var(--tr)}
.mit:hover{color:var(--navy)}

/* SOBRE — branco */
#sobre{padding:7rem 0;background:var(--white)}
.sg{display:grid;grid-template-columns:1fr 1fr;gap:6rem;align-items:start}
.sph{position:relative}
.spi{width:100%;aspect-ratio:4/5;border-radius:var(--r);overflow:hidden}
.spi img{width:100%;height:100%;object-fit:cover;object-position:center top}
.sacc{position:absolute;bottom:-20px;right:-20px;width:60%;height:60%;border:2px solid var(--cream2);border-radius:var(--r);z-index:-1}
.sbio{font-size:1.08rem;color:var(--t2);line-height:1.9;margin-bottom:1.3rem}
.sbio strong{color:var(--navy);font-weight:600}
.sst{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:2.4rem 0;padding:2rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.ssti{text-align:center}
.sstn{font-family:var(--fd);font-size:2.9rem;font-weight:600;color:var(--navy);line-height:1;display:block}
.sstl{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-top:.4rem;display:block}
.scr{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem;color:var(--t2);line-height:1.5;margin-bottom:.85rem}
.sdt{width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:.4rem}

/* ESPECIALIDADES — cream */
#esp{padding:7rem 0;background:var(--cream)}
.ehd{text-align:center;margin-bottom:4rem}
.egr{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.ecd{background:var(--white);border-radius:var(--r);padding:2.5rem 2rem;border:1px solid var(--border);transition:var(--tr);position:relative;overflow:hidden}
.ecd::after{content:'';position:absolute;bottom:0;left:0;width:0;height:3px;background:var(--gold);transition:width .4s ease}
.ecd:hover{box-shadow:var(--s2);transform:translateY(-4px)}
.ecd:hover::after{width:100%}
.eic{width:54px;height:54px;background:var(--goldpal);border-radius:var(--r);display:flex;align-items:center;justify-content:center;margin-bottom:1.4rem;font-size:1.5rem}
.ett{font-family:var(--fd);font-size:1.45rem;font-weight:500;color:var(--navy);margin-bottom:.7rem;line-height:1.3}
.ede{font-size:.97rem;color:var(--t2);line-height:1.85}

/* MENTORIAS — branco */
#ment{padding:7rem 0;background:var(--white)}
.mhd{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:end;margin-bottom:4rem}
.mhd p{font-size:1.02rem;color:var(--t2);line-height:1.85}
.mgr{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.mcd{background:var(--off);border-radius:var(--r);overflow:hidden;box-shadow:var(--s1);transition:var(--tr);display:flex;flex-direction:column;border:1px solid var(--border)}
.mcd:hover{box-shadow:var(--s2);transform:translateY(-5px)}
.mtp{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border);background:var(--cream)}
.mtg{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.7rem}
.mtt{font-family:var(--fd);font-size:1.5rem;font-weight:500;color:var(--navy);line-height:1.3}
.mbd{padding:1.5rem 2rem 2rem;flex:1;display:flex;flex-direction:column}
.mde{font-size:.97rem;color:var(--t2);line-height:1.85;margin-bottom:1.5rem;flex:1}
.mct{display:inline-flex;align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;background:var(--navy);color:var(--white);padding:.75rem 1.4rem;border-radius:var(--r);transition:var(--tr);align-self:flex-start}
.mct::after{content:'→';transition:transform .2s ease}
.mcd:hover .mct{background:var(--gold);color:var(--navy)}
.mcd:hover .mct::after{transform:translateX(4px)}

/* LIVROS — cream (não mais escuro) */
#lv{padding:7rem 0;background:var(--cream)}
.lvhd{text-align:center;margin-bottom:4rem}
.lvsb{color:var(--t3);font-size:.97rem;max-width:520px;margin:.5rem auto 0;line-height:1.8}
.lvgr{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5rem}
.lvcd{transition:var(--tr)}
.lvcd:hover{transform:translateY(-6px)}
.lvwr{position:relative}
.lvim{aspect-ratio:2/3;border-radius:var(--r);overflow:hidden;margin-bottom:.9rem;box-shadow:var(--s3)}
.lvim img{width:100%;height:100%;object-fit:cover}
.lved{position:absolute;top:.7rem;right:.7rem;background:var(--gold);color:var(--navy);font-size:.6rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.3rem .6rem;border-radius:3px}
.lvnm{font-family:var(--fd);font-size:1rem;font-weight:500;color:var(--navy);line-height:1.4}

/* DEPOIMENTOS — branco */
#dep{padding:7rem 0;background:var(--white)}
.dhd{text-align:center;margin-bottom:4rem}
.dgr{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.dcd{background:var(--off);border-radius:var(--r);padding:2.2rem;box-shadow:var(--s1);border:1px solid var(--border);position:relative}
.dst{color:var(--gold);font-size:1rem;margin-bottom:.9rem;letter-spacing:.1em}
.dtx{font-family:var(--fd);font-size:1.22rem;font-style:italic;color:var(--t2);line-height:1.75;margin-bottom:1.4rem}
.dau{display:flex;align-items:center;gap:.75rem;padding-top:1.1rem;border-top:1px solid var(--border)}
.dav{width:44px;height:44px;border-radius:50%;background:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:1.2rem;font-weight:600;color:var(--navy);flex-shrink:0;border:2px solid var(--border)}
.dnm{font-size:.88rem;font-weight:700;color:var(--navy);display:block}
.drl{font-size:.77rem;color:var(--t3);display:block}
.dbg{position:absolute;top:1.1rem;right:1.1rem;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);background:var(--goldpal);padding:.25rem .5rem;border-radius:3px}
.dst2{display:inline-flex;align-items:center;gap:2.5rem;background:var(--white);padding:2rem 2.5rem;border-radius:var(--r);box-shadow:var(--s2);border:1px solid var(--border);flex-wrap:wrap;justify-content:center;margin-top:3rem}
.ds2n{font-family:var(--fd);font-size:2.8rem;font-weight:600;color:var(--navy);line-height:1}
.ds2s{color:var(--gold);font-size:.95rem;letter-spacing:.1em;display:block}
.ds2l{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t3);margin-top:.35rem;display:block}
.dsep{width:1px;height:55px;background:var(--border)}

/* BANNER TURMAS — overlay mais claro */
#bnt{overflow:hidden;background:var(--cream)}
#bnt img{width:100%;display:block;max-height:460px;object-fit:cover;object-position:center top}
#bnt .ov{position:absolute;inset:0;background:linear-gradient(to right,rgba(11,28,46,.72) 0%,rgba(11,28,46,.15) 55%,transparent 100%);display:flex;align-items:center}
#bnt .rel{position:relative}

/* AGENDAMENTO — branco absoluto */
#ag{padding:7rem 0;background:var(--white)}
.agin{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.agtx p{font-size:1.02rem;color:var(--t2);line-height:1.9;margin-bottom:1.4rem}
.agtr{display:flex;flex-direction:column;gap:.9rem;margin-top:2.5rem}
.agti{display:flex;align-items:center;gap:.85rem;font-size:.95rem;color:var(--t2)}
.agic{width:38px;height:38px;background:var(--cream);border-radius:var(--r);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;border:1px solid var(--border)}

/* FORMULÁRIO — branco puro */
.agfm{
  background:var(--white) !important;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  padding:2.8rem;
  box-shadow:var(--s2)
}
.fttl{font-family:var(--fd);font-size:1.75rem;font-weight:500;color:var(--navy);margin-bottom:.3rem}
.fsub{font-size:.8rem;color:var(--t3);margin-bottom:2rem}
.fgrp{margin-bottom:1.35rem}
.flbl{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--t2);margin-bottom:.55rem}
.finp{
  width:100%;padding:.9rem 1.1rem;
  background:var(--off) !important;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  color:var(--t1) !important;
  font-family:var(--fb);font-size:1rem;
  transition:var(--tr);outline:none
}
.finp::placeholder{color:var(--t3)}
.finp:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,150,90,.14)}
select.finp{cursor:pointer}

/* RÁDIO — empilhado, visual limpo */
.rgrp{display:flex;flex-direction:column;gap:.8rem;margin-top:.25rem}
.ropt{
  display:flex;align-items:center;gap:.9rem;cursor:pointer;
  background:var(--off) !important;
  border:1.5px solid var(--border);
  border-radius:var(--r);
  padding:1rem 1.2rem;
  transition:var(--tr)
}
.ropt:hover{border-color:var(--gold);background:var(--goldpal) !important}
.ropt input[type=radio]{
  appearance:none;-webkit-appearance:none;
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--border);
  background:var(--white);cursor:pointer;
  transition:var(--tr);flex-shrink:0
}
.ropt input[type=radio]:checked{
  border-color:var(--gold);background:var(--gold);
  box-shadow:inset 0 0 0 4px var(--white)
}
.ropt:has(input:checked){border-color:var(--gold);background:var(--goldpal) !important}
.rtxt{font-size:1rem;color:var(--t1);font-weight:500;line-height:1.3}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.fbtns{display:flex;gap:1rem;margin-top:.5rem}
.flgpd{font-size:.74rem;color:var(--t3);text-align:center;margin-top:1rem;line-height:1.65}
.flgpd a{color:var(--gold);text-decoration:underline}

/* SUCESSO */
.fsok{display:none;text-align:center;padding:2rem 0}
.fsok.on{display:block}
.fsok-i{font-size:3rem;margin-bottom:.75rem}
.fsok-t{font-family:var(--fd);font-size:1.7rem;color:var(--navy);margin-bottom:.5rem}
.fsok-p{font-size:.97rem;color:var(--t2);line-height:1.8;margin-bottom:1.5rem}
.wbtn{display:inline-flex;align-items:center;gap:.6rem;background:#25D366;color:#fff;padding:.95rem 2rem;border-radius:var(--r);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:var(--tr)}
.wbtn:hover{background:#1da851;transform:translateY(-2px)}

/* ISEC BANNER */
#isb{padding:3rem 0;background:var(--gold)}
#isb .wrap{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.islo{display:flex;align-items:center;gap:1.2rem}
.isim{width:54px;height:54px;object-fit:contain;border-radius:8px}
.islb{font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(11,28,46,.6);margin-bottom:.2rem}
.isnm{font-family:var(--fd);font-size:1.75rem;font-weight:500;color:var(--navy);line-height:1}
.issu{font-size:.88rem;color:rgba(11,28,46,.65);margin-top:.3rem}
.isbtn{background:var(--navy);color:var(--gold);font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.9rem 2.2rem;border-radius:var(--r);transition:var(--tr);white-space:nowrap;display:inline-block}
.isbtn:hover{background:#1e3a5a;transform:translateY(-2px)}

/* FOOTER */
#ft{background:#06111e;padding:4.5rem 0 2.5rem;color:rgba(255,255,255,.48)}
.ftgr{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:2rem}
.ftlo{font-family:var(--fd);font-size:1.45rem;font-weight:600;color:var(--white);letter-spacing:.03em;margin-bottom:.25rem}
.ftlo span{color:var(--gold)}
.ftcp{font-size:.76rem;color:var(--gold);letter-spacing:.1em;font-weight:600;margin-bottom:1.2rem}
.ftds{font-size:.9rem;line-height:1.85;max-width:320px;margin-bottom:1.5rem}
.ftso{display:flex;gap:.75rem}
.ftsi{width:38px;height:38px;border-radius:var(--r);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:var(--tr)}
.ftsi svg{width:16px;height:16px;fill:rgba(255,255,255,.45)}
.ftsi:hover{border-color:var(--gold)}
.ftsi:hover svg{fill:var(--gold)}
.ftcl h4{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.4rem}
.ftcl li{margin-bottom:.8rem}
.ftcl a{font-size:.9rem;color:rgba(255,255,255,.48);transition:var(--tr)}
.ftcl a:hover{color:var(--white)}
.ftbt{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;font-size:.77rem}
.ftbt a:hover{color:var(--gold)}

/* ANIMAÇÕES */
[data-a]{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}
[data-a].show{opacity:1;transform:translateY(0)}
[data-a=fl]{transform:translateX(-24px)}
[data-a=fl].show{transform:translateX(0)}
[data-a=fr]{transform:translateX(24px)}
[data-a=fr].show{transform:translateX(0)}

/* RESPONSIVE */

/* ═══════════════════════════════════════
   MOBILE FIRST — base = mobile (<480px)
   Depois amplia para tablet e desktop
═══════════════════════════════════════ */

/* BASE MOBILE */
html { font-size: 16px }

.wrap { width: 94%; }

/* Navbar mobile */
.nl, .nctw { display: none }
.hb { display: flex }

/* Hero mobile — stack vertical */
.hw {
  grid-template-columns: 1fr;
  gap: 2rem;
  padding: 2.5rem 0 4rem;
  text-align: center
}
.hsb { margin-left: auto; margin-right: auto }
.hac { justify-content: center }
.hvi { justify-content: center; max-width: 300px; margin: 0 auto }
.hcr { display: none }
.htl { font-size: 2.4rem }
.hfr::before { display: none } /* remove o frame decorativo no mobile */

/* Grids mobile — 1 coluna */
.sg, .agin { grid-template-columns: 1fr; gap: 2.5rem }
.egr, .mgr, .dgr { grid-template-columns: 1fr; gap: 1.2rem }
.mhd { grid-template-columns: 1fr; gap: 1rem }
.lvgr { grid-template-columns: repeat(2,1fr); gap: 1rem }
.sst { grid-template-columns: repeat(3,1fr); gap: .75rem }
.sstn { font-size: 2rem }
.ftgr { grid-template-columns: 1fr; gap: 2rem }
.frow { grid-template-columns: 1fr }
.fbtns { flex-direction: column; gap: .75rem }

/* Stats mobile */
.dst2 { gap: 1.2rem; padding: 1.5rem }
.dsep { display: none }

/* Top bar mobile */
#tb .wrap { justify-content: center; gap: .5rem }
#tb .wl { display: none }

/* Seções — padding menor no mobile */
#sobre, #esp, #ment, #lv, #dep, #ag { padding: 3.5rem 0 }
#hero { min-height: auto }

/* Form mobile */
.agfm { padding: 1.8rem 1.4rem }
.fttl { font-size: 1.4rem }

/* ISEC banner mobile */
#isb .wrap { flex-direction: column; gap: 1.2rem; text-align: center }

/* Footer mobile */
#ft { padding: 3rem 0 2rem }
.ftbt { flex-direction: column; text-align: center; gap: .5rem }

/* ─── TABLET ≥ 540px ─── */
@media (min-width: 540px) {
  html { font-size: 17px }
  .lvgr { grid-template-columns: repeat(3,1fr) }
  .htl { font-size: clamp(2.6rem, 5vw, 3.2rem) }
}

/* ─── TABLET LARGO ≥ 768px ─── */
@media (min-width: 768px) {
  html { font-size: 18px }
  .wrap { width: 92% }
  .egr { grid-template-columns: repeat(2,1fr) }
  .mgr { grid-template-columns: repeat(2,1fr) }
  .dgr { grid-template-columns: repeat(2,1fr) }
  .mhd { grid-template-columns: 1fr 1fr }
  .lvgr { grid-template-columns: repeat(4,1fr) }
  .ftgr { grid-template-columns: 1fr 1fr }
  .frow { grid-template-columns: 1fr 1fr }
  .fbtns { flex-direction: row }
  #tb .wl { display: flex }
  .hcr { display: flex }
  #isb .wrap { flex-direction: row; text-align: left }
}

/* ─── DESKTOP ≥ 1024px ─── */
@media (min-width: 1024px) {
  html { font-size: 19px }
  .wrap { width: 90%; max-width: 1200px }

  /* Navbar desktop */
  .nl, .nctw { display: flex }
  .hb { display: none }

  /* Hero 2 colunas */
  .hw {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    padding: 3.5rem 0 5rem;
    text-align: left
  }
  .hsb { margin-left: 0; margin-right: 0 }
  .hac { justify-content: flex-start }
  .hvi { justify-content: flex-end; max-width: none; margin: 0 }
  .hfr::before { display: block }

  /* Grids desktop */
  .sg, .agin { grid-template-columns: 1fr 1fr; gap: 5rem }
  .egr { grid-template-columns: repeat(3,1fr) }
  .mgr { grid-template-columns: repeat(3,1fr) }
  .dgr { grid-template-columns: repeat(3,1fr) }
  .mhd { grid-template-columns: 1fr 1fr; gap: 4rem }
  .lvgr { grid-template-columns: repeat(5,1fr) }
  .ftgr { grid-template-columns: 2fr 1fr 1fr; gap: 4rem }
  .frow { grid-template-columns: 1fr 1fr }
  .fbtns { flex-direction: row }
  .dst2 { gap: 2.5rem }
  .dsep { display: block }

  /* Seções — padding completo */
  #sobre, #esp, #ment, #lv, #dep, #ag { padding: 7rem 0 }
  #hero { min-height: 100vh }
}
