:root{--day:#f6eedf;--dusk:#e9a877;--night:#141a33;--night-2:#1e2647;--plum:#3a2b52;--night-glow:#f4c977;--dawn:#f7e4dc;--ink:#1e1b18;--ink-2:#5b524a;--ink-on-night:#f6eedf;--ink-on-night-2:#b9b4c9;--brand:#047857;--brand-2:#065f46;--accent:#e11d48;--accent-2:#be123c;--white:#fff;--ivory:var(--day);--ivory-2:#ede3d1;--blush:var(--dawn);--champagne:var(--night-glow);--line:#1e1b181f;--line-on-night:#f6eedf24;--glass:#ffffff9e;--glass-on-night:#141a338c;--scrim-strong:#141a339e;--scrim-soft:#141a331f;--glow-soft:#f4c9771a;--tone-ink:var(--ink);--tone-ink-2:var(--ink-2);--tone-line:var(--line);--tone-accent:var(--brand);--font-display:"Literata", Georgia, "Times New Roman", serif;--font-ui:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--radius-sm:6px;--radius-md:14px;--radius-lg:18px;--radius-xl:24px;--radius-xxl:32px;--radius-pill:9999px;--gutter:clamp(20px, 6vw, 120px);--content-max:1280px;--nav-h:84px;--shadow-card:0 1px 2px #1e1b180f, 0 12px 32px #1e1b181a;--shadow-lift:0 2px 4px #1e1b181a, 0 28px 60px #1e1b1847;--glow:0 0 24px #f4c9778c;--ease-out:cubic-bezier(.22, 1, .36, 1)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:auto;-webkit-text-size-adjust:100%}body{background:var(--phase-bg,var(--day));color:var(--tone-ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;transition:color .5s;overflow-x:clip}img,video,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}:focus-visible{outline:3px solid var(--tone-accent);outline-offset:3px;border-radius:var(--radius-sm)}h1,h2,h3{text-wrap:balance;font-family:var(--font-display);letter-spacing:-.015em;margin:0;font-weight:500;line-height:1.08}h1{font-size:clamp(2.625rem,5.6vw,5.25rem)}h2{font-size:clamp(2rem,4.5vw,3.5rem)}h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.25}p{margin:0}.overline{font-family:var(--font-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--tone-accent);font-size:.75rem;font-weight:600}.lede{color:var(--tone-ink-2);max-width:36ch;font-size:clamp(1.125rem,1.6vw,1.375rem);line-height:1.5}.container{width:min(100% - 2 * var(--gutter), var(--content-max));margin-inline:auto}[id]{scroll-margin-top:var(--nav-h)}.section{padding-block:clamp(80px,12vw,160px)}.btn{border-radius:var(--radius-pill);min-height:52px;transition:transform .25s var(--ease-out), background .25s;justify-content:center;align-items:center;gap:.5rem;padding:0 1.5rem;font-size:1rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--accent);color:var(--white)}.btn--primary:hover{background:var(--accent-2)}.btn--ghost{color:var(--tone-ink);box-shadow:inset 0 0 0 1.5px var(--tone-line);background:0 0}.btn--ghost:hover{background:var(--white)}.btn--glass{background:var(--glass);color:var(--ink);-webkit-backdrop-filter:blur(12px)}.btn--glass:hover{background:var(--white)}.btn--lg{min-height:60px;padding-inline:2rem;font-size:1.0625rem}:root[data-tone=dark]{--tone-ink:var(--ink-on-night);--tone-ink-2:var(--ink-on-night-2);--tone-line:var(--line-on-night);--tone-accent:var(--night-glow)}[data-phase]{color:var(--tone-ink)}[data-phase=day]{--sec-bg:var(--day)}[data-phase=dusk]{--sec-bg:var(--dusk)}[data-phase=dawn]{--sec-bg:var(--dawn)}[data-phase=dawn] .overline{color:var(--brand-2)}[data-phase=night]{--sec-bg:var(--night)}:is(.reduced,.no-js) [data-phase]{background:var(--sec-bg)}:is(.reduced,.no-js) [data-phase=night]{--tone-ink:var(--ink-on-night);--tone-ink-2:var(--ink-on-night-2);--tone-line:var(--line-on-night);--tone-accent:var(--night-glow)}.skip-link{background:var(--white);border-radius:var(--radius-pill);z-index:100;padding:.75rem 1rem;position:absolute;top:-100px;left:1rem}.skip-link:focus{top:1rem}[data-reveal]{opacity:0;transform:translateY(24px)}.split .split__w{vertical-align:bottom;margin-bottom:-.06em;padding-bottom:.06em;display:inline-block;overflow:hidden}.split .split__w>span{display:inline-block}.reduced [data-reveal],.no-js [data-reveal]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
