/* Shared public-page typography, navigation and course details. */
:root{--serif:system-ui,-apple-system,"Segoe UI",sans-serif}
body{font-size:18px;line-height:1.65;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.public-lead,.public-grid p,.public-grid li,.detail-section p,.detail-fact-grid p,.aftercourse-public>p:not(.public-eyebrow),.legal-content,.knowledge-bridge p,.article-body p{font-size:1.0625rem;line-height:1.7}
.public-header nav a{font-size:16px}
.eaio-v3 .hero-v3 h1{font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;font-size:clamp(2.4rem,4.4vw,4.2rem);line-height:1.1;letter-spacing:-.028em;font-weight:650}
.public-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px clamp(20px,4vw,64px);background:#fff;border-bottom:1px solid #dbe8e2;position:sticky;top:0;z-index:20}
.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;white-space:nowrap;font:500 16px/1.4 system-ui,sans-serif;color:#102d25}
.public-brand img{border-radius:10px;flex-shrink:0}
.public-brand .eaio-brand-lockup{display:flex;flex-direction:column;gap:2px;line-height:1.05}
.public-brand strong{color:#1a5c38;font-size:1.02rem;font-weight:850;letter-spacing:.12em}
.public-brand small{font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#4d5f57}
.public-header nav{position:static;display:flex;align-items:center;gap:20px;padding:0;background:none;border:0;box-shadow:none;height:auto}
.public-header nav a{color:#153d2e;font:700 14px/1.4 system-ui,sans-serif;text-decoration:none;white-space:nowrap}
.public-header nav a:hover{text-decoration:underline;text-underline-offset:5px}
.public-nav-cta{padding:10px 16px;border:1px solid #246448;border-radius:8px}
.public-hero{min-height:420px;padding:72px max(24px,calc((100vw - 1132px)/2));background:radial-gradient(ellipse at 90% 10%,#244f38 0,transparent 65%),#102c22}
.public-hero h1{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;font-size:clamp(2.3rem,5vw,4.7rem);line-height:1.08;letter-spacing:-.045em;overflow-wrap:break-word}
.public-eyebrow{letter-spacing:.09em}.public-hero .public-eyebrow{color:#7ee48a}
.public-actions a.primary,.detail-button{background:#7ee48a;color:#10241c;border-color:#7ee48a}
.public-grid{padding-top:64px;padding-bottom:64px}.public-grid article,.public-grid aside{border-radius:14px}
.public-grid h2,.public-card-list h2,.public-steps h2,.public-next h2{font-family:system-ui,sans-serif;line-height:1.18}
.public-card-list .public-eyebrow{color:#246448;letter-spacing:.04em;font-size:.8rem}
.course-offer{display:flex;flex-direction:column;gap:4px;margin-top:28px}.course-offer strong{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.2}.course-offer span{color:#cadbd1;font-size:.9rem}
.course-availability{max-width:640px;color:#d5e4da;font-size:.95rem;margin-top:20px}
.detail-section{max-width:1180px;margin:0 auto;padding:24px 24px 60px;scroll-margin-top:110px}.detail-section>.public-eyebrow{color:#246448}.detail-section h2{font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.2;margin:0 0 20px;letter-spacing:-.025em}
.detail-section h3{font-size:1.15rem;line-height:1.35;margin-top:0}.course-features{padding-left:22px}.course-features li{margin:9px 0}
.curriculum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:26px 0}.curriculum-grid details{border:1px solid #cedfd4;border-radius:10px;background:#fff;padding:16px 20px}.curriculum-grid summary{cursor:pointer;font-weight:750;min-height:28px}.curriculum-grid p{overflow-wrap:anywhere}
.detail-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.detail-fact-grid article{padding:26px;border:1px solid #dbe8e2;border-radius:14px;background:#fff}.detail-fact-grid a{color:#205e40;font-weight:700}
.aftercourse-public{padding-top:12px}.aftercourse-public>p:not(.public-eyebrow){max-width:720px;margin:0 0 24px;color:#52645e}
.detail-button{display:inline-flex;padding:14px 24px;border-radius:8px;font-weight:750;text-decoration:none}.course-dates{padding-top:36px;padding-bottom:64px}
.course-card-v3-actions a.course-details-primary{display:inline-flex;align-items:center;justify-content:center;padding:12px 14px;border-radius:8px;background:#173f2a;color:#fff;text-decoration:none;font-weight:750}
.public-header a:focus-visible,.curriculum-grid summary:focus-visible,.folder-open:focus-visible,.detail-button:focus-visible{outline:3px solid #458dcc;outline-offset:4px}
.downloads-page{background:#fafcf9}.downloads-page .page-header h1{font-family:system-ui,sans-serif;line-height:1.15}.downloads-page .folder-header{cursor:default;padding:0 14px 0 0;gap:10px;border-radius:10px}.folder-open{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:18px;border:0;background:none;color:inherit;text-align:left;font:inherit;cursor:pointer}.folder-open .folder-name{overflow-wrap:anywhere}.folder-open .folder-meta{margin-left:auto;white-space:nowrap}
.folder-body[hidden]{display:none!important}.folder-body:not([hidden]){display:grid}.downloads-page .file-name{overflow-wrap:anywhere}.downloads-page .folder-section{border-radius:10px}.practice-callout{margin-bottom:28px;padding:24px;background:#edf5e7;border:1px solid #d3dfc9;border-radius:12px}.practice-callout h2{font-size:1.2rem;margin:0 0 10px}.practice-callout p{margin-bottom:12px}.practice-callout a{display:inline-block;margin-right:18px;font-weight:700;color:#205e40}
.downloads-page .folder-zip-btn{width:auto;flex:none;margin-left:0}.downloads-page .folder-open{width:auto}.downloads-page .folder-header{flex-wrap:nowrap}
.public-skip-link{position:absolute;left:20px;top:-100px;z-index:100;background:#fff;color:#123d28;padding:12px 20px}.public-skip-link:focus{top:10px}
.public-footer>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:820px){.public-footer{grid-template-columns:1fr}.public-footer small{grid-column:1/-1}}
@media(max-width:1050px){.public-header{flex-wrap:wrap;gap:12px}.public-header nav{width:100%;flex-wrap:wrap;gap:8px 20px}.public-header nav a:not(.public-nav-cta){display:inline-flex;padding:8px 0}.public-header{position:relative}.detail-section{scroll-margin-top:24px}}
@media(max-width:640px){.public-header{padding:14px 20px}.public-header nav{gap:4px 16px}.public-header nav a{font-size:13px}.public-hero{padding:48px 22px;min-height:0}.public-hero h1{font-size:2.4rem}.public-lead{font-size:1.05rem}.public-actions{gap:10px}.public-actions a{flex:1 1 220px}.public-grid{padding:36px 20px;gap:20px}.public-grid article,.public-grid aside{padding:24px}.curriculum-grid,.detail-fact-grid{grid-template-columns:1fr}.detail-section{padding-left:20px;padding-right:20px}.downloads-page main{padding-left:16px;padding-right:16px}.folder-open{flex-wrap:wrap;padding:14px;gap:8px}.folder-open .folder-meta{margin-left:28px;width:100%}.folder-open .folder-name{flex:1}.downloads-page .folder-header{gap:0}.downloads-page .file-card{flex-wrap:wrap}.downloads-page .file-info{min-width:0}.downloads-page .file-dl-btn{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* WCAG AA contrast (2026-09-23) */
.public-grid .public-eyebrow,.knowledge-bridge .public-eyebrow{color:#246448}
.article-course-cta .public-eyebrow{color:#74e0b8}
.public-footer .public-brand span{color:#d3e4de}
.public-footer .public-brand strong{color:#7ee48a}
.public-footer .public-brand small{color:#98aca5}
.eaio-v3 .footer-v3-bottom{color:#93a69f}
