/* Terrane house style: Forest #1C2A22, Sage #5E7D69, Sand #C8B08A, Stone #EBE4D6, Linen #DCD5C5, Paper #F6F2EA.
   Type: Space Grotesk (headings), Hanken Grotesk (body). Mirrors the Funding Memorandum / Background deck. */
:root{--forest:#1C2A22;--forest2:#243529;--sage:#5E7D69;--sage2:#9DB6A6;--sand:#C8B08A;--stone:#EBE4D6;--linen:#DCD5C5;--paper:#F6F2EA;--ink:#26332B;--ink2:#46524A;--ink3:#3A4A41;--rule:rgba(28,42,34,.14)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden;font-family:'Hanken Grotesk',-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:1180px;margin:0 auto;padding:0 32px}
section{padding:clamp(60px,8vw,104px) 0}
h1,h2,h3,h4{font-family:'Space Grotesk',sans-serif;letter-spacing:-.01em}
.eyebrow{font-weight:600;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);margin-bottom:1.1rem}
.title{font-weight:700;font-size:clamp(1.75rem,3.2vw,2.5rem);line-height:1.12;color:var(--forest)}
.title::after{content:"";display:block;width:56px;height:3px;background:var(--sage);margin-top:18px}
.sub{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.6;color:var(--ink2);max-width:64ch;margin-top:18px}
.lead-wrap{max-width:760px}

/* Header / nav */
.site-header{position:absolute;top:0;left:0;right:0;z-index:6}
.site-header-in{display:flex;align-items:center;justify-content:space-between;padding:26px 0}
.brand img{height:30px;width:auto}
.nav{display:flex;gap:26px;background:rgba(28,42,34,.78);backdrop-filter:blur(6px);padding:9px 18px;border-radius:4px}
.nav a{font-weight:500;font-size:.93rem;letter-spacing:.01em;transition:.2s;color:var(--linen)}
.nav a:hover,.nav a.on{color:var(--sand)}
.site-header.dark .nav a{color:var(--linen)}

