@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');

:root { --ink:#f5f2ea; --muted:#aaa69c; --canvas:#090a08; --line:#2b2d28; --acid:#c5ff24; --paper:#f4f1e9; --paper-ink:#11120f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--canvas); color:var(--ink); font-family:Poppins,Arial,sans-serif; font-weight:300; }
a { color:inherit; }
.shell { width:min(100% - 48px, 1740px); margin:auto; }
.site-header { height:106px; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
.wordmark { text-decoration:none; font-size:24px; letter-spacing:-1.5px; font-weight:300; }
.wordmark strong { margin-left:8px; font-weight:600; letter-spacing:-1px; }
.nav { display:flex; gap:36px; font-size:14px; }
.nav a { text-decoration:none; color:var(--muted); }
.nav a:hover,.nav a[aria-current="page"] { color:var(--ink); }
.hero { min-height:760px; padding:100px 0 84px; display:grid; grid-template-columns:1.25fr .75fr; gap:80px; align-items:end; }
.hero h1 { margin:0; font-size:clamp(72px,10vw,176px); line-height:.82; letter-spacing:-.075em; font-weight:300; max-width:1100px; }
.hero-copy { padding-bottom:16px; }
.eyebrow { margin:0 0 28px; color:var(--acid); font-size:12px; letter-spacing:.2em; text-transform:uppercase; }
.hero-copy p:not(.eyebrow) { font-size:clamp(22px,2vw,34px); line-height:1.35; }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:40px; }
.button { min-height:64px; padding:0 24px; display:inline-flex; align-items:center; justify-content:space-between; gap:48px; border:1px solid var(--line); text-decoration:none; font-size:14px; }
.button.primary { background:var(--acid); color:#111; border-color:var(--acid); }
.arrow { position:relative; width:14px; height:14px; flex:0 0 14px; }
.arrow::before { content:""; position:absolute; left:1px; top:6px; width:11px; height:1px; background:currentColor; }
.arrow::after { content:""; position:absolute; right:1px; top:3px; width:6px; height:6px; border-top:1px solid currentColor; border-right:1px solid currentColor; transform:rotate(45deg); }
.statement { border-top:1px solid var(--line); padding:110px 0; display:grid; grid-template-columns:1fr 2fr; gap:60px; }
.statement h2 { margin:0; font-size:clamp(48px,6vw,106px); line-height:1; letter-spacing:-.055em; font-weight:300; }
.statement p { color:var(--muted); max-width:760px; font-size:20px; line-height:1.7; }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:120px; }
.gallery figure { margin:0; }
.gallery img { width:100%; aspect-ratio:1/1; object-fit:cover; display:block; background:var(--paper); }
.gallery figcaption { padding-top:18px; font-size:15px; }
.notice { border-top:1px solid var(--line); padding:90px 0; display:grid; grid-template-columns:1fr 2fr; gap:60px; }
.notice h2 { margin:0; font-weight:300; font-size:clamp(40px,5vw,80px); line-height:1; letter-spacing:-.05em; }
.notice p { color:var(--muted); font-size:17px; line-height:1.7; }
.site-footer { border-top:1px solid var(--line); padding:48px 0; display:grid; grid-template-columns:1fr auto; gap:30px; color:var(--muted); font-size:13px; }
.footer-links { display:flex; flex-wrap:wrap; gap:28px; }
.footer-links a { text-decoration:none; }
.legal-wrap { background:var(--paper); color:var(--paper-ink); min-height:100vh; }
.legal-wrap .site-header { border-color:#d3d0c7; }
.legal-wrap .nav a { color:var(--paper-ink); }
.legal-wrap .nav a:hover,.legal-wrap .nav a[aria-current="page"] { color:#111; }
.legal { width:min(100% - 48px, 980px); margin:auto; padding:100px 0 130px; }
.legal h1 { margin:0 0 24px; font-size:clamp(58px,8vw,112px); line-height:.95; letter-spacing:-.065em; font-weight:300; }
.legal .intro { max-width:760px; font-size:20px; line-height:1.6; }
.meta { color:var(--paper-ink); font-size:13px; margin-bottom:56px; }
.legal h2 { margin:58px 0 12px; font-size:25px; font-weight:500; }
.legal p,.legal li { font-size:16px; line-height:1.8; }
.legal li + li { margin-top:8px; }
.legal .button { margin-top:20px; background:#111; color:#fff; }
.legal-wrap .site-footer { border-color:#d3d0c7; color:var(--paper-ink); }
.legal-wrap .eyebrow { color:var(--paper-ink); }
@media (max-width:800px) {
  .shell { width:min(100% - 32px,1740px); }
  .site-header { height:84px; }
  .nav { gap:16px; font-size:12px; }
  .nav .hide-mobile { display:none; }
  .hero { min-height:auto; padding:80px 0; grid-template-columns:1fr; gap:60px; }
  .hero h1 { font-size:clamp(64px,21vw,110px); }
  .statement,.notice { grid-template-columns:1fr; }
  .gallery { grid-template-columns:1fr; }
  .site-footer { grid-template-columns:1fr; }
  .legal { padding-top:72px; }
}
