:root { --forest:#152018; --deep:#0b140f; --moss:#42553c; --olive:#76866a; --sand:#d7d0c3; --bone:#f5f3ed; --mist:#b8c1b3; --ink:#1d251f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bone); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
.nav-shell { position:absolute; z-index:10; top:0; left:0; width:100%; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:28px 4vw; color:var(--bone); border-bottom:1px solid #f5f3ed3b; }
.wordmark { font-family:Georgia, serif; font-size:28px; letter-spacing:.12em; display:flex; align-items:center; }
.wordmark span { font-family:Arial; font-weight:200; transform:rotate(90deg); display:inline-block; margin-right:5px; font-size:24px; }
.brand-logo { display:block;width:150px;height:45px;overflow:hidden; }
.brand-logo img { width:100%;height:100%;object-fit:contain;object-position:left center;display:block; }
.footer-logo { display:block;width:150px;height:auto; }
nav { display:flex; gap:34px; font-size:10px; text-transform:uppercase; letter-spacing:.2em; }
nav a,.nav-cta { transition:opacity .25s; }
nav a:hover,.nav-cta:hover { opacity:.55; }
.nav-cta { justify-self:end; font-size:10px; text-transform:uppercase; letter-spacing:.18em; }
.nav-cta span { margin-left:10px; }
.hero { min-height:100svh; position:relative; overflow:hidden; display:flex; align-items:flex-end; padding:145px 8vw 72px; color:var(--bone); background:var(--deep); }
.hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.72) contrast(1.06) brightness(.74); }
.hero:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(5,12,8,.9),rgba(8,18,11,.44) 56%,rgba(5,10,7,.12)),linear-gradient(0deg,rgba(5,12,8,.48),transparent 52%); pointer-events:none; }
.hero-noise { position:absolute; inset:0; opacity:.17; background-image:radial-gradient(#fff 0.45px,transparent .6px); background-size:5px 5px; mix-blend-mode:overlay; }
.hero-content { position:relative; z-index:2; max-width:890px; }
.eyebrow { margin:0 0 36px; text-transform:uppercase; letter-spacing:.24em; font-size:10px; font-weight:600; }
.eyebrow.light { color:var(--mist); }
h1,h2,blockquote { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:400; line-height:.88; letter-spacing:-.045em; }
h1 { font-size:clamp(72px,11.3vw,176px); }
em { font-weight:400; color:var(--olive); }
.hero h1 em { color:var(--sand); }
.hero-copy { max-width:500px; margin:32px 0 0; color:#dde2d8; font-family:Georgia,serif; font-size:clamp(17px,1.5vw,22px); line-height:1.55; }
.circle-link { position:absolute; left:min(67vw,900px); bottom:0; width:126px; height:126px; border:1px solid #f5f3ed85; border-radius:50%; display:flex; align-items:center; justify-content:center; gap:12px; text-transform:uppercase; letter-spacing:.14em; font-size:8px; transition:.35s; }
.circle-link:hover { background:var(--bone); color:var(--forest); transform:rotate(4deg); }
.circle-link b { font-size:18px; font-weight:400; }
.hero-side { position:absolute; z-index:2; right:4vw; bottom:73px; writing-mode:vertical-rl; text-transform:uppercase; letter-spacing:.25em; font-size:8px; color:var(--mist); }
.intro { padding:150px 7vw 105px; display:grid; grid-template-columns:30% 1fr; border-bottom:1px solid #9aa49470; }
.intro>div { display:grid; grid-template-columns:1.25fr .75fr; gap:8vw; align-items:end; }
h2 { font-size:clamp(58px,7vw,108px); }
.intro>div>p,.section-head>p { max-width:420px; color:#576158; font-family:Georgia,serif; font-size:18px; line-height:1.65; margin:0 0 5px; }
.cycle { position:relative; padding:75px 3.5vw 145px; display:grid; grid-template-columns:repeat(8,1fr); gap:24px; overflow:hidden; }
.cycle-track { display:none; }
.stage { position:relative; z-index:1; text-align:center; animation:rise .7s ease both; animation-delay:var(--delay); }
.stage:not(:last-child)::after { content:"→"; position:absolute; right:-25px; top:120px; color:var(--olive); font:300 24px Georgia,serif; }
.botanical-icon { height:194px; width:116px; margin:12px auto 27px; position:relative; border:1px solid var(--moss); border-radius:58px; background:linear-gradient(180deg,#f5f3ed,#edebe3); box-shadow:inset 0 0 0 7px #f5f3ed,0 12px 30px #1520180b; }
.botanical-icon:after { content:""; position:absolute; left:21px; right:21px; bottom:31px; height:1px; background:var(--moss); }
.botanical-icon i { position:absolute; display:block; border:1.2px solid var(--moss); }
.botanical-icon i:first-child { width:1px; height:92px; left:57px; bottom:32px; }
.botanical-icon i:nth-child(2),.botanical-icon i:nth-child(3) { width:31px; height:17px; border-radius:100% 0 100% 0; transform:rotate(-27deg); left:27px; top:69px; }
.botanical-icon i:nth-child(3) { left:56px; top:92px; transform:scaleX(-1) rotate(-27deg); }
.seed i:first-child { height:54px; bottom:33px; border-style:dotted; }.seed i:nth-child(2){width:13px;height:13px;border-radius:50%;left:50px;top:55px}.seed i:nth-child(3){width:17px;height:30px;left:49px;top:112px;border-radius:100% 0 100% 0;transform:rotate(45deg)}
.soil i:first-child { height:57px; bottom:31px; }.soil i:nth-child(2),.soil i:nth-child(3) { top:88px; width:31px; height:18px; }.soil:before { content:"········"; position:absolute; left:33px; bottom:17px; color:var(--moss); letter-spacing:2px; font-size:9px; }
.roots i:first-child { height:105px; bottom:31px; }.roots i:nth-child(2){top:58px}.roots i:nth-child(3){top:88px}.roots:before { content:"⌁╲│╱⌁"; position:absolute; left:34px; bottom:14px; color:var(--moss); letter-spacing:1px; font:15px Georgia,serif; }
.sprout i:first-child { height:48px; }.sprout i:nth-child(2),.sprout i:nth-child(3){top:92px}.sprout:before { content:"╲│││╱"; position:absolute; left:32px; top:47px; color:var(--moss); font:18px Georgia,serif; letter-spacing:1px; }
.sun i:first-child { height:83px }.sun i:nth-child(2),.sun i:nth-child(3){top:79px}.sun:before { content:"◯"; position:absolute; top:39px; left:47px; color:var(--moss); font:27px Georgia,serif; }
.bloom i:first-child { height:82px }.bloom i:nth-child(2),.bloom i:nth-child(3){width:34px;height:34px;border-radius:50% 50% 0 50%;left:40px;top:47px;transform:rotate(-45deg)}.bloom i:nth-child(3){transform:rotate(135deg);top:57px}.bloom:before{content:"✣";position:absolute;top:38px;left:42px;color:var(--moss);font:32px Georgia,serif;z-index:2}
.ecosystem i:first-child { height:82px }.ecosystem i:nth-child(2){left:20px;top:72px}.ecosystem i:nth-child(3){left:64px;top:96px}.ecosystem:before{content:"◯";position:absolute;top:38px;left:47px;color:var(--moss);font:26px Georgia,serif}
.evolve i:first-child { width:56px;height:56px;left:29px;bottom:67px;border-radius:50%;border-style:dotted }.evolve i:nth-child(2){width:38px;height:38px;left:38px;top:68px;border-radius:50%}.evolve i:nth-child(3){width:18px;height:18px;left:48px;top:78px;border-radius:50%;background:var(--moss)}.evolve:before{content:"";position:absolute;width:76px;height:76px;left:19px;top:48px;border:1px dotted var(--moss);border-radius:50%}
.cycle-symbol { display:grid; place-items:center; isolation:isolate; }
.cycle-symbol:before,.cycle-symbol:after { display:none; }
.cycle-symbol img { width:72%; height:72%; object-fit:contain; display:block; will-change:transform,opacity; filter:contrast(1.08); }
.icon-seed img { width:46%; transform-origin:50% 90%; animation:seed-breathe 4.2s ease-in-out infinite; }
.icon-roots img { width:68%; transform-origin:50% 12%; animation:roots-grow 5s ease-in-out infinite; }
.icon-canopy img { width:67%; transform-origin:50% 92%; animation:canopy-sway 5.4s ease-in-out infinite; }
.icon-flow img { width:70%; animation:flow-drift 4.6s ease-in-out infinite; }
.icon-habitat img { width:66%; animation:habitat-pulse 4.4s ease-in-out infinite; }
.icon-bloom img { width:68%; transform-origin:50% 90%; animation:bloom-open 5.2s ease-in-out infinite; }
.icon-ecosystem img { width:78%; transform-origin:50% 92%; animation:ecosystem-grow 5.8s ease-in-out infinite; }
.icon-evolution img { width:75%; animation:evolution-orbit 16s linear infinite; }
@keyframes seed-breathe { 0%,100%{transform:scale(.96) rotate(-1deg)} 50%{transform:scale(1.06) rotate(1deg)} }
@keyframes roots-grow { 0%,100%{transform:translateY(-3px) scaleY(.94);opacity:.82} 50%{transform:translateY(3px) scaleY(1.04);opacity:1} }
@keyframes canopy-sway { 0%,100%{transform:rotate(-1.8deg)} 50%{transform:rotate(1.8deg)} }
@keyframes flow-drift { 0%,100%{transform:translateX(-5px)} 50%{transform:translateX(5px)} }
@keyframes habitat-pulse { 0%,100%{transform:scale(.94);opacity:.84} 50%{transform:scale(1.05);opacity:1} }
@keyframes bloom-open { 0%,100%{transform:scale(.96) rotate(-1deg)} 50%{transform:scale(1.05) rotate(1deg)} }
@keyframes ecosystem-grow { 0%,100%{transform:translateY(2px) scale(.96)} 50%{transform:translateY(-3px) scale(1.035)} }
@keyframes evolution-orbit { to{transform:rotate(360deg)} }
.stage:hover .cycle-symbol img { animation-play-state:paused; transform:scale(1.08); }
.stage-number { display:block; color:var(--moss); font:10px monospace; letter-spacing:.18em; margin-bottom:4px; }
.stage h3 { font:400 21px Georgia,serif; margin:0 0 13px; }
.stage h3:after { content:""; display:block; width:28px; height:1px; background:var(--olive); margin:13px auto 0; }
.stage p { margin:0 auto; color:#697268; font-size:10px; line-height:1.65; max-width:138px; }
.manifesto { min-height:78svh; padding:100px 8vw; color:var(--bone); background:radial-gradient(circle at 80% 20%,#3d5037,transparent 35%),var(--forest); display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.manifesto:after { content:""; width:42vw;height:42vw;border:1px solid #b8c1b329;border-radius:50%;position:absolute;right:-8vw;top:-11vw;box-shadow:0 0 0 7vw #b8c1b312,0 0 0 15vw #b8c1b30a; }
blockquote { font-size:clamp(52px,7.6vw,116px); position:relative; z-index:1; }
blockquote em { color:var(--mist); }
.manifesto-note { align-self:flex-end; max-width:340px; margin:50px 8vw 0 0; color:var(--mist); font:17px/1.65 Georgia,serif; position:relative; z-index:1; }
.services { padding:145px 7vw; display:grid; grid-template-columns:38% 62%; gap:7vw; background:var(--sand); }
.services-intro { position:sticky; top:90px; align-self:start; }
.services-intro h2 { font-size:clamp(58px,6vw,95px); }
.services-intro>p:not(.eyebrow) { max-width:390px; margin:40px 0; color:#5a635b; font:17px/1.7 Georgia,serif; }
.services-intro>span { display:block; max-width:320px; padding-top:22px; border-top:1px solid #76866a88; color:var(--moss); text-transform:uppercase; letter-spacing:.18em; font-size:9px; line-height:1.7; }
.service-list { border-top:1px solid #76866a88; }
.service-item { min-height:112px; display:grid; grid-template-columns:38px 62px 1fr; align-items:center; gap:18px; border-bottom:1px solid #76866a88; transition:padding .3s,background .3s; }
.service-item:hover { padding:0 18px; background:#f5f3ed55; }
.service-item>span { color:var(--olive); font:9px monospace; letter-spacing:.12em; }
.service-symbol { width:48px; height:48px; border:1px solid var(--moss); border-radius:50%; display:grid; place-items:center; color:var(--moss); font:10px Georgia,serif; letter-spacing:.12em; }
.service-item h3 { margin:0 0 7px; font:400 clamp(21px,2vw,30px) Georgia,serif; }
.service-item p { margin:0; color:#6b746b; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.garden { padding:140px 5vw 160px; }
.section-head { display:grid; grid-template-columns:1fr 1fr; align-items:end; margin:0 2vw 80px; }
.section-head>p { justify-self:end; }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; align-items:start; }
.project-card { background:#edece5; border:1px solid #9aa49455; transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s; }
.project-card:nth-child(2) { margin-top:70px; }
.project-card:hover { transform:translateY(-8px); box-shadow:0 24px 55px #15201819; }
.project-image { aspect-ratio:16/10; position:relative; overflow:hidden; display:grid; place-items:center; color:var(--bone); background-color:var(--forest); }
.project-image:after { content:""; position:absolute;inset:0;background:linear-gradient(0deg,#0710097a,transparent 48%),linear-gradient(90deg,#07100928,transparent 42%);pointer-events:none; }
.project-image img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.88) contrast(1.03);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s; }
.project-card:hover .project-image img { transform:scale(1.035);filter:saturate(1) contrast(1.02); }
.project-insight { background:radial-gradient(circle at 60% 35%,#b8c1b343,transparent 20%),linear-gradient(145deg,#17231c,#536657); }
.project-chef { background:radial-gradient(circle at 50% 55%,#d7d0c344,transparent 20%),linear-gradient(35deg,#111613,#5b594d); }
.project-cabins { background:radial-gradient(circle at 40% 20%,#ced8aa40,transparent 22%),linear-gradient(145deg,#0d1711,#3d5739); }
.project-cheque { background:linear-gradient(35deg,#201a14,#7b6b4d); }
.project-samaya { background:radial-gradient(circle at 68% 30%,#d7d0c35c,transparent 16%),linear-gradient(145deg,#172c22,#58725a); }
.project-david { background:radial-gradient(circle at 30% 65%,#c8d5c642,transparent 22%),linear-gradient(35deg,#15272b,#667b72); }
.project-adng { background:radial-gradient(circle at 50% 50%,#f5f3ed2b,transparent 20%),linear-gradient(145deg,#171c19,#485345); }
.project-solstice { background:radial-gradient(circle at 65% 38%,#d7d0c34d,transparent 18%),linear-gradient(145deg,#161c22,#46596a); }
.project-image>span { position:absolute;z-index:2;top:22px;left:22px;font:9px monospace;letter-spacing:.2em; }
.project-body { padding:34px; }
.project-kind { color:#73806e!important;text-transform:uppercase;letter-spacing:.18em;font-size:9px!important; }
.project-body h3 { font:400 clamp(27px,2.3vw,40px) Georgia,serif;margin:28px 0 17px; }
.project-body>p { color:#687168;font-size:13px;line-height:1.7; }
.project-body a { margin-top:35px;padding-top:18px;border-top:1px solid #9aa49466;display:flex;justify-content:space-between;text-transform:uppercase;letter-spacing:.18em;font-size:9px; }
.reach { min-height:850px; display:grid; grid-template-columns:38% 62%; background:var(--forest); color:var(--bone); overflow:hidden; }
.reach-copy { padding:115px 4vw 90px 7vw; display:flex; flex-direction:column; justify-content:center; border-right:1px solid #b8c1b32b; position:relative; z-index:3; }
.reach-copy h2 { font-size:clamp(54px,6vw,96px); }
.reach-copy h2 em { color:var(--mist); }
.reach-copy>p:not(.eyebrow) { max-width:430px; color:var(--mist); font:17px/1.7 Georgia,serif; margin:45px 0 70px; }
.reach-copy>span { color:#d7d0c399; text-transform:uppercase; letter-spacing:.2em; font-size:9px; }
.map { position:relative; min-height:760px; isolation:isolate; background:radial-gradient(circle at 45% 50%,#42553c88,transparent 48%),var(--deep); }
.map-grid { position:absolute; inset:0; opacity:.11; background-image:linear-gradient(#b8c1b3 1px,transparent 1px),linear-gradient(90deg,#b8c1b3 1px,transparent 1px); background-size:9% 12%; }
.land { position:absolute; z-index:-1; background:#76866a22; border:1px solid #b8c1b333; filter:blur(.1px); }
.north-america { width:44%; height:38%; left:10%; top:13%; border-radius:64% 36% 56% 44% / 42% 58% 42% 58%; transform:rotate(-11deg); }
.central-america { width:25%; height:9%; left:34%; top:46%; border-radius:70% 30% 70% 30%; transform:rotate(24deg); }
.south-america { width:29%; height:43%; left:51%; top:50%; border-radius:58% 42% 70% 30% / 26% 40% 60% 74%; transform:rotate(13deg); }
.map-point { position:absolute; z-index:2; }
.map-point button { appearance:none; border:0; background:none; color:var(--bone); padding:0; font:inherit; cursor:pointer; display:flex; align-items:center; gap:12px; text-align:left; }
.map-point button i { display:block; width:12px; height:12px; border:2px solid var(--sand); background:var(--forest); border-radius:50%; box-shadow:0 0 0 7px #d7d0c326; transition:.3s; }
.map-point button:hover i,.map-point button:focus-visible i { background:var(--sand); box-shadow:0 0 0 12px #d7d0c31b; }
.map-point button span { padding:9px 11px; background:#0b140fc9; border:1px solid #b8c1b33b; font:14px Georgia,serif; white-space:nowrap; }
.map-point button small { display:block; margin-top:5px; color:var(--mist); text-transform:uppercase; letter-spacing:.16em; font:7px Arial,sans-serif; }
.map-point>b { display:none; }
.loc-california { left:19%; top:33%; }.loc-tennessee { left:40%; top:39%; }.loc-peten { left:39%; top:51%; }.loc-guatemala { left:35%; top:57%; }.loc-guiana { left:65%; top:69%; }
footer { padding:125px 7vw 35px; background:var(--deep); color:var(--bone); }
footer h2 { max-width:950px; }
footer h2 em { color:var(--mist); }
.contact-head { display:grid;grid-template-columns:2fr 1fr;gap:8vw;align-items:end; }
.contact-head>p { color:var(--mist);font:17px/1.65 Georgia,serif;max-width:360px;margin:0 0 7px; }
.contact-form { display:grid;grid-template-columns:repeat(2,1fr);gap:42px 5vw;margin-top:100px;padding:55px 0;border-top:1px solid #f5f3ed55;border-bottom:1px solid #f5f3ed55; }
.contact-form label { display:flex;flex-direction:column;gap:14px; }
.contact-form label>span { color:var(--mist);font-size:9px;text-transform:uppercase;letter-spacing:.2em; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%;border:0;border-bottom:1px solid #b8c1b35c;background:transparent;color:var(--bone);padding:4px 0 15px;border-radius:0;font:20px Georgia,serif;outline:none; }
.contact-form textarea { resize:vertical;line-height:1.5; }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:#b8c1b36f; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--sand); }
.message-field { grid-column:1/2; }
.contact-form button { align-self:end;justify-self:end;width:150px;height:150px;border:1px solid var(--sand);border-radius:50%;background:transparent;color:var(--bone);display:flex;align-items:center;justify-content:center;gap:13px;text-transform:uppercase;letter-spacing:.16em;font-size:9px;cursor:pointer;transition:.35s; }
.contact-form button:hover { background:var(--bone);color:var(--deep);transform:rotate(4deg); }
.contact-form button b { font-size:18px;font-weight:400; }
.contact-email { display:flex;justify-content:space-between;align-items:center;margin-top:35px;padding:25px 0;font:clamp(16px,1.7vw,25px) Georgia,serif; }
.footer-bottom { display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;margin-top:80px;color:var(--mist);font-size:9px;text-transform:uppercase;letter-spacing:.17em; }
.footer-bottom p:nth-child(2){text-align:center}.footer-bottom p:last-child{text-align:right}
@keyframes rise { from{opacity:0;transform:translateY(25px)} to{opacity:1;transform:none} }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.stage{animation:none}.cycle-symbol img{animation:none!important}.project-card{transition:none}}
@media (max-width:900px){
  .nav-shell{grid-template-columns:1fr auto}.nav-shell nav{display:none}.hero{padding:130px 6vw 65px}.circle-link{position:relative;left:auto;margin-top:45px}.hero-side{display:none}
  .intro{grid-template-columns:1fr;padding:100px 6vw 70px}.intro>div{grid-template-columns:1fr;gap:35px}.cycle{grid-template-columns:repeat(2,1fr);padding:60px 8vw 100px;gap:70px 35px}.stage:not(:last-child)::after{display:none}
  .services{grid-template-columns:1fr;padding:100px 6vw;gap:70px}.services-intro{position:static}.section-head{grid-template-columns:1fr;gap:35px}.section-head>p{justify-self:start}.project-grid{grid-template-columns:1fr}.project-card:nth-child(2){margin-top:0}.manifesto-note{align-self:flex-start;margin-left:0}.reach{grid-template-columns:1fr}.reach-copy{border-right:0;border-bottom:1px solid #b8c1b32b}.map{min-height:650px}.contact-head{grid-template-columns:1fr;gap:35px}.contact-form{margin-top:65px}
}
@media (max-width:520px){.nav-cta{font-size:0}.nav-cta span{font-size:18px}.hero h1{font-size:19vw}.cycle{grid-template-columns:1fr}.stage{display:grid;grid-template-columns:132px 1fr;grid-template-rows:auto auto auto;text-align:left}.stage-number{grid-column:1;margin:0 0 6px 54px}.botanical-icon{grid-column:1;grid-row:2/5;margin:0;width:112px;height:188px}.stage h3{grid-column:2;margin-top:35px}.stage h3:after{margin-left:0}.stage p{grid-column:2;margin:0}.services{padding-inline:5vw}.service-item{grid-template-columns:26px 48px 1fr;gap:10px}.service-symbol{width:40px;height:40px}.service-item p{font-size:8px;line-height:1.5}.garden{padding-inline:4vw}.reach-copy{padding:90px 6vw}.map{min-height:620px}.map-point button span{font-size:11px;padding:7px}.loc-california{left:8%}.loc-tennessee{left:42%}.loc-peten{left:34%}.loc-guatemala{left:27%}.loc-guiana{left:58%}footer{padding-inline:5vw}.contact-form{grid-template-columns:1fr;gap:35px}.message-field{grid-column:1}.contact-form button{justify-self:start;width:125px;height:125px}.footer-bottom{grid-template-columns:1fr;gap:20px}.footer-bottom p:nth-child(2),.footer-bottom p:last-child{text-align:left}.footer-bottom .footer-logo{margin-bottom:20px}}
