*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 92px; }
body { margin: 0; background: var(--ink); color: var(--paper); font-family: var(--sans); font-size: 15px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body::after { content: ''; position: fixed; inset: 0; z-index: 50; pointer-events: none; opacity: .025; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E"); }
::selection { background: #905344; color: white; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; cursor: pointer; }
a { color: inherit; text-decoration: none; }
button:disabled { cursor: default; }
button:focus-visible, a:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid var(--accent-light); outline-offset: 6px; }
img { display: block; max-width: 100%; }
svg { display: inline-block; }
h1, h2, h3, p, blockquote { margin: 0; }
h1, h2 { font-family: var(--serif); font-weight: 400; }
h2 { font-size: clamp(42px, 4.5vw, 67px); line-height: 1.09; letter-spacing: -.045em; }
h2 em { font-weight: 400; color: var(--accent); }
.icon { width: 19px; height: 19px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.icon-library { position: absolute; width: 0; height: 0; overflow: hidden; }
.container { width: min(calc(100% - var(--gutter) * 2), var(--container)); margin-inline: auto; }
.section-space { padding-block: clamp(80px, 8vw, 128px); }
.eyebrow { display: flex; align-items: center; gap: 12px; font-family: var(--mono); color: var(--muted); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; line-height: 1.6; }
.section-number { color: var(--accent); }
.button { min-height: 54px; padding: 16px 24px; display: inline-flex; justify-content: center; align-items: center; gap: 11px; font-weight: 600; font-size: 13px; border: 1px solid transparent; border-radius: 3px; transition: background .2s, transform .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--accent); color: #181310; box-shadow: 0 0 40px #d5907912; }
.button-primary:hover { background: var(--accent-light); box-shadow: 0 0 36px #d5907930; }
.button-primary .icon { width: 17px; height: 17px; }
.text-link { display: inline-flex; align-items: center; gap: 13px; padding-block: 15px; font-size: 12px; color: #d5d8dc; }
.text-link .icon { width: 16px; transition: transform .2s; }
.text-link:hover .icon { transform: translateX(4px); }
.skip-link { position: fixed; left: 20px; top: -80px; z-index: 100; padding: 10px 20px; background: var(--paper); color: var(--ink); }
.skip-link:focus { top: 10px; }
[hidden] { display: none !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
