:root{--bone: #f4f0e7;--surface: #fcfaf4;--surface-raised: #ffffff;--pine: #103b33;--pine-hover: #0b2c26;--pine-mid: #1c6b5c;--accent: #c4762f;--accent-soft: #e7b579;--accent-ink: #8a4f1f;--ink: #17211e;--muted: #566259;--faint: #8a938b;--border: #ded7c7;--danger: #9a3324;--danger-soft: #f3ded8;--focus: var(--accent);--color-bg: var(--bone);--color-surface: var(--surface);--color-border: var(--border);--color-text: var(--ink);--color-text-muted: var(--muted);--color-primary: var(--pine);--color-primary-dark: var(--pine-hover);--color-primary-contrast: var(--bone);--color-accent: var(--accent);--color-danger: var(--danger);--color-focus: var(--focus);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--font-display: "Fraunces", Georgia, serif;--font-body: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--font-sans: var(--font-body);--radius-sm: 8px;--radius: 12px;--radius-lg: 14px;--max-width: 72rem;--shadow-sm: 0 1px 2px rgba(16, 59, 51, .06), 0 1px 1px rgba(16, 59, 51, .04);--shadow-md: 0 8px 24px rgba(16, 59, 51, .08), 0 2px 6px rgba(16, 59, 51, .06);--shadow-lg: 0 20px 48px rgba(16, 59, 51, .14), 0 6px 16px rgba(16, 59, 51, .08);--hero-image: none}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bone);color:var(--ink);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='saturate' values='0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink);line-height:1.15;letter-spacing:-.01em}h1{font-size:clamp(2.4rem,5vw,3.6rem);font-weight:500;margin:0 0 var(--space-4)}h2{font-size:clamp(1.4rem,3vw,1.85rem);margin:0 0 var(--space-3)}h3{font-size:1.2rem;margin:0 0 var(--space-2)}p{margin:0 0 var(--space-4);color:var(--ink)}a{color:var(--pine-mid);text-decoration-thickness:1.5px;text-underline-offset:.15em}a:hover{color:var(--accent-ink)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;left:-9999px;top:0;background:var(--pine);color:var(--bone);padding:var(--space-2) var(--space-4);z-index:1000;border-radius:0 0 var(--radius-sm) 0;font-weight:600}.skip-link:focus{left:0;top:0}.app-shell{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1;width:100%;max-width:var(--max-width);margin:0 auto;padding:var(--space-7) var(--space-4) var(--space-8)}.app-main:focus-visible{outline:none}.app-main-immersive{max-width:none;padding:0}.app-footer{background:var(--surface);border-top:1px solid var(--border);padding:var(--space-5) var(--space-4);text-align:center;font-size:.8rem;letter-spacing:.02em;color:var(--faint)}.app-nav{position:sticky;top:0;z-index:50;background:#fcfaf4db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}.app-nav-inner{display:flex;align-items:center;gap:var(--space-5);max-width:var(--max-width);margin-inline:auto;padding:var(--space-3) var(--space-4);flex-wrap:wrap}.app-nav-brand{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--pine);letter-spacing:-.01em;text-decoration:none}.app-nav-brand:hover{color:var(--pine)}.app-nav-inner ul{list-style:none;display:flex;gap:var(--space-1);padding:0;margin:0 auto 0 var(--space-3);flex-wrap:wrap}.app-nav a{color:var(--muted);text-decoration:none;font-weight:500;font-size:.925rem;padding:var(--space-2) var(--space-3);border-radius:999px;position:relative;transition:color .15s ease,background-color .15s ease}.app-nav a:hover{color:var(--pine);background:#103b330f}.app-nav a.active{color:var(--pine);font-weight:600}.app-nav a.active:after{content:"";position:absolute;left:var(--space-3);right:var(--space-3);bottom:2px;height:2px;background:var(--accent);border-radius:2px}.app-nav-account{display:flex;align-items:center;gap:var(--space-3)}.app-nav-user{font-size:.85rem;color:var(--muted);display:inline-flex;align-items:center;gap:var(--space-2)}.app-nav-role{text-transform:uppercase;font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--pine);background:#103b3314;padding:.2rem .5rem;border-radius:999px}.app-nav-logout{background:transparent;border:1px solid var(--border);color:var(--ink);padding:var(--space-1) var(--space-3);border-radius:999px;cursor:pointer;font:inherit;font-size:.85rem;transition:border-color .15s ease,background-color .15s ease}.app-nav-logout:hover{background:var(--bone);border-color:var(--pine)}.app-nav-minimal .app-nav-inner{justify-content:flex-start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);margin-block:var(--space-5);box-shadow:var(--shadow-sm)}.btn{font:inherit;font-weight:600;border-radius:999px;padding:var(--space-2) var(--space-5);cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{cursor:not-allowed;opacity:.55}.btn-primary{background:var(--pine);color:var(--bone)}.btn-primary:hover:not(:disabled){background:var(--pine-hover)}.btn-secondary{background:transparent;border-color:var(--pine);color:var(--pine)}.btn-secondary:hover:not(:disabled){background:#103b330f}.button-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.form-field{display:flex;flex-direction:column;gap:var(--space-1);margin-block:var(--space-3)}.form-field label{font-weight:600;font-size:.9rem;color:var(--ink)}.form-field input,.form-field textarea{font:inherit;padding:var(--space-3);border:1.5px solid var(--border);border-radius:var(--radius-sm);max-width:28rem;background:var(--surface-raised);color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.form-field input:hover,.form-field textarea:hover{border-color:var(--faint)}.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #c4762f2e}.form-field textarea{max-width:100%}.field-hint{font-size:.85rem;color:var(--muted)}.field-hint-error,.form-error{color:var(--danger);font-weight:600}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;color:var(--muted);font-weight:600;font-family:var(--font-body);margin:0 0 var(--space-2)}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}.auth-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:var(--space-7) var(--space-7) var(--space-6);color:var(--bone);isolation:isolate}.auth-brand-panel:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:var(--hero-image);background-size:cover;background-position:center}.auth-brand-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 90% at 15% 8%,rgba(196,118,47,.35),transparent 55%),radial-gradient(90% 70% at 85% 100%,rgba(28,107,92,.55),transparent 60%),linear-gradient(155deg,#0b2c26,#103b33 48%,#14453b);background-color:var(--pine);animation:aurora-drift 22s ease-in-out infinite alternate;background-blend-mode:normal}@keyframes aurora-drift{0%{filter:hue-rotate(0deg) brightness(1);background-position:0% 0%,100% 100%,0 0}to{filter:hue-rotate(6deg) brightness(1.04);background-position:6% 4%,94% 96%,0 0}}.auth-brand-panel .grain{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:.12;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}.auth-brand-content{position:relative;z-index:1;max-width:30rem}.auth-wordmark{font-family:var(--font-display);font-size:1.4rem;font-weight:600;letter-spacing:-.01em;margin:0 0 var(--space-6)}.auth-headline{font-family:var(--font-display);font-size:clamp(2.1rem,3.4vw,3rem);font-weight:500;line-height:1.1;color:var(--bone);margin:0 0 var(--space-4)}.auth-subline{font-size:1.05rem;line-height:1.65;color:#f4f0e7d1;max-width:32rem;margin:0 0 var(--space-6)}.auth-weave{position:relative;z-index:1;margin-block:var(--space-6);width:100%;max-width:26rem}.auth-weave svg{width:100%;height:auto;display:block}.auth-weave-path-a,.auth-weave-path-b{stroke-dasharray:900;stroke-dashoffset:900;animation:weave-draw 2.6s ease-out forwards}.auth-weave-path-b{animation-delay:.25s}@keyframes weave-draw{to{stroke-dashoffset:0}}.auth-weave-float{animation:weave-float 8s ease-in-out infinite;transform-origin:center}@keyframes weave-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.auth-trust-list{position:relative;z-index:1;list-style:none;margin:var(--space-6) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.auth-trust-list li{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:#f4f0e7e0}.auth-trust-dot{width:6px;height:6px;border-radius:999px;background:var(--accent-soft);flex-shrink:0}.auth-chip{position:relative;z-index:1;display:inline-flex;align-self:flex-start;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);background:#f4f0e71f;border:1px solid rgba(244,240,231,.28);padding:.4rem .85rem;border-radius:999px}.auth-panel-right{display:flex;align-items:center;justify-content:center;background:var(--bone);padding:var(--space-6) var(--space-5)}.auth-card{width:100%;max-width:27rem}.auth-card h1{font-size:clamp(1.9rem,3vw,2.4rem);opacity:0;animation:fade-up .6s ease-out forwards}.auth-tabs{display:inline-flex;gap:2px;margin-block:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:3px;opacity:0;animation:fade-up .6s ease-out .08s forwards}.auth-tab{font:inherit;font-weight:600;font-size:.9rem;background:none;border:none;border-radius:999px;padding:var(--space-2) var(--space-5);cursor:pointer;color:var(--muted);transition:background-color .15s ease,color .15s ease}.auth-tab:hover{color:var(--pine)}.auth-tab-active{color:var(--bone);background:var(--pine)}.auth-tab-active:hover{color:var(--bone)}.auth-form{opacity:0;animation:fade-up .6s ease-out .16s forwards}.auth-form .form-field:nth-of-type(1){animation-delay:.2s}.auth-form .btn-primary{width:100%;margin-top:var(--space-3);padding-block:var(--space-3);font-size:1rem}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.auth-mobile-header{display:none}@media (max-width: 900px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-mobile-header{display:block;position:relative;isolation:isolate;overflow:hidden;color:var(--bone);padding:var(--space-6) var(--space-4) var(--space-7)}.auth-mobile-header:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(120% 90% at 20% 0%,rgba(196,118,47,.32),transparent 55%),linear-gradient(155deg,#0b2c26,#103b33 60%,#14453b)}.auth-mobile-header .auth-wordmark{margin-bottom:var(--space-4)}.auth-mobile-header .auth-headline{font-size:clamp(1.6rem,6vw,2.1rem);margin-bottom:var(--space-3)}.auth-mobile-header .auth-subline{font-size:.95rem;margin-bottom:var(--space-4)}.auth-panel-right{padding:var(--space-6) var(--space-4) var(--space-7)}}@media (max-width: 480px){.auth-mobile-header,.auth-panel-right{padding:var(--space-5) var(--space-3) var(--space-6)}}.home-lede{max-width:46rem;font-size:1.1rem;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);padding:0;margin:var(--space-4) 0 var(--space-6);list-style:none}.stat-tile{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-4) var(--space-3);box-shadow:var(--shadow-sm)}.stat-tile dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--muted);margin-bottom:var(--space-2)}.stat-tile dd{margin:0;font-family:var(--font-display);font-size:2.4rem;font-weight:500;color:var(--pine)}.stat-tile-in-progress dd{color:var(--accent-ink)}.stat-tile-not-started dd{color:var(--muted)}.next-module-card{background:var(--pine);color:var(--bone);border:none;border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-md)}.next-module-card h2{color:var(--bone)}.next-module-card p{color:#f4f0e7db;margin-bottom:var(--space-3)}.next-module-card a{color:var(--bone);font-weight:600;text-decoration-color:var(--accent-soft)}.next-module-card a:hover{color:var(--accent-soft)}.module-list{list-style:none;padding:0;display:grid;gap:var(--space-4)}.module-card{border:1px solid var(--border);background:var(--surface-raised);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm);display:grid;grid-template-columns:auto 1fr;gap:var(--space-4);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.module-card:has(.module-title):hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--pine-mid)}.module-card-stub{opacity:.7}.module-card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);grid-column:1 / -1}.module-number{font-family:var(--font-display);font-weight:500;font-size:1.6rem;color:var(--faint);min-width:3.5rem}.module-card-body{grid-column:1 / -1;display:flex;flex-direction:column;gap:var(--space-1)}.module-title{display:block;font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--ink);text-decoration:none;margin-bottom:var(--space-1)}.module-title:hover{color:var(--pine-mid);text-decoration:underline;text-decoration-color:var(--accent)}.module-title-disabled{color:var(--faint)}.badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.badge-not-started{background:var(--bone);color:var(--muted);border:1px solid var(--border)}.badge-in-progress{background:var(--accent-soft);color:var(--accent-ink)}.badge-completed{background:var(--pine);color:var(--bone)}.badge-coming-soon{background:var(--surface);color:var(--faint);border:1px solid var(--border)}.module-section{border-top:1px solid var(--border);padding-block:var(--space-6)}.module-section h3{max-width:42rem}.module-section-interactive{background:var(--surface);border:1px solid var(--accent-soft);border-radius:var(--radius);padding:var(--space-5);margin-block:var(--space-5)}.module-section-body{white-space:pre-line;max-width:42rem;color:var(--ink)}.video-slot{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start;background:var(--pine);padding:var(--space-4);border-radius:var(--radius);border:1px solid var(--pine-hover);box-shadow:var(--shadow-md);position:relative}.video-slot-frame{position:relative;width:100%;border-radius:var(--radius-sm);overflow:hidden}.video-slot-play-affordance{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.video-slot-play-affordance span{width:3.2rem;height:3.2rem;border-radius:999px;background:#f4f0e724;border:1.5px solid rgba(244,240,231,.5);display:flex;align-items:center;justify-content:center;color:var(--bone);font-size:1.3rem;line-height:1;padding-left:.2rem}.video-slot-player{background:#000;max-height:22rem;width:100%;border-radius:var(--radius-sm);display:block}.video-slot-placeholder-note{color:#f4f0e7bf;font-size:.85rem;margin:0}.diagram-frame{margin-top:var(--space-4);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm)}.diagram-graphic{overflow-x:auto}.diagram-graphic svg{display:block;max-width:100%;height:auto}.diagram-caption{margin:var(--space-3) 0 0;font-size:.85rem;color:var(--muted);text-align:center}.test-runner{display:flex;flex-direction:column;gap:var(--space-4)}.test-question{border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-5);background:var(--surface-raised);box-shadow:var(--shadow-sm)}.test-question legend{font-weight:600;font-family:var(--font-display);font-size:1.05rem;padding-inline:var(--space-1);margin-bottom:var(--space-2)}.test-choice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);margin-block:var(--space-1);border-radius:var(--radius-sm);border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease}.test-choice:has(input:checked){background:#c4762f1a;border-color:var(--accent-soft)}.test-choice label{flex:1;cursor:pointer}.test-result-correct{color:var(--pine-mid);font-weight:600}.test-result-incorrect{color:var(--danger);font-weight:600}.test-result-summary{font-family:var(--font-display);font-size:1.3rem;font-weight:500;color:var(--pine)}.resource-list{list-style:none;padding:0;display:grid;gap:var(--space-4)}.resource-card h3{margin-top:0;font-family:var(--font-display)}.resource-contact{margin-bottom:0;color:var(--muted)}.faq-list{margin:0}.faq-item{border-top:1px solid var(--border);padding-block:var(--space-5)}.faq-item dt{font-family:var(--font-display);font-size:1.1rem;font-weight:500;margin-bottom:var(--space-2)}.faq-item dd{margin:0;color:var(--muted);max-width:42rem}.team-list{list-style:none;padding:0;display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(16rem,1fr))}.team-card{transition:box-shadow .2s ease,transform .2s ease}.team-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.team-card h2{margin-top:0;font-size:1.15rem}.team-role{color:var(--accent-ink);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;margin-top:0}.chart-wrap,.table-wrap{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:40rem}th,td{text-align:left;padding:var(--space-3);border-bottom:1px solid var(--border);font-size:.92rem}thead th{background:var(--surface);font-weight:600;color:var(--muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.06em}tbody tr:hover{background:#103b3308}.stat-grid-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:30rem}@media (max-width: 480px){.stat-grid-2{grid-template-columns:1fr 1fr}}.objectives-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-2)}.objectives-list li{position:relative;padding-left:1.5rem;color:var(--ink)}.objectives-list li:before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;border-radius:999px;background:var(--accent)}@media (max-width: 768px){html,body{overflow-x:hidden}.app-main{padding:var(--space-5) var(--space-3) var(--space-6)}.app-nav-inner{gap:var(--space-2);padding-block:var(--space-3)}.app-nav-inner ul{width:100%;margin:var(--space-2) 0 0;gap:var(--space-1)}.app-nav a{display:block;padding:var(--space-2) var(--space-2)}.app-nav-account{width:100%;justify-content:space-between;padding-top:var(--space-2);border-top:1px solid var(--border);margin-top:var(--space-2)}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-2)}.stat-tile dd{font-size:1.8rem}.team-list{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr))}.module-card{grid-template-columns:1fr}.module-number{min-width:0}table{min-width:34rem}}@media (max-width: 480px){.app-main{padding:var(--space-4) var(--space-2) var(--space-5)}.card{padding:var(--space-4)}.stat-grid,.team-list{grid-template-columns:1fr}.module-card-header{flex-wrap:wrap}.test-question{padding:var(--space-3)}.video-slot-player{max-height:14rem}.chart-wrap .recharts-responsive-container{height:260px!important}table{min-width:28rem}.app-nav-brand{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.auth-brand-panel:after,.auth-weave-float{animation:none!important}.auth-weave-path-a,.auth-weave-path-b{stroke-dashoffset:0}.auth-card h1,.auth-tabs,.auth-form{opacity:1;animation:none!important;transform:none!important}}
