:root {
  --ink: #11110f;
  --paper: #f1eee5;
  --muted: #77736a;
  --line: rgba(17,17,15,.18);
  --accent: #d85b3d;
  --lime: #c7d86a;
  --serif: Georgia, "Times New Roman", serif;
  --sans: Arial, Helvetica, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.site-header { height:88px; width:min(1280px, calc(100% - 48px)); margin:auto; display:flex; align-items:center; justify-content:space-between; }
.wordmark { display:flex; align-items:center; gap:7px; font-size:17px; font-weight:800; letter-spacing:-.04em; }
.wordmark i { width:9px; height:9px; border-radius:50%; background:var(--accent); display:block; }
nav { display:flex; gap:28px; font-size:12px; text-transform:uppercase; letter-spacing:.13em; }
nav a { opacity:.52; }
nav a:hover, nav a.active { opacity:1; }
.hero { min-height:620px; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:40px; }
.eyebrow { margin:0 0 24px; font-size:10px; line-height:1.3; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); }
h1,h2,p { margin-top:0; }
h1 { font-size:clamp(58px, 8vw, 112px); line-height:.88; letter-spacing:-.07em; margin-bottom:35px; font-weight:800; }
h1 em,h2 em { font-family:var(--serif); font-weight:400; letter-spacing:-.06em; }
.lede { max-width:520px; font-size:18px; line-height:1.5; color:#48453f; }
.button { display:inline-flex; align-items:center; gap:28px; background:var(--ink); color:var(--paper); padding:16px 19px; margin-top:25px; font-size:11px; text-transform:uppercase; letter-spacing:.11em; }
.button span { font-size:18px; line-height:0; }
.hero-mark { height:410px; position:relative; display:grid; place-items:center; }
.orbit { position:absolute; border:1px solid var(--ink); border-radius:50%; transform:rotate(-25deg); }
.orbit-a { width:300px; height:410px; }
.orbit-b { width:410px; height:300px; transform:rotate(35deg); border-color:var(--accent); }
.north-star { width:138px; height:138px; border-radius:50%; background:var(--ink); color:var(--paper); display:grid; place-items:center; font-size:65px; font-family:var(--serif); position:relative; z-index:2; }
.ticker { overflow:hidden; display:flex; border-block:1px solid var(--line); white-space:nowrap; }
.ticker div { flex:1; min-width:170px; padding:19px 24px; border-right:1px solid var(--line); font-size:10px; text-transform:uppercase; letter-spacing:.16em; text-align:center; }
.intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; padding-block:150px; }
.intro h2 { font-size:clamp(40px,5vw,68px); line-height:.95; letter-spacing:-.065em; }
.intro-text { max-width:480px; padding-top:45px; }
.intro-text p,.manifesto p,.contact-card p { font-size:18px; line-height:1.55; color:#4d4a43; }
.text-link { display:inline-flex; gap:20px; align-items:center; margin-top:18px; font-size:11px; text-transform:uppercase; letter-spacing:.12em; border-bottom:1px solid var(--ink); padding-bottom:7px; }
.text-link span { font-size:17px; }
.feature { display:grid; grid-template-columns:3fr 1fr; gap:1px; margin-bottom:120px; }
.feature-card { min-height:440px; background:var(--ink); color:var(--paper); padding:34px; display:flex; flex-direction:column; justify-content:space-between; }
.feature-card .eyebrow { color:#aaa69c; }
.feature-card h2 { font-size:clamp(44px,6vw,82px); letter-spacing:-.06em; margin:0 0 14px; }
.feature-card p { max-width:460px; color:#b9b5ac; line-height:1.5; }
.card-index { font-size:10px; letter-spacing:.12em; color:#aaa69c; }
.feature-card > a { font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.feature-note { padding:35px; border:1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.feature-note span { font-size:10px; color:var(--muted); }
.feature-note p { font-family:var(--serif); font-size:28px; line-height:1.05; }
.site-footer { border-top:1px solid var(--line); padding-block:24px; margin-top:40px; display:flex; justify-content:space-between; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.page-head { padding-block:105px 90px; }
.page-head h1 { max-width:850px; }
.projects { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-bottom:100px; }
.project { position:relative; min-height:520px; padding:25px; overflow:hidden; }
.project-dark { background:#171714; color:var(--paper); }
.project-paper { background:#d7d0bf; }
.project-red { background:var(--accent); }
.project-grid { background:#c9c8bd; }
.project-number { position:relative; z-index:3; font-size:10px; letter-spacing:.14em; }
.project-art { position:absolute; inset:55px 25px 72px; display:grid; place-items:center; overflow:hidden; }
.project-art span { position:relative; z-index:2; }
.fjord-art { background:linear-gradient(145deg, #28312d, #11110f); color:var(--paper); }
.fjord-art:before,.fjord-art:after { content:""; position:absolute; width:120%; height:55%; border:1px solid #78827b; transform:rotate(-24deg); }
.fjord-art:after { transform:rotate(26deg); opacity:.45; }
.fjord-art span { font-family:var(--serif); font-size:100px; letter-spacing:-.1em; }
.atlas-art { background:#b9b09d; }
.atlas-art:before { content:""; width:220px; height:220px; border:1px solid var(--ink); border-radius:50%; box-shadow:35px -25px 0 -34px var(--ink), -50px 40px 0 -34px var(--ink); }
.atlas-art span { font-size:22px; letter-spacing:.45em; }
.field-art { background:#b6422c; color:#f4d6a7; }
.field-art:before { content:""; position:absolute; width:80%; height:80%; border:1px solid currentColor; transform:rotate(9deg); }
.field-art span { font-family:var(--serif); font-size:68px; line-height:.8; text-align:center; letter-spacing:-.06em; }
.mono-art { background:repeating-linear-gradient(45deg, transparent 0 12px, rgba(17,17,15,.18) 13px 14px); }
.mono-art span { font-size:230px; font-family:var(--serif); }
.project-meta { position:absolute; bottom:25px; left:25px; right:25px; display:flex; justify-content:space-between; border-top:1px solid currentColor; padding-top:12px; font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.studio-head { padding-bottom:50px; }
.manifesto { border-top:1px solid var(--line); padding-block:80px; display:grid; grid-template-columns:1fr 2fr; gap:60px; }
.manifesto-label { font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--muted); }
.statement { font-family:var(--serif); font-size:clamp(32px,4vw,57px) !important; line-height:1; letter-spacing:-.05em; color:var(--ink) !important; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; padding-bottom:100px; }
.principles article { border-top:1px solid var(--ink); padding-top:18px; }
.principles span { font-size:10px; color:var(--muted); }
.principles h2 { font-size:28px; letter-spacing:-.04em; margin:65px 0 12px; }
.principles p { color:#57534c; line-height:1.5; }
.contact-hero { padding-block:105px 80px; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); padding-bottom:90px; }
.contact-card { min-height:230px; padding:30px 25px; border-bottom:1px solid var(--line); }
.contact-card:nth-child(odd) { border-right:1px solid var(--line); }
.big-link { font-family:var(--serif); font-size:clamp(28px,4vw,52px); letter-spacing:-.05em; border-bottom:1px solid var(--ink); }
.contact-cta { background:var(--lime); }
.error-page { background:var(--ink); color:var(--paper); min-height:100vh; }
.error-shell { width:min(900px,calc(100% - 48px)); min-height:100vh; margin:auto; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.error-shell .eyebrow { color:#9b978e; }
.error-shell h1 { margin-bottom:20px; }
.error-shell > p:not(.eyebrow) { max-width:430px; color:#bcb8ae; line-height:1.5; }
.error-shell .button { background:var(--paper); color:var(--ink); }
.error-symbol { position:absolute; top:34px; right:5%; font-size:12px; letter-spacing:.14em; }
.error-symbol span { color:var(--accent); }
@media (max-width:800px) {
  .site-header { height:75px; }
  nav { gap:13px; font-size:9px; }
  .hero,.intro,.feature,.manifesto { grid-template-columns:1fr; }
  .hero { padding-block:70px; min-height:auto; }
  .hero-mark { height:300px; order:-1; }
  .orbit-a { width:220px; height:300px; }
  .orbit-b { width:300px; height:220px; }
  .north-star { width:100px; height:100px; font-size:48px; }
  .intro { padding-block:90px; gap:10px; }
  .intro-text { padding-top:0; }
  .feature { margin-bottom:70px; }
  .feature-note { min-height:160px; }
  .projects,.principles,.contact-grid { grid-template-columns:1fr; }
  .project { min-height:430px; }
  .contact-card:nth-child(odd) { border-right:0; }
  .site-footer { flex-direction:column; gap:9px; }
  .page-head,.contact-hero { padding-block:75px 60px; }
}
@media (max-width:520px) {
  .shell,.site-header { width:min(100% - 30px,1180px); }
  nav a:nth-child(1) { display:none; }
  h1 { font-size:58px; }
  .ticker div { min-width:130px; padding-inline:10px; }
  .project { min-height:360px; }
  .project-art { inset:55px 18px 72px; }
  .project-meta { left:18px; right:18px; }
}
