/* DN03 role entry points and shared public navigation. */
.public-header{background:var(--bg);border-bottom:1px solid var(--line)}
.public-header-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.public-header-row .logo{margin-right:auto}
.public-header-row .account-link{font-size:14px;white-space:nowrap;padding:10px 0}
body .public-nav{display:flex;flex-wrap:wrap;gap:4px 24px;padding:0 0 16px;margin:0}
.public-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 0;color:var(--ink);font-weight:700;font-size:14px;text-decoration:none}
.public-nav a:hover,.public-nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}
.role-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-block:32px}
.role-paths article{padding:0 0 0 20px;border-left:3px solid var(--lavanda)}
.role-paths h2{font-size:1.125rem;margin-bottom:8px}
.role-paths p{font-size:1rem;color:var(--ink-soft);margin-bottom:12px}
.role-paths a{font-weight:700}
.teacher-intro{padding-block:24px 40px;max-width:820px}
.teacher-intro h1{font-size:clamp(2.25rem,4vw,3.5rem);max-width:18ch;margin:12px 0 24px}
.teacher-intro>p{max-width:66ch;font-size:1.125rem;line-height:1.6}
.teacher-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:0;list-style:none;counter-reset:steps;margin:24px 0 40px}
.teacher-steps li{border-top:2px solid var(--lavanda);padding-top:16px;counter-increment:steps}
.teacher-steps h3{margin:8px 0 12px}.teacher-steps li::before{content:'0' counter(steps);font-weight:700;color:var(--ink-soft)}
.product-preview{margin:32px 0 48px;max-width:960px}.product-preview img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:16px}.product-preview figcaption{font-size:14px;color:var(--ink-soft);margin-top:12px}
.teacher-secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:32px 0}
.teacher-secondary h2{margin:0 0 16px}.teacher-secondary p{margin:12px 0}
.login-context{padding:16px;border-left:3px solid var(--lavanda);margin:20px 0}
.login-options{display:grid;gap:12px;margin:24px 0}.login-options :is(.google,.pk){display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border:1px solid var(--ink);border-radius:12px;color:var(--ink);background:var(--surface);font:700 1rem var(--body);text-decoration:none;min-height:44px}.login-options .vai{text-align:center;font-size:14px}
.course-options{padding:16px 0;border-block:1px solid var(--line);margin:24px 0}.course-options>summary{font-weight:700}.course-options[open]>summary{margin-bottom:20px}
body .k-help,body .k-eyebrow{font-size:14px}body .k-caption{font-size:1rem;line-height:1.6}
body .top .menu-toggle{padding-inline:12px;font-size:14px}
@media(max-width:900px){.public-header-row{gap:8px}.public-header-row .logo img,body .top:has([data-menu]) .logo img{width:140px}.public-header-row .menu-toggle{font-size:14px;padding:10px 12px}body .public-nav{flex-direction:column;gap:0;padding:8px 0 20px}.public-nav a{padding:12px}.role-paths,.teacher-steps,.teacher-secondary{grid-template-columns:1fr;gap:24px}.role-paths{padding-block:24px}.teacher-intro{padding-block:20px 32px}}
@media(max-width:370px){.public-header-row .logo img,body .top:has([data-menu]) .logo img{width:115px}body .top:has([data-menu]){gap:8px}}

body.public-home main{max-width:none;margin:0}
.skip{position:absolute;left:12px;top:-100px;background:var(--surface);padding:12px;z-index:10}.skip:focus{top:12px}

.role-intro{grid-column:1/-1;margin:0 0 8px;font-size:clamp(2rem,3vw,2.5rem)}

.login-message p{margin:20px 0}.login-message .muted{color:var(--ink-soft)}
