:root{--primary-bg:#e8e1d8;--white-soft:#f9f7f5;--secondary-bg:#b8afa6;--primary-text:#3a3a3a;--text-muted:#59544d;--on-dark:#f9f7f5;--accent:#c9b37e;--accent-strong:#6f5c24;--accent-on-dark:#d9c48e;--on-dark-muted:#f9f7f5c7;--ink-hover:#262626;--on-dark-hover:#fff;--hairline:#3a3a3a24;--hairline-on-dark:#f9f7f529;--danger:#a32f2e;--danger-surface:#a32f2e14;--link:var(--accent-strong);--link-hover:var(--primary-text);--focus-ring:var(--primary-text);--focus-ring-width:2px;--focus-ring-offset:2px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--space-2xl:64px;--space-3xl:88px;--section-py:88px;--section-px:24px;--container-grid:1200px;--container-text:720px;--radius-sm:4px;--radius-md:10px;--radius-lg:16px;--radius-pill:999px;--control-height:48px;--control-height-sm:40px;--control-height-xs:36px;--shadow-card:0 4px 12px #3a3a3a0f;--shadow-raised:0 10px 30px #3a3a3a1a;--text-xs:.8125rem;--text-sm:.875rem;--text-md:.9375rem;--text-base:1rem;--text-lg:1.125rem;--heading-xl:clamp(2rem,6vw,2.75rem);--heading-lg:clamp(1.75rem,5vw,2.25rem);--heading-md:1.5rem;--spacing-responsive:40px 20px}@media (max-width:768px){:root{--section-py:56px;--section-px:20px;--spacing-responsive:20px 15px}}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior-y:none}body{--band:var(--primary-bg);--band-contrast:var(--white-soft);background-color:var(--band);color:var(--primary-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,.headline{font-family:var(--font-playfair);line-height:1.2}body,.body-text{font-family:var(--font-inter)}a{color:inherit;text-decoration:none;transition:color .2s,background-color .2s,border-color .2s,text-decoration-color .2s}.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}button{cursor:pointer;background:0 0;border:none}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-ring-width)solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}section{padding:var(--section-py)var(--section-px)}
