:root{--ink:#1c1b19;--charcoal:#3a3a36;--bone:#f7f5f0;--stone:#e8e3d8;--bronze:#8b7355;--gilt:#c9a15d;--bronze-line:#8b735547;--max-w:1120px;--serif:"Cormorant", Georgia, serif;--sans:"Inter", -apple-system, sans-serif;--mono:"JetBrains Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bone);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}::selection{background:var(--gilt);color:var(--ink)}:focus-visible{outline:2px solid var(--bronze);outline-offset:3px}.wrap{max-width:var(--max-w);margin:0 auto;padding:0 32px}.eyebrow{font-family:var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--bronze);font-size:11px;font-weight:600}.marginalia{font-family:var(--serif);color:var(--bronze);letter-spacing:.01em;font-size:14px;font-style:italic}section{border-top:1px solid var(--bronze-line);padding:88px 0}.no-border{border-top:none}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:48px;display:flex}h2.section-title{font-family:var(--serif);letter-spacing:-.01em;font-size:clamp(28px,3.4vw,38px);font-weight:500}.btn{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--ink);align-items:center;gap:8px;padding:13px 26px;font-size:13px;font-weight:600;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--bone)}.btn-primary:hover,.btn-primary:focus-visible{background:var(--bronze);border-color:var(--bronze)}.btn-ghost{color:var(--ink);border-color:var(--bronze-line);background:0 0}.btn-ghost:hover,.btn-ghost:focus-visible{border-color:var(--bronze);color:var(--bronze)}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(14px)}.reveal.in{opacity:1;transform:translateY(0)}@media (width<=520px){.wrap{padding:0 20px}section{padding:64px 0}}
