:root{--olive:#4b5733;--terracotta:#8b4226;--clay:#a67c52;--tan:#c9a66b;--cream:#f2e8d4;--ink:#3a2e22;--card-bg:#fffbf4;--focus-ring:#1f5fa8;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);margin:0;line-height:1.5}.skip-link{background:var(--ink);color:#fff;z-index:100;border-radius:0 0 8px;padding:.75rem 1.25rem;font-weight:700;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.app-shell{flex-direction:column;min-height:100vh;display:flex}a{color:var(--olive)}.site-header{background:var(--terracotta);color:var(--cream);z-index:10;position:sticky;top:0}.site-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;max-width:1100px;margin:0 auto;padding:.9rem 1.5rem;display:flex}.brand{color:var(--cream);align-items:center;gap:.5rem;font-size:1.25rem;font-weight:700;text-decoration:none;display:flex}.brand-mark{font-size:1.4rem}.main-nav{align-items:center;gap:1.25rem;font-size:.95rem;display:flex}.main-nav a{color:var(--cream);opacity:.85;border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.main-nav a:hover,.main-nav a.active{opacity:1;border-bottom-color:var(--tan)}.demo-link{background:var(--olive);border-radius:999px;padding:.4rem .9rem;opacity:1!important;border-bottom:none!important}.page{max-width:1000px;margin:0 auto;padding:2rem 1.5rem 3rem}.hero{padding:1.5rem 0 1rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--clay);margin:0 0 .5rem;font-size:.78rem;font-weight:700}.hero h1{color:var(--terracotta);margin:0 0 .75rem;font-size:clamp(1.8rem,3.5vw,2.6rem)}.hero-sub{color:#4b4332;max-width:640px;font-size:1.05rem}.mode-toggle-wrap{margin-bottom:1.5rem}.mode-toggle{background:var(--card-bg);border:1px solid #e2d6bf;border-radius:999px;gap:.25rem;margin-bottom:.75rem;padding:.3rem;display:inline-flex}.mode-help{background:color-mix(in srgb, var(--tan) 18%, white);border:1px solid var(--tan);border-radius:12px;flex-direction:column;gap:.4rem;max-width:640px;padding:.9rem 1.1rem;display:flex}.mode-help p{color:#4b4332;margin:0;font-size:.92rem}.mode-help strong{color:var(--olive)}.mode-btn{color:var(--olive);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.5rem 1.1rem;font-size:.9rem;font-weight:600}.mode-btn.active{background:var(--olive);color:var(--cream)}.next-step-banner{background:var(--clay);color:#fff;border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 1.75rem}.next-step-banner.is-celebration{background:var(--olive);position:relative}.celebration-confetti{letter-spacing:.4rem;margin:0 0 .6rem;font-size:1.3rem}.next-step-eyebrow{text-transform:uppercase;letter-spacing:.08em;opacity:.9;margin:0 0 .4rem;font-size:.75rem;font-weight:700}.next-step-banner h2{margin:0 0 .5rem;font-size:1.35rem}.next-step-desc{opacity:.95;margin:0 0 .75rem}.next-step-banner .milestone-footer{color:#ffffffd9}.next-step-banner .milestone-footer a{color:#fff}.controls{background:var(--card-bg);border:1px solid #e2d6bf;border-radius:14px;flex-wrap:wrap;gap:1.5rem;margin:1.5rem 0;padding:1.25rem 1.5rem;display:flex}.control-group{flex-direction:column;gap:.4rem;min-width:200px;display:flex}.control-group label{color:var(--olive);font-size:.9rem;font-weight:600}.control-group select{background:#fff;border:1px solid #cbb998;border-radius:8px;padding:.55rem .75rem;font-size:1rem}.age-group{flex:1;min-width:260px}.age-group input[type=range]{width:100%;accent-color:var(--clay)}.age-ticks{color:#8a7c5e;justify-content:space-between;font-size:.8rem;display:flex}.legend{flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;display:flex}.legend-pill{background:color-mix(in srgb, var(--pill-color) 15%, white);color:var(--pill-color);border:1px solid color-mix(in srgb, var(--pill-color) 35%, white);border-radius:999px;padding:.3rem .75rem;font-size:.78rem;font-weight:600}.timeline{padding-left:1.75rem;position:relative}.timeline-line{background:var(--tan);border-radius:3px;width:3px;position:absolute;top:10px;bottom:10px;left:7px}.milestone-card{margin-bottom:1.25rem;padding-left:1.5rem;position:relative}.milestone-dot{background:var(--cat-color);border:3px solid var(--cream);width:16px;height:16px;box-shadow:0 0 0 2px var(--cat-color);border-radius:50%;position:absolute;top:.4rem;left:-1.75rem}.milestone-body{background:var(--card-bg);border:1px solid #e2d6bf;border-left:5px solid var(--cat-color);border-radius:12px;padding:1.1rem 1.3rem}.milestone-card.is-current .milestone-body{box-shadow:0 0 0 2px var(--clay)}.here-flag{background:var(--clay);color:#fff;letter-spacing:.04em;text-transform:uppercase;border-radius:999px;margin-bottom:.5rem;padding:.15rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.milestone-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.4rem;display:flex}.cat-badge,.timing-badge{border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:600}.cat-badge{background:color-mix(in srgb, var(--cat-color) 15%, white);color:var(--cat-color)}.timing-badge{color:#6b5a39;background:#f1e8d6}.status-badge{text-transform:uppercase;letter-spacing:.03em;font-weight:700}.status-badge-done{color:#4a5d36;background:#e3ead9}.status-badge-urgent{color:#9c4a1f;background:#f3ded2}.status-badge-upcoming{color:#8a7c5e;background:#eee6d2}.milestone-card.status-urgent .milestone-body{box-shadow:0 0 0 2px #c9622c}.milestone-card.status-done .milestone-body{opacity:.6}.done-checkbox{color:var(--olive);cursor:pointer;align-items:center;gap:.45rem;margin-top:.75rem;font-size:.9rem;font-weight:600;display:inline-flex}.done-checkbox input{width:17px;height:17px;accent-color:var(--clay)}.milestone-body h3{color:var(--ink);margin:.2rem 0 .4rem;font-size:1.1rem}.milestone-body p{color:#4b4332;margin:0 0 .6rem}.milestone-footer{color:#7a6c4f;flex-wrap:wrap;justify-content:space-between;gap:.5rem;font-size:.85rem;display:flex}.milestone-footer a{font-weight:600}.cta-banner{background:var(--olive);color:var(--cream);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:2rem;padding:1.75rem 2rem;display:flex}.cta-banner h2{margin:0 0 .4rem;font-size:1.2rem}.cta-banner p{opacity:.9;max-width:480px;margin:0;font-size:.95rem}.btn-primary{background:var(--clay);color:#fff;white-space:nowrap;border-radius:999px;padding:.7rem 1.4rem;font-weight:700;text-decoration:none}.handoff-nudge{background:color-mix(in srgb, var(--tan) 25%, white);border:1px solid var(--tan);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem;display:flex}.handoff-nudge p{color:var(--olive);margin:0;font-weight:600}.handoff-nudge-links{flex-wrap:wrap;gap:1.25rem;display:flex}.handoff-nudge-links a{color:var(--clay);font-weight:700;text-decoration:none}.handoff-nudge-links a:hover{text-decoration:underline}.profile-layout{grid-template-columns:1fr 1fr;align-items:start;gap:1.75rem;margin-top:1.25rem;display:grid}.form-block{flex-direction:column;gap:.25rem;margin-top:0;display:flex}.form-block h2{color:var(--olive);margin:1.1rem 0 .2rem;font-size:1.05rem}.form-block h2:first-child{margin-top:0}.form-hint{color:#8a7c5e;margin:0 0 .5rem;font-size:.85rem}.form-row{flex-direction:column;gap:.3rem;margin-bottom:.9rem;display:flex}.form-row label{color:var(--olive);font-size:.88rem;font-weight:600}.form-row input,.form-row textarea{resize:vertical;background:#fff;border:1px solid #cbb998;border-radius:8px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem}.contact-row{background:color-mix(in srgb, var(--cream) 50%, white);border:1px solid #e2d6bf;border-radius:10px;margin-bottom:.9rem;padding:.9rem 1rem .2rem}.contact-row-header{color:var(--olive);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.85rem;font-weight:700;display:flex}.btn-text{color:#9c4a1f;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:600}.btn-secondary{border:1.5px solid var(--clay);color:var(--clay);cursor:pointer;background:0 0;border-radius:999px;align-self:flex-start;margin-top:.3rem;margin-bottom:1rem;padding:.5rem 1.1rem;font-weight:700}.profile-preview{flex-direction:column;gap:.9rem;display:flex;position:sticky;top:5.5rem}.preview-toolbar{justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.preview-toolbar .btn-primary{cursor:pointer;border:none;font-size:.95rem}.ready-badge{color:var(--olive);background:color-mix(in srgb, var(--tan) 30%, white);border:1px solid var(--tan);border-radius:999px;padding:.3rem .7rem;font-size:.82rem;font-weight:700}.printable{background:var(--card-bg);border:1px solid #e2d6bf;border-radius:16px;padding:1.75rem 2rem}.printable h2{color:var(--olive);margin:0 0 .2rem}.profile-sub{color:#7a6c4f;margin:0 0 1rem;font-weight:600}.empty-note{color:#8a7c5e;font-size:.92rem;font-style:italic}.profile-field{border-top:1px solid #ece2cc;margin-top:1.1rem;padding-top:1rem}.profile-field h3{color:var(--clay);text-transform:uppercase;letter-spacing:.03em;margin:0 0 .35rem;font-size:.95rem}.profile-field p{white-space:pre-wrap;margin:0}.done-list{margin:0;padding-left:1.2rem}.done-list li{margin-bottom:.3rem}.profile-footer-note{color:#9c8f70;border-top:1px dashed #e2d6bf;margin-top:1.5rem;padding-top:1rem;font-size:.78rem}.emergency-card{background:var(--olive);color:var(--cream);border-radius:16px 16px 0 0;margin:-1.75rem -2rem 1.25rem;padding:1.1rem 1.4rem}.emergency-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--tan);margin:0 0 .3rem;font-size:.72rem;font-weight:700}.emergency-card h2{color:#fff;margin:0 0 .3rem}.emergency-card-line{margin:0;font-size:.95rem}.contact-list{margin:0;padding:0;list-style:none}.contact-list li{border-bottom:1px solid #ece2cc;padding:.5rem 0;font-size:.95rem}.contact-list li:last-child{border-bottom:none}.contact-address{color:#7a6c4f;font-size:.85rem;display:block}@media (width<=860px){.profile-layout{grid-template-columns:1fr}.profile-preview{position:static}}@media print{.no-print{display:none!important}body{background:#fff}.page{max-width:none;margin:0;padding:0}.profile-layout{display:block}.printable{border:none;border-radius:0;padding:0}.emergency-card{border-radius:12px;margin:0 0 1.25rem}}.privacy-page h1{color:var(--olive);margin-bottom:.25rem}.info-block{background:var(--card-bg);border:1px solid #e2d6bf;border-radius:14px;margin-top:1.5rem;padding:1.5rem 1.75rem}.info-block h2{color:var(--olive);margin-top:0}.source-list{flex-direction:column;gap:.9rem;padding:0;list-style:none;display:flex}.source-list li{flex-direction:column;gap:.2rem;display:flex}.source-list strong{color:var(--ink)}.source-list span{color:#5a503a;font-size:.92rem}.disclaimer{color:#8a7c5e;font-size:.85rem;font-style:italic}.site-footer{text-align:center;color:#7a6c4f;padding:1.5rem;font-size:.85rem}@media (width<=600px){.controls{flex-direction:column}.cta-banner{flex-direction:column;align-items:flex-start}}
