:root{--navy: #0a1d3a;--navy2: #0f2a52;--gold: #c8a04a;--ink: #eaf0fb;--muted: #9fb2d0;color-scheme:dark;--bg: var(--navy);--bg-2: var(--navy2);--surface: rgba(15, 42, 82, .45);--surface-2: rgba(15, 42, 82, .4);--text: var(--ink);--text-muted: var(--muted);--text-strong: #fff;--accent: var(--gold);--accent-ink: var(--navy);--border: rgba(200, 160, 74, .25);--focus: var(--gold);--shadow: 0 8px 24px rgba(0, 0, 0, .35);--error: #f1a4a4;--field-bg: rgba(10, 29, 58, .7);--field-border: rgba(159, 178, 208, .3);--code-bg: rgba(10, 29, 58, .8);--overlay: rgba(5, 14, 30, .78)}:root[data-theme=light]{color-scheme:light;--bg: #FBF7EE;--bg-2: #F3ECDC;--surface: #FFFDF8;--surface-2: #FFFDF8;--text: #0a1d3a;--text-muted: #4A5A76;--text-strong: #0a1d3a;--accent: #7C6022;--accent-ink: #FBF7EE;--border: #E2D8BE;--focus: #0a1d3a;--shadow: 0 8px 24px rgba(10, 29, 58, .1);--error: #A12C2C;--field-bg: #FFFFFF;--field-border: #857A62;--code-bg: #F3ECDC;--overlay: rgba(10, 29, 58, .45)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}body{font-family:DM Sans,system-ui,sans-serif;color:var(--text);background:radial-gradient(1200px 600px at 50% -10%,var(--bg-2),var(--bg)) no-repeat var(--bg);min-height:100vh}.page{min-height:calc(100vh - var(--header-h));display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem}.page>main{margin-top:auto;margin-bottom:auto}main{max-width:640px;width:100%}.eyebrow{font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.25rem}h1{font-family:Playfair Display,serif;font-weight:700;font-size:clamp(2.75rem,8vw,4.5rem);line-height:1.05;letter-spacing:-.01em}h1 .accent{color:var(--accent)}h2{font-family:Playfair Display,serif;font-weight:600;font-size:1.6rem;margin-bottom:1.25rem}.rule{width:64px;height:2px;background:var(--accent);margin:1.5rem auto}.tagline{font-size:clamp(1rem,2.5vw,1.2rem);color:var(--text-muted);line-height:1.6;max-width:520px;margin:0 auto}.status{margin-top:2rem;font-size:.95rem;letter-spacing:.04em;color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;display:inline-block;padding:.6rem 1.4rem}.footer{margin-top:3rem;padding-bottom:.5rem;text-align:center;font-size:.78rem;color:var(--text-muted)}.card{margin-top:2rem;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.75rem}.field{margin-bottom:1rem}.field label{display:block;font-size:.8rem;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.field input,.field select{width:100%;padding:.65rem .75rem;background:var(--field-bg);border:1px solid var(--field-border);border-radius:8px;color:var(--text);font-family:inherit;font-size:.95rem}.field input:focus,.field select:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.row{display:flex;gap:.75rem}.row .field{flex:1}.consent{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.75rem}.consent input{margin-top:.2rem}.consent label{font-size:.85rem;color:var(--text);line-height:1.4}.btn{width:100%;margin-top:.75rem;padding:.8rem 1rem;background:var(--accent);color:var(--accent-ink);border:none;border-radius:999px;font-family:inherit;font-weight:500;font-size:1rem;letter-spacing:.03em;cursor:pointer}.btn:disabled{opacity:.45;cursor:not-allowed}.linkbtn{background:none;border:none;color:var(--accent);cursor:pointer;font-family:inherit;font-size:.9rem;text-decoration:underline;margin-top:1rem}.inline-link{margin-top:0;padding:0;font-size:inherit;vertical-align:baseline}.error{color:var(--error);font-size:.85rem;margin-top:.5rem}.page.landing-page{padding-top:3.5rem}.page.landing-page>main,.page.course>main{margin-top:0}.landing{max-width:720px}.landing .eyebrow{line-height:1.6}.landing-title{font-size:clamp(2.2rem,6.5vw,3.6rem)}.lead{font-family:Playfair Display,serif;font-weight:600;font-size:clamp(1.25rem,3.2vw,1.6rem);color:var(--accent);margin-bottom:1.25rem}.landing .tagline{margin-bottom:1rem}.audiences{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1.75rem;text-align:left}@media (min-width: 760px){.audiences{grid-template-columns:1fr 1fr}}.audience-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.audience-card h2{font-family:DM Sans,system-ui,sans-serif;font-weight:500;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:.6rem}.audience-sub{font-family:Playfair Display,serif;font-weight:600;font-size:1.2rem;line-height:1.3;color:var(--text);margin-bottom:1rem}.audience-list{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem}.audience-list li{position:relative;padding-left:1.3rem;line-height:1.5;font-size:.95rem;color:var(--text)}.audience-list li:before{content:"";position:absolute;left:.1rem;top:.6em;width:.45rem;height:.45rem;transform:rotate(45deg);background:var(--accent)}.audience-card .cta{margin-top:auto;padding:.9rem 1.1rem}.audience-card .cta[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.landing-section{text-align:left;margin-top:2.75rem;padding-top:2rem;border-top:1px solid var(--border)}.landing-section p{color:var(--text);line-height:1.7;margin-bottom:.9rem}.learn-list{list-style:none;display:flex;flex-direction:column;gap:.6rem}.learn-list li{position:relative;padding:.75rem 1rem .75rem 2.4rem;line-height:1.45;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:10px}.learn-list li:before{content:"";position:absolute;left:1rem;top:50%;width:.55rem;height:.55rem;transform:translateY(-50%) rotate(45deg);background:var(--accent)}.access-choices{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;column-gap:1.75rem;row-gap:.25rem;margin-top:1rem}.access-choices .linkbtn{margin-top:0;padding:.6rem .25rem}.access-panel{margin-top:1.5rem}.code-input{position:relative}.code-input input{padding-right:2.75rem;letter-spacing:.06em}.eye-toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.eye-toggle:hover,.eye-toggle:focus-visible{color:var(--accent)}.granted{margin-top:.75rem;color:var(--accent);font-weight:500}.access-help{margin-top:1rem;font-size:.85rem;color:var(--text-muted)}.access-help a{color:var(--accent)}.form-intro{color:var(--text-muted);font-size:.92rem;line-height:1.5;margin:-.5rem 0 1.25rem}.field label .optional{color:var(--text-muted);letter-spacing:0}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error)}.field-error{color:var(--error);font-size:.8rem;line-height:1.4;margin-top:.35rem}.consent+.field-error{margin:-.35rem 0 .75rem}.choice-group{border:none;margin:0 0 1rem;min-width:0}.choice-group legend{font-size:.8rem;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem;padding:0}.choice-row{display:flex;flex-wrap:wrap;gap:.75rem}.choice{flex:1 1 9rem;display:flex;align-items:center;gap:.55rem;cursor:pointer;padding:.65rem .75rem;border-radius:8px;font-size:.95rem;color:var(--text);background:var(--field-bg);border:1px solid var(--field-border)}.choice input{accent-color:var(--accent);margin:0}.choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.choice:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.choice:has(input[aria-invalid=true]){border-color:var(--error)}.request-form .consent input{accent-color:var(--accent)}.request-form .btn{margin-top:1rem}.request-done p{color:var(--text);line-height:1.6}.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.page.course{padding-top:2.5rem}.wide{max-width:820px}.topbar{display:flex;align-items:center;justify-content:space-between;width:100%;gap:1rem;margin-bottom:1.5rem}.btn-secondary{display:inline-block;padding:.7rem 1.3rem;border-radius:999px;background:transparent;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);font-family:inherit;font-size:.92rem;letter-spacing:.02em;cursor:pointer}.btn-secondary:disabled{opacity:.4;cursor:not-allowed}.btn-inline{width:auto;margin-top:0}.module-list{list-style:none;text-align:left;width:100%;display:flex;flex-direction:column;gap:.75rem}.module-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--surface);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:12px;padding:1rem 1.25rem}.module-row .m-title{font-family:Playfair Display,serif;font-size:1.05rem}.module-row .m-meta{font-size:.78rem;color:var(--text-muted);margin-top:.2rem}.m-actions{display:flex;align-items:center;gap:.75rem}.badge{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem .6rem;border-radius:999px;white-space:nowrap}.badge.read{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent)}.badge.unread{background:color-mix(in srgb,var(--text-muted) 12%,transparent);color:var(--text-muted);border:1px solid color-mix(in srgb,var(--text-muted) 25%,transparent)}.gate-panel{width:100%;text-align:left;margin-top:1.5rem;padding:1.25rem;border-radius:12px;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--text-muted) 20%,transparent)}.gate-panel .hint{font-size:.85rem;color:var(--text-muted);margin-top:.6rem}.reader{text-align:left;width:100%;line-height:1.7;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:14px;padding:1.75rem 2rem}.reader h1{font-family:Playfair Display,serif;font-size:1.9rem;margin:0 0 1rem}.reader h2{font-family:Playfair Display,serif;font-size:1.3rem;margin:1.6rem 0 .6rem;color:var(--accent)}.reader h3{font-size:1.1rem;margin:1.2rem 0 .5rem}.reader p{margin:.7rem 0;color:var(--text)}.reader ul,.reader ol{margin:.6rem 0 .6rem 1.4rem}.reader li{margin:.35rem 0}.reader strong{color:var(--text-strong)}.reader a{color:var(--accent)}.reader blockquote{border-left:3px solid var(--accent);margin:1rem 0;padding:.25rem 1rem;color:var(--text-muted)}.reader table{border-collapse:collapse;width:100%;margin:1rem 0}.reader th,.reader td{border:1px solid color-mix(in srgb,var(--text-muted) 30%,transparent);padding:.5rem .7rem;text-align:left}.reader code{background:var(--code-bg);padding:.1rem .35rem;border-radius:4px;font-size:.9em}.reader hr{border:none;border-top:1px solid color-mix(in srgb,var(--text-muted) 25%,transparent);margin:1.5rem 0}.nav-row{display:flex;justify-content:space-between;gap:.75rem;width:100%;margin-top:1.5rem}.center-col{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%}.muted-note{color:var(--text-muted);font-size:.85rem}.question{text-align:left;width:100%;margin-bottom:1rem;padding:1.25rem 1.4rem;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--text-muted) 20%,transparent);border-radius:12px}.question .q-num{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.question .q-prompt{font-weight:500;margin:.35rem 0 .8rem}.question.unanswered{border-color:color-mix(in srgb,var(--error) 50%,transparent)}.option{display:flex;align-items:flex-start;gap:.6rem;padding:.45rem .25rem;cursor:pointer}.option input{margin-top:.25rem}.result-card{width:100%;text-align:center}.score-big{font-family:Playfair Display,serif;font-size:3rem;color:var(--accent);line-height:1;margin:.5rem 0}.missed-list{list-style:none;text-align:left;margin:1rem auto 0;max-width:36rem;display:flex;flex-direction:column;gap:.6rem;font-size:.9rem}.missed-list li{padding:.75rem 1rem;border-radius:10px;line-height:1.45;background:var(--surface-2);border:1px solid color-mix(in srgb,var(--text-muted) 20%,transparent)}.missed-q{display:block;color:var(--text);overflow-wrap:anywhere}.missed-list .review-link{display:block;margin-top:.3rem;padding:0;font-size:.8rem;text-align:left;overflow-wrap:anywhere}.saved-note{margin-top:1.25rem;color:var(--text)}.nowrap{white-space:nowrap}.q-head{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem}.badge.missed{color:var(--error);background:color-mix(in srgb,var(--error) 12%,transparent);border:1px solid color-mix(in srgb,var(--error) 40%,transparent)}.badge.last{color:var(--text-muted);background:color-mix(in srgb,var(--text-muted) 12%,transparent);border:1px solid color-mix(in srgb,var(--text-muted) 25%,transparent)}.reanswer .option{border-radius:8px}.reanswer .option input{accent-color:var(--accent)}.reanswer .option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.reanswer .option.is-last{cursor:not-allowed;color:var(--text-muted)}.reanswer .option .badge{margin-left:.35rem;vertical-align:1px}.cert{width:100%;max-width:680px;margin:1.5rem auto;text-align:center;background:linear-gradient(160deg,var(--bg-2),var(--bg));border:2px solid var(--accent);border-radius:16px;padding:2.5rem 2rem}.cert .cert-eyebrow{letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-size:.8rem}.cert .cert-sub{color:var(--text-muted);font-size:.95rem;margin-top:.35rem}.cert .cert-name{font-family:Playfair Display,serif;font-size:2.2rem;margin:1rem 0 .5rem}.cert .beta-stamp{display:inline-block;margin-top:1rem;padding:.35rem 1.1rem;border:2px solid var(--accent);color:var(--accent);border-radius:8px;letter-spacing:.25em;font-weight:700}.cert .cert-disclaimer{margin-top:1.25rem;font-size:.78rem;color:var(--text-muted);font-style:italic}.cert-meta{margin-top:1rem;font-size:.75rem;color:var(--text-muted)}.badge-block{display:flex;justify-content:center;margin:.5rem auto 1.25rem;max-width:100%}.badge-block svg{max-width:100%;height:auto}.badge-section{width:100%;margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border)}.badge-formats{list-style:none;display:grid;gap:1.1rem 1.25rem;margin-top:.25rem;grid-template-columns:repeat(auto-fit,minmax(12.5rem,1fr))}.badge-formats li{display:flex;flex-direction:column;align-items:center;gap:.5rem}.badge-formats .btn-secondary{width:100%}.badge-formats .muted-note{line-height:1.45;max-width:16rem}.policy-tabs{display:flex;gap:.5rem;margin-bottom:1.25rem;flex-wrap:wrap}.policy-tab{padding:.5rem 1rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);background:transparent;color:var(--text-muted);cursor:pointer;font-family:inherit;font-size:.85rem}.policy-tab.active{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;padding:1.5rem;background:var(--overlay);display:flex;align-items:center;justify-content:center}.modal{background:var(--bg);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:14px;max-width:760px;width:100%;max-height:85vh;overflow-y:auto;padding:1.75rem 2rem;text-align:left}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.footer a{color:var(--text-muted);text-decoration:underline;cursor:pointer}.footer .sep{margin:0 .5rem}.footer .linkbtn{font-size:.78rem;margin-top:0;color:var(--text-muted)}.form-links{display:flex;flex-direction:column;align-items:center;margin-top:.25rem}.form-links .linkbtn{margin-top:.75rem}:root{--header-h: 3.75rem}.site-header{position:sticky;top:0;z-index:40;width:100%;background:var(--bg-2);border-bottom:1px solid var(--border)}.site-header-inner{max-width:1040px;margin:0 auto;min-height:var(--header-h);display:flex;align-items:center;gap:1rem;padding:.5rem 16px}.brand{font-family:Playfair Display,serif;font-weight:700;font-size:1.3rem;line-height:1.1;color:var(--text);text-decoration:none;white-space:nowrap;border-radius:4px}.brand .accent{color:var(--accent)}.site-nav{display:flex;align-items:center;gap:.35rem;margin-left:auto}.header-tools{display:flex;align-items:center;gap:.5rem}.nav-link{display:inline-flex;align-items:center;gap:.3rem;background:none;border:none;border-radius:999px;padding:.5rem .8rem;color:var(--text);font-family:inherit;font-size:.95rem;cursor:pointer}.nav-link:hover{color:var(--accent)}.header-cta{width:auto;margin:0 0 0 .35rem;padding:.55rem 1.1rem;font-size:.92rem}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;flex:none;border-radius:999px;background:transparent;color:var(--text);border:1px solid var(--border);cursor:pointer}.icon-btn:hover{color:var(--accent)}.menu-btn{display:none}.account{position:relative}.account-menu{position:absolute;right:0;top:calc(100% + .4rem);min-width:12rem;z-index:45;display:flex;flex-direction:column;padding:.35rem;text-align:left;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.menu-item,.mobile-item{display:block;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:.6rem .75rem;color:var(--text);font-family:inherit;font-size:.95rem;cursor:pointer}.menu-item:hover,.mobile-item:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.mobile-menu{display:none;flex-direction:column;gap:.15rem;text-align:left;padding:.5rem 16px 1rem;border-top:1px solid var(--border)}.mobile-who{font-size:.85rem;color:var(--text-muted);padding:.35rem .75rem}.mobile-item.mobile-cta{background:var(--accent);color:var(--accent-ink);text-align:center;margin-top:.35rem;border-radius:999px}@media (max-width: 660px){.site-nav .nav-request{display:none}}@media (max-width: 560px){.site-nav{display:none}.menu-btn{display:inline-flex}.header-tools{margin-left:auto}.mobile-menu{display:flex}.theme-switch.in-bar{display:none}}.theme-switch.in-menu{align-self:flex-start;margin:.25rem .75rem .5rem}.theme-switch{display:inline-flex;align-items:center;gap:2px;flex:none;padding:3px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.theme-opt{background:none;border:none;border-radius:999px;padding:.4rem .7rem;min-height:2rem;color:var(--text-muted);font-family:inherit;font-size:.85rem;line-height:1;cursor:pointer}.theme-opt:hover{color:var(--text)}.theme-opt[aria-checked=true]{background:var(--accent);color:var(--accent-ink);font-weight:500}
