/* DANA EDUKASI — public, account, and policy experience */
:root {
    --dana-ink: #113b68;
    --dana-navy: #0b4a92;
    --dana-blue: #1478dc;
    --dana-sky: #eaf5ff;
    --dana-cloud: #f5f9fe;
    --dana-line: #d9e7f6;
    --dana-muted: #6581a0;
    --dana-success: #167a58;
    --dana-shadow: 0 18px 48px rgba(33, 83, 136, .10);
    --dana-serif: Iowan Old Style, Palatino Linotype, Book Antiqua, Georgia, serif;
    --dana-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body.public-page,
body.student-dashboard-page,
body.auth-page {
    color: var(--dana-ink);
    font-family: var(--dana-sans);
}

/* Public navigation */
body.public-page { background: var(--dana-cloud); }
.public-header {
    position: sticky;
    z-index: 20;
    top: 0;
    display: flex;
    width: 100%;
    min-height: 76px;
    align-items: center;
    justify-content: space-between;
    padding: 0 max(24px, calc((100vw - 1200px) / 2));
    border-bottom: 1px solid rgba(217, 231, 246, .88);
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 8px 30px rgba(33, 83, 136, .055);
    backdrop-filter: blur(14px);
}
.public-brand { gap: 10px; color: var(--dana-ink); text-decoration: none; }
.public-brand-mark {
    display: grid;
    width: 37px;
    height: 37px;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(145deg, #1689e8, #0a4c9b);
    box-shadow: 0 9px 20px rgba(10, 76, 155, .22);
    color: #fff;
    font-family: var(--dana-serif);
    font-size: 22px;
    font-weight: 700;
}
.public-brand small { color: #6685a3; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.public-brand strong { color: #123e6c; font-family: var(--dana-serif); font-size: 20px; letter-spacing: -.035em; }
.public-nav { display: flex; align-items: center; gap: 4px; }
.public-nav a { padding: 10px 11px; border-radius: 10px; color: #426385; font-size: 12px; font-weight: 750; text-decoration: none; transition: background .18s ease, color .18s ease, transform .18s ease; }
.public-nav a:hover { background: #eff7ff; color: var(--dana-navy); transform: translateY(-1px); }
.public-nav .public-nav-action { padding-right: 14px; padding-left: 14px; border: 1px solid #b7d9fa; background: #f7fbff; color: #0966bf; box-shadow: 0 6px 14px rgba(25, 103, 186, .08); }
.public-nav .public-nav-login { color: var(--dana-navy) !important; }
.public-main { width: min(1200px, calc(100% - 40px)); min-height: calc(100vh - 140px); margin: 0 auto; }
.public-footer { width: min(1200px, calc(100% - 40px)); margin: 0 auto; padding: 35px 0 45px; border-top: 1px solid var(--dana-line); color: var(--dana-muted); }
.public-footer strong { color: var(--dana-ink); font-size: 13px; }
.public-footer span { margin-left: 9px; font-size: 12px; }
.public-footer-links { display: flex; gap: 16px; }
.public-footer a { color: #186dc2; font-size: 12px; font-weight: 750; text-decoration: none; }

/* Catalog and course cards */
.public-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); min-height: 510px; align-items: center; gap: 58px; padding: 72px 0 64px; overflow: hidden; }
.public-hero-copy { max-width: 625px; }
.public-kicker { margin: 0 0 13px; color: #1876d0; font-size: 10px; font-weight: 850; letter-spacing: .15em; }
.public-kicker span { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #4bb19a; }
.public-hero h1,
.public-course-hero h1,
.public-policy-hero h1 { max-width: 660px; margin: 0; color: var(--dana-ink); font-family: var(--dana-serif); font-size: clamp(42px, 5vw, 70px); font-weight: 500; letter-spacing: -.055em; line-height: .99; }
.public-hero-copy > p:not(.public-kicker),
.public-course-hero-copy > p,
.public-policy-hero > div > p { max-width: 560px; margin: 24px 0 0; color: #5f7e9e; font-size: 16px; line-height: 1.8; }
.public-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 27px; }
.public-btn { min-height: 44px; padding: 12px 17px; border-radius: 12px; font-family: var(--dana-sans); font-size: 12px; font-weight: 800; letter-spacing: -.01em; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.public-btn:hover { transform: translateY(-2px); }
.public-btn-primary { border: 1px solid #0d67be; background: linear-gradient(135deg, #0b5cb7, #1688e8); box-shadow: 0 12px 20px rgba(18, 109, 196, .22); color: #fff; }
.public-btn-primary:hover { box-shadow: 0 17px 25px rgba(18, 109, 196, .29); color: #fff; }
.public-btn-secondary { border: 1px solid var(--dana-line); background: #fff; color: #235981; box-shadow: 0 7px 15px rgba(32, 76, 117, .05); }
.public-btn-light { background: #fff; color: #0c5aa8; box-shadow: 0 9px 20px rgba(0, 28, 72, .15); }
.public-trust-row { display: flex; flex-wrap: wrap; gap: 15px; margin-top: 30px; color: #547392; font-size: 11px; font-weight: 680; }
.public-trust-row b { display: inline-grid; width: 16px; height: 16px; margin-right: 4px; place-items: center; border-radius: 50%; background: #dff5ec; color: #167a58; font-size: 10px; }
.public-hero-visual { position: relative; min-height: 340px; }
.public-lesson-window { position: absolute; z-index: 2; top: 29px; right: 0; left: 30px; overflow: hidden; border: 1px solid rgba(203, 226, 248, .95); border-radius: 22px; background: #fff; box-shadow: 0 26px 58px rgba(35, 91, 145, .18); }
.window-top { display: flex; height: 47px; align-items: center; gap: 6px; padding: 0 17px; border-bottom: 1px solid #e8f1fa; background: #f9fcff; }
.window-top i { width: 7px; height: 7px; border-radius: 50%; background: #bad0e8; }.window-top i:nth-child(2) { background: #8fbce7; }.window-top i:nth-child(3) { background: #58a0dd; }.window-top span { margin-left: 8px; color: #7791ac; font-size: 10px; font-weight: 700; }
.window-body { display: grid; grid-template-columns: 48px 1fr; align-items: center; gap: 13px; min-height: 205px; padding: 30px; background: radial-gradient(circle at 86% 20%, #ddf0ff, transparent 25%), linear-gradient(135deg, #eff8ff, #fff); }.window-body strong,.window-body small{display:block}.window-body strong{color:#163f6a;font-family:var(--dana-serif);font-size:25px;font-weight:500}.window-body small{margin-top:6px;color:#6f8aa5;font-size:11px}.window-play{display:grid;width:48px;height:48px;place-items:center;border-radius:15px;background:linear-gradient(145deg,#0b5cb7,#258fea);box-shadow:0 10px 17px rgba(12,92,183,.23);color:#fff;font-size:16px}.window-progress{grid-column:1/-1;height:8px;margin-top:13px;border-radius:99px;background:#d9eafa}.window-progress span{display:block;width:67%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1876d0,#66b4ef)}
.public-orb { position:absolute;border-radius:50%;filter:blur(1px); }.public-orb-one{right:-48px;bottom:-16px;width:255px;height:255px;background:radial-gradient(circle,#c9eaff,rgba(201,234,255,0));}.public-orb-two{top:0;left:0;width:170px;height:170px;background:radial-gradient(circle,#d8f2ff,rgba(216,242,255,0));}.public-float-card{position:absolute;z-index:3;bottom:7px;left:0;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid rgba(220,237,252,.9);border-radius:15px;background:rgba(255,255,255,.89);box-shadow:0 15px 32px rgba(25,76,126,.14);backdrop-filter:blur(9px)}.public-float-card>span{display:grid;width:30px;height:30px;place-items:center;border-radius:10px;background:#e9f6ff;color:#1478dc}.public-float-card small,.public-float-card strong{display:block}.public-float-card small{color:#7490aa;font-size:9px}.public-float-card strong{margin-top:2px;color:#204b75;font-size:11px}
.public-catalog-section,.public-curriculum-section { padding: 70px 0; }.public-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:29px}.public-section-heading h2{margin:0;color:var(--dana-ink);font-family:var(--dana-serif);font-size:clamp(31px,3vw,43px);font-weight:500;letter-spacing:-.045em}.public-section-heading p:not(.public-kicker){max-width:600px;margin:12px 0 0;color:#6d88a3;font-size:13px;line-height:1.7}.public-section-heading>span{flex:0 0 auto;padding:8px 12px;border-radius:10px;background:#e8f4ff;color:#1674ce;font-size:11px;font-weight:800}
.public-course-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.public-course-card{overflow:hidden;border:1px solid var(--dana-line);border-radius:19px;background:#fff;box-shadow:0 12px 27px rgba(39,91,139,.06);transition:transform .2s ease,box-shadow .2s ease}.public-course-card:hover{transform:translateY(-5px);box-shadow:0 22px 39px rgba(39,91,139,.12)}.public-course-image{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#d8edff,#8cc8f5)}.public-course-image:after,.public-course-hero-image:after{position:absolute;inset:0;content:"";background:linear-gradient(145deg,rgba(16,79,144,.08),rgba(16,79,144,.1))}.public-course-image img{width:100%;height:100%;object-fit:cover;object-position:center}.public-course-image img[src*="hero-dana"]{object-fit:contain;object-position:right bottom;transform:scale(1.13)}.public-price-badge{position:absolute;z-index:2;top:12px;left:12px;padding:7px 9px;border-radius:9px;background:#fff;color:#176dc2;font-size:10px;font-weight:850;box-shadow:0 6px 14px rgba(23,78,131,.13)}.public-price-badge.is-paid{color:#0d4d99}.public-preview-play{position:absolute;z-index:3;right:14px;bottom:14px;display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:rgba(8,68,131,.84);box-shadow:0 8px 16px rgba(9,52,105,.19);color:#fff;font-size:13px}.public-course-body{padding:17px 18px 18px}.public-course-meta,.student-discover-meta{display:flex;gap:8px;flex-wrap:wrap}.public-course-meta span,.student-discover-meta span{padding:4px 7px;border-radius:7px;background:#eef7ff;color:#5b82a7;font-size:9px;font-weight:820}.public-course-body h3{margin:11px 0 8px}.public-course-body h3 a{color:var(--dana-ink);font-family:var(--dana-serif);font-size:24px;font-weight:500;letter-spacing:-.035em;text-decoration:none}.public-course-body>p{min-height:42px;margin:0;color:#6f8ba5;font-size:11px;line-height:1.65}.public-course-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px}.public-text-link{color:#176cc1;font-size:10px;font-weight:850;text-decoration:none}.public-text-link span{margin-left:3px}.public-btn-mini{min-height:36px;padding:9px 11px;border-radius:10px;font-size:10px}

/* Course information and preview */
.public-course-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.75fr);align-items:center;gap:60px;padding:67px 0 56px}.public-back-link{display:inline-flex;margin-bottom:23px;color:#235f95;font-size:11px;font-weight:800;text-decoration:none}.public-price-line{display:flex;align-items:center;gap:10px;margin-bottom:17px;color:#6e8ba7;font-size:11px;font-weight:760}.public-price-line .public-price-badge{position:static;box-shadow:none}.public-course-hero-copy>p{font-size:15px}.public-detail-cta{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:28px}.public-detail-cta small{color:#4f8a7a;font-size:10px;font-weight:750}.public-course-hero-image{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:22px;background:linear-gradient(145deg,#d7edff,#91c9f5);box-shadow:var(--dana-shadow)}.public-course-hero-image img{width:100%;height:100%;object-fit:cover}.public-course-hero-image img[src*="hero-dana"]{object-fit:contain;object-position:right bottom;transform:scale(1.1)}.public-hero-price{position:absolute;z-index:3;bottom:16px;left:16px;padding:8px 11px;border-radius:9px;background:#fff;color:#1056a0;font-size:11px;font-weight:850}.public-module-list{display:grid;gap:12px}.public-module-card{overflow:hidden;border:1px solid var(--dana-line);border-radius:17px;background:#fff;box-shadow:0 9px 23px rgba(31,77,121,.045)}.public-module-card>header{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid #e6eff8}.public-module-card>header>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:#e7f4ff;color:#1676d2;font-size:10px;font-weight:850}.public-module-card small{color:#6d98be;font-size:9px;font-weight:850;letter-spacing:.11em}.public-module-card h3{margin:3px 0 0;color:#164b7e;font-size:13px}.public-module-card header b{color:#5d87ab;font-size:10px}.public-module-card ul{margin:0;padding:0;list-style:none}.public-module-card li{display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 18px;border-top:1px solid #edf3f9}.public-module-card li:first-child{border-top:0}.public-lesson-icon{display:grid;width:23px;height:23px;place-items:center;border-radius:8px;background:#e7f5ff;color:#1779d5;font-size:11px}.is-locked .public-lesson-icon{background:#f1f4f8;color:#90a5ba}.public-module-card li strong,.public-module-card li small{display:block}.public-module-card li strong{color:#274f75;font-size:11px}.public-module-card li small{margin-top:3px;color:#8aa0b5;font-size:9px;font-weight:600;letter-spacing:0}.public-module-card li>a,.public-lock-label{color:#1370cc;font-size:10px;font-weight:850;text-decoration:none}.public-lock-label{padding:7px 8px;border-radius:8px;background:#f0f5f9;color:#8199ad}.public-detail-banner{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 0 70px;padding:31px 34px;border-radius:21px;background:linear-gradient(115deg,#0b4c9d,#1789e7);box-shadow:0 19px 35px rgba(17,92,171,.2);color:#fff}.public-detail-banner h2{margin:0;color:#fff;font-family:var(--dana-serif);font-size:34px;font-weight:500;letter-spacing:-.04em}.public-detail-banner .public-kicker{color:#bce4ff}.public-detail-banner p:not(.public-kicker){margin:9px 0 0;color:#deefff;font-size:12px;line-height:1.6}.public-preview-head{display:flex;align-items:center;justify-content:space-between;padding:25px 0 13px}.public-preview-head .public-back-link{margin:0}.public-preview-head div{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.public-preview-head span{color:#1a78d2;font-size:9px;font-weight:850;letter-spacing:.12em}.public-preview-head strong{color:#6582a0;font-size:11px}.public-preview-lesson{overflow:hidden;margin:10px auto 24px;border:1px solid var(--dana-line);border-radius:22px;background:#fff;box-shadow:var(--dana-shadow)}.public-preview-lesson>header{padding:37px clamp(22px,5vw,54px) 23px}.public-preview-lesson h1{margin:0;color:var(--dana-ink);font-family:var(--dana-serif);font-size:clamp(33px,4vw,52px);font-weight:500;letter-spacing:-.045em}.public-preview-lesson header>p:not(.public-kicker){margin:13px 0 0;color:#6d88a4;font-size:13px;line-height:1.7}.public-preview-video{aspect-ratio:16/9;margin:0 clamp(20px,5vw,54px);overflow:hidden;border-radius:14px;background:#082a52}.public-preview-video iframe,.public-preview-video video{display:block;width:100%;height:100%;border:0}.public-preview-prose{padding:27px clamp(20px,5vw,54px) 38px;color:#52718e;font-size:14px;line-height:1.8}.public-preview-prose>*:first-child{margin-top:0}.public-preview-cta{display:flex;align-items:center;justify-content:space-between;gap:25px;margin:0 auto 70px;padding:25px 28px;border:1px solid #cfe5fb;border-radius:18px;background:#edf7ff}.public-preview-cta h2{margin:0;color:#154877;font-family:var(--dana-serif);font-size:31px;font-weight:500;letter-spacing:-.035em}.public-preview-cta p:not(.public-kicker){margin:7px 0 0;color:#6987a2;font-size:11px;line-height:1.6}

/* Policy and verification pages */
.public-policy-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:68px 0 36px}.public-policy-hero h1{max-width:660px;font-size:clamp(39px,5vw,63px)}.public-policy-hero aside{display:flex;max-width:320px;align-items:flex-start;gap:12px;padding:16px;border:1px solid #cce7fa;border-radius:16px;background:#f8fcff}.public-policy-hero aside>span{display:grid;width:32px;height:32px;flex:0 0 auto;place-items:center;border-radius:10px;background:#ddf4ea;color:#167a58;font-weight:900}.public-policy-hero aside strong,.public-policy-hero aside small{display:block}.public-policy-hero aside strong{color:#21567e;font-size:12px}.public-policy-hero aside small{margin-top:4px;color:#7892aa;font-size:10px;line-height:1.55}.public-policy-tabs{display:flex;gap:7px;margin:0 0 25px;overflow:auto;padding-bottom:4px}.public-policy-tabs a{flex:0 0 auto;padding:10px 13px;border:1px solid var(--dana-line);border-radius:10px;background:#fff;color:#547595;font-size:11px;font-weight:800;text-decoration:none}.public-policy-tabs a.is-active,.public-policy-tabs a:hover{border-color:#9bcdf8;background:#eaf5ff;color:#0c64b9}.public-legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding-bottom:76px}.public-legal-side{align-self:start;position:sticky;top:95px;padding:22px;border:1px solid var(--dana-line);border-radius:18px;background:#fff;box-shadow:0 12px 27px rgba(39,91,139,.05)}.public-legal-side h2{margin:0;color:var(--dana-ink);font-family:var(--dana-serif);font-size:28px;font-weight:500;letter-spacing:-.04em}.public-legal-side>p:not(.public-kicker){margin:11px 0 16px;color:#708aa3;font-size:11px;line-height:1.65}.public-legal-side a{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid #e8f0f8;color:#126ac2;font-size:10px;font-weight:800;text-decoration:none}.public-legal-content{display:grid;gap:16px}.public-legal-card{scroll-margin-top:100px;padding:31px;border:1px solid var(--dana-line);border-radius:20px;background:#fff;box-shadow:0 13px 28px rgba(35,84,130,.055)}.public-legal-card h2{margin:0;color:var(--dana-ink);font-family:var(--dana-serif);font-size:34px;font-weight:500;letter-spacing:-.045em}.public-legal-card>p:not(.public-kicker){margin:14px 0 0;color:#617f9e;font-size:13px;line-height:1.8}.public-legal-card ol{display:grid;gap:13px;margin:23px 0 0;padding:0;list-style:none;counter-reset:policy}.public-legal-card ol li{position:relative;padding-left:35px;color:#527391;font-size:12px;line-height:1.75;counter-increment:policy}.public-legal-card ol li:before{position:absolute;top:1px;left:0;display:grid;width:23px;height:23px;place-items:center;border-radius:8px;background:#e7f4ff;color:#0c68c1;content:counter(policy,decimal-leading-zero);font-size:8px;font-weight:850}.public-legal-card li strong{color:#244f78}.public-legal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:23px}.public-legal-grid section{padding:17px;border-radius:14px;background:#f6faff}.public-legal-grid section:first-child{background:#f1fbf6}.public-legal-grid h3{margin:0;color:#245879;font-size:12px}.public-legal-grid ul{display:grid;gap:7px;margin:10px 0 0;padding-left:16px;color:#66839d;font-size:11px;line-height:1.6}.public-support-card{background:linear-gradient(135deg,#0b4c9d,#1689e8);border-color:transparent}.public-support-card .public-kicker{color:#bce7ff}.public-support-card h2,.public-support-card>p:not(.public-kicker){color:#fff}.public-support-card>p:not(.public-kicker){color:#d9efff}.public-support-card .public-btn{margin-top:18px}.public-legal-faq details{padding:16px 0;border-top:1px solid #e5eff8}.public-legal-faq details:first-of-type{margin-top:19px}.public-legal-faq summary{cursor:pointer;color:#25547f;font-size:12px;font-weight:830}.public-legal-faq details p{max-width:720px;margin:8px 0 0;color:#6b86a0;font-size:12px;line-height:1.7}

/* Dashboard participant */
.student-dashboard-page{background:var(--dana-cloud)}.student-header.refined-student-header{position:sticky;z-index:30;top:0;min-height:76px;padding:0 max(22px,calc((100vw - 1200px)/2));border-bottom:1px solid var(--dana-line);background:rgba(255,255,255,.93);box-shadow:0 7px 20px rgba(35,84,130,.05);backdrop-filter:blur(12px)}.student-header .brand{color:var(--dana-ink);text-decoration:none}.student-header .brand-logo-wrap{display:none}.student-header .brand:before{display:grid;width:37px;height:37px;place-items:center;border-radius:12px;background:linear-gradient(145deg,#1689e8,#0a4c9b);box-shadow:0 9px 20px rgba(10,76,155,.22);content:"D";color:#fff;font-family:var(--dana-serif);font-size:22px;font-weight:700}.student-header .brand small{color:#6685a3;font-size:9px;letter-spacing:.12em}.student-header .brand strong{color:#123e6c;font-family:var(--dana-serif);font-size:20px}.student-header-actions{gap:10px}.student-header-actions .btn{min-height:37px;padding:8px 11px;border-radius:10px;font-size:10px}.student-greeting small{color:#7892aa}.student-greeting strong{color:#244e77;font-size:11px}.student-main-refined{width:min(1200px,calc(100% - 40px));padding:34px 0 80px}.student-welcome.refined-welcome{min-height:285px;margin:0;padding:40px clamp(25px,5vw,55px);overflow:hidden;border:0;border-radius:22px;background:linear-gradient(116deg,#0a4286,#147bd7);box-shadow:0 21px 39px rgba(19,86,162,.19)}.refined-welcome .welcome-copy{max-width:600px}.refined-welcome .eyebrow{color:#b9e4ff}.refined-welcome h1{max-width:550px;color:#fff;font-family:var(--dana-serif);font-size:clamp(33px,4vw,54px);font-weight:500;letter-spacing:-.045em;line-height:1.04}.refined-welcome p:not(.eyebrow){max-width:480px;color:#d8edff;font-size:13px;line-height:1.75}.welcome-points span{border-color:rgba(208,236,255,.34);background:rgba(255,255,255,.1);color:#eff9ff;font-size:10px}.refined-welcome .welcome-visual{right:2%;bottom:-62px;width:330px;height:370px}.refined-welcome .welcome-visual img{width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:drop-shadow(-11px 8px 14px rgba(0,35,81,.18))}.refined-welcome .welcome-orbit{border-color:rgba(174,222,255,.24)}.student-course-section{padding-top:59px}.student-section-heading{margin-bottom:22px}.student-section-heading h2{color:var(--dana-ink);font-family:var(--dana-serif);font-size:37px;font-weight:500;letter-spacing:-.04em}.student-section-heading>div>p:not(.eyebrow){margin:7px 0 0;color:#6c88a3;font-size:12px;line-height:1.65}.refined-course-grid{gap:17px}.refined-course-card{overflow:hidden;border:1px solid var(--dana-line);border-radius:18px;background:#fff;box-shadow:0 12px 27px rgba(39,91,139,.06)}.refined-course-card .course-cover{aspect-ratio:16/9;background:linear-gradient(135deg,#d8edff,#8cc8f5)}.refined-course-card .course-cover img{object-fit:cover}.refined-course-card .course-cover img[src*="hero-dana"]{object-fit:contain;object-position:right bottom;transform:scale(1.12)}.refined-course-card .course-body{padding:18px}.refined-course-card h3{color:var(--dana-ink);font-family:var(--dana-serif);font-size:26px;font-weight:500;letter-spacing:-.035em}.refined-course-card p{color:#6f8ba5;font-size:11px;line-height:1.65}.refined-course-card .btn-primary{border:1px solid #0d67be;background:linear-gradient(135deg,#0b5cb7,#1688e8);box-shadow:0 10px 18px rgba(18,109,196,.18)}.empty-state{border:1px solid var(--dana-line);border-radius:18px;background:#fff;box-shadow:0 12px 27px rgba(39,91,139,.05)}.empty-state>span{background:#e9f6ff;color:#1478dc}.empty-state .btn{display:inline-flex;margin-top:13px}.student-discover-section{margin-top:58px;padding:31px;border:1px solid #d3e6f8;border-radius:22px;background:linear-gradient(145deg,#fff,#f5faff)}.student-discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.student-discover-card{overflow:hidden;border:1px solid #dce9f5;border-radius:16px;background:#fff}.student-discover-art{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#d8edff,#8cc8f5)}.student-discover-art img{width:100%;height:100%;object-fit:cover}.student-discover-art img[src*="hero-dana"]{object-fit:contain;object-position:right bottom;transform:scale(1.13)}.student-discover-art span{position:absolute;bottom:10px;left:10px;padding:6px 8px;border-radius:8px;background:#fff;color:#0d5ba8;font-size:9px;font-weight:850}.student-discover-card>div{padding:15px}.student-discover-card h3{margin:10px 0 6px;color:var(--dana-ink);font-family:var(--dana-serif);font-size:23px;font-weight:500;letter-spacing:-.035em}.student-discover-card p{min-height:36px;margin:0;color:#6e8aa4;font-size:10px;line-height:1.65}.student-discover-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-top:14px}.student-discover-actions>a:first-child{color:#156bc1;font-size:10px;font-weight:820;text-decoration:none}.student-discover-actions .btn{min-height:34px;padding:8px 10px;border-radius:9px;font-size:9px}.compact-empty{padding:25px}.student-footer{width:min(1200px,calc(100% - 40px));margin:0 auto;padding:0 0 90px}.student-footer span{color:var(--dana-ink)}

/* Login */
.auth-page{background:#f3f8fe}.auth-shell.auth-shell-refined{min-height:100vh}.auth-story{background:linear-gradient(135deg,#0a4286,#147bd7)}.auth-story .brand{color:#fff;text-decoration:none}.auth-story .brand-logo-wrap{display:none}.auth-story .brand:before{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:12px;background:rgba(255,255,255,.13);content:"D";color:#fff;font-family:var(--dana-serif);font-size:22px;font-weight:700}.auth-story .brand small{color:#bee4ff}.auth-story .brand strong{color:#fff;font-family:var(--dana-serif);font-size:20px}.auth-story .story-copy .eyebrow{color:#bce5ff}.auth-story .story-copy h1{color:#fff;font-family:var(--dana-serif);font-size:clamp(44px,4.4vw,70px);font-weight:500;letter-spacing:-.055em}.auth-story .story-copy p:not(.eyebrow){color:#d9efff;line-height:1.75}.auth-story .story-note{border-color:rgba(221,242,255,.24);background:rgba(255,255,255,.1)}.auth-story .story-note strong,.auth-story .story-note p{color:#fff}.auth-panel{background:radial-gradient(circle at 65% 15%,#fff,#eff6fd)}.auth-card{border:1px solid #e0eaf4;box-shadow:0 23px 50px rgba(35,84,130,.11)}.auth-heading .eyebrow{color:#1876d0}.auth-heading h2{color:var(--dana-ink);font-family:var(--dana-serif);font-weight:500;letter-spacing:-.045em}.auth-heading p:not(.eyebrow){color:#718aa2;line-height:1.7}.form-stack .btn-primary{border:1px solid #0d67be;background:linear-gradient(135deg,#0b5cb7,#1688e8);box-shadow:0 12px 20px rgba(18,109,196,.2)}.auth-footnote a,.auth-register-link a{color:#126ac2;font-weight:800;text-decoration:none}

@media (max-width: 980px) {
    .public-course-grid,.student-discover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .public-hero,.public-course-hero { gap:34px; }
    .public-legal-layout { grid-template-columns:1fr; }.public-legal-side{position:static;display:grid;grid-template-columns:1fr repeat(3,auto);align-items:end;gap:12px}.public-legal-side h2,.public-legal-side>p:not(.public-kicker){grid-column:1}.public-legal-side a{padding:8px 0;border:0}
    .student-discover-section{padding:24px}
}

@media (max-width: 700px) {
    .public-header{min-height:65px;padding:0 16px}.public-brand-mark{width:33px;height:33px;border-radius:10px;font-size:19px}.public-brand strong{font-size:18px}.public-nav{gap:1px}.public-nav a{display:none;padding:8px 9px;font-size:10px}.public-nav .public-nav-login,.public-nav .public-nav-action{display:inline-flex!important}.public-nav .public-nav-action{padding-right:10px;padding-left:10px}.public-main,.student-main-refined{width:min(100% - 28px,1200px)}.public-footer{width:min(100% - 28px,1200px);display:block;padding:28px 0 95px}.public-footer span{display:block;margin:5px 0 0}.public-footer-links{margin-top:13px}
    .public-hero{grid-template-columns:1fr;min-height:auto;gap:20px;padding:43px 0 36px}.public-hero h1,.public-course-hero h1,.public-policy-hero h1{font-size:43px}.public-hero-copy>p:not(.public-kicker),.public-course-hero-copy>p,.public-policy-hero>div>p{margin-top:15px;font-size:13px}.public-hero-visual{min-height:224px}.public-lesson-window{top:15px;left:11px}.window-body{min-height:152px;padding:21px}.window-body strong{font-size:21px}.public-float-card{bottom:-3px;left:0}.public-trust-row{gap:8px 12px;margin-top:21px}
    .public-catalog-section,.public-curriculum-section{padding:43px 0}.public-section-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:20px}.public-section-heading h2{font-size:33px}.public-course-grid,.student-discover-grid{grid-template-columns:1fr;gap:12px}.public-course-body h3 a{font-size:25px}.public-course-body>p{min-height:0}.public-course-hero{grid-template-columns:1fr;gap:23px;padding:38px 0}.public-course-hero-image{order:-1}.public-course-hero-copy .public-back-link{margin-bottom:15px}.public-detail-banner,.public-preview-cta{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:43px;padding:23px}.public-detail-banner h2,.public-preview-cta h2{font-size:29px}.public-module-card>header{grid-template-columns:34px minmax(0,1fr)}.public-module-card header b{grid-column:2}.public-module-card li{grid-template-columns:23px minmax(0,1fr) auto;padding:12px}.public-preview-head{padding-top:18px}.public-preview-head div{display:none}.public-preview-lesson>header{padding:25px 20px 18px}.public-preview-video{margin:0 14px;border-radius:10px}.public-preview-prose{padding:24px 20px 30px}.public-preview-resources{margin:19px!important}
    .public-policy-hero{align-items:flex-start;flex-direction:column;gap:20px;padding:43px 0 25px}.public-policy-hero aside{max-width:none}.public-policy-tabs{margin-bottom:17px}.public-legal-layout{padding-bottom:50px}.public-legal-side{display:block;padding:18px}.public-legal-side a{padding:10px 0;border-top:1px solid #e8f0f8}.public-legal-card{padding:22px 18px;border-radius:16px}.public-legal-card h2{font-size:29px}.public-legal-grid{grid-template-columns:1fr}.public-legal-card ol li{padding-left:33px}.public-legal-faq details{padding:13px 0}
    .student-header.refined-student-header{min-height:65px;padding:0 15px}.student-header .brand:before{width:33px;height:33px;border-radius:10px;font-size:19px}.student-header .brand strong{font-size:18px}.student-greeting,.dashboard-explore-link,.student-header-actions form{display:none}.student-main-refined{padding-top:18px;padding-bottom:86px}.student-welcome.refined-welcome{min-height:310px;margin:0;padding:27px 22px}.refined-welcome h1{font-size:39px}.refined-welcome .welcome-visual{right:-43px;bottom:-51px;width:245px;height:286px;opacity:.57}.welcome-points{gap:6px}.welcome-points span{font-size:9px}.student-course-section{padding-top:38px}.student-section-heading h2{font-size:32px}.student-discover-section{margin-top:38px;padding:18px;border-radius:18px}.student-discover-card h3{font-size:24px}.student-bottom-nav.dashboard-bottom-nav{grid-template-columns:repeat(4,1fr)}.student-bottom-nav.dashboard-bottom-nav a,.student-bottom-nav.dashboard-bottom-nav button{min-height:61px}.student-footer{width:min(100% - 28px,1200px);padding-bottom:85px}
    .auth-story{min-height:290px;padding:23px}.auth-story .story-copy{margin-top:50px}.auth-story .story-copy h1{font-size:43px}.auth-story .auth-hero-image{right:-17px;bottom:-59px;width:240px;opacity:.42}.auth-story .story-note{display:none}.auth-panel{padding:0 15px 35px}.auth-card{margin-top:-21px;border-radius:20px}.auth-heading h2{font-size:38px}
}
