:root { --navy:#29375e; --navy-deep:#202e53; --blue:#007bbb; --orange:#ff6600; --ink:#273455; --muted:#657089; --paper:#faf9f6; --line:#e0e3e8; --display:'Montserrat',sans-serif; --body:'Montserrat',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--body); font-size:16px; line-height:1.65; }
button,a,input { -webkit-tap-highlight-color:transparent; }
button { font:inherit; cursor:pointer; }
a { color:inherit; text-decoration:none; }
button:focus-visible,a:focus-visible,summary:focus-visible { outline:3px solid var(--orange); outline-offset:5px; }
img { max-width:100%; height:auto; display:block; object-fit:contain; }
button { color:inherit; }
h1,h2,h3,p { margin:0; }
h1,h2,h3 { font-family:var(--display); }
h2 { font-size:clamp(32px,3.7vw,48px); letter-spacing:-1.9px; line-height:1.2; font-weight:800; }
.container { width:min(1200px,calc(100% - 96px)); margin-inline:auto; }
.section { padding:106px 0; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; letter-spacing:1.8px; font-weight:700; line-height:1.5; color:var(--blue); margin-bottom:22px; }
.eyebrow.light { color:#c2d7ed; }
.tiny-dot { display:inline-block; flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:var(--orange); }
.ink-blue { color:var(--blue); }
.skip-link { position:fixed; left:16px; top:-80px; z-index:200; padding:10px 16px; background:white; }
.skip-link:focus { top:10px; }
.site-header { position:sticky; top:0; z-index:40; background:rgba(250,249,246,.97); border-bottom:1px solid #e9e8e3; }
.header-inner { height:92px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand { display:flex; align-items:center; gap:12px; white-space:nowrap; }
.brand-logo { display:block; width:178px; height:auto; max-height:74px; object-fit:contain; background:transparent; padding:0; border-radius:0; }
.brand-name { position:relative; display:flex; align-items:baseline; font:800 38px/.9 var(--display); letter-spacing:-2px; }
.brand-dot { display:inline-block; width:7px; height:7px; margin-left:4px; background:var(--orange); }
.main-nav { display:flex; align-items:center; gap:29px; font-size:12px; font-weight:500; }
.main-nav>a:not(.nav-cta) { padding:9px 0; position:relative; }
.main-nav>a:not(.nav-cta)::after { content:''; position:absolute; left:0; bottom:4px; height:1px; width:0; background:var(--blue); transition:width .2s; }
.main-nav>a:hover::after { width:100%; }
.nav-cta { display:flex; gap:28px; align-items:center; border:1px solid #bdc4d1; padding:11px 18px; border-radius:4px; }
.nav-cta:hover { background:var(--navy); color:white; border-color:var(--navy); }
.nav-cta span { font-size:19px; line-height:1; }
.menu-toggle { display:none; }
.hero { position:relative; isolation:isolate; overflow:hidden; color:white; background:var(--navy); }
.hero-layout { display:grid; grid-template-columns:1.1fr .9fr; align-items:center; gap:60px; padding-top:57px; padding-bottom:40px; min-height:690px; }
.hero-copy { position:relative; z-index:2; padding-bottom:20px; }
.hero .eyebrow { margin-bottom:26px; font-size:10px; letter-spacing:1.65px; }
h1 { font-size:clamp(44px,5.6vw,75px); line-height:1.12; font-weight:800; letter-spacing:-3.8px; }
h1 span { color:var(--orange); }
.hero-lead { font-size:20px; line-height:1.6; margin-top:27px; color:#f5f6fc; font-weight:500; }
.hero-description { color:#c2cbe0; max-width:440px; font-size:14px; line-height:1.85; margin-top:16px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:29px; border:0; border-radius:4px; font-size:12px; font-weight:700; padding:18px 24px; min-height:56px; transition:background .2s,transform .2s; }
.button span { font-size:22px; font-weight:400; line-height:1; }
.button:hover { transform:translateY(-2px); }
.hero-actions { display:flex; flex-direction:column; align-items:flex-start; gap:11px; margin-top:29px; }
.hero-actions .button { width:min(300px,100%); justify-content:space-between; }
.button-orange { background:var(--orange); color:var(--navy-deep); }
.button-orange:hover { background:#ff9d3d; }
.button-whatsapp { background:#fff; color:var(--blue); border:1px solid #fff; }
.button-whatsapp:hover { background:#f0f8fc; }
.button-navy { background:var(--navy); color:white; }
.button-navy:hover { background:var(--navy-deep); }
.hero-visual { position:relative; padding-right:22px; padding-left:22px; z-index:2; }
.hero-model-stage { position:relative; height:625px; display:flex; align-items:flex-end; justify-content:center; }
.hero-model-glow { position:absolute; left:50%; top:47%; width:min(88%,390px); aspect-ratio:1; border-radius:50%; transform:translate(-50%,-50%); background:radial-gradient(circle,#106a9f 0%,#1170a955 45%,transparent 72%); }
.hero-model-orbit { position:absolute; left:50%; top:48%; width:min(98%,430px); aspect-ratio:1; border:1px solid #a8c5e02d; border-radius:50%; transform:translate(-50%,-50%); }
.hero-model { position:relative; z-index:1; display:block; width:100%; height:100%; object-fit:contain; object-position:center bottom; filter:drop-shadow(0 22px 25px #101b3870); }
.hero-orbit { position:absolute; border:1px solid #9ec4e316; border-radius:50%; z-index:-1; pointer-events:none; }
.orbit-one { width:800px; height:800px; right:-110px; top:-70px; }
.orbit-two { width:630px; height:630px; right:-25px; top:15px; }
.section-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:80px; margin-bottom:48px; }
.section-intro>div { flex:1; }
.section-intro>p { width:375px; padding-bottom:4px; font-size:14px; color:var(--muted); line-height:1.85; }
.program-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.program-card { border:1px solid #d4dce6; background:#fff; border-radius:9px; padding:34px 38px 29px; position:relative; overflow:hidden; }
.program-card.junior { background:#0080c9; border-color:#0080c9; color:#fff; }
.program-card.high { background:#0064a3; border-color:#0064a3; color:#fff; }
.card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.program-step { font-size:11px; font-weight:700; letter-spacing:1.2px; color:var(--blue); }
.high .program-step { color:#a95915; }
.program-card.junior .program-step { color:#e8f6ff; }
.program-card.high .program-step { color:#ffe2d1; }
.year-tag { font-size:10px; line-height:1.4; letter-spacing:.7px; font-weight:600; background:#edf5f9; color:#26647d; border-radius:3px; padding:8px 11px; }
.high .year-tag { background:#fff3e7; color:#9e5b24; }
.program-logo { display:block; width:124px; height:auto; object-fit:contain; margin:22px 0 13px; }
.program-card h3 { font-size:34px; letter-spacing:-1.3px; line-height:1.2; }
.card-lead { font-size:17px; line-height:1.55; font-weight:500; margin-top:15px; }
.card-description { font-size:14px; color:var(--muted); line-height:1.8; margin-top:16px; min-height:82px; }
.program-card .card-description { color:#e2f0fa; }
.program-facts { margin:26px 0 23px; }
.program-facts>div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:10px 0; border-bottom:1px solid #e8ebef; font-size:13px; }
.program-card .program-facts>div { border-bottom-color:#ffffff42; }
.program-facts dt { color:var(--muted); }
.program-facts dd { margin:0; font-weight:600; text-align:right; }
.program-card .program-facts dt { color:#cce5f5; }
.program-card .program-facts dd { color:#fff; }
.card-link { display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:700; color:var(--blue); padding-top:7px; }
.card-link span { font-size:25px; font-weight:400; transition:transform .2s; }
.card-link:hover span { transform:translate(3px,-3px); }
.high .card-link { color:var(--ink); }
.program-card .card-link,.program-card.high .card-link { color:#fff; }
.program-footnote { display:flex; justify-content:space-between; align-items:center; gap:30px; padding-top:25px; }
.program-footnote p { display:flex; align-items:center; gap:5px; font-size:11px; color:var(--muted); }
.program-footnote p>span { color:var(--blue); font-size:23px; margin-right:8px; }
.program-footnote strong { font-weight:600; color:var(--ink); }
.program-footnote small { max-width:310px; font-size:9px; line-height:1.65; color:var(--muted); }
.learning { background:#edf3f7; }
.learning-layout { display:grid; grid-template-columns:1fr 1.08fr; gap:100px; align-items:center; }
.learning-copy>p { color:var(--muted); font-size:14px; line-height:1.9; margin-top:22px; }
.learning-copy strong { color:var(--ink); font-weight:600; }
.certificate-note { display:flex; gap:14px; align-items:flex-start; border-top:1px solid #cfdce7; padding-top:24px; margin-top:28px; }
.certificate-note svg { color:var(--blue); flex:0 0 24px; margin-top:3px; }
.certificate-note p { color:var(--muted); font-size:11px; line-height:1.85; }
.subjects { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.subject { position:relative; min-height:226px; padding:26px; border-radius:6px; }
.subject-science { background:#d1eaf3; color:#12668c; }
.subject-language { background:#f9e0c7; color:#93540f; transform:translateY(22px); }
.subject-social { background:white; color:var(--navy); }
.subject-tech { background:#dae3f0; color:#33547f; transform:translateY(22px); }
.subject-icon { width:46px; height:46px; margin-bottom:18px; }
.subject h3 { font-size:17px; letter-spacing:-.5px; }
.subject p { font-size:10px; line-height:1.7; margin-top:8px; opacity:.8; }
.diploma { background:var(--navy); color:white; overflow:hidden; }
.diploma-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.diploma-copy h2 { font-size:48px; }
.diploma-copy h2 span { color:var(--orange); }
.diploma-copy>p { color:#c7d0e3; font-size:13px; margin-top:22px; line-height:1.9; }
.diploma-condition { display:flex; align-items:flex-start; gap:13px; margin-top:26px; padding-top:23px; border-top:1px solid #ffffff25; }
.diploma-condition .tiny-dot { margin-top:7px; }
.diploma-condition p { color:#c7d0e3; font-size:12px; line-height:1.9; }
.diploma-condition strong { color:#fff; font-weight:500; }
.diploma-copy .diploma-ending { color:#a9c2dc; font-size:12px; }
.diploma-ending strong { color:white; }

.diploma-visual { position:relative; min-height:455px; display:flex; align-items:center; justify-content:center; }
.diploma-orbit { position:absolute; width:440px; height:440px; border:1px solid #9eb6d133; border-radius:50%; }
.diploma-orbit::after { content:''; position:absolute; inset:29px; border-radius:50%; border:1px solid #9eb6d117; }
.diploma-card { position:absolute; padding:27px 29px; width:270px; height:309px; border-radius:4px; background:#fffdfa; color:var(--navy); box-shadow:0 18px 35px #11204744; display:flex; flex-direction:column; }
.diploma-card.brazil { top:32px; left:11px; transform:rotate(-9deg); border-top:5px solid #0085b4; }
.diploma-card.usa { right:0; top:140px; transform:rotate(7deg); border-top:5px solid var(--orange); }
.diploma-country { font-size:8px; letter-spacing:2px; }
.diploma-stamp { position:absolute; top:24px; right:24px; border:1px solid #a5c2ca; width:30px; height:30px; font-size:9px; display:grid; place-items:center; border-radius:50%; }
.usa .diploma-stamp { border-color:#e9ba90; }
.diploma-label { font:500 13px/1.5 var(--display); margin-top:38px; }
.diploma-card strong { font:700 19px/1.3 var(--display); max-width:185px; margin-top:7px; }
.diploma-line { display:block; height:1px; background:#dbe0e5; width:100%; margin-top:20px; }
.diploma-line.short { margin-top:8px; width:70%; }
.diploma-seal { color:#bd872d; width:42px; height:42px; margin:15px 0 0 auto; }
.benefit-row { display:grid; grid-template-columns:1fr 1fr 1fr; border-top:1px solid var(--line); padding-top:38px; }
.benefit-row article { padding:0 37px; border-right:1px solid var(--line); }
.benefit-row article:first-child { padding-left:0; }
.benefit-row article:last-child { border:0; padding-right:0; }
.benefit-row h3 { font-size:21px; letter-spacing:-.5px; }
.benefit-row p { font-size:12px; color:var(--muted); line-height:1.9; margin-top:13px; max-width:305px; }
.faq { background:white; border-top:1px solid var(--line); }
.faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.faq-intro>p { color:var(--muted); font-size:13px; line-height:1.8; max-width:270px; margin-top:24px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); padding:0; }
.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:24px; list-style:none; cursor:pointer; font-size:13px; font-weight:500; padding:22px 0; line-height:1.6; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-plus { position:relative; width:13px; height:13px; flex:0 0 13px; }
.faq-plus::before,.faq-plus::after { content:''; position:absolute; background:var(--blue); top:6px; left:0; width:13px; height:1px; }
.faq-plus::after { transform:rotate(90deg); transition:transform .2s; }
.faq-list details[open] .faq-plus::after { transform:rotate(0); }
.faq-list details p { font-size:12px; color:var(--muted); line-height:1.9; padding:0 30px 23px 0; }
.cta-section { background:var(--orange); padding:71px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:60px; }
.cta-section .eyebrow { color:#62461f; margin-bottom:17px; font-size:9px; }
.cta-section h2 { font-size:35px; letter-spacing:-1.4px; }
.cta-section p { font-size:12px; line-height:1.9; margin-top:20px; color:#614a31; }
.cta-actions { display:flex; flex-direction:column; align-items:center; gap:18px; }
.cta-secondary { background:none; border:0; font-size:11px; display:flex; gap:25px; align-items:center; padding:4px; }
.footer { background:var(--navy-deep); color:#fff; padding-top:47px; }
.footer-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; padding-bottom:34px; }
.footer-brand .brand-logo { width:185px; max-height:75px; }
.footer-inner p { font-size:10px; color:#9aaac7; line-height:1.8; }
.back-top { font-size:8px; letter-spacing:1.5px; display:flex; gap:25px; align-items:center; }
.back-top span { color:var(--orange); font-size:18px; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff15; font-size:8px; color:#8497ba; padding-block:20px; }
dialog { border:0; padding:0; color:var(--ink); box-shadow:0 25px 90px #0b183066; border-radius:8px; }
dialog::backdrop { background:#112047bd; backdrop-filter:blur(5px); }
body.dialog-open { overflow:hidden; }
.dialog-bar { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:14px 22px; border-bottom:1px solid var(--line); background:white; }
.dialog-bar h2 { font-size:14px; letter-spacing:0; }
.dialog-bar>div { display:flex; align-items:center; gap:18px; }
.dialog-bar .eyebrow { margin:0; font-size:9px; }
.dialog-close { background:#f0f3f7; border:0; width:33px; height:33px; border-radius:50%; display:grid; place-items:center; font-size:23px; font-weight:400; line-height:1; }
.info-dialog { width:min(520px,calc(100vw - 32px)); max-height:92dvh; }
.info-body { padding:31px; }
.info-body h2 { font-size:33px; letter-spacing:-1px; }
.info-body>p { font-size:12px; color:var(--muted); margin-top:15px; }
.info-program { display:flex; justify-content:space-between; align-items:center; border:1px solid var(--line); border-radius:5px; padding:18px; margin-top:15px; }
.info-program:hover { background:#edf5fa; }
.info-program:first-of-type { margin-top:26px; }
.info-program small { display:block; font-size:8px; letter-spacing:.7px; color:var(--blue); }
.info-program strong { display:block; font:700 18px/1.4 var(--display); margin-top:4px; letter-spacing:-.5px; }
.info-program>span:last-child { font-size:22px; color:var(--blue); }
.info-material { display:flex; width:100%; justify-content:space-between; align-items:center; padding:14px 0; margin-top:10px; font-size:12px; background:none; border:0; color:var(--blue); }
.info-body .info-note { font-size:10px; line-height:1.8; border-top:1px solid var(--line); padding-top:15px; margin-top:5px; }
@media (min-width:1500px) { .hero-layout { min-height:740px; } }
@media (max-width:1100px) { .container { width:calc(100% - 64px); } .main-nav { gap:18px; font-size:11px; } .hero-layout { gap:25px; } h1 { font-size:60px; } .hero-visual { padding-inline:20px; } .section-intro { gap:45px; } .learning-layout { gap:45px; } .program-card { padding-inline:28px; } .diploma-layout { gap:45px; } .diploma-card { width:235px; height:295px; padding:25px; } .diploma-card.brazil { left:0; } .diploma-card.usa { right:0; } .diploma-orbit { width:360px; height:360px; } .faq-layout { gap:55px; } }
@media (max-width:800px) { .container { width:calc(100% - 40px); } .header-inner { height:73px; } .brand-name { font-size:32px; } .menu-toggle { display:flex; flex-direction:column; justify-content:center; gap:6px; padding:9px; width:39px; height:39px; background:none; border:1px solid #d5dbe3; border-radius:3px; } .menu-toggle span { display:block; width:19px; height:1px; background:var(--navy); } .main-nav { position:absolute; top:73px; left:0; right:0; padding:15px 20px 22px; background:var(--paper); flex-direction:column; align-items:stretch; gap:8px; border-bottom:1px solid var(--line); display:none; } .main-nav.is-open { display:flex; } .main-nav>a { padding:10px 12px!important; } .nav-cta { justify-content:space-between; } .hero-layout { grid-template-columns:1fr 1fr; gap:15px; padding-top:43px; min-height:560px; } h1 { font-size:44px; letter-spacing:-2.1px; } .hero .eyebrow { font-size:8px; } .hero-lead { font-size:16px; margin-top:20px; } .hero-description { font-size:12px; } .hero-visual { padding-inline:15px; } .button { padding:15px 17px; gap:14px; font-size:10px; } .section { padding:75px 0; } h2 { font-size:36px; letter-spacing:-1.3px; } .section-intro { align-items:flex-start; gap:30px; } .section-intro>p { width:270px; font-size:12px; padding-top:38px; } .program-card { padding:25px 23px; } .card-top { flex-direction:column; align-items:flex-start; gap:10px; } .program-card h3 { font-size:26px; } .card-lead { font-size:13px; } .card-description { font-size:11px; min-height:90px; } .program-facts>div { font-size:10px; gap:10px; } .program-footnote p { display:block; font-size:9px; } .program-footnote small { max-width:250px; font-size:8px; } .learning-layout { grid-template-columns:1fr; gap:40px; } .learning-copy h2 br:nth-of-type(2) { display:none; } .learning-copy { max-width:520px; } .subjects { max-width:560px; width:100%; justify-self:center; padding-bottom:22px; } .subject { min-height:205px; } .diploma-layout { grid-template-columns:1fr; gap:65px; } .diploma-copy { grid-row:1; max-width:550px; } .diploma-copy h2 { font-size:40px; } .diploma-visual { min-height:425px; max-width:490px; width:100%; justify-self:center; } .diploma-card { width:270px; height:309px; } .diploma-card.brazil { left:20px; } .diploma-card.usa { right:15px; top:115px; } .diploma-orbit { width:420px; height:420px; } .benefit-row article { padding-inline:20px; } .benefit-row h3 { font-size:17px; } .benefit-row p { font-size:11px; } .faq-layout { gap:40px; grid-template-columns:1fr 1.25fr; } .faq-intro h2 { font-size:32px; } .faq-list summary { font-size:12px; } .cta-inner { gap:30px; } .cta-section h2 { font-size:28px; } .cta-section p { font-size:11px; } .cta-section p br { display:none; } .cta-actions { flex:0 0 240px; } .footer-inner { gap:20px; } .footer-inner p { font-size:9px; } }
@media (max-width:560px) { html { scroll-padding-top:88px; } .container { width:calc(100% - 40px); } .brand { gap:11px; } .hero-layout { display:flex; flex-direction:column; align-items:stretch; padding-top:42px; gap:42px; } .hero-copy { padding:0; } h1 { font-size:48px; letter-spacing:-2.6px; } .hero .eyebrow { font-size:8px; letter-spacing:1.3px; margin-bottom:22px; } .hero-lead { font-size:16px; } .hero-description { max-width:350px; font-size:12px; margin-top:14px; } .hero-actions { margin-top:22px; gap:10px; } .hero .button { font-size:11px; padding:17px 21px; gap:27px; margin-top:0; } .hero-visual { max-width:340px; width:100%; align-self:center; padding:0 22px 15px; } .orbit-one { right:-530px; } .orbit-two { right:-435px; } .section { padding:62px 0; } .eyebrow { font-size:8px; letter-spacing:1.4px; margin-bottom:17px; } h2 { font-size:34px; letter-spacing:-1.4px; } .section-intro { display:block; margin-bottom:30px; } .section-intro>p { padding:0; margin-top:21px; width:100%; max-width:375px; font-size:12px; } .program-grid { grid-template-columns:1fr; gap:20px; } .program-card { padding:26px; } .card-top { flex-direction:row; align-items:center; } .program-card h3 { font-size:30px; } .card-lead { font-size:15px; } .card-description { font-size:12px; min-height:0; } .program-facts>div { font-size:11px; } .card-link { font-size:12px; } .program-footnote { display:block; padding-top:18px; } .program-footnote p { font-size:10px; } .program-footnote small { display:block; font-size:9px; max-width:100%; margin-top:9px; } .learning-copy>p { font-size:12px; } .learning-copy h2 br:nth-of-type(2) { display:initial; } .learning-layout { gap:34px; } .subjects { gap:10px; } .subject { min-height:207px; padding:22px 18px; } .subject h3 { font-size:15px; } .subject p { font-size:9px; } .subject-icon { width:41px; height:41px; } .certificate-note p { font-size:10px; } .diploma-copy h2 { font-size:36px; } .diploma-copy>p { font-size:12px; } .university-pathway p { font-size:11px; } .diploma-layout { gap:37px; } .diploma-visual { min-height:350px; } .diploma-orbit { width:310px; height:310px; } .diploma-card { width:207px; height:250px; padding:21px; } .diploma-card.brazil { left:7px; top:16px; } .diploma-card.usa { right:3px; top:92px; } .diploma-card strong { font-size:19px; } .diploma-label { font-size:11px; margin-top:27px; } .diploma-country { font-size:6px; } .diploma-stamp { width:26px; height:26px; top:15px; right:16px; font-size:8px; } .diploma-seal { width:32px; height:32px; margin-top:12px; } .diploma-line { margin-top:16px; } .benefit-row { grid-template-columns:1fr; padding-top:0; } .benefit-row article { padding:23px 0!important; border:0; border-bottom:1px solid var(--line); } .benefit-row article:last-child { padding-bottom:0!important; } .benefit-row h3 { font-size:21px; } .benefit-row p { font-size:12px; max-width:100%; margin-top:9px; } .faq-layout { display:block; } .faq-intro h2 { font-size:34px; } .faq-intro>p { font-size:12px; max-width:100%; margin-top:19px; } .faq-list { margin-top:30px; } .faq-list summary { font-size:12px; padding:20px 0; } .faq-list details p { font-size:11px; } .cta-section { padding:51px 0; } .cta-inner { display:block; } .cta-section h2 { font-size:29px; } .cta-section p { font-size:12px; } .cta-actions { align-items:flex-start; margin-top:27px; gap:16px; } .cta-actions .button { font-size:11px; padding:18px 22px; gap:26px; } .cta-secondary { font-size:11px; } .footer { padding-top:34px; } .footer-inner { flex-wrap:wrap; gap:23px; padding-bottom:26px; } .footer-inner p { order:3; width:100%; font-size:10px; } .back-top { font-size:6px; letter-spacing:.8px; gap:10px; } .footer-bottom { display:block; font-size:7px; line-height:1.8; } .footer-bottom span { display:block; } .dialog-bar { padding:12px 14px; gap:8px; } .dialog-bar h2 { font-size:11px; } .dialog-bar>div { gap:10px; } .info-body { padding:26px 21px; } .info-body h2 { font-size:30px; } .info-program { padding:16px 13px; } .info-program strong { font-size:16px; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; animation:none!important; } }

/* Ajustes dos assets oficiais e da personagem nos breakpoints compactos. */
@media (max-width:800px) {
  .brand-logo { width:150px; max-height:62px; }
  .hero-model-stage { height:540px; }
  .program-logo { width:110px; margin-block:19px 11px; }
}
@media (max-width:560px) {
  .brand-logo { width:143px; max-height:59px; }
  .hero-visual { max-width:380px; padding:0 13px 15px; }
  .hero-model-stage { height:500px; }
  .program-logo { width:112px; }
  .footer-brand .brand-logo { width:min(152px,45vw); }
}


/* Tipografia revisada para manter legibilidade e contraste. */
.eyebrow { font-size:12px; letter-spacing:1.3px; }
.hero .eyebrow { font-size:12px; }
.main-nav { font-size:14px; }
.hero-description,.section-intro>p { font-size:16px; line-height:1.75; }
.button,.hero .button,.cta-actions .button { font-size:14px; }
.hero-actions .button { width:min(340px,100%); }
.program-step { font-size:12px; }
.year-tag { font-size:12px; letter-spacing:.3px; }
.program-card h3 { font-size:36px; }
.card-lead { font-size:18px; }
.card-description { font-size:16px; line-height:1.75; min-height:0; }
.program-card .card-description { color:#fff; }
.program-facts>div { font-size:14px; padding-block:13px; gap:14px; }
.program-card .program-facts dt,.program-card .program-facts dd { color:#fff; }
.program-card .program-facts>div { border-bottom-color:#ffffff55; }
.card-link { font-size:15px; }
.program-footnote { flex-wrap:wrap; gap:14px 30px; }
.program-footnote p { display:block; font-size:14px; }
.program-footnote small { display:block; max-width:420px; font-size:13px; line-height:1.65; }
.learning-copy>p { font-size:16px; line-height:1.75; }
.certificate-note p { font-size:14px; line-height:1.8; }
.subject h3 { font-size:18px; }
.subject p { font-size:15px; line-height:1.65; opacity:1; }
.subject p br { display:none; }
.diploma-copy>p { font-size:16px; line-height:1.75; }
.diploma-condition p { font-size:15px; line-height:1.75; }
.diploma-copy .diploma-ending { font-size:15px; line-height:1.7; }
.diploma-country,.diploma-stamp { font-size:11px; }
.diploma-label { font-size:14px; }
.benefit-row p { font-size:16px; line-height:1.75; }
.faq-intro>p { font-size:16px; line-height:1.8; }
.faq-list summary { font-size:16px; }
.faq-list details p { font-size:16px; line-height:1.8; }
.cta-section h2,.cta-section .eyebrow,.cta-section p,.cta-secondary { color:#202e53; }
.cta-section .eyebrow { font-size:12px; }
.cta-section p { font-size:16px; line-height:1.75; }
.cta-secondary { font-size:14px; }
.footer-inner p { color:#cbd7ee; font-size:14px; }
.footer-bottom { color:#d5def0; font-size:14px; line-height:1.5; }
.back-top { font-size:12px; }
.dialog-bar h2 { font-size:16px; }
.dialog-bar .eyebrow { font-size:12px; }
.info-body>p { font-size:16px; line-height:1.75; }
.info-program small { font-size:12px; letter-spacing:.35px; }
.info-material { font-size:15px; }
.info-body .info-note { font-size:13px; line-height:1.75; }
.footer-brand .brand-logo { background:transparent; padding:0; border-radius:0; }

/* Conteúdo universitário em faixa independente após as duas colunas do High School. */
.university-pathway {
  margin-top:54px;
  padding:34px 38px;
  background:var(--navy-deep);
  border-left:5px solid var(--orange);
  border-radius:4px;
}
.university-pathway h3 {
  color:#fff;
  font-size:30px;
  font-weight:700;
  letter-spacing:-.5px;
  line-height:1.3;
}
.university-pathway h3 span { color:var(--orange); }
.university-pathway p {
  max-width:1080px;
  color:#f0f4ff;
  font-size:18px;
  line-height:1.75;
  margin-top:15px;
}

/* A paleta permanece fiel ao original, com contraste reforçado nas áreas laranja. */
.program-card.junior .program-step,.program-card.high .program-step { color:#fff; }
.subject-science p,.subject-language p,.subject-social p,.subject-tech p { opacity:1; }

@media (max-width:1100px) and (min-width:801px) {
  .header-inner { gap:20px; }
  .main-nav { gap:17px; font-size:13px; }
  .brand-logo { width:155px; }
  .nav-cta { gap:14px; }
}
@media (max-width:800px) {
  .main-nav { font-size:15px; }
  .hero .eyebrow,.eyebrow { font-size:11px; }
  .hero-description,.section-intro>p { font-size:16px; }
  .program-grid { grid-template-columns:1fr; max-width:620px; margin-inline:auto; }
  .program-card h3 { font-size:32px; }
  .card-lead { font-size:17px; }
  .program-facts>div { font-size:14px; }
  .program-footnote p { font-size:14px; }
  .program-footnote small { font-size:12px; }
  .learning-copy>p { font-size:16px; }
  .diploma-layout { grid-template-columns:1fr; gap:48px; }
  .diploma-copy { grid-row:1; max-width:650px; }
  .diploma-copy>p { font-size:16px; }
  .diploma-condition p { font-size:14px; }
  .diploma-visual { min-height:425px; max-width:520px; width:100%; justify-self:center; }
  .university-pathway { margin-top:46px; padding:30px; }
  .university-pathway h3 { font-size:27px; }
  .university-pathway p { font-size:17px; }
  .benefit-row p { font-size:16px; }
  .faq-layout { grid-template-columns:1fr; gap:28px; }
  .faq-intro>p { max-width:540px; }
  .cta-inner { flex-direction:column; align-items:flex-start; gap:28px; }
  .cta-actions { flex:0 1 auto; align-items:flex-start; }
}
@media (max-width:560px) {
  .main-nav { font-size:15px; }
  .hero .eyebrow { letter-spacing:1px; }
  .hero-actions .button { gap:14px; padding:17px 18px; }
  .program-card { padding:25px 22px; }
  .card-top { flex-wrap:wrap; flex-direction:row; align-items:center; gap:10px; }
  .program-card h3 { font-size:30px; }
  .card-lead { font-size:16px; }
  .card-description { font-size:16px; }
  .program-facts>div { font-size:14px; gap:10px; }
  .program-footnote p { font-size:13px; }
  .program-footnote small { font-size:12px; }
  .learning-copy>p { font-size:16px; }
  .subjects { grid-template-columns:1fr 1fr; gap:12px; }
  .subject { min-height:0; padding:22px 18px; }
  .subject h3 { font-size:17px; }
  .subject p { font-size:15px; }
  .subject-language,.subject-tech { transform:none; }
  .diploma-copy h2 { font-size:36px; }
  .diploma-copy>p { font-size:16px; }
  .diploma-condition p { font-size:14px; }
  .diploma-ending { font-size:14px; }
  .university-pathway { margin-top:40px; padding:25px 21px; }
  .university-pathway h3 { font-size:24px; }
  .university-pathway p { font-size:16px; }
  .benefit-row p { font-size:16px; }
  .faq-intro>p { font-size:16px; }
  .faq-list summary { font-size:16px; }
  .faq-list details p { font-size:16px; }
  .cta-section p { font-size:16px; }
  .footer-inner { column-gap:16px; }
  .footer-inner p { font-size:13px; }
  .footer-bottom { font-size:12px; white-space:normal; }
  .back-top { font-size:11px; gap:10px; letter-spacing:.5px; }
  .info-body>p { font-size:16px; }
  .info-body .info-note { font-size:12px; }
}

@media (max-width:480px) {
  .subjects { grid-template-columns:1fr; }
  .subject { padding:25px; }
  .subject h3 { font-size:20px; }
  .subject p { font-size:16px; }
}
