.button{min-height:3rem;padding:0 var(--space-4);font-size:var(--size-2);font-weight:var(--weight-strong);border-radius:var(--radius-button);border:var(--border-width) solid var(--color-accent);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button--solid{background:var(--color-accent);color:var(--color-on-accent)}.button--outline{color:var(--color-accent);background:0 0}.button--solid:hover{opacity:.88}.button--outline:hover{background:var(--color-accent);color:var(--color-on-accent)}:root{--color-bg:#faf8f5;--color-surface:#fff;--color-text:#1c1a17;--color-muted:#6b655c;--color-accent:#1c1a17;--color-on-accent:#fff;--color-border:#e4dfd6;--font-heading:ui-serif, Georgia, "Times New Roman", serif;--font-body:ui-sans-serif, system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--size-1:.8125rem;--size-2:1rem;--size-3:1.25rem;--size-4:clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--size-5:clamp(2rem, 1.4rem + 2.6vw, 3.25rem);--size-6:clamp(2.75rem, 1.6rem + 5vw, 5.5rem);--size-number:clamp(4rem, 2rem + 14vw, 9rem);--weight-heading:500;--weight-body:400;--weight-strong:600;--leading-heading:1.05;--leading-body:1.6;--tracking-heading:-.02em;--tracking-label:.12em;--label-case:uppercase;--space-1:.25rem;--space-2:.5rem;--space-3:1rem;--space-4:1.5rem;--space-5:2.5rem;--space-6:4rem;--section-pad:clamp(3.5rem, 2rem + 6vw, 7.5rem);--page-width:72rem;--page-gutter:clamp(1.25rem, .5rem + 3vw, 3rem);--radius:4px;--radius-button:999px;--border-width:1px;--shadow:none;--photo-ratio-hero:4 / 5;--photo-ratio-card:4 / 3;--photo-radius:var(--radius);--photo-filter:none;--motion-duration:.7s;--motion-ease:cubic-bezier(.2, .7, .2, 1);--motion-distance:16px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--size-2);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;margin:0}img,svg{max-width:100%;height:auto;display:block}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}ul[role=list]{padding:0;list-style:none}a{color:inherit;text-underline-offset:.2em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}h1,h2,h3{font-family:var(--font-heading);font-weight:var(--weight-heading);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);text-wrap:balance}h1{font-size:var(--size-6)}h2{font-size:var(--size-5)}h3{font-size:var(--size-3)}p{text-wrap:pretty}.wrap{width:min(100% - var(--page-gutter) * 2, var(--page-width));margin-inline:auto}.section{padding-block:var(--section-pad)}.section+.section{border-top:var(--border-width) solid var(--color-border)}.label{font-size:var(--size-1);letter-spacing:var(--tracking-label);text-transform:var(--label-case);color:var(--color-muted)}.lead{font-size:var(--size-3);color:var(--color-muted);max-width:38em}.stack>*+*{margin-top:var(--space-4)}.split{gap:var(--space-5);display:grid}@media (width>=50rem){.split{gap:var(--space-6);grid-template-columns:1fr 1fr;align-items:center}}.photo{object-fit:cover;border-radius:var(--photo-radius);width:100%;filter:var(--photo-filter);background:var(--color-border)}.skip{position:absolute;left:-999px}.skip:focus{left:var(--space-3);top:var(--space-3);background:var(--color-surface);padding:var(--space-2) var(--space-3);z-index:10}html.js:not([data-motion=none]) [data-reveal]{opacity:0;transform:translateY(var(--motion-distance));transition:opacity var(--motion-duration) var(--motion-ease), transform var(--motion-duration) var(--motion-ease);transition-delay:calc(var(--reveal-order,0) * 80ms)}html.js:not([data-motion=none]) [data-reveal=image]{clip-path:inset(0 0 100%);transition:opacity var(--motion-duration) var(--motion-ease), clip-path calc(var(--motion-duration) * 1.4) var(--motion-ease);transform:none}html.js [data-reveal].is-visible{opacity:1;clip-path:inset(0);transform:none}html[data-motion=expressive]{--motion-distance:32px;--motion-duration:.9s}.button,a{transition:background-color .2s, color .2s, transform .2s var(--motion-ease), opacity .2s}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(0)scale(.98)}.site-header{transition:background-color .3s,box-shadow .3s,padding .3s}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}html.js [data-reveal]{opacity:1!important;clip-path:none!important;transform:none!important}}