/* Split hero (deck cover) */
.hero{display:grid;grid-template-columns:minmax(0,46%) minmax(0,54%);min-height:min(92vh,820px);background:var(--forest);color:var(--linen);position:relative;overflow:hidden}
.hero-text{display:flex;flex-direction:column;justify-content:center;padding:clamp(104px,12vh,136px) clamp(28px,5vw,72px) clamp(56px,8vh,80px) max(32px,calc((100vw - 1180px)/2 + 32px))}
.hero h1{font-weight:700;font-size:clamp(2.1rem,3.7vw,3.2rem);line-height:1.08;color:#F4F1EA;max-width:17ch}
.hero .strap{font-size:clamp(1.05rem,1.6vw,1.35rem);line-height:1.5;color:var(--sand);margin-top:1.3rem;max-width:34ch}
.hero .intro{margin-top:2rem;font-size:1.02rem;line-height:1.65;color:var(--linen);max-width:52ch;opacity:.92}
.hero .note{margin-top:auto;padding-top:2.4rem;font-size:.82rem;letter-spacing:.04em;color:var(--sage2)}
.btn{display:inline-block;font-weight:600;font-size:.95rem;letter-spacing:.02em;padding:15px 30px;border-radius:3px;transition:.22s}
.btn-sand{background:var(--sand);color:var(--forest);margin-top:2.2rem}.btn-sand:hover{background:#D9C39F;transform:translateY(-1px)}
.btn-forest{background:var(--forest);color:var(--stone)}.btn-forest:hover{background:var(--forest2);transform:translateY(-1px)}
.btn-line{border:1.5px solid var(--sage);color:var(--forest);padding:11px 20px;font-size:.9rem}.btn-line:hover{background:var(--sage);color:#fff}
.hero-art{position:relative;overflow:hidden;background:#D9DCD2;min-height:320px}
.hero-art img,.hero-art video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}
.hero-art img{animation:kb 38s ease-in-out infinite alternate;transform-origin:52% 45%}
@keyframes kb{from{transform:scale(1) translate(0,0)}to{transform:scale(1.09) translate(-1.6%,1.2%)}}
.hero-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(28,42,34,.28) 0%,rgba(28,42,34,0) 18%)}
@media(prefers-reduced-motion:reduce){.hero-art img{animation:none}}

/* Sections */
.sec-paper{background:var(--paper)}
.sec-white{background:#fff}
.sec-stone{background:var(--stone)}
.sec-dark{background:var(--forest);color:var(--linen)}
.sec-dark .title{color:#F4F1EA}
.sec-dark .sub{color:#CFC8B8}

/* Service cards with artwork */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:52px}
.card{background:#fff;border:1px solid var(--rule);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.card-art{aspect-ratio:16/9;background:var(--forest);overflow:hidden}
.card-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.card:hover .card-art img{transform:scale(1.03)}
.card-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.card .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.2em;color:var(--sage);margin-bottom:12px}
.card h3{font-weight:700;font-size:1.32rem;line-height:1.22;color:var(--forest);margin-bottom:.7rem}
.card p{font-size:.98rem;color:var(--ink2);line-height:1.6}
.card p+p{margin-top:.6rem}
.card .who{margin-top:auto;padding-top:16px;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--sage);font-weight:600}
.advisory{display:grid;grid-template-columns:220px 1fr;gap:34px;align-items:center;margin-top:44px;padding:26px 30px;background:var(--stone);border-radius:6px}
.advisory img{border-radius:4px;aspect-ratio:16/9;object-fit:cover}
.advisory h3{font-weight:700;font-size:1.15rem;color:var(--forest);margin-bottom:.4rem}
.advisory p{font-size:.98rem;color:var(--ink2)}

/* How we work (deck numbered chips) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin-top:52px}
.step{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--sage);border-radius:6px;padding:26px 26px 28px}
.step .k{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--forest);color:var(--sand);font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.05rem;margin-bottom:18px}
.step h3{font-weight:700;font-size:1.2rem;color:var(--forest);margin-bottom:.5rem}
.step p{font-size:.98rem;color:var(--ink2);line-height:1.6}
.method{margin-top:46px;padding:22px 28px;border-left:4px solid var(--sage);background:#fff;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--forest);max-width:760px}

/* People */
.people-hero{background:var(--forest);color:var(--linen);padding:clamp(140px,18vh,190px) 0 clamp(56px,7vw,80px)}
.people-hero h1{font-weight:700;font-size:clamp(2.2rem,4.4vw,3.4rem);color:#F4F1EA;line-height:1.06}
.people-hero .strap{color:var(--sand);font-size:clamp(1.05rem,1.6vw,1.3rem);margin-top:1rem;max-width:60ch}
.profiles{display:grid;grid-template-columns:1fr;gap:40px}
.profile{display:grid;grid-template-columns:300px 1fr;gap:40px;background:#fff;border:1px solid var(--rule);border-radius:6px;overflow:hidden}
.profile .photo{aspect-ratio:4/5;background:var(--stone)}
.profile .photo img{width:100%;height:100%;object-fit:cover}
.profile .bio{padding:32px 36px 32px 0}
.profile h2{font-weight:700;font-size:1.7rem;color:var(--forest);line-height:1.15}
.profile .role{font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:600;margin:.4rem 0 1.2rem}
.profile ul{list-style:none;margin:0;padding:0}
.profile li{position:relative;padding-left:20px;margin-bottom:.55rem;font-size:.98rem;color:var(--ink2);line-height:1.55}
.profile li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--sage)}
.profile .links{display:flex;gap:14px;flex-wrap:wrap;margin-top:1.5rem;align-items:center}
.profile .links a.mail{font-weight:500;color:var(--forest);border-bottom:1px solid var(--sage2)}
.combined{margin-top:44px;font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.05rem,1.7vw,1.3rem);color:var(--forest);max-width:60ch;line-height:1.4}

/* Numbers (deck tiles) */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.stat{background:#fff;border:1px solid var(--rule);border-top:3px solid var(--sage);border-radius:6px;padding:26px 22px 24px;min-height:150px}
.stat .fig{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:clamp(1.8rem,2.6vw,2.3rem);line-height:1;color:var(--forest);margin-bottom:12px}
.stat .fig .u{font-size:.55em;color:var(--sage);margin-left:2px;font-weight:600}
.stat .lab{font-size:.92rem;line-height:1.45;color:var(--ink2)}

/* Contact + footer */
.email-link{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:clamp(1.2rem,2.6vw,1.8rem);color:var(--sage2);display:inline-block;border-bottom:1px solid rgba(157,182,166,.4);padding-bottom:3px;transition:.2s}
.email-link:hover{color:#C2D3C8;border-color:#C2D3C8}
.emails{margin-top:34px;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.place{margin-top:36px;font-size:.9rem;letter-spacing:.06em;color:#9C9684;text-transform:uppercase}
.site-footer{background:#121A14;color:#C7C0B0;padding:60px 0 36px}
.footer-cols{display:flex;justify-content:space-between;gap:48px;flex-wrap:wrap}
.site-footer .brand img{height:26px}
.f-tag{margin-top:18px;font-size:.95rem;color:#8E978B;max-width:38ch}
.f-right h5{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:14px;font-weight:600}
.f-right a{display:block;margin-bottom:10px;font-size:1rem;color:#C7C0B0;transition:.2s}
.f-right a:hover{color:var(--sage2)}
.footer-bottom{margin-top:48px;padding-top:20px;border-top:1px solid rgba(199,192,176,.15);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.78rem;letter-spacing:.04em;color:rgba(199,192,176,.55)}

/* Responsive */
@media(max-width:1020px){.cards{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.profile{grid-template-columns:240px 1fr}}
@media(max-width:820px){.hero{grid-template-columns:1fr;min-height:0}.hero-text{padding:118px 24px 48px}.hero-art{min-height:46vw}.hero .note{display:none}.cards{grid-template-columns:1fr}.advisory{grid-template-columns:1fr}.profile{grid-template-columns:1fr}.profile .bio{padding:26px 26px 30px}.profile .photo{aspect-ratio:4/3}}
@media(max-width:600px){.container{padding:0 20px}.brand img{height:24px}.nav{gap:12px;padding:8px 12px}.nav a{font-size:.8rem}.nav a.hm{display:none}.stats{grid-template-columns:1fr}}
