:root{--bg:#050b10;--bg-2:#09141c;--panel:#0e1c26;--line:#203542;--text:#f5f8fa;--muted:#9eb2bf;--cyan:#00aeef;--cyan-2:#67d7ff;--white:#fff;--danger:#ff6175;--success:#27d19f;--warning:#f4b942;--radius:18px;--shadow:0 22px 60px rgba(0,0,0,.25)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}button{cursor:pointer}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:850px}.section{padding:90px 0}.section-dark{background:var(--bg-2);border-block:1px solid var(--line)}.eyebrow{display:inline-block;color:var(--cyan);font-weight:800;font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:14px}.muted{color:var(--muted)}.center{text-align:center}.lead{font-size:1.22rem;color:#c4d3dc}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:1px solid var(--cyan);border-radius:10px;background:var(--cyan);color:#001019;font-weight:800;transition:.2s}.btn:hover{background:var(--cyan-2);transform:translateY(-1px)}.btn-outline{background:transparent;color:var(--text);border-color:#496372}.btn-outline:hover{color:#001019;border-color:var(--cyan)}.btn-small{min-height:38px;padding:0 14px;font-size:.88rem}.btn-full{width:100%}.text-link{color:var(--cyan);font-weight:750}.site-header{position:sticky;top:0;z-index:50;background:rgba(5,11,16,.92);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px)}.nav-wrap{height:78px;display:flex;align-items:center;justify-content:space-between}.brand img{width:245px;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-size:.93rem;font-weight:650}.main-nav>a:not(.btn):hover{color:var(--cyan)}.cart-link{display:flex;gap:7px;align-items:center}.cart-link span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--cyan);color:#001019;font-size:.75rem}.nav-toggle{display:none;background:transparent;border:1px solid var(--line);color:#fff;border-radius:8px;padding:7px 12px}.flash{max-width:1160px;margin:16px auto 0;padding:13px 18px;border-radius:10px;border:1px solid;position:relative;z-index:40}.flash.success{color:#a8ffe3;background:#0b3c30;border-color:#1a6b56}.flash.error{color:#ffd3d9;background:#4a1721;border-color:#7b2a39}.hero{position:relative;overflow:hidden;padding:110px 0 90px;background:radial-gradient(circle at 75% 25%,rgba(0,174,239,.2),transparent 33%),linear-gradient(145deg,#050b10,#07141d)}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,#000,transparent)}.hero-grid{position:relative;display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;max-width:850px;margin:0 0 26px}.hero-copy>p{max-width:690px;color:#b6c9d4;font-size:1.17rem}.hero-actions{display:flex;gap:12px;margin:35px 0}.hero-proof{display:flex;gap:30px;border-top:1px solid var(--line);padding-top:25px;color:var(--muted);font-size:.82rem}.hero-proof span{display:flex;flex-direction:column}.hero-proof strong{color:#fff;font-size:1.35rem}.hero-card{min-height:430px;padding:45px 38px;background:linear-gradient(155deg,rgba(0,174,239,.18),rgba(14,28,38,.95));border:1px solid rgba(103,215,255,.25);border-radius:28px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:flex-end;transform:rotate(2deg)}.hero-card-line{width:70px;height:7px;background:var(--cyan);margin-bottom:auto}.hero-card p{color:var(--cyan);text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:800}.hero-card strong{font-size:2.5rem;line-height:1.1}.hero-card small{margin-top:24px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:40px}.section-heading h2,.split h2{font-size:clamp(2rem,4vw,3.5rem);line-height:1.08;letter-spacing:-.035em;margin:0;max-width:720px}.section-heading>a{color:var(--cyan);font-weight:750}.section-heading.compact{margin-top:60px;margin-bottom:22px}.section-heading.compact h2{font-size:1.8rem}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.course-card{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);transition:.25s}.course-card:hover{transform:translateY(-5px);border-color:#376379;box-shadow:var(--shadow)}.course-image{height:220px;position:relative;overflow:hidden;background:#0d2532}.course-image img{width:100%;height:100%;object-fit:cover;transition:.4s}.course-card:hover .course-image img{transform:scale(1.04)}.course-image span{position:absolute;left:15px;top:15px;padding:5px 10px;border-radius:20px;background:#001821;color:var(--cyan-2);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.course-body{padding:23px}.course-body h3{font-size:1.25rem;line-height:1.25;margin:0 0 10px}.course-body p{color:var(--muted);font-size:.92rem;min-height:66px}.course-meta{display:flex;justify-content:space-between;gap:15px;padding:16px 0;border-top:1px solid var(--line);font-size:.78rem;color:var(--muted)}.course-meta strong{color:#fff;white-space:nowrap}.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.split p{color:#b7c9d3;font-size:1.08rem}.check-list{list-style:none;padding:0;margin:28px 0}.check-list li{position:relative;padding:9px 0 9px 32px}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--cyan);font-weight:900}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.steps article{padding:32px;border:1px solid var(--line);border-radius:var(--radius)}.steps span{color:var(--cyan);font-size:.78rem;font-weight:900}.steps h3{font-size:1.25rem}.steps p{color:var(--muted)}.cta{padding:70px 0;background:linear-gradient(90deg,#00a5e5,#71dfff);color:#001019}.cta .container{display:flex;justify-content:space-between;align-items:center}.cta .eyebrow{color:#03465e}.cta h2{font-size:3rem;line-height:1;margin:0}.cta .btn{background:#061018;color:#fff;border-color:#061018}.site-footer{padding:60px 0 20px;background:#020609;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-logo{width:230px;margin-bottom:18px}.footer-grid p{color:var(--muted);max-width:430px}.footer-grid h3{font-size:.9rem;color:var(--cyan);text-transform:uppercase}.footer-grid a{display:block;color:var(--muted);margin:7px 0}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:45px;color:#6f8592;font-size:.82rem}.page-hero,.course-hero,.account-header,.course-class-header{padding:82px 0;background:radial-gradient(circle at 80%,rgba(0,174,239,.16),transparent 35%),var(--bg-2);border-bottom:1px solid var(--line)}.page-hero.small{padding:55px 0}.page-hero h1,.account-header h1,.course-class-header h1{font-size:clamp(2.4rem,5vw,4.5rem);line-height:1;margin:0 0 18px}.page-hero p{max-width:700px;color:var(--muted);font-size:1.1rem}.course-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:65px}.course-hero h1{font-size:clamp(2.5rem,5vw,5rem);line-height:1;letter-spacing:-.04em;margin:0 0 22px}.course-hero img{width:100%;height:400px;object-fit:cover;border-radius:24px;border:1px solid var(--line)}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tag-row span{padding:7px 12px;border:1px solid #315064;border-radius:20px;color:#c1d2db;font-size:.8rem}.detail-grid{display:grid;grid-template-columns:1fr 380px;gap:70px}.prose h2{font-size:2rem;margin-top:0;padding-top:25px}.prose p{color:#bdccd4;font-size:1.07rem}.booking-card,.material-card{padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);height:max-content;box-shadow:var(--shadow)}.booking-card h2,.material-card h2{margin-top:0}.session-option{display:flex;flex-direction:column;gap:3px;padding:20px 0;border-top:1px solid var(--line)}.session-option>strong{font-size:1.2rem}.session-option span{color:var(--muted);font-size:.85rem}.session-option b{font-size:1.15rem;margin:8px 0}.empty-mini{padding:20px 0;color:var(--muted)}.cart-list{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.cart-list article{display:grid;grid-template-columns:130px 1fr auto;gap:20px;align-items:center;padding:18px;background:var(--panel);border-bottom:1px solid var(--line)}.cart-list article:last-child{border:0}.cart-list img{width:130px;height:90px;object-fit:cover;border-radius:10px}.cart-list h3{margin:0}.cart-list p{color:var(--muted);margin:4px 0}.cart-total{display:flex;justify-content:space-between;padding:28px 4px;font-size:1.3rem}.cart-total strong{font-size:1.7rem}.empty-state{grid-column:1/-1;text-align:center;padding:65px 28px;border:1px dashed #315064;border-radius:var(--radius);background:rgba(14,28,38,.45)}.empty-state h1,.empty-state h2{font-size:2.5rem;margin:5px 0}.empty-state p{color:var(--muted)}.auth-section{min-height:70vh;display:grid;place-items:center;padding:70px 20px;background:radial-gradient(circle at 50% 20%,rgba(0,174,239,.13),transparent 35%)}.auth-card{width:min(470px,100%);padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.auth-card.wide{width:min(720px,100%)}.auth-card h1{font-size:2.3rem;line-height:1.1;margin:0 0 10px}.auth-card>p{color:var(--muted)}label{display:flex;flex-direction:column;gap:7px;color:#c7d5dd;font-size:.88rem;margin-bottom:16px}input,textarea,select{width:100%;border:1px solid #304957;border-radius:9px;padding:12px 13px;background:#07131b;color:#fff;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,174,239,.13)}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .full{grid-column:1/-1}.auth-switch{text-align:center;font-size:.9rem;margin:22px 0 0}.auth-switch a{color:var(--cyan)}.account-nav{display:flex;align-items:center;gap:24px;margin-top:35px}.account-nav a,.account-nav button{color:#c2d0d8;font-weight:650}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.metric-grid article{display:flex;flex-direction:column;padding:28px;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.metric-grid strong{font-size:2.5rem;line-height:1;color:var(--cyan)}.metric-grid span{color:var(--muted);margin-top:8px}.student-course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.student-course-grid article{display:grid;grid-template-columns:180px 1fr;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.student-course-grid article>img{width:100%;height:100%;min-height:230px;object-fit:cover}.student-course-grid article>div{padding:25px}.student-course-grid h3{margin-top:0}.student-course-grid p{color:var(--muted);font-size:.88rem}.progress{height:7px;border-radius:6px;background:#20323d;overflow:hidden;margin:12px 0 5px}.progress span{display:block;height:100%;background:var(--cyan)}.student-course-grid small{color:var(--muted);display:block;margin-bottom:17px}.inline-actions{display:flex;gap:8px;flex-wrap:wrap}.course-class-header a{color:var(--cyan)}.course-class-header p{color:var(--muted)}.learning-grid{display:grid;grid-template-columns:1fr 350px;gap:45px}.lesson-list{display:flex;flex-direction:column;gap:12px}.lesson{display:grid;grid-template-columns:55px 1fr;gap:15px;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.lesson-number{display:grid;place-items:center;width:45px;height:45px;background:#082536;color:var(--cyan);border-radius:50%;font-weight:800}.lesson h3{margin:0}.lesson p{color:var(--muted)}.lesson a{color:var(--cyan)}.check-control{flex-direction:row;align-items:center;gap:9px;margin-top:15px}.check-control input{width:auto}.material-card>a{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.material-card>a>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#09283a;color:var(--cyan)}.material-card small{display:block;color:var(--muted)}.table-wrap{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}th,td{text-align:left;padding:15px;border-bottom:1px solid var(--line);vertical-align:middle}th{color:#8da2ae;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}td small{display:block;color:var(--muted)}.status{display:inline-flex;padding:4px 9px;border-radius:20px;font-size:.75rem;font-weight:800;background:#24313a;color:#cbd5da}.status-paid,.status-confirmed,.status-completed{background:#0d4434;color:#80f0ca}.status-pending{background:#4d3a14;color:#ffd778}.status-cancelled,.status-refunded{background:#50202a;color:#ffb5c0}.receipt{max-width:830px;padding:42px;background:#fff;color:#17242d;border-radius:20px}.receipt-head{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #dbe3e8;padding-bottom:25px}.receipt-head img{width:230px;background:#050b10;padding:12px;border-radius:8px}.receipt-head>div{text-align:right;display:flex;flex-direction:column}.receipt-status{display:flex;justify-content:space-between;margin:25px 0}.receipt h2{font-size:1rem;margin-top:30px;color:#527080}.receipt-item{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #dce5e9}.receipt-item div{display:flex;flex-direction:column}.receipt-item span{color:#66808f}.receipt-total{display:flex;justify-content:space-between;font-size:1.35rem;padding:24px 0}.notice{padding:18px;background:#eaf8fd;border-left:4px solid #00aeef}.notice p{margin:3px 0}.receipt-actions{display:flex;gap:10px;margin-top:25px}.link-button{padding:0;border:0;background:none;color:inherit;font-weight:700}.danger{color:var(--danger)!important}.panel-body{background:#071018}.sidebar{position:fixed;inset:0 auto 0 0;width:255px;padding:28px 24px;background:#050b10;border-right:1px solid var(--line);overflow:auto}.sidebar>a img{width:205px}.sidebar-user{margin:30px 0;padding-bottom:20px;border-bottom:1px solid var(--line);font-weight:700}.sidebar-user small{display:block;color:var(--cyan);font-weight:700}.sidebar nav{display:flex;flex-direction:column;gap:4px}.sidebar nav a{padding:10px 12px;border-radius:8px;color:#aec0ca}.sidebar nav a:hover{background:#10212b;color:#fff}.sidebar form{margin-top:20px;padding:10px 12px;color:var(--danger)}.panel-main{margin-left:255px;padding:32px;min-height:100vh}.panel-top h1{font-size:2rem;margin:0 0 25px}.panel-main>.flash{margin:0 0 18px;max-width:none}.panel-metrics{grid-template-columns:repeat(4,1fr);margin-bottom:22px}.panel-card{padding:24px;margin-bottom:22px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.panel-card h2{margin-top:0}.panel-card-head,.panel-actions,.panel-form-actions{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.panel-card-head a{color:var(--cyan)}.panel-actions p{color:var(--muted)}.panel-form-actions{justify-content:flex-end}.row-actions,.inline-form,.upload-inline{display:flex;align-items:center;gap:10px}.panel-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.simple-list{margin-top:25px;border-top:1px solid var(--line)}.simple-list article{padding:12px 0;border-bottom:1px solid var(--line)}.simple-list small{display:block;color:var(--muted)}
@media(max-width:1050px){.course-grid{grid-template-columns:repeat(2,1fr)}.hero-grid{grid-template-columns:1fr .55fr;gap:35px}.hero h1{font-size:4.2rem}.panel-metrics{grid-template-columns:repeat(2,1fr)}.student-course-grid article{grid-template-columns:130px 1fr}.detail-grid{grid-template-columns:1fr 330px}}
@media(max-width:820px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;top:78px;left:0;right:0;padding:20px;flex-direction:column;align-items:stretch;background:#071018;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.brand img{width:205px}.hero{padding-top:75px}.hero-grid,.course-hero-grid,.detail-grid,.split,.learning-grid{grid-template-columns:1fr}.hero-card{display:none}.hero h1{font-size:clamp(2.8rem,12vw,4.5rem)}.split{gap:25px}.steps{grid-template-columns:1fr}.course-hero img{height:280px}.booking-card{order:-1}.account-nav{overflow:auto;padding-bottom:8px}.student-course-grid{grid-template-columns:1fr}.sidebar{position:static;width:auto;height:auto}.sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.panel-main{margin-left:0;padding:20px}.panel-columns{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:600px){.container{width:min(100% - 28px,1160px)}.section{padding:60px 0}.course-grid,.metric-grid,.form-grid,.panel-metrics{grid-template-columns:1fr}.hero-proof{gap:15px;flex-wrap:wrap}.hero-actions,.cta .container,.section-heading{align-items:stretch;flex-direction:column}.hero-actions .btn{width:100%}.course-image{height:200px}.cta h2{font-size:2.2rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.student-course-grid article{grid-template-columns:1fr}.student-course-grid article>img{height:180px;min-height:0}.cart-list article{grid-template-columns:80px 1fr}.cart-list img{width:80px;height:70px}.cart-list form{grid-column:2}.receipt{width:calc(100% - 20px);padding:24px}.receipt-head{align-items:flex-start;gap:15px}.receipt-head img{width:160px}.receipt-actions{flex-direction:column}.sidebar nav{grid-template-columns:1fr 1fr}.panel-main{padding:14px}.panel-card{padding:16px}.row-actions{flex-direction:column;align-items:flex-start}.course-hero h1{font-size:2.5rem}.account-nav{gap:16px}.auth-card{padding:26px}}
.lesson-content{margin:14px 0;color:#d7e2e8}
@media print{.site-header,.site-footer,.receipt-actions,.flash{display:none!important}body{background:#fff}.section{padding:0}.receipt{box-shadow:none;max-width:none;width:100%}}

.promo-video-section {
    padding-top: 3rem;
    padding-bottom: 1rem;
}

/* V8: página inicial compacta e reorganizada */
.school-landing-hero-compact{padding:78px 0 72px}
.school-landing-simple{position:relative}
.school-landing-simple h1{max-width:900px;margin:0;font-size:clamp(3rem,7vw,6.2rem);line-height:.95;letter-spacing:-.055em}
.school-landing-simple>p{margin:18px 0 0;color:#bed0d9;font-size:clamp(1rem,2vw,1.28rem)}
.multidisciplinary-section{padding:64px 0;background:#fff;color:#172832}
.multidisciplinary-copy{max-width:920px}
.multidisciplinary-copy h2{margin:0;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-.05em}
.multidisciplinary-copy h3{margin:12px 0 14px;color:#526872;font-size:clamp(1.25rem,2.6vw,2rem);font-weight:650}
.multidisciplinary-copy p{max-width:760px;margin:0;color:#526872;font-size:1rem}
.school-paths-compact,.home-courses-preview{padding:64px 0}
.compact-home-heading{margin-bottom:26px}
.compact-home-heading h2{font-size:clamp(2rem,4vw,3.25rem)}
.school-path-grid-compact article{display:grid;grid-template-columns:auto 1fr;gap:18px;min-height:0;padding:22px;align-items:start}
.school-path-grid-compact h3{margin:0 0 5px;font-size:1.35rem}
.school-path-grid-compact p{margin:0;font-size:.88rem;line-height:1.55}
.home-courses-action{display:flex;justify-content:center;margin-top:34px}
.school-intro-compact{padding:58px 0}
.school-intro-compact .school-intro-grid{gap:55px}
.school-intro-compact h2{font-size:clamp(2rem,4vw,3.25rem)}
.school-intro-compact .check-list{margin-bottom:0}
@media(max-width:820px){.school-path-grid-compact{grid-template-columns:1fr}.home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:600px){.school-landing-hero-compact{padding:50px 0 48px}.school-landing-simple h1{font-size:3.05rem}.multidisciplinary-section,.school-paths-compact,.home-courses-preview,.school-intro-compact{padding:48px 0}.multidisciplinary-copy h2{font-size:2.75rem}body .home-course-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.home-course-grid .catalog-product-card .course-body{padding:12px}.home-course-grid .catalog-product-card h3{min-height:3.6em;font-size:.9rem}.school-intro-compact .school-intro-grid{gap:22px}.home-courses-action .btn{width:100%}}

.promo-video-wrap {
    display: grid;
    grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
    gap: 2rem;
    align-items: center;
}

.promo-video-copy h2 {
    margin: .45rem 0 .75rem;
}

.promo-video-copy p {
    color: var(--muted);
    line-height: 1.7;
}

.video-frame {
    position: relative;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    border: 1px solid rgba(0, 174, 239, .28);
    border-radius: 22px;
    background: #02070b;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.video-frame iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 820px) {
    .promo-video-wrap {
        grid-template-columns: 1fr;
    }
}

/* Catálogo inspirado no fluxo visual de cursos da referência */
.catalog-page-hero {
    padding: 72px 0 48px;
    background: #03070a;
    border-bottom: 1px solid var(--line);
}

.catalog-page-hero h1 {
    margin: 0 0 12px;
    font-size: clamp(2.8rem, 6vw, 5.2rem);
    line-height: 1;
}

.catalog-page-hero > .container > p {
    color: var(--muted);
    margin-bottom: 34px;
}

.catalog-search {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 22px;
    margin: 0;
    padding: 11px 16px;
    background: #071018;
    border: 1px solid #1f3846;
    border-radius: 12px;
}

.catalog-search span {
    color: #fff;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.catalog-search input {
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-products {
    padding-top: 45px;
}

.catalog-toolbar {
    display: grid;
    grid-template-columns: 220px 1fr 220px;
    gap: 24px;
    align-items: end;
    margin-bottom: 32px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--line);
}

.catalog-toolbar label {
    margin: 0;
}

.catalog-toolbar label > span {
    color: var(--cyan);
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.catalog-toolbar > strong {
    align-self: center;
    text-align: center;
    font-size: 1.15rem;
}

.catalog-product-card {
    display: flex;
    flex-direction: column;
    border-radius: 4px;
    background: #05090c;
}

.catalog-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-product-card .course-image {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 0;
}

.catalog-product-card .course-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px;
}

.catalog-product-card h3 {
    min-height: 2.55em;
    text-transform: uppercase;
}

.catalog-card-summary {
    display: -webkit-box;
    overflow: hidden;
    min-height: 3em !important;
    margin: 0 0 18px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.video-badge {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 6px 10px;
    border-radius: 20px;
    background: rgba(0, 0, 0, .82);
    color: #fff;
    font-size: .7rem;
    text-transform: uppercase;
}

.catalog-price {
    display: flex;
    flex-direction: column;
    margin-top: auto;
    padding-top: 15px;
    border-top: 1px solid var(--line);
}

.catalog-price strong {
    color: var(--cyan);
    font-size: 1.45rem;
}

.catalog-price span {
    min-height: 2.2em;
    margin: 4px 0 16px;
    color: #d4dfe5;
    font-size: .85rem;
}

.catalog-product-button {
    width: 100%;
    border-radius: 2px;
    text-transform: uppercase;
}

.catalog-card-actions {
    display: grid;
    gap: 8px;
}

.catalog-card-actions form {
    margin: 0;
}

.catalog-details-button {
    min-height: 42px;
    border-radius: 2px;
    font-size: .82rem;
    text-transform: uppercase;
}

.course-buy-cta {
    margin-top: 28px;
}

.catalog-empty {
    margin-top: 20px;
}

/* Página do curso: mídia, explicação e inscrição em sequência */
.course-product-media {
    padding: 34px 0 0;
    background: #03070a;
}

.course-breadcrumb {
    display: flex;
    gap: 8px;
    overflow: hidden;
    margin-bottom: 22px;
    color: var(--muted);
    font-size: .82rem;
    white-space: nowrap;
}

.course-breadcrumb a {
    color: var(--cyan);
}

.course-breadcrumb span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.course-media-frame,
.course-media-image {
    display: block;
    overflow: hidden;
    width: min(1040px, 100%);
    margin: 0 auto;
    aspect-ratio: 16 / 9;
    border: 1px solid #223b48;
    border-radius: 6px;
    background: #000;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
}

.course-media-frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.course-media-image {
    object-fit: cover;
}

.course-product-intro {
    padding: 62px 0 52px;
    background: #fff;
    color: #15232c;
}

.course-product-copy {
    max-width: 920px;
    text-align: center;
}

.course-product-copy h1 {
    margin: 0 auto 18px;
    font-size: clamp(2.5rem, 5vw, 4.7rem);
    line-height: 1;
    letter-spacing: -.04em;
}

.course-product-copy .lead {
    color: #40545f;
}

.course-product-copy .tag-row {
    justify-content: center;
}

.course-product-copy .tag-row span {
    color: #263d49;
    border-color: #b9c8cf;
}

.course-explanation {
    background: #fff;
    color: #15232c;
    padding-top: 20px;
}

.course-product-prose h2 {
    margin: 45px 0 16px;
    color: #0a668a;
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    text-align: center;
    text-transform: uppercase;
}

.course-product-prose > p {
    color: #304650;
    font-size: 1.08rem;
    line-height: 1.9;
    text-align: center;
}

.course-benefits {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 48px;
}

.course-benefits article {
    padding: 24px;
    border: 1px solid #d4e0e5;
    border-radius: 8px;
}

.course-benefits span {
    color: #00a7e4;
    font-size: .78rem;
    font-weight: 900;
}

.course-benefits strong {
    display: block;
    margin: 8px 0;
}

.course-benefits p {
    margin: 0;
    color: #536a75;
    font-size: .9rem;
}

.course-enrollment-section {
    padding: 80px 0;
    background: var(--bg-2);
    border-top: 1px solid var(--line);
}

.course-base-price {
    color: var(--cyan);
    font-size: 1.35rem;
}

.enrollment-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.enrollment-card {
    display: flex;
    flex-direction: column;
    padding: 27px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: var(--panel);
}

.enrollment-date {
    color: var(--cyan);
    font-weight: 900;
}

.enrollment-card h3 {
    margin-bottom: 8px;
}

.enrollment-card p {
    margin: 2px 0;
    color: var(--muted);
}

.enrollment-card > strong {
    margin-top: 20px;
    color: #fff;
    font-size: 1.55rem;
}

.enrollment-card > small {
    margin-bottom: 18px;
    color: var(--muted);
}

.enrollment-card form {
    margin-top: auto;
}

@media (max-width: 1050px) {
    .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .catalog-toolbar {
        grid-template-columns: 1fr 1fr;
    }

    .catalog-toolbar > strong {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .course-benefits,
    .enrollment-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .catalog-page-hero {
        padding: 45px 0 30px;
    }

    .catalog-search {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .catalog-search input {
        padding-inline: 0;
    }

    .catalog-products {
        padding-top: 28px;
    }

    .catalog-toolbar {
        gap: 10px;
    }

    .catalog-toolbar select {
        padding: 9px 7px;
        font-size: .78rem;
    }

    .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px;
    }

    .catalog-product-card .course-image {
        height: auto;
        aspect-ratio: 1 / 1;
    }

    .catalog-product-card .course-image > span {
        left: 7px;
        top: 7px;
        max-width: calc(100% - 14px);
        overflow: hidden;
        padding: 4px 7px;
        font-size: .55rem;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .video-badge {
        right: 7px;
        bottom: 7px;
        padding: 4px 7px;
        font-size: .55rem;
    }

    .catalog-product-card .course-body {
        padding: 12px;
    }

    .catalog-product-card h3 {
        min-height: 3.6em;
        margin-bottom: 7px;
        font-size: .9rem;
        line-height: 1.2;
    }

    .catalog-card-summary {
        min-height: 2.8em !important;
        margin-bottom: 10px !important;
        font-size: .72rem !important;
    }

    .catalog-price {
        padding-top: 10px;
    }

    .catalog-price strong {
        font-size: 1rem;
    }

    .catalog-price span {
        min-height: 3em;
        margin-bottom: 10px;
        font-size: .65rem;
        line-height: 1.35;
    }

    .catalog-product-button {
        min-height: 40px;
        padding: 0 7px;
        font-size: .72rem;
    }

    .catalog-card-actions {
        gap: 6px;
    }

    .catalog-details-button {
        min-height: 36px;
        padding: 0 5px;
        font-size: .65rem;
    }

    .course-product-media {
        padding-top: 20px;
    }

    .course-media-frame,
    .course-media-image {
        width: calc(100% + 28px);
        margin-left: -14px;
        border-inline: 0;
        border-radius: 0;
    }

    .course-product-intro {
        padding: 42px 0 34px;
    }

    .course-product-copy h1 {
        font-size: 2.45rem;
    }

    .course-explanation {
        padding-top: 0;
    }

    .course-product-prose > p {
        font-size: 1rem;
        line-height: 1.75;
    }

    .course-benefits {
        margin-top: 32px;
    }

    .course-enrollment-section {
        padding: 58px 0;
    }
}

/* Página institucional DL Escola */
.school-landing-hero {
    position: relative;
    overflow: hidden;
    padding: 110px 0;
    background:
        radial-gradient(circle at 78% 25%, rgba(0, 174, 239, .22), transparent 30%),
        linear-gradient(145deg, #03070a, #071721);
}

.school-landing-hero::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    mask-image: linear-gradient(to bottom, #000, transparent);
}

.school-landing-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: 70px;
    align-items: center;
}

.school-landing-grid h1 {
    max-width: 820px;
    margin: 0 0 24px;
    font-size: clamp(3.2rem, 7vw, 6.7rem);
    line-height: .94;
    letter-spacing: -.055em;
}

.school-landing-grid > div:first-child > p {
    max-width: 720px;
    margin-bottom: 34px;
    color: #bed0d9;
    font-size: 1.17rem;
}

.school-hero-panel {
    display: flex;
    min-height: 390px;
    flex-direction: column;
    justify-content: flex-end;
    padding: 38px;
    border: 1px solid rgba(103,215,255,.28);
    border-radius: 26px;
    background: linear-gradient(155deg, rgba(0,174,239,.18), rgba(8,23,32,.98));
    box-shadow: var(--shadow);
}

.school-hero-panel > span {
    margin-bottom: auto;
    color: var(--cyan);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.school-hero-panel > strong {
    font-size: 2rem;
    line-height: 1.15;
}

.school-hero-panel > div {
    display: flex;
    gap: 8px;
    align-items: baseline;
    margin-top: 28px;
    color: var(--muted);
}

.school-hero-panel b {
    color: #fff;
    font-size: 1.4rem;
}

.school-intro {
    background: #fff;
    color: #162731;
}

.school-intro-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 85px;
    align-items: start;
}

.school-intro h2,
.team-heading h2 {
    margin: 0;
    font-size: clamp(2.4rem, 5vw, 4.5rem);
    line-height: 1.03;
    letter-spacing: -.045em;
}

.school-intro-grid > div:last-child > p {
    margin-top: 0;
    color: #405660;
    font-size: 1.1rem;
    line-height: 1.85;
}

.school-intro .check-list li {
    color: #263d48;
}

.school-paths {
    background: var(--bg-2);
}

.school-path-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.school-path-grid article {
    min-height: 300px;
    padding: 31px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: linear-gradient(150deg, rgba(0,174,239,.09), var(--panel));
}

.school-path-grid span {
    color: var(--cyan);
    font-size: .76rem;
    font-weight: 900;
}

.school-path-grid h3 {
    margin: 80px 0 10px;
    font-size: 1.8rem;
}

.school-path-grid p,
.section-side-copy {
    color: var(--muted);
}

.school-courses-preview {
    background: #050b10;
}

.section-side-copy {
    max-width: 300px;
    text-align: right;
}

.team-section {
    background: #fff;
    color: #172832;
}

.team-heading {
    max-width: 900px;
    margin-bottom: 48px;
}

.team-heading > p {
    max-width: 720px;
    color: #526872;
    font-size: 1.06rem;
}

.team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
}

.teacher-card {
    display: grid;
    grid-template-columns: 210px 1fr;
    min-height: 300px;
    overflow: hidden;
    border: 1px solid #d3e0e6;
    border-radius: 16px;
    background: #f7fafb;
}

.teacher-photo {
    display: grid;
    height: 100%;
    min-height: 300px;
    place-items: center;
    overflow: hidden;
    background: linear-gradient(145deg, #061018, #0c86b5);
}

.teacher-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.teacher-photo > span {
    color: #fff;
    font-size: 5rem;
    font-weight: 900;
}

.teacher-card > div:last-child {
    padding: 30px;
}

.teacher-card > div:last-child > span {
    color: #008fc4;
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.teacher-card h3,
.team-invited-card h3 {
    margin: 8px 0 14px;
    font-size: 1.75rem;
}

.teacher-card p,
.team-invited-card p {
    color: #526872;
    line-height: 1.75;
}

.team-invited-card {
    display: flex;
    min-height: 300px;
    flex-direction: column;
    justify-content: center;
    padding: 38px;
    border: 1px dashed #9eb4bf;
    border-radius: 16px;
    background: #f3f8fa;
}

.team-invited-card small {
    margin-top: 12px;
    color: #70838c;
}

.school-method {
    background: var(--bg-2);
}

.school-final-cta {
    padding: 105px 0;
    background: linear-gradient(105deg, #00a6e4, #73ddff);
    color: #001019;
    text-align: center;
}

.school-final-cta .eyebrow {
    color: #045873;
}

.school-final-cta h2 {
    max-width: 900px;
    margin: 0 auto 16px;
    font-size: clamp(2.7rem, 6vw, 5rem);
    line-height: 1;
    letter-spacing: -.045em;
}

.school-final-cta p {
    max-width: 680px;
    margin: 0 auto 30px;
    font-size: 1.08rem;
}

.school-final-button {
    min-width: 260px;
    border-color: #061018;
    background: #061018;
    color: #fff;
    text-transform: uppercase;
}

.settings-team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.settings-teacher-card {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #091720;
}

.settings-team-preview {
    width: 100%;
    height: 190px;
    margin-bottom: 16px;
    border-radius: 10px;
    object-fit: cover;
}

@media (max-width: 900px) {
    .school-landing-grid {
        grid-template-columns: 1fr;
    }

    .school-hero-panel {
        min-height: 280px;
    }

    .teacher-card {
        grid-template-columns: 160px 1fr;
    }
}

@media (max-width: 820px) {
    .school-intro-grid,
    .team-grid {
        grid-template-columns: 1fr;
    }

    .school-path-grid {
        grid-template-columns: 1fr;
    }

    .school-path-grid article {
        min-height: 220px;
    }

    .school-path-grid h3 {
        margin-top: 45px;
    }

    .section-side-copy {
        max-width: none;
        text-align: left;
    }

    .settings-team-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 600px) {
    .school-landing-hero {
        padding: 72px 0;
    }

    .school-landing-grid {
        gap: 40px;
    }

    .school-landing-grid h1 {
        font-size: 3.45rem;
    }

    .school-hero-panel {
        min-height: 235px;
        padding: 25px;
    }

    .school-hero-panel > strong {
        font-size: 1.5rem;
    }

    .school-intro-grid {
        gap: 28px;
    }

    .teacher-card {
        grid-template-columns: 1fr;
    }

    .teacher-photo {
        min-height: 330px;
    }

    .school-final-cta {
        padding: 75px 0;
    }

    .school-final-button {
        width: 100%;
    }
}

/* V7: garante duas colunas e capas 1:1 no catálogo em celulares */
.catalog-products .course-grid,
[data-course-catalog] .course-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.catalog-products .course-card .course-image,
[data-course-catalog] .course-card .course-image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}

.catalog-products .course-card .course-image img,
[data-course-catalog] .course-card .course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (max-width: 1050px) {
    .catalog-products .course-grid,
    [data-course-catalog] .course-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    body .catalog-products .course-grid,
    body [data-course-catalog] .course-grid,
    body .catalog-grid.course-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }

    body .catalog-products .course-card,
    body [data-course-catalog] .course-card {
        width: auto !important;
        min-width: 0 !important;
    }

    body .catalog-products .course-card .course-image,
    body [data-course-catalog] .course-card .course-image {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1 / 1 !important;
    }
}

/* V8 final: página inicial compacta e reorganizada */
.school-landing-hero.school-landing-hero-compact{padding:78px 0 72px}
.school-landing-simple{position:relative}
.school-landing-simple h1{max-width:900px;margin:0;font-size:clamp(3rem,7vw,6.2rem);line-height:.95;letter-spacing:-.055em}
.school-landing-simple>p{margin:18px 0 0;color:#bed0d9;font-size:clamp(1rem,2vw,1.28rem)}
.multidisciplinary-section{padding:64px 0;background:#fff;color:#172832}
.multidisciplinary-copy{max-width:920px}
.multidisciplinary-copy h2{margin:0;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-.05em}
.multidisciplinary-copy h3{margin:12px 0 14px;color:#526872;font-size:clamp(1.25rem,2.6vw,2rem);font-weight:650}
.multidisciplinary-copy p{max-width:760px;margin:0;color:#526872;font-size:1rem}
.school-paths.school-paths-compact,.school-courses-preview.home-courses-preview{padding:64px 0}
.section-heading.compact-home-heading{margin-bottom:26px}
.section-heading.compact-home-heading h2{font-size:clamp(2rem,4vw,3.25rem)}
.school-path-grid.school-path-grid-compact article{display:grid;grid-template-columns:auto 1fr;gap:18px;min-height:0;padding:22px;align-items:start}
.school-path-grid.school-path-grid-compact h3{margin:0 0 5px;font-size:1.35rem}
.school-path-grid.school-path-grid-compact p{margin:0;font-size:.88rem;line-height:1.55}
.home-courses-action{display:flex;justify-content:center;margin-top:34px}
.school-intro.school-intro-compact{padding:58px 0}
.school-intro-compact .school-intro-grid{gap:55px}
.school-intro.school-intro-compact h2{font-size:clamp(2rem,4vw,3.25rem)}
.school-intro-compact .check-list{margin-bottom:0}
@media(max-width:820px){.school-path-grid.school-path-grid-compact{grid-template-columns:1fr}.home-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:600px){.school-landing-hero.school-landing-hero-compact{padding:50px 0 48px}.school-landing-simple h1{font-size:3.05rem}.multidisciplinary-section,.school-paths.school-paths-compact,.school-courses-preview.home-courses-preview,.school-intro.school-intro-compact{padding:48px 0}.multidisciplinary-copy h2{font-size:2.75rem}body .home-course-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.home-course-grid .catalog-product-card .course-body{padding:12px}.home-course-grid .catalog-product-card h3{min-height:3.6em;font-size:.9rem}.school-intro-compact .school-intro-grid{gap:22px}.home-courses-action .btn{width:100%}}

/* V10.2: espaços e títulos da home controlados pelo painel */
.school-landing-hero.school-landing-hero-compact{padding:var(--home-hero-space-top,34px) 0 var(--home-hero-space-bottom,30px)}
.school-landing-simple h1{font-size:clamp(2.2rem,4.8vw,var(--home-hero-title-size,58px))}
.school-landing-simple>p{margin-top:14px;font-size:clamp(.92rem,1.5vw,1.08rem)}
.school-courses-preview.home-courses-preview{padding:var(--home-courses-space-top,30px) 0 var(--home-courses-space-bottom,48px)}
.home-courses-preview .section-heading h2{font-size:clamp(2rem,3.8vw,var(--home-courses-title-size,46px))}
.school-paths.multidisciplinary-paths{padding:54px 0;background:#fff;color:#172832}
.team-path-heading{max-width:880px}
.section-heading.team-path-heading h2{font-size:clamp(2.25rem,4.5vw,4rem);color:#172832}
.team-path-heading p{max-width:720px;margin:14px 0 0;color:#526872;font-size:.94rem;line-height:1.65}
.multidisciplinary-paths .school-path-grid-compact{gap:14px}
.multidisciplinary-paths .school-path-grid-compact article{gap:13px;padding:17px;border-color:#d7e1e6;border-radius:12px;background:#f5f8fa}
.multidisciplinary-paths .school-path-grid-compact span{font-size:.67rem}
.multidisciplinary-paths .school-path-grid-compact h3{color:#172832;font-size:1.12rem}
.multidisciplinary-paths .school-path-grid-compact p{color:#526872;font-size:.78rem;line-height:1.45}
@media(max-width:600px){.school-landing-hero.school-landing-hero-compact{padding:24px 0 24px}.school-landing-simple h1{font-size:2.15rem}.school-landing-simple>p{font-size:.86rem}.school-courses-preview.home-courses-preview{padding:24px 0 36px}.home-courses-preview .section-heading h2{font-size:2rem}.school-paths.multidisciplinary-paths{padding:42px 0}.section-heading.team-path-heading h2{font-size:2.2rem}.team-path-heading p{font-size:.86rem}.multidisciplinary-paths .school-path-grid-compact article{padding:14px}.multidisciplinary-paths .school-path-grid-compact h3{font-size:1.02rem}.multidisciplinary-paths .school-path-grid-compact p{font-size:.74rem}}
