:root{--ink:#172a26;--ink-2:#244039;--paper:#f4f0e7;--paper-2:#e9e4d7;--lime:#d9e87b;--copper:#b66f4d;--muted:#5e6961;--line:#b8bdb0;--white:#fffdf7;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif;--mono:'Courier New',monospace;--gutter:clamp(20px,4.7vw,76px);--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,select{cursor:pointer}svg{display:block}img{max-width:100%;display:block}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid var(--copper);outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--copper);outline-offset:2px}.container{width:min(calc(100% - var(--gutter)*2),1560px);margin-inline:auto}.skip-link{position:absolute;z-index:100;left:12px;top:-80px;background:var(--lime);padding:10px 16px;font-weight:700}.skip-link:focus{top:12px}.mono{font:700 11px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase}.eyebrow{display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";width:25px;height:1px;background:currentColor}.muted{color:var(--muted)}
.site-header{position:relative;z-index:20;border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:inline-flex;align-items:center;gap:10px;flex:none;font-size:18px;font-weight:700;letter-spacing:-.07em;white-space:nowrap}.brand-mark{width:34px;height:34px}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.7vw,42px)}.desktop-nav a{font:700 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid transparent;transition:color .18s,border-color .18s}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:#8c4935;border-color:currentColor}.header-cta{display:inline-flex;align-items:center;gap:14px;padding:12px 15px;border:1px solid var(--ink);font:700 11px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;transition:background .18s,color .18s,transform .18s}.header-cta:hover{background:var(--ink);color:var(--paper);transform:translateY(-2px)}.header-cta svg,.inline-arrow svg,.button svg{width:17px;height:17px;flex:none}.menu-toggle{display:none;align-items:center;gap:10px;border:1px solid var(--ink);background:transparent;padding:11px 13px;color:var(--ink);font:700 11px/1 var(--mono);text-transform:uppercase}.menu-toggle svg{width:18px;height:18px}.mobile-nav{display:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;min-height:54px;padding:14px 18px;border:1px solid var(--ink);font:700 11px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.08em;transition:background .18s,color .18s,transform .18s,border-color .18s}.button:hover{transform:translateY(-2px)}.button--dark{background:var(--ink);color:var(--paper)}.button--dark:hover{background:var(--ink-2)}.button--light:hover{background:var(--lime)}.button--lime{background:var(--lime);color:var(--ink);border-color:var(--lime)}.button--lime:hover{background:var(--white);border-color:var(--white)}.inline-arrow{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid currentColor;padding-bottom:6px;font:700 11px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;transition:gap .18s,color .18s}.inline-arrow:hover{gap:18px;color:#8c4935}
.hero{padding-block:clamp(62px,8vw,120px) clamp(80px,10vw,150px);overflow:hidden}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);gap:clamp(30px,5vw,85px);align-items:center}.hero-copy{position:relative;z-index:2}.hero h1,.page-hero h1{font:400 clamp(72px,8.2vw,142px)/.89 var(--serif);letter-spacing:-.072em;margin:30px 0 33px;text-wrap:balance}.hero h1 em,.page-hero h1 em,.section-head h2 em,.manifesto h2 em{color:var(--copper);font-weight:400}.hero h1 .line{display:block}.hero-lead{max-width:560px;font-size:clamp(17px,1.7vw,23px);line-height:1.48;letter-spacing:-.02em;margin:0;color:#3c5147}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}.hero-proof{display:flex;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:20px;margin-top:clamp(40px,6vw,85px);max-width:660px}.hero-proof strong{font:400 35px/1 var(--serif)}.hero-proof p{font-size:12px;line-height:1.4;max-width:350px;margin:0;color:var(--muted)}
.hero-composition{position:relative;min-height:600px;isolation:isolate;perspective:900px}.hero-composition:before{content:"";position:absolute;inset:6% 3% 4% 12%;border:1px solid #91a397;border-radius:50%;opacity:.7}.hero-composition:after{content:"";position:absolute;inset:13% 11% 13% 20%;border:1px solid #91a397;border-radius:50%;opacity:.35}.orbital{position:absolute;inset:0;transform:translate3d(calc(var(--pointer-x,0)*1px),calc(var(--pointer-y,0)*1px),0);transition:transform .5s var(--ease);will-change:transform}.art-main{position:absolute;inset:13% 12% 17% 2%;background:var(--ink);overflow:hidden;box-shadow:22px 25px 0 #c9d2b9}.art-main svg{width:100%;height:100%}.art-side{position:absolute;z-index:2;width:36%;aspect-ratio:.88;right:-2%;top:3%;background:var(--copper);border:10px solid var(--paper);overflow:hidden;transform:rotate(8deg)}.art-side svg{width:100%;height:100%}.art-corner{position:absolute;z-index:3;left:-5%;bottom:7%;width:32%;aspect-ratio:1;background:var(--lime);display:grid;place-items:center;border:10px solid var(--paper);transform:rotate(-8deg)}.art-corner span{font:italic 400 clamp(80px,10vw,160px)/1 var(--serif);letter-spacing:-.13em}.art-caption{position:absolute;z-index:5;right:2%;bottom:4%;writing-mode:vertical-rl;color:var(--muted)}.scroll-cue{position:absolute;left:0;top:0;color:var(--muted)}
.section{padding-block:clamp(80px,10vw,150px);border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:minmax(125px,.28fr) minmax(0,1fr);gap:clamp(25px,5vw,85px);margin-bottom:clamp(45px,6vw,90px)}.section-head .mono{padding-top:11px;color:#8c4935}.section-head h2,.manifesto h2{font:400 clamp(55px,6.5vw,106px)/.96 var(--serif);letter-spacing:-.065em;margin:0;text-wrap:balance}.section-head p{font-size:clamp(16px,1.5vw,20px);line-height:1.52;max-width:530px;margin:25px 0 0;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1.08fr .92fr .9fr;grid-template-rows:310px 280px;gap:10px}.service-card{position:relative;overflow:hidden;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(24px,3vw,42px);background:var(--paper-2);transition:background .24s}.service-card:nth-child(1){grid-row:span 2;background:var(--ink);color:var(--paper)}.service-card:nth-child(2){grid-column:span 2;background:var(--lime)}.service-card:nth-child(3){background:#c7d1c2}.service-card:nth-child(4){background:#d4bca7}.service-card:hover{background:#d9d5c9}.service-card:nth-child(1):hover{background:var(--ink-2)}.service-card:nth-child(2):hover{background:#e3ef91}.service-card .service-num{position:relative;z-index:2;font:700 11px/1 var(--mono);letter-spacing:.13em}.service-card h3{position:relative;z-index:2;font:400 clamp(32px,3.2vw,54px)/1.03 var(--serif);letter-spacing:-.045em;margin:0 0 12px;max-width:430px}.service-card p{position:relative;z-index:2;font-size:14px;line-height:1.52;max-width:350px;margin:0;opacity:.86}.service-glyph{position:absolute;right:-6%;top:5%;width:50%;height:auto;opacity:.28;transition:transform .45s var(--ease)}.service-card:hover .service-glyph{transform:translate(-8px,8px) rotate(-5deg)}.service-card:nth-child(1) .service-glyph{width:96%;right:-24%;top:20%;opacity:.19}
.work-band{background:#e7e4d9}.work-list{display:grid;grid-template-columns:1fr 1fr;gap:65px clamp(30px,5vw,90px);align-items:start}.work-item:nth-child(2){margin-top:115px}.work-item:nth-child(3){margin-top:-20px}.work-visual{position:relative;aspect-ratio:1.3;overflow:hidden;background:var(--ink)}.work-item:nth-child(2) .work-visual{aspect-ratio:1}.work-visual svg{width:100%;height:100%;transition:transform .55s var(--ease)}.work-item:hover .work-visual svg{transform:scale(1.035)}.work-visual .label{position:absolute;top:17px;left:17px;background:var(--paper);padding:9px 11px;font:700 10px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em}.work-info{display:flex;justify-content:space-between;gap:15px;margin-top:18px;padding-top:17px;border-top:1px solid var(--ink)}.work-info h3{font:400 clamp(28px,3vw,45px)/1 var(--serif);letter-spacing:-.04em;margin:0 0 8px}.work-info p,.work-info span{font:700 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.04em;margin:0;color:var(--muted)}.work-footnote{grid-column:2;align-self:end;max-width:360px;font-size:13px;color:var(--muted);margin:-25px 0 0}
.manifesto{background:var(--ink);color:var(--paper);padding-block:clamp(95px,12vw,175px)}.manifesto-grid{display:grid;grid-template-columns:.28fr 1fr;gap:clamp(30px,6vw,100px)}.manifesto .mono{color:var(--lime)}.manifesto h2{max-width:1080px}.manifesto h2 em{color:var(--lime)}.manifesto-foot{grid-column:2;border-top:1px solid #718078;padding-top:25px;display:flex;justify-content:space-between;gap:40px;align-items:end}.manifesto-foot p{font-size:16px;line-height:1.6;max-width:480px;color:#cbd8cc;margin:0}.asterisk{width:88px;height:88px;border:1px solid #869a8d;border-radius:50%;display:grid;place-items:center;transform:rotate(16deg)}.asterisk svg{width:42px;height:42px}
.cta-section{padding-block:clamp(90px,10vw,155px)}.cta-grid{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end}.cta-section h2{font:400 clamp(65px,8vw,132px)/.92 var(--serif);letter-spacing:-.07em;margin:19px 0 0;max-width:970px}.cta-section h2 em{font-weight:400;color:var(--copper)}.cta-section .button{margin-bottom:10px}.footer{background:#10231e;color:var(--paper);padding-block:38px 30px}.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:35px}.footer .brand{color:var(--paper)}.footer p{max-width:300px;font-size:13px;line-height:1.55;color:#bdc9bb}.footer h2{font:700 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;margin:0 0 18px;color:var(--lime)}.footer ul{list-style:none;margin:0;padding:0}.footer li+li{margin-top:9px}.footer a{transition:color .18s}.footer a:hover{color:var(--lime)}.footer-bottom{border-top:1px solid #42544b;padding-top:22px;margin-top:58px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#bdc9bb;font:700 10px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.07em}
.page-hero{padding-block:clamp(75px,9vw,145px) clamp(70px,9vw,135px);overflow:hidden}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,.7fr);gap:clamp(25px,5vw,90px);align-items:end}.page-hero h1{font-size:clamp(68px,8vw,132px);max-width:1060px}.page-hero p{font-size:clamp(17px,1.8vw,24px);line-height:1.45;color:var(--muted);max-width:500px;margin:0 0 10px}.page-hero-art{height:260px;position:relative;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);overflow:hidden}.page-hero-art svg{position:absolute;width:100%;height:100%;right:0}.page-hero-art .mono{position:absolute;z-index:2;bottom:12px;right:0;background:var(--paper);padding:5px}
.service-detail{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(220px,.56fr);gap:clamp(20px,4vw,65px);padding-block:clamp(40px,6vw,85px);border-top:1px solid var(--line)}.service-detail:last-child{border-bottom:1px solid var(--line)}.service-detail h2{font:400 clamp(38px,4.5vw,72px)/1 var(--serif);letter-spacing:-.05em;margin:0}.service-detail p{margin:0;color:var(--muted);max-width:410px;font-size:16px}.service-detail ul{list-style:none;margin:28px 0 0;padding:0;display:flex;gap:8px;flex-wrap:wrap}.service-detail li{border:1px solid var(--line);padding:8px 11px;font:700 10px/1.2 var(--mono);text-transform:uppercase;letter-spacing:.05em}.service-detail .num{color:#8c4935}
.process{background:var(--paper-2)}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.process-step{border-top:1px solid var(--ink);padding-top:18px}.process-step span{font:700 11px var(--mono);color:#8c4935}.process-step h3{font:400 clamp(25px,2.4vw,38px)/1.1 var(--serif);margin:25px 0 12px}.process-step p{font-size:14px;color:var(--muted);margin:0}
.work-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 50px}.work-page-grid .work-item:nth-child(n){margin-top:0}.work-page-grid .work-item:nth-child(2){padding-top:90px}.work-page-grid .work-item:nth-child(4){padding-top:90px}.work-page-grid .work-visual{aspect-ratio:1.35}.portfolio-note{font-size:13px;color:var(--muted);max-width:620px;margin:35px 0 0}
.about-lead{display:grid;grid-template-columns:.3fr 1fr;gap:70px;padding-block:clamp(90px,11vw,165px);border-top:1px solid var(--line)}.about-lead p{font:400 clamp(32px,4vw,62px)/1.17 var(--serif);letter-spacing:-.04em;margin:0;max-width:960px}.about-lead p em{color:var(--copper)}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.value{border-top:1px solid var(--ink);padding-top:17px}.value h3{font:400 clamp(27px,2.8vw,42px)/1.1 var(--serif);margin:32px 0 14px}.value p{font-size:14px;line-height:1.6;color:var(--muted);max-width:370px}.region-band{background:var(--lime);padding-block:70px}.region-band .container{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.region-band h2{font:400 clamp(40px,5vw,80px)/1 var(--serif);letter-spacing:-.05em;margin:0}.region-band p{max-width:450px;margin:0;font-size:18px;line-height:1.5}
.contact-page-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:clamp(35px,8vw,130px);padding-block:clamp(70px,9vw,130px);border-top:1px solid var(--line)}.contact-aside h2{font:400 clamp(48px,5vw,80px)/1 var(--serif);letter-spacing:-.05em;margin:0 0 25px}.contact-aside p{font-size:17px;color:var(--muted);max-width:430px}.contact-method{border-top:1px solid var(--line);padding-top:18px;margin-top:35px}.contact-method a{font:400 clamp(23px,2.6vw,37px)/1.2 var(--serif);border-bottom:1px solid currentColor;overflow-wrap:anywhere}.contact-method a:hover{color:#8c4935}.contact-method .mono{display:block;margin-bottom:10px}.contact-form{border-top:1px solid var(--ink);padding-top:18px}.contact-form>p{font-size:13px;color:var(--muted);margin:0 0 28px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{margin-bottom:19px}.field label{display:block;margin-bottom:9px;font:700 11px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.07em}.field input,.field select,.field textarea{display:block;width:100%;min-height:50px;padding:13px;border:1px solid #a0a99d;background:transparent;border-radius:0;color:var(--ink);font-size:16px}.field textarea{min-height:145px;resize:vertical}.field [aria-invalid=true]{border-color:#9c422e;background:#f8e8df}.error{display:block;min-height:16px;margin-top:4px;color:#9c422e;font-size:12px}.form-status{display:block;margin-top:12px;font-size:13px;color:var(--ink-2)}.form-status:empty{display:none}.form-foot{font-size:12px;color:var(--muted);margin-top:18px}.form-foot a{text-decoration:underline}
[data-reveal]{transition:transform .55s var(--ease),opacity .55s var(--ease)}.js-motion [data-reveal]:not(.is-visible){transform:translateY(18px);opacity:.88}.js-motion [data-reveal].is-visible{transform:none;opacity:1}.hero-composition,.page-hero-art{contain:layout paint}
@media(max-width:1050px){.desktop-nav{gap:17px}.hero-grid{grid-template-columns:1fr .9fr}.hero h1{font-size:clamp(65px,8.2vw,95px)}.hero-composition{min-height:480px}.service-grid{grid-template-rows:270px 250px}.page-hero-art{height:215px}}
@media(max-width:760px){.desktop-nav,.header-cta{display:none}.menu-toggle{display:inline-flex}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--ink);padding:15px var(--gutter) 25px;box-shadow:0 18px 28px #172a261a}.mobile-nav.is-open{display:block}.mobile-nav a{display:block;font:400 27px/1.15 var(--serif);padding:14px 0;border-bottom:1px solid var(--line)}.mobile-nav a[aria-current=page]{color:#8c4935}.hero-grid,.page-hero-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(67px,13vw,100px)}.hero-composition{min-height:530px;max-width:600px;width:100%;margin-top:20px}.section-head{grid-template-columns:1fr;gap:18px}.section-head .mono{padding:0}.service-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.service-card{min-height:255px}.service-card:nth-child(1){grid-column:span 2;grid-row:auto;min-height:410px}.service-card:nth-child(2){grid-column:span 2}.work-item:nth-child(2){margin-top:75px}.work-item:nth-child(3){margin:0}.manifesto-grid{grid-template-columns:1fr}.manifesto-foot{grid-column:1}.cta-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1.2fr 1fr}.page-hero-art{height:210px;max-width:500px}.service-detail{grid-template-columns:55px 1fr;gap:20px}.service-detail p{grid-column:2}.process-grid{grid-template-columns:1fr 1fr;gap:35px}.about-lead{grid-template-columns:1fr;gap:20px}.contact-page-grid{grid-template-columns:1fr}.contact-aside{max-width:650px}}
@media(max-width:520px){.header-inner{min-height:69px}.brand{font-size:16px}.brand-mark{width:28px;height:28px}.hero{padding-top:62px}.hero h1{font-size:clamp(58px,15vw,80px)}.hero-actions .button{width:100%}.hero-composition{min-height:370px}.art-side,.art-corner{border-width:6px}.art-corner span{font-size:75px}.art-caption{font-size:9px}.section-head h2,.manifesto h2{font-size:clamp(46px,11.8vw,66px)}.service-grid,.work-list,.work-page-grid{grid-template-columns:1fr}.service-card:nth-child(n){grid-column:1;min-height:245px}.service-card:nth-child(1){min-height:370px}.work-item:nth-child(n),.work-page-grid .work-item:nth-child(n){margin:0;padding:0}.work-footnote{grid-column:1;margin:0}.manifesto-foot{display:block}.asterisk{margin-top:30px}.cta-section h2{font-size:clamp(60px,13vw,80px)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:span 2}.page-hero h1{font-size:clamp(57px,13.5vw,80px)}.page-hero-art{height:170px}.service-detail{grid-template-columns:1fr;gap:14px}.service-detail p{grid-column:1}.process-grid,.about-values,.region-band .container,.field-pair{grid-template-columns:1fr}.region-band .container{gap:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js-motion [data-reveal]:not(.is-visible){transform:none;opacity:1}.orbital{transform:none!important}}
