:root{--n:#071c33;--b:#10243e;--b2:#0d2a49;--r:#d62839;--p:#ff727e;--bg:#f4f7fb;--soft:#e8eff7;--m:#536780;--line:rgba(16,36,62,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--b);font:16px/1.6 "DM Sans",sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}img{display:block;width:100%}header{height:80px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;position:fixed;inset:0 0 auto;z-index:50;background:rgba(244,247,251,.9);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px}.brand>b{width:44px;height:44px;display:grid;place-items:center;border-radius:15px 15px 15px 5px;background:var(--r);color:#fff}.brand strong,.brand small{display:block}.brand strong{font:800 12px Manrope;letter-spacing:.1em}.brand small{font-size:11px;color:var(--m)}nav{display:flex;gap:27px;align-items:center;font-size:13px;font-weight:700}.nav-cta{padding:10px 17px;border:1px solid var(--r);border-radius:99px}.menu{display:none;border:0;background:none;font-weight:800}.hero{min-height:100vh;padding:130px clamp(24px,7vw,110px) 70px;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden;background:var(--n);color:#fff}.grid{position:absolute;inset:0;opacity:.11;background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px);background-size:68px 68px;transform:perspective(500px) rotateX(62deg) scale(1.5);transform-origin:bottom}.glow{position:absolute;border-radius:50%;filter:blur(100px)}.g1{width:500px;height:500px;background:rgba(214,40,57,.25);left:-180px;top:-100px}.g2{width:450px;height:450px;background:rgba(28,100,160,.25);right:-100px;bottom:-100px}.hero-copy{position:relative;z-index:3}.eyebrow{color:var(--p);font:800 11px Manrope;letter-spacing:.15em}.dark{color:var(--r)}h1,h2,h3{font-family:Manrope;margin:0;line-height:1.06}h1{font-size:clamp(48px,6vw,90px);letter-spacing:-.06em}h1 em{font-family:Georgia;font-weight:400;color:var(--p)}.hero-copy p{max-width:650px;margin:28px 0;color:rgba(255,255,255,.72);font-size:18px}.actions{display:flex;gap:12px}.btn{display:inline-flex;padding:14px 22px;border-radius:99px;font-size:13px;font-weight:800}.red{background:var(--r);color:#fff}.glass{border:1px solid rgba(255,255,255,.32);background:rgba(255,255,255,.08)}.scene{height:630px;position:relative;display:grid;place-items:center;perspective:1000px}.sphere{width:260px;height:260px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,#ffb3ba 0,#d62839 26%,#791321 70%);box-shadow:inset -35px -30px 60px rgba(0,0,0,.36),0 45px 90px rgba(0,0,0,.32);font:800 66px Manrope;animation:float 5s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(255,255,255,.25);border-radius:50%;animation:spin 18s linear infinite}.o1{width:500px;height:320px;transform:rotateX(65deg)}.o2{width:420px;height:520px;animation-direction:reverse}.float{position:absolute;width:190px;padding:18px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(15px);box-shadow:0 25px 55px rgba(0,0,0,.24);transition:.35s;animation:float 5s ease-in-out infinite}.float:hover{transform:translateZ(60px) rotateY(-5deg);background:rgba(255,255,255,.18)}.float small,.float strong,.float span{display:block}.float small{color:var(--p)}.float strong{font:700 20px Manrope}.float span{font-size:12px;color:rgba(255,255,255,.62)}.f1{left:4%;top:15%}.f2{right:0;top:45%;animation-delay:-1.5s}.f3{left:12%;bottom:10%;animation-delay:-3s}.signature{position:absolute;right:4%;bottom:5%;border-left:2px solid var(--p);padding-left:14px}.signature span,.signature strong{display:block}.signature span{font-size:10px;color:#aaa}.signature strong{font-family:Georgia}.marquee{height:64px;background:var(--r);color:#fff;overflow:hidden}.marquee>div{height:100%;display:flex;align-items:center;gap:25px;width:max-content;animation:marquee 25s linear infinite}.marquee span{font:800 11px Manrope;letter-spacing:.12em}.marquee i{width:5px;height:5px;background:#fff;border-radius:50%}.experiences{padding:110px 0;background:#fff}.section-head{padding:0 clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr .7fr;gap:8vw;align-items:end}.section-head h2,.network h2,.companies h2,.contact h2{margin-top:15px;font-size:clamp(40px,4.8vw,70px);letter-spacing:-.05em}.section-head p{color:var(--m)}.controls{display:flex;gap:15px;align-items:center;margin-top:20px}.controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:19px;cursor:pointer}.controls span{font-size:12px}.viewport{margin-top:55px;overflow:hidden;padding:25px clamp(24px,7vw,110px) 55px;perspective:1100px}.track{display:flex;gap:22px;transition:transform .65s cubic-bezier(.2,.7,.2,1)}.exp{flex:0 0 min(390px,76vw);height:500px;padding:30px;position:relative;overflow:hidden;display:flex;flex-direction:column;border-radius:28px;transform:rotateY(4deg);box-shadow:0 30px 65px rgba(7,28,51,.14);transition:.4s}.exp:hover{transform:translateY(-14px) rotateY(0) scale(1.015);box-shadow:0 40px 85px rgba(7,28,51,.23)}.exp>span{font:800 10px Manrope;letter-spacing:.12em}.exp h3{margin:160px 0 18px;font-size:30px;letter-spacing:-.04em}.exp p{font-size:14px;opacity:.72}.exp a{margin-top:auto;font-size:12px;font-weight:800}.shape{position:absolute;right:-30px;top:-40px;width:180px;height:180px}.orbshape{border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffb3ba,var(--r) 50%,#74111e)}.ringshape{border:25px solid var(--r);border-radius:50%;box-shadow:0 0 0 20px rgba(214,40,57,.16)}.stageshape{background:linear-gradient(135deg,#ffb2b8,var(--p));clip-path:polygon(50% 0,100% 100%,0 100%)}.moonshape{border-radius:50%;background:var(--p);box-shadow:-45px 10px 0 var(--n)}.netshape{border-radius:45%;background:conic-gradient(var(--r),var(--p),#fff,var(--r));filter:blur(1px)}.cubeshape{background:linear-gradient(135deg,#fff,var(--p));transform:rotate(25deg);box-shadow:25px 25px 0 rgba(255,255,255,.15)}.sunshape{border-radius:50%;background:#fff;box-shadow:0 0 0 22px rgba(255,255,255,.2)}.c1,.c4,.c6{background:var(--n);color:#fff}.c2{background:var(--soft)}.c3{background:var(--r);color:#fff}.c5{background:#ffb4bb}.c7{background:#468bb9;color:#fff}.network{min-height:900px;display:grid;grid-template-columns:.8fr 1.2fr;background:var(--soft)}.portrait{position:relative;overflow:hidden;background:var(--b)}.portrait img{height:100%;object-fit:cover;object-position:center top;position:relative;z-index:2}.disc{position:absolute;width:500px;height:500px;border-radius:50%;background:var(--r);left:-150px;top:15%;z-index:1}.portrait>span{position:absolute;z-index:3;left:25px;bottom:25px;color:#fff;writing-mode:vertical-rl;font:800 11px Manrope;letter-spacing:.3em}.network-copy{padding:120px clamp(30px,7vw,110px);display:flex;flex-direction:column;justify-content:center}.network-copy>p{color:var(--m);font-size:18px}.points{margin:30px 0}.points div{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.points b{color:var(--r)}.date{padding:25px;background:var(--n);color:#fff;display:grid;grid-template-columns:1fr 80px 1.3fr auto;gap:18px;align-items:center;transform:perspective(800px) rotateX(4deg);box-shadow:0 25px 55px rgba(7,28,51,.25)}.date>span{font-size:10px;color:var(--p)}.date>strong{font-size:60px}.date p{margin:0;color:#aaa;font-size:11px}.date a{color:var(--p);font-weight:800;font-size:12px}.companies{min-height:900px;display:grid;grid-template-columns:1.1fr .9fr;background:var(--b2);color:#fff}.company-photo{position:relative;overflow:hidden}.company-photo img{height:100%;object-fit:cover}.company-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,28,51,.72),transparent)}.company-photo>div{position:absolute;z-index:2;left:35px;bottom:35px}.company-photo small,.company-photo strong,.company-photo span{display:block}.company-photo strong{font:800 80px Manrope}.company-copy{padding:110px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.company-copy p{color:rgba(255,255,255,.68)}.process{margin:30px 0;display:grid;grid-template-columns:1fr 1fr}.process div{padding:18px;border:1px solid rgba(255,255,255,.16)}.process span{color:var(--p);margin-right:10px}.light{background:#fff;color:var(--b);width:max-content}.company-copy>small{margin-top:25px;color:#999}.contact{padding:110px clamp(24px,8vw,130px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;background:var(--bg)}.contact-copy{position:relative}.contact-copy p{color:var(--m)}.mini-orb{width:150px;height:150px;margin-top:40px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 30% 25%,var(--p),var(--r));color:#fff;font:800 40px Manrope;box-shadow:0 25px 55px rgba(214,40,57,.3);animation:float 5s ease-in-out infinite}.rd{min-height:430px;padding:20px;background:#fff;box-shadow:0 25px 60px rgba(7,28,51,.13)}footer{padding:55px clamp(24px,7vw,110px);display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;background:var(--n);color:#fff}footer p{color:#888}footer>div{grid-column:1/-1;padding-top:20px;border-top:1px solid #263a4d;display:flex;justify-content:space-between;font-size:12px;color:#888}.whatsapp{position:fixed;z-index:50;right:24px;bottom:24px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#25d366;isolation:isolate}.whatsapp svg{width:31px;fill:#fff}.whatsapp:before,.whatsapp:after{content:"";position:absolute;z-index:-1;inset:0;border:2px solid #25d366;border-radius:50%;animation:pulse 2.2s infinite}.whatsapp:after{animation-delay:1.1s}.reveal{opacity:0;transform:translateY(35px);transition:.8s}.reveal.show{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-18px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes pulse{to{transform:scale(1.65);opacity:0}}
@media(max-width:950px){.menu{display:block}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:24px;background:var(--bg);flex-direction:column;align-items:flex-start}nav.open{display:flex}.hero{grid-template-columns:1fr;padding-top:130px}.scene{height:550px}.section-head,.network,.companies,.contact{grid-template-columns:1fr}.portrait{height:680px}.company-photo{height:600px}.network-copy,.company-copy{padding:80px 25px}.date{grid-template-columns:1fr 60px 1fr}.date a{grid-column:1/-1}.section-head{gap:25px}}
@media(max-width:600px){h1{font-size:45px}.scene{height:460px;transform:scale(.82);margin:-30px}.sphere{width:210px;height:210px}.o1{width:410px}.o2{width:350px;height:430px}.float{width:155px}.f1{left:-5%}.f2{right:-8%}.f3{left:0}.experiences{padding:75px 0}.section-head{padding:0 20px}.viewport{padding-left:20px}.exp{height:470px}.portrait{height:560px}.company-photo{height:450px}.contact{padding:75px 20px}footer{grid-template-columns:1fr;padding:45px 20px}footer>div{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Cards explicativos e janela de detalhes */
.exp{cursor:pointer}.exp:focus-visible{outline:4px solid #fff;outline-offset:-8px;box-shadow:0 0 0 4px var(--r),0 30px 65px rgba(7,28,51,.18)}
.experience-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
.experience-modal.is-open{opacity:1;visibility:visible}.experience-modal__backdrop{position:absolute;inset:0;background:rgba(3,19,34,.72);backdrop-filter:blur(10px)}
.experience-modal__panel{position:relative;width:min(600px,100%);max-height:min(720px,calc(100vh - 40px));overflow-x:hidden;overflow-y:auto;padding:52px clamp(28px,5vw,58px) 46px;border-radius:30px;background:linear-gradient(145deg,#fff,#edf5fb);color:var(--n);box-shadow:0 40px 100px rgba(0,0,0,.32);transform:translateY(26px) scale(.96);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.experience-modal.is-open .experience-modal__panel{transform:none}.experience-modal__panel:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;right:-75px;top:-90px;background:radial-gradient(circle at 30% 30%,var(--p),var(--r));opacity:.9}
.experience-modal__close{position:absolute;z-index:2;right:18px;top:18px;width:42px;height:42px;border:0;border-radius:50%;background:var(--n);color:#fff;font-size:27px;line-height:1;cursor:pointer}.experience-modal__label{display:block;position:relative;color:var(--r);font:800 11px Manrope;letter-spacing:.14em;text-transform:uppercase}.experience-modal h3{position:relative;margin:18px 0;font-size:clamp(30px,5vw,48px);line-height:1.05;letter-spacing:-.045em}.experience-modal p{position:relative;color:var(--m);font-size:17px;line-height:1.7}.experience-modal__cta{display:inline-flex;margin-top:20px;padding:14px 20px;border-radius:999px;background:var(--r);color:#fff;font-weight:800;font-size:13px}.modal-open{overflow:hidden}
@media(max-width:700px){.section-head{grid-template-columns:1fr}.controls{display:none}.viewport{overflow-x:auto;padding:18px 20px 35px;scroll-snap-type:x mandatory;scroll-padding:20px;-webkit-overflow-scrolling:touch}.viewport::-webkit-scrollbar{height:6px}.viewport::-webkit-scrollbar-thumb{background:var(--p);border-radius:20px}.track{transform:none!important;gap:14px;width:max-content}.exp{flex-basis:calc(100vw - 54px);height:430px;padding:24px;border-radius:22px;scroll-snap-align:start;transform:none!important}.exp h3{margin-top:135px;font-size:clamp(25px,8vw,32px)}.exp p{font-size:14px;line-height:1.55}.shape{width:145px;height:145px}.experience-modal{padding:14px}.experience-modal__panel{padding:46px 24px 30px;border-radius:22px}.experience-modal p{font-size:15px}.experience-modal__cta{width:100%;justify-content:center;text-align:center}}
/* Logotipo oficial do Instituto */
.brand{font-size:0}.brand>span,.brand>b,.brand>strong,.brand>small,.brand>em{display:none!important}
.brand:not(:has(img))::before{content:"";display:block;width:230px;height:64px;flex:0 0 230px;background:url('../assets/logo-instituto-paulista.jpg') center/contain no-repeat;border-radius:7px}
.brand:not(:has(img))>b:first-child,.brand:not(:has(img))>span:first-child{display:none!important}
@media(max-width:620px){.brand:not(:has(img))::before{width:180px;height:50px;flex-basis:180px}}
