/* Escola Up4 — composição aprovada, v3. Escopo somente main. */
main#topo{background:#fff;color:#0e1324}
main#topo .hero .wrap{min-height:345px;padding:22px 0 10px;grid-template-columns:42% 58%;gap:0}
main#topo .hero h1{font-size:clamp(43px,4.8vw,60px);margin:8px 0 10px;line-height:1.05}
main#topo .hero .subhead{font-size:14px;line-height:1.55;margin-bottom:18px}
main#topo .hero .hero-graphic{min-width:0;min-height:310px;align-self:stretch}
main#topo .hero-art{width:100%;height:100%;max-width:none;max-height:350px;object-fit:contain;object-position:center bottom}
main#topo .proof .wrap{padding:15px 0}
main#topo .learning,main#topo .library,main#topo .practice{padding:13px 0 0}
main#topo .learning>.wrap,main#topo .library>.wrap,main#topo .practice>.wrap{padding:18px 24px;border-radius:13px}
main#topo .section-top{margin-bottom:11px}
main#topo .section-top h2{font-size:clamp(27px,2.8vw,33px);margin:4px 0 5px}
main#topo .section-desc{font-size:12px;line-height:1.45}
main#topo .learning .section-top{min-height:80px;padding-right:145px}
main#topo .journey-visual{right:0;top:0;width:135px;height:104px;overflow:hidden;pointer-events:none}
main#topo .journey-visual img{width:100%;height:100%;object-fit:contain;object-position:center}
main#topo .journey-grid .learn{min-height:123px}
main#topo .journey-grid .learn .no{width:29px;height:29px}
main#topo .journey-grid .learn .ic{font-size:21px;margin:8px 0 5px}
main#topo .journey-grid .learn h3{font-size:11px;margin-bottom:3px}
main#topo .journey-grid .learn p{font-size:9.5px;line-height:1.4}
main#topo .library .books{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
main#topo .library .book{display:grid;grid-template-columns:minmax(0,43%) minmax(0,57%);gap:8px;padding:8px;min-height:182px;align-items:stretch}
main#topo .library .cover.cover-approved{min-height:0;height:100%;padding:0;align-self:stretch;border-radius:7px;background:#fff}
main#topo .cover.cover-approved img{display:block;height:100%;max-height:none;width:100%;object-fit:contain;object-position:center}
main#topo .library .book-info{min-width:0;padding:4px 0 2px}
main#topo .library .book-info h3{font-size:clamp(11px,1.15vw,14px);line-height:1.15;margin:0 0 8px}
main#topo .library .book-info p{font-size:9.5px;line-height:1.45;margin:0 0 8px}
main#topo .library .book-info .meta{display:none}
main#topo .library .book-info .btn{margin-top:auto;font-size:9px;min-height:29px;padding:6px 7px}
main#topo .library #school-status{font-size:10px;margin:0 0 10px}
main#topo .library .lock-note{font-size:10px;margin-top:8px}
main#topo .practice .pract-grid{gap:12px}
main#topo .practice .chat-demo,main#topo .practice .lesson{padding:12px 15px}
main#topo .practice .chat-head{font-size:11px}
main#topo .practice .lesson h2{font-size:17px}
main#topo .practice .lesson p{font-size:11px}
main#topo .practice .message{font-size:11px}
main#topo .school-signature{background:#fff!important}
main#topo .school-signature-inner{grid-template-columns:220px 1.1fr .9fr;min-height:178px}
main#topo .school-signature-mascot{height:180px}
main#topo .school-signature-mascot img{height:175px}
main#topo .school-signature h2{font-size:24px}
main#topo .final-cta{padding:16px 0}
main#topo .final-banner{padding:20px 25px}
@media(max-width:1120px){
main#topo .library .books{grid-template-columns:repeat(2,minmax(0,1fr))}
main#topo .library .book{grid-template-columns:125px minmax(0,1fr);min-height:180px}
main#topo .library .book-info h3{font-size:15px}
main#topo .library .book-info p{font-size:11px}
}
@media(max-width:760px){
main#topo .hero .wrap{grid-template-columns:1fr;gap:8px;padding:32px 0 10px}
main#topo .hero .hero-graphic{min-height:0;height:auto}
main#topo .hero-art{width:100%;max-height:310px;object-fit:contain}
main#topo .learning .section-top{min-height:0;padding-right:0}
main#topo .journey-visual{display:none}
main#topo .journey-grid .learn{min-height:130px}
main#topo .library .books{grid-template-columns:1fr 1fr;gap:10px}
main#topo .library .book{display:flex;flex-direction:column;min-height:0}
main#topo .library .cover.cover-approved{height:155px;min-height:155px}
main#topo .library .book-info h3{font-size:13px}
main#topo .library .book-info p{font-size:10px}
main#topo .school-signature-inner{grid-template-columns:1fr}
}
@media(max-width:440px){
main#topo .library .books{grid-template-columns:1fr}
main#topo .library .book{display:grid;grid-template-columns:38% minmax(0,1fr);min-height:170px}
main#topo .library .cover.cover-approved{height:100%;min-height:0}
main#topo .library .book-info p{font-size:10px}
}


