@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Manrope:wght@400;500;600;700&display=swap');

:root{color-scheme:dark;--paper:#080808;--surface:#101010;--ink:#f5f5f2;--muted:#aaa9a5;--accent:#c2ad8f;--ivory:#e9e5dc;--line:#30302e;--font:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:#080808}.skip-link{position:fixed;top:12px;left:12px;background:#fff;color:#000;padding:14px;z-index:100;transform:translateY(-180%)}.skip-link:focus{transform:none}.section{padding:110px 6%}main>section{scroll-margin-top:88px}.eyebrow{font-size:.65rem;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--accent)}

/* The studio's original mark, rendered in white. */
.intro-screen{height:100svh;min-height:600px;background:#080808;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate;overflow:hidden;padding:6%}.intro-motion{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:hidden}.intro-kicker{position:absolute;top:8%;left:8%;right:8%;margin:0;text-align:center;color:#c6c6c1;font-size:.59rem;letter-spacing:.28em;z-index:2;animation:fade-up 1.3s both}.intro-enter{width:min(1050px,86vw);padding:40px 0;position:relative;z-index:2;display:flex;align-items:center;flex-direction:column;gap:64px;background:radial-gradient(ellipse,#080808 30%,#080808ed 53%,#08080800 75%)}.intro-enter>img{width:100%;height:auto;animation:logo-arrive 1.8s cubic-bezier(.16,1,.3,1) both}.intro-invitation{display:flex;gap:46px;align-items:center;color:#ededeb;font-size:.58rem;letter-spacing:.23em;border-bottom:1px solid #80705c;padding:0 0 17px;animation:fade-up 1.4s .5s both}.intro-invitation>span{font-size:1.2rem;transition:transform .25s}.intro-enter:hover .intro-invitation>span{transform:translate(4px,-4px)}.intro-bottom{position:absolute;bottom:6.5%;left:6%;right:6%;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:.53rem;letter-spacing:.16em;color:#92938e}.scroll-cue{display:flex;align-items:center;gap:24px;color:#ddd}.scroll-cue span{font-size:1.3rem}.intro-screen:before,.intro-screen:after{content:'';position:absolute;top:0;bottom:0;width:1px;background:#ffffff12;z-index:1}.intro-screen:before{left:6%}.intro-screen:after{right:6%}
.blueprint-grid{position:absolute;inset:-10%;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse,transparent 15%,#000 80%);animation:grid-drift 4.8s ease-out both}.orbit{position:absolute;left:50%;top:47%;width:730px;height:730px;border:1px solid #ffffff55;transform:translate(-50%,-50%) rotate(35deg);animation:orbit-entry 4.8s cubic-bezier(.16,1,.3,1) both}.orbit-two{width:860px;height:860px;border-color:#ffffff26;animation-name:orbit-reverse}.orbit-three{width:570px;height:570px;border:1px dashed #ffffff28;border-radius:50%;animation:circle-entry 4.8s ease-out both}.drawing-line{position:absolute;height:1px;width:36%;background:linear-gradient(90deg,transparent,#ffffff88,transparent);animation:line-entry 4.5s ease-out both}.line-one{left:0;top:25%}.line-two{right:-8%;bottom:28%;transform:rotate(-35deg)}.line-three{left:8%;bottom:20%;width:20%;transform:rotate(-50deg)}.drawing-point{position:absolute;width:7px;height:7px;border:1px solid #fff;transform:rotate(45deg);opacity:.5}.point-one{left:18%;top:25%}.point-two{right:18%;bottom:25%}.motion-label{position:absolute;left:9%;top:21%;font-size:.48rem;letter-spacing:.15em;color:#c5c5c0;opacity:.65}.label-two{left:auto;right:9%;top:73%}.label-three{left:13%;top:80%}
@keyframes fade-up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes logo-arrive{from{opacity:0;transform:translateY(24px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes orbit-entry{from{opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) rotate(35deg) scale(1)}}@keyframes orbit-reverse{from{opacity:0;transform:translate(-50%,-50%) rotate(90deg)}to{opacity:1;transform:translate(-50%,-50%) rotate(55deg)}}@keyframes circle-entry{from{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes line-entry{from{opacity:0;scale:.2 1}to{opacity:.5;scale:1 1}}@keyframes grid-drift{from{opacity:0;transform:translate(-25px,-25px)}to{opacity:1;transform:none}}

header{height:88px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;gap:40px;background:#080808f2;backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}.brand{line-height:0;flex-shrink:0}.brand img{width:240px;height:auto}nav{display:flex;gap:26px;align-items:center}nav a{font-size:.62rem;letter-spacing:.11em;text-transform:uppercase;padding:13px 0;border-bottom:1px solid transparent;color:#c5c5c0}nav a:hover{color:#fff}nav a[aria-current=true]{color:#fff;border-color:var(--accent)}.menu-toggle{display:none}
.section-head{border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-head h2{font:400 clamp(2.5rem,4.5vw,5rem)/1.06 var(--display);letter-spacing:-.065em;margin:0}.section-head>p{font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.portfolio-heading{align-items:flex-start;margin-bottom:48px}.portfolio-heading h1{font:400 clamp(3.6rem,7.3vw,8rem)/1.04 var(--display);letter-spacing:-.065em;max-width:820px;margin:0}.portfolio-heading h1 span{color:var(--ivory)}.portfolio-heading>p{padding-top:12px;max-width:200px;line-height:1.8}.portfolio-intro{font-size:1rem;line-height:1.75;color:var(--muted);max-width:580px;margin:0 0 40px}
.filters{display:flex;gap:27px;flex-wrap:wrap;margin:0 0 42px;border-bottom:1px solid var(--line)}.filter{border:0;border-bottom:1px solid transparent;border-radius:0;background:none;color:#999b96;padding:15px 0;font-size:.69rem;letter-spacing:.07em;margin-bottom:-1px}.filter:hover{color:#fff}.filter[aria-pressed=true]{color:#fff;border-color:var(--accent)}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 32px}.project{min-width:0}.project[hidden]{display:none}.project:first-child{grid-column:1/-1}.photo{aspect-ratio:4/3;background:#171717;overflow:hidden}.project:first-child .photo{aspect-ratio:1.85}.photo button{width:100%;height:100%;display:block;background:none;border:0;padding:0;position:relative;cursor:zoom-in}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1),filter .6s;filter:saturate(.92)}.photo button:hover img{transform:scale(1.025);filter:saturate(1)}.photo button:after{content:'ESPLORA ↗';position:absolute;right:18px;bottom:18px;background:#080808d9;color:white;font-size:.58rem;letter-spacing:.14em;padding:12px 15px;opacity:0;transition:opacity .2s}.photo button:hover:after,.photo button:focus-visible:after{opacity:1}.meta{display:flex;justify-content:space-between;gap:22px;padding-top:20px}.meta h3{margin:0;font:400 clamp(1.15rem,1.8vw,1.6rem)/1.2 var(--display);letter-spacing:-.035em}.meta span{text-align:right;color:#a4a49e;font-size:.6rem;letter-spacing:.09em;line-height:1.7;text-transform:uppercase}.project-count{color:#83867f;font-size:.59rem;letter-spacing:.1em;margin:13px 0 0}.project-summary{font-size:.86rem;line-height:1.75;color:#aaa9a4;margin:17px 0 0;max-width:560px}.image-label{position:absolute;bottom:18px;left:18px;color:#fff;background:#080808d9;padding:10px 13px;font-size:.53rem;letter-spacing:.09em;text-transform:uppercase;max-width:70%}.projects.filtered .project{grid-column:auto}.projects.filtered{align-items:start}

.studio{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--ivory);color:#25251f;border-top:1px solid #cbc5b9;align-items:center}.studio .eyebrow{color:#766043}.studio-copy h2{font:400 clamp(2.7rem,4.5vw,5rem)/1.1 var(--display);letter-spacing:-.06em;margin:30px 0}.studio-copy p{max-width:540px;color:#57574f;font-size:1rem;line-height:1.85}.studio-portraits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.studio-portraits figure{margin:0}.studio-portraits figure:nth-child(2){padding-top:75px}.studio-portraits img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;filter:grayscale(1);border:0}.studio-portraits figcaption{margin-top:20px;border-top:1px solid #b4ad9e;padding-top:15px}.studio-portraits .person-title{display:block;color:#766043;font-size:.62rem;line-height:1.6;margin-bottom:7px}.studio-portraits strong{display:block;font:400 .94rem/1.4 var(--display)}
.dark{background:#080808}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10%}.intro .large{font:400 clamp(1.8rem,3vw,3.2rem)/1.2 var(--display);letter-spacing:-.045em;margin:0}.intro p{font-size:.98rem;line-height:1.85;color:var(--muted);margin:0}.services{display:grid;grid-template-columns:1fr 1fr;gap:0 8%;margin-top:65px}.service{display:flex;gap:25px;border-top:1px solid var(--line);padding:29px 0}.service small{font-size:.65rem;color:var(--accent);padding-top:7px}.service span{font:400 clamp(1.1rem,1.8vw,1.65rem)/1.35 var(--display);letter-spacing:-.035em}.service-expanded p{font-size:.85rem;line-height:1.75;color:var(--muted);max-width:32em;margin:15px 0}.textlink{display:inline-block;border-bottom:1px solid #7a6f60;padding:0 0 8px;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase}.textlink:hover{color:var(--accent)}.service-expanded .textlink{font-size:.58rem}

.branded-section{background:#111110;position:relative;border-top:1px solid #292927;border-bottom:1px solid #292927}.international-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:40px}.construction-badge{display:inline-flex;align-items:center;gap:11px;border:1px solid #605647;color:#d2c2a9;padding:10px 14px;text-transform:uppercase;font-size:.57rem;letter-spacing:.15em;white-space:nowrap}.construction-badge:before{content:'';width:5px;height:5px;border-radius:50%;background:var(--accent)}.international-layout{display:grid;grid-template-columns:1.35fr .65fr;gap:10%;align-items:end}.international-layout h2{font:400 clamp(2.8rem,5.5vw,6rem)/1.07 var(--display);letter-spacing:-.065em;margin:0}.international-layout h2 span{color:var(--ivory)}.international-copy p{font-size:1rem;color:var(--muted);line-height:1.85;margin:0 0 30px}.international-copy .textlink{color:#eee}.press{background:#080808}.press-intro{font-size:.95rem;line-height:1.8;max-width:650px;color:var(--muted);margin:0 0 42px}.press-list{border-top:1px solid var(--line)}.press-item{display:grid;grid-template-columns:150px minmax(0,1fr) 90px;align-items:center;gap:32px;padding:30px 0;border-bottom:1px solid var(--line)}.press-item:hover .press-title{color:var(--accent)}.press-publication{font:500 .88rem var(--display)}.press-title{font:400 clamp(1rem,1.7vw,1.45rem)/1.35 var(--display);letter-spacing:-.025em;transition:color .2s}.press-detail{display:block;font:.78rem/1.7 var(--font);color:#8f918a;letter-spacing:0;margin-top:10px}.press-date{text-align:right;color:var(--accent);font-size:.6rem;text-transform:uppercase;letter-spacing:.1em}

.contact{background:#0d0d0c;border-top:1px solid var(--line)}.contact h2{font:400 clamp(3.5rem,8vw,9rem)/1.02 var(--display);letter-spacing:-.065em;margin:35px 0 65px}.contact-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:12%;border-top:1px solid #46443e;padding-top:35px}.contact-form h3{font:400 1.5rem var(--display);letter-spacing:-.035em;margin:0 0 12px}.contact-form p{font-size:.88rem;line-height:1.65;color:var(--muted);max-width:450px;margin:0 0 30px}.contact-form label,.contact-details label{display:block;font-size:.59rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact-form input,.contact-form textarea,.contact-form select{display:block;width:100%;padding:15px 0;margin:0 0 26px;border:0;border-bottom:1px solid #55554f;border-radius:0;background:transparent;color:#eee;font-size:.96rem;outline-offset:5px}.contact-form select{padding-right:25px}.contact-form select option{background:#151514}.contact-form textarea{resize:vertical;min-height:120px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:1px solid var(--accent)}.contact-form button{background:var(--ivory);color:#080808;border:1px solid var(--ivory);padding:17px 27px;text-transform:uppercase;font-size:.65rem;letter-spacing:.12em;transition:background .2s}.contact-form button:hover{background:var(--accent);border-color:var(--accent)}.form-status{margin-top:20px!important}.contact-details{display:grid;align-content:start;gap:32px}.contact-details a,.contact-details span{font-size:.94rem;line-height:1.8;overflow-wrap:anywhere}.contact-details a:hover{color:var(--accent)}.primary-link{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid #777063;padding:16px 22px;font-size:.65rem;text-transform:uppercase;letter-spacing:.11em;transition:background .2s}.primary-link:hover{background:#ddd3c3;color:#080808}.contact-details .primary-link{font-size:.63rem;margin-top:5px}footer{display:flex;justify-content:space-between;align-items:center;gap:30px;background:#080808;color:#888b83;border-top:1px solid var(--line);padding:35px 6%;font-size:.62rem;letter-spacing:.04em}footer img{width:190px;height:auto}footer a:hover{color:#fff}

.lightbox{width:min(1160px,94vw);max-height:94dvh;padding:24px;background:#0c0c0c;color:#f5f5f2;border:1px solid #52524b}.lightbox::backdrop{background:#000e;backdrop-filter:blur(12px)}.lightbox-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.lightbox h2{font:400 1.1rem var(--display);margin:0}.lightbox-close{color:#fff;background:none;border:1px solid #66675f;padding:11px 16px;font-size:.78rem}.lightbox>#dialog-image{width:100%;max-height:66dvh;object-fit:contain}.gallery-caption{font-size:.78rem;color:#b8b9b1;line-height:1.6;margin:16px 0 0}.gallery-controls{display:flex;gap:10px;align-items:center;margin-top:15px}.gallery-controls button{background:none;color:#eee;border:1px solid #4a4b45;padding:10px 20px}.gallery-controls button:disabled{opacity:.3;cursor:default}.lightbox-count{font-size:.73rem;color:#a9aba2;margin-left:8px}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;margin-top:18px;padding-bottom:10px}.gallery-thumbs button{padding:0;flex:0 0 70px;height:50px;border:1px solid transparent;background:#222;opacity:.5}.gallery-thumbs button[aria-current=true]{border-color:#fff;opacity:1}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.reveal-ready .reveal-section{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .85s cubic-bezier(.16,1,.3,1)}.reveal-ready .reveal-section.is-visible{opacity:1;transform:none}

@media(min-width:1600px){header,.section,footer{padding-left:max(6%,calc((100vw - 1440px)/2));padding-right:max(6%,calc((100vw - 1440px)/2))}}
@media(max-width:1100px){header{height:80px}.brand img{width:220px}.menu-toggle{display:block;background:none;color:#eee;border:1px solid #55564e;padding:10px 14px;font-size:.68rem}nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 6% 30px;background:#080808;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{font-size:.85rem;padding:16px 0}.studio{gap:5%}.studio-portraits{gap:15px}.press-item{grid-template-columns:130px 1fr 65px;gap:20px}.international-layout{grid-template-columns:1.2fr .8fr;gap:7%}main>section{scroll-margin-top:80px}}
@media(max-width:760px){.section{padding:68px 6%}.intro-screen{min-height:520px}.intro-enter{width:94vw;gap:43px;padding:30px 0}.intro-kicker{top:10%;font-size:.49rem;line-height:1.8;letter-spacing:.19em}.intro-invitation{font-size:.5rem;gap:27px}.intro-bottom{bottom:7%;justify-content:center}.intro-bottom>span{display:none}.intro-bottom .scroll-cue{font-size:.51rem}.orbit{width:320px;height:320px}.orbit-two{width:430px;height:430px}.orbit-three{width:480px;height:480px}.motion-label{font-size:.4rem;top:23%}.label-two{top:74%}.label-three{top:81%}.blueprint-grid{background-size:55px 55px}header{padding:0 6%;gap:18px}.brand img{width:205px}.section-head{margin-bottom:34px;gap:20px}.section-head h2{font-size:2.7rem}.section-head>p{font-size:.54rem;line-height:1.7}.portfolio-heading{flex-direction:column-reverse;gap:22px}.portfolio-heading h1{font-size:clamp(3.1rem,11.6vw,5rem);max-width:100%}.portfolio-heading>p{max-width:none;padding:0;margin:0}.portfolio-intro{font-size:.91rem;line-height:1.8;margin-bottom:20px}.filters{gap:10px 23px;margin-bottom:28px}.filter{font-size:.62rem;padding:13px 0}.projects{grid-template-columns:1fr;gap:38px}.project:first-child{grid-column:auto}.photo,.project:first-child .photo{aspect-ratio:1.15}.meta{gap:20px;padding-top:17px}.meta h3{font-size:1.1rem}.meta span{font-size:.52rem;max-width:47%}.photo button:after{opacity:1;right:10px;bottom:10px;padding:9px 11px;font-size:.48rem}.image-label{left:10px;bottom:10px;font-size:.45rem;padding:9px;max-width:66%}.project-summary{font-size:.8rem;margin-top:14px}.project-count{font-size:.52rem;line-height:1.6}.studio{grid-template-columns:1fr;gap:35px}.studio-copy h2{font-size:2.9rem;margin:25px 0}.studio-copy p{font-size:.93rem}.studio-portraits{gap:18px}.studio-portraits figure:nth-child(2){padding-top:45px}.studio-portraits strong{font-size:.81rem}.studio-portraits .person-title{font-size:.55rem;min-height:2.5em}.intro{grid-template-columns:1fr;gap:24px}.intro .large{font-size:2.2rem}.intro p{font-size:.91rem}.services{grid-template-columns:1fr;margin-top:40px}.service{padding:23px 0;gap:22px}.service span{font-size:1.2rem}.service small{padding-top:5px}.service-expanded p{font-size:.82rem}.international-top{align-items:flex-start;flex-direction:column;gap:20px;margin-bottom:35px}.international-layout{grid-template-columns:1fr;gap:30px}.international-layout h2{font-size:clamp(2.6rem,10.8vw,4rem)}.international-copy p{font-size:.92rem;margin-bottom:25px}.construction-badge{font-size:.52rem}.press .section-head{align-items:flex-start}.press .section-head>p{max-width:80px;text-align:right}.press-intro{font-size:.87rem}.press-item{grid-template-columns:1fr 60px;gap:13px;padding:25px 0}.press-publication{grid-column:1/-1;color:#b7a78e;font-size:.73rem}.press-title{font-size:1.02rem}.press-date{font-size:.52rem}.press-detail{font-size:.72rem;line-height:1.65}.contact h2{font-size:clamp(3.4rem,12vw,5rem);margin:30px 0 45px}.contact-layout{grid-template-columns:1fr;gap:55px;padding-top:30px}.contact-form h3{font-size:1.3rem}.contact-form p{font-size:.82rem}.form-row{grid-template-columns:1fr;gap:0}.contact-form input,.contact-form select,.contact-form textarea{font-size:1rem}.contact-details{grid-template-columns:1fr;gap:26px}.contact-details a,.contact-details span{font-size:.88rem}footer{padding:30px 6%;align-items:flex-start;flex-wrap:wrap;gap:25px;font-size:.58rem}footer img{width:180px;flex:0 0 180px}footer span{flex-basis:100%;order:3}.lightbox{padding:15px}.lightbox h2{font-size:.94rem}.lightbox-close{padding:10px 12px;font-size:.72rem}.lightbox>#dialog-image{max-height:60dvh}.gallery-caption{font-size:.71rem}.gallery-thumbs button{flex-basis:60px;height:45px}}
@media(max-width:360px){.brand img{width:180px}.intro-kicker{font-size:.43rem}.meta h3{font-size:1rem}.portfolio-heading h1{font-size:2.8rem}.image-label{max-width:63%;font-size:.4rem}.international-layout h2{font-size:2.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready .reveal-section{opacity:1;transform:none}.intro-enter>img,.intro-kicker,.intro-invitation{opacity:1;transform:none;filter:none}}
