@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
:root{--paper:#f5f3ed;--surface:#e9e7df;--ink:#242823;--muted:#62675e;--line:#c9ccc2;--accent:#ad4f31;--night:#1e2725;--night-ink:#f0f0e8;--max:1480px;--mono:"DM Mono", monospace;--body:"DM Sans", Arial, sans-serif;--display:"Manrope", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#202723;--surface:#2b342e;--ink:#f2f0e8;--muted:#abb6a8;--line:#465148;--accent:#e39877;--night:#111a17;--night-ink:#f4f3eb;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body);margin:0;line-height:1.6}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:3px}::selection{background:var(--accent);color:#fff}.wrap{width:min(calc(100% - 64px), var(--max));margin-inline:auto}.eyebrow,.fine-print,.brand-name small,.button,.text-link,.project-meta,.visual-top,.visual-bottom,.hero-footer,.filter,.tech-row small,.back-link,.footer-bottom,.icon-button,.menu-toggle{font-family:var(--mono);letter-spacing:.075em;text-transform:uppercase;font-size:.72rem}.eyebrow{letter-spacing:.13em;font-weight:500}.accent{color:var(--accent)}h1,h2,h3,p,blockquote{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(3.7rem,8vw,8.8rem)}h2{font-size:clamp(2.4rem,4.6vw,5rem)}h3{font-size:clamp(1.45rem,2.3vw,2.6rem)}p{color:var(--muted)}small{font-size:.75rem}.lead{font-size:clamp(1.18rem,2.1vw,1.65rem);line-height:1.55}.section-pad{padding-block:clamp(80px,10vw,160px)}.skip-link{background:var(--ink);color:var(--paper);z-index:20;padding:12px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:10;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{height:78px;max-width:calc(var(--max) + 64px);align-items:center;gap:38px;margin:auto;padding:0 32px;display:flex}.brand{align-items:center;gap:13px;min-width:210px;display:flex}.brand-mark{font:800 1.55rem var(--display);letter-spacing:-.1em}.brand-mark span,.footer strong span{color:var(--accent)}.brand-name{font:700 .8rem var(--display);letter-spacing:.07em;line-height:1.2}.brand-name small{color:var(--muted);margin-top:4px;font-size:.56rem;display:block}.nav{align-items:center;gap:clamp(12px,1.5vw,26px);margin-left:auto;display:flex}.nav a{white-space:nowrap;font-size:.81rem;font-weight:600}.nav a[aria-current=page]{color:var(--accent)}.header-actions{align-items:center;gap:10px;display:flex}.lang-switch{font:500 .72rem var(--mono);border-left:1px solid var(--line);padding-left:20px}.icon-button,.menu-toggle{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:8px}.icon-button{font-size:1.2rem;line-height:1}.menu-toggle{display:none}.button{border:1px solid var(--ink);cursor:pointer;justify-content:center;align-items:center;min-height:50px;padding:0 20px;font-weight:500;transition:background .2s,color .2s,transform .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--ink);color:var(--paper)}.button.primary:hover{background:var(--accent);border-color:var(--accent);color:#fff}.button.secondary{background:0 0}.button.secondary:hover{background:var(--surface)}.button.light{background:var(--night-ink);border-color:var(--night-ink);color:var(--night)}.text-link{border-bottom:1px solid;align-items:center;gap:25px;padding-bottom:8px;font-weight:500;display:inline-flex}.text-link span{font-size:1.1rem}.hero{flex-direction:column;justify-content:space-between;min-height:calc(100svh - 78px);display:flex}.hero-index,.hero-footer{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;padding:18px 0;display:flex}.hero-main{grid-template-columns:1.35fr .65fr;align-items:end;gap:45px;padding-block:55px 70px;display:grid}.hero-main h1{margin:.08em 0 0;font-weight:800;line-height:.96}.hero-main h1 span{color:var(--accent)}.hero-main h1 em{color:var(--muted);font-style:normal}.hero-aside{padding-bottom:12px}.hero-aside p{color:var(--ink);max-width:390px;margin:28px 0;font-size:clamp(1.1rem,1.7vw,1.4rem);line-height:1.5}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.orbit-diagram{border-left:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(90deg, transparent calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px)), linear-gradient(0deg, transparent calc(50% - .5px), var(--line) 50%, transparent calc(50% + .5px));width:min(100%,360px);height:200px;position:relative}.orbit-diagram:after{content:"";border:1px solid var(--accent);border-radius:50%;position:absolute;inset:23px 85px;transform:rotate(-22deg)}.orbit-diagram span{background:var(--paper);z-index:1;font:500 .63rem var(--mono);letter-spacing:.08em;padding:2px 6px;position:absolute}.orbit-diagram span:first-child{top:15px;left:5px}.orbit-diagram span:nth-child(2){top:86px;right:0}.orbit-diagram span:nth-child(3){bottom:11px;left:12px}.orbit-diagram b{z-index:2;background:var(--accent);color:#fff;font:500 .7rem var(--mono);padding:5px 7px;position:absolute;top:85px;left:46%}.hero-footer{border-top:1px solid var(--line);color:var(--muted);border-bottom:0}.intro-section{background:var(--surface)}.intro-grid{grid-template-columns:1fr 2fr;gap:40px;padding-block:110px;display:grid}.intro-grid h2{max-width:850px}.intro-grid .lead{max-width:800px}.layer-list{flex-wrap:wrap;gap:9px;margin-top:48px;display:flex}.layer-list span{border:1px solid var(--line);font:500 .7rem var(--mono);letter-spacing:.08em;padding:10px 13px}.section-head{grid-template-columns:1fr 2fr;gap:30px;margin-bottom:55px;display:grid}.section-head h2{max-width:850px}.section-head p{grid-column:2;max-width:640px;font-size:1.08rem}.disciplines{background:var(--line);border:1px solid var(--line);grid-template-columns:1.12fr 1fr 1fr;gap:1px;display:grid}.discipline{background:var(--paper);flex-direction:column;min-height:510px;padding:clamp(26px,3vw,55px);display:flex}.discipline h3{max-width:350px;margin-top:auto}.discipline p{max-width:350px}.discipline small{font:500 .68rem var(--mono);color:var(--muted);margin-top:30px}.d1{background:var(--night);color:var(--night-ink)}.d1 p,.d1 small{color:#c5cec7}.d2{background:var(--surface)}.d3{background:var(--paper)}.section-end{justify-content:flex-end;margin-top:45px;display:flex}.dark-section{background:var(--night);color:var(--night-ink)}.dark-section p{color:#c2cbc3}.dark-section .project-item,.dark-section .project-meta{border-color:#56615a}.project-list{gap:0;display:grid}.project-item{border-top:1px solid var(--line);grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(30px,5vw,85px);padding:45px 0;display:grid}.project-item:last-child{border-bottom:1px solid var(--line)}.project-copy h3{margin:20px 0}.project-copy p{max-width:530px}.project-meta{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;gap:20px;margin-top:25px;padding:18px 0;display:flex}.project-visual{color:#1e2923;background:#d5dcd1;flex-direction:column;justify-content:space-between;min-height:390px;padding:25px;display:flex;position:relative;overflow:hidden}.project-visual.pilot{background:#cbd8cf}.project-visual.concept{background:#d9cdbb}.visual-top,.visual-bottom{z-index:1;justify-content:space-between;gap:15px;display:flex;position:relative}.visual-bottom{justify-content:flex-start}.visual-flow{font:500 .69rem var(--mono);z-index:1;align-items:center;gap:7px;display:flex;position:relative}.visual-flow span{white-space:nowrap;background:#dfe8df;border:1px solid;padding:14px 8px}.visual-flow i{background:currentColor;flex:1;min-width:10px;height:1px}.visual-concept{flex-direction:column;gap:14px;display:flex}.visual-concept span{font:500 .75rem var(--mono)}.visual-concept strong{font:800 clamp(2.5rem, 5vw, 5.5rem)/.95 var(--display);letter-spacing:-.07em;max-width:600px}.philosophy{grid-template-columns:1fr 3fr;gap:40px;padding-block:150px;display:grid}.philosophy blockquote{font:600 clamp(2rem, 4.5vw, 5rem)/1.15 var(--display);letter-spacing:-.05em}.philosophy>span:last-child{font:500 .72rem var(--mono);color:var(--muted);grid-column:2}.contact-banner{background:var(--accent);color:#fffaf1;padding-block:110px}.contact-banner h2{max-width:900px;margin:25px 0 45px}.page-intro{width:min(calc(100% - 64px), var(--max));border-bottom:1px solid var(--line);grid-template-columns:1fr 2fr;column-gap:30px;margin:auto;padding:clamp(90px,12vw,175px) 0 clamp(70px,8vw,120px);display:grid}.page-intro h1{max-width:980px;font-size:clamp(3rem,6.8vw,7rem)}.page-intro p{grid-column:2;max-width:750px;font-size:clamp(1.2rem,2vw,1.6rem)}.two-column{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(50px,8vw,130px);display:grid}.two-column p{font-size:1.1rem}.portrait-photo{background:var(--surface);border:1px solid var(--line);margin:0;overflow:hidden}.portrait-photo img{width:100%;height:auto;display:block}.timeline-row{border-top:1px solid var(--line);grid-template-columns:1fr 2fr;gap:30px;padding:35px 0;display:grid}.timeline-row>span{font:500 .78rem var(--mono)}.timeline-row h3{margin-bottom:12px}.timeline-row p{max-width:650px}.timeline .fine-print{margin-left:33.33%}.expertise-detail{grid-template-columns:1fr 2fr;gap:30px;display:grid}.expertise-detail>div>p{max-width:750px;font-size:1.15rem}.expertise-detail small,.service-row small{font:500 .72rem/1.8 var(--mono);letter-spacing:.05em;color:var(--muted);margin-top:30px;display:block}.detail-grid{grid-template-columns:1fr 1fr;gap:35px;display:grid}.detail-grid h3{letter-spacing:-.02em;margin-bottom:10px;font-size:1.2rem}.expertise-band{background:var(--surface)}.pipeline{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(6,1fr);gap:3px;margin:55px 0;display:grid}.pipeline-step{background:var(--paper);flex-direction:column;min-height:130px;padding:15px;display:flex}.pipeline-step span,.pipeline-step small{font:500 .62rem var(--mono);color:var(--muted)}.pipeline-step strong{font:700 1.15rem var(--display);margin:auto 0}.pipeline-step:not(:last-child):after{content:"→";color:var(--accent);align-self:flex-end;line-height:0}.service-row{border-top:1px solid var(--line);grid-template-columns:.35fr 2fr .7fr;align-items:start;gap:25px;padding:45px 0;display:grid}.service-row:last-child{border-bottom:1px solid var(--line)}.service-row h2{font-size:clamp(2rem,3.4vw,3.8rem)}.service-row .text-link{white-space:nowrap;justify-self:end}.service-row strong{font:500 .7rem var(--mono);color:var(--accent)}.process-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.process-grid>div{background:var(--paper);flex-direction:column;justify-content:space-between;min-height:210px;padding:22px;display:flex}.process-grid span{font:500 .75rem var(--mono)}.process-grid h3{margin:0}.detail-page{padding-block:70px 140px}.back-link{border-bottom:1px solid;margin-bottom:75px;padding-bottom:6px;display:inline-block}.detail-page>h1{margin:20px 0;font-size:clamp(3.5rem,8vw,9rem)}.detail-page>.lead{max-width:850px}.detail-page>.project-visual{min-height:600px;margin:75px 0}.detail-page .visual-flow{justify-content:center;font-size:1.3rem}.detail-page .visual-flow span{padding:25px}.detail-content{border-top:1px solid var(--line);padding-top:35px}.detail-content>div{padding:20px 0}.media-placeholder{border:1px dashed var(--line);flex-direction:column;justify-content:space-between;min-height:250px;margin-top:50px;padding:40px;display:flex}.media-placeholder span{font:500 .72rem var(--mono)}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:45px;display:flex}.filter{color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;padding:10px 13px}.filter.active,.filter:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tech-row{border-top:1px solid var(--line);grid-template-columns:1.2fr 1fr 1.5fr 1fr;align-items:center;gap:15px;padding:20px 0;display:grid}.tech-row:last-child{border-bottom:1px solid var(--line)}.tech-row strong{font:700 1.2rem var(--display)}.tech-row span{color:var(--muted);font-size:.9rem}.tech-row small{text-align:right;color:var(--accent)}.insight-row{border-top:1px solid var(--line);grid-template-columns:1fr 2fr .7fr;align-items:start;gap:30px;padding:45px 0;display:grid}.insight-row:last-child{border-bottom:1px solid var(--line)}.insight-row .text-link{justify-self:end}.article{max-width:1100px;padding-block:70px 150px}.article h1{font-size:clamp(3.5rem,7vw,7rem)}.article>.lead{margin:35px 0 80px}.article h2{margin-top:70px;font-size:clamp(2rem,3vw,3rem)}.article p:not(.lead){max-width:790px;font-size:1.2rem}.contact-layout{grid-template-columns:.75fr 1.25fr;gap:clamp(40px,8vw,130px);display:grid}.contact-layout h2{margin:25px 0;font-size:clamp(2rem,3.5vw,3.6rem)}.contact-form{gap:22px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.contact-form label{gap:7px;font-size:.84rem;font-weight:600;display:grid}.contact-form input,.contact-form textarea,.contact-form select{color:var(--ink);border:1px solid var(--line);background:0 0;border-radius:0;width:100%;min-width:0;padding:13px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--accent)}.contact-form .check{align-items:flex-start;font-size:.8rem;font-weight:400;display:flex}.check input{width:auto;margin:5px 5px 0 0}.contact-form .button{justify-self:start}.honeypot{position:absolute;left:-9999px}.form-error{color:#bd4537}.form-success{color:#286c45}.footer{background:var(--night);color:var(--night-ink)}.footer-top{grid-template-columns:2fr 1fr 1fr;gap:40px;padding-block:100px;display:grid}.footer-top strong{font:800 2rem var(--display);letter-spacing:-.06em}.footer-top p{font:500 .73rem/1.7 var(--mono);color:#aab6ad;margin-top:20px}.footer-top>div:not(:first-child){flex-direction:column;gap:10px;display:flex}.footer-top .eyebrow{color:#aab6ad;margin-bottom:18px}.footer-bottom{color:#aab6ad;border-top:1px solid #465148;justify-content:space-between;gap:20px;padding-block:25px;display:flex}.not-found{flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;min-height:80vh;margin:auto;padding:30px;display:flex}.not-found h1{margin:20px 0;font-size:clamp(3rem,7vw,6rem)}.not-found .button{margin-top:30px}@media (max-width:1100px){.header-inner{gap:20px}.brand{min-width:160px}.nav{gap:12px}.nav a{font-size:.72rem}.hero-main{grid-template-columns:1fr .7fr}.hero-main h1{font-size:clamp(4rem,8vw,7rem)}.project-visual{min-height:320px}.visual-flow{font-size:.55rem}.visual-flow span{padding:10px 5px}}@media (max-width:850px){.wrap,.page-intro{width:min(calc(100% - 36px), var(--max))}.header-inner{height:68px;padding:0 18px}.menu-toggle{margin-left:auto;display:block}.nav{background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:0;max-height:calc(100svh - 68px);padding:20px;display:none;position:absolute;top:68px;left:0;right:0;overflow:auto}.nav.open{display:flex}.nav a{border-bottom:1px solid var(--line);width:100%;padding:12px;font-size:1.1rem}.brand{min-width:0}.header-actions{gap:3px}.lang-switch{padding-left:10px}.hero{min-height:auto}.hero-main{grid-template-columns:1fr;padding:60px 0}.hero-aside{grid-template-columns:1fr 1fr;align-items:end;gap:30px;display:grid}.hero-aside p{margin:0}.hero-actions{grid-column:2}.orbit-diagram{grid-row:1/3;height:230px}.hero-footer span:nth-child(2),.hero-footer span:nth-child(3){display:none}.intro-grid,.section-head,.page-intro,.expertise-detail{grid-template-columns:1fr}.section-head p,.page-intro p{grid-column:1}.disciplines{grid-template-columns:1fr 1fr}.d3{grid-column:1/3}.discipline{min-height:370px}.project-item{grid-template-columns:1fr;gap:25px}.project-visual{min-height:380px}.philosophy{grid-template-columns:1fr}.philosophy>span:last-child{grid-column:1}.service-row{grid-template-columns:.3fr 2fr}.service-row .text-link{grid-column:2;justify-self:start}.contact-layout,.insight-row{grid-template-columns:1fr}.insight-row .text-link{justify-self:start}.tech-row{grid-template-columns:1fr 1fr}.tech-row small{text-align:left}}@media (max-width:600px){.hero-index .eyebrow:last-child{display:none}.hero-main h1{font-size:clamp(3.5rem,14vw,5.3rem)}.hero-aside{display:block}.hero-aside p{margin:25px 0}.orbit-diagram{height:175px}.hero-footer{font-size:.58rem}.intro-grid{padding-block:80px}.disciplines{grid-template-columns:1fr}.d3{grid-column:1}.discipline{min-height:330px}.project-visual{min-height:290px;padding:16px}.visual-flow{font-size:.48rem}.visual-flow span{padding:8px 3px}.project-meta{font-size:.6rem}.philosophy{padding-block:100px}.two-column{grid-template-columns:1fr}.timeline-row{grid-template-columns:1fr;gap:12px}.timeline .fine-print{margin-left:0}.detail-grid,.form-grid{grid-template-columns:1fr}.pipeline{grid-template-columns:repeat(2,1fr)}.pipeline-step{min-height:95px}.service-row{grid-template-columns:1fr;gap:8px}.service-row .text-link{grid-column:1}.process-grid{grid-template-columns:1fr 1fr}.process-grid>div{min-height:140px}.detail-page>.project-visual{min-height:350px}.detail-page .visual-flow{font-size:.55rem}.detail-page .visual-flow span{padding:10px 4px}.tech-row{gap:5px}.tech-row strong{font-size:1rem}.tech-row span,.tech-row small{font-size:.7rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:1/3}.footer-bottom{flex-wrap:wrap;font-size:.6rem}.page-intro{padding-block:85px 70px}.article .pipeline{margin-inline:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.media-gallery{gap:36px;margin-top:50px;display:grid}.media-frame{background:var(--surface);flex-direction:column;align-items:center;margin:0;padding:22px;display:flex}.media-frame video,.media-frame img{object-fit:contain;width:100%;height:auto;max-height:700px;display:block}.media-frame.vertical video,.media-frame.vertical img{aspect-ratio:9/16;width:auto;max-width:100%;max-height:680px}.media-frame figcaption{font:500 .72rem var(--mono);color:var(--muted);align-self:flex-start;margin-top:12px}.loading-state{width:min(calc(100% - 64px), var(--max));min-height:50vh;margin:90px auto}.loading-line{background:var(--line);width:70%;height:1px;margin-top:45px}.loading-line.short{width:38%;margin-top:25px}
