:root {
  --ink:#0a0b0b;
  --paper:#f5f5f1;
  --white:#fff;
  --muted:#696b67;
  --line:rgba(10,11,11,.15);
  --acid:#dfff00;
  --green:#174f38;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:var(--ink);
  background:var(--paper);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  -webkit-font-smoothing:antialiased;
}
img { display:block; width:100%; height:auto; }
a { color:inherit; }
p { margin:0 0 1rem; line-height:1.65; }
.shell { width:min(1180px,calc(100% - 44px)); margin:0 auto; }
.nav {
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:84px;
  border-bottom:1px solid var(--line);
}
.brand { font-weight:900; letter-spacing:-.04em; text-decoration:none; }
.nav-actions { display:flex; gap:10px; align-items:center; }
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border:1px solid var(--ink);
  border-radius:999px;
  font-size:.86rem;
  font-weight:820;
  text-decoration:none;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.button:hover { transform:translateY(-2px); }
.button-dark { color:var(--white); background:var(--ink); }
.eyebrow { font-size:.76rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.hero { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:center; padding:78px 0 90px; }
.hero h1 { margin:18px 0 26px; font-size:clamp(4.2rem,10vw,9.2rem); line-height:.82; letter-spacing:-.075em; }
.hero-copy { max-width:650px; color:#3f413e; font-size:clamp(1.08rem,1.6vw,1.35rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:32px; }
.hero-visual { min-height:580px; border-radius:26px; overflow:hidden; background:#ddd; }
.hero-visual img { width:100%; height:100%; object-fit:cover; }
.hero-visual.contain {
  min-height:0;
  padding:0;
  border-radius:0;
  background:transparent;
}
.hero-visual.contain img {
  height:auto;
  object-fit:initial;
}
.facts { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.fact { padding:25px 20px; border-right:1px solid var(--line); }
.fact:last-child { border-right:0; }
.fact span { display:block; margin-bottom:10px; color:var(--muted); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.fact strong { font-size:.98rem; }
section { padding:100px 0; }
.section-head { display:grid; grid-template-columns:.34fr 1fr; gap:50px; align-items:start; margin-bottom:54px; }
.section-head h2 { max-width:820px; margin:0; font-size:clamp(2.25rem,5vw,5rem); line-height:.98; letter-spacing:-.055em; }
.lead-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; }
.lead-grid .large { font-size:clamp(1.6rem,3vw,3rem); line-height:1.15; letter-spacing:-.04em; font-weight:780; }
.lead-grid .copy { color:#3f413e; font-size:1.04rem; }
.dark { color:var(--white); background:var(--ink); }
.dark .eyebrow { color:var(--acid); }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border:1px solid rgba(255,255,255,.18); background:rgba(255,255,255,.18); }
.step { min-height:270px; padding:30px; background:var(--ink); }
.step span { color:var(--acid); font-size:.76rem; font-weight:850; }
.step h3 { margin:65px 0 12px; font-size:1.45rem; letter-spacing:-.03em; }
.step p { margin:0; color:#b9bbb5; }
.outcomes { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.outcome { min-height:220px; padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.outcome strong { display:block; margin-bottom:60px; font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; }
.outcome p { margin:0; font-size:1.05rem; }
.gallery { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.gallery figure { margin:0; overflow:hidden; border-radius:20px; background:#e5e5df; }
.gallery img { width:100%; height:100%; object-fit:cover; }
.gallery .wide { grid-column:span 8; min-height:520px; }
.gallery .tall { grid-column:span 4; min-height:520px; }
.gallery .half { grid-column:span 6; min-height:500px; }
.gallery .full { grid-column:1/-1; }
.gallery .contain {
  min-height:0;
  padding:0;
  align-self:start;
  border-radius:0;
  background:transparent;
}
.gallery .contain img {
  height:auto;
  object-fit:initial;
}
.caption { margin-top:14px; color:var(--muted); font-size:.82rem; }
.closing { background:var(--acid); }
.closing-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:end; }
.closing h2 { margin:0; font-size:clamp(2.8rem,7vw,7rem); line-height:.88; letter-spacing:-.065em; }
.closing p { font-size:1.05rem; }
footer { display:flex; justify-content:space-between; gap:20px; padding:26px 0 38px; font-size:.8rem; font-weight:700; }
@media (max-width:850px) {
  .shell { width:min(100% - 28px,700px); }
  .hero { grid-template-columns:1fr; gap:38px; padding:48px 0 70px; }
  .hero-visual { min-height:500px; }
  .facts { grid-template-columns:1fr 1fr; }
  .fact:nth-child(2) { border-right:0; }
  .fact:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  section { padding:75px 0; }
  .section-head,.lead-grid,.closing-grid { grid-template-columns:1fr; gap:28px; }
  .steps,.outcomes { grid-template-columns:1fr; }
  .step { min-height:220px; }
  .step h3 { margin-top:40px; }
  .gallery .wide,.gallery .tall,.gallery .half { grid-column:1/-1; min-height:0; }
  .gallery figure { max-height:none; }
  .gallery img { height:auto; }
}
@media (max-width:520px) {
  .nav { min-height:70px; }
  .nav-actions .button:first-child { display:none; }
  .button { min-height:44px; padding:0 15px; }
  .hero h1 { font-size:clamp(4rem,21vw,6.2rem); }
  .hero-visual { min-height:420px; }
  .facts { grid-template-columns:1fr; }
  .fact { border-right:0; border-bottom:1px solid var(--line); }
  .fact:last-child { border-bottom:0; }
  footer { flex-direction:column; }
}
