
@font-face{font-family:"Emilio";src:url(/assets/77bee9332afe.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Delight";src:url(/assets/b66b75e01398.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Delight";src:url(/assets/b261330baba6.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Delight";src:url(/assets/33742925e3dc.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Delight";src:url(/assets/fb417717e514.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}

:root{
  --blue:#02143E; --blue-hover:#0B2566; --red:#D82222; --white:#FFFFFF;
  --layer:#F4F4F4; --layer-hover:#E8E8E8; --ph:#E0E0E0; --border:#C6C6C6; --border-subtle:#E0E0E0;
  --text:#02143E; --text-2:#525252; --text-3:#6F6F6F; --on-dark-2:#C6C6C6; --field-line:#8D8D8D; --placeholder:#A8A8A8;
  --warn-bg:#FCF4D6; --warn:#F1C21B;
  --inset:32px; --sec:96px; --gutter:32px; --header-h:81px;
  --ease:cubic-bezier(.2,0,.38,.9); --ease-out:cubic-bezier(0,0,.38,.9);
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]){ color-scheme:light; --layer:#F4F4F4; } }
:root[data-theme="dark"]{ color-scheme:light; }
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + var(--header-h) + 16px)}
body{margin:0;background:var(--white);color:var(--text);font-family:"Delight",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.on-dark :focus-visible{outline-color:#fff}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--inset);padding-right:var(--inset)}
.i{width:16px;height:16px;flex:none;display:block}

/* ---------- Type ---------- */
.eyebrow{font-size:14px;line-height:1.5;color:var(--red)}
.eyebrow--emilio{font-family:"Emilio",Georgia,"Times New Roman",serif;font-weight:400}
.h1{font-size:54px;line-height:1.15;font-weight:700;letter-spacing:-.01em}
.h2{font-size:42px;line-height:1.2;font-weight:700;letter-spacing:-.005em}
.h3{font-size:20px;line-height:1.3;font-weight:700}
.lead{font-size:20px;line-height:1.5;color:var(--text-2)}
.muted{color:var(--text-2)}
.small{font-size:14px}
.tiny{font-size:12px}
.head{display:flex;flex-direction:column;gap:16px;max-width:672px}
@media (min-width:1056px){.sec .head{max-width:none}.sec .head .lead{max-width:672px}.sec .h2,.cta .h2 span{white-space:nowrap}}

/* ---------- Buttons (Carbon large, 48px) ---------- */
.btn{display:inline-flex;align-items:center;gap:32px;height:48px;padding:0 16px;font-size:14px;line-height:1;white-space:nowrap;border:1px solid transparent;cursor:pointer;transition:background-color .11s var(--ease),color .11s var(--ease),border-color .11s var(--ease);background:none}
.btn .i{transition:transform .2s var(--ease)}
.btn:hover .i{transform:translateX(3px)}
.btn--primary{background:var(--blue);color:#fff}
.btn--primary:hover{background:var(--blue-hover)}
.btn--tertiary{border-color:var(--blue);color:var(--blue)}
.btn--tertiary:hover{background:var(--blue);color:#fff}
.btn--inverse{background:#fff;color:var(--blue)}
.btn--inverse:hover{background:var(--layer-hover)}
.btn--ghost-inverse{border-color:#fff;color:#fff}
.btn--ghost-inverse:hover{background:#fff;color:var(--blue)}
.btn--plain{gap:0}
.btn-set{display:flex;gap:16px;flex-wrap:wrap}
.link{display:inline-flex;align-items:center;gap:8px;font-size:16px;color:var(--blue);border-bottom:1px solid transparent;transition:border-color .11s var(--ease)}
.link:hover{border-bottom-color:currentColor}
.link .i{transition:transform .2s var(--ease)}
.link:hover .i{transform:translateX(3px)}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:#fff;border-bottom:1px solid var(--border-subtle);transition:box-shadow .2s var(--ease)}
.site-header.scrolled{box-shadow:0 2px 12px rgba(2,20,62,.08)}
.site-header > .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:80px}
.logo{display:inline-flex;align-items:center;height:48px}
.logo img{height:48px;width:auto}
.nav{display:flex;align-items:center}
.nav a{display:flex;align-items:center;height:48px;padding:0 16px;font-size:14px;position:relative;transition:color .11s var(--ease)}
/* active item: the shooting star from the logo */
.nav a::before{content:"";position:absolute;left:16px;right:21.5px;bottom:9px;height:3px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 4' preserveAspectRatio='none'%3E%3Cpath fill='%23D82222' d='M0 1.7L100 0V4L0 2.3Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;clip-path:inset(0 100% 0 0);transition:clip-path .45s var(--ease-out);pointer-events:none}
.nav a::after{content:"";position:absolute;left:10px;bottom:5px;width:11px;height:11px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='153.3 30.3 50 50'%3E%3Cpath fill='%23D82222' d='M177.662 30.8843C177.823 30.1814 178.824 30.1814 178.984 30.8843L181.935 43.8394C182.806 47.6666 185.804 50.6499 189.635 51.5034L202.762 54.4278C203.469 54.5853 203.469 55.5931 202.762 55.7507L189.635 58.675C185.804 59.5286 182.806 62.5118 181.935 66.339L178.984 79.2941C178.824 79.997 177.823 79.997 177.662 79.2941L174.712 66.339C173.84 62.5118 170.842 59.5286 167.011 58.675L153.884 55.7507C153.177 55.5931 153.177 54.5853 153.884 54.4278L167.011 51.5034C170.842 50.6499 173.84 47.6666 174.712 43.8394L177.662 30.8843Z'/%3E%3C/svg%3E") center/contain no-repeat;opacity:0;transform:scale(.3) rotate(-90deg);transition:left .45s var(--ease-out),opacity .2s var(--ease),transform .45s var(--ease-out);pointer-events:none}
.nav a:hover::before,.nav a[aria-current="page"]::before{clip-path:inset(0 0 0 0)}
.nav a:hover::after,.nav a[aria-current="page"]::after{left:calc(100% - 27px);opacity:1;transform:scale(1) rotate(0deg)}
.nav a[aria-current="page"]::after{animation:twinkle 3.2s ease-in-out .6s infinite}
@keyframes twinkle{0%,72%,100%{transform:scale(1) rotate(0deg)}80%{transform:scale(1.4) rotate(45deg)}88%{transform:scale(.85) rotate(90deg)}}
@media (prefers-reduced-motion:reduce){.nav a::before,.nav a::after{transition:none}.nav a[aria-current="page"]::after{animation:none}}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:16px}
.lang{display:flex;gap:4px}
.lang button{height:48px;padding:0 8px;border:0;background:none;font-size:14px;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent}
.lang button[aria-pressed="true"]{color:var(--blue);font-weight:700;border-bottom-color:var(--blue)}
.lang button:hover{color:var(--blue)}

/* ---------- Pages & reveal ---------- */
.page{display:none}
.page.active{display:block;animation:pageIn .4s var(--ease-out)}
@keyframes pageIn{from{opacity:0}to{opacity:1}}
.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out)}
.reveal.in{opacity:1;transform:none}
.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}

/* ---------- Sections ---------- */
.sec{padding:var(--sec) 0}
.sec--layer{background:var(--layer)}
.sec--dark{background:var(--blue);color:#fff}
.stack{display:flex;flex-direction:column;gap:48px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.split--top{align-items:start}
.split>*,.grid-2>*,.grid-3>*,.grid-4>*{min-width:0}
.stack>.split{align-items:start}

/* ---------- Photo placeholders ---------- */
.photo{position:relative;overflow:hidden;background:linear-gradient(135deg,#1c2f5e 0%,#02143E 60%,#010b24 100%)}
.photo::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(216,34,34,.25),transparent 55%)}
.photo span{position:absolute;left:16px;bottom:12px;font-size:12px;color:rgba(255,255,255,.7);letter-spacing:.02em}
.photo img{width:100%;height:100%;object-fit:cover}

.photo[class*="ph-"]{background-size:cover;background-position:center;background-repeat:no-repeat}
.photo[class*="ph-"]::before{display:none}
.ph-hero{background-image:url("/assets/5a7ddf7c0e28.webp")}
.ph-contact{background-image:url("/assets/f36ee3ee24cb.webp")}
.ph-asba{background-image:url("/assets/77a21c801bc1.webp")}
.ph-mba{background-image:url("/assets/859e5514923b.webp")}
.ph-friends{background-image:url("/assets/64f4b60bbecb.webp")}
.ph-asba-admission{background-image:url("/assets/fabeaaa39e7d.webp")}
.ph-mba-admission{background-image:url("/assets/c2e8adfc51bc.webp")}
.ph-english-test{background-image:url("/assets/44b747ae7fad.webp")}
.ph-eng-split{background-size:auto 118%!important;background-position:54% 28%!important}
.ph-hero-tuition{background-image:url("/assets/c0206e82eb5c.webp")}
.ph-team{background-image:url("/assets/e99e8a479328.webp");background-position:50% 50%}
.nh-photo.ph-hero-tuition{background-position:55% 40%}
.hero .ph-hero{background-position:40% 50%}
.ph-friends{background-position:62% 50%}


/* ---------- New hero (photo + tile column) ---------- */
.nh{background:var(--blue);color:#fff;display:grid;grid-template-columns:1fr auto;align-items:stretch;min-height:471px}
.nh-text{display:flex;flex-direction:column;justify-content:center;gap:24px;padding:64px 64px 64px max(var(--inset),calc((100vw - 1440px)/2 + var(--inset)))}
.nh-text .h1{font-size:48px}
.nh-text .lead,.nh-text .crumbs{color:var(--on-dark-2)}
.nh-text .crumbs a:hover{color:#fff}
.nh-text .eyebrow{color:#FF6B6B}
.nh-art{display:grid;grid-template-columns:3fr 1fr;height:100%;min-height:471px;aspect-ratio:4/3;align-self:stretch}
.nh-photo{height:100%;background-position:54% 50%}
.nh-tiles{display:grid;grid-template-rows:repeat(3,1fr);line-height:0;background:#fff}
.nh-tiles .t{background-image:url("/assets/0276ae465770.svg");background-repeat:no-repeat;background-size:500% 300%}
.nh-tiles .nt{background-size:cover;background-position:center;background-repeat:no-repeat}
.nt-helmet{background-image:url("/assets/8cb235ca81ff.svg")}
.nt-bell{background-image:url("/assets/89f9c7561085.svg")}
.nt-gradcap{background-image:url("/assets/9e1494051986.svg")}
.nt-pennant{background-image:url("/assets/346948962791.svg")}
.nt-statue{background-image:url("/assets/774fb325d53b.svg")}
.nt-empire{background-image:url("/assets/77b3f5affe8d.svg")}
.nt-goldengate{background-image:url("/assets/5294b6235b25.svg")}
.nt-capitol{background-image:url("/assets/2ffc133da5c9.svg")}
.nt-route66{background-image:url("/assets/a4572a8abb47.svg")}
.nt-torch{background-image:url("/assets/f04d0a740712.svg")}
.nt-palm{background-image:url("/assets/320560d38d2e.svg")}
.nt-lifeguard{background-image:url("/assets/e4314c4b18d1.svg")}
.nt-mnavy{background-image:url("/assets/9f8d8835b045.svg")}
.nt-mwhite{background-image:url("/assets/7f305df79ea8.svg")}
.nh-tiles .t-m{background-position:75% 100%}
.nh-tiles .t-empire{background-position:75% 0}
.nh-tiles .t-torch{background-position:75% 50%}
.nh--wide .nh-art{grid-template-columns:577fr 157fr;aspect-ratio:734/471}
.nh--wide .nh-text .h1{font-size:44px}
.nh--wide .nh-text{gap:20px;padding-top:48px;padding-bottom:48px}
.nh--wide .nh-text .lead{font-size:18px}
.nh-photo.ph-team{background-position:18% 50%}
.nh--wide .nh-photo.ph-friends{background-position:55% 50%}
.nh-photo.ph-english-test{background-position:52% 25%}
.nh-photo.ph-contact{background-position:50% 30%}


/* ---------- Home hero ---------- */
.hero{--faixa-h:120px;position:relative;height:calc(100svh - var(--header-h) - var(--faixa-h));min-height:480px;color:#fff;display:flex;align-items:flex-end;overflow:hidden}
.hero .photo{position:absolute;inset:0}
.hero .photo span{top:16px;bottom:auto;left:auto;right:24px}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 30%,rgba(0,0,0,.6) 60%,rgba(0,0,0,.85) 80%,rgba(0,0,0,.92) 100%);pointer-events:none}
.hero-inner{position:relative;z-index:1;width:100%;padding-bottom:var(--sec);display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.hero-title{font-size:60px;line-height:1.2;font-weight:700;letter-spacing:-.01em}
.hero-lead{font-size:20px;color:var(--on-dark-2)}
.hero-note{font-size:14px;color:var(--on-dark-2)}
.hero-inner>*{opacity:0;transform:translateY(20px);animation:rise .8s var(--ease-out) forwards}
.hero-inner>*:nth-child(1){animation-delay:.1s}.hero-inner>*:nth-child(2){animation-delay:.2s}.hero-inner>*:nth-child(3){animation-delay:.32s}.hero-inner>*:nth-child(4){animation-delay:.44s}.hero-inner>*:nth-child(5){animation-delay:.56s}
@keyframes rise{to{opacity:1;transform:none}}

/* ---------- Illustration strip (marquee) ---------- */
.faixa{overflow:hidden;background:#fff;line-height:0}
.faixa-track{display:flex;width:max-content;animation:marquee 70s linear infinite}
.faixa:hover .faixa-track{animation-play-state:paused}
.faixa img{height:120px;width:auto;flex:none;margin-right:-1px}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- Cards / tiles ---------- */
.card{background:var(--layer);display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(2,20,62,.10)}
.card .photo{height:220px}
.card-body{padding:16px;display:flex;flex-direction:column;gap:16px;flex:1}
.card-title{font-size:24px;line-height:1.3;font-weight:700}
.card-body .btn{align-self:flex-start;margin-top:auto}
.tile{background:#fff;padding:24px;display:flex;flex-direction:column;gap:12px}
.sec--white .tile,.tile--layer{background:var(--layer)}
.tile .link{margin-top:auto;padding-top:4px}
.feature{display:flex;flex-direction:column;gap:16px}
.picto{width:64px;height:64px;transition:transform .3s var(--ease)}
.feature:hover .picto{transform:translateY(-4px) rotate(-3deg)}
.bullets{display:flex;flex-direction:column;gap:12px}
.bullets li{display:grid;grid-template-columns:6px 1fr;gap:12px;align-items:baseline}
.bullets li::before{content:"";width:6px;height:6px;background:var(--blue);transform:translateY(-3px)}
.bullets--sm{gap:8px;font-size:14px}
.steps li{border-top:1px solid var(--blue);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.step-num{font-size:28px;line-height:1.2;color:var(--text-3)}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.facts div{border-top:1px solid var(--blue);padding-top:16px;display:flex;flex-direction:column;gap:8px}
.facts dt{font-size:14px;color:var(--text-2)}
.facts dd{margin:0;font-size:24px;font-weight:700}
.facts--5{grid-template-columns:repeat(5,1fr)}
.table--3{table-layout:fixed}.table--3 th{width:33.33%}
.table--5{table-layout:fixed}.table--5 th{width:20%}
.big{font-size:36px;line-height:1.2;font-weight:700}
.note{background:var(--warn-bg);border-left:3px solid var(--warn);padding:12px 16px;font-size:14px}

/* ---------- Accordion ---------- */
.faq-split .h2{white-space:normal!important}
.faq-split{display:grid;grid-template-columns:560px 1fr;gap:32px;align-items:start}
.acc{border-bottom:1px solid var(--border)}
.acc details{border-top:1px solid var(--border)}
.acc summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;cursor:pointer;transition:background-color .11s var(--ease)}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover{background:var(--layer-hover)}
.sec--white .acc summary:hover{background:var(--layer)}
.acc summary .i{transition:transform .24s var(--ease)}
.acc details[open] summary .i{transform:rotate(180deg)}
.acc .acc-body{padding:0 64px 24px 16px;color:var(--text-2);overflow:hidden}
.acc details[open] .acc-body{animation:accIn .3s var(--ease-out)}
@keyframes accIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ---------- Tables ---------- */
.table{width:100%;border-collapse:collapse;font-size:16px}
.table th{background:var(--ph);text-align:left;font-size:14px;font-weight:700;padding:12px 16px}
.table td{padding:16px;border-bottom:1px solid var(--border);color:var(--text-2)}
.table td:first-child{color:var(--blue)}
.table tr.total td{font-weight:700;color:var(--blue)}
.table tbody tr{transition:background-color .11s var(--ease)}
.table tbody tr:hover{background:var(--layer)}
.table .group td{background:var(--layer);color:var(--blue);font-size:14px;font-weight:700;padding:8px 16px}

/* ---------- Final CTA ---------- */
.cta{background:var(--blue);color:#fff;overflow:hidden}
.cta-inner{max-width:none;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
.cta-text{padding-left:max(var(--inset),calc((100vw - 1440px)/2 + var(--inset)));display:flex;flex-direction:column;gap:48px}
.cta-text .lead{color:var(--on-dark-2)}
.cta-title{font-size:40px}
.cta-title span{display:block}
.cta-grid{display:grid;background:#fff;line-height:0;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(3,1fr);aspect-ratio:5/3}
.cta-grid .t{background-image:url("/assets/0276ae465770.svg");background-repeat:no-repeat;background-size:500% 300%}
.cta-grid .t-eagle{grid-column:1/4;grid-row:1/4;background-size:166.667% 100%;background-position:0 0}
.cta-grid .t-empire{background-position:75% 0}
.cta-grid .t-statue{background-position:100% 0}
.cta-grid .t-torch{background-position:75% 50%}
.cta-grid .t-bridge{background-position:100% 50%}
.cta-grid .t-m{background-position:75% 100%}
.cta-grid .t-ball{background-position:100% 100%}

/* ---------- Footer ---------- */
.site-footer{padding:64px 0 32px;background:#fff;border-top:1px solid var(--border-subtle)}
.footer-main{display:flex;justify-content:space-between;align-items:flex-start;gap:48px}
.footer-brand{width:320px;max-width:100%;display:flex;flex-direction:column;gap:20px}
.brand-social{display:flex;align-items:center;gap:24px}
.brand-social .logo{height:44px}
.brand-social .logo img{height:44px}
.social{display:flex;gap:4px}
.social a{width:40px;height:40px;display:grid;place-items:center;color:var(--blue);transition:background-color .11s var(--ease),color .11s var(--ease)}
.social a:hover{background:var(--blue);color:#fff}
.social svg{width:24px;height:24px}
.footer-desc{margin:0;font-size:14px;line-height:20px;color:var(--text-2)}
.footer-links{display:flex;gap:64px;font-size:14px;line-height:20px}
.fcol{display:flex;flex-direction:column;gap:12px}
.fcol h3{margin:0;font-size:14px;line-height:20px;font-weight:600;color:var(--blue)}
.fcol a{color:var(--text-2)}
.fcol a:hover{text-decoration:underline}
.fnote{font-size:12px;line-height:17px;color:var(--text-2)}
.footer-bottom{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:48px;padding-top:24px;border-top:1px solid var(--border-subtle);font-size:12px;line-height:17px;color:var(--text-2)}
.footer-bottom p{margin:0}
.legal{display:flex;flex-direction:column;gap:4px}
.policies{display:flex;gap:24px;white-space:nowrap}
.policies a:hover{text-decoration:underline}

/* ---------- Inner page hero ---------- */
.page-hero{background:var(--layer);padding:var(--sec) 0}
.page-hero .photo{height:440px}
.page-hero-text{display:flex;flex-direction:column;gap:24px}
.page-hero--dark{background:var(--blue);color:#fff}
.page-hero--dark .lead,.page-hero--dark .crumbs{color:var(--on-dark-2)}
.page-hero--dark .crumbs a:hover{color:#fff}
.page-hero--dark .eyebrow{color:#FF6B6B}
.crumbs{font-size:14px;color:var(--text-2);display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:var(--blue);text-decoration:underline}

/* ---------- Forms (Carbon) ---------- */
.form{display:flex;flex-direction:column;gap:32px}
.field{display:flex;flex-direction:column;gap:8px}
.field label,.field .label{font-size:12px;color:var(--text-2)}
.input{height:48px;width:100%;padding:0 16px;background:var(--layer);border:0;border-bottom:1px solid var(--field-line);outline-offset:-2px;font-size:14px;color:var(--blue);border-radius:0;transition:background-color .11s var(--ease)}
.input::placeholder{color:var(--placeholder)}
.input:hover{background:var(--layer-hover)}
.input:focus{outline:2px solid var(--blue)}
textarea.input{height:160px;padding:12px 16px;resize:vertical}
select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='M3 6l5 5 5-5' fill='none' stroke='%2302143E' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:48px}
select.input:disabled{opacity:.5;cursor:not-allowed}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-info{display:flex;flex-direction:column;gap:4px}
.form-info dd{margin:0;font-weight:500}
.form-info dt{font-size:14px;color:var(--text-2)}
.form-info--list{gap:16px}
.form-info--list>div{display:flex;flex-direction:column;gap:4px}
.form-info a:hover{text-decoration:underline}

/* Progress indicator */
.progress{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.progress li{display:flex;flex-direction:column;gap:8px;font-size:14px;color:var(--text-2)}
.progress li::before{content:"";height:2px;background:var(--border);transition:background-color .3s var(--ease)}
.progress li span{display:flex;align-items:center;gap:8px}
.progress li span::before{content:"";width:14px;height:14px;border-radius:50%;border:1px solid var(--field-line);flex:none;transition:background-color .3s var(--ease),border-color .3s var(--ease)}
.progress li.current,.progress li.done{color:var(--blue)}
.progress li.current{font-weight:500}
.progress li.current::before,.progress li.done::before{background:var(--blue)}
.progress li.current span::before{background:var(--blue);border-color:var(--blue)}
.progress li.done span::before{background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M4 7.2l2 2 4-4.4' fill='none' stroke='%23fff' stroke-width='1.5'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--blue)}

.step{display:none;flex-direction:column;gap:24px}
.step.active{display:flex;animation:stepIn .35s var(--ease-out)}
@keyframes stepIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.step-head{display:flex;flex-direction:column;gap:8px;padding:0;margin-bottom:24px}
.step{gap:24px}
.step-head .eyebrow{font-size:14px}
.step-nav{display:flex;gap:16px;justify-content:space-between;border-top:1px solid var(--border);padding-top:24px}

.choice-tiles{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.choice{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;background:var(--layer);border:1px solid var(--border);cursor:pointer;transition:border-color .11s var(--ease),background-color .11s var(--ease)}
.choice:hover{background:var(--layer-hover)}
.choice input{position:absolute;opacity:0;pointer-events:none}
.choice-top{display:flex;justify-content:space-between;gap:12px;font-weight:700}
.choice-top::after{content:"";width:20px;height:20px;border-radius:50%;border:1px solid var(--blue);flex:none;transition:background-color .15s var(--ease),border-color .15s var(--ease)}
.choice:has(input:checked){border:2px solid var(--blue);padding:15px}
.choice:has(input:checked) .choice-top::after{background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.3l2.8 2.8L14 7.4' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center/20px no-repeat}
.choice:has(input:focus-visible){outline:2px solid var(--blue);outline-offset:2px}
.choice span.muted{font-size:14px}

.radio{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:14px;padding:4px 0}
.radio input{appearance:none;width:20px;height:20px;border:1px solid var(--blue);border-radius:50%;margin:0;flex:none;display:grid;place-items:center;cursor:pointer}
.radio input::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--blue);transform:scale(0);transition:transform .15s var(--ease)}
.radio input:checked::after{transform:scale(1)}

.upload{display:flex;flex-direction:column;gap:8px}
.upload[hidden]{display:none}
.upload-title{font-size:14px;font-weight:500}
.drop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px dashed var(--blue);transition:background-color .15s var(--ease),border-color .15s var(--ease)}
.drop.drag{background:var(--layer);border-style:solid}
.drop.has-file{border-style:solid;background:var(--layer)}
.drop input{display:none}
.drop .file-name{font-weight:500}
.success{display:none;flex-direction:column;gap:16px;padding:32px;background:var(--layer);border-top:3px solid var(--blue)}
.success.show{display:flex;animation:stepIn .4s var(--ease-out)}


/* ---------- Grants (pricing card) ---------- */
@property --trail{syntax:"<angle>";inherits:false;initial-value:0deg}
.grants{position:relative;overflow:hidden}
.grants-head{max-width:960px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:20px}
@media (min-width:1056px){.grants-head .h2{white-space:nowrap}}
.grants-head .lead{max-width:576px}
.grants-label{display:inline-block;border:1px solid var(--border);border-radius:8px;padding:4px 16px;font-size:14px;letter-spacing:.02em;color:var(--blue)}
.grants-stage{position:relative;margin-top:56px}
.grants-bg{position:absolute;inset:-64px 0;pointer-events:none;background-image:linear-gradient(to right,rgba(2,20,62,.18) 1px,transparent 1px),linear-gradient(to bottom,rgba(2,20,62,.18) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%);mask-image:radial-gradient(ellipse at center,#000 10%,transparent 70%)}
.grants-wrap{position:relative;max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.grants-box{position:relative;display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--border);padding:16px}
.plus{position:absolute;width:22px;height:22px;color:var(--blue)}
.plus.tl{top:-12px;left:-12px}.plus.tr{top:-12px;right:-12px}.plus.bl{bottom:-12px;left:-12px}.plus.br{bottom:-12px;right:-12px}
.grant{position:relative;padding:20px 16px 16px;display:flex;flex-direction:column;gap:6px}
.grant{border:1px solid transparent;transition:border-color .2s var(--ease)}
.grant:hover{border-color:var(--red)}
.grant-top{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
.grant-name{font-size:20px;line-height:1.2;font-weight:700}
.grant-tags{display:flex;align-items:center;gap:6px;flex:none}
.grant-was{font-size:12px;color:var(--text-3);text-decoration:line-through}
.badge{font-size:14px;font-weight:600;color:var(--blue)}
.grant-price{display:flex;align-items:flex-end;gap:2px;margin-top:40px;margin-bottom:16px;font-size:20px;color:var(--text-2)}
.grant-price strong{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.03em;color:var(--blue);margin-bottom:-2px}
.trail{position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from var(--trail),transparent 0deg,transparent 290deg,rgba(216,34,34,.25) 320deg,var(--red) 350deg,transparent 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:trail 5s linear infinite;opacity:0;transition:opacity .25s var(--ease)}
.grant:hover .trail{opacity:1}
@keyframes trail{to{--trail:360deg}}
.btn--full{width:100%;justify-content:space-between}
.grant--layer{background:var(--layer)}
.grant-top .badge{font-size:14px}
.mila-box{display:flex;align-items:center;justify-content:space-between;gap:32px;background:var(--blue);padding:24px 32px}
.mila-box-text{display:flex;flex-direction:column;gap:8px;max-width:440px}
.mila-box .eyebrow{color:#FF8A8A;font-size:12px;margin:0}
.mila-box .h3{color:#fff;font-size:20px;line-height:1.3}
.mila-box .small{color:var(--on-dark-2);margin:0}
.mila-box .btn{flex:none}
.table td.strong{font-weight:700;color:var(--blue)}
.td-label{display:none}
.table-note{margin:0;background:#fff;border-left:3px solid var(--red);padding:16px 20px;font-size:14px;color:var(--text-2)}
.grants-foot{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;color:var(--text-2)}


/* ---------- Seals (award badge) ---------- */
.seals-sec{padding:8px 0 64px}
.seals{display:flex;justify-content:center;flex-wrap:wrap;gap:24px}
.seals .seal{width:420px;max-width:100%}
.seal{display:block;width:420px;max-width:100%;cursor:pointer;opacity:0;transform:translateY(16px);animation:rise .8s var(--ease-out) .2s forwards}
.seal:nth-child(2){animation-delay:.32s}.seal:nth-child(3){animation-delay:.44s}
.seal-inner{transform:perspective(700px);transform-origin:center;transition:transform .25s var(--ease-out);backface-visibility:hidden}
.seal svg{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 14px rgba(2,20,62,.14))}
.seal .ov{mix-blend-mode:overlay}
.seal .ov g{transform-box:view-box;transform-origin:50% 50%;animation:sealOv 5s ease-in-out infinite;will-change:transform}
.seal.tilt .ov g{animation:none;transform:rotate(calc(var(--o,0deg) + var(--n)*10deg));transition:transform .2s ease-out}
@keyframes sealOv{0%{transform:rotate(calc(var(--n)*10deg))}50%{transform:rotate(calc((var(--n) + 1)*10deg))}100%{transform:rotate(calc(var(--n)*10deg))}}


/* ---------- Application modal ---------- */
.apply-steps{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px}
.apply-steps li{display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--blue);padding-top:16px}
.apply-steps .h3{font-size:18px;margin-bottom:4px}
.apply-modal{position:fixed;inset:0;z-index:200;background:rgba(2,20,62,.5);display:flex;opacity:0;transition:opacity .3s var(--ease)}
.apply-modal[hidden]{display:none}
.apply-modal.open{opacity:1}
.apply-panel{position:relative;margin:auto;width:100%;height:100%;background:#fff;overflow-y:auto;overscroll-behavior:contain;transform:translateY(24px);transition:transform .4s var(--ease-out);padding-bottom:env(safe-area-inset-bottom,0px)}
.apply-modal.open .apply-panel{transform:none}
.apply-bar{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--border-subtle);padding-top:env(safe-area-inset-top,0px)}
.apply-bar-in{display:flex;align-items:center;justify-content:space-between;min-height:80px}
.apply-bar img{height:44px;width:auto}
.apply-close{display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 16px;border:0;background:none;color:var(--blue);font-size:14px;cursor:pointer;transition:background-color .11s var(--ease)}
.apply-close:hover{background:var(--layer)}
.apply-body{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;padding-top:64px;padding-bottom:96px}
.apply-intro{display:flex;flex-direction:column;gap:16px;position:sticky;top:144px}
.apply-intro .lead{max-width:520px}
.apply-intro .form-info{margin-top:8px}
body.modal-open{overflow:hidden}


/* ---------- Application ticket ---------- */
.apply-modal.done .apply-intro,.apply-modal.done #appForm{display:none}
.ticket-stage{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:32px;background:#fff;margin-top:-16px;padding:0 0 32px;position:relative}
.ticket-stage[hidden]{display:none}
.ticket{position:relative;width:100%;max-width:440px;background:#fff;border-radius:16px;border:1px solid var(--border-subtle);box-shadow:0 10px 30px rgba(2,20,62,.10);padding:32px;animation:ticketIn .5s var(--ease-out) both;z-index:1}
@keyframes ticketIn{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:none}}
.ticket-top{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}
.ticket-check{width:64px;height:64px;border-radius:50%;background:rgba(2,20,62,.08);color:var(--blue);display:grid;place-items:center;margin-bottom:8px;animation:pop .5s var(--ease-out) .3s both}
.ticket-check svg{animation:pop .5s var(--ease-out) .5s both}
@keyframes pop{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}
.ticket-title{font-size:24px;line-height:1.25;font-weight:700}
.ticket-cut{position:relative;margin:24px -32px;border-top:2px dashed var(--border)}
.ticket-cut::before,.ticket-cut::after{content:"";position:absolute;top:-17px;width:32px;height:32px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--border-subtle)}
.ticket-cut::before{clip-path:inset(0 0 0 50%)}.ticket-cut::after{clip-path:inset(0 50% 0 0)}
.ticket-cut::before{left:-16px}.ticket-cut::after{right:-16px}
.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;text-align:left}
.ticket-grid .r{text-align:right}.ticket-grid .full{grid-column:1/-1}
.ticket-label{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.ticket-val{font-weight:500}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px}
.ticket-person{margin-top:24px;display:flex;align-items:center;gap:16px;background:var(--layer);padding:16px;border-radius:8px}
.ticket-avatar{width:40px;height:40px;border-radius:50%;background:var(--red);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.ticket-name{font-weight:600}
.ticket-code{display:flex;flex-direction:column;align-items:center;gap:8px}
.ticket-code svg{color:var(--blue)}
.ticket-code-val{font-size:13px;letter-spacing:.3em;color:var(--text-2)}
.confetti{position:fixed;inset:0;pointer-events:none;z-index:3;overflow:hidden}
.confetti i{position:absolute;width:8px;height:16px;top:-10vh;animation:fall linear forwards}
@keyframes fall{0%{transform:translateY(-10vh) rotate(0deg);opacity:1}100%{transform:translateY(120vh) rotate(720deg);opacity:0}}


/* ---------- Placement test booking ---------- */
.test-steps{display:flex;flex-direction:column;gap:24px}
.test-steps li{display:flex;gap:16px;align-items:flex-start;border-top:1px solid var(--blue);padding-top:16px}
.test-steps .h3{margin-bottom:4px}
.booking{background:var(--layer);padding:32px}
.booking .input{background:#fff}
.booking .input:hover{background:#fafafa}
.book-step{display:flex;flex-direction:column;gap:4px}
.cal{background:#fff;padding:16px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.cal-head strong{font-size:16px}
.cal-nav{width:40px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--blue);cursor:pointer}
.cal-nav:hover{background:var(--layer)}
.cal-nav:disabled{opacity:.3;cursor:not-allowed;background:none}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow{font-size:12px;color:var(--text-2);text-align:center;padding:6px 0}
.cal-day{height:44px;border:0;background:none;font:inherit;font-size:14px;color:var(--text-3);cursor:default}
.cal-day.avail{color:var(--blue);font-weight:600;background:rgba(2,20,62,.06);cursor:pointer;transition:background-color .11s var(--ease)}
.cal-day.avail:hover{background:rgba(2,20,62,.14)}
.cal-day.sel{background:var(--blue);color:#fff}
.cal-day.today{box-shadow:inset 0 -2px 0 var(--red)}
.field-label{font-size:12px;color:var(--text-2)}
.slots-wrap{display:flex;flex-direction:column;gap:8px}
.slot-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.slot{height:44px;border:1px solid var(--blue);background:#fff;color:var(--blue);font:inherit;font-size:14px;cursor:pointer;transition:background-color .11s var(--ease),color .11s var(--ease),transform .11s var(--ease-out)}
.slot:hover{background:rgba(2,20,62,.06)}
.slot[aria-checked="true"]{background:var(--blue);color:#fff}
.slot:disabled{border-color:var(--border);color:var(--placeholder);text-decoration:line-through;cursor:not-allowed;background:#fff}
.book-summary{background:#fff;border-left:3px solid var(--red);padding:12px 16px;font-size:14px}
.btn:disabled{opacity:.45;cursor:not-allowed}
.book-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;animation:ticketIn .5s var(--ease-out) both}
.book-done[hidden]{display:none}
.book-when{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;background:#fff;padding:16px;margin:8px 0}
.book-when dt{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.book-when dd{margin:0;font-weight:600;font-size:18px}


/* ---------- Validation ---------- */
.field-error{margin:0;font-size:12px;color:#DA1E28;display:flex;align-items:center;gap:6px}
.field-error::before{content:"!";width:14px;height:14px;border-radius:50%;background:#DA1E28;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;flex:none}
.field.invalid .input{outline:2px solid #DA1E28;outline-offset:-2px}
.choice-tiles.invalid .choice{border-color:#DA1E28}
.radio-group-invalid .radio input{border-color:#DA1E28}
.inline-test{display:flex;flex-direction:column;gap:16px;background:var(--layer);padding:20px;margin-top:4px;animation:stepIn .35s var(--ease-out)}
.inline-test .cal{background:#fff}
.inline-test .slot{background:#fff}
.inline-test .slot[aria-checked="true"]{background:var(--blue);color:#fff}
.inline-test .slot:disabled{background:#fff}

/* ================= RESPONSIVE ================= */
.menu-btn{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0}
.menu-btn span{display:block;width:20px;height:2px;background:var(--blue);transition:transform .2s var(--ease),opacity .2s var(--ease)}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mnav{border-top:1px solid var(--border-subtle);background:#fff;max-height:calc(100svh - var(--header-h));overflow-y:auto}
.mnav-links{display:flex;flex-direction:column;padding-top:8px;padding-bottom:8px}
.mnav-links a{padding:16px 0;font-size:18px;border-bottom:1px solid var(--border-subtle)}
.mnav-links a[aria-current="page"]{color:var(--red)}
.mnav-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;padding-bottom:24px}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.sticky-cta{display:none}

@media (max-width:1055px){
  .eyebrow--desk{display:none}
  .table--5 th{width:18%}.table--5 th:first-child{width:28%}
  .site-footer{padding-top:56px}
  .footer-main{flex-direction:column;gap:40px}
  .footer-links{gap:24px;width:100%}
  :root{--sec:80px;--header-h:72px}
  .site-header > .wrap{grid-template-columns:1fr auto;min-height:72px}
  .site-header .nav{display:none}
  .menu-btn{display:flex}
  .logo img{height:44px}
  .h1{font-size:44px}.h2{font-size:34px}.hero-title{font-size:48px}
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}
  .facts{grid-template-columns:repeat(4,1fr)}
  .facts--5{grid-template-columns:repeat(3,1fr)}
  .split,.faq-split,.apply-body{grid-template-columns:1fr}
  .split .photo[style*="height"]{height:360px!important}
  .split .photo.ph-team{height:auto!important;width:100%}
  .apply-intro{position:static}
  .page-hero .photo{height:360px}
  .hero{--faixa-h:98px;min-height:560px}
  /* inner heroes: text on top, image block below */
  .nh{grid-template-columns:1fr;min-height:0}
  .nh-text{padding:64px var(--inset)}
  .nh-art,.nh--wide .nh-art{width:100%;height:auto;min-height:0}
  .nh-art{aspect-ratio:4/3}.nh--wide .nh-art{aspect-ratio:734/471}
  /* final CTA: grid below text, full bleed, 5x2 */
  .cta-inner{grid-template-columns:1fr;gap:0}
  .cta-text{padding:80px var(--inset) 56px}
  .cta-grid{grid-template-rows:repeat(2,1fr);aspect-ratio:5/2}
  .cta-grid .t-empire,.cta-grid .t-statue{display:none}
  .cta-grid .t-eagle{grid-row:1/3;background-size:166.667% 150%;background-position:0 50%}
  .faixa img{height:97px}
  .seals{flex-direction:column;align-items:center;gap:24px}
  .seals .seal{width:520px;max-width:100%}
  .grants-box{grid-template-columns:1fr 1fr}
  .booking{padding:24px}
  .ticket-stage{margin-top:0}
  .apply-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:671px){
  .table.table--3{min-width:0}
  .table--3 td{vertical-align:top}
  .table--3 th:nth-child(1){width:49%}.table--3 th:nth-child(2){width:30%}.table--3 th:nth-child(3){width:21%}
  .table.table--3 td,.table.table--3 th{padding:12px 8px}

  .grants-head{text-align:left;align-items:flex-start}
  .table--5{min-width:0!important;table-layout:auto}
  .table--5 thead{display:none}
  .table--5,.table--5 tbody{display:flex;flex-direction:column;gap:16px}
  .table.table--5 tr{display:flex;flex-direction:column;background:#fff;padding:16px}
  .table--5 tbody tr:hover{background:#fff}
  .table.table--5 td{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-subtle);font-size:14px}
  .table.table--5 td:last-child{border-bottom:0}
  .table.table--5 td:first-child{font-size:16px;font-weight:700;color:var(--blue);padding:0 0 12px;border-bottom:1px solid var(--border)}
  .table--5 .td-label{display:inline;color:var(--text-2);font-weight:400}
  .table--5 td>span:last-child{text-align:right}

  #how .grid-3{gap:32px}
  #how .feature{display:grid;grid-template-columns:64px 1fr;column-gap:16px;row-gap:8px;align-items:start}
  #how .feature .picto{grid-row:1 / span 2}
  .mila-box{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 20px}
  .table-note{font-size:13px}
  :root{--inset:16px;--sec:64px;--header-h:64px}
  .site-header > .wrap{min-height:64px}
  .logo img{height:36px}
  .header-right .btn,.header-right .lang{display:none}
  .h1,.nh--wide .nh-text .h1,.nh-text .h1{font-size:36px}
  .h2{font-size:28px}.lead{font-size:18px}
  .hero{--faixa-h:76px;min-height:500px}
  .hero .ph-hero{background-position:50% 0}
  .hero-inner .btn-set{width:100%}
  .hero-title{font-size:40px}
  .hero-inner{padding-bottom:48px}
  .grid-2,.grid-3,.grid-4,.apply-steps,.choice-tiles,.field-row,.grants-box{grid-template-columns:1fr}
  .facts,.facts--5{grid-template-columns:1fr 1fr;gap:24px 16px}
  .facts dd{font-size:20px}
  .btn-set{flex-direction:column;align-items:stretch}
  .btn-set .btn,.stack>.btn,.form>.btn,.tile .btn-set .btn{width:100%;justify-content:space-between}
  .split .photo[style*="height"]{height:240px!important}
  .split .photo.ph-team{height:auto!important;width:100%}
  .page-hero .photo{height:240px}
  .nh-text{padding:48px var(--inset)}
  .cta-text{padding:64px var(--inset) 40px}
  .faixa img{height:75px}
  .card .photo{height:180px}
  .table{font-size:14px;min-width:520px}
  .table td,.table th{padding:10px 12px}
  .site-footer{padding:48px 0 32px}
  .footer-brand{width:100%}
  .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:24px;width:100%}
  .footer-bottom{flex-direction:column;gap:16px;margin-top:40px}
  .slot-list{grid-template-columns:repeat(2,1fr)}
  .booking{padding:16px;margin:0 calc(var(--inset)*-1)}
  .cal{padding:8px}.cal-day{height:40px}
  .progress li{font-size:12px}
  .progress li span::before{display:none}
  .drop{flex-direction:column;align-items:stretch}
  .ticket{padding:24px}.ticket-cut{margin:24px -24px}
  .grant{padding:20px 16px}
  .grant-price strong{font-size:40px}
  .apply-bar-in{min-height:64px}
  .apply-body{padding-top:32px;padding-bottom:120px}
  .acc .acc-body{padding-right:16px}
  .sticky-cta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--border-subtle);padding:12px var(--inset) calc(12px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .3s var(--ease-out)}
  .sticky-cta.show{transform:none}
  .sticky-cta .btn{width:100%;justify-content:space-between}
  body.has-sticky .site-footer{padding-bottom:120px}
  .grants-head{text-align:left;align-items:flex-start}
}

/* Toast */
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%,24px);background:var(--blue);color:#fff;padding:12px 20px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .3s var(--ease-out),transform .3s var(--ease-out);z-index:300}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .hero-inner>*{opacity:1;transform:none}
  .faixa-track{animation:none}
  .trail{animation:none}
  .seal .ov g{animation:none}
  .apply-panel{transform:none}
  .confetti{display:none}
  .seal{opacity:1;transform:none}
}

/* ---------- Acabamento (V4) ---------- */
html{-webkit-text-size-adjust:100%}
body{-moz-osx-font-smoothing:grayscale}
.h1,.h2,.h3,.card-title,.cta-title{text-wrap:balance}
.lead,.muted,.tile p,.card-body p,.acc-body{text-wrap:pretty}
.step-num,.ticket-val,.grant-price,.grant-price strong,dd{font-variant-numeric:tabular-nums}
/* retorno tatil nos botoes */
.btn{transition:background-color .11s var(--ease),color .11s var(--ease),border-color .11s var(--ease),transform .12s var(--ease-out)}
.btn:active,.slot:active{transform:scale(.97)}
/* sombras em camadas */
.site-header.scrolled{box-shadow:0 1px 2px rgba(2,20,62,.06),0 4px 12px rgba(2,20,62,.06)}
.card:hover{box-shadow:0 1px 2px rgba(2,20,62,.05),0 6px 12px rgba(2,20,62,.06),0 16px 32px rgba(2,20,62,.08)}
.ticket{box-shadow:0 1px 2px rgba(2,20,62,.06),0 4px 8px rgba(2,20,62,.05),0 12px 32px rgba(2,20,62,.08)}
/* contorno sutil nas fotos */
.photo{outline:1px solid rgba(2,20,62,.08);outline-offset:-1px}
/* area minima de toque */
.lang button{min-width:40px}
/* sem hover preso em telas de toque */
@media (hover:none){
  .card:hover{transform:none;box-shadow:none}
  .feature:hover .picto{transform:none}
  .btn:hover .i,.link:hover .i{transform:none}
}
@media (prefers-reduced-motion:reduce){
  .btn:active,.slot:active{transform:none}
}

@media (min-width:672px){.br-mob{display:none}}
/* ---------- Home mobile, alinhado ao Figma (375) ---------- */
@media (max-width:671px){
  .hero-title{font-size:32px;line-height:1.2}
  .hero-lead{font-size:18px;line-height:1.5}
  .hero-inner .btn-set{flex-direction:row;justify-content:center;align-items:center;width:auto;gap:16px}
  .hero-inner .btn-set .btn{width:auto;gap:32px;padding:0 16px}
  .stack{gap:32px}
  .card-title{font-size:20px;line-height:1.3}
  .card-body .btn{align-self:stretch;justify-content:space-between}
  .tile{padding:16px;gap:16px}
  .grid-3{gap:16px}
  #how .grid-3{gap:32px}
  .steps{gap:16px}
  .bullets{gap:16px}
  .cta .btn{align-self:stretch!important;justify-content:space-between}
  .h2,.lead{text-wrap:wrap}
  .br-desk{display:none}
}

/* ---- Oct 14 review ---- */
.sec .head .sub,.head .sub{margin:0;font-size:16px;line-height:1.5;color:var(--text)}
.sec .head .sub.muted{color:var(--text-2)}
.conc{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.conc-label{margin:0;font-size:12px;line-height:16px;font-weight:600;color:var(--text-2)}
.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.tags li{border:1px solid var(--blue);padding:6px 12px;font-size:14px;line-height:20px;color:var(--blue);background:transparent}
.tags li:has(a){padding:0}.tags a{display:block;padding:6px 12px;color:inherit;text-decoration:none;transition:background .2s,color .2s}.tags a:hover,.tags a:focus-visible{background:var(--blue);color:#fff}
.ph-about{background-image:url("/assets/b679b11c3d9e.webp")}
.nh-photo.ph-about{background-position:50% 30%}
.grant .btn--full{margin-top:auto}
.grant--featured .badge{margin-bottom:0}
.table--price{table-layout:fixed}
.table--price th{width:33.33%}
.table td.tp-prog{color:var(--text-2)}
.partners-sec{padding:16px 0 64px}
.partners{display:flex;flex-direction:column;align-items:center;gap:24px}
.partners-title{margin:0;font-size:16px;line-height:1.4;font-weight:500;color:var(--text-2)}
.partners-logos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,200px);gap:16px;justify-content:center}
.partners-logos li{height:88px;display:grid;place-items:center;border:1px solid var(--border-subtle);background:#fff;padding:16px 20px}
.partners-logos img{max-width:100%;max-height:52px;width:auto;height:auto;object-fit:contain}
.partners-logos li:first-child img{max-height:60px}
.carousel{position:relative;overflow:hidden;aspect-ratio:688/440;background:var(--layer)}
.car-track{list-style:none;margin:0;padding:0;display:flex;height:100%;transition:transform .6s var(--ease-out)}
.car-slide{flex:0 0 100%;height:100%}
.car-slide img{display:block;width:100%;height:100%;object-fit:cover}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;display:grid;place-items:center;background:#fff;border:0;color:var(--blue);cursor:pointer;transition:background-color .11s var(--ease),color .11s var(--ease)}
.car-btn:hover{background:var(--blue);color:#fff}
.car-prev{left:16px}.car-next{right:16px}
.car-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:2px}
.car-dot{width:28px;height:24px;border:0;padding:0;background:none;cursor:pointer;display:grid;place-items:center}
.car-dot::before{content:"";width:20px;height:3px;background:rgba(255,255,255,.7);transition:background-color .2s var(--ease)}
.car-dot.on::before{background:var(--red)}
.yn{display:flex;flex-direction:column;gap:6px}
.yn-q{margin:0;font-size:14px;font-weight:500;color:var(--blue)}
.yn .tiny{margin:0}
.yn-opts{display:flex;gap:32px;margin-top:6px}
.test-note{display:flex;flex-direction:column;gap:6px;background:var(--layer);padding:16px 20px;border-left:3px solid var(--red)}
.test-note p{margin:0}
.test-note[hidden]{display:none}
.apply-close{border:1px solid var(--blue)}
.apply-close:hover{background:var(--blue);color:#fff}
#how-test .test-steps{max-width:none}
@media (max-width:1055px){
  .partners-logos{grid-template-columns:repeat(2,minmax(0,240px))}
}
@media (max-width:671px){
  .partners-sec{padding:8px 0 48px}
  .partners-logos{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .partners-logos li{height:72px;padding:12px}
  .partners-logos img{max-height:40px}
  .partners-logos li:first-child img{max-height:48px}
  .table--price{min-width:0!important;table-layout:auto}
  .table--price thead{display:none}
  .table--price,.table--price tbody{display:flex;flex-direction:column;gap:16px}
  .table.table--price tr{display:flex;flex-direction:column;background:#fff;padding:16px}
  .table--price tbody tr:hover{background:#fff}
  .table.table--price td{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-subtle);font-size:14px;color:var(--text-2)}
  .table.table--price td:last-child{border-bottom:0}
  .table.table--price td.tp-prog{order:-1;font-size:16px;font-weight:700;color:var(--blue);padding:0 0 12px;border-bottom:1px solid var(--border)}
  .table--price .td-label{display:inline;color:var(--text-2);font-weight:400}
  .table--price td>span:last-child{text-align:right;color:var(--blue)}
  .car-btn{width:32px;height:32px}
  .car-prev{left:8px}.car-next{right:8px}
  .yn-opts{gap:24px}
}

/* ---------- privacy policy ---------- */
.pp-art{background:var(--blue);position:relative;overflow:hidden}
.pp-eagle{position:absolute;top:0;bottom:0;right:0;height:100%;aspect-ratio:1/1;background:url("/assets/d27a4d0a7f26.svg") center/contain no-repeat}
.pp-split{display:grid;grid-template-columns:560px 1fr;gap:32px;align-items:start}
.pp-toc{position:sticky;top:calc(var(--header-h,80px) + 32px)}
.pp-toc ol{margin:12px 0 0;padding:0;list-style:none;counter-reset:pp;display:grid;gap:12px;color:var(--blue)}
.pp-toc li{counter-increment:pp}
.pp-toc li::before{content:counter(pp) ". "}
.pp-toc a{color:var(--blue);text-decoration:none}
.pp-toc a:hover{text-decoration:underline}
.pp-body{color:var(--blue);min-width:0}
.pp-intro{font-size:20px;line-height:1.5;margin:0}
.pp-sec{border-top:1px solid #E0E0E0;padding-top:32px;margin-top:48px;scroll-margin-top:calc(var(--header-h,80px) + 24px)}
.pp-h{font-size:28px;line-height:1.25;font-weight:700;margin:0 0 16px}
.pp-sec p,.pp-sec li{font-size:16px;line-height:1.5}
.pp-sec p{margin:0 0 12px}
.pp-sec ul{margin:0 0 16px;padding-left:22px;list-style:disc}
.pp-sec li+li{margin-top:4px}
.pp-sec a{color:var(--blue);text-decoration:underline}
@media (max-width:1055px){
  .nh--legal .nh-art{display:none}
  .pp-split{grid-template-columns:1fr;gap:40px}
  .pp-toc{position:static;background:#F4F4F4;padding:24px}
  .pp-sec{margin-top:40px;padding-top:24px}
  .pp-h{font-size:22px}
}
@media (max-width:600px){
  .pp-toc{padding:24px 16px}
  .pp-intro{font-size:18px}
}

