:root{--color-bg:#ecf8f8;--color-surface:#eee4e1;--color-surface-warm:#e7d8c9;--color-border:#e7d8c9;--color-accent-soft:#e6beae;--color-cta:#b2967d;--color-ink:#2d2521;--color-ink-muted:#5b463c;--brand:var(--color-cta);--brand-dark:var(--color-ink);--brand-light:var(--color-surface);--ink:var(--color-ink);--ink-soft:var(--color-ink-muted);--bg:var(--color-bg);--border:var(--color-border);--font-heading:"Newsreader", Georgia, serif;--font-body:"Atkinson Hyperlegible", Verdana, sans-serif;--text-display:clamp(2.5rem, 5vw, 4.5rem);--text-h2:clamp(1.9rem, 3vw, 3rem);--text-h3:clamp(1.25rem, 2vw, 1.55rem);--text-lead:clamp(1.125rem, 1.5vw, 1.3rem);--text-body:clamp(1.0625rem, 1vw + .75rem, 1.125rem);--text-small:.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem;--space-24:6rem;--space-32:8rem;--radius-sm:6px;--radius-md:12px;--radius-lg:22px;--shadow-raised:0 16px 45px #2d25211a;--ease-calm:cubic-bezier(.22, 1, .36, 1);--duration-fast:.18s;--duration-base:.24s;--duration-slow:.28s;--container:1200px;font-family:var(--font-body)}*{box-sizing:border-box}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html{scroll-behavior:smooth}body{color:var(--color-ink);background:var(--color-bg);font-size:var(--text-body);margin:0;line-height:1.65}h1,h2,h3{color:var(--color-ink);font-family:var(--font-heading);letter-spacing:-.025em;margin-top:0;font-weight:600}h1{font-size:var(--text-display);line-height:1.02}h2{font-size:var(--text-h2);line-height:1.1}h3{font-size:var(--text-h3);line-height:1.2}p{color:var(--color-ink-muted)}img{max-width:100%}a{color:inherit;text-underline-offset:.18em}:focus-visible{outline:3px solid var(--color-ink);outline-offset:4px}header{min-height:76px;padding:0 max(clamp(1.25rem, 4vw, 3rem), calc((100% - var(--container)) / 2));justify-content:space-between;align-items:center;gap:var(--space-8);z-index:20;color:var(--color-ink);border-bottom:1px solid var(--color-border);background:#eee4e1f5;display:flex;position:sticky;top:0}header .brand{color:var(--color-ink);font-family:var(--font-heading);white-space:nowrap;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:600;line-height:1;text-decoration:none}header nav{align-items:center;gap:clamp(.75rem,1.5vw,1.5rem);display:flex}header nav a{min-height:44px;color:var(--color-ink-muted);white-space:nowrap;transition:color var(--duration-fast) var(--ease-calm);align-items:center;font-size:.95rem;font-weight:700;text-decoration:none;display:inline-flex}header nav a:hover,header nav a:focus-visible{color:var(--color-ink)}header .button,a.button{border:1px solid var(--color-cta);border-radius:var(--radius-md);background:var(--color-cta);min-height:44px;transition:background var(--duration-fast) var(--ease-calm), transform var(--duration-fast) var(--ease-calm);justify-content:center;align-items:center;padding:.65rem 1.25rem;text-decoration:none;display:inline-flex;color:var(--color-ink)!important;font-weight:700!important}header .button:hover,a.button:hover{background:var(--color-accent-soft);transform:translateY(-1px)}main{width:100%;margin:0}.card{margin-bottom:var(--space-4);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}footer{margin-top:var(--space-24);background:var(--color-surface);border-top:1px solid var(--color-border)}.newsletter-bar{border-bottom:1px solid var(--color-border)}.newsletter-bar-inner{max-width:var(--container);padding:var(--space-8) clamp(1.25rem, 4vw, 3rem);justify-content:space-between;align-items:center;gap:var(--space-4) var(--space-12);flex-wrap:wrap;margin:0 auto;display:flex}.newsletter-copy strong{color:var(--color-ink);font-family:var(--font-heading);font-size:var(--text-h3);font-weight:600;display:block}.newsletter-copy p{margin:var(--space-1) 0 0;max-width:42ch;font-size:var(--text-small)}.newsletter-form{gap:var(--space-2);flex-wrap:wrap;display:flex}.newsletter-form input{min-width:220px;min-height:44px;padding:0 var(--space-4);border:1px solid var(--color-cta);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-ink);font:inherit}.newsletter-form input:focus{outline:3px solid var(--color-accent-soft);outline-offset:2px;border-color:var(--color-ink)}.newsletter-form button{min-height:44px;padding:0 var(--space-6);border:1px solid var(--color-cta);border-radius:var(--radius-sm);background:var(--color-cta);color:var(--color-ink);font:inherit;cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-calm);font-weight:700}.newsletter-form button:hover{background:var(--color-accent-soft)}.newsletter-form button:disabled{opacity:.6;cursor:wait}.newsletter-message{max-width:var(--container);padding:0 clamp(1.25rem, 4vw, 3rem) var(--space-6);font-size:var(--text-small);margin:0 auto;font-weight:700}.newsletter-message.error{color:var(--color-ink)}footer .inner{max-width:var(--container);padding:var(--space-12) clamp(1.25rem, 4vw, 3rem);justify-content:space-between;gap:var(--space-6) var(--space-12);flex-wrap:wrap;align-items:flex-start;margin:0 auto;display:flex}footer nav{gap:var(--space-3) var(--space-6);flex-wrap:wrap;justify-content:flex-end;max-width:720px;display:flex}footer a{min-height:44px;color:var(--color-ink-muted);font-size:var(--text-small);transition:color var(--duration-fast) var(--ease-calm);align-items:center;line-height:1.45;text-decoration:none;display:inline-flex}footer a:hover,footer a:focus-visible{color:var(--color-ink);text-decoration:underline}footer .copyright{color:var(--color-ink-muted);font-size:var(--text-small);line-height:1.45}.reveal{opacity:0;transition:opacity var(--duration-slow) var(--ease-calm), transform var(--duration-slow) var(--ease-calm);transform:translateY(10px)}.reveal.is-visible{opacity:1;transform:none}@media (width<=960px){header{padding-block:var(--space-4);flex-wrap:wrap;position:relative}header nav{gap:0 var(--space-4);flex-wrap:wrap;width:100%}}@media (width<=640px){header{padding-inline:1.25rem}header nav a{font-size:var(--text-small)}footer{margin-top:var(--space-16)}footer .inner{padding-block:var(--space-8)}footer nav{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}
