@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/font-5.ttf) format('truetype');
}

:root{--green:#132b24;--paper:#f5f5ed;--coral:#ef9675;--line:#c9cec4;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--green);color:var(--paper);font:16px/1.6 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--coral);outline-offset:6px}button{border:0;background:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h2{font:400 clamp(2.8rem,5.2vw,5.8rem)/1.08 var(--display);letter-spacing:-.055em}em{font-family:Georgia,serif;font-weight:400}header{position:fixed;z-index:30;top:0;left:0;width:100%;padding:25px 4%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(#10231bc9,transparent);transition:background .2s}header.solid{background:#132b24f5}header .brand{font-size:20px}.brand{display:block;font:400 23px/1.2 var(--display);letter-spacing:.04em;width:max-content}.brand span{display:block;font:500 15px/1.8 var(--sans);letter-spacing:.42em}header nav{display:flex;gap:38px;align-items:center;font-size:14px}header nav a:last-child{border:1px solid #ffffff70;padding:8px 20px;border-radius:30px}header a:hover{color:var(--coral)}.menu-toggle{display:none}.skip{position:fixed;z-index:100;top:-70px;left:20px;background:var(--paper);color:var(--green);padding:12px}.skip:focus{top:12px}.eyebrow,.section-label{font-size:14px;letter-spacing:.05em}.eyebrow{text-transform:uppercase}.opening{height:185svh}.opening-stage{height:100svh;position:sticky;top:0;overflow:hidden}.hero-window{position:absolute;inset:0;clip-path:inset(0);will-change:clip-path}.hero-image{height:100%;will-change:transform}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#071c15a8 0%,#071c1510 100%)}.hero-copy{position:absolute;left:6%;right:6%;top:29%;will-change:transform}.hero-copy h1{font:400 clamp(4.5rem,8.8vw,9.8rem)/1.03 var(--display);letter-spacing:-.065em;margin:23px 0 34px}.hero-copy h1>span{display:block}.hero-copy h1 em{letter-spacing:-.06em}.hero-bottom{display:flex;justify-content:space-between;align-items:end;max-width:1000px}.hero-bottom p{line-height:1.5}.hero-bottom a{border-bottom:1px solid #ffffff80;padding-bottom:8px}.hero-bottom a span{margin-left:45px}.opening-foot{position:absolute;bottom:25px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:12px;text-transform:uppercase;letter-spacing:.07em}.opening-under{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:7%;}.opening-under h2{font-size:clamp(4rem,8vw,9rem);margin:30px 0}.opening-under h2 em{color:var(--coral)}.opening-under p{align-self:flex-end;margin-right:7%;max-width:280px}.section-pad{padding:90px 6%}.section-label{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-bottom:65px}.about{background:var(--paper);color:var(--green)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.intro-grid h2{font-size:clamp(3rem,5.4vw,6.5rem)}.intro-copy{padding-top:7px;max-width:490px}.intro-copy p{margin-bottom:25px;color:#47574f}.intro-copy .large-copy{font-size:clamp(1.4rem,2.25vw,2rem);color:var(--green);line-height:1.4;letter-spacing:-.025em}.text-link{display:inline-flex;gap:42px;border-bottom:1px solid;padding:12px 0}.work{height:390svh}.work-stage{height:100svh;position:sticky;top:0;overflow:hidden}.work-top,.work-bottom{position:absolute;left:4%;right:4%;display:flex;align-items:center;justify-content:space-between;z-index:10;font-size:14px}.work-top{top:105px}.work-bottom{bottom:24px}.project{position:absolute;inset:0;overflow:hidden;background:var(--green);clip-path:inset(0);will-change:clip-path}.project:not(:first-of-type){clip-path:inset(0 0 0 100%)}.project-photo{position:absolute;inset:0;will-change:transform}.project-photo img{width:100%;height:100%;object-fit:cover}.project-shade{position:absolute;inset:0;background:linear-gradient(90deg,#03140fd6,#061b1530 80%),linear-gradient(0deg,#03140f95,transparent 50%)}.project-copy{position:absolute;left:7%;top:29%;will-change:transform}.project-copy h2{font-size:clamp(4rem,7.7vw,8.5rem);margin:15px 0 20px}.project-copy p{font-size:18px}.project-open{padding:10px 0;margin-top:24px;border-bottom:1px solid #ffffffa0;font-size:14px;display:flex;gap:60px}.project-open:hover{color:var(--coral)}.project-note{position:absolute;right:6%;bottom:120px;display:flex;gap:25px;align-items:center}.project-note>span{font:400 90px/1 var(--display);color:#ffffff9c}.project-note p{font-size:14px;line-height:1.5}.chapter-nav{display:flex;gap:20px}.chapter-nav button{display:flex;gap:10px;align-items:center;font-size:12px;padding:10px 0}.chapter-nav button span{display:block;width:36px;height:2px;background:#ffffff60}.chapter-nav button[aria-current="true"]{color:var(--coral)}.chapter-nav button[aria-current="true"] span{background:var(--coral)}.practice{background:var(--paper);color:var(--green)}.practice-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.practice h2{font-size:clamp(2.7rem,4.1vw,4.5rem)}.sectors{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.sectors a{padding:17px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between}.sectors a:hover{color:#a44e30}.people{display:grid;grid-template-columns:1.15fr 1fr;gap:8%;align-items:center}.people-photo{overflow:hidden;aspect-ratio:1/1.08}.people-photo img{height:100%;object-position:50% 45%}.people-copy h2{margin:20px 0 25px;font-size:clamp(2.5rem,4.1vw,4.5rem)}.people-copy p{color:#ccd5ce}.partner-list{margin-top:25px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.partner-list span{font-size:14px}.partner-list small{display:block;color:#bbc7bd;font-size:12px}.people-copy .text-link{margin-top:20px}.news{background:var(--paper);color:var(--green)}.news .section-label{margin-bottom:30px}.news-row{display:grid;grid-template-columns:150px 1fr 30px;gap:25px;padding:27px 0;border-bottom:1px solid var(--line);align-items:center}.news-row h3{font-size:clamp(1.2rem,2.2vw,2rem);letter-spacing:-.025em}.news-row time{font-size:12px;color:#59665e}.news-row:hover h3{color:#a44e30}footer .section-label{border-color:#ffffff50}footer h2{font-size:clamp(4rem,10vw,11rem);margin-bottom:70px;color:var(--coral)}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px}.footer-grid address{font-style:normal;font-size:16px}.footer-grid address a{display:inline-block;margin-top:16px}.footer-grid .text-link{padding-top:0}.social{display:flex;gap:25px;margin-top:20px;font-size:14px}.footer-base{margin-top:75px;padding-top:25px;border-top:1px solid #ffffff40;display:flex;justify-content:space-between;font-size:12px;color:#cbd4ce}.footer-base>div{display:flex;gap:20px}.footer-base button{font-size:12px;padding:0;text-decoration:underline}dialog{width:min(1040px,94vw);max-height:90svh;padding:0;background:var(--paper);color:var(--green);border:0;overflow:auto}dialog::backdrop{background:#06100ded;backdrop-filter:blur(8px)}dialog>img{height:36svh}.dialog-close{position:sticky;float:right;top:15px;margin:15px 15px -60px 0;background:var(--green);color:white;border-radius:30px;padding:9px 20px;z-index:2}.dialog-content{padding:36px 5% 45px}.dialog-content h2{font-size:clamp(2.5rem,4vw,4rem);margin:15px 0 25px}.dialog-content p{max-width:780px}dl{display:grid;grid-template-columns:100px 1fr;gap:12px;margin:25px 0}dt{font-size:14px;color:#5b685f}dd{margin:0}html.reduced{scroll-behavior:auto}.reduced .opening{height:auto}.reduced .opening-stage{position:relative;min-height:760px;height:100svh}.reduced .opening-under{display:none}.reduced .hero-window{clip-path:none!important}.reduced .hero-image,.reduced .hero-copy{transform:none!important;opacity:1!important}.reduced .work{height:auto}.reduced .work-stage{height:auto;position:relative;overflow:visible}.reduced .project{position:relative;height:90svh;min-height:650px;clip-path:none!important;visibility:visible!important}.reduced .project-photo,.reduced .project-copy{transform:none!important}.reduced .work-bottom,.reduced .work-top{display:none}.reduced .project-note{bottom:50px}
@media(min-width:1600px){.section-pad{padding-left:max(6%,calc((100% - 1480px)/2));padding-right:max(6%,calc((100% - 1480px)/2))}}
@media(max-width:700px){header{padding:18px 6%}header .brand{font-size:17px}.brand span{font-size:12px}header nav{display:none}.menu-toggle{display:flex;gap:20px;align-items:center;font-size:14px}.menu-toggle span{font-size:22px}#mobile-nav:not([hidden]){display:flex;position:fixed;z-index:25;inset:75px 0 auto;background:var(--green);flex-direction:column;padding:20px 6% 35px;gap:14px;font-size:25px}.opening{height:165svh}.hero-copy{top:30%;left:6%;right:6%}.hero-copy .eyebrow{font-size:11px;letter-spacing:.045em}.hero-copy h1{font-size:clamp(3.6rem,12vw,5.4rem);line-height:1.1;margin:25px 0}.hero-copy h1>span:last-child{max-width:100%}.hero-bottom{display:block}.hero-bottom p{font-size:14px}.hero-bottom a{display:inline-block;margin-top:25px;font-size:14px}.opening-foot{font-size:10px;left:6%;right:6%}.opening-foot>span:first-child{display:none}.opening-under{padding:7%}.opening-under h2{font-size:clamp(3.2rem,13vw,5rem)}.opening-under p{font-size:14px;align-self:flex-start;margin-top:35px}.section-pad{padding:60px 6%}.section-label{font-size:12px;margin-bottom:40px}.intro-grid,.practice-grid,.people{grid-template-columns:1fr;gap:35px}.intro-grid h2{font-size:3.8rem}.intro-copy .large-copy{font-size:1.5rem}.intro-copy{max-width:none}.work{height:335svh}.work-top{top:90px;left:6%;right:6%;font-size:12px}.project-copy{top:31%;left:6%;right:6%}.project-copy h2{font-size:clamp(3.5rem,14vw,5.6rem)}.project-copy .eyebrow{font-size:12px}.project-copy p{font-size:16px}.project-note{display:none}.work-bottom{left:6%;right:6%;bottom:22px}.work-bottom>span{max-width:115px;font-size:11px}.chapter-nav{gap:12px}.chapter-nav button span{width:20px}.project-photo img{object-position:58% center}.project-shade{background:linear-gradient(90deg,#061c13bb,#061c1340),linear-gradient(0deg,#061c1390,transparent 80%)}.practice h2{font-size:2.7rem}.sectors{gap:0 18px}.sectors a{font-size:14px}.people-photo{aspect-ratio:1.2}.people-copy h2{font-size:3.3rem}.news-row{grid-template-columns:1fr 25px;gap:5px 15px;padding:22px 0}.news-row time{grid-column:1}.news-row h3{grid-column:1;font-size:1.35rem}.news-row>span{grid-column:2;grid-row:1/3}.footer-grid{grid-template-columns:1fr;gap:30px}footer h2{font-size:15vw;margin-bottom:45px}.footer-base{flex-wrap:wrap;gap:20px;margin-top:50px}.footer-base>div{width:100%}dialog>img{height:27svh}.dialog-content{padding:28px 6%}dl{grid-template-columns:70px 1fr;font-size:14px}.reduced .opening-stage{min-height:670px}.reduced .project{min-height:610px}}
.opening-under p{align-self:flex-start;margin-right:0;max-width:60%}.reduced .project-copy,.reduced .opening-foot{opacity:1!important}
@media(max-width:700px){.opening-under{justify-content:flex-start;padding-top:23svh}.opening-under h2{font-size:12vw}.opening-under p{max-width:55%;margin-top:20px}.opening-under .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* The initials remain while the people behind the name scroll past. */
.name-story{padding:75px 6% 0;background:var(--green);color:var(--paper)}
.name-story>.section-label{border-color:#ffffff40;margin-bottom:48px}.story-title{max-width:850px;margin-bottom:45px}.story-title em{color:var(--coral)}
.name-story-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:start}
.name-lockup{position:sticky;top:110px;min-height:65svh;display:flex;flex-direction:column;justify-content:center}
.name-mark{display:flex;align-items:baseline;font:500 clamp(4.5rem,10vw,11rem)/1.15 var(--display);letter-spacing:-.07em;white-space:nowrap}.name-letter{display:inline-block;will-change:transform,opacity}.letter-plus{color:var(--coral);font-weight:400;margin:0 .035em}
.name-key{display:flex;gap:18px;font-size:14px;margin-top:24px;letter-spacing:.02em}.name-rule{height:1px;background:#ffffff30;margin:30px 0 20px;max-width:440px}.name-rule span{display:block;height:1px;background:var(--coral);width:100%;transform-origin:left}.name-signature{font-size:14px;letter-spacing:.06em;color:var(--coral)}
.name-chapter{min-height:82svh;display:flex;flex-direction:column;justify-content:center;padding:75px 0;scroll-margin-top:110px}.name-chapter .eyebrow{color:var(--coral)}.name-chapter h3{font:400 clamp(2.7rem,4.1vw,4.6rem)/1.1 var(--display);letter-spacing:-.05em;margin:24px 0}.name-chapter p{max-width:450px;color:#ccd5ce;font-size:18px}.chapter-initial{display:flex;gap:18px;align-items:center;color:var(--coral);font:400 36px/1.3 var(--display);margin-top:30px}.chapter-initial span{font:400 14px/1.5 var(--sans);color:var(--paper);letter-spacing:.02em}.name-chapter .chapter-result{color:var(--paper);margin-top:24px;font-weight:500}
.reduced .name-lockup{position:static;min-height:0;padding:35px 0}.reduced .name-letter,.reduced .name-key>span,.reduced .name-signature{opacity:1!important;transform:none!important}.reduced .name-rule span{transform:none!important}.reduced .name-chapter{min-height:0;padding:35px 0 55px}
@media(max-width:700px){.name-story{padding:60px 6% 0}.story-title{font-size:clamp(2.5rem,9vw,4rem);margin-bottom:32px}.name-story-grid{display:block}.name-lockup{top:77px;min-height:0;height:215px;z-index:12;background:var(--green);justify-content:center;padding:14px 0 20px}.name-mark{font-size:clamp(4.5rem,19vw,7rem)}.name-key{margin-top:8px;gap:16px}.name-rule{margin:14px 0 10px}.name-signature{font-size:14px}.name-chapter{min-height:75svh;padding:75px 0 55px;justify-content:center}.name-chapter:first-child{padding-top:45px;min-height:55svh}.name-chapter h3{font-size:clamp(2.5rem,10vw,3.7rem)}.name-chapter p{font-size:16px}.name-chapter .eyebrow{font-size:12px}.reduced .name-lockup{height:auto}.reduced .name-chapter,.reduced .name-chapter:first-child{min-height:0;padding:30px 0 45px}}
@media(max-height:550px){.name-lockup{top:80px;height:150px;min-height:0}.name-mark{font-size:64px}.name-key{margin-top:5px}.name-rule{margin:10px 0}.name-signature{display:none}}

/* The completed name story resolves into the compact studio mark in the header. */
.header-brand{position:relative;width:178px;height:48px;overflow:hidden}
.header-brand .brand-full,.header-brand .brand-compact{position:absolute;left:0;top:0;display:block;transition:transform .7s cubic-bezier(.22,.8,.25,1),opacity .45s ease}
.header-brand .brand-full{font:400 20px/1.2 var(--display);letter-spacing:.04em}
.header-brand .brand-full small{display:block;font:500 15px/1.8 var(--sans);letter-spacing:.42em}
.header-brand .brand-compact{font:500 29px/1.45 var(--display);letter-spacing:-.055em;opacity:0;transform:translateY(42px)}
.header-brand .brand-compact i{font:400 28px/1 Georgia,serif;color:var(--coral);font-style:normal}
header.logo-resolved .brand-full{opacity:0;transform:translateY(-46px)}
header.logo-resolved .brand-compact{opacity:1;transform:translateY(0)}
.content-expand{margin-top:38px;border-top:1px solid var(--line)}
.content-expand summary{list-style:none;display:flex;justify-content:space-between;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);cursor:pointer;font:500 15px/1.4 var(--sans)}
.content-expand summary::-webkit-details-marker{display:none}.content-expand summary::after{content:'+';font-size:22px;font-weight:400}.content-expand[open] summary::after{content:'−'}
.content-expand .expanded-copy{padding:30px 0 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 55px;color:#47574f}
.service-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin-top:8px}.service-list span{padding:12px 0;border-bottom:1px solid var(--line);color:var(--green)}
.news-detail{grid-column:2/3;color:#536159;font-size:15px;max-width:720px;padding-top:8px}.news-row{cursor:pointer}.news-row[aria-expanded="true"]{padding-bottom:34px}.news-row[aria-expanded="true"]>span{transform:rotate(45deg)}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:32px;max-width:760px}.contact-form label{font-size:13px;color:#cbd4ce}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;background:transparent;color:var(--paper);border:1px solid #ffffff55;padding:13px;font:16px var(--sans)}.contact-form .full{grid-column:1/-1}.contact-form textarea{min-height:110px;resize:vertical}.contact-form button{justify-self:start;border:1px solid #ffffff70;border-radius:30px;padding:10px 24px}.contact-form button:hover{background:var(--paper);color:var(--green)}
@media(max-width:700px){.header-brand{width:152px;height:42px}.header-brand .brand-full{font-size:17px}.header-brand .brand-full small{font-size:12px}.header-brand .brand-compact{font-size:25px;line-height:1.35}.content-expand .expanded-copy,.service-list,.contact-form{grid-template-columns:1fr}.news-detail{grid-column:1/-1}.contact-form .full{grid-column:1}}
/* Motion is encoded once, with a continuous eight-second loop. */
.hero-image{object-position:50% 50%}
.shade{z-index:2}.hero-copy,.opening-foot{z-index:3}
.hero-video{display:block;width:100%;height:100%;object-fit:cover}
