:root{--color-navy: #1a3a5c;--color-navy-light: #2a5580;--color-teal: #2aab97;--color-teal-hover: #238f7f;--color-light-blue: #e8f4f8;--color-warm-cream: #faf8f5;--color-yellow: #e8b93c;--color-white: #ffffff;--color-text: #2d2d3a;--color-text-light: #5a5a72;--color-border: #e2e6ea;--font-heading: "Lora", Georgia, serif;--font-body: "Nunito Sans", system-ui, sans-serif;--font-size-base: 1.15rem;--font-size-sm: .95rem;--font-size-lg: 1.4rem;--font-size-xl: 1.9rem;--font-size-xxl: 2.8rem;--font-size-hero: 3.4rem;--line-height: 1.75;--line-height-tight: 1.3;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.75rem;--space-lg: 3.5rem;--space-xl: 6rem;--max-width: 1140px;--border-radius: 10px;--border-radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(26, 58, 92, .06), 0 4px 12px rgba(26, 58, 92, .04);--shadow-md: 0 4px 12px rgba(26, 58, 92, .08), 0 12px 32px rgba(26, 58, 92, .06);--shadow-lg: 0 8px 24px rgba(26, 58, 92, .1), 0 24px 48px rgba(26, 58, 92, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:var(--font-size-base);line-height:var(--line-height);color:var(--color-text);background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-teal);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}a:hover,a:focus{color:var(--color-navy);text-decoration-color:var(--color-navy)}:focus-visible{outline:3px solid var(--color-yellow);outline-offset:3px}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-navy);line-height:var(--line-height-tight);font-weight:700;letter-spacing:-.01em}h1{font-size:var(--font-size-xxl);margin-bottom:var(--space-md)}h2{font-size:var(--font-size-xl);margin-bottom:var(--space-sm)}h3{font-size:var(--font-size-lg);margin-bottom:var(--space-xs)}p+p{margin-top:var(--space-md)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.section{padding:var(--space-xl) 0}.section--alt{background:var(--color-warm-cream)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.25rem;font-family:var(--font-body);font-size:var(--font-size-base);font-weight:700;text-decoration:none;border-radius:50px;border:none;cursor:pointer;transition:background .2s,transform .1s,box-shadow .2s;min-height:52px;min-width:48px;text-align:center;letter-spacing:.01em}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn--primary{background:var(--color-teal);color:var(--color-white);box-shadow:0 4px 12px #2aab9740}.btn--primary:hover,.btn--primary:focus{background:var(--color-teal-hover);color:var(--color-white);box-shadow:0 6px 16px #2aab9759}.btn--secondary{background:var(--color-navy);color:var(--color-white);box-shadow:0 4px 12px #1a3a5c33}.btn--secondary:hover,.btn--secondary:focus{background:var(--color-navy-light);color:var(--color-white)}.btn--outline{background:transparent;color:var(--color-navy);border:2px solid var(--color-navy)}.btn--outline:hover,.btn--outline:focus{background:var(--color-navy);color:var(--color-white)}.btn--lg{padding:1.15rem 2.75rem;font-size:var(--font-size-lg)}label{display:block;font-weight:700;margin-bottom:var(--space-xs);color:var(--color-navy);font-size:var(--font-size-sm);letter-spacing:.02em;text-transform:uppercase}input,textarea,select{width:100%;padding:1rem 1.25rem;font-size:var(--font-size-base);font-family:var(--font-body);border:2px solid var(--color-border);border-radius:var(--border-radius);background:var(--color-white);color:var(--color-text);min-height:52px;transition:border-color .2s,box-shadow .2s}input:focus,textarea:focus,select:focus{border-color:var(--color-teal);box-shadow:0 0 0 4px #2aab971a;outline:none}textarea{resize:vertical;min-height:160px}.form-group{margin-bottom:var(--space-md)}.form-group--optional label:after{content:" (optional)";font-weight:400;color:var(--color-text-light);font-size:var(--font-size-sm);text-transform:none}.radio-group{display:flex;gap:var(--space-md);flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:var(--space-xs);font-weight:400;cursor:pointer;text-transform:none}.radio-group input[type=radio]{width:24px;height:24px;min-height:24px;accent-color:var(--color-teal)}.card{background:var(--color-white);border-radius:var(--border-radius-lg);padding:var(--space-lg) var(--space-md);box-shadow:var(--shadow-sm);border:1px solid var(--color-border);transition:box-shadow .3s,transform .3s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.grid{display:grid;gap:var(--space-md)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.form-status{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);font-weight:600;text-align:center}.form-status:empty{display:none}.form-status--success{background:#e8f5e9;color:#2e7d32;border:2px solid #a5d6a7}.form-status--error{background:#fce4ec;color:#c62828;border:2px solid #ef9a9a}.skip-link{position:absolute;top:-100%;left:var(--space-md);background:var(--color-navy);color:var(--color-white);padding:var(--space-sm) var(--space-md);border-radius:var(--border-radius);z-index:1000;text-decoration:none}.skip-link:focus{top:var(--space-sm)}@media(max-width:768px){:root{--font-size-xxl: 2.1rem;--font-size-hero: 2.4rem;--font-size-xl: 1.6rem;--font-size-lg: 1.25rem;--space-xl: 3.5rem;--space-lg: 2.5rem}.grid--3{grid-template-columns:1fr}}
