:root{--shoreline-purple:#735aa6;--shoreline-purple-dark:#5f4a91;--shoreline-navy:#132653;--shoreline-teal:#5fa8aa;--shoreline-teal-dark:#2d7f86;--shoreline-ink:#1d2433;--shoreline-muted:#5f6876;--shoreline-border:#13265324;--shoreline-paper:#fff;--shoreline-mist:#f4f7f6;color:var(--shoreline-ink);background:var(--shoreline-mist);font-synthesis:none;text-rendering:optimizelegibility;font-family:Helvetica Neue,Helvetica,Arial,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}body.has-open-modal{overflow:hidden}button{font:inherit}.app-shell{background:radial-gradient(circle at 18% 8%,#ffffffdb,#0000 210px),radial-gradient(circle at 92% 18%,#fff9,#0000 260px),linear-gradient(#c7fbf3 0%,#bdf7ef 48%,#d7fbf6 100%);min-height:100vh;padding:34px 18px 52px}.roadmap-hero,.content-shell{width:min(1440px,100%);margin:0 auto}.roadmap-hero{display:block}.hero-copy{text-align:center;justify-items:center;gap:14px;display:grid}.home-link{color:#fff;background:var(--shoreline-navy);border-radius:8px;align-items:center;gap:10px;min-height:50px;padding:0 20px;font-weight:850;text-decoration:none;display:inline-flex;box-shadow:0 16px 34px #1326532e}.home-link:hover,.home-link:focus-visible{background:var(--shoreline-purple-dark);outline:none}.eyebrow,.stage-weeks{color:var(--shoreline-teal-dark);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1{max-width:780px;color:var(--shoreline-navy);margin-bottom:0;font-size:clamp(1.9rem,4vw,3.55rem);font-weight:800;line-height:1}@media (width>=961px){h1{max-width:700px}}.lede{max-width:660px;color:var(--shoreline-muted);margin-bottom:0;font-size:1rem;line-height:1.55}.trimester-section,.stage-preview,.stage-modal{border:1px solid var(--shoreline-border);background:#ffffffeb;border-radius:8px;box-shadow:0 16px 40px #13265314}.content-shell{grid-template-columns:minmax(680px,1fr) minmax(380px,420px);align-items:start;gap:40px;margin-top:42px;display:grid}.timeline-shell{gap:54px;margin-top:0;display:grid}.trimester-section{box-shadow:none;background:0 0;border:0;gap:24px;padding:0;display:grid;position:relative}.section-heading{background:#ffffffb8;border:3px solid #50a6ab8c;border-radius:18px;gap:8px;padding:24px 28px;display:grid}.section-heading h2{color:var(--shoreline-navy);overflow-wrap:anywhere;margin:0;font-size:clamp(1.9rem,2.7vw,2.55rem);line-height:1}.section-heading p:last-child{color:var(--shoreline-muted);margin-bottom:0;line-height:1.5}.stage-grid{gap:38px;padding:6px 0 6px 52px;display:grid;position:relative}.stage-grid:before{content:"";background:#50a6ab6b;border-radius:999px;width:4px;position:absolute;top:0;bottom:0;left:24px}.stage-preview{background:#fffffff2;border:3px solid #50a6abc7;border-radius:12px;align-content:start;gap:13px;width:min(780px,100%);min-height:0;padding:22px 26px;display:grid;position:relative;box-shadow:0 18px 38px #13265314}.stage-preview:before{content:"";background:radial-gradient(circle at 50% 50%, transparent 0 6px, #fff 7px 9px, transparent 10px), linear-gradient(135deg, var(--stage-color), var(--shoreline-teal));border:4px solid #fff;border-radius:50%;place-items:center;width:46px;height:46px;display:grid;position:absolute;top:30px;left:-48px;box-shadow:0 10px 22px #1326531f}.stage-preview:nth-child(2n){justify-self:end}.stage-preview-top{display:block}.stage-preview h3{color:var(--shoreline-teal-dark);margin:10px 0 0;font-size:clamp(1.32rem,2.35vw,1.72rem);font-weight:500;line-height:1.12}.stage-preview .stage-weeks{color:#fff;background:var(--shoreline-teal);letter-spacing:0;text-transform:none;border-radius:8px;width:fit-content;padding:7px 14px;font-size:.92rem;line-height:1;display:inline-flex}.stage-size-copy{color:#334155;margin-bottom:0;font-size:.94rem;line-height:1.4}.stage-preview-panels{gap:10px;display:grid}.stage-mini-panel{background:#eff8f8f2;border-radius:10px;gap:7px;padding:12px 14px;display:grid}.stage-mini-panel span{color:#111827;align-items:center;gap:8px;font-weight:700;display:inline-flex}.stage-mini-panel svg{color:var(--shoreline-teal-dark)}.stage-mini-panel p{color:#334155;margin-bottom:0;font-size:.94rem;line-height:1.38}.explore-button{color:#fff;background:var(--shoreline-teal);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:800;display:inline-flex}.explore-button:hover,.explore-button:focus-visible{background:var(--shoreline-teal-dark);outline:none}.resource-section{border:1px solid var(--shoreline-border);background:#ffffffeb;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:18px;max-height:calc(100vh - 48px);margin-top:0;padding:24px;display:grid;position:sticky;top:24px;overflow:hidden;box-shadow:0 16px 40px #13265314}.resource-heading{gap:8px;display:grid}.resource-heading h2{color:var(--shoreline-navy);margin:0;font-size:2rem;line-height:1}.resource-heading p:last-child{color:var(--shoreline-muted);margin-bottom:0;line-height:1.45}.resource-grid{grid-template-columns:1fr;gap:14px;min-height:0;padding-right:4px;display:grid;overflow-y:auto}.resource-card{min-height:126px;color:var(--shoreline-ink);border:1px solid var(--shoreline-border);background:#fff;border-radius:8px;align-content:start;gap:12px;padding:20px;text-decoration:none;display:grid}.resource-card span{color:var(--shoreline-navy);font-size:1rem;font-weight:850}.resource-card p{color:var(--shoreline-muted);margin-bottom:0;font-size:.9rem;line-height:1.4}.resource-card svg{color:var(--shoreline-teal-dark)}.resource-card:hover,.resource-card:focus-visible{border-color:var(--shoreline-teal);outline:none;box-shadow:0 14px 30px #13265314}.modal-backdrop{z-index:20;background:#1326536b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.stage-modal{background:#fff;border-top:0;gap:22px;width:min(980px,100%);max-height:min(780px,100vh - 40px);padding:30px 34px 32px;display:grid;position:relative;overflow:auto}.modal-close{width:36px;height:36px;color:var(--shoreline-navy);border:1px solid var(--shoreline-border);cursor:pointer;background:#fff;border-radius:8px;place-items:center;display:grid;position:absolute;top:12px;right:12px}.modal-close:hover,.modal-close:focus-visible{border-color:var(--stage-color);color:var(--stage-color);outline:none}.milestone-header{border-bottom:1px solid #1326531f;padding:0 52px 18px 0;display:block}.milestone-header h2{color:var(--shoreline-navy);margin:0 0 8px;font-size:clamp(1.9rem,3.7vw,2.75rem);font-weight:850;line-height:1.02}.milestone-header p{color:#6d6d80;margin-bottom:0;font-size:clamp(1rem,2vw,1.25rem);line-height:1.2}.modal-sections{grid-template-columns:minmax(0,.95fr) minmax(0,1.12fr);align-items:start;gap:18px;display:grid}.modal-section{background:#f7fcfbe6;border:1px solid #50a6ab38;border-radius:12px;gap:16px;padding:20px;display:grid}.modal-section-title{align-items:center;gap:12px;display:flex}.modal-section-title h3{color:var(--shoreline-navy);margin:0;font-size:clamp(1.25rem,2.1vw,1.6rem);font-weight:850;line-height:1.2}.journey-section{gap:14px}.modal-section-icon{width:42px;height:42px;color:var(--shoreline-teal-dark);background:#e8f5f4;border-radius:12px;flex:none;place-items:center;display:grid}.journey-block{background:#fff;border:1px solid #13265314;border-radius:10px;gap:10px;padding:14px;display:grid}.journey-block h4{color:var(--shoreline-muted);margin:0;font-size:.96rem;font-weight:800}.modal-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.modal-list li{color:var(--shoreline-ink);grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px;font-size:clamp(.94rem,1.45vw,1rem);line-height:1.38;display:grid}.modal-list svg{width:19px;height:19px;color:var(--shoreline-teal-dark);margin-top:2px}.modal-resources{background:#fff;border:1px solid #1326531a;border-radius:12px;gap:14px;padding:18px;display:grid}.modal-resources h3{color:var(--shoreline-navy);margin:0;font-size:1.08rem;font-weight:850}.modal-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.modal-resource-card{min-height:112px;color:var(--shoreline-ink);border:1px solid var(--shoreline-border);background:#fff;border-radius:8px;gap:8px;padding:14px;text-decoration:none;display:grid}.modal-resource-card span{color:var(--shoreline-navy);font-weight:850}.modal-resource-card p{color:var(--shoreline-muted);margin-bottom:0;font-size:.92rem;line-height:1.35}.modal-resource-card svg{color:#337cb8}.modal-resource-card:hover,.modal-resource-card:focus-visible{border-color:#337cb8;outline:none}@media (width<=1080px){.roadmap-hero,.content-shell{grid-template-columns:1fr}.resource-section{grid-template-rows:auto;justify-self:center;width:min(760px,100%);max-height:none;position:static;overflow:visible}.section-heading{position:static}.stage-grid{padding-left:46px}.stage-grid:before{left:18px}.stage-preview,.stage-preview:nth-child(2n){justify-self:stretch;width:100%}.stage-preview:before{left:-46px}.resource-grid{grid-template-columns:1fr;padding-right:0;overflow:visible}.stage-modal{gap:20px;padding:24px}.modal-sections{grid-template-columns:1fr;gap:16px}}@media (width<=760px){.app-shell{padding:18px 14px 34px}h1{font-size:2.15rem}.content-shell{gap:22px;margin-top:26px}.timeline-shell{gap:22px}.trimester-section{padding:0}.stage-grid{grid-template-columns:1fr;gap:28px;padding-left:0}.stage-grid:before,.stage-preview:before{display:none}.stage-preview{min-height:auto;padding:20px}.stage-preview .stage-weeks{font-size:1rem}.stage-preview h3{font-size:1.35rem}.modal-backdrop{align-items:end;padding:12px}.stage-modal{gap:16px;max-height:calc(100vh - 24px);padding:18px 16px}.milestone-header{padding:0 44px 14px 0}.milestone-header h2{font-size:1.8rem}.milestone-header p{font-size:1rem}.modal-section,.modal-resources{padding:16px}.modal-section-title h3{font-size:1.3rem}.modal-section-icon{width:38px;height:38px}.journey-block h4{font-size:.98rem}.modal-list li{grid-template-columns:23px minmax(0,1fr);gap:8px;font-size:.94rem}.modal-resource-grid{grid-template-columns:1fr}.resource-section{padding:16px}}
