@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');
:root{--font-body:'Manrope',Arial,sans-serif;--font-display:'Plus Jakarta Sans','Manrope',Arial,sans-serif;--blue:#2830a8;--blue-dark:#161858;--purple:#6940d5;--yellow:#ffd84d;--coral:#ff6c5d;--mint:#79e0c1;--cream:#f7f3ea;--ink:#17213d;--white:#fff;--radius:24px;--container:min(1180px,calc(100% - 40px))}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font-family:var(--font-body);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display)}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:var(--container);margin-inline:auto}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:#fff;padding:12px}
.skip-link:focus{top:20px}
.topbar{background:var(--blue-dark);color:#fff;font-size:12px}
.topbar-inner{height:34px;display:flex;align-items:center;justify-content:space-between}
.topbar-inner div{display:flex;gap:24px}
.header{background:#fff;position:relative;z-index:20}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:12px}
.brand-mark{width:47px;height:47px;border-radius:15px 15px 15px 4px;background:var(--blue);color:#fff;display:grid;place-items:center;font:800 17px 'Plus Jakarta Sans';transform:rotate(-3deg)}
.brand>span:last-child{display:grid}
.brand strong{font:800 17px 'Plus Jakarta Sans'}
.brand small{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#68718b;margin-top:3px}
.nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}
.nav>a:not(.button){position:relative}
.nav>a:not(.button):after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--coral);transition:.25s}
.nav>a:hover:after{right:0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:14px;background:var(--blue);color:#fff;font-size:14px;font-weight:800;transition:transform .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1618582b}
.button-small{min-height:44px;padding:0 20px}
.button-yellow{background:var(--yellow);color:var(--blue-dark)}
.menu-button{display:none;background:var(--cream);border:0;border-radius:10px;padding:10px 14px;font-weight:800}
.campaign{position:relative;height:680px;background:var(--blue-dark);overflow:hidden}
.campaign-track,.campaign-slide{height:100%}
.campaign-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s}
.campaign-slide.active{opacity:1;visibility:visible;z-index:2}
.campaign-photo{position:absolute;inset:0 0 0 43%;background-size:cover;background-position:center}
.photo-one{background-image:url('assets/fotos/laboratorio-alunos-bq.jpg')}
.photo-two{background-image:url('assets/fotos/pratica-laboratorio-bq.jpg')}
.photo-three{background-image:url('assets/fotos/festa-junina-equipe-bq.jpg')}
.campaign-overlay{position:absolute;inset:0;background:linear-gradient(90deg,var(--blue) 0%,var(--blue) 43%,#2830a8e8 55%,transparent 84%)}
.campaign-overlay.purple{background:linear-gradient(90deg,#5a32c7 0%,#5a32c7 43%,#5a32c7e5 57%,transparent 86%)}
.campaign-overlay.coral{background:linear-gradient(90deg,#d95048 0%,#d95048 43%,#d95048e8 57%,transparent 86%)}
.campaign-content{height:100%;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;color:#fff;padding-bottom:40px}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.18em;color:var(--blue)}
.eyebrow:before{content:"";width:27px;height:3px;background:var(--coral);border-radius:9px}
.eyebrow.light{color:#fff}
.eyebrow.light:before{background:var(--yellow)}
.campaign h1,.campaign h2{font:800 clamp(45px,5vw,76px)/.99 'Plus Jakarta Sans';letter-spacing:-.05em;margin:21px 0 24px;max-width:760px}
.campaign h1 em,.campaign h2 em{font-style:normal;color:var(--yellow)}
.campaign p{max-width:545px;font-size:17px;line-height:1.7;color:#ffffffd9;margin:0}
.actions{display:flex;align-items:center;gap:28px;margin-top:36px}
.text-link{display:inline-flex;gap:16px;align-items:center;font-weight:800;font-size:14px}
.text-link span{font-size:18px;transition:transform .2s}
.text-link:hover span{transform:translate(3px,-3px)}
.text-link.light{color:#fff}
.slider-controls{position:absolute;z-index:5;left:50%;bottom:35px;transform:translateX(-50%);display:flex;align-items:center;gap:14px;color:#fff}
.slider-arrow{border:1px solid #ffffff4d;color:#fff;background:#0001;width:42px;height:42px;border-radius:50%;cursor:pointer}
.dots{display:flex;gap:7px;margin:0 8px}
.dot{width:7px;height:7px;border:0;padding:0;border-radius:50%;background:#ffffff66;cursor:pointer}
.dot.active{width:30px;border-radius:8px;background:var(--yellow)}
.slide-count{font-size:12px;letter-spacing:.12em;margin-right:auto}
.quick-access{background:#fff}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.quick-grid>a{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:25px 28px;border-right:1px solid #e7e7ee}
.quick-grid>a:first-child{border-left:1px solid #e7e7ee}
.quick-grid>a:hover strong{color:var(--blue)}
.quick-icon{width:46px;height:46px;border-radius:14px 14px 14px 4px;display:grid;place-items:center;font-weight:800}
.purple-bg{background:#e9e3ff;color:var(--purple)}
.yellow-bg{background:#fff2b5}
.coral-bg{background:#ffe1db;color:var(--coral)}
.quick-grid small,.quick-grid strong{display:block}
.quick-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#7c8294;margin-bottom:4px}
.quick-grid strong{font-size:14px;transition:.2s}
.section{padding:110px 0}
.intro{background:var(--cream);position:relative;overflow:hidden}
.intro:after{content:"";position:absolute;width:350px;height:350px;border:70px solid #ff6c5d12;border-radius:50%;right:-150px;top:20px}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:100px;align-items:end}
.intro h2,.section-heading h2,.experience h2,.enroll h2{font:800 clamp(36px,4vw,60px)/1.05 'Plus Jakarta Sans';letter-spacing:-.045em;margin:20px 0 0}
.intro h2 span{color:var(--blue)}
.lead{font-size:17px;line-height:1.8;color:#596175;margin:0 0 27px}
.numbers{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;padding-top:40px;border-top:1px solid #d8d3c9}
.numbers>div{display:flex;flex-direction:column}
.numbers strong{font:800 48px 'Plus Jakarta Sans';color:var(--blue)}
.numbers span{font-size:13px;color:#6c7281}
.numbers .doodle{font:700 18px/1.2 'Plus Jakarta Sans';color:var(--coral);transform:rotate(-5deg);align-self:center}
.numbers .doodle b{font-size:25px}
.courses{background:var(--blue-dark);color:#fff}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}
.section-heading p{max-width:360px;color:#ffffffa8;line-height:1.7}
.course-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.course-card{min-height:440px;border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;position:relative;transition:transform .3s}
.course-card:hover{transform:translateY(-8px)}
.course-card>span{font:700 12px 'Plus Jakarta Sans';opacity:.65}
.course-card small{font-size:10px;text-transform:uppercase;letter-spacing:.16em}
.course-card h3{font:800 47px/.95 'Plus Jakarta Sans';letter-spacing:-.05em;margin:13px 0 22px}
.course-card p{font-size:14px;line-height:1.7;max-width:290px}
.course-card a{display:inline-block;margin-top:20px;font-size:13px;font-weight:800}
.card-blue{background:var(--blue)}
.card-mint{background:var(--mint);color:var(--blue-dark)}
.card-yellow{background:var(--yellow);color:var(--blue-dark)}
.card-coral{background:var(--coral)}
.course-card:after{content:"";position:absolute;width:180px;height:180px;border:42px solid #ffffff17;border-radius:50%;top:25px;right:-90px}
.experience{background:#fff}
.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.experience-photo{height:620px;border-radius:30px 30px 30px 8px;background:url('assets/fotos/alunas-microscopia-bq.jpg') center/cover;position:relative}
.sticker{position:absolute;right:-35px;top:45px;width:125px;height:125px;border-radius:50%;background:var(--yellow);color:var(--blue-dark);display:grid;place-items:center;text-align:center;font:800 20px/1 'Plus Jakarta Sans';transform:rotate(8deg);box-shadow:0 12px 30px #0002}
.experience h2{margin-bottom:28px}
.feature-list{list-style:none;padding:0;margin:35px 0 0}
.feature-list li{padding:16px 0;border-top:1px solid #e3e5eb;font-weight:700}
.feature-list span{display:inline-block;width:38px;color:var(--coral);font-size:11px}
.news{background:var(--cream)}
.section-heading.dark p{color:#596175}
.news-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:22px}
.news-img{background-size:cover;background-position:center}
.news-one{height:360px;background-image:url('assets/fotos/laboratorio-alunos-bq.jpg')}
.news-two{height:260px;background-image:url('assets/fotos/festa-junina-equipe-bq.jpg')}
.news-three{height:260px;background-image:url('assets/fotos/festa-junina-gastronomia-bq.jpg')}
.featured-news,.small-news{background:#fff;border-radius:20px;overflow:hidden}
.featured-news>div:last-child,.small-news{padding-bottom:25px}
.featured-news>div:last-child{padding:25px 28px}
.small-news .news-img{margin:-25px -25px 22px}
.small-news{padding:25px}
.news-grid span{font-size:10px;color:var(--coral);text-transform:uppercase;letter-spacing:.1em;font-weight:800}
.news-grid h3{font:800 21px/1.35 'Plus Jakarta Sans';letter-spacing:-.02em;margin:12px 0 22px}
.featured-news h3{font-size:28px}
.news-grid a{font-size:12px;font-weight:800;color:var(--blue)}
.enroll{background:var(--cream);padding-top:20px}
.enroll-card{min-height:380px;background:var(--blue);border-radius:32px;color:#fff;padding:65px 72px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}
.enroll-card:before{content:"";position:absolute;width:350px;height:350px;border:70px solid #ffffff0d;border-radius:50%;right:23%;bottom:-210px}
.enroll-card p{color:#ffffffba}
.enroll-actions{display:flex;flex-direction:column;align-items:center;gap:20px;z-index:2}
.scribble{position:absolute;right:18px;top:12px;color:var(--yellow);font:800 18px/1 'Plus Jakarta Sans';transform:rotate(8deg)}
.footer{background:var(--blue-dark);color:#fff;padding:75px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:65px}
.footer-brand .brand-mark{background:var(--yellow);color:var(--blue-dark)}
.footer-brand small{color:#ffffff91}
.footer-grid>div:first-child p{max-width:270px;color:#ffffff8f;line-height:1.7;margin-top:25px}
.footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--yellow);margin:0 0 22px}
.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:12px}
.footer-grid a,.footer-grid p{font-size:13px;color:#ffffffb0;line-height:1.65;margin:0}
.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid #ffffff1c;margin-top:55px;padding-top:24px;display:flex;justify-content:space-between;font-size:11px;color:#ffffff70}
@media(max-width:900px){.topbar{display:none}
.nav-wrap{height:74px}
.menu-button{display:block}
.nav{position:absolute;top:74px;left:0;right:0;background:#fff;display:none;flex-direction:column;align-items:stretch;padding:25px 20px;box-shadow:0 18px 30px #1112}
.nav.open{display:flex}
.campaign{height:650px}
.campaign-photo{inset:0;background-position:62% center}
.campaign-overlay,.campaign-overlay.purple,.campaign-overlay.coral{background:linear-gradient(90deg,#20269aef 0%,#20269ad8 60%,#20269a55 100%)}
.campaign-content{padding-top:20px}
.quick-grid{grid-template-columns:1fr}
.quick-grid>a{border:0;border-bottom:1px solid #e7e7ee}
.intro-grid,.experience-grid{grid-template-columns:1fr;gap:45px}
.numbers{grid-template-columns:repeat(2,1fr);gap:30px}
.course-grid{grid-template-columns:1fr}
.course-card{min-height:380px}
.experience-photo{height:480px}
.news-grid{grid-template-columns:1fr 1fr}
.featured-news{grid-column:1/-1}
.enroll-card{padding:55px 40px;align-items:flex-start;flex-direction:column;gap:35px}
.footer-grid{grid-template-columns:1fr 1fr}
.section-heading{align-items:flex-start;flex-direction:column;gap:20px}
}
@media(max-width:600px){:root{--container:min(100% - 28px,1180px)}
.brand-mark{width:42px;height:42px}
.campaign{height:700px}
.campaign h1,.campaign h2{font-size:44px}
.campaign p{font-size:15px}
.campaign-content{justify-content:flex-end;padding-bottom:110px}
.actions{align-items:flex-start;flex-direction:column;gap:18px;margin-top:28px}
.slider-controls{bottom:25px}
.section{padding:78px 0}
.intro-grid{gap:30px}
.intro h2,.section-heading h2,.experience h2,.enroll h2{font-size:38px}
.numbers{margin-top:50px}
.numbers strong{font-size:38px}
.numbers .doodle{display:none}
.course-card h3{font-size:42px}
.experience-photo{height:390px}
.sticker{right:-5px;width:100px;height:100px;font-size:16px}
.news-grid{grid-template-columns:1fr}
.featured-news{grid-column:auto}
.news-one,.news-two,.news-three{height:230px}
.featured-news h3{font-size:22px}
.enroll-card{padding:45px 25px;border-radius:22px}
.footer-grid{grid-template-columns:1fr;gap:35px}
.footer-bottom{flex-direction:column;gap:12px}
}
