:root{--ink:#173326;--cream:#f4f0e7;--paper:#fffdf8;--green:#285944;--lime:#d9e7a7;--orange:#d56a3b;--line:rgba(23,51,38,.18)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.65 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(255,253,248,.94);backdrop-filter:blur(12px);z-index:10}.brand{display:flex;align-items:center;gap:12px;font:650 1.35rem "Fraunces",serif}.brand-mark{width:38px;height:38px;border-radius:50% 50% 44% 56%;background:var(--green);color:white;display:grid;place-items:center;font-size:1.15rem}.site-header nav{display:flex;gap:34px;font-size:.92rem;font-weight:600}.site-header nav a:hover{color:var(--orange)}.menu{display:none;background:none;border:0;font:600 1rem "DM Sans"}.hero{min-height:calc(100vh - 80px);display:grid;grid-template-columns:1.05fr .95fr;background:var(--cream)}.hero-copy{padding:clamp(70px,9vw,140px) clamp(28px,7vw,110px)}.eyebrow,.section-number,.tag,.meta{font-size:.75rem;letter-spacing:.16em;font-weight:700}.eyebrow{color:var(--orange)}h1,h2,h3,blockquote{font-family:"Fraunces",serif;margin:0;line-height:1.04}h1{font-size:clamp(3rem,6.2vw,6.4rem);max-width:880px;letter-spacing:-.04em}.lead{font-size:clamp(1.05rem,1.5vw,1.3rem);max-width:620px;margin:30px 0}.hero-actions{display:flex;align-items:center;gap:30px;flex-wrap:wrap}.button{display:inline-block;background:var(--green);color:white;padding:14px 21px;border-radius:3px;font-weight:700}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:4px}.hero-visual{min-height:540px;background:linear-gradient(145deg,#77906b 0%,#47654c 43%,#1c3d2d 100%);position:relative;overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:18% -15% -20% 0;background:linear-gradient(15deg,rgba(255,255,255,.06),transparent 40%),radial-gradient(ellipse at 60% 40%,rgba(217,231,167,.25),transparent 55%);border-radius:50% 0 0 0}.photo-note{position:absolute;left:32px;bottom:30px;color:white;display:flex;gap:16px;align-items:flex-start}.photo-note>span{border:1px solid rgba(255,255,255,.6);border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:.72rem}.photo-note p{margin:0;font:500 1.25rem "Fraunces",serif}.photo-note small{font:400 .75rem "DM Sans";opacity:.75}.intro,.section-heading{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;padding:100px clamp(24px,7vw,110px)}.section-number{margin:5px 0;color:var(--orange)}.intro h2,.section-heading h2,.sustain h2{font-size:clamp(2.25rem,4.3vw,4.5rem);letter-spacing:-.03em}.intro>div p{font-size:1.17rem;max-width:720px}.gallery{display:grid;grid-template-columns:1.5fr 1fr;grid-template-rows:300px 300px;gap:12px;padding:0 clamp(18px,3vw,50px) 100px}.place{background:var(--lime);padding:28px;display:flex;flex-direction:column;justify-content:space-between;min-height:280px}.place-large{grid-row:span 2;background:linear-gradient(155deg,#a3b178,#5c7658)}.place-dark{background:var(--ink);color:white}.place:nth-child(2){background:#e5b884}.photo-index{align-self:flex-end;font-size:.72rem;border:1px solid currentColor;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}.place h3{font-size:2rem}.place p{margin:.5rem 0 0}.projects{background:var(--cream);padding-bottom:100px}.section-heading{align-items:end}.section-heading>p{max-width:520px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);margin:0 clamp(24px,7vw,110px);border:1px solid var(--line)}.card{padding:42px;background:var(--paper);min-height:330px;display:flex;flex-direction:column}.card.featured{background:var(--lime)}.card h3{font-size:2rem;margin:35px 0 15px}.card a{margin-top:auto;font-weight:700}.sustain{background:var(--green);color:white;padding:110px clamp(24px,7vw,110px);display:grid;grid-template-columns:1.15fr .85fr;gap:8vw}.sustain-copy>p:not(.section-number){max-width:650px;font-size:1.1rem}.light{color:var(--lime)}.button-light{background:var(--lime);color:var(--ink);margin-top:20px}.sustain-list article{display:grid;grid-template-columns:44px 1fr;gap:20px;padding:28px 0;border-top:1px solid rgba(255,255,255,.25)}.sustain-list article:last-child{border-bottom:1px solid rgba(255,255,255,.25)}.sustain-list span{color:var(--lime)}.sustain-list h3{font-size:1.45rem}.sustain-list p{margin:.4rem 0 0;opacity:.8}.journal{padding-bottom:110px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0 clamp(24px,7vw,110px)}.thumb{aspect-ratio:4/3;display:flex;align-items:flex-end;padding:20px;color:white;background:#6f886d}.thumb-two{background:#d07b4e}.thumb-three{background:#325468}.thumb span{background:rgba(23,51,38,.82);padding:7px 10px;font-size:.7rem;letter-spacing:.12em}.journal-grid h3{font-size:1.55rem;line-height:1.2}.meta{color:var(--orange);margin:18px 0 10px}.about{text-align:center;background:var(--lime);padding:90px 24px}.about blockquote{font-size:clamp(2rem,4.2vw,4rem);max-width:980px;margin:25px auto}.about>p:last-child{max-width:660px;margin:28px auto 0}footer{padding:50px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:40px;background:var(--ink);color:white}.footer-brand{color:white}.footer-brand .brand-mark{background:var(--lime);color:var(--ink)}.copyright{opacity:.65}@media(max-width:850px){.site-header nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column}.site-header nav.open{display:flex}.menu{display:block}.hero{grid-template-columns:1fr}.hero-visual{min-height:420px}.intro,.section-heading,.sustain{grid-template-columns:1fr}.gallery{grid-template-columns:1fr;grid-template-rows:auto}.place-large{grid-row:auto}.cards,.journal-grid{grid-template-columns:1fr}.card{min-height:270px}footer{grid-template-columns:1fr;gap:14px}}@media(max-width:520px){h1{font-size:3.25rem}.hero-copy{padding:65px 24px}.intro,.section-heading{padding:75px 24px}.gallery{padding-bottom:75px}.sustain{padding:75px 24px}}
