:root{--ink:#17251c;--green:#244b32;--lime:#d8ff65;--cream:#f4f0e6;--paper:#faf8f2;--line:rgba(23,37,28,.18);--sans:"DM Sans",sans-serif;--display:"Manrope",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip-link{position:fixed;z-index:100;left:1rem;top:-4rem;padding:.7rem 1rem;background:white}.skip-link:focus{top:1rem}.site-header{position:absolute;z-index:20;top:0;left:0;width:100%;height:100px;padding:18px clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;color:white}.site-header.scrolled{position:fixed;height:76px;background:rgba(18,31,23,.95);backdrop-filter:blur(12px);animation:drop .35s ease}.brand img{width:138px;height:65px;object-fit:contain;filter:brightness(0) invert(1)}.site-nav{display:flex;align-items:center;gap:clamp(22px,3vw,48px);font-size:.84rem;font-weight:600}.site-nav a:not(.nav-cta):after{content:"";display:block;width:0;height:1px;background:var(--lime);transition:.25s}.site-nav a:hover:after{width:100%}.nav-cta{border:1px solid rgba(255,255,255,.55);padding:11px 18px;border-radius:30px}.nav-cta:hover{background:white;color:var(--ink)}.menu-button{display:none;background:none;border:0;padding:8px}.menu-button span:not(.sr-only){display:block;width:24px;height:1px;background:white;margin:6px}.hero{position:relative;min-height:760px;height:100svh;display:flex;align-items:center;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;background:url("assets/hero.webp") center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,15,9,.87) 0%,rgba(8,18,11,.64) 43%,rgba(8,15,10,.2) 75%),linear-gradient(0deg,rgba(7,15,9,.42),transparent 45%)}.hero-content{position:relative;z-index:1;width:min(880px,88vw);margin-left:clamp(24px,9vw,145px);padding-top:70px}.eyebrow,.section-tag{text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;font-weight:600}.eyebrow{color:var(--lime);margin-bottom:24px}.hero h1,.section h2{font-family:var(--display);font-weight:500;letter-spacing:-.055em;line-height:.98;margin:0}.hero h1{font-size:clamp(3rem,6.5vw,7rem);max-width:970px}.hero h1 em,.section h2 em{font-weight:400;color:var(--lime)}.hero-copy{font-size:clamp(1rem,1.4vw,1.25rem);max-width:610px;color:rgba(255,255,255,.72);margin:32px 0}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-width:220px;padding:16px 22px;border-radius:4px;font-size:.82rem;font-weight:600;transition:.25s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:var(--ink)}.text-link{font-size:.84rem;border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:4px}.scroll-cue{position:absolute;z-index:1;right:5vw;bottom:36px;display:flex;align-items:center;gap:12px;font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;writing-mode:vertical-rl}.scroll-cue i{height:52px;width:1px;background:rgba(255,255,255,.5)}.section{padding:clamp(80px,11vw,160px) clamp(24px,7vw,110px)}.intro{display:grid;grid-template-columns:1fr 2.2fr .8fr;gap:7vw;align-items:start}.section-tag{display:flex;align-items:center;gap:13px;color:#647067}.section-tag span{color:var(--green);font-size:.58rem;border:1px solid var(--line);border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.kicker{color:var(--green);font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin:0 0 24px}.intro h2,.about h2,.process h2{font-size:clamp(2.6rem,5vw,5.5rem)}.intro h2 em,.process h2 em{color:var(--green)}.intro-copy>p:last-child{font-size:1.06rem;color:#607066;max-width:610px;margin-top:34px}.intro-note{align-self:end;border-top:1px solid var(--line);padding-top:18px;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.leaf-mark{font-size:2.6rem;color:var(--green)}.services{background:var(--ink);color:white}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:64px}.section-heading h2{font-size:clamp(2.7rem,5.5vw,5.8rem);text-align:right}.section-tag.light{color:rgba(255,255,255,.55)}.section-tag.light span{border-color:rgba(255,255,255,.28);color:var(--lime)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;height:560px;overflow:hidden;background:#263c2d}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,17,10,.92),transparent 62%)}.service-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .6s ease}.service-card:hover img{transform:scale(1.04)}.card-copy{position:absolute;z-index:1;left:28px;right:28px;bottom:28px}.card-copy span{color:var(--lime);font-size:.65rem}.card-copy h3{font-family:var(--display);font-size:1.7rem;margin:8px 0}.card-copy p{font-size:.85rem;color:rgba(255,255,255,.68);max-width:330px;margin:0}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:9vw;align-items:center}.about-art{position:relative}.about-art img{height:min(690px,70vw);width:100%;object-fit:cover}.about-art span{position:absolute;left:-36px;bottom:45px;background:var(--lime);padding:22px 30px;font-family:var(--display);font-size:1.2rem;line-height:1.15;transform:rotate(-4deg)}.about-copy h2{font-size:clamp(2.7rem,4.7vw,5rem);margin:16px 0 30px}.about-copy>p:not(.kicker){color:#617067;max-width:580px}.check-list{list-style:none;padding:22px 0 0;margin:30px 0 0;border-top:1px solid var(--line);display:grid;gap:12px;font-size:.88rem;font-weight:600}.check-list li:before{content:"\2726";color:var(--green);margin-right:12px}.process{background:var(--cream)}.process .section-heading h2 em{color:var(--green)}.steps{list-style:none;padding:0;margin:0}.steps li{display:grid;grid-template-columns:100px 1fr;gap:30px;border-top:1px solid var(--line);padding:30px 0;align-items:start}.steps li:last-child{border-bottom:1px solid var(--line)}.steps>li>span{font-size:.7rem;color:#78837b}.steps div{display:flex;align-items:baseline;justify-content:space-between;gap:30px}.steps h3{font-family:var(--display);font-size:clamp(1.3rem,2.1vw,2rem);margin:0;font-weight:500}.steps p{color:#69766e;max-width:410px;font-size:.9rem;margin:0}.contact{position:relative;overflow:hidden;background:var(--green);color:white;min-height:600px;display:flex;align-items:center}.contact:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 85% 50%,rgba(216,255,101,.12),transparent 28%)}.contact-content{position:relative;z-index:1;max-width:770px}.contact h2{font-size:clamp(3.3rem,7vw,7.5rem)}.contact-content>p:not(.eyebrow){color:rgba(255,255,255,.67);max-width:520px;font-size:1.05rem}.contact-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button-light{background:white;color:var(--ink)}.phone{font-size:.95rem;border-bottom:1px solid rgba(255,255,255,.4)}.contact-orbit{position:absolute;right:-75px;width:390px;height:390px;border:1px solid rgba(255,255,255,.2);border-radius:50%;display:grid;place-items:center}.contact-orbit i{font-style:normal;font-size:4rem;color:var(--lime)}.contact-orbit span{position:absolute;font-size:.64rem;letter-spacing:.28em;color:rgba(255,255,255,.55);transform:rotate(90deg)}footer{background:#101b14;color:rgba(255,255,255,.58);padding:45px clamp(24px,7vw,110px);display:grid;grid-template-columns:1fr 1fr;align-items:end;font-size:.7rem}.footer-brand img{width:115px}.footer-brand+p{text-align:right}.footer-social{justify-self:end;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.social-button{width:42px;height:42px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.76);background:rgba(255,255,255,.02);transition:.25s;flex:0 0 auto}.social-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-button:hover{background:var(--lime);border-color:var(--lime);color:var(--ink);transform:translateY(-2px)}.footer-brand~div{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:20px;display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes drop{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:800px){.site-header{height:80px;padding:12px 22px}.brand img{width:110px;height:56px}.menu-button{display:block;z-index:2}.site-nav{position:fixed;inset:0;z-index:19;background:var(--ink);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:18px;padding:104px 24px 32px;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;font-size:1.4rem;transform:translateX(100%);transition:.35s}.site-nav.open{transform:none}.nav-cta{margin-top:8px;background:rgba(255,255,255,.94);color:var(--ink);border-color:rgba(255,255,255,.94)}.hero{min-height:700px}.hero-image{background-position:left center}.hero-content{margin-left:24px;padding-top:50px}.hero h1 br{display:none}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.scroll-cue{display:none}.section{padding:80px 24px}.intro{grid-template-columns:1fr}.intro-note{display:none}.section-heading{display:block}.section-heading h2{text-align:left;margin-top:34px}.service-grid{grid-template-columns:1fr}.service-card{height:430px}.about{grid-template-columns:1fr}.about-art{order:2}.about-art img{height:520px;object-position:right center}.about-art span{left:-8px}.steps li{grid-template-columns:45px 1fr}.steps div{display:block}.steps p{margin-top:10px}.contact-orbit{opacity:.25;right:-240px}.contact-actions{align-items:flex-start;flex-direction:column}.footer-brand+p{text-align:left}footer{grid-template-columns:1fr;gap:15px}.footer-brand~div{grid-column:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important}}
.brand{display:block;width:66px;height:66px;overflow:hidden;flex:0 0 auto}
.brand img{width:140px;max-width:none;filter:none}
.footer-brand{width:58px;height:58px}
.footer-brand img{width:123px}
@media(max-width:800px){.brand{width:56px;height:56px}.brand img{width:119px}.footer-social{justify-self:start}.social-button{width:40px;height:40px}}
.hiring{background:var(--cream);min-height:460px;display:flex;align-items:center}.hiring-content{max-width:720px}.hiring h2{font-family:var(--display);font-size:clamp(3rem,6vw,6rem);font-weight:500;letter-spacing:-.055em;line-height:.98;margin:16px 0 26px}.hiring-content>p:not(.eyebrow){color:#617067;max-width:560px;font-size:1.05rem;margin-bottom:30px}
.hiring .eyebrow{color:var(--green)}
.hiring-cta{background:var(--lime);border-color:var(--lime);border-radius:999px;color:var(--ink);animation:hiring-pulse 2.5s ease-in-out infinite}.hiring-cta:hover,.hiring-cta:focus-visible{background:var(--lime);border-color:var(--lime);color:var(--ink);animation-play-state:paused}@keyframes hiring-pulse{0%,65%,100%{box-shadow:0 0 0 0 rgba(216,255,101,0)}75%{box-shadow:0 0 0 7px rgba(216,255,101,.24)}}@media(prefers-reduced-motion:reduce){.hiring-cta{animation:none}}
.mobile-hiring-cta{display:none}
@media(max-width:800px){.mobile-hiring-cta{display:inline-flex;position:absolute;left:50%;transform:translateX(-50%);min-width:0;padding:9px 12px;gap:8px;font-size:.68rem;white-space:nowrap}.site-header{gap:8px}.mobile-hiring-cta+.menu-button{margin-left:auto}}
.product{background:linear-gradient(180deg,#f5f1e8 0%,#faf8f2 100%)}
.product-heading{margin-bottom:42px}
.product-heading h2{text-align:left}
.product-layout{display:grid;grid-template-columns:1.2fr .9fr;gap:14px;align-items:start}
.product-copy{padding:clamp(6px,1vw,12px) 0}
.product-copy h3{font-family:var(--display);font-size:clamp(2.1rem,4vw,4.2rem);line-height:1.02;margin:0 0 22px}
.product-copy>p:not(.kicker){color:#617067;max-width:650px;margin:0 0 16px}
.product-list{margin-top:26px;max-width:640px}
.product-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:34px}
.product-visual{margin:0;display:flex;flex-direction:column;overflow:hidden}
.product-visual img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center center;border-radius:28px 28px 0 0;box-shadow:0 18px 36px rgba(23,37,28,.12)}
.product-overlay{position:static;z-index:1;padding:18px 12px 0;display:grid;gap:14px;color:var(--ink);max-width:620px}
.product-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:8px 13px;border:1px solid rgba(36,75,50,.16);border-radius:999px;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--green);background:rgba(216,255,101,.35)}
.product-overlay>p{position:relative;max-width:430px;color:#516059;margin:0;font-size:.92rem;line-height:1.7}
.product-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:6px}
.product-stats div{padding:15px 0 0;border-top:1px solid rgba(23,37,28,.12)}
.product-stats strong{display:block;font-family:var(--display);font-size:1.12rem;line-height:1.05;color:var(--green);margin-bottom:8px}
.product-stats span{display:block;font-size:.84rem;line-height:1.45;color:#6c776f}
@media(max-width:800px){.product-layout{grid-template-columns:1fr;gap:14px}.product-visual img{aspect-ratio:4/5;border-radius:24px 24px 0 0}.product-overlay{padding:16px 6px 0}.product-stats{grid-template-columns:1fr;gap:10px}}
.gallery-hero{background:var(--green);color:white;min-height:380px;display:flex;align-items:center;padding:150px clamp(24px,7vw,110px) 70px}
.gallery-hero-content{max-width:780px}
.gallery-hero h1{font-family:var(--display);font-weight:500;letter-spacing:-.05em;line-height:1;margin:0 0 22px;font-size:clamp(2.6rem,5.5vw,5rem)}
.gallery-hero h1 em{font-weight:400;color:var(--lime);font-style:normal}
.gallery-hero p{color:rgba(255,255,255,.72);font-size:1.05rem;max-width:560px;margin:0}
.service-hero{background:linear-gradient(120deg,var(--green),#294b36)}.service-detail{display:grid;grid-template-columns:1fr 1.15fr;gap:9vw;align-items:start}.service-detail .section-heading{display:block;margin:0}.service-detail .section-heading h2{text-align:left;margin-top:34px}.service-detail .section-heading h2 em{color:var(--green)}.service-detail-copy{color:#607066;max-width:650px;font-size:1.02rem}.service-detail-copy .check-list{color:var(--ink);margin-bottom:36px}.dark-link{color:var(--green);border-color:var(--line)}
.gallery-jump{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,40px);padding:30px clamp(24px,7vw,110px);border-bottom:1px solid var(--line);background:var(--paper)}
.gallery-jump a{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--green);padding-bottom:4px;border-bottom:1px solid transparent;transition:.25s}
.gallery-jump a:hover{border-color:var(--green)}
.gallery-category:nth-of-type(even){background:var(--cream)}
.gallery-category-heading{margin:24px 0 44px}
.gallery-category-heading h2{font-size:clamp(2.2rem,4.5vw,3.6rem);margin:0 0 14px}
.gallery-category-heading h2 em{font-weight:400;color:var(--green);font-style:normal}
.gallery-category-heading p{color:#607066;max-width:560px;margin:0;font-size:.98rem}
.service-more,.card-link{display:inline-flex;align-items:center;gap:12px;color:var(--green);font-size:.78rem;font-weight:600;border-bottom:1px solid var(--line);padding-bottom:5px;margin-top:20px}.service-more:hover,.card-link:hover{color:var(--ink);border-color:var(--green)}.card-link{color:var(--lime);border-color:rgba(216,255,101,.4);margin-top:18px}.card-link:hover{color:white;border-color:var(--lime)}
.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.photo-tile{position:relative;aspect-ratio:4/5;overflow:hidden;background:#e4e0d3;margin:0}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.photo-tile:hover img{transform:scale(1.05)}
.photo-id{position:absolute;z-index:1;left:12px;bottom:12px;background:rgba(10,20,13,.72);color:var(--lime);font-family:var(--display);font-size:.72rem;font-weight:600;letter-spacing:.05em;padding:5px 10px;border-radius:3px}
@media(max-width:800px){.gallery-hero{padding:120px 22px 50px;min-height:320px}.gallery-jump{padding:22px}.photo-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.service-detail{display:block}.service-detail .section-heading{margin-bottom:42px}.service-detail-copy{font-size:.98rem}}
@media(max-width:520px){.photo-grid{grid-template-columns:1fr}}
.talks-layout{grid-template-columns:1.15fr .85fr}.talks-copy{max-width:680px}.talks-copy>p:not(.kicker){max-width:650px;font-size:1.02rem}.talks-closing{color:var(--green)!important;font-family:var(--display);font-size:1.2rem!important;font-weight:500}.talks .section-heading h2 em{color:var(--ink)}
.talks-photo{margin:0 0 34px}.talks-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:4px}.talks-photo figcaption{color:#69766e;font-size:.78rem;margin-top:12px}
.talks{background:var(--cream)}.talks .section-heading h2 em{color:var(--green)}.talks-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.talks-copy{max-width:600px}.talks-copy>p:not(.kicker){color:#617067;max-width:560px;font-size:1.05rem}.talks-copy .button{margin-top:18px}.talks-list{border-top:1px solid var(--line)}.talks-list div{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding:22px 0}.talks-list strong{font-family:var(--display);font-size:1.15rem;font-weight:500}.talks-list span{color:#69766e;font-size:.88rem;max-width:250px}@media(max-width:800px){.talks-layout{grid-template-columns:1fr;gap:48px}.talks-list div{display:block}.talks-list span{display:block;margin-top:8px}}
