@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Hanken+Grotesk:wght@400;500;600;700&display=swap");:root{--navy:#102A4C;--navy-deep:#0A1E3A;--navy-soft:#21477A;--gold:#C8990E;--gold-dark:#A87F1E;--gold-tint:#F6EDD3;--bg:#FFFFFF;--surface:#F7F4ED;--surface-2:#EFEADD;--border:#E4DFD2;--hairline:#ECE7DB;--border-navy:#1E3A5F;--text:#0E2440;--text-muted:#5A6B82;--text-faint:#8A98AC;--text-on-navy:#FFFFFF;--text-on-navy-muted:#AFC0DA;--green:#2E7D46;--green-tint:#E8F2EA;--red:#B3261E;--red-tint:#FBEDEC;--amber:#B45309;--amber-tint:#FCF3E7;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-sans:"Hanken Grotesk",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--s-1:0.25rem;--s-2:0.5rem;--s-3:0.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-8:3rem;--s-10:4rem;--radius:8px;--radius-lg:16px;--radius-pill:999px;--shadow:0 1px 2px rgba(10,30,60,0.05);--shadow-lg:0 10px 40px rgba(10,30,60,0.12);--container:1080px;--gutter:1.5rem}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.container{max-width:var(--container)}.container,.container-narrow{margin:0 auto;padding:0 var(--gutter)}.container-narrow{max-width:720px}.display{line-height:1.02;color:var(--text)}.display,.h-hero{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.h-hero{font-size:clamp(3.6rem,9vw,7rem);line-height:.98}.h1{font-size:clamp(2.2rem,4.5vw,3.3rem);line-height:1.05;letter-spacing:-.02em}.h1,.h2{font-family:var(--font-display);font-weight:600}.h2{font-size:1.55rem;line-height:1.12;letter-spacing:-.01em}.eyebrow{font-family:var(--font-sans);font-size:.75rem;font-weight:600;letter-spacing:.005em;text-transform:none}.eyebrow,.eyebrow.gold{color:var(--text-muted)}.eyebrow.on-navy{color:var(--text-on-navy-muted)}.rule{width:2.5rem;height:1px;background:var(--gold);border:0}.lead{font-size:1.15rem;font-weight:400}.lead,.muted{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:600;font-size:.98rem;padding:.85rem 1.6rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.btn-primary{background:var(--gold);color:var(--navy)}.btn-primary:hover{background:var(--gold-dark)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}.btn-outline{background:transparent;color:var(--navy);border-color:var(--border)}.btn-outline:hover{border-color:var(--navy)}.btn-ghost-on-navy{background:transparent;color:var(--text-on-navy)}.btn-on-navy{background:transparent;color:#fff;border-color:rgba(255,255,255,.4);padding:.45rem 1rem;font-size:.85rem}.btn-on-navy:hover{border-color:#fff;background:rgba(255,255,255,.08)}.btn-lg{padding:1.05rem 2.2rem;font-size:1.05rem}.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:default}.field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}.field label{font-weight:600;font-size:.85rem;color:var(--text)}.field input,.field select{padding:.7rem .85rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.98rem;font-family:var(--font-sans);background:var(--bg);color:var(--text);width:100%}.field input:focus,.field select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}.error{color:var(--red);font-size:.85rem}.hint{color:var(--text-muted);font-size:.82rem}.card{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius);padding:var(--s-6);box-shadow:none}.panel{background:var(--surface);border:1px solid var(--border)}.panel,.panel-navy{border-radius:var(--radius);padding:var(--s-5)}.panel-navy{background:var(--navy);color:var(--text-on-navy)}.badge{display:inline-flex;align-items:center;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.3rem .65rem;border-radius:var(--radius-pill)}.badge-progress{background:var(--gold-tint);color:var(--gold-dark)}.badge-upcoming{background:#E7ECF3;color:var(--navy-soft)}.badge-done{background:var(--green-tint);color:var(--green)}.badge-overdue{background:var(--red-tint);color:var(--red)}.progress{height:6px;border-radius:var(--radius-pill);background:rgba(255,255,255,.25);overflow:hidden}.progress>span{display:block;height:100%;background:var(--gold);border-radius:inherit}.progress.on-light{background:var(--surface-2)}.progress.green>span{background:var(--green)}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);padding:.7rem 0;border-bottom:1px solid var(--hairline);font-family:var(--font-sans)}.row:last-child{border-bottom:0}.row .k{color:var(--text);font-weight:500}.topbar{background:var(--navy);position:-webkit-sticky;position:sticky;top:0;z-index:40}.topbar-inner{justify-content:space-between;height:72px}.topbar-inner,.topbar-links{display:flex;align-items:center}.topbar-links{gap:1.75rem}.topbar-links a{color:rgba(255,255,255,.82);font-size:.92rem;font-weight:500}.topbar-links a:hover{color:#fff}@media (max-width:560px){.topbar-links{gap:.85rem;flex-wrap:nowrap}.topbar-links a{white-space:nowrap}.topbar-howit{display:none}.topbar-inner{gap:.75rem}.topbar-links .btn{padding:.5rem .85rem;font-size:.82rem}}.page-hero{background:var(--navy);color:var(--text-on-navy);padding:var(--s-8) 0 var(--s-6)}.page-hero .h1{color:#fff;margin:.4rem 0 0}.hero2{background:var(--navy)}.hero2-grid{display:grid;grid-template-columns:1fr;grid-gap:2.5rem;gap:2.5rem;align-items:center;padding:3.5rem 0}@media (min-width:880px){.hero2-grid{grid-template-columns:1.05fr .95fr;gap:4rem;padding:4.5rem 0}}.hero2-photo{display:flex;justify-content:center}.hero2-photo img{display:block;width:100%;max-width:460px;height:auto;border-radius:var(--radius-lg);border:6px solid #fff;box-shadow:0 18px 50px rgba(3,10,24,.45)}.hero{padding:clamp(3.5rem,8vw,6rem) 0 4rem}.journey{background:var(--navy);color:var(--text-on-navy);padding:5rem 0}.journey-list{margin-top:3rem;border-top:1px solid var(--border-navy)}.journey-step{display:flex;gap:2rem;align-items:baseline;padding:2rem 0;border-bottom:1px solid var(--border-navy)}.journey-num{font-family:var(--font-display);font-weight:600;font-size:2.6rem;color:#fff;line-height:1;min-width:3rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.auth-wrap{position:relative;min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem;background:var(--navy) url(/hero-home.jpg) center/cover no-repeat;isolation:isolate}.auth-scrim{position:absolute;inset:0;z-index:0;background:rgba(8,18,38,.55)}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.25rem}.google-btn{gap:.6rem}.auth-or{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0 .25rem;color:var(--text-faint);font-size:.82rem}.auth-or:after,.auth-or:before{content:"";flex:1 1;height:1px;background:var(--border)}.auth-tabs{display:flex;gap:1.5rem;margin-top:1rem;border-bottom:1px solid var(--border)}.auth-tabs button{background:none;padding:.5rem 0;font-family:var(--font-sans);font-weight:600;font-size:.95rem;color:var(--text-muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.auth-tabs button.active{color:var(--navy);border-bottom-color:var(--navy)}.auth-forgot{display:block;margin:1rem auto 0;background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:.85rem;font-weight:500;text-decoration:underline;text-underline-offset:2px}.start-choice{display:flex;flex-direction:column;gap:.25rem;text-align:left;width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border-navy);border-radius:var(--radius);padding:1.1rem 1.25rem;cursor:pointer;transition:border-color .15s,background .15s}.start-choice:hover{border-color:var(--gold);background:rgba(255,255,255,.07)}.start-choice-title{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:#fff}.start-choice-sub{color:var(--text-on-navy-muted);font-size:.92rem}.quiz-wrap{min-height:100vh;background:var(--bg)}.quiz-top{background:var(--navy)}.quiz-top-inner{display:flex;align-items:center;justify-content:space-between;height:64px}.quiz-progress{height:4px;background:var(--navy-deep)}.quiz-progress>span{display:block;height:100%;background:var(--gold);transition:width .3s ease}.quiz-body{padding:3rem 1.5rem 4rem}.q-sub{font-weight:600;font-size:1.02rem;color:var(--text);margin-bottom:.6rem}.quiz-nav{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:2.5rem}@media (max-width:560px){.quiz-nav>*{flex:1 1 100%;text-align:center}}.money{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);overflow:hidden}.money:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-tint)}.money-prefix{padding:0 .25rem 0 .85rem;color:var(--text-muted);font-weight:600}.money input{flex:1 1;border:none;outline:none;padding:.7rem .5rem;font-size:1.05rem;font-family:var(--font-sans);background:transparent;color:var(--text);width:100%}.money input:focus{border:none;box-shadow:none}.money-suffix{padding-right:.85rem;color:var(--text-muted);font-size:.9rem}.choice-grid{display:grid;grid-gap:.6rem;gap:.6rem}.choice{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem;font-family:var(--font-sans);font-size:.98rem;color:var(--text);cursor:pointer;transition:border-color .12s,background .12s}.choice:hover{border-color:var(--navy-soft)}.choice.selected{border-color:var(--navy);background:var(--surface);font-weight:600;box-shadow:inset 0 0 0 1px var(--navy)}.choice-rich{display:flex;flex-direction:column;gap:.2rem;padding:1rem 1.1rem}.choice-rich-title{font-family:var(--font-display);font-weight:600;font-size:1.12rem;color:var(--text)}.choice-rich-sub{font-size:.9rem;color:var(--text-muted)}.seg{display:inline-flex;gap:.6rem;flex-wrap:wrap}.seg button{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.65rem 1.4rem;font-family:var(--font-sans);font-weight:600;font-size:.95rem;color:var(--text);cursor:pointer}.seg button.selected{border-color:var(--navy);background:var(--surface);box-shadow:inset 0 0 0 1px var(--navy)}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.85rem;gap:.85rem;margin-top:1.25rem}@media (min-width:720px){.stat-grid{grid-template-columns:repeat(4,1fr)}}.cols2{display:grid;grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem;margin-top:1.25rem}@media (min-width:720px){.cols2{grid-template-columns:1fr 1fr;align-items:start}}.check-row{display:flex;gap:.75rem;align-items:flex-start;padding:.7rem 0;border-bottom:1px solid var(--border)}.check-row:last-child{border-bottom:0}.check-dot{flex:none;width:1.5rem;height:1.5rem;border-radius:999px;display:grid;place-items:center;font-size:.8rem;font-weight:700;color:#fff}.check-dot.pass{background:var(--green)}.check-dot.fail{background:var(--amber)}.hero-2up{display:grid;grid-template-columns:1fr;grid-gap:.85rem;gap:.85rem;margin-top:1.25rem;align-items:stretch}@media (min-width:640px){.hero-2up{grid-template-columns:1fr 1fr}}.hero-2up.stacked{grid-template-columns:1fr}.results-footer{display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border)}.hero-metric{background:var(--bg);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.5rem 1.6rem}.hero-metric .hm-value{font-family:var(--font-display);font-weight:600;font-size:3rem;line-height:1;color:var(--text);margin-top:.35rem;margin-bottom:.5rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem;margin-top:.85rem}.metric-sm{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.85rem 1rem}.metric-sm.amber{border-color:var(--amber);background:var(--amber-tint)}.metric-sm .ms-value{font-family:var(--font-display);font-weight:600;font-size:1.35rem;color:var(--text);margin-top:.2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-toggle{background:none;border:none;cursor:pointer;color:var(--navy-soft);font-weight:600;font-size:.85rem;padding:0;margin-top:.9rem;text-decoration:underline;text-underline-offset:2px}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.collapse.open{grid-template-rows:1fr}.collapse>.collapse-inner{overflow:hidden}.callout{border-radius:var(--radius);padding:1rem 1.25rem;margin-top:1rem}.callout-amber{background:var(--amber-tint);border:1px solid var(--amber)}.tip{font-size:.82rem;margin-top:.4rem}.tip-amber{color:var(--amber)}.tip-muted{color:var(--text-muted)}.next-steps{margin:.7rem 0 0;padding-left:1.3rem;display:grid;grid-gap:.5rem;gap:.5rem}.next-step,.next-steps li{font-size:.96rem;color:var(--text);line-height:1.5}.why-toggle{background:none;border:none;cursor:pointer;color:var(--navy-soft);font-weight:600;font-size:.8rem;padding:0;margin-top:.25rem;text-decoration:underline;text-underline-offset:2px}.why-body{font-size:.88rem;line-height:1.55;padding:.35rem 0 .15rem;margin:0}.coach-note,.why-body{color:var(--text-muted)}.coach-note{margin-top:1rem;font-size:.92rem;line-height:1.6}.price-explorer{margin-top:1.25rem;border-top:1px solid var(--border);padding-top:1.25rem}.price-explorer .price-explorer-value{font-family:var(--font-display);font-weight:600;font-size:2.5rem;line-height:1;color:var(--text);text-align:center;margin-top:.35rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.price-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--surface-2);outline:none;margin-top:1rem}.price-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:var(--gold);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 5px rgba(16,42,76,.25)}.price-slider::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--gold);cursor:pointer;border:3px solid #fff;box-shadow:0 1px 5px rgba(16,42,76,.25)}.price-slider:focus-visible{box-shadow:0 0 0 3px var(--gold-tint)}.price-explorer-ends{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.78rem;color:var(--text-faint)}.site-footer{background:var(--navy-deep);color:var(--text-on-navy-muted);padding:2.5rem 0}.site-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.footer-links{display:flex;gap:1.5rem}.footer-links a{color:var(--text-on-navy-muted);font-size:.9rem;font-weight:500}.footer-links a:hover{color:#fff}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--navy);border-top:1px solid var(--border-navy)}.bottom-nav-inner{max-width:640px;margin:0 auto;display:flex}.bn-item{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.8rem 0 .9rem;color:var(--text-on-navy-muted);font-size:.72rem;font-weight:600}.bn-item.active{color:var(--gold)}.ai-fab{position:fixed;right:1.5rem;bottom:5.5rem;z-index:45;height:52px;border-radius:var(--radius-pill);background:var(--navy);border:none;cursor:pointer;color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:0 1.15rem;font-family:var(--font-sans);font-weight:700;font-size:.92rem;white-space:nowrap;box-shadow:var(--shadow-lg)}.ai-fab:hover{background:var(--navy-deep)}.ai-fab .ai-fab-icon{flex-shrink:0}.ai-fab .ai-fab-label{line-height:1}.ai-fab.is-open{width:52px;padding:0;justify-content:center}.ai-fab-label-short{display:none}@media (max-width:560px){.ai-fab{padding:0 1rem;font-size:.88rem}.ai-fab-label-full{display:none}.ai-fab-label-short{display:inline}}.coach-panel{position:fixed;right:1.5rem;bottom:9.5rem;z-index:46;width:min(380px,calc(100vw - 2rem));height:min(540px,calc(100vh - 12rem));display:flex;flex-direction:column;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}.coach-head{background:var(--navy);color:#fff;padding:.85rem 1.1rem}.coach-head .coach-sub{color:var(--text-on-navy-muted);font-size:.85rem;font-weight:400}.coach-body{flex:1 1 auto;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}.coach-msg{max-width:85%;padding:.6rem .85rem;border-radius:var(--radius);font-size:.92rem;line-height:1.5;white-space:pre-wrap}.coach-msg.assistant{background:var(--surface-2);color:var(--text);align-self:flex-start;border-bottom-left-radius:4px}.coach-msg.user{background:var(--navy);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}.coach-typing{color:var(--text-muted);font-style:italic}.coach-context{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:.7rem .85rem;font-size:.85rem;color:var(--text-muted);white-space:pre-wrap;line-height:1.5}.coach-context-label{font-weight:600;color:var(--text-muted);font-size:.75rem;letter-spacing:.005em;text-transform:none;margin-bottom:.3rem}.coach-suggestions{display:flex;flex-direction:column;gap:.4rem}.coach-suggestions button{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:.55rem .75rem;font-size:.88rem;color:var(--navy);cursor:pointer}.coach-suggestions button:hover{border-color:var(--navy-soft);background:var(--surface)}.coach-error{background:var(--amber-tint);border:1px solid var(--amber);border-radius:var(--radius);padding:.6rem .75rem;font-size:.85rem;color:var(--text);line-height:1.45}.coach-retry{background:none;border:none;padding:0;margin-left:.35rem;color:var(--navy-soft);font-weight:600;font-size:.85rem;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.coach-cap{font-size:.82rem;color:var(--text-muted);line-height:1.45;text-align:center;padding:.25rem .5rem}.coach-input{display:flex;gap:.5rem;padding:.75rem;border-top:1px solid var(--border)}.coach-input input:disabled{background:var(--surface-2);cursor:not-allowed}.coach-input input{flex:1 1 auto;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius);font-family:var(--font-sans);font-size:.92rem}.coach-input input:focus{outline:none;border-color:var(--gold)}.coach-input .btn{padding:.6rem 1rem}.app-main{padding-bottom:6rem;min-height:100vh}.mh-header{background:var(--navy);padding:2rem 0 1.5rem}.mh-scene{position:relative;width:100%;height:60vh;display:flex;justify-content:center;align-items:stretch}.mh-scene svg{display:block;height:100%;width:100%}.mh-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mh-empty-card{background:rgba(255,255,255,.92);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;text-align:center;max-width:22rem}.mh-celebrate{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(8,18,38,.55);overflow:hidden}.mh-celebrate-card{position:relative;z-index:2;text-align:center;background:var(--navy);border:1px solid var(--border-navy);border-radius:var(--radius-lg);padding:2.5rem 2.75rem;box-shadow:var(--shadow-lg)}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti span{position:absolute;top:-24px;width:9px;height:14px;border-radius:2px;animation-name:confetti-fall;animation-timing-function:linear;animation-iteration-count:infinite}@keyframes confetti-fall{0%{transform:translateY(-24px) rotate(0);opacity:1}to{transform:translateY(75vh) rotate(540deg);opacity:.9}}.mh-materials{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;padding:.85rem 1.5rem}.mat{display:flex;flex-direction:column;align-items:center;gap:.15rem;width:62px}.mat-art{line-height:0;transition:filter .3s,opacity .3s}.mat-count{font-size:.82rem;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mat-label{font-size:.62rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.mat-done .mat-art{filter:grayscale(1);opacity:.38}.mat-done .mat-count{color:var(--text-faint)}@keyframes mh-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.mat-active .mat-art{animation:mh-bob 1.6s ease-in-out infinite}@keyframes mh-drop{0%{opacity:0;transform:translateY(-18px) scale(.9)}55%{opacity:1;transform:translateY(0) scale(1.07)}75%{transform:scale(.98)}to{transform:none}}.mh-piece{animation:mh-drop .45s ease both;transform-box:fill-box;transform-origin:center}.cloud{animation:cloud-drift 30s ease-in-out infinite alternate}.cloud-2{animation-duration:46s;animation-delay:-10s}@keyframes cloud-drift{0%{transform:translateX(-22px)}to{transform:translateX(40px)}}.sun{animation:sun-pulse 6s ease-in-out infinite;transform-box:fill-box;transform-origin:298px 178px}@keyframes sun-pulse{0%,to{opacity:.92;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.birds{animation:birds-fly 22s linear infinite}@keyframes birds-fly{0%{transform:translateX(-30px);opacity:0}8%{opacity:.8}92%{opacity:.8}to{transform:translateX(360px);opacity:0}}.sway{animation:mh-sway 4s ease-in-out infinite;transform-box:fill-box;transform-origin:50% 100%}.sway-2{animation-duration:5.2s;animation-delay:-1.6s}@keyframes mh-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}.smoke circle{transform-box:fill-box;transform-origin:center;opacity:0;animation:smoke-rise 3.6s ease-out infinite}@keyframes smoke-rise{0%{transform:translateY(0) scale(.5);opacity:0}25%{opacity:.5}to{transform:translateY(-30px) scale(1.25);opacity:0}}.focus-banner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.25rem 1.5rem}.focus-deadline{display:flex;flex-direction:column;align-items:flex-start}.cols{display:grid;grid-template-columns:1fr;grid-gap:var(--s-5);gap:var(--s-5)}@media (min-width:880px){.cols{grid-template-columns:1.7fr 1fr;align-items:start}}.phase-card{display:block;color:inherit;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s}.phase-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,42,76,.08)}.back-link{color:var(--text-on-navy-muted);font-size:.85rem;text-decoration:none}.back-link:hover{color:#fff}.task-row{display:flex;gap:.9rem;align-items:flex-start;text-align:left;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem;cursor:pointer;transition:border-color .12s,background .12s}.task-row:hover{border-color:var(--navy-soft)}.task-row.done{background:var(--bg);border-color:var(--hairline)}.task-check{flex:none;width:1.55rem;height:1.55rem;border-radius:999px;display:grid;place-items:center;border:2px solid var(--border);color:#fff;font-size:.85rem;font-weight:700;margin-top:.1rem;transition:all .12s}.task-row:hover .task-check{border-color:var(--navy-soft)}.task-check.done{background:var(--green);border-color:var(--green)}.task-body{display:flex;flex-direction:column;gap:.2rem}.task-title{font-weight:600;color:var(--text)}.task-detail,.task-row.done .task-title{color:var(--text-muted)}.task-detail{font-size:.9rem;line-height:1.5}.task-row.skipped{background:var(--surface-2);border-color:var(--border);cursor:default}.task-row.skipped .task-title{color:var(--text-muted);font-weight:600;text-decoration:line-through;-webkit-text-decoration-color:var(--text-faint);text-decoration-color:var(--text-faint)}.task-check.skipped{background:transparent;border-color:var(--text-faint);color:var(--text-faint)}.task-skip{font-size:.85rem;color:var(--text-faint);font-weight:600}.cal-card{display:flex;align-items:center;gap:1rem;color:inherit;text-decoration:none;transition:border-color .12s,transform .12s,box-shadow .12s}.cal-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(16,42,76,.08)}.cal-date{flex:none;width:3.2rem;text-align:center;display:flex;flex-direction:column;line-height:1}.cal-dow{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-faint)}.cal-day{font-family:var(--font-display);font-weight:600;font-size:1.9rem;color:var(--navy);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-body{flex:1 1 auto;min-width:0}.cal-label{font-weight:600;color:var(--text)}.cal-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;text-align:right}.gloss-link{color:var(--navy-soft);text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}.gloss-link:hover{-webkit-text-decoration-style:solid;text-decoration-style:solid}.gloss-search{width:100%;max-width:28rem;margin-top:1.25rem;padding:.7rem 1rem;border:1px solid var(--border-navy);border-radius:var(--radius);background:#fff;color:var(--text);font-family:var(--font-sans);font-size:.98rem}.gloss-search:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(194,153,42,.25)}.gloss-entry{background:transparent;border:0;border-bottom:1px solid var(--hairline);border-radius:0;padding:1.1rem 0;scroll-margin-top:5rem;transition:background .4s}.gloss-entry:last-child{border-bottom:0}.gloss-entry.active{background:var(--surface);border-radius:var(--radius);padding:1.1rem 1rem}.gloss-term{font-family:var(--font-display);font-weight:600;font-size:1.25rem;color:var(--navy);letter-spacing:-.01em}.gloss-def{color:var(--text-muted);line-height:1.6;margin-top:.25rem}.referral-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);padding:1.4rem 1.5rem}.referral-headline{font-family:var(--font-display);font-weight:600;font-size:1.35rem;color:var(--navy);margin-top:.2rem;letter-spacing:-.01em}