@font-face {
  font-family:"DM Sans";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/dm-sans-latin.woff2") format("woff2");
}

@font-face {
  font-family:"Space Grotesk";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/space-grotesk-latin.woff2") format("woff2");
}

:root {
  --gold:#c99400;
  --gold-bright:#e0aa08;
  --ink:#090909;
  --paper:#f6f4ef;
  --muted:#aaa8a0;
  --header-height:96px;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--ink); }
body { margin:0; height:100dvh; overflow:hidden; background:var(--ink); color:var(--paper); font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif; }
a:focus-visible { outline:2px solid var(--gold-bright); outline-offset:5px; }

.site-header {
  position:fixed;
  z-index:20;
  top:0;
  left:0;
  width:100%;
  height:var(--header-height);
  padding:22px clamp(22px,5vw,76px);
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  pointer-events:none;
  mix-blend-mode:difference;
}
.site-header a { pointer-events:auto; }
.brand { color:white; display:flex; align-items:center; gap:12px; text-decoration:none; font:700 15px/1 "Space Grotesk",ui-sans-serif,sans-serif; letter-spacing:.17em; }
.brand img { width:39px; height:39px; object-fit:contain; }
.brand b { color:var(--gold-bright); font-weight:700; }
.header-links { justify-self:end; display:flex; align-items:center; gap:24px; }
.header-link { color:white; text-decoration:none; font-size:14px; }
.header-link span { color:var(--gold-bright); margin-left:8px; }

