@import url('./css/themes.css');
@import url('./css/transitions.css');
@import url('./css/pages.css');
@import url('./css/brand.css');
@import url('./css/company.css?v=6');
@import url('./css/motion.css');

* { box-sizing: border-box; }
html { scrollbar-gutter: stable; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--body); font-size: 16px; -webkit-font-smoothing: antialiased; }
body:has(dialog[open]) { overflow: hidden; }
::selection { background: #a2caff; color: #080909; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
button, a { -webkit-tap-highlight-color: transparent; }
button { border: 0; }
button:disabled { cursor: default; }
:focus-visible { outline: 2px solid var(--accent); outline-offset: 6px; }
main:focus { outline: none; }
img { display: block; max-width: 100%; height: auto; }
figure, h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { font-weight: 500; }
h1, h2 { font-family: var(--display); letter-spacing: -.065em; }
h2 { font-size: clamp(42px, 5.5vw, 84px); line-height: 1.02; }
p { line-height: 1.65; }
p + p { margin-top: 20px; }
em { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
main { padding-top: var(--header-height); }
.site-header { position: fixed; z-index: 30; inset: 0 0 auto; height: var(--header-height); padding: 0 var(--gutter); display: flex; justify-content: space-between; align-items: center; background: #080909; color: #f2f0e9; border-bottom: 1px solid #ffffff26; }
.wordmark { font-family: var(--brand); font-size: 24px; font-weight: 400; line-height: 1; letter-spacing: .045em; white-space: nowrap; }
.desktop-nav { display: flex; gap: 38px; align-self: stretch; }
.desktop-nav a { position: relative; display: flex; align-items: center; font-size: 11px; font-weight: 500; text-transform: uppercase; letter-spacing: .095em; }
.desktop-nav a::after { content: ''; position: absolute; bottom: 22px; left: 0; width: 0; height: 2px; background: var(--accent); transition: width 180ms; }
.desktop-nav a:hover::after, .desktop-nav a[aria-current='page']::after { width: 100%; }
.menu-toggle { display: none; background: none; text-transform: uppercase; font-size: 11px; letter-spacing: .08em; padding: 12px 0 12px 16px; }
.menu-toggle span { margin-left: 12px; font-size: 18px; }
.eyebrow, .section-label, .draft-note, figcaption { font-family: var(--mono); font-size: 10px; font-weight: 400; line-height: 1.6; letter-spacing: .09em; text-transform: uppercase; }
.section-label { display: flex; gap: 26px; margin-bottom: 60px; }
.section-label > span { color: var(--muted); }
.section-pad { padding: 105px var(--gutter); }
.lead { font-size: clamp(24px, 2.5vw, 38px); line-height: 1.3; letter-spacing: -.025em; }
.text-link { display: inline-flex; gap: 28px; align-items: center; padding: 14px 0; border-bottom: 1px solid currentColor; background: transparent; font-size: 14px; }
.text-link span { font-size: 23px; }
.text-link:hover, .site-footer a:hover { color: var(--accent); }
.draft-note { display: block; color: var(--muted); font-size: 9px; }
.accent { color: var(--accent); }
.site-footer { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 32px var(--gutter); border-top: 1px solid var(--line); }
.site-footer > span, .site-footer > a:last-child { font-size: 11px; color: var(--muted); }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 14px 20px; color: #080909; background: #fff; }
.skip-link:focus { top: 16px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.noscript { padding: 100px var(--gutter); }
.mobile-menu { background: #080909; color: #f2f0e9; border: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0 var(--gutter) 30px; }
.mobile-menu[open] { display: flex; flex-direction: column; }
.menu-heading { min-height: var(--header-height); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #ffffff26; }
.menu-heading button { background: transparent; text-transform: uppercase; font-size: 12px; padding: 16px 0 16px 16px; }
.mobile-menu nav { margin: auto 0; }
.mobile-menu nav a { display: flex; gap: 20px; align-items: baseline; font-size: clamp(30px, 7vw, 60px); padding: 22px 0; letter-spacing: -.055em; border-bottom: 1px solid #ffffff26; }
.mobile-menu nav a span { font: 10px var(--mono); letter-spacing: 0; color: #aaa; }
.mobile-menu nav a[aria-current='page'] { color: var(--accent); }
.mobile-menu > p { color: #aaa; }
@media (min-width: 1600px) { :root { --gutter: max(80px, calc((100vw - 1500px) / 2)); } }
@media (max-width: 760px) {
  :root { --header-height: 68px; }
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .wordmark { font-size: 22px; letter-spacing: .04em; }
  .section-pad { padding: 72px var(--gutter); }
  .section-label { margin-bottom: 38px; }
  .site-footer { flex-wrap: wrap; padding-block: 28px; }
  .site-footer > span { order: 3; width: 100%; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; } }
