.layout{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;padding:var(--space-xl) var(--space-lg) 3rem;max-width:640px;margin:0 auto;width:100%}.main-content .app{padding:0;margin:0;max-width:none}.site-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm)}.site-logo{font-weight:600;font-size:1.125rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;transition:color .15s ease}.site-logo:hover{color:var(--accent)}.nav-toggle{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0;background:transparent;border:1px solid var(--border);border-radius:var(--radius);color:var(--text)}.nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle-icon{font-size:1.25rem}.main-nav{display:none}.main-nav.nav-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--border);padding:1rem;z-index:10}.main-nav ul{list-style:none;margin:0;padding:0}.main-nav li{margin-bottom:.5rem}.main-nav li:last-child{margin-bottom:0}.main-nav a{display:block;padding:.5rem 0;color:var(--text);text-decoration:none}.main-nav a:hover{color:var(--accent)}.nav-cta{font-weight:500;color:var(--accent)!important}.site-footer{padding:var(--space-xl) var(--space-lg);background:var(--surface);border-top:1px solid var(--border);text-align:center}.footer-nav ul{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-sm) var(--space-md)}.footer-nav a{color:var(--text-muted);text-decoration:none;font-size:.875rem;transition:color .15s ease}.footer-nav a:hover{color:var(--accent)}.footer-disclaimer{font-size:.8125rem;color:var(--text-muted);max-width:48ch;margin:0 auto;line-height:1.5}.skip-link{position:absolute;top:-100px;left:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--accent);color:#fff;font-weight:500;text-decoration:none;border-radius:var(--radius-sm);z-index:100;transition:top .2s ease}.skip-link:focus{top:var(--space-md);outline:2px solid var(--text);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (min-width: 640px){.nav-toggle{display:none}.main-nav{display:block;position:static;background:transparent;border:none;padding:0}.main-nav.nav-open{position:static;border:none}.main-nav ul{display:flex;align-items:center;gap:1.5rem}.main-nav li{margin-bottom:0}.main-nav a{padding:0}.nav-cta{padding:.5rem 1rem!important;background:var(--accent);color:#fff!important;border-radius:var(--radius)}.nav-cta:hover{background:var(--accent-hover);color:#fff!important}}:root{--bg: #f4f9f6;--surface: #ffffff;--text: #24302a;--text-muted: #5c6e66;--accent: #3d9b65;--accent-hover: #35915a;--border: #dce8e0;--warning-bg: #fcf9ed;--warning-border: #e8e2c8;--error: #c45c58;--radius: 10px;--radius-sm: 8px;--shadow: 0 2px 12px rgba(36, 48, 42, .05);--shadow-sm: 0 1px 4px rgba(36, 48, 42, .04);--font: "DM Sans", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 2.5rem}*{box-sizing:border-box}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{max-width:640px;margin:0 auto;padding:2rem 1.5rem 3rem}.hero{text-align:center;margin-bottom:var(--space-2xl)}.hero h1{font-size:1.75rem;font-weight:600;color:var(--text);margin:0 0 .75rem;letter-spacing:-.02em;line-height:1.25}.page-child-spacing .hero-subheadline{font-size:1rem;color:var(--text-muted);margin:0 auto var(--space-sm);max-width:48ch}.page-child-spacing .hero-cta{font-size:.9375rem;color:var(--text-muted);margin:0 auto}.hero p{color:var(--text-muted);font-size:1rem;max-width:32ch;margin:0 auto}.reassurance{margin-top:1rem;font-size:.9375rem;color:var(--text-muted);font-style:italic}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--space-lg);margin-bottom:var(--space-lg)}.card h2{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.form-row{margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.helper{font-size:.8125rem;color:var(--text-muted);margin-top:.5rem}.input{width:100%;padding:.625rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;background:var(--surface);color:var(--text)}.input:focus{border-color:var(--accent)}.birth-input-row{display:flex;gap:.75rem;align-items:center}.birth-input-row .input-select,.birth-input-row .input-year{flex:1 1 calc(50% - .375rem);min-width:0;box-sizing:border-box}.input-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;cursor:pointer}.age-gap-row{display:flex;align-items:center}.age-gap-field{flex:0 0 50%;box-sizing:border-box;display:flex;align-items:center;gap:.5rem;padding-right:.5rem}.age-gap-field:first-child{padding-right:.375rem}.age-gap-field:last-child{padding-left:.375rem;padding-right:0}.age-gap-field .input-number{flex:1;min-width:0;max-width:none}.input-number{max-width:5rem}.age-gap-unit{font-size:.875rem;color:var(--text-muted);flex-shrink:0}.error-msg{font-size:.8125rem;color:var(--error);margin-top:.375rem}.warning-banner{background:var(--warning-bg);border:1px solid var(--warning-border);border-radius:8px;padding:.75rem 1rem;font-size:.875rem;color:var(--text);margin-top:.75rem}.add-child-btn{width:100%;padding:.75rem;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.9375rem;margin-top:.5rem}.add-child-btn:hover{border-color:var(--accent);color:var(--accent)}.results-card{margin-top:1.5rem}.results-title{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.results-table{width:100%;border-collapse:collapse;font-size:.9375rem}.results-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--text-muted);border-bottom:1px solid var(--border)}.results-table td{padding:.75rem;border-bottom:1px solid var(--border)}.results-table tr:last-child td{border-bottom:none}.results-note{font-size:.8125rem;color:var(--text-muted);margin-top:1rem}.actions{display:flex;gap:.75rem;margin-top:1.25rem;flex-wrap:wrap}.btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9375rem;font-weight:500;border:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.disclaimer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.8125rem;color:var(--text-muted);text-align:center;max-width:48ch;margin-left:auto;margin-right:auto}.copied-toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%);background:var(--text);color:var(--surface);padding:.5rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:var(--shadow);z-index:10;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.how-it-works h2,.faq-section h2,.cta-section h2{font-size:1rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.faq-section article{margin-bottom:1rem}.faq-section article:last-child{margin-bottom:0}.faq-section h3{font-size:.9375rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.faq-section p,.how-it-works p{font-size:.9375rem;color:var(--text-muted);margin:0 0 .5rem}.cta-section ul{list-style:none;margin:0;padding:0}.cta-section li{margin-bottom:.5rem}.cta-section a{color:var(--accent);text-decoration:none}.cta-section a:hover{text-decoration:underline}.disclaimer-block{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}.disclaimer-block p{font-size:.8125rem;color:var(--text-muted);text-align:center;margin:0}.page-home .hero,.page-calculators-hub .hero,.page-stub .hero,.page-child-spacing .hero,.page-due-date .hero,.page-privacy .hero,.page-terms .hero,.page-about .hero{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem}.page-home .hero h1,.page-calculators-hub .hero h1,.page-stub .hero h1,.page-child-spacing .hero h1,.page-due-date .hero h1{font-size:1.75rem;font-weight:600;margin:0 0 .75rem;color:var(--text)}.page-home .hero-tagline,.page-home .hero p,.page-calculators-hub .hero p,.page-stub .hero p,.page-child-spacing .hero p,.page-due-date .hero p{color:var(--text-muted);margin:0 0 1rem}.page-due-date .hero-subheadline{font-size:1rem;color:var(--text-muted);margin:0 auto var(--space-sm);max-width:48ch}.due-date-result{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 1rem}.page-home .hero-tagline{font-size:1.25rem;font-weight:500;color:var(--text);margin-bottom:1.25rem;max-width:55ch}.page-home .btn{margin-top:1rem}.calculator-links h2,.calculator-list h1{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:var(--text)}.calculator-links ul{list-style:none;margin:0;padding:0}.calculator-links li{margin-bottom:.75rem}.calculator-links a{color:var(--accent);text-decoration:none;font-weight:500}.calculator-links a:hover{text-decoration:underline}.calculator-links span{color:var(--text-muted);font-size:.9375rem}.calculator-list{display:flex;flex-direction:column;gap:1rem}.calculator-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.calculator-card h2{font-size:1rem;font-weight:600;margin:0 0 .5rem}.calculator-card h2 a{color:var(--text);text-decoration:none}.calculator-card h2 a:hover{color:var(--accent)}.calculator-card p{font-size:.9375rem;color:var(--text-muted);margin:0}.page-stub .btn{margin-top:1rem}.page-about section,.page-faq section,.page-privacy section,.page-terms section,.page-contact section{margin-bottom:1.5rem}.page-about h2,.page-faq h2,.page-privacy h2,.page-terms h2,.page-contact h2{font-size:1rem;font-weight:600;margin:0 0 .5rem;color:var(--text)}.page-about p,.page-faq p,.page-privacy p,.page-terms p,.page-contact p{font-size:.9375rem;color:var(--text-muted);margin:0 0 .5rem}.faq-list article{margin-bottom:1rem}.faq-list h2{font-size:.9375rem;font-weight:600;margin:0 0 .375rem}@media (max-width: 480px){.app{padding:1.5rem 1rem 2rem}.results-table th,.results-table td{padding:.5rem .25rem;font-size:.875rem}}
