@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Source+Sans+3:ital,wght@0,400;0,500;0,600;1,400&display=swap");

:root{
--ivory-0:#FBF8F2;--ivory-1:#F6F1E8;--ivory-2:#EFE8DB;--ivory-3:#E6DDCD;
--charcoal-0:#1F1C1A;--charcoal-1:#2A2724;--charcoal-2:#4A4541;--charcoal-3:#7A736B;--charcoal-4:#A39B90;
--line-1:#DBD3C6;--line-2:#B8AE9E;
--terracotta-1:#B5502E;--terracotta-2:#983F22;--terracotta-3:#7A3119;--terracotta-tint:#F3E2D9;
--oxblood-1:#5E1F22;--oxblood-tint:#EBD9D8;
--success:#4F6B45;--success-tint:#E3EADF;--warning:#B8862B;--warning-tint:#F5EBD3;--error:#8A2E2E;--error-tint:#F0DAD8;
--surface-page:var(--ivory-1);--surface-raised:var(--ivory-0);--surface-sunken:var(--ivory-2);--surface-inverse:var(--charcoal-1);
--text-body:var(--charcoal-1);--text-secondary:var(--charcoal-2);--text-muted:var(--charcoal-3);--text-inverse:var(--ivory-0);--text-accent:var(--terracotta-1);
--border-hair:var(--line-1);--border-strong:var(--line-2);--border-focus:var(--terracotta-1);
--accent:var(--terracotta-1);--accent-hover:var(--terracotta-2);--accent-active:var(--terracotta-3);--accent-soft:var(--terracotta-tint);
--accent-2:var(--oxblood-1);--accent-2-soft:var(--oxblood-tint);
--link:var(--charcoal-1);--link-hover:var(--terracotta-1);
--overlay:rgba(31,28,26,.72);
}

:root{
--font-serif-display:"Instrument Serif",Georgia,"Times New Roman",serif;
--font-sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
--font-mono:ui-monospace,"SF Mono",Menlo,monospace;
--text-display-xl:clamp(48px,7vw,88px);--text-display-lg:clamp(40px,5.5vw,64px);--text-display-md:clamp(32px,4vw,44px);--text-display-sm:28px;
--text-title:22px;--text-lead:20px;--text-body-lg:18px;--text-body:17px;--text-body-sm:15px;--text-caption:13px;--text-eyebrow:12px;
--leading-display:1.02;--leading-tight:1.2;--leading-body:1.55;--leading-relaxed:1.7;
--tracking-display:-0.01em;--tracking-body:0;--tracking-eyebrow:0.12em;
--weight-regular:400;--weight-medium:500;--weight-semibold:600;
}

:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;
--gutter:clamp(20px,4vw,48px); /* @kind spacing */--measure:62ch;--container:1320px;--container-narrow:760px;
--radius-0:0px;--radius-1:2px;--radius-pill:999px;
--hair:1px;
--shadow-none:none;--shadow-lift:0 1px 0 rgba(31,28,26,.06);--shadow-dialog:0 24px 64px rgba(31,28,26,.28);
--dur-fast:120ms; /* @kind other */--dur-base:180ms; /* @kind other */--dur-slow:320ms; /* @kind other */--ease-out:cubic-bezier(.2,.7,.2,1); /* @kind other */--ease-in-out:cubic-bezier(.65,0,.35,1); /* @kind other */
--hit-min:44px;
--z-sticky:20; /* @kind other */--z-nav:30; /* @kind other */--z-dialog:50; /* @kind other */--z-toast:60; /* @kind other */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{margin:0;font-family:var(--font-serif-display);font-weight:var(--weight-regular);line-height:var(--leading-tight);letter-spacing:var(--tracking-display)}
h1{font-size:var(--text-display-lg);line-height:var(--leading-display)}h2{font-size:var(--text-display-md)}h3{font-size:var(--text-display-sm)}h4{font-size:var(--text-title)}
p{margin:0}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--border-strong);transition:color var(--dur-base) var(--ease-out),text-decoration-color var(--dur-base) var(--ease-out)}
a:hover{color:var(--link-hover);text-decoration-color:currentColor}
img{display:block;max-width:100%;height:auto}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}
.eyebrow{font-size:var(--text-eyebrow);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;font-weight:var(--weight-semibold);color:var(--text-muted)}
.serif{font-family:var(--font-serif-display)}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

