@charset "UTF-8";
:root{--forest:#17342b;--dark:#10271f;--ink:#1a2a23;--cream:#f4f2e9;--paper:#faf9f4;--sage:#c9d4b7;--line:#d0d4c7;--lime:#d8e6ab;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-weight:400;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;width:100%}h1,h2,h3,p{margin-top:0}::selection{background:var(--lime);color:var(--dark)}.skip-link{position:absolute;z-index:1000;top:-100px;left:1rem;padding:.75rem 1rem;background:#fff;color:#111}.skip-link:focus{top:1rem}
.site-header{position:fixed;inset:0 0 auto;z-index:100;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,4vw,72px);color:white;transition:background .35s,box-shadow .35s}.site-header.is-scrolled{height:72px;background:rgba(18,44,34,.96);box-shadow:0 8px 30px rgba(0,0,0,.09);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:10px;position:relative;z-index:102}.brand-mark{width:32px;height:32px;color:var(--lime)}.brand-mark svg{width:100%;height:100%}.brand-name{display:flex;flex-direction:column;font-size:20px;font-weight:700;letter-spacing:.21em;line-height:1}.brand-name small{font-size:9px;font-weight:500;letter-spacing:.28em;margin-top:6px}.site-nav{display:flex;align-items:center;gap:clamp(20px,2.4vw,44px);font-size:11px;font-weight:600;letter-spacing:.12em}.site-nav>a:not(.nav-contact){padding:12px 0;transition:opacity .2s}.site-nav>a:not(.nav-contact):hover{opacity:.65}.nav-contact{border:1px solid rgba(255,255,255,.65);padding:14px 18px;display:flex;gap:30px;align-items:center;transition:background .2s,color .2s}.nav-contact:hover{background:white;color:var(--dark)}.menu-toggle{display:none}
.hero{position:relative;min-height:780px;height:100svh;color:#fff;overflow:hidden;background:var(--dark)}.hero-photo,.hero-shade{position:absolute;inset:0}.hero-photo{background-image:url('photos/0.webp');background-size:cover;background-position:center;transform:scale(1.16);animation:heroIn 1.5s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(8,30,20,.83),rgba(8,30,20,.52) 47%,rgba(8,30,20,.05) 80%),linear-gradient(0deg,rgba(7,27,17,.42),transparent 34%)}.hero-inner{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:120px clamp(24px,7.6vw,128px) 115px}.hero-eyebrow{display:flex;gap:14px;align-items:center;margin:0 0 38px;font-size:11px;letter-spacing:.23em;font-weight:600}.hero-eyebrow .line{display:inline-block;width:36px;height:1px;background:var(--lime)}.hero-eyebrow span:last-child{opacity:.63}.hero h1{margin:0;font-size:clamp(70px,8.1vw,148px);font-weight:500;letter-spacing:-.09em;line-height:1.16;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--lime)}.hero-lead{margin:34px 0 0;font-size:clamp(14px,1.12vw,18px);line-height:2.1;letter-spacing:.08em}.round-link{width:64px;height:64px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.75);border-radius:50%;font-size:30px;transition:background .25s,color .25s,transform .25s}.round-link:hover{background:#fff;color:var(--dark);transform:translateY(4px)}.hero-link{position:absolute;right:clamp(24px,7.6vw,128px);bottom:115px}.hero-bottom{position:absolute;z-index:2;left:clamp(24px,4vw,72px);right:clamp(24px,4vw,72px);bottom:29px;padding-top:19px;border-top:1px solid rgba(255,255,255,.4);display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:.14em}.hero-bottom span span{margin-left:14px;font-size:17px;vertical-align:middle}@keyframes heroIn{from{transform:scale(1.2);filter:brightness(.78)}to{transform:scale(1.16);filter:brightness(1)}}
.section-pad{padding:clamp(90px,11vw,180px) clamp(24px,7.6vw,128px)}.section-label{display:flex;align-items:center;gap:16px;font-size:11px;font-weight:700;letter-spacing:.18em;color:#536a54}.section-label .number{display:grid;place-items:center;border:1px solid #8d9b87;border-radius:50%;width:32px;height:32px;font-size:10px;letter-spacing:0}.section-label.light{color:var(--sage)}.section-label.light .number{border-color:#8ba18d}.overline{font-size:11px;font-weight:700;letter-spacing:.18em;color:#6b806b}.intro{background:var(--cream);padding-bottom:65px}.intro-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.55fr);column-gap:9vw;padding:85px 0 105px}.intro-main>.overline{grid-column:1/-1;margin:0 0 32px}.intro h2{font-weight:500;letter-spacing:-.065em;font-size:clamp(50px,5.55vw,94px);line-height:1.42;margin:0}.intro h2 span{color:#718b70}.intro-copy{align-self:end;max-width:370px;padding-bottom:13px}.intro-copy p{font-size:15px;line-height:2.3;letter-spacing:.045em;margin:0 0 20px}.intro-footer{border-top:1px solid #bdc6b5;padding-top:24px;display:flex;justify-content:space-between;align-items:flex-start;color:#6b806b;font-size:11px;letter-spacing:.15em}.intro-stamp{display:grid;place-items:center;border:1px solid #8da58a;border-radius:50%;width:82px;height:82px;font-size:12px;line-height:1.1;text-align:center;transform:rotate(-17deg);color:var(--forest)}
.services{background:var(--forest);color:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin:90px 0 65px}.section-heading .overline{color:var(--lime)}.section-heading h2,.process h2{font-size:clamp(45px,5vw,82px);font-weight:500;letter-spacing:-.07em;line-height:1.42;margin:24px 0 0}.section-heading>p{max-width:310px;font-size:14px;line-height:2.1;color:#d3ded0;margin-bottom:12px}.service-list{border-top:1px solid #789084}.service-row{display:grid;grid-template-columns:100px minmax(0,1.25fr) minmax(0,.8fr) 40px;align-items:center;gap:20px;min-height:153px;border-bottom:1px solid #789084}.service-no{font-size:12px;color:var(--lime);letter-spacing:.1em}.service-row h3{font-size:clamp(26px,2.3vw,38px);font-weight:500;letter-spacing:.03em;margin:0}.service-row p{font-size:13px;line-height:1.9;color:#c5d2c5;margin:0}.service-arrow{font-size:26px;font-weight:300;color:var(--lime)}
.works{background:#f8f7f1}.works-heading{display:flex;justify-content:space-between;gap:50px;align-items:end;margin:90px 0 68px}.works h2{font-size:clamp(46px,5.6vw,92px);font-weight:500;line-height:1.42;letter-spacing:-.07em;margin:0}.works h2 em{font-style:normal;color:#739170}.works-heading p{font-size:14px;line-height:2.1;min-width:260px;margin-bottom:14px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,90px)}.work-card-offset{margin-top:125px}.work-image{overflow:hidden;aspect-ratio:4/4.6;background:#d7decf}.work-image img{height:100%;object-fit:cover;transition:transform .7s ease}.work-card:hover img{transform:scale(1.045)}.work-caption{border-top:1px solid #adb9ac;margin-top:26px;padding-top:25px;display:flex;justify-content:space-between}.work-caption span{font-size:10px;letter-spacing:.16em;color:#688268}.work-caption h3{font-size:clamp(20px,2vw,32px);font-weight:500;letter-spacing:-.025em;margin:16px 0 12px}.work-caption p{font-size:13px;color:#67766b;line-height:1.8}.work-caption>span{font-size:27px;color:var(--forest)}.work-note{font-size:11px;color:#768278;margin:45px 0 0}
.process{background:#e8ece1}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-top:85px}.process h2{margin-bottom:26px}.process-intro{max-width:440px;font-size:14px;line-height:2.2}.steps{list-style:none;margin:0;padding:0;border-top:1px solid #aab9a9}.steps li{display:flex;gap:35px;border-bottom:1px solid #aab9a9;padding:28px 0 31px}.steps li>span{font-size:11px;color:#5b8068;padding-top:7px}.steps h3{font-size:23px;font-weight:500;margin:0 0 12px}.steps p{font-size:13px;line-height:1.9;color:#617166;max-width:320px;margin:0}
.contact{background:var(--dark);color:#fff;min-height:650px;display:flex;flex-direction:column;justify-content:space-between}.contact-top{display:flex;justify-content:space-between;border-bottom:1px solid #63776b;padding-bottom:21px;font-size:11px;letter-spacing:.18em;color:#bcd1b6}.contact-content{padding:70px 0 30px}.contact-content>p{font-size:15px;letter-spacing:.1em;color:#c7d7c6}.contact h2{font-weight:500;font-size:clamp(62px,7.2vw,120px);line-height:1.25;letter-spacing:-.08em;margin:0 0 52px}.contact h2 em{font-style:normal;color:var(--lime)}.contact-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:85px;min-width:290px;padding:20px 23px;border:1px solid #b3c7b4;font-size:13px;letter-spacing:.08em;transition:background .25s,color .25s}.contact-cta:hover{background:var(--lime);color:var(--dark)}.contact-cta span{font-size:23px}.contact-content small{display:block;margin-top:18px;color:#9aaf9d;font-size:10px}.site-footer{background:#0b1f18;color:#d2dfd2;padding:48px clamp(24px,7.6vw,128px) 35px;display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:15px}.footer-brand{font-size:28px;font-weight:700;letter-spacing:.18em;color:#fff}.footer-brand small{font-size:11px;font-weight:400;letter-spacing:.1em}.site-footer p{font-size:12px;margin-top:8px}.site-footer>div{display:flex;gap:27px;font-size:10px;letter-spacing:.12em}.site-footer>span{grid-column:1/-1;font-size:10px;letter-spacing:.12em;color:#819b88;margin-top:48px;border-top:1px solid #365245;padding-top:22px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:860px){.site-header{height:72px}.menu-toggle{display:flex;position:relative;z-index:102;flex-direction:column;justify-content:center;gap:7px;border:0;background:transparent;width:42px;height:42px;padding:7px;cursor:pointer}.menu-toggle span{height:1px;background:#fff;width:28px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.site-nav{position:fixed;inset:0;background:var(--dark);display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:0;padding:80px 8vw;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .25s,transform .25s,visibility .25s}.site-nav.is-open{opacity:1;visibility:visible;transform:none}.site-nav>a{font-size:22px;padding:18px 0!important;border-bottom:1px solid #56705d}.site-nav .nav-contact{margin-top:32px;font-size:16px;justify-content:space-between;padding:18px!important}.hero{min-height:650px}.hero-photo{background-position:59% center}.hero-shade{background:linear-gradient(90deg,rgba(8,30,20,.79),rgba(8,30,20,.28) 84%),linear-gradient(0deg,rgba(7,27,17,.48),transparent 50%)}.hero-inner{padding-top:130px}.hero h1{font-size:clamp(64px,10vw,92px)}.hero-link{bottom:95px}.intro-main{grid-template-columns:1fr;gap:36px;padding:65px 0 85px}.intro-main>.overline{margin:0}.intro-copy{max-width:600px}.section-heading,.works-heading{align-items:start;flex-direction:column;margin:65px 0 45px;gap:22px}.section-heading>p{max-width:500px}.service-row{grid-template-columns:45px 1fr 35px;min-height:140px}.service-row p{grid-column:2;grid-row:2;margin-top:-35px}.service-arrow{grid-column:3;grid-row:1}.process-grid{grid-template-columns:1fr;gap:50px}.site-footer{grid-template-columns:1fr 1fr}.site-footer>div{grid-column:1/-1}.site-footer>span{margin-top:20px}}
@media(max-width:620px){.site-header{padding:0 22px}.brand-mark{width:27px;height:27px}.brand-name{font-size:16px}.hero{height:100svh;min-height:620px}.hero-photo{background-position:60% center}.hero-inner{padding:115px 24px 105px;justify-content:center}.hero-eyebrow{font-size:9px;gap:8px;margin-bottom:29px}.hero-eyebrow .line{width:22px}.hero-eyebrow span:last-child{display:none}.hero h1{font-size:clamp(56px,13vw,78px);line-height:1.2}.hero-lead{font-size:13px;line-height:2;margin-top:27px}.hero-link{right:24px;bottom:94px;width:51px;height:51px;font-size:25px}.hero-bottom{left:24px;right:24px;bottom:22px;font-size:8px}.hero-bottom>span:last-child{display:none}.section-pad{padding:88px 24px}.section-label{font-size:10px}.intro{padding-bottom:43px}.intro-main{padding:57px 0 65px}.intro h2{font-size:clamp(40px,10.5vw,60px)}.intro-copy p{font-size:14px}.intro-stamp{width:61px;height:61px}.section-heading h2,.process h2{font-size:clamp(38px,10vw,58px)}.service-row{grid-template-columns:31px 1fr 25px;gap:11px;min-height:133px}.service-row h3{font-size:25px}.service-row p{font-size:11px;margin-top:-31px}.works h2{font-size:clamp(40px,10vw,58px)}.works-heading p{font-size:13px}.work-grid{grid-template-columns:1fr;gap:57px}.work-card-offset{margin-top:0}.work-image{aspect-ratio:4/4.2}.work-caption{margin-top:18px;padding-top:18px}.work-caption h3{font-size:23px}.work-note{line-height:1.7}.process-grid{margin-top:58px}.contact{min-height:550px}.contact-top{font-size:9px}.contact h2{font-size:clamp(55px,13vw,75px)}.contact-cta{min-width:min(100%,320px)}.site-footer{padding:45px 24px 32px;grid-template-columns:1fr}.site-footer p{margin:0}.site-footer>div{grid-column:1;flex-wrap:wrap}.site-footer>span{margin-top:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo{animation:none}.reveal{opacity:1;transform:none;transition:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