.panel-nav { display:flex; align-items:center; gap:18px; }
.panel-nav a { position:relative; width:34px; padding:10px 0; color:#aaa; text-decoration:none; font:600 11px/1 "Space Grotesk",ui-sans-serif,sans-serif; text-align:center; transition:color .25s; }
.panel-nav a::after { content:""; position:absolute; left:0; bottom:3px; width:100%; height:1px; background:currentColor; transform:scaleX(.35); transition:transform .25s; }
.panel-nav a:hover,.panel-nav a[aria-current="page"] { color:white; }
.panel-nav a[aria-current="page"]::after { color:var(--gold-bright); transform:scaleX(1); }

.horizontal-scroll {
  width:100%;
  height:100dvh;
  display:flex;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior:contain;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  touch-action:pan-x;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.horizontal-scroll::-webkit-scrollbar { display:none; }

.panel { position:relative; flex:0 0 100vw; width:100vw; height:100dvh; overflow:hidden; scroll-snap-align:start; scroll-snap-stop:always; }
.panel-inner { width:min(100%,1392px); height:100%; margin:auto; padding:calc(var(--header-height) + 24px) clamp(28px,7vw,112px) clamp(42px,7vh,82px); }
.eyebrow { color:var(--gold-bright); font:600 12px/1 "Space Grotesk",ui-sans-serif,sans-serif; letter-spacing:.2em; text-transform:uppercase; }
h1,h2 { font-family:"Space Grotesk",ui-sans-serif,system-ui,sans-serif; letter-spacing:-.055em; margin:22px 0; }
h1 { font-size:clamp(48px,5.3vw,76px); line-height:.99; font-weight:500; }
h1 em { color:var(--gold-bright); font-style:normal; }
.lead { max-width:480px; color:var(--muted); font-size:clamp(16px,1.35vw,18px); line-height:1.6; }
.button { display:inline-flex; gap:30px; align-items:center; margin-top:24px; padding:16px 20px; background:var(--gold-bright); color:var(--ink); text-decoration:none; font-weight:700; font-size:14px; transition:transform .2s,background .2s; }
.button:hover { transform:translateY(-3px); background:#f1c52d; }
.button span { font-size:20px; }

.hero { background:var(--ink); }
.hero-inner { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); align-items:center; gap:clamp(24px,5vw,72px); }
.hero-copy { min-width:0; }
.hero-mark { display:flex; align-items:center; justify-content:center; }
.hero-mark img { width:min(100%,430px); height:auto; }
.scroll-cue { position:absolute; z-index:2; right:clamp(28px,5vw,76px); bottom:34px; display:flex; align-items:center; gap:16px; margin:0; color:#aaa8a0; font:500 11px/1 "Space Grotesk",ui-sans-serif,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.scroll-cue i { color:var(--gold-bright); font:normal 24px/1 sans-serif; animation:nudge 1.8s ease-in-out infinite; }

.manifesto { background:var(--paper); color:var(--ink); }
.manifesto::before { content:"02"; position:absolute; right:5vw; bottom:-.12em; color:rgba(9,9,9,.035); font:600 min(35vw,490px)/.8 "Space Grotesk",ui-sans-serif,sans-serif; letter-spacing:-.12em; }
.manifesto-inner { display:flex; flex-direction:column; justify-content:center; }
.manifesto .eyebrow { color:var(--gold); }
.manifesto-grid { display:grid; grid-template-columns:1fr 1fr; gap:10vw; align-items:end; }
.manifesto h2,.contact-card h2 { font-size:clamp(44px,5vw,72px); line-height:.98; font-weight:500; }
.manifesto-grid p { color:#686760; font-size:clamp(17px,1.5vw,20px); line-height:1.65; max-width:460px; }

.contact-card { background:var(--ink); }
.contact-card::before { content:""; position:absolute; width:46vw; height:46vw; max-width:680px; max-height:680px; right:-10vw; top:50%; border:1px solid rgba(224,170,8,.14); transform:translateY(-50%) rotate(45deg); }
.contact-inner { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:50px; padding-bottom:110px; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:14px; flex-shrink:0; }
.button-dark { flex-shrink:0; background:var(--paper); color:var(--ink); white-space:nowrap; }
.button-dark:hover { background:white; }
footer { position:absolute; z-index:2; left:clamp(28px,7vw,112px); right:clamp(28px,7vw,112px); bottom:0; border-top:1px solid #292929; padding:24px 0 28px; display:flex; justify-content:space-between; color:#aaa8a0; font-size:12px; letter-spacing:.04em; }

.scroll-progress { position:fixed; z-index:30; left:0; bottom:0; width:100%; height:3px; background:rgba(255,255,255,.06); pointer-events:none; }
.scroll-progress span { display:block; width:100%; height:100%; background:var(--gold-bright); transform:scaleX(0); transform-origin:left; will-change:transform; }

@keyframes nudge { 0%,100% { transform:translateX(0); } 50% { transform:translateX(7px); } }

@media (max-width:760px) {
  :root { --header-height:78px; }
  .site-header { padding:16px 20px; grid-template-columns:1fr auto; }
  .brand { font-size:12px; gap:8px; }
  .brand img { width:32px; height:32px; }
  .header-link { font-size:12px; }
  .panel-nav { position:fixed; left:50%; bottom:18px; z-index:25; gap:12px; padding:2px 10px; background:rgba(9,9,9,.78); backdrop-filter:blur(8px); transform:translateX(-50%); transition:bottom .25s ease; }
  .panel-nav[data-active-panel="3"] { bottom:96px; }
  .panel-nav a { width:28px; }
  .horizontal-scroll { touch-action:pan-x; }
  .panel { flex-basis:100dvw; width:100dvw; }
  .panel-inner { padding:calc(var(--header-height) + 12px) 24px 58px; }
  .hero-inner { display:block; }
  .hero-copy { position:relative; z-index:2; }
  h1 { font-size:clamp(39px,12vw,57px); margin:15px 0; }
  .lead { max-width:90%; font-size:16px; line-height:1.45; }
  .button { margin-top:12px; padding:13px 16px; }
  .hero-mark { position:absolute; right:20px; bottom:76px; opacity:.17; }
  .hero-mark img { width:165px; }
  .scroll-cue { display:none; }
  .manifesto-inner { justify-content:center; }
  .manifesto-grid { display:block; }
  .manifesto h2,.contact-card h2 { font-size:clamp(42px,12vw,60px); margin:18px 0; }
  .manifesto-grid p { max-width:92%; font-size:17px; line-height:1.55; }
  .contact-inner { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:5px; padding-bottom:115px; }
  .button-dark { white-space:normal; overflow-wrap:anywhere; }
  footer { left:24px; right:24px; padding:16px 0 35px; flex-direction:column; gap:8px; }
}

@media (max-height:680px) {
  :root { --header-height:72px; }
  .site-header { padding-top:14px; padding-bottom:14px; }
  .panel-inner { padding-top:calc(var(--header-height) + 8px); padding-bottom:36px; }
  h1 { font-size:clamp(32px,min(10vw,8.8vh),62px); margin:12px 0; }
  .lead { line-height:1.4; }
  .button { margin-top:8px; padding-top:12px; padding-bottom:12px; }
  .manifesto h2,.contact-card h2 { font-size:clamp(38px,min(10vw,9vh),60px); margin:14px 0; }
  .contact-inner { padding-bottom:88px; }
  footer { padding-top:14px; padding-bottom:18px; }
}

@media (max-height:520px) and (orientation:landscape) {
  .panel-inner { padding-top:76px; }
  .hero-inner { display:grid; grid-template-columns:1.25fr .75fr; }
  .hero-mark { position:static; opacity:1; }
  .manifesto-grid { display:grid; grid-template-columns:1fr 1fr; }
  .contact-inner { flex-direction:row; justify-content:space-between; align-items:center; }
  .panel-nav { bottom:10px; }
  .panel-nav[data-active-panel="3"] { bottom:10px; }
}

@media (prefers-reduced-motion:reduce) {
  html,.horizontal-scroll { scroll-behavior:auto; }
  .scroll-cue i { animation:none; }
  .button,.panel-nav a,.panel-nav a::after { transition:none; }
}