/* Exclusivo da Escola: ampliar a mascote da faixa inferior */
main#topo .school-signature-inner{grid-template-columns:minmax(260px,330px) minmax(0,1.1fr) minmax(0,.9fr);gap:24px;min-height:255px}
main#topo .school-signature-mascot{height:255px;min-height:255px;overflow:hidden}
main#topo .school-signature-mascot img{height:250px;width:100%;object-fit:contain;object-position:center bottom}
@media(max-width:1050px){main#topo .school-signature-inner{grid-template-columns:260px minmax(0,1fr)}main#topo .school-signature blockquote{grid-column:1/-1}}
@media(max-width:700px){main#topo .school-signature-inner{grid-template-columns:1fr}main#topo .school-signature-mascot{height:245px;min-height:245px}main#topo .school-signature-mascot img{height:240px}}
/* Replicar no cabeçalho da Escola o CSS da página inicial: sem mudanças nas outras páginas */
body>.topbar{display:block!important;background:#0F172A!important;color:#DCE2EE!important;font-size:11px!important;letter-spacing:.085em!important;font-weight:600!important}
body>.topbar .topbar-in{height:35px!important;display:flex!important;align-items:center!important;justify-content:space-between!important}
body>.site-header{height:86px!important;min-height:0!important;position:sticky!important;top:0!important;z-index:50!important;background:rgba(255,255,255,.96)!important;border-bottom:1px solid rgba(231,233,240,.9)!important;backdrop-filter:blur(16px)!important}
body>.site-header .container{width:min(1190px,calc(100% - 72px))!important;margin:0 auto!important}
body>.site-header .header-in{height:100%!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:30px!important;flex-wrap:nowrap!important;padding:0!important}
body>.site-header .brand{display:flex!important;align-items:center!important;gap:12px!important;flex:0 0 auto!important}
body>.site-header .brand img{width:127px!important;height:auto!important;max-height:none!important}
body>.site-header .brand-tag{display:block!important;font-family:'Plus Jakarta Sans',Arial,sans-serif!important;font-size:9px!important;font-weight:750!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:#0F172A!important;border-left:1px solid #CBD0DB!important;padding-left:13px!important;max-width:106px!important}
body>.site-header .desktop-nav{display:flex!important;align-items:center!important;gap:33px!important;margin-left:auto!important;flex-wrap:nowrap!important;font-size:13px!important}
body>.site-header .desktop-nav .nav-link{font-family:Inter,Arial,sans-serif!important;font-size:13px!important;font-weight:650!important;letter-spacing:normal!important;line-height:normal!important;padding:35px 0!important;color:#606B80!important;white-space:nowrap!important}
body>.site-header .desktop-nav .nav-link.active,body>.site-header .desktop-nav .nav-link:hover{color:#0F172A!important}
body>.site-header .desktop-nav .nav-link.active:after{bottom:23px!important}
body>.site-header .btn.header-cta{display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:43px!important;padding:10px 18px!important;font-size:13px!important;font-weight:750!important;border:0!important;border-radius:11px!important;background:#7C3AED!important;color:#fff!important;box-shadow:0 10px 25px rgba(124,58,237,.14)!important;white-space:nowrap!important}
body>.site-header .menu-toggle{display:none!important}
body>.site-header .mobile-nav{display:none}
@media(max-width:1160px){body>.site-header .desktop-nav{gap:16px!important}body>.site-header .header-in{gap:16px!important}body>.site-header .brand img{width:112px!important}}
@media(max-width:990px){body>.site-header .desktop-nav{display:none!important}body>.site-header .menu-toggle{display:flex!important;border:1px solid #E7E9F0!important;background:#fff!important;color:#0F172A!important}body>.site-header .header-in{gap:14px!important}}
@media(max-width:700px){body>.site-header .container{width:calc(100% - 32px)!important}body>.site-header .brand img{width:105px!important}body>.site-header .brand-tag{font-size:8px!important}body>.site-header .btn.header-cta{display:none!important}}
body>.site-header .mobile-nav.open{display:block!important;background:#fff!important;color:#475569!important}
body>.site-header .mobile-nav.open a:not(.btn){color:#475569!important}
body>.site-header .mobile-nav.open a.active{color:#7C3AED!important}
