@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

:root{
  --olive-black:rgb(0,0,0);
  --olive-white:rgb(255,255,255);
  --olive-cream:rgb(248,237,222);
  --olive-sage:rgb(150,159,125);
  --olive-clay:rgb(211,200,186);
  --olive-ink:rgb(37,37,37);
  --olive-navy:rgb(27,35,75);
  --olive-oxblood:rgb(79,18,18);
  --olive-blush:rgb(238,166,166);
  --olive-fog:rgb(241,241,241);
  --olive-rule:rgb(233,233,233);

  --font-display:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --font-body:Nunito,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;

  --page-max:1500px;
}

*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{
  background:var(--olive-white);
  color:var(--olive-black);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:underline;text-underline-offset:2px}
a:hover{opacity:.6}
img{max-width:100%;display:block}

.page{max-width:1280px;margin:0 auto;padding:22px 10px 20px}

/* ---------- Nav ---------- */
.nav{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;flex-wrap:wrap;gap:12px;
}
.nav a{
  font-family:var(--font-body);font-weight:600;font-size:22px;
  text-transform:uppercase;letter-spacing:-0.02em;text-decoration:none;
  white-space:nowrap;
}

/* ---------- Header / wordmark ---------- */
.page-header{
  display:flex;flex-direction:column;gap:24px;align-items:center;
  max-width:var(--page-max);margin:0 auto;padding:20px 0;
}
.wordmark{
  font-family:var(--font-display);font-weight:800;
  font-size:clamp(64px, 14vw, 182px);
  line-height:1;letter-spacing:-0.02em;text-transform:uppercase;
  text-align:center;width:100%;
}
.header-meta{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;width:100%;flex-wrap:wrap;gap:8px;
}
.header-meta .tagline{font-style:italic;font-size:14px}
.header-meta a{font-weight:600;font-size:14px}

/* ---------- Fact row ---------- */
.fact-row{
  display:flex;gap:10px;padding:20px 10px;flex-wrap:wrap;
}
.fact{
  flex:1 1 200px;display:flex;flex-direction:column;gap:14px;
  align-items:center;justify-content:center;text-align:center;padding:20px 10px;
}
.fact .label{font-weight:600;font-size:14px}
.fact .value{
  font-family:var(--font-display);font-weight:800;font-size:clamp(20px,4vw,36px);
  text-transform:uppercase;letter-spacing:-0.02em;
}

/* ---------- Tile grid ---------- */
.tile-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
  gap:10px;padding:10px;
}
.tile{
  height:320px;overflow:hidden;display:flex;flex-direction:column;
  justify-content:space-between;padding:21px 13px;text-decoration:none;
  position:relative;
}
.tile.color{align-items:center;justify-content:center}
.tile .tile-label{
  font-family:var(--font-display);font-weight:800;font-size:28px;
  text-transform:uppercase;text-align:center;letter-spacing:-0.02em;
}
.tile .tile-meta{
  display:flex;justify-content:center;gap:16px;font-size:14px;font-weight:600;
}
.tile .tile-meta .dim{opacity:.6;font-weight:500}
.tile .tile-arrow{align-self:flex-end;font-size:28px;line-height:1}
.tile-photo{background-size:cover;background-position:center}
.tile-object{
  display:flex;flex-direction:column;align-items:center;justify-content:space-between;
}
.tile-object .art{flex:1;align-self:stretch;background-size:contain;background-position:center;background-repeat:no-repeat}
.tile-object.cover .art{background-size:cover}

/* ---------- Statement ---------- */
.statement{
  font-family:var(--font-body);font-weight:400;
  font-size:clamp(24px, 4.5vw, 60px);line-height:1.2;letter-spacing:-0.01em;
  text-align:center;max-width:var(--page-max);margin:60px auto;padding:0 20px;
}

/* ---------- Newsletter + footer ---------- */
.bottom-block{
  display:flex;flex-direction:column;gap:30px;align-items:center;
  max-width:var(--page-max);margin:0 auto;padding:50px 20px;
}
.newsletter{
  display:flex;align-items:center;justify-content:center;gap:16px;
  width:100%;border:1px solid var(--olive-black);padding:24px;
  text-decoration:none;font-weight:700;font-size:clamp(16px,3vw,26px);
  text-transform:uppercase;letter-spacing:-0.01em;
}
.cta-photo{
  width:100%;height:260px;background-size:cover;background-position:center;
}
.site-footer{
  display:flex;flex-direction:column;align-items:center;gap:40px;
  width:100%;text-align:center;
}
.site-footer .kicker{font-weight:600;font-size:18px;text-transform:uppercase}
.site-footer .foot-wordmark{
  font-family:var(--font-display);font-weight:800;font-size:clamp(48px,10vw,112px);
  text-transform:uppercase;letter-spacing:-0.02em;
}
.foot-legal{
  display:flex;justify-content:space-between;width:100%;flex-wrap:wrap;gap:8px;
  font-weight:600;font-size:14px;text-transform:uppercase;
}

/* ---------- About overlay ---------- */
.overlay{
  position:fixed;inset:0;z-index:50;overflow-y:auto;
  background:var(--olive-black);color:var(--olive-white);
  display:none;flex-direction:column;align-items:center;gap:60px;
  padding:40px 20px 100px;
}
.overlay.open{display:flex}
.overlay-close{
  align-self:flex-end;background:none;border:none;color:var(--olive-white);
  font-size:32px;line-height:1;cursor:pointer;padding:10px;
}
.overlay-body{
  display:flex;flex-direction:column;gap:50px;max-width:900px;
}
.overlay-body p{
  font-family:var(--font-body);font-weight:400;
  font-size:clamp(20px,4vw,42px);line-height:1.3;letter-spacing:-0.01em;
  margin:0;text-align:center;
}

@media (max-width:600px){
  .tile-grid{grid-template-columns:1fr}
  .nav{padding:0 10px}
  .fact-row{flex-direction:column}
}
