@charset "UTF-8";
:root{--paper:#f7f5f0;--milk:#eeebe4;--ink:#242521;--muted:#77756e;--line:rgba(35,36,32,.19);--accent:#a2533d;--serif:Georgia,'Times New Roman',serif;--sans:'Noto Sans CJK SC','PingFang SC','Microsoft YaHei',Arial,sans-serif;--space:clamp(22px,6.5vw,114px)}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);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,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}::selection{background:#b86a51;color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}.wrap{padding-inline:var(--space)}.eyebrow{font-size:10px;letter-spacing:.2em;line-height:1.75;text-transform:uppercase;font-weight:500}.caps{font-size:11px;letter-spacing:.11em;text-transform:uppercase}.num{font-family:var(--serif);font-style:italic}.muted{color:var(--muted)}.line{border-top:1px solid var(--line)}.text-link{display:inline-flex;gap:40px;align-items:center;font-size:12px;letter-spacing:.04em;padding:10px 0;border-bottom:1px solid currentColor;transition:gap .35s}.text-link:hover{gap:55px}.arrow{font-family:Arial,sans-serif;font-size:20px;font-weight:300}.circle-arrow{display:inline-grid;place-items:center;border-radius:50%;border:1px solid currentColor;width:45px;height:45px;transition:transform .25s,background .25s,color .25s;font-size:20px}.circle-arrow:hover{transform:rotate(45deg);background:var(--ink);color:var(--paper)}
.site-header{height:88px;position:relative;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space);border-bottom:1px solid var(--line);background:rgba(247,245,240,.92);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.site-header.on-hero{background:#e8e5dc}.logo{font-family:Arial,Helvetica,sans-serif;font-size:34px;font-weight:800;letter-spacing:-.09em;line-height:1}.logo small{font-size:8px;letter-spacing:.06em;margin-left:6px;vertical-align:top;font-weight:600}.header-center{display:flex;align-items:center;gap:38px;margin-left:70px}.header-center a{font-size:12px;letter-spacing:.065em;transition:color .2s}.header-center a:hover,.header-center a[aria-current="page"]{color:var(--accent)}.header-actions{display:flex;align-items:center;gap:18px}.contact-pill{font-size:12px;border:1px solid rgba(30,30,27,.4);border-radius:30px;padding:13px 23px;transition:background .25s,color .25s}.contact-pill:hover{background:var(--ink);color:#fff}.menu-toggle{display:none;width:43px;height:43px;padding:0;border:0;background:transparent;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;background:var(--ink);height:1px;width:25px;transition:transform .25s}.menu-open .menu-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-open .menu-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-menu{display:none}
/* home hero */
.hero{background:#e8e5dc;min-height:min(765px,calc(100svh - 88px));position:relative;overflow:hidden;display:grid;grid-template-columns:54% 46%;align-items:center}.hero-content{position:relative;z-index:2;padding:48px 0 74px var(--space);max-width:800px}.hero-topnote{display:flex;gap:13px;align-items:center;margin-bottom:clamp(62px,11vh,125px)}.hero-topnote span:first-child{width:24px;height:1px;background:currentColor}.hero h1{font-size:clamp(53px,5.6vw,91px);line-height:1.21;font-weight:450;letter-spacing:-.065em;white-space:nowrap}.hero h1 em{font-style:normal;color:#a75c48}.hero-description{max-width:290px;font-size:13px;line-height:2.1;color:#62615b;margin-top:34px}.hero .text-link{margin-top:34px}.hero-visual{height:100%;position:relative;min-height:610px;display:flex;justify-content:center;align-items:center}.hero-visual img{width:115%;max-width:none;height:100%;object-fit:cover;object-position:50% 51%;mix-blend-mode:multiply;filter:saturate(.8)}.hero-sticker{position:absolute;z-index:3;right:var(--space);bottom:35px;text-align:right}.hero-sticker span{display:block;font-size:10px;letter-spacing:.15em;line-height:1.8}.hero-bottom{position:absolute;bottom:33px;left:var(--space);z-index:4;display:flex;gap:24px;align-items:center;font-size:10px;letter-spacing:.11em}.hero-bottom i{width:65px;height:1px;background:var(--ink)}.hero-index{position:absolute;right:var(--space);top:45px;z-index:3;font-family:var(--serif);font-style:italic;font-size:13px}
/* general */
.section{padding-block:clamp(95px,11.5vw,185px)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:61px}.section-kicker{margin-bottom:24px;display:flex;align-items:center;gap:12px}.section-kicker::before{content:'';display:block;background:var(--accent);width:7px;height:7px;border-radius:50%}.display-title{font-size:clamp(39px,5.4vw,83px);line-height:1.19;letter-spacing:-.065em;font-weight:420}.display-title .serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.08em}.section-side{font-size:12px;line-height:2;color:var(--muted);max-width:220px}.work-mosaic{display:grid;grid-template-columns:1fr 1fr;column-gap:8.4%;row-gap:70px}.work-mosaic .work-card:nth-child(even){margin-top:145px}.work-card{min-width:0;display:block}.card-media{position:relative;overflow:hidden;display:block;background:#e7e2da;aspect-ratio:1/.97}.work-card:nth-child(4n+2) .card-media{aspect-ratio:1/1.18}.work-card:nth-child(4n+3) .card-media{aspect-ratio:1/1.1}.card-media img{width:100%;height:100%;object-fit:cover;object-position:center 50%;transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .85s}.work-card:hover .card-media img{transform:scale(1.052);filter:contrast(1.03)}.card-action{position:absolute;right:23px;top:23px;border:1px solid rgba(35,36,32,.6);background:#f7f5f0cc;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:20px;transform:translateY(-8px);opacity:0;transition:opacity .35s,transform .35s}.work-card:hover .card-action{transform:translateY(0);opacity:1}.card-count{position:absolute;left:25px;bottom:23px;font-family:var(--serif);font-size:14px;font-style:italic;letter-spacing:.01em}.card-info{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-top:20px}.card-info h3{font-size:22px;font-weight:450;letter-spacing:-.045em}.card-info h3 small{display:block;font-family:var(--serif);font-size:13px;letter-spacing:.02em;margin-top:7px;font-weight:400;font-style:italic}.card-info>span{font-size:11px;letter-spacing:.08em;color:#88847d;padding-top:5px}.more-work{padding-top:75px;display:flex;justify-content:center}
.manifesto{background:#272825;color:#f0ede6;position:relative;overflow:hidden;padding:125px var(--space) 118px;display:grid;grid-template-columns:32% 1fr;gap:6vw}.manifesto-label{line-height:2;color:#b2b2aa}.manifesto-copy{font-size:clamp(38px,5.4vw,82px);letter-spacing:-.06em;line-height:1.4;font-weight:400;max-width:960px}.manifesto-copy em{font-family:var(--serif);font-style:italic;font-weight:400;color:#a9988a}.manifesto-foot{grid-column:2;color:#aaa8a0;font-size:12px;line-height:2;max-width:350px;margin-top:15px}.manifesto-code{position:absolute;right:var(--space);top:48px;color:#9e9d95;font-size:10px;letter-spacing:.12em}
.lab-tease{display:grid;grid-template-columns:1.05fr .95fr;min-height:570px;background:#e4dbd0}.lab-tease-img{position:relative;overflow:hidden;min-height:440px}.lab-tease-img img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.lab-tease-img::after{content:'INTERACTIVE OBJECT Nº 001';position:absolute;left:32px;bottom:28px;font-size:10px;letter-spacing:.16em}.lab-tease-content{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:85px clamp(35px,8vw,130px)}.lab-tease-content h2{font-size:clamp(43px,5.5vw,78px);font-weight:420;letter-spacing:-.075em;line-height:1.27;margin:30px 0 25px}.lab-tease-content p{font-size:13px;line-height:2.15;color:#68615a;max-width:310px}.lab-tease-content .text-link{margin-top:32px}
.process{padding-block:115px}.process-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:55px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.process-item{padding:35px 35px 40px 0;border-right:1px solid var(--line)}.process-item:not(:first-child){padding-left:38px}.process-item:last-child{border-right:none}.process-item .num{display:block;font-size:20px;color:var(--accent);margin-bottom:50px}.process-item h3{font-size:22px;letter-spacing:-.035em;font-weight:430}.process-item p{font-size:12px;line-height:2.1;color:var(--muted);max-width:270px;margin-top:18px}
/* inner pages */
.page-intro{padding-top:110px;padding-bottom:64px}.page-intro .eyebrow{margin-bottom:28px}.page-intro h1{font-size:clamp(58px,9vw,143px);line-height:1.07;letter-spacing:-.08em;font-weight:400}.page-intro .intro-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-top:28px}.intro-bottom p{font-size:13px;color:#75736d;line-height:2;max-width:335px}.intro-index{font-family:var(--serif);font-style:italic;font-size:16px}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 48px}.filter{border:1px solid #cecbc4;color:#66645d;border-radius:30px;background:transparent;font-size:12px;padding:12px 19px;transition:background .2s,border-color .2s,color .2s}.filter.active,.filter:hover{background:#292924;color:#fff;border-color:#292924}.works-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:22px;row-gap:70px;padding-bottom:130px}.works-grid .card-media{aspect-ratio:1/.99!important}.works-grid .card-info h3{font-size:19px}.work-card[hidden]{display:none!important}
/* project */
.project-head{padding-top:77px;padding-bottom:43px}.back-link{font-size:12px;color:#68665f;display:inline-flex;align-items:center;gap:15px;margin-bottom:68px}.back-link:hover{color:var(--accent)}.project-headline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.project-head h1{font-size:clamp(60px,9vw,125px);line-height:1.14;font-weight:430;letter-spacing:-.075em}.project-head h1 em{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(27px,4vw,52px);letter-spacing:-.045em;color:#77746e}.project-title-side{font-size:13px;line-height:1.9;max-width:250px;color:#68645d;text-align:right}.project-hero{height:min(77vw,770px);min-height:430px;background:#e9e6df;position:relative;overflow:hidden}.project-hero img{width:100%;height:100%;object-fit:cover;object-position:center 50%}.project-image-index{position:absolute;left:var(--space);bottom:31px;font-family:var(--serif);font-style:italic;font-size:16px}.project-description{display:grid;grid-template-columns:1fr 1.15fr;gap:12%;padding-block:130px}.project-facts{display:grid;grid-template-columns:95px 1fr;gap:16px 20px;align-content:start;font-size:12px}.project-facts dt{color:#98958d}.project-facts dd{margin:0}.project-story h2{font-size:clamp(32px,4.4vw,60px);font-weight:420;line-height:1.45;letter-spacing:-.055em}.project-story p{font-size:13px;color:#6c6962;line-height:2.45;max-width:500px;margin-top:32px}.project-tags{display:flex;gap:8px;margin-top:30px;flex-wrap:wrap}.project-tags span{font-size:11px;padding:9px 15px;border:1px solid #d0cbc2;border-radius:30px}.project-next{padding-block:75px 95px;border-top:1px solid var(--line);display:flex;align-items:flex-end;justify-content:space-between}.project-next h3{font-size:clamp(35px,5vw,75px);letter-spacing:-.055em;font-weight:400;margin-top:15px}.project-next .circle-arrow{width:66px;height:66px}
/* studio */
.studio-hero{background:#e1ddd4;display:grid;grid-template-columns:.92fr 1.08fr;min-height:620px}.studio-visual{position:relative;min-height:480px;background:#ded7c8;overflow:hidden}.studio-visual img{width:100%;height:100%;object-fit:cover;filter:grayscale(.65);mix-blend-mode:multiply;transform:scale(1.08)}.studio-visual span{position:absolute;bottom:30px;left:33px;font-family:var(--serif);font-style:italic}.studio-copy{padding:75px clamp(40px,7vw,125px);align-self:center}.studio-copy h2{font-size:clamp(36px,4.4vw,66px);line-height:1.5;letter-spacing:-.065em;font-weight:400;margin:30px 0}.studio-copy>p:last-child{font-size:13px;line-height:2.2;color:#68645e;max-width:450px}.studio-values{padding-block:120px}.values-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;margin-top:65px}.value{border-top:1px solid var(--line);padding-top:26px}.value .num{color:var(--accent)}.value h3{margin-top:54px;font-weight:450;font-size:23px}.value p{margin-top:20px;line-height:2.2;font-size:12px;color:var(--muted);max-width:270px}
/* lab page */
.lab-intro{padding-top:74px;padding-bottom:37px}.lab-intro h1{font-size:clamp(58px,8vw,112px)}.lab-intro .intro-bottom{margin-top:12px}.laboratory{display:grid;grid-template-columns:minmax(0,1.24fr) minmax(315px,.76fr);gap:28px;align-items:stretch;padding-bottom:105px}.viewer{position:relative;min-height:580px;aspect-ratio:1.08/1;overflow:hidden;background:#e8e5dc;isolation:isolate}.viewer img,.viewer canvas{position:absolute;width:100%;height:100%;inset:0;display:block;object-fit:cover}.viewer img{z-index:0}.viewer canvas{z-index:1;cursor:grab;touch-action:none}.viewer canvas:active{cursor:grabbing}.viewer canvas[hidden]{display:none}.viewer-number{position:absolute;top:26px;left:27px;z-index:3;font-family:var(--serif);font-style:italic;color:#3d3b37;font-size:13px;pointer-events:none}.viewer-help{position:absolute;bottom:26px;left:27px;z-index:3;color:#45423c;pointer-events:none;font-size:10px;letter-spacing:.12em}.viewer-mark{position:absolute;bottom:26px;right:27px;z-index:3;font-family:Arial,sans-serif;font-weight:800;letter-spacing:-.09em;font-size:23px;color:#34302c;pointer-events:none}.viewer-tint{position:absolute;inset:0;z-index:2;mix-blend-mode:color;pointer-events:none;opacity:0}.lab-controls{background:#ebe7df;display:flex;flex-direction:column;padding:clamp(28px,3.3vw,53px)}.controls-title{font-size:26px;letter-spacing:-.055em;font-weight:430}.controls-note{font-size:11px;color:#8a847d;letter-spacing:.08em;margin-top:7px}.control-block{padding:26px 0;border-bottom:1px solid #cac5bc}.control-block:first-of-type{margin-top:13px}.control-label{font-size:11px;color:#6d6861;letter-spacing:.08em;display:flex;justify-content:space-between;margin-bottom:16px}.shape-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.shape-option{font-size:11px;text-align:center;min-height:48px;padding:8px 5px;border:1px solid #c9c4bc;background:transparent;color:#615e58;transition:background .18s,color .18s}.shape-option:hover,.shape-option[aria-pressed="true"]{background:#292924;color:#fff;border-color:#292924}.swatches{display:flex;gap:12px;align-items:center}.swatch{width:30px;height:30px;flex-shrink:0;border:0;border-radius:50%;background:var(--swatch);outline:1px solid #b5aea3;outline-offset:2px;position:relative}.swatch[aria-pressed="true"]::after{content:'';position:absolute;inset:-7px;border:1px solid #292924;border-radius:50%}.material-picker{display:flex;gap:6px}.material-option{flex:1;border:1px solid #bfbab1;background:transparent;padding:12px 8px;font-size:11px;color:#67615b}.material-option[aria-pressed="true"],.material-option:hover{background:#292924;color:white;border-color:#292924}.range{width:100%;accent-color:#35332e;height:3px;cursor:pointer}.control-buttons{display:flex;gap:10px;align-items:center;margin-top:auto;padding-top:28px}.primary-btn{background:#292924;color:white;border:1px solid #292924;min-height:50px;padding:13px 15px;font-size:12px;flex:1}.primary-btn:hover{background:var(--accent);border-color:var(--accent)}.plain-btn{border:1px solid #b3afa7;background:transparent;min-height:50px;padding:13px 16px;font-size:12px}.plain-btn:hover{border-color:#292924}.fallback-note{font-size:11px;color:#79736b;margin-top:13px;line-height:1.8;min-height:0}.lab-after{padding-bottom:140px;display:flex;align-items:start;justify-content:space-between;gap:40px}.lab-after h2{font-size:clamp(28px,4.3vw,57px);font-weight:420;line-height:1.4;letter-spacing:-.055em}.lab-after p{font-size:12px;color:#77736c;line-height:2;max-width:310px}
/* contact */
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:13%;padding-bottom:150px;min-height:470px}.contact-left p{font-size:13px;line-height:2.3;color:#75716b;max-width:370px}.contact-big{font-family:var(--serif);font-style:italic;font-size:clamp(37px,4.2vw,65px);line-height:1.2;margin-top:58px}.contact-list{margin-top:55px;display:grid;gap:24px}.contact-list a{font-size:14px;border-bottom:1px solid var(--line);padding:15px 0;display:flex;justify-content:space-between}.contact-form{display:flex;flex-direction:column;gap:24px}.contact-form label{display:block;font-size:11px;letter-spacing:.07em;color:#6b685f}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:10px;border:0;border-bottom:1px solid #b9b5ac;background:transparent;border-radius:0;padding:11px 0 14px;outline:none;font-size:14px;color:var(--ink);resize:vertical}.contact-form textarea{min-height:100px}.contact-form input:focus,.contact-form textarea:focus{border-bottom-color:var(--accent)}.contact-form .primary-btn{align-self:start;width:210px;flex:unset}.form-note{font-size:11px;color:#8b867e;line-height:1.9}
/* closing and footer */
.close-cta{background:#cfb5a4;padding-top:105px;padding-bottom:106px;display:flex;justify-content:space-between;align-items:end;gap:20px}.close-cta h2{font-size:clamp(38px,5.6vw,85px);line-height:1.25;letter-spacing:-.06em;font-weight:420;margin-top:25px}.close-cta a{white-space:nowrap}.site-footer{background:#262723;color:#eeeae1;padding:65px var(--space) 28px}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-top>.logo{font-size:42px}.footer-nav{display:flex;gap:80px}.footer-nav>div{display:flex;flex-direction:column;gap:16px}.footer-nav span{font-size:10px;letter-spacing:.18em;color:#aaa9a0;margin-bottom:10px}.footer-nav a{font-size:12px;transition:color .2s}.footer-nav a:hover{color:#d4a38a}.footer-wordmark{font:800 clamp(95px,20.2vw,390px)/.9 Arial,Helvetica,sans-serif;letter-spacing:-.105em;white-space:nowrap;margin:110px 0 40px -1.25vw;color:#eeeae1;user-select:none}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.2);padding-top:25px;font-size:10px;letter-spacing:.09em;color:#aeada5;gap:20px}.footer-bottom a{text-decoration:underline;text-underline-offset:4px}
/* reveals only when enabled */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.js .reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){.hero{grid-template-columns:56% 44%}.hero h1{font-size:clamp(45px,6.4vw,72px)}.hero-visual img{width:130%}.section{padding-block:110px}.work-mosaic{column-gap:5%}.laboratory{grid-template-columns:1fr 365px;gap:15px}.viewer{min-height:515px}.lab-controls{padding:28px}.footer-wordmark{margin-top:80px}}
@media(max-width:740px){:root{--space:23px}.site-header{height:73px}.site-header .logo{font-size:31px}.header-center,.contact-pill{display:none}.menu-toggle{display:flex}.mobile-menu{position:absolute;top:73px;left:0;right:0;min-height:calc(100svh - 73px);display:flex;flex-direction:column;background:#f0ede7;padding:35px var(--space) 75px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .25s,transform .25s,visibility .25s}.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none}.mobile-menu>a{font-size:clamp(39px,10vw,64px);letter-spacing:-.05em;padding:13px 0;border-bottom:1px solid #d7d1c8}.mobile-menu p{font-size:10px;letter-spacing:.16em;margin-top:auto;padding-top:35px;color:#8b837b}.hero{min-height:830px;display:flex;flex-direction:column;align-items:stretch}.hero-content{padding:57px var(--space) 0;max-width:100%}.hero-topnote{margin-bottom:36px}.hero h1{font-size:clamp(52px,12.4vw,85px);line-height:1.17;white-space:normal}.hero-description{font-size:12px;line-height:2;margin-top:19px;max-width:330px}.hero .text-link{margin-top:17px}.hero-visual{height:460px;min-height:0;flex:1;align-items:stretch;margin-top:-45px}.hero-visual img{width:100%;object-fit:cover;object-position:50% 45%}.hero-index{top:auto;bottom:35px;right:var(--space)}.hero-bottom{bottom:31px}.hero-sticker{display:none}.section{padding-block:95px}.section-head{align-items:start;flex-direction:column;margin-bottom:38px}.section-side{max-width:100%}.display-title{font-size:clamp(43px,10vw,63px)}.work-mosaic{grid-template-columns:1fr;gap:52px}.work-mosaic .work-card:nth-child(even){margin-top:0}.work-mosaic .work-card:nth-child(even){margin-left:12%}.work-mosaic .work-card:nth-child(odd){margin-right:12%}.card-media{aspect-ratio:1/.92!important}.card-action{opacity:1;transform:none;top:15px;right:15px;width:41px;height:41px}.card-info h3{font-size:20px}.more-work{padding-top:53px}.manifesto{grid-template-columns:1fr;gap:45px;padding-block:90px}.manifesto-copy{font-size:clamp(35px,8.5vw,56px)}.manifesto-foot{grid-column:1;margin-top:0}.lab-tease{grid-template-columns:1fr}.lab-tease-img{min-height:360px;height:390px}.lab-tease-content{padding:75px var(--space) 90px}.lab-tease-content h2{margin:19px 0}.process{padding-block:89px}.process-grid{grid-template-columns:1fr}.process-item,.process-item:not(:first-child){border-right:none;border-bottom:1px solid var(--line);padding:30px 0 38px}.process-item .num{margin-bottom:30px}.process-item p{max-width:370px}.process-head{margin-bottom:35px}.page-intro{padding-top:69px;padding-bottom:42px}.page-intro h1{font-size:clamp(55px,13vw,90px)}.page-intro .intro-bottom{align-items:flex-start}.intro-bottom p{font-size:12px}.filters{margin-bottom:32px;gap:7px}.filter{padding:10px 14px;font-size:11px}.works-grid{grid-template-columns:1fr 1fr;gap:40px 15px;padding-bottom:92px}.works-grid .card-media{aspect-ratio:1/1.12!important}.works-grid .card-info h3{font-size:16px}.works-grid .card-info>span{font-size:10px}.works-grid .card-info h3 small{font-size:11px}.project-head{padding-top:55px;padding-bottom:29px}.back-link{margin-bottom:45px}.project-headline{align-items:flex-start;flex-direction:column}.project-head h1{font-size:clamp(56px,12.4vw,95px)}.project-title-side{text-align:left;font-size:12px}.project-hero{height:72vh;min-height:460px;max-height:690px}.project-description{grid-template-columns:1fr;gap:65px;padding-block:84px}.project-story h2{font-size:clamp(32px,8vw,55px)}.project-next{padding-block:55px 75px}.project-next .circle-arrow{width:55px;height:55px}.studio-hero{grid-template-columns:1fr}.studio-visual{min-height:370px;height:430px}.studio-copy{padding:65px var(--space) 75px}.studio-values{padding-block:90px}.values-grid{grid-template-columns:1fr;gap:20px}.value h3{margin-top:25px}.value{padding-bottom:22px}.laboratory{grid-template-columns:1fr;gap:12px;padding-bottom:67px}.viewer{min-height:0;aspect-ratio:1/1.1}.lab-intro{padding-top:55px;padding-bottom:33px}.lab-intro h1{font-size:clamp(61px,12.8vw,100px)}.lab-controls{padding:27px}.control-block{padding:23px 0}.control-buttons{margin-top:0}.lab-after{flex-direction:column;padding-bottom:95px;gap:20px}.contact-layout{grid-template-columns:1fr;gap:60px;padding-bottom:100px}.contact-big{margin-top:25px}.contact-list{margin-top:35px}.close-cta{padding-block:80px;align-items:flex-start;flex-direction:column}.close-cta h2{font-size:45px}.footer-top{flex-direction:column;gap:65px}.footer-nav{gap:80px}.footer-wordmark{margin:90px 0 33px -2vw;font-size:21.5vw}.footer-bottom{flex-direction:column;gap:12px}}
@media(max-width:410px){.hero{min-height:765px}.hero h1{font-size:12.2vw}.hero-visual{margin-top:-65px}.hero-topnote{margin-bottom:27px}.work-mosaic .work-card:nth-child(even){margin-left:8%}.work-mosaic .work-card:nth-child(odd){margin-right:8%}.works-grid{column-gap:12px}.works-grid .card-info{flex-direction:column;gap:7px}.works-grid .card-info>span{padding:0}.lab-controls{padding:23px}.shape-option{font-size:10px}.site-footer .footer-nav{gap:57px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
/* Prevent replaced media and aspect-ratio min-content sizing from overgrowing the lab grid. */
.laboratory > .viewer{width:100%;min-width:0;min-height:0;align-self:start}
.laboratory > .lab-controls{min-width:0}

/* ===== MORPH 1.1 / Fine-line motion system & centered studio ===== */
/* Drawn SVG vectors replace platform-dependent arrow characters. */
.icon{display:inline-block;width:17px;height:17px;flex:0 0 auto;vertical-align:middle;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;transition:transform .34s cubic-bezier(.22,.85,.26,1),opacity .25s;transform:translate3d(0,0,0)}
.arrow{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.arrow .icon{width:19px;height:19px}
.text-link{gap:26px;transition:color .25s,border-color .25s}
.text-link:hover{gap:26px;color:var(--accent)}
a:hover .icon--arrow-up-right,button:hover .icon--arrow-up-right{transform:translate3d(3px,-3px,0)}
a:active .icon--arrow-up-right,button:active .icon--arrow-up-right{transform:translate3d(2px,-2px,0)}
a:hover .icon--arrow-left{transform:translateX(-4px)}
a:hover .icon--arrow-right{transform:translateX(4px)}
button:hover .icon--reset{transform:rotate(-38deg)}
button:hover .icon--arrow-down{transform:translateY(4px)}
.contact-pill{display:inline-flex;align-items:center;gap:6px}
.contact-pill .icon{width:15px;height:15px}
.card-action{font-size:unset}
.card-action .icon{width:21px;height:21px}
.work-card:hover .card-action .icon{transform:translate3d(3px,-3px,0)}
.circle-arrow .icon{width:27px;height:27px}
.circle-arrow:hover{transform:none}
.circle-arrow:hover .icon{transform:translate3d(3px,-3px,0)}
.back-link .icon{width:17px;height:17px}
.viewer-help{display:inline-flex;align-items:center;gap:7px}
.viewer-help .icon{width:16px;height:16px}
.control-buttons .icon{width:17px;height:17px}
.control-buttons button{display:inline-flex;align-items:center;justify-content:center;gap:9px;transition:color .25s,background .25s,border-color .25s}
.hero-bottom .icon{width:16px;height:16px;animation:morphDown 2.5s ease-in-out infinite}
.contact-list a .icon,.footer-nav a .icon{width:16px;height:16px}
@keyframes morphDown{0%,100%{transform:translateY(-2px)}55%{transform:translateY(3px)}}
@keyframes morphFloat{0%,100%{transform:translate3d(0,0,0) scale(1.015)}50%{transform:translate3d(0,-12px,0) scale(1.025)}}
@keyframes morphSlowFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-visual img{animation:morphFloat 12s ease-in-out infinite;will-change:transform}
.lab-tease-img img{animation:morphSlowFloat 14s ease-in-out infinite;will-change:transform}

/* The LAB is the exact center item of desktop navigation (logo serves as Home). */
@media(min-width:741px){
 .header-center{position:absolute;left:50%;transform:translateX(-50%);margin-left:0;gap:45px}
 .header-center a[href="lab.html"]{display:inline-flex;align-items:center;justify-content:center;min-height:37px;padding:7px 17px;border:1px solid rgba(162,83,61,.40);border-radius:22px;background:rgba(162,83,61,.045);color:#8e4b38;transition:background .24s,color .24s,border-color .24s}
 .header-center a[href="lab.html"]:hover,.header-center a[href="lab.html"][aria-current="page"]{background:#a2533d;color:#fff;border-color:#a2533d}
}

/* On the lab page, title, interactive stage and parameter console share one axis. */
.lab-intro{text-align:center;padding-bottom:46px}
.lab-intro .section-kicker{justify-content:center}
.lab-intro .intro-bottom{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;margin-top:26px}
.lab-intro .intro-bottom p{text-align:center;max-width:550px}
.lab-intro .intro-index{font-size:13px;color:#93877c;letter-spacing:.025em}
.laboratory{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:25px;max-width:1140px;margin-left:auto;margin-right:auto;padding-bottom:103px}
.laboratory>.viewer{width:100%;max-width:890px;aspect-ratio:1.43/1;min-height:0;align-self:center;border:1px solid rgba(36,37,33,.1)}
.laboratory>.lab-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:34px;row-gap:0;max-width:1040px;width:100%;padding:40px clamp(28px,4vw,50px) 30px;min-width:0;align-self:center}
.lab-controls .controls-title,.lab-controls .controls-note{grid-column:1/-1;text-align:center}
.lab-controls .controls-title{font-size:29px}
.lab-controls .controls-note{padding-bottom:10px}
.lab-controls>.control-block{min-width:0;padding:28px 0 24px}
.lab-controls>.control-block:first-of-type{margin-top:0}
.lab-controls .swatches{gap:10px;flex-wrap:wrap;row-gap:16px;padding:6px 4px}
.lab-controls .control-buttons{margin-top:0;padding-top:24px;align-self:end;min-width:0}
.lab-controls .control-buttons .plain-btn{flex:0 0 auto}
.lab-controls>.fallback-note{grid-column:1/-1;text-align:center;margin-top:19px}
.lab-after{flex-direction:column;align-items:center;text-align:center;gap:22px}
.lab-after p{max-width:540px}
@media(min-width:741px) and (max-width:1050px){
 .laboratory{gap:20px}
 .laboratory>.viewer{min-height:0;max-width:790px}
 .laboratory>.lab-controls{padding:30px;column-gap:22px}
 .lab-controls .swatches{gap:9px}
}
@media(max-width:740px){
 .lab-intro{text-align:center;padding-bottom:28px}
 .lab-intro .section-kicker{justify-content:center}
 .lab-intro .intro-bottom{align-items:center;gap:9px;margin-top:17px}
 .lab-intro .intro-bottom p{max-width:340px;text-align:center}
 .laboratory{display:flex;flex-direction:column;gap:12px;padding-bottom:68px}
 .laboratory>.viewer{width:100%;min-height:0;max-width:none;aspect-ratio:1/1.06;align-self:center}
 .laboratory>.lab-controls{display:flex;flex-direction:column;max-width:none;width:100%;padding:29px 23px 24px;gap:0}
 .lab-controls>.control-block{padding:23px 0}
 .lab-controls .swatches{gap:12px}
 .lab-controls .control-buttons{align-self:stretch;margin-top:0}
 .lab-after{align-items:center;text-align:center;padding-bottom:92px}
 .lab-after p{max-width:390px}
 .hero-visual img{animation-duration:16s}
}
@media(prefers-reduced-motion:reduce){
 .hero-visual img,.lab-tease-img img,.hero-bottom .icon{animation:none!important;will-change:auto}
 .icon{transition:none!important;transform:none!important}
}
/* Mobile header remains intentionally minimal after shared pill animations. */
.laboratory .viewer img{object-fit:contain;object-position:center center}
@media(max-width:740px){.site-header .contact-pill{display:none}}
