:root{--paper:#fcfcfa;--ink:#101010}body{font-family:Georgia,'Times New Roman',serif;background:var(--paper);color:var(--ink)}button,input,textarea,select{font:inherit}a,button{text-underline-offset:4px}a:hover,button:hover{text-decoration:underline}header,header.dark{position:fixed;inset:0 0 auto;height:65px;display:grid;grid-template-columns:24% 9% 25% 1fr auto;align-items:start;padding:12px;gap:0;color:var(--ink);background:transparent;backdrop-filter:none;font:14px 'Courier New',monospace;z-index:30;pointer-events:none}header>*{pointer-events:auto}header .brand-symbol{width:26px;height:48px;display:block}header .brand-symbol img{height:100%;width:100%;object-fit:contain}#page-label:before{content:'• ';}header nav{display:flex;gap:0;font:inherit;justify-self:end;margin-right:80px;white-space:nowrap}header nav a+a:before{content:', ';white-space:pre}header nav a[aria-current=page]{display:none}#view-controls{display:flex;gap:9px;font:inherit}#view-controls button[aria-pressed=true]{text-decoration:underline}.contact-link{justify-self:end}#mobile-menu{display:none}#site-footer{position:fixed;inset:auto 0 0;z-index:30;display:flex;align-items:end;justify-content:space-between;padding:10px 12px;margin:0;background:transparent;font:12px 'Courier New',monospace;letter-spacing:0;opacity:0;pointer-events:none}body.inside #site-footer{opacity:1;pointer-events:auto}#site-footer img{width:125px;height:30px;object-fit:contain;object-position:left bottom}#site-footer>span:last-child{text-align:right}#footer-note{position:absolute;left:50%;transform:translateX(-50%);font-size:11px;bottom:13px}body.night{--paper:#080808;--ink:#f7f7f2}body.night .brand-symbol img,body.night #site-footer img{filter:invert(1)}#main{outline:none;min-height:100svh}body.inside header:not(.entering){opacity:1}.home-field{height:100svh;position:relative;overflow:hidden;padding:65px 12px 48px;isolation:isolate}.home-title{position:absolute;z-index:2;left:18%;right:18%;top:50%;margin:0;transform:translateY(-50%);font-size:clamp(27px,3.8vw,68px);text-align:center;font-weight:400;line-height:1.1;pointer-events:none}.home-tile{position:absolute;width:calc((100% - 96px)/7);height:calc((100svh - 100px)/6);max-height:15.1vw;transition:opacity .65s,transform .8s cubic-bezier(.2,.8,.2,1);display:flex;justify-content:center}.home-tile .thumb{height:100%;width:auto;aspect-ratio:1;max-width:100%}.thumb{display:block;overflow:hidden;position:relative;clip-path:url(#project-tunnel);aspect-ratio:1;background:#ddd}.thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.project-link:hover .thumb img,.project-link:focus-visible .thumb img{transform:scale(1.07)}.project-link{display:block;text-decoration:none!important}.project-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}#hover-label{position:fixed;pointer-events:none;z-index:60;background:var(--ink);color:var(--paper);padding:6px 9px;font:12px 'Courier New',monospace;opacity:0;max-width:230px}#hover-label.visible{opacity:1}.page{padding:85px 12px 100px;min-height:100svh}.page-title{font-size:clamp(64px,10vw,170px);font-weight:400;line-height:1;letter-spacing:-.04em;margin:0 0 145px}.type-caret{animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.filter-toggle{font:14px 'Courier New',monospace;margin-bottom:16px}.filters{display:flex;flex-wrap:wrap;gap:12px 28px;padding:8px 0 30px;font:13px 'Courier New',monospace}.filters[hidden]{display:none}.filters button[aria-pressed=true]{text-decoration:underline}.work-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:70px 12px;align-items:start}.work-grid .project-link:nth-child(4n+1){grid-column:span 3}.work-grid .project-link:nth-child(4n+2){grid-column:span 1}.work-grid .project-link:nth-child(4n+3){grid-column:span 2}.work-grid .project-link:nth-child(4n){grid-column:span 3;grid-column-start:3}.work-grid .thumb{max-height:75vh}.work-caption{display:block;font:13px 'Courier New',monospace;margin-top:12px}.work-grid.zoom{grid-template-columns:repeat(5,minmax(0,1fr));gap:30px 12px}.work-grid.zoom .project-link{grid-column:auto}.work-list{width:100%;font:14px 'Courier New',monospace}.list-head,.work-list .project-link{display:grid;grid-template-columns:10% 30% 30% 30%;gap:0;padding:9px 0}.list-head{color:#777;margin-bottom:12px}.work-list .project-link:hover{background:#eee}.work-list .thumb{display:none}.work-list .project-link span{padding-right:12px}.cta{margin:130px 0 50px;border-top:1px solid currentColor;padding-top:20px}.cta a{font-size:clamp(50px,9vw,150px);line-height:1.2;display:block;letter-spacing:-.05em}.eyebrow{font:13px 'Courier New',monospace}.info-lead{font-size:clamp(36px,4.5vw,80px);line-height:1.12;max-width:1250px;letter-spacing:-.035em;margin:20px 0 150px}.info-lead .inline-mark{height:.8em;width:.5em;vertical-align:baseline}.section-row{display:grid;grid-template-columns:25% 1fr;gap:20px;margin:90px 0}.section-row h2{font:14px 'Courier New',monospace;margin:0}.section-row .large-copy{font-size:clamp(24px,3vw,48px);line-height:1.2;margin:0}.service-columns{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:25px;margin-top:60px}.service-columns h3{font-size:25px;font-weight:400}.service-columns p{font-size:17px;line-height:1.5}.accordion{border-bottom:1px solid #8885}.accordion summary{padding:18px 0;cursor:pointer;list-style:none;font-size:23px}.accordion summary:after{content:'(+)';float:right;font:14px 'Courier New',monospace}.accordion[open] summary:after{content:'(−)'}.accordion p{font-size:18px;line-height:1.5;max-width:680px;padding-bottom:20px}.client-names{display:flex;gap:30px 50px;flex-wrap:wrap;font-size:32px}.contact-layout{display:grid;grid-template-columns:25% 25% 13% 1fr;padding-top:90px}.contact-layout>h1{font:14px 'Courier New',monospace;margin:0;justify-self:end;padding-right:60px}.contact-form{grid-column:2}.contact-aside{grid-column:4;padding-left:20px}.contact-form label{display:block;border-bottom:1px solid #8885;padding:8px 0 13px;margin-bottom:10px;font-size:17px}.contact-form label span{display:block;font:11px 'Courier New',monospace;color:#aaa;margin-bottom:8px}.contact-form input,.contact-form textarea,.contact-form select{background:transparent;border:0;color:inherit;width:100%;border-radius:0;outline-offset:4px;font-size:19px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#888}.contact-form select option{color:#111}.contact-form button{font-size:20px;margin:10px 0}.form-note{font:12px/1.5 'Courier New',monospace;opacity:.6}.contact-aside img{width:100%;max-width:260px;aspect-ratio:1;object-fit:cover;clip-path:url(#project-tunnel);margin-top:30px}.contact-aside h2{font:14px 'Courier New',monospace}.contact-aside p{font-size:20px;line-height:1.5}.contact-faq{margin-top:60px}.contact-faq summary{font-size:18px}.news-row{display:grid;grid-template-columns:15% 1fr 20%;gap:30px;border-top:1px solid #aaa6;padding:25px 0;align-items:center}.news-row h2{font-size:clamp(24px,3vw,45px);font-weight:400}.news-row img{width:100%;aspect-ratio:1;object-fit:cover;clip-path:url(#project-tunnel)}.lab-title{display:flex;justify-content:space-between;font-size:clamp(80px,14vw,210px);line-height:1;margin:0 0 100px}.lab-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:65px 12px}.lab-grid.double{grid-template-columns:repeat(3,minmax(0,1fr))}.lab-grid button{padding:0}.lab-grid img{width:100%;aspect-ratio:1;object-fit:cover}.project-page{background:#080808;color:#fff;padding:65px 9vw 100px}.project-hero{height:calc(100svh - 85px);display:block;width:100%;border:0;overflow:hidden;background:#222}.project-hero img{height:100%;width:100%;object-fit:cover;transition:transform 1.8s}.project-hero:hover img{transform:scale(1.025)}.project-media{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.project-media button{overflow:hidden;background:#111}.project-media img{width:100%;height:65vh;object-fit:cover;display:block}.project-media button:nth-child(3n){grid-column:1/-1}.project-media button:nth-child(3n) img{height:80vh}.project-info{padding:90px 0}.project-info h1{font-size:clamp(65px,12vw,180px);line-height:1;letter-spacing:-.04em;font-weight:400;margin:0 0 70px}.project-details{display:grid;grid-template-columns:2fr 1fr;gap:80px}.project-details p{font-size:24px;line-height:1.4;margin:0}.project-details dl{font:14px/1.6 'Courier New',monospace;margin:0}.project-details dt{opacity:.5;margin-bottom:8px}.project-details dd{margin:0 0 25px}.sample-note{font:12px/1.5 'Courier New',monospace!important;opacity:.6;margin-top:30px!important}.related{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}.related .thumb{aspect-ratio:1}.related .work-caption{color:white}#page-wipe{position:fixed;inset:0;background:var(--paper);pointer-events:none;opacity:0;z-index:45}#transition{display:none;position:fixed;z-index:50;overflow:hidden;pointer-events:none;clip-path:url(#project-tunnel)}#transition img{width:100%;height:100%;object-fit:cover}#lightbox{position:fixed;inset:0;width:100%;max-width:none;height:100svh;max-height:none;margin:0;padding:50px;background:#000e;border:0;color:white}#lightbox::backdrop{background:#000c}#lightbox img{width:100%;height:100%;object-fit:contain}#lightbox button{position:absolute;right:20px;top:15px;font:14px 'Courier New',monospace}.credits p{max-width:700px;font-size:22px;line-height:1.5}.credits a{text-decoration:underline}
@media(max-width:800px){header,header.dark{grid-template-columns:18% 20% 1fr auto;height:65px;padding:12px}.brand-symbol{grid-column:1}#page-label{grid-column:2}#view-controls{grid-column:3;font-size:11px}header nav{display:none}header .contact-link{display:none}#mobile-menu{display:block;grid-column:4}header.menu-open{height:100svh;background:var(--paper)}header.menu-open nav{position:absolute;top:100px;left:18%;display:flex;flex-direction:column;gap:20px;font:45px Georgia;margin:0}header.menu-open nav a+a:before{content:''}header.menu-open .contact-link{display:block;position:absolute;left:18%;top:410px;font:45px Georgia}#site-footer{font-size:10px}#site-footer img{width:95px;height:23px}#footer-note{display:none}.home-tile{width:calc((100% - 48px)/4);height:calc((100svh - 110px)/7);max-height:22vw}.home-title{left:8%;right:8%;font-size:36px}.page-title{font-size:16vw;margin-bottom:90px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 12px}.work-grid .project-link:nth-child(n){grid-column:auto}.work-grid.zoom{grid-template-columns:repeat(3,minmax(0,1fr))}.list-head,.work-list .project-link{grid-template-columns:12% 45% 43%;font-size:11px}.work-list .project-link span:last-child,.list-head span:last-child{display:none}.section-row{grid-template-columns:1fr;margin:60px 0}.service-columns{grid-template-columns:1fr 1fr}.info-lead{font-size:36px;margin-bottom:70px}.contact-layout{display:block;padding:90px 6vw}.contact-layout>h1{text-align:left;margin-bottom:30px}.contact-aside{padding:30px 0}.project-page{padding:65px 12px 85px}.project-hero{height:68svh}.project-details{grid-template-columns:1fr;gap:40px}.project-media img{height:35vh}.project-media button:nth-child(3n) img{height:55vh}.project-info h1{font-size:17vw}.project-details p{font-size:21px}.news-row{grid-template-columns:1fr 28%;gap:15px}.news-row .eyebrow{grid-column:1/-1}.lab-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 10px}.lab-grid.double{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-title{margin-bottom:70px}.cta{margin:80px 0 30px}.home-field{touch-action:pan-y}.related{gap:10px}#hover-label{display:none}}
@media(prefers-reduced-motion:reduce){.type-caret{animation:none}.home-tile,.thumb img{transition:none}}
@media(hover:hover) and (pointer:fine){
 .home-field{user-select:none}
 .project-link:hover .thumb img,.project-link:focus-visible .thumb img{transform:none;filter:grayscale(1)}
 .home-field .home-tile{transition:opacity .25s}
 .home-field.project-hover .home-tile{opacity:0!important}
 .home-field.project-hover .home-tile.is-active{opacity:1!important;z-index:5}
 .home-field.project-hover .home-title{opacity:0}
 #home-project-view{position:absolute;inset:65px 12px 48px;z-index:3;pointer-events:none}
 .hover-study{position:absolute;animation:study-in .35s ease both;overflow:hidden;border-radius:10px}
 .hover-study .thumb{width:100%;height:100%;aspect-ratio:auto;clip-path:none;border-radius:inherit}
 .hover-study img{width:100%;height:100%;object-fit:cover}
 .hover-project-name{position:absolute;left:50%;top:50%;width:max-content;max-width:80%;transform:translate(-50%,-50%);font-size:clamp(27px,3.8vw,68px);text-align:center;color:var(--ink);line-height:1.1;z-index:1}
 @keyframes study-in{from{opacity:0}to{opacity:1}}
}
@media(prefers-reduced-motion:reduce){.hover-study{animation:none!important}}
.home-tile{height:calc((100svh - 113px)/6 - 12px)}header nav a:before{content:none!important}
@media(min-width:801px){header nav{gap:clamp(18px,2.5vw,40px);margin-right:48px}header,header.dark{grid-template-columns:24% minmax(85px,auto) minmax(0,1fr) auto auto}header nav a:before{content:none!important}}
@media(max-width:800px){.home-tile{height:calc((100svh - 113px)/7 - 10px)}header.menu-open nav{left:0;right:0;width:100%;align-items:center;text-align:center}header.menu-open nav a:before{content:none!important}header.menu-open .contact-link{left:0;right:0;width:100%;text-align:center}}

/* Studio portraits retain the supplied Tunnel silhouette and original proportions. */
.studio-team{display:block}.studio-team>h2{margin-bottom:28px}.studio-team-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px 12px;margin-inline:12px}.studio-team-member{margin:0;min-width:0}.studio-team-portrait{width:100%;aspect-ratio:1;overflow:hidden;clip-path:none;border-radius:50% 50% 0 0;background:#080a0a}.studio-team-portrait img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.02);transform-origin:center}.studio-team-member figcaption{padding:18px 12px 0}.studio-team-member h3{font-size:clamp(14px,1.3vw,20px);line-height:1.3;font-weight:400;letter-spacing:-.02em;margin:0 0 8px}.studio-team-member p{font-size:12px;line-height:1.6;margin:0;opacity:.65}.studio-team+ .section-row{margin-top:110px}@media(max-width:1000px){.studio-team-grid{gap:28px 18px}.studio-team-member h3{font-size:19px}.studio-team-member p{font-size:13px}}@media(max-width:520px){.studio-team-grid{gap:18px}.studio-team-member figcaption{padding-top:16px}.studio-team-member h3{font-size:21px}.studio-team-member p{font-size:14px}.studio-team+ .section-row{margin-top:70px}}

/* Only Home retains the scrollable Tunnel entrance. */
body:not(.home-page) #entry{display:none}body:not(.home-page) .replay-entry{display:none}
body.info-page header,body.info-page header.dark{height:78px;align-items:center;background:var(--paper);color:var(--ink);border-bottom:1px solid #ffffff26;backdrop-filter:none;z-index:40;opacity:1}
.info-page .page{padding-top:115px}
@media(max-width:800px){body.info-page header,body.info-page header.dark{height:70px}.info-page .page{padding-top:100px}.info-page header.menu-open{height:100svh}}

/* Info shares one continuous black canvas, including its fixed navigation. */
body.info-page{--paper:#1a1a1a;--ink:#fff;background:var(--paper);color:var(--ink)}

@media(min-width:801px) and (max-width:1100px){.service-columns{grid-template-columns:repeat(3,minmax(0,1fr))}}

@media(max-width:800px){.studio-team-grid{margin-inline:4px}}

/* Five people share a single row; smaller screens pan across that same row. */
.studio-team-grid:focus-visible{outline:2px solid var(--ink);outline-offset:5px}
@media(max-width:800px){.studio-team-grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(220px,72%);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:#666 transparent;padding-bottom:18px}.studio-team-member{scroll-snap-align:start}}
