.public-body { min-height: 100vh; }
.public-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px min(5vw, 58px); backdrop-filter: blur(18px); background: rgba(6,16,31,.78); border-bottom: 1px solid var(--line); }
.brand, .student-brand { display: inline-flex; align-items: center; gap: 10px; font-size: 22px; font-weight: 950; letter-spacing: -.045em; }
.brand b, .student-brand b { color: #60a5fa; }
.brand-mark { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 15px; background: linear-gradient(135deg, var(--primary), var(--primary-2)); color: white; box-shadow: 0 14px 28px rgba(37,99,235,.28); }
.public-menu-btn { display: none; padding: 10px 12px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: var(--text); font-weight: 900; }
.public-nav { display: flex; align-items: center; gap: 15px; font-weight: 850; color: var(--muted); }
.public-nav a:not(.btn):hover { color: #eaf6ff; }
.hero { padding: 88px 0 42px; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; inset: -220px -120px auto auto; width: 620px; height: 620px; background: radial-gradient(circle, rgba(56,189,248,.22), transparent 62%); pointer-events: none; }
.hero::after { content: ''; position: absolute; left: -180px; top: 110px; width: 420px; height: 420px; background: radial-gradient(circle, rgba(139,92,246,.17), transparent 64%); pointer-events: none; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.08fr .92fr; gap: 38px; align-items: center; }
.hero h1 { font-size: clamp(45px, 7vw, 86px); line-height: .93; letter-spacing: -.08em; margin: 18px 0; }
.hero p { color: var(--muted-2); font-size: 18px; line-height: 1.75; max-width: 680px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; color: var(--muted); font-size: 13px; font-weight: 800; }
.hero-proof span { padding: 8px 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.045); }
.hero-panel { padding: 24px; overflow: hidden; position: relative; }
.hero-panel::before { content: ''; position: absolute; inset: 0 0 auto auto; width: 220px; height: 220px; background: radial-gradient(circle, rgba(16,185,129,.18), transparent 65%); }
.hero-panel > * { position: relative; }
.hero-panel h3 { font-size: 27px; line-height: 1.08; margin: 10px 0 12px; letter-spacing: -.04em; }
.metric-list { display: grid; gap: 12px; margin-top: 20px; }
.metric-row { display: flex; justify-content: space-between; gap: 12px; padding: 14px 15px; border-radius: 16px; background: rgba(255,255,255,.055); border: 1px solid var(--line); }
.metric-row span { color: var(--muted); font-weight: 800; }
.metric-row strong { color: var(--text); }
.mini-terminal { margin-top: 18px; border-radius: 18px; background: rgba(3,7,18,.72); border: 1px solid rgba(148,163,184,.18); overflow: hidden; }
.terminal-bar { display: flex; gap: 6px; padding: 10px 12px; background: rgba(255,255,255,.045); }
.terminal-dot { width: 10px; height: 10px; border-radius: 999px; background: rgba(255,255,255,.28); }
.terminal-code { padding: 15px; color: #b7f7d8; font: 700 13px/1.7 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.section { padding: 55px 0; }
.section-title { max-width: 770px; margin-bottom: 26px; }
.section-title.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-title h2 { font-size: clamp(31px, 4vw, 52px); letter-spacing: -.055em; line-height: 1.02; margin: 0 0 11px; }
.section-title p { color: var(--muted); line-height: 1.75; font-size: 16px; }
.feature-card, .course-card, .price-card, .faq-card, .step-card { padding: 24px; }
.feature-card h3, .course-card h3, .step-card h3 { margin: 14px 0 10px; font-size: 23px; letter-spacing: -.025em; }
.feature-card p, .course-card p, .step-card p, .faq-card p { color: var(--muted); line-height: 1.68; }
.icon-box { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; background: linear-gradient(135deg, rgba(37,99,235,.22), rgba(56,189,248,.12)); border: 1px solid rgba(56,189,248,.2); font-size: 22px; }
.route-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; }
.route-pill { padding: 17px; border-radius: 19px; background: rgba(255,255,255,.05); border: 1px solid var(--line); }
.route-pill strong { display: block; margin-bottom: 6px; color: #eff8ff; }
.route-pill span { color: var(--muted); font-size: 13px; line-height: 1.5; }
.course-card-top, .card-actions, .course-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.course-card-top { justify-content: space-between; }
.course-meta { margin: 18px 0; color: var(--muted); font-size: 14px; }
.course-meta span { padding: 8px 10px; border-radius: 12px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.06); }
.price-card { text-align: center; max-width: 840px; margin: 0 auto; padding: 34px; }
.price { font-size: 62px; font-weight: 950; letter-spacing: -.07em; margin: 8px 0; }
.price small { font-size: 18px; color: var(--muted); letter-spacing: 0; }
.price-list { display: grid; gap: 10px; text-align: left; width: min(560px,100%); margin: 22px auto; }
.price-list span { display: flex; gap: 10px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 15px; color: var(--muted-2); background: rgba(255,255,255,.04); }
.cta-band { padding: 32px; display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.cta-band h2 { margin: 0 0 8px; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.05em; }
.cta-band p { margin: 0; color: var(--muted); line-height: 1.7; }
.faq-card h3 { margin: 0 0 8px; }
.public-footer { margin-top: 78px; display: grid; grid-template-columns: 1.3fr .45fr .45fr; gap: 28px; padding: 38px min(5vw,58px); border-top: 1px solid var(--line); color: var(--muted); background: rgba(255,255,255,.025); }
.footer-brand { margin-bottom: 12px; }
.footer-col { display: grid; align-content: start; gap: 10px; }
.footer-col strong { color: var(--text); }
@media (max-width: 980px) { .hero-grid { grid-template-columns: 1fr; } .route-strip { grid-template-columns: repeat(2, minmax(0,1fr)); } .cta-band { grid-template-columns: 1fr; } .public-footer { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .public-header { align-items: center; flex-wrap: wrap; } .public-menu-btn { display: inline-flex; } .public-nav { display: none; width: 100%; flex-direction: column; align-items: stretch; padding: 12px 0 4px; } .public-nav.open { display: flex; } .public-nav .btn { width: 100%; } .hero { padding-top: 58px; } .route-strip { grid-template-columns: 1fr; } }
