:root {
  --ink: #18211d;
  --muted: #66716b;
  --paper: #f5f3ed;
  --white: #fff;
  --accent: #e46f45;
  --accent-dark: #bd4e2e;
  --green: #314f43;
  --line: rgba(24,33,29,.14);
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; line-height:1.55; }
h1,h2,h3 { font-family:"Plus Jakarta Sans",sans-serif; line-height:1.04; margin:0; letter-spacing:-.035em; }
h1 { font-size:clamp(3.5rem,8vw,7.8rem); color:white; font-weight:800; }
h2 { font-size:clamp(2.7rem,5.5vw,5.4rem); }
h2 span { color:var(--accent); }
h3 { font-size:1.65rem; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; height:100%; object-fit:cover; }
.site-header { position:absolute; z-index:5; top:0; left:0; right:0; max-width:1400px; margin:auto; padding:25px 5vw; display:flex; align-items:center; justify-content:space-between; color:white; }
.brand { display:flex; gap:12px; align-items:center; font-size:.72rem; line-height:1.15; letter-spacing:.03em; }
.brand strong { font-size:.86rem; }
.brand-mark { width:40px; height:40px; border:1.5px solid currentColor; border-radius:50%; display:grid; place-items:center; font-family:"Plus Jakarta Sans"; font-weight:800; font-size:1rem; }
.nav { display:flex; gap:32px; font-size:.86rem; font-weight:600; }
.nav a { opacity:.9; }
.nav a:hover { opacity:1; }
.button { display:inline-flex; align-items:center; justify-content:center; padding:15px 24px; border-radius:100px; background:var(--accent); color:white; font-weight:700; transition:.2s ease; }
.button:hover { transform:translateY(-2px); background:var(--accent-dark); }
.button-small { padding:11px 18px; font-size:.82rem; }
.button-light { background:white; color:var(--ink); }
.button-light:hover { background:#eee; }
.button-dark { background:var(--ink); }
.hero { height:100svh; min-height:680px; position:relative; overflow:hidden; display:flex; align-items:flex-end; }
.hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; background:#29362f; }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.14) 70%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%); }
.hero-content { position:relative; z-index:1; max-width:var(--max); width:100%; margin:0 auto; padding:0 5vw 10vh; }
.eyebrow { margin:0 0 17px; text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700; color:var(--accent); }
.hero .eyebrow { color:#fff; opacity:.8; }
.hero h1 em { color:#f2a47d; font-style:normal; }
.hero-text { color:white; max-width:570px; font-size:clamp(1.05rem,1.8vw,1.35rem); margin:28px 0 30px; }
.hero-actions { display:flex; align-items:center; gap:28px; }
.text-link { font-weight:700; border-bottom:1px solid currentColor; padding-bottom:3px; }
.text-link.light { color:white; }
.scroll-hint { position:absolute; right:5vw; bottom:8vh; color:white; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; writing-mode:vertical-rl; display:flex; gap:10px; }
.section { max-width:var(--max); margin:auto; padding:140px 5vw; }
.intro { display:grid; grid-template-columns:120px 1fr; gap:30px; }
.intro-number { color:var(--accent); font-size:.75rem; font-weight:700; padding-top:12px; }
.intro h2 { max-width:950px; }
.intro h2 span { color:var(--green); }
.lead { color:var(--muted); font-size:1.12rem; max-width:690px; }
.intro .lead { margin-top:32px; }
.section-heading { display:flex; justify-content:space-between; gap:40px; align-items:flex-end; margin-bottom:65px; }
.section-note { max-width:290px; color:var(--muted); margin:0; }
.project-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:18px; }
.project-card { position:relative; height:430px; overflow:hidden; border-radius:4px; background:#ddd; }
.project-card::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%); }
.project-card img { transition:transform .6s ease; }
.project-card:hover img { transform:scale(1.04); }
.project-large { grid-column:span 7; height:620px; }
.project-card:nth-child(2), .project-card:nth-child(3) { grid-column:span 5; }
.project-wide { grid-column:span 6; }
.project-caption { position:absolute; z-index:1; left:30px; right:30px; bottom:27px; color:white; }
.project-caption span { color:#f2a47d; font-size:.72rem; font-weight:700; }
.project-caption h3 { margin:7px 0 7px; }
.project-caption p { margin:0; opacity:.85; max-width:420px; }
.children-section { background:var(--green); color:white; display:grid; grid-template-columns:1fr 1fr; min-height:750px; }
.children-image { min-height:650px; }
.children-copy { padding:10vw 8vw; display:flex; flex-direction:column; justify-content:center; }
.children-copy .eyebrow { color:#f2a47d; }
.children-copy h2 span { color:#f2a47d; }
.children-copy .lead { color:rgba(255,255,255,.75); margin-top:35px; }
.quote { border-left:2px solid var(--accent); margin-top:55px; padding-left:20px; font-size:1.05rem; font-weight:600; max-width:500px; }
.join { padding-bottom:100px; }
.join-top { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }
.join-lead { margin:0 0 10px; }
.join-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); margin-top:90px; }
.join-grid article { padding:30px 30px 10px 0; border-right:1px solid var(--line); min-height:270px; }
.join-grid article:not(:first-child) { padding-left:30px; }
.join-grid article:last-child { border-right:0; }
.join-grid span { color:var(--accent); font-size:.72rem; font-weight:700; }
.join-grid h3 { margin:35px 0 14px; }
.join-grid p { color:var(--muted); max-width:330px; }
.join-grid .text-link { display:inline-block; margin-top:15px; }
.welcome { margin-top:100px; padding:45px; background:white; display:grid; grid-template-columns:1fr 1fr; gap:60px; }
.welcome h3 { font-size:2.3rem; }
.welcome p { color:var(--muted); margin:0; }
.cta { background:var(--accent); color:white; text-align:center; padding:130px 5vw; }
.cta .eyebrow { color:white; opacity:.75; }
.cta h2 span { color:white; }
.cta .button { margin-top:40px; }
.footer { max-width:var(--max); margin:auto; padding:45px 5vw; display:grid; grid-template-columns:1fr auto auto; align-items:center; gap:40px; font-size:.75rem; color:var(--muted); }
.footer .brand { color:var(--ink); }
.footer-links { display:flex; gap:25px; }
@media (max-width:850px) {
  .nav { display:none; }
  .site-header { padding:20px 6vw; }
  .site-header .button-small { display:none; }
  .hero-content { padding:0 6vw 9vh; }
  .section { padding:90px 6vw; }
  .intro { grid-template-columns:1fr; gap:10px; }
  .section-heading, .join-top { display:block; }
  .section-note { margin-top:25px; }
  .project-grid { display:grid; grid-template-columns:1fr 1fr; }
  .project-large, .project-card:nth-child(2), .project-card:nth-child(3), .project-wide { grid-column:span 1; height:400px; }
  .project-large { height:500px; }
  .project-wide:last-child { grid-column:span 2; }
  .children-section { grid-template-columns:1fr; }
  .children-image { height:65vw; min-height:360px; }
  .children-copy { padding:90px 6vw; }
  .join-grid { grid-template-columns:1fr; }
  .join-grid article, .join-grid article:not(:first-child) { padding:30px 0; border-right:0; border-bottom:1px solid var(--line); min-height:0; }
  .welcome { grid-template-columns:1fr; gap:20px; margin-top:70px; }
  .footer { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:550px) {
  h1 { font-size:3.4rem; }
  .hero { min-height:650px; }
  .hero-text { font-size:1rem; }
  .hero-actions { gap:18px; }
  .project-grid { grid-template-columns:1fr; }
  .project-large, .project-card:nth-child(2), .project-card:nth-child(3), .project-wide, .project-wide:last-child { grid-column:1; height:390px; }
  .project-large { height:470px; }
  .scroll-hint { display:none; }
  .footer-links { flex-wrap:wrap; }
}
