:root {
  --ink: #1b1d19;
  --paper: #f3f0e9;
  --paper-deep: #e7e1d5;
  --forest: #17251c;
  --forest-2: #0d1711;
  --moss: #566f48;
  --moss-light: #8da47f;
  --line: rgba(27,29,25,.16);
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Inter", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
  line-height: 1.6;
}
a { color: inherit; }
img { max-width: 100%; display: block; }
.wrap { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: absolute; left: -9999px; top: 0; }
.skip-link:focus { left: 16px; top: 16px; z-index: 999; background:#fff; padding:10px 14px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(246,244,239,.96);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { text-decoration: none; min-width: 310px; }
.brand-main { display:block; font: 600 27px/1 var(--serif); letter-spacing:.015em; }
.brand-sub { display:block; margin-top:7px; font-size:10px; text-transform:uppercase; letter-spacing:.27em; }
.site-nav { display:flex; align-items:center; gap:22px; }
.site-nav a { text-decoration:none; font-size:13px; font-weight:600; }
.site-nav a:hover { color: var(--moss); }
.menu-toggle { display:none; border:1px solid var(--line); background:transparent; padding:9px 12px; font:600 12px var(--sans); }

.hero {
  position: relative;
  min-height: 700px;
  display: flex;
  align-items: center;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(8,15,10,.88) 0%, rgba(8,15,10,.58) 46%, rgba(8,15,10,.16) 78%),
    url('assets/hero.jpg') center/cover no-repeat;
}
.hero-overlay { position:absolute; inset:0; background:linear-gradient(0deg, rgba(0,0,0,.34), transparent 48%); }
.hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0, 1.3fr) .45fr; gap:80px; align-items:center; }
.hero-copy { max-width:760px; }
.eyebrow { margin:0 0 18px; font-size:12px; font-weight:700; letter-spacing:.32em; text-transform:uppercase; }
.eyebrow.dark { color:#546252; }
h1,h2,h3 { font-family:var(--serif); margin:0; line-height:1.03; }
h1 { font-size:clamp(49px,6vw,82px); font-weight:600; letter-spacing:-.02em; }
h2 { font-size:clamp(38px,4vw,58px); font-weight:600; }
h3 { font-size:30px; font-weight:600; }
.hero-lede { max-width:660px; margin:28px 0 32px; font-family:var(--serif); font-size:22px; line-height:1.45; }
.button-row { display:flex; flex-wrap:wrap; gap:14px; }
.button { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; padding:14px 20px; text-transform:uppercase; letter-spacing:.08em; font-size:12px; font-weight:700; transition:.2s ease; }
.button-light { background:#f5f3ee; color:#1e231f; }
.button-light:hover { background:#fff; transform:translateY(-1px); }
.button-outline { border:1px solid rgba(255,255,255,.82); color:#fff; }
.button-outline:hover { background:rgba(255,255,255,.12); }
.button-dark { background:var(--forest); color:#fff; }
.hero-index { border-left:1px solid rgba(255,255,255,.6); padding-left:26px; display:flex; flex-direction:column; gap:20px; text-transform:uppercase; letter-spacing:.24em; font-size:11px; }

.principles { background:#f6f3ed; border-bottom:1px solid var(--line); }
.principles-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.principles article { padding:52px 30px; text-align:center; border-right:1px solid var(--line); }
.principles article:last-child { border-right:0; }
.principles .icon { font: 400 42px/1 var(--serif); margin-bottom:18px; color:#4b5149; }
.principles h2 { font:700 13px/1.2 var(--sans); letter-spacing:.2em; text-transform:uppercase; margin-bottom:16px; }
.principles p { margin:0; font-family:var(--serif); font-size:18px; line-height:1.35; }

.split-section { padding:92px 0; }
.split-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:start; }
.definition-card { border-left:3px solid var(--moss); padding:14px 0 14px 30px; font-family:var(--serif); font-size:24px; line-height:1.45; }
.definition-card p { margin-top:0; }
.definition-card .small { font-family:var(--sans); font-size:14px; color:#5a5d57; }

.research-section { color:#fff; padding:96px 0; background:linear-gradient(rgba(12,26,17,.90),rgba(12,26,17,.94)), url('assets/hero.jpg') center/cover; }
.research-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }
.research-copy p:not(.eyebrow) { max-width:720px; font-family:var(--serif); font-size:21px; }
.research-quote { border-left:1px solid rgba(255,255,255,.4); padding-left:34px; }
.research-quote p { margin:0; font:italic 32px/1.3 var(--serif); }

.projects { padding:92px 0 100px; background:#17251c; color:#fff; }
.section-heading-row { display:grid; grid-template-columns:1fr .9fr; gap:50px; align-items:end; margin-bottom:38px; }
.section-intro { margin:0; justify-self:end; max-width:470px; color:#d9ddd6; font-family:var(--serif); font-size:21px; }
.project-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.project-card { min-height:480px; display:flex; flex-direction:column; background:#2e332c; border:1px solid rgba(255,255,255,.18); overflow:hidden; }
.project-image { height:180px; background-size:cover; background-position:center; filter:saturate(.78) brightness(.8); }
.project-card.atlas .project-image { background-image:url('assets/hero.jpg'); }
.project-card.news .project-image { background-image:url('assets/hero.jpg'); }
.project-card.daystalkers .project-image { background-image:url('assets/hero.jpg'); }
.project-card.books .project-image { background-image:url('assets/hero.jpg'); }
.project-body { padding:26px; display:flex; flex-direction:column; flex:1; }
.project-body p { color:#e5e3dc; font-family:var(--serif); font-size:18px; line-height:1.45; }
.project-body a { margin-top:auto; text-transform:uppercase; letter-spacing:.16em; font-size:11px; font-weight:700; text-decoration:none; }
.status { align-self:flex-start; margin-bottom:12px; padding:5px 9px; background:#5e543e; text-transform:uppercase; letter-spacing:.14em; font-size:10px; }

.findings { padding:90px 0; background:#e6dece; }
.findings-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; align-items:center; }
.findings-copy p { font-family:var(--serif); font-size:20px; max-width:560px; }
.archive-panel { min-height:380px; position:relative; border:1px solid rgba(67,57,40,.18); background:linear-gradient(rgba(239,226,199,.62), rgba(239,226,199,.72)), url('assets/hero.jpg') center/cover; overflow:hidden; }
.paper { position:absolute; width:180px; height:240px; background:#cfc0a3; border:1px solid rgba(0,0,0,.12); box-shadow:0 10px 22px rgba(0,0,0,.12); }
.paper-one { left:8%; top:16%; transform:rotate(-7deg); }
.paper-two { left:34%; top:10%; transform:rotate(4deg); background:#ded3bf; }
.paper-three { left:55%; top:22%; transform:rotate(-2deg); background:#b8a98f; }
.archive-panel blockquote { position:absolute; right:7%; bottom:9%; width:230px; margin:0; font:italic 29px/1.2 var(--serif); }

.support { color:#fff; background:linear-gradient(rgba(5,12,8,.90),rgba(5,12,8,.93)), url('assets/hero.jpg') center/cover; padding:72px 0; }
.support-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
.support p:not(.eyebrow) { font-family:var(--serif); font-size:20px; max-width:760px; }
.support-action { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.support-button { background:#5f8751; color:white; width:100%; max-width:360px; }
.support-button:hover { background:#6c995c; }
.support-action span { font-size:11px; opacity:.72; }

.site-footer { background:#101610; color:#e9eee8; padding:34px 0; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:30px; align-items:center; }
.footer-brand { font:600 24px/1 var(--serif); }
.site-footer p { margin:8px 0 0; font-size:12px; opacity:.75; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a { text-decoration:none; font-size:12px; }
.footer-note { text-align:right; font-family:var(--serif); font-style:italic; }

@media (max-width: 980px) {
  .site-nav { display:none; position:absolute; left:0; right:0; top:82px; padding:22px 20px 28px; background:#f4f2ed; border-top:1px solid var(--line); flex-direction:column; align-items:flex-start; }
  .site-nav.open { display:flex; }
  .menu-toggle { display:block; }
  .hero { min-height:760px; }
  .hero-inner, .research-grid, .support-grid, .findings-grid, .split-grid { grid-template-columns:1fr; }
  .hero-index { display:none; }
  .principles-grid { grid-template-columns:repeat(2,1fr); }
  .principles article:nth-child(2) { border-right:0; }
  .principles article:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .project-grid { grid-template-columns:repeat(2,1fr); }
  .section-heading-row, .footer-grid { grid-template-columns:1fr; }
  .section-intro { justify-self:start; }
  .footer-note { text-align:left; }
}

@media (max-width: 640px) {
  .wrap { width:min(100% - 28px,1180px); }
  .header-inner { min-height:70px; }
  .brand { min-width:0; }
  .brand-main { font-size:22px; }
  .brand-sub { font-size:8px; letter-spacing:.16em; }
  .site-nav { top:70px; }
  .hero { min-height:720px; background-position:62% center; }
  h1 { font-size:48px; }
  .hero-lede { font-size:19px; }
  .button-row { flex-direction:column; align-items:stretch; }
  .principles-grid, .project-grid { grid-template-columns:1fr; }
  .principles article { border-right:0; border-bottom:1px solid var(--line); }
  .principles article:last-child { border-bottom:0; }
  .split-section, .research-section, .projects, .findings { padding:68px 0; }
  .archive-panel { min-height:320px; }
  .archive-panel blockquote { width:190px; font-size:24px; }
  .support { padding:58px 0; }
}
