/* Pós Tech Business — PM3 Design System: Inter Tight (títulos) + Rubik (texto), roxos, grid de 8px. */
@font-face{font-family:"Inter Tight";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/inter-tight-latin.woff2) format("woff2")}
@font-face{font-family:"Rubik";font-style:normal;font-weight:300 700;font-display:swap;src:url(/assets/fonts/rubik-latin.woff2) format("woff2")}

:root{
  --deep:#452E78; --royal:#6645B1; --black:#000; --white:#fff; --fog:#B9B5C1; --yellow:#FFB12A; --muted:#F5F4F8;
  --grad-lilac:linear-gradient(135deg,#B04DDD,#FCCBC9); --grad-blaze:linear-gradient(135deg,#4D2B9F,#DACBF6); --grad-brand:linear-gradient(135deg,#452E78,#6645B1);
  --font-h:"Inter Tight",system-ui,sans-serif; --font-b:"Rubik",system-ui,sans-serif;
  --r-btn:6px; --r-card:12px; --r-lg:20px; --wrap:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--black);color:var(--white);font:400 1rem/1.6 var(--font-b);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--font-h);margin:0;text-wrap:balance}
h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1}
h2{font-size:clamp(1.75rem,3.4vw,2.5rem);font-weight:700;line-height:1.15}
h3{font-size:1.5rem;font-weight:600;line-height:1.3}
h4{font-size:1rem;font-weight:600;line-height:1.4}
p{margin:0}
:focus-visible{outline:2px solid var(--yellow);outline-offset:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-64px;background:var(--yellow);color:var(--black);padding:8px 16px;border-radius:var(--r-btn);z-index:100;font-weight:600}
.skip:focus{top:16px}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:24px}
@media(min-width:900px){.wrap{padding-inline:48px}}
.section{padding-block:64px}
@media(min-width:900px){.section{padding-block:96px}}
.eyebrow{font:600 .875rem/1.4 var(--font-h);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.lead{font-size:1.125rem;color:var(--fog);max-width:68ch}
.stack>*+*{margin-top:16px}
.on-light{background:var(--muted);color:var(--black)}
.on-light .lead,.on-light .muted{color:var(--deep)}
.on-light .eyebrow{color:var(--royal)}
.on-deep{background:var(--deep)}
.on-deep .lead{color:#E4DFF0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border:0;border-radius:var(--r-btn);font:700 .9375rem/1 var(--font-h);text-decoration:none;cursor:pointer;transition:background-color .2s,color .2s}
.btn-primary{background:var(--royal);color:var(--white)}.btn-primary:hover{background:var(--deep)}
.on-deep .btn-primary{background:var(--white);color:var(--deep)}.on-deep .btn-primary:hover{background:var(--yellow);color:var(--black)}
.btn-yellow{background:var(--yellow);color:var(--black)}.btn-yellow:hover{background:#f0a01a}
.btn-outline{border:1px solid currentColor;background:transparent;color:inherit}.btn-outline:hover{background:var(--white);color:var(--deep)}
.badge{display:inline-block;background:rgba(255,255,255,.12);color:var(--white);font:600 .75rem/1 var(--font-h);letter-spacing:.06em;text-transform:uppercase;padding:8px 12px;border-radius:999px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(0,0,0,.92);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.1)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.logo img{height:32px;width:auto;filter:brightness(0) invert(1)}
.nav ul{display:flex;gap:8px;list-style:none;margin:0;padding:0;align-items:center}
.nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;text-decoration:none;font:500 .9375rem var(--font-h);border-radius:var(--r-btn)}
.nav a:hover{color:var(--yellow)}
.nav a.btn{padding:0 24px;font-weight:700}
.nav a.btn:hover{color:#fff}
.menu-toggle{display:none;min-height:44px;min-width:44px;background:var(--royal);color:#fff;border:0;border-radius:var(--r-btn);font:600 .875rem var(--font-h);padding:0 16px;cursor:pointer}
@media(max-width:860px){
  .menu-toggle{display:inline-flex;align-items:center}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#000;border-bottom:1px solid rgba(255,255,255,.1);padding:8px 24px 24px}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;gap:0}
  .nav a{width:100%;min-height:48px}
}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;padding-block:80px 96px}
.hero>picture,.hero>picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.35),#000 98%)}
.hero h1{max-width:20ch}
.hero.hero-home h1{max-width:24ch;font-size:clamp(1.75rem,4.4vw,3rem)}
.hero .lead{margin-top:24px}
.hero .actions{margin-top:32px;display:flex;flex-wrap:wrap;gap:16px}

/* Cards */
.grid{display:grid;gap:24px}
.cols-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.cols-4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.card{border-radius:var(--r-card);padding:32px;background:var(--deep);color:#fff}
.card h3{margin:16px 0 24px}
.card-link{display:flex;flex-direction:column;justify-content:space-between;min-height:240px;text-decoration:none;background:var(--grad-brand);transition:transform .2s,box-shadow .2s}
.card-link:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(102,69,177,.45)}
.card-link .go{font:700 .9375rem var(--font-h);letter-spacing:.06em;text-transform:uppercase;color:var(--yellow)}
.card-light{background:#fff;color:#000;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.card-light h3{margin:0 0 8px;font-size:1.5rem;color:var(--deep)}
.card-light p{color:#3b3550}

/* Split blocks */
.split{display:grid;gap:40px;align-items:center}
@media(min-width:900px){.split{grid-template-columns:1fr 1fr;gap:64px}.split.reverse>:first-child{order:2}}
.split img{border-radius:var(--r-lg);width:100%;object-fit:cover}
.pillars{display:grid;gap:64px}

/* Lists */
.check{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.check li{position:relative;padding-left:32px}
.check li::before{content:"";position:absolute;left:0;top:.45em;width:16px;height:16px;border-radius:50%;background:var(--yellow)}
.logos{display:flex;flex-wrap:wrap;gap:32px 48px;align-items:center;margin-top:40px;list-style:none;padding:0}
.logos img{height:36px;width:auto;opacity:.9}

/* Course page */
.stat{padding:24px;border-radius:var(--r-card);background:#fff;border:1px solid #e3def0}
.stat h3{font-size:1.5rem;color:var(--royal);margin-bottom:8px}
.stat p{color:#3b3550;font-size:.9375rem}
.prepare{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));counter-reset:p;list-style:none;padding:0;margin:40px 0 0}
.prepare li{counter-increment:p;padding:24px;border-radius:var(--r-card);background:var(--deep);position:relative}
.prepare li::before{content:counter(p,decimal-leading-zero);display:block;font:800 1.5rem var(--font-h);color:var(--yellow);margin-bottom:8px}

/* Accordions (details) */
.acc{display:grid;gap:12px;margin-top:40px}
details.item{border-radius:var(--r-card);background:var(--white);color:#000;border:1px solid #d9d3ea}
.on-deep details.item,.dark details.item{background:#14101f;color:#fff;border-color:rgba(255,255,255,.16)}
details.item>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;min-height:64px;font:600 1.125rem/1.3 var(--font-h);border-radius:var(--r-card)}
details.item>summary::-webkit-details-marker{display:none}
details.item>summary::after{content:"+";flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--royal);color:#fff;font-size:1.25rem;line-height:1}
details.item[open]>summary::after{content:"\2212"}
details.item .body{padding:0 24px 24px}
.month .grp+.grp{margin-top:24px}
.month h4{font-size:1.0625rem;color:var(--royal);margin-bottom:8px}
.dark .month h4,.on-deep .month h4{color:var(--yellow)}
.month ul,.faq-body ul{margin:8px 0 0;padding-left:20px}
.month li,.faq-body li{margin-top:4px}
.faq-body>*+*{margin-top:12px}
.faq-body h4{margin-top:16px}

/* Enrollment */
.enroll{display:grid;gap:40px}
@media(min-width:960px){.enroll{grid-template-columns:1.1fr .9fr}}
.price-cards{display:grid;gap:16px}
.price{padding:24px;border-radius:var(--r-card);background:#fff;color:#000}
.price.alumni{background:#14101f;color:#fff;border:1px solid rgba(255,255,255,.2)}
.price .amount{font:800 2.5rem/1 var(--font-h);margin:8px 0}
.price .amount small{font-size:1rem;font-weight:500}
.price .tag{font:600 .75rem var(--font-h);letter-spacing:.06em;text-transform:uppercase;color:var(--royal)}
.price.alumni .tag{color:var(--yellow)}
.price .row{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.tablewrap{overflow-x:auto}
table.prices{min-width:460px;width:100%;border-collapse:collapse;margin-top:16px;font-size:.9375rem}
table.prices th,table.prices td{text-align:left;padding:12px 8px;border-bottom:1px solid rgba(128,128,128,.35)}
.fine{font-size:.8125rem;color:var(--fog);margin-top:16px}
.fine p+p{margin-top:8px}

/* People */
.people{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:40px}
.person img{border-radius:var(--r-card);width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;filter:grayscale(1)}
.person .role{font:700 .75rem var(--font-h);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-top:16px}
.person h3{font-size:1.5rem;margin-top:4px}
.person p{color:var(--fog);font-size:.9375rem}

/* Cities */
.cities{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:40px}
.city{position:relative;border-radius:var(--r-card);overflow:hidden}
.city img{width:100%;aspect-ratio:2/1;object-fit:cover}
.city h3{position:absolute;left:16px;bottom:12px;font-size:1.5rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}

/* Dialog */
dialog{border:0;border-radius:var(--r-lg);padding:0;max-width:min(560px,calc(100% - 32px));width:100%;background:#fff;color:#000}
dialog::backdrop{background:rgba(0,0,0,.7)}
.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:var(--deep);color:#fff}
.dialog-head h2{font-size:1.25rem}
.dialog-close{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:var(--r-btn);min-height:44px;min-width:44px;font-size:1.25rem;cursor:pointer}
.dialog-body{padding:24px;max-height:70vh;overflow:auto}

/* Footer */
.site-footer{background:#0b0813;border-top:1px solid rgba(255,255,255,.1);padding-block:64px 32px;font-size:.9375rem}
.footer-cols{display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.site-footer h2{font:700 .8125rem var(--font-h);letter-spacing:.08em;text-transform:uppercase;color:var(--yellow);margin-bottom:16px}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li+li{margin-top:4px}
.site-footer a{display:inline-block;padding:4px 0;color:var(--fog);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer-bottom{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:16px 32px;justify-content:space-between;color:var(--fog)}
.social{display:flex;gap:16px;flex-wrap:wrap}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
