@charset "UTF-8";

:root{--ink:#171918;--paper:#f2f0e9;--accent:#fb5607;--muted:#5b605b;--line:#c7c9c1;--white:#fff;--gutter:clamp(22px,4.4vw,76px);--display:"Arial Narrow","Helvetica Neue",Arial,sans-serif;--body:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:108px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
body,button,a{-webkit-tap-highlight-color:transparent}
::selection{background:var(--accent);color:var(--ink)}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{max-width:100%;display:block}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-family:var(--display);font-weight:700}
button,summary,a{touch-action:manipulation}
button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:7px}
button{border-radius:0}
.shell{width:min(100%,1680px);padding-inline:var(--gutter);margin-inline:auto}
.eyebrow{text-transform:uppercase;font-size:11px;font-weight:400;letter-spacing:.12em;line-height:1.5}
.orange,.brand-plus{color:var(--accent)}
.brand-plus{font-weight:400;font-size:1.35em;line-height:0;display:inline-block;vertical-align:baseline}
.skip-link{position:fixed;top:10px;left:16px;z-index:100;transform:translateY(-160%);background:var(--ink);color:var(--paper);padding:12px 18px}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{width:min(100%,1680px);min-height:96px;padding-inline:var(--gutter);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:block;flex-shrink:0;padding-block:12px}
.brand img{width:clamp(155px,15vw,219px);height:auto;max-height:48px;object-fit:contain;object-position:left}
.site-navigation{display:flex;align-items:center;gap:clamp(25px,3.5vw,58px)}
.site-navigation a{font-size:12px;text-transform:uppercase;letter-spacing:.075em;padding-block:13px;position:relative}
.site-navigation a::after{content:"";position:absolute;left:0;bottom:6px;width:0;height:2px;background:var(--accent);transition:width .2s ease}
.site-navigation a:hover::after,.site-navigation a:focus-visible::after{width:100%}
.nav-contact span{margin-left:12px;font-size:20px;line-height:0}
.menu-toggle{display:none}
.hero{padding-top:32px;padding-bottom:30px}
.hero-eyebrow{display:flex;justify-content:space-between;gap:24px;color:var(--muted);margin-bottom:40px}
.hero h1{font-size:clamp(55px,7.1vw,116px);letter-spacing:-.058em;line-height:.96;text-transform:uppercase;max-width:1450px}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-top:28px}
.hero-bottom p{max-width:355px;font-size:14px;line-height:1.6}
.hero-bottom .text-link{background:var(--accent);color:var(--ink);padding:12px 18px;border:0}
.hero-bottom .text-link:hover{background:var(--ink);color:var(--paper)}
.text-link{display:inline-flex;align-items:center;gap:26px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:6px;line-height:1.6;width:fit-content;transition:color .18s ease}
.text-link span{font-size:21px;line-height:1}
.text-link:hover{color:var(--accent)}
.project-preview{margin:0}
.project-preview>img{width:100%;height:clamp(360px,31vw,580px);object-fit:cover;object-position:50% 88%}
.project-preview figcaption{display:flex;justify-content:space-between;gap:20px;padding-block:18px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.08em}
.section-space{padding-top:118px;padding-bottom:118px}
.section-intro{display:grid;grid-template-columns:1fr 2fr;gap:32px;margin-bottom:66px}
.section-label{padding-top:12px;color:var(--muted)}
h2{font-size:clamp(45px,5.1vw,82px);letter-spacing:-.045em;line-height:1.03;text-transform:uppercase}
.section-description{margin-top:26px;max-width:440px;font-size:15px;color:var(--muted)}
.service{border-top:1px solid var(--ink)}
.service:last-child{border-bottom:1px solid var(--ink)}
.service summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:10% 1fr 40px;gap:20px;align-items:center;min-height:120px;padding:21px 0;transition:color .18s ease}
.service summary::-webkit-details-marker{display:none}
.service summary::marker{content:""}
.service-number{font-size:11px;letter-spacing:.04em;color:var(--muted)}
.service-title{font-family:var(--display);font-size:clamp(34px,4.2vw,67px);font-weight:700;letter-spacing:-.035em;line-height:1.1;text-transform:uppercase}
.service-title .brand-plus{font-family:var(--body);margin-left:.08em;font-size:.85em}
.disclosure-icon{width:32px;height:32px;position:relative;justify-self:end;color:var(--ink)}
.disclosure-icon::before,.disclosure-icon::after{content:"";position:absolute;top:50%;left:50%;width:26px;height:2px;transform:translate(-50%,-50%);background:currentColor}
.disclosure-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s ease,opacity .2s ease}
.service[open] .disclosure-icon::after{transform:translate(-50%,-50%) rotate(0);opacity:0}
.service summary:hover .service-title{color:var(--muted)}
.service-body{margin-left:calc(10% + 20px);display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(35px,6vw,110px);padding:1px 60px 42px 0}
.service-body>p{max-width:570px;font-size:16px;line-height:1.75}
.service-tags{margin:0;padding:0;list-style:none;align-self:start;font-size:12px;line-height:1.6}
.service-tags li{padding:8px 0;border-bottom:1px solid var(--line)}
.service-tags li:first-child{padding-top:0}
.service-body .text-link{align-self:start;margin-top:3px;font-size:12px;gap:18px}
.philosophy{background:var(--ink);color:var(--paper)}
.philosophy-inner{padding-top:104px;padding-bottom:112px;display:grid;grid-template-columns:1.15fr 1fr;gap:10%}
.philosophy-heading .eyebrow{color:#b6bbb4;margin-bottom:57px}
.philosophy h2{font-size:clamp(52px,6.2vw,99px);line-height:1}
.philosophy-content{padding-top:4px}
.philosophy-mark{width:108px;height:auto;filter:brightness(0) invert(1);opacity:.92;margin-bottom:43px}
.philosophy-lead{font-size:clamp(21px,2vw,30px);letter-spacing:-.015em;line-height:1.45;max-width:530px}
.philosophy-content>p:not(.philosophy-lead){font-size:15px;color:#bdc1ba;line-height:1.8;max-width:480px;margin-top:27px}
.philosophy .text-link{margin-top:31px}
.process-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;list-style:none;padding:0;margin:0}
.process-list li{border-top:1px solid var(--ink);padding-top:21px;display:flex;flex-direction:column;gap:39px}
.process-number{font-family:var(--display);font-size:68px;line-height:1;letter-spacing:-.045em}
.process-list h3{font-size:24px;letter-spacing:-.025em;line-height:1.25;margin-bottom:17px}
.process-list p{font-size:14px;line-height:1.8;max-width:330px;color:var(--muted)}
.contact{padding-top:98px;padding-bottom:67px;background:var(--ink);color:var(--paper)}
.contact-heading{position:relative;border-bottom:1px solid #515650;padding-bottom:63px}
.contact-heading>.eyebrow{color:#bdc1ba;margin-bottom:37px}
.contact h2{font-size:clamp(66px,9.1vw,145px);line-height:.97;letter-spacing:-.055em}
.contact-action{position:absolute;right:0;bottom:69px;display:flex;align-items:center;justify-content:center;width:clamp(100px,13vw,200px);height:clamp(100px,13vw,200px);background:var(--accent);color:var(--ink);font-size:clamp(69px,8vw,128px);line-height:1;transition:background .2s ease}
.contact-action:hover{background:var(--paper)}
.contact-action span{transform:translateY(-4px)}
.contact-action:focus-visible{outline-color:var(--paper)}
.contact-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:40px;padding-top:36px}
.contact-label{color:#aeb5ad;margin-bottom:16px}
.contact-grid a,.contact-grid address{display:block;font-size:16px;line-height:1.8;font-style:normal;width:fit-content}
.contact-grid a:hover{text-decoration:underline;text-underline-offset:5px}
.contact-grid .contact-email{font-size:clamp(18px,2vw,27px);letter-spacing:-.015em}
.site-footer{background:var(--ink);color:var(--paper)}
.footer-inner{border-top:1px solid #515650;min-height:142px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.footer-brand img{width:176px;height:auto;max-height:40px;object-fit:contain;object-position:left}
.footer-inner p{font-size:11px;color:#bdc1ba;letter-spacing:.025em}
.back-to-top{font-size:12px;display:flex;align-items:center;gap:25px;padding-block:16px}
.back-to-top span{font-size:20px;line-height:1}

@media(min-width:1700px){.hero h1{font-size:116px}}
@media(max-width:1100px){
  .header-inner{min-height:84px}.hero{padding-top:34px}.hero-eyebrow{margin-bottom:45px}.hero h1{font-size:8.1vw}.hero-bottom{margin-top:33px}.hero-bottom p{max-width:320px}
  .section-space{padding-block:88px}.section-intro{grid-template-columns:1fr 2.2fr;gap:25px}.service-body{grid-template-columns:1.25fr 1fr;gap:36px;padding-right:20px}.service summary{min-height:105px}
  .philosophy-inner{padding-block:85px;gap:7%}.philosophy h2{font-size:6.8vw}.process-list{gap:26px}.contact{padding-top:80px}.contact-grid{grid-template-columns:1.45fr 1fr .9fr;gap:25px}.contact-grid a,.contact-grid address{font-size:14px}.contact-grid .contact-email{font-size:19px}
}
@media(max-width:760px){
  html{scroll-padding-top:87px}.header-inner{min-height:76px;flex-wrap:wrap;gap:0 24px}.brand img{width:167px;max-height:38px}.brand{padding-block:15px}
  .site-navigation{width:100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 20px;padding-bottom:16px}.site-navigation a{font-size:11px}
  .js .menu-toggle{display:flex;gap:18px;align-items:center;justify-content:center;background:none;border:0;padding:15px 0 15px 16px;cursor:pointer;text-transform:uppercase;font-size:11px;letter-spacing:.05em}
  .menu-glyph{width:23px;height:20px;position:relative}.menu-glyph i{display:block;position:absolute;left:0;width:23px;height:2px;background:var(--ink);transition:transform .2s ease,top .2s ease}.menu-glyph i:first-child{top:5px}.menu-glyph i:last-child{top:13px}.menu-open .menu-glyph i:first-child{top:9px;transform:rotate(45deg)}.menu-open .menu-glyph i:last-child{top:9px;transform:rotate(-45deg)}
  .js .site-navigation{display:none}.js .menu-open .site-navigation{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);gap:0;padding-top:12px;padding-bottom:20px}.js .menu-open .site-navigation a{font-size:18px;padding-block:14px;width:fit-content}.site-navigation a::after{bottom:8px}
  .hero{padding-top:30px;padding-bottom:30px}.hero-eyebrow{margin-bottom:37px;font-size:9px;letter-spacing:.055em}.hero-location{display:none}.hero h1{font-size:clamp(41px,8.5vw,65px);letter-spacing:-.055em;line-height:1.01}.hero-bottom{margin-top:28px;align-items:flex-start;flex-direction:column-reverse;gap:25px}.hero-bottom p{font-size:13px;max-width:330px}.text-link{font-size:12px;gap:22px}.project-preview>img{height:clamp(295px,64vw,460px);object-position:50% 72%}.project-preview figcaption{font-size:9px;letter-spacing:.04em;padding-block:16px;gap:14px}
  .section-space{padding-block:68px}.section-intro{grid-template-columns:1fr;gap:29px;margin-bottom:43px}.section-label{padding:0}.eyebrow{font-size:10px}h2{font-size:clamp(43px,8.2vw,64px)}.section-description{font-size:14px;margin-top:21px;max-width:380px}
  .service summary{grid-template-columns:30px 1fr 28px;gap:12px;min-height:91px;padding-block:25px}.service-title{font-size:clamp(26px,5.1vw,39px);letter-spacing:-.04em}.service-number{font-size:10px}.disclosure-icon{width:25px;height:25px}.disclosure-icon::before,.disclosure-icon::after{width:21px}.service-body{margin-left:42px;display:block;padding:0 0 30px}.service-body>p{font-size:14px;line-height:1.75;max-width:100%}.service-tags{margin-top:24px;font-size:11px;max-width:350px}.service-body .text-link{margin-top:23px;font-size:11px;gap:12px}
  .philosophy-inner{padding-block:65px;grid-template-columns:1fr;gap:41px}.philosophy-heading .eyebrow{margin-bottom:32px}.philosophy h2{font-size:clamp(52px,11vw,80px)}.philosophy-mark{width:84px;margin-bottom:28px}.philosophy-lead{font-size:22px;max-width:500px}.philosophy-content>p:not(.philosophy-lead){font-size:14px;margin-top:21px}.philosophy .text-link{margin-top:26px}
  .process-list{display:block}.process-list li{padding-block:27px;display:grid;grid-template-columns:52px 1fr;gap:24px}.process-list li:last-child{padding-bottom:0}.process-number{font-size:48px}.process-list h3{font-size:22px;margin-bottom:13px}.process-list p{font-size:13px;line-height:1.75;max-width:none}
  .contact{padding-top:60px;padding-bottom:45px}.contact-heading{padding-bottom:35px}.contact-heading>.eyebrow{margin-bottom:30px}.contact h2{font-size:clamp(58px,11.8vw,88px)}.contact-action{width:60px;height:60px;font-size:43px;bottom:41px}.contact-action span{transform:translateY(-2px)}.contact-grid{grid-template-columns:1fr 1fr;gap:30px 22px;padding-top:29px}.contact-grid>div:first-child{grid-column:1/-1}.contact-grid .contact-email{font-size:clamp(22px,5.8vw,30px)}.contact-label{margin-bottom:12px}.contact-grid a,.contact-grid address{font-size:14px}
  .footer-inner{min-height:0;display:grid;grid-template-columns:1fr auto;gap:27px 20px;padding-block:33px}.footer-brand img{width:153px}.footer-inner p{grid-column:1/-1;grid-row:2;font-size:10px}.back-to-top{font-size:11px;gap:15px;padding-block:10px}
}
@media(max-width:390px){
  .hero h1{font-size:9.6vw}.hero-eyebrow{font-size:8.3px}.service summary{grid-template-columns:24px 1fr 23px;gap:9px}.service-title{font-size:7vw}.service-body{margin-left:33px}.service-title .brand-plus{margin-left:0}.contact h2{font-size:14vw}.contact-action{position:static;margin-top:25px}.contact-heading{padding-bottom:27px}.contact-grid{column-gap:12px}.contact-grid a,.contact-grid address{font-size:12px}.process-list li{gap:16px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Expanded studio experience */
[hidden]{display:none!important}
.reading-progress{position:fixed;inset:0 auto auto 0;z-index:70;height:3px;width:100%;background:var(--accent);transform:scaleX(var(--reading-progress,0));transform-origin:left;pointer-events:none}
.site-navigation{gap:clamp(17px,2.2vw,35px)}
.site-navigation a{font-size:11px}
.hero{padding-top:30px;padding-bottom:0}
.hero-eyebrow{margin-bottom:24px}
.hero-composition{display:grid;grid-template-columns:1.38fr 1fr;gap:38px;align-items:center;min-height:400px}
.hero h1{font-size:clamp(60px,6.5vw,105px);line-height:.98;letter-spacing:-.055em}
.hero h1>span{display:block}
.hero-bottom{margin-top:30px;align-items:center}
.hero-bottom p{font-size:13px;max-width:220px;line-height:1.55}
.hero-bottom .text-link{font-size:12px;padding:15px 19px}
.hero-art{position:relative;align-self:stretch;display:flex;flex-direction:column;min-height:390px}
.motion-stage{flex:1;display:grid;place-items:center;min-height:340px}
#living-mark{width:56%;max-width:270px;fill:var(--ink);filter:drop-shadow(0 0 20px var(--paper))}
.art-coordinate{position:absolute;font-size:8px;letter-spacing:.1em;color:var(--muted)}
.art-one{left:14px;top:36px}.art-two{right:14px;bottom:20px}
.art-cross{position:absolute;right:18px;top:24px;color:var(--accent);font-size:44px;font-weight:300;line-height:1}
#motion-toggle{align-self:flex-end;display:flex;gap:8px;align-items:center;background:none;border:0;padding:9px 0 9px 9px;font-size:9px;color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.06em}
.motion-led{height:5px;width:5px;background:var(--accent);display:block}
#motion-toggle[aria-pressed="true"] .motion-led{background:var(--muted)}
.hero-baseline{display:flex;justify-content:space-between;gap:20px;padding-block:27px 20px;border-top:1px solid var(--line);margin-top:32px;font-size:9px;color:var(--muted)}
.project-image-window{height:clamp(400px,40vw,650px);overflow:hidden;position:relative}
.project-image-window img{width:100%;height:100%;object-fit:cover;object-position:50% 82%}
.photo-grid{position:absolute;inset:0;pointer-events:none;display:flex}
.photo-grid i{flex:1;border-right:1px solid rgba(242,240,233,.4)}
.photo-grid i:last-child{border:0}
.ticker{overflow:hidden;padding:22px 0;background:var(--ink);color:var(--paper)}
.ticker-track{display:flex;width:max-content;animation:ticker-move 38s linear infinite}
.ticker-track span{white-space:nowrap;font-family:var(--display);font-size:clamp(27px,3.3vw,53px);font-weight:700;letter-spacing:-.025em;line-height:1.1;padding-right:50px}
.ticker-track i,.ticker-track b{font-style:normal;color:var(--accent);margin-inline:32px}
@keyframes ticker-move{to{transform:translateX(-50%)}}
html[data-motion="paused"] .ticker-track{animation-play-state:paused}
.section-space{padding-block:100px}
.portfolio{padding-bottom:70px}
.portfolio-tools{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.filters{display:flex;gap:28px;flex-wrap:wrap}
.filters button{position:relative;border:0;background:none;padding:12px 0 20px;font-size:12px;cursor:pointer;color:var(--muted)}
.filters button.active{color:var(--ink)}
.filters button.active::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:3px;background:var(--accent)}
.filters sup{font-size:9px;margin-left:5px}
#project-count{font-size:10px;white-space:nowrap;color:var(--muted);padding-bottom:8px}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 34px}
.project-card{width:100%;text-align:left;border:0;padding:0;background:none;cursor:pointer;display:block}
.project-card:nth-child(4n+2){padding-top:65px}
.project-picture{display:block;position:relative;aspect-ratio:1.65;overflow:hidden;background:#dddcd5}
.project-picture img{width:100%;height:100%;object-fit:cover;transition:transform .85s cubic-bezier(.2,.7,.1,1),filter .6s}
.project-card:hover img,.project-card:focus-visible img{transform:scale(1.055);filter:saturate(1.08)}
.project-open{position:absolute;right:0;bottom:0;display:grid;place-items:center;background:var(--accent);height:52px;width:52px;font-size:26px;clip-path:polygon(20% 0,100% 0,100% 100%,0 100%,0 20%);transition:height .3s,width .3s}
.project-card:hover .project-open{width:68px;height:68px}
.project-card-head{display:flex;justify-content:space-between;gap:15px;align-items:baseline;margin-top:15px}
.project-card h3{font-size:31px;letter-spacing:-.035em;text-transform:uppercase;line-height:1.1}
.project-card-head small{color:var(--muted);font-size:10px;white-space:nowrap}
.project-card-meta{font-size:10px;letter-spacing:.04em;color:var(--muted);display:block;margin-top:7px;text-transform:uppercase}
.portfolio-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:50px}
.outline-button{border:1px solid var(--ink);padding:15px 21px;background:none;cursor:pointer;font-size:12px;display:flex;gap:40px;align-items:center;transition:background .2s,color .2s}
.outline-button:hover{background:var(--ink);color:var(--paper)}
.outline-button span{font-size:23px;line-height:1;transition:transform .3s}.outline-button:hover span{transform:rotate(90deg)}
.services{border-top:1px solid var(--line)}
.service[open] .service-number{color:var(--accent)}
.service summary .service-title{transition:transform .45s cubic-bezier(.2,.7,.1,1),color .2s}
.service[open] .service-title{transform:translateX(13px)}
.supervision{background:var(--accent);padding-block:90px}
.supervision-head{position:relative;padding-right:180px}
.supervision-head .eyebrow{margin-bottom:36px}
.supervision h2{font-size:clamp(53px,6.5vw,100px)}
.supervision-plus{position:absolute;right:0;top:30px;font-family:Arial,sans-serif;font-size:220px;line-height:1;font-weight:300}
.supervision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:65px}
.supervision-grid article{border-top:1px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;align-items:start}
.supervision-grid h3{font-size:31px;line-height:1.2;letter-spacing:-.025em;margin-block:25px 16px}
.supervision-grid p{font-size:14px;line-height:1.8;margin-bottom:28px}
.supervision-grid a{margin-top:auto;font-size:12px}
.supervision .text-link:hover{color:var(--ink);border-bottom-width:3px}
.price-tabs{display:flex;border-bottom:1px solid var(--ink);gap:34px;margin-bottom:12px}
.price-tabs button{padding:17px 0;border:0;background:none;font-size:14px;cursor:pointer;color:var(--muted);position:relative}
.price-tabs button[aria-selected="true"]{color:var(--ink)}
.price-tabs button[aria-selected="true"]::after{content:"";position:absolute;bottom:-2px;left:0;height:4px;width:100%;background:var(--accent)}
.price-row{display:grid;grid-template-columns:1fr auto;gap:30px;border-bottom:1px solid var(--line);padding-block:27px}
.price-row h3{font-size:24px;letter-spacing:-.02em;line-height:1.25}
.price-row p{font-size:12px;color:var(--muted);margin-top:7px}
.price-row strong{font-family:var(--display);font-size:27px;font-weight:700;white-space:nowrap;align-self:center;letter-spacing:-.03em}
.price-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:22px;max-width:660px}
.calculator{margin-top:36px;padding:38px;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:70px}
.calculator h3{font-size:30px;line-height:1.1;letter-spacing:-.02em;margin-block:16px 25px}
.calculator label{display:block;margin-top:13px;font-size:11px;color:#c5c8bf}
.calculator input,.calculator select{border-radius:0;border:1px solid #73776c;padding:10px;background:var(--ink);color:var(--paper);font-family:var(--body);font-size:14px;margin-top:6px;max-width:100%;width:100%}
.calculator input:focus-visible,.calculator select:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.calculator input[type="number"]{width:120px;display:block}
.calculator input[type="range"]{accent-color:var(--accent);padding:0;margin-top:20px;cursor:pointer}
.calc-result{display:flex;flex-direction:column;justify-content:center;align-items:start}
.calc-result output{font-family:var(--display);font-size:clamp(55px,6vw,100px);line-height:1.1;font-weight:700;letter-spacing:-.05em;color:var(--accent);margin-block:20px}
.calc-result p{font-size:12px;color:#c5c8bf;max-width:320px;margin-bottom:28px}
.process-drawing{width:100%;height:68px;margin-bottom:28px;display:block;fill:none;stroke:var(--accent);stroke-width:3}
.partners{border-top:1px solid var(--line)}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.partner{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:145px;padding:30px 23px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:background .3s}
.partner>span{font-family:var(--display);font-weight:700;font-size:29px;line-height:1.1;letter-spacing:-.03em}
.partner small{font-size:10px;color:var(--muted);margin-top:14px}
.partner i{position:absolute;right:14px;top:13px;font-size:14px;font-style:normal;opacity:0;transform:translate(-5px,5px);transition:opacity .2s,transform .2s}
.partner:hover{background:var(--accent)}.partner:hover small{color:var(--ink)}.partner:hover i,.partner:focus-visible i{opacity:1;transform:translate(0,0)}
.team{padding-top:30px}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.team-person{border-top:1px solid var(--ink);padding-top:18px;position:relative}
.team-num{font-family:var(--display);font-weight:700;font-size:90px;line-height:1;letter-spacing:-.05em;color:#d3d6cc;display:block;margin-bottom:22px;transition:color .4s}
.team-person:hover .team-num{color:var(--accent)}
.team-person h3{font-size:31px;line-height:1.06;letter-spacing:-.025em;min-height:66px;margin-block:9px 16px}
.team-role{font-size:12px;color:var(--muted);line-height:1.5;min-height:40px;margin-bottom:23px}
.team-person>a{display:block;font-size:12px;padding-block:6px;width:fit-content}
.team-person>a:hover{text-decoration:underline;text-underline-offset:5px}
.team-person>a span{margin-left:12px;color:var(--accent)}
.team-person .team-email{font-size:11px;color:var(--muted)}
.contact-hint{font-size:12px;line-height:1.6;margin-top:14px;color:#bbc0b7;max-width:300px}
.contact-grid .map-link{font-size:11px;margin-top:14px}
body.modal-open{overflow:hidden}
#project-dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;width:min(1160px,94vw);max-height:94dvh;overscroll-behavior:contain}
#project-dialog::backdrop{background:rgba(15,18,15,.82);backdrop-filter:blur(6px)}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:25px}
.dialog-head h2{font-size:45px;margin-top:8px;line-height:1}
.dialog-head .eyebrow{color:var(--muted);font-size:10px}
.dialog-close{border:0;background:var(--ink);color:var(--paper);width:45px;height:45px;font-size:32px;line-height:1;cursor:pointer;flex-shrink:0}
.dialog-gallery{position:relative;background:#dfe1d9}
.dialog-gallery img{width:100%;max-height:65vh;object-fit:contain;min-height:220px}
.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%);border:0;background:var(--paper);color:var(--ink);height:44px;width:44px;cursor:pointer;font-size:23px}
.gallery-prev{left:13px}.gallery-next{right:13px}
.gallery-prev:hover,.gallery-next:hover{background:var(--accent)}
#gallery-counter{position:absolute;bottom:12px;right:12px;background:var(--paper);padding:7px 11px;font-size:10px}
.dialog-description{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;margin-top:23px;align-items:start}
.dialog-description>p{font-size:13px;line-height:1.7}
.dialog-description>a{justify-self:end;font-size:11px}
@media(max-width:1100px){
 .site-navigation{gap:18px}.site-navigation a{font-size:10px}.header-inner{gap:20px}.brand img{width:170px}
 .hero h1{font-size:7.5vw}.hero-composition{gap:20px;grid-template-columns:1.35fr 1fr}.hero-bottom{align-items:start;flex-direction:column;gap:22px}.hero-art{min-height:360px}.motion-stage{min-height:310px}
 .hero-bottom p{max-width:none}.partner>span{font-size:25px}.team-person h3{font-size:27px}.team-grid{gap:20px}.team-person>a{font-size:11px}.team-person .team-email{font-size:10px}.supervision-grid{gap:25px}.supervision-grid h3{font-size:27px}
}
@media(max-width:900px) and (min-width:761px){.site-navigation{gap:13px}.site-navigation a{font-size:9px}.brand img{width:135px}.header-inner{gap:15px}.hero h1{font-size:7.2vw}}
@media(max-width:760px){
 .js .site-navigation{display:none}.js .menu-open .site-navigation{display:grid}.site-navigation a{font-size:11px}.brand img{width:167px}
 .hero{padding-top:25px}.hero-eyebrow{margin-bottom:24px}.hero-composition{grid-template-columns:1fr;gap:10px;min-height:0}.hero h1{font-size:clamp(55px,11.8vw,80px);line-height:.99}.hero h1 span{white-space:normal}
 .hero-bottom{flex-direction:row;align-items:center;gap:20px;margin-top:27px}.hero-bottom p{font-size:11px;max-width:150px}.hero-bottom .text-link{font-size:10px;padding:12px 13px;gap:16px}
 .hero-art{min-height:220px}.motion-stage{min-height:220px}.hero-art #living-mark{width:145px}.art-one{top:22px}.art-two{bottom:12px}.art-cross{font-size:33px;top:14px}.hero-baseline{margin-top:13px;padding-block:18px;font-size:8px}
 #motion-toggle{font-size:8px}.project-image-window{height:320px}.project-image-window img{object-position:50% 80%}.project-preview figcaption{font-size:8px}.ticker{padding-block:18px}.ticker-track span{font-size:30px}.ticker-track i,.ticker-track b{margin-inline:20px}
 .section-space{padding-block:66px}.section-intro{margin-bottom:36px}.portfolio-tools{gap:12px;align-items:end;margin-bottom:25px}.filters{gap:17px}.filters button{font-size:10px;padding-bottom:16px}.filters sup{font-size:8px;margin-left:2px}#project-count{font-size:9px;white-space:normal;text-align:right;max-width:80px}
 .project-grid{gap:32px 18px}.project-card:nth-child(4n+2){padding-top:30px}.project-picture{aspect-ratio:1.25}.project-card-head{display:block;margin-top:12px}.project-card h3{font-size:25px}.project-card-head small{display:block;margin-top:6px;font-size:9px}.project-card-meta{font-size:8px;margin-top:6px}.project-open{width:35px;height:35px;font-size:20px}.project-card:hover .project-open{width:40px;height:40px}.portfolio-bottom{margin-top:30px;align-items:start}.portfolio-bottom>.eyebrow{font-size:8px;padding-top:10px}.outline-button{font-size:10px;padding:12px;gap:19px}
 .supervision{padding-block:62px}.supervision-head{padding-right:50px}.supervision h2{font-size:clamp(47px,10vw,70px)}.supervision-head .eyebrow{margin-bottom:30px}.supervision-plus{font-size:80px;top:50px;right:-5px}.supervision-grid{grid-template-columns:1fr;margin-top:44px;gap:34px}.supervision-grid article{padding-top:18px}.supervision-grid h3{font-size:30px;margin-top:19px}.supervision-grid p{font-size:13px;margin-bottom:20px;max-width:520px}.supervision-grid a{font-size:11px}
 .price-tabs{gap:23px}.price-tabs button{font-size:11px;padding-block:14px}.price-row{gap:19px;padding-block:22px}.price-row h3{font-size:20px}.price-row strong{font-size:21px}.price-row p{font-size:10px;line-height:1.6;max-width:230px}.price-note{font-size:10px}.calculator{padding:25px;grid-template-columns:1fr;gap:35px}.calculator h3{font-size:28px}.calculator select{font-size:12px}.calc-result output{font-size:65px}.calc-result p{font-size:11px}
 .process-drawing{height:42px;margin-bottom:18px}.partner-grid{grid-template-columns:repeat(2,1fr)}.partner{min-height:125px;padding:24px 17px}.partner>span{font-size:25px}.partner small{font-size:9px;line-height:1.5}.partner i{opacity:1;transform:none;right:10px;top:10px}
 .team{padding-top:0}.team-grid{grid-template-columns:repeat(2,1fr);gap:38px 22px}.team-num{font-size:65px;margin-bottom:17px}.team-person h3{font-size:27px;min-height:57px}.team-role{font-size:11px;min-height:36px;margin-bottom:13px}.team-person>a{font-size:11px}.team-person>a span{margin-left:5px}.team-person .team-email{font-size:9px;word-break:break-all}
 #project-dialog{padding:18px;width:96vw;max-height:96dvh}.dialog-head h2{font-size:35px}.dialog-close{width:38px;height:38px}.dialog-gallery img{max-height:53vh;min-height:180px}.gallery-prev,.gallery-next{height:34px;width:34px;font-size:20px}.gallery-prev{left:6px}.gallery-next{right:6px}.dialog-description{display:block;margin-top:18px}.dialog-description p{font-size:12px}.dialog-description>a{margin-top:16px;font-size:10px}
}
@media(max-width:390px){.hero h1{font-size:13vw}.hero-bottom{gap:13px}.hero-bottom p{font-size:10px}.filters{gap:12px}.filters button{font-size:9px}.price-tabs{gap:16px}.price-tabs button{font-size:10px}.price-row h3{font-size:18px}.price-row strong{font-size:19px}.team-person h3{font-size:24px}.team-person>a{font-size:10px}.partner>span{font-size:23px}.contact h2{font-size:14vw}}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}.project-picture img{transition:none}.service summary .service-title{transition:none}}
