:root{color-scheme:light;--ink:#333;--muted:#aaa;--line:#d1d1d1;--red:#d84336;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font-size:16px;line-height:1.8;letter-spacing:.02em}
img{display:block;max-width:100%}
a{color:inherit}
button,input,textarea{font:inherit}
.skip-link,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{width:auto;height:auto;clip:auto;top:.5rem;left:.5rem;margin:0;padding:.5rem 1rem;background:#fff;z-index:100}
.site-header{height:30px;margin:3vw 0;padding:0 3vw;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.brand{display:block;flex:none;line-height:0}
.brand-logo{width:165px;height:30px;object-fit:contain}
.desktop-nav{display:flex;align-items:center;gap:24px;line-height:1}
.desktop-nav a{font-size:14px;font-weight:400;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .14s ease}
.desktop-nav a[aria-current],.desktop-nav a:hover,.desktop-nav a:focus-visible{color:var(--ink)}
.desktop-nav a:nth-child(3){margin-left:16px}
.mobile-menu{display:none}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
.project-card{min-width:0;aspect-ratio:1.515;background:#fff;overflow:hidden}
.project-card a{display:block;position:relative;width:100%;height:100%;text-decoration:none}
.project-card img{width:100%;height:100%;object-fit:cover}
.project-card h2{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:12%;background:rgba(255,255,255,.88);color:var(--ink);font-size:clamp(19px,1.72vw,27px);font-weight:400;line-height:1.5;letter-spacing:-.02em;text-align:center;opacity:0;transition:opacity .3s ease}
.project-card a:hover h2,.project-card a:focus-visible h2{opacity:1}
.project-card a:focus-visible{outline:3px solid var(--red);outline-offset:-3px}
.project-page{padding:0 3vw}
.gallery{display:flex;flex-direction:column;gap:5vw}
.gallery figure{margin:0}
.gallery img{width:100%;height:auto}
.gallery figcaption{text-align:center;padding:3.8vw 10% 1vw}
.gallery figcaption h2{font-size:12px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;font-weight:400;margin:0}
.gallery figcaption p{max-width:800px;margin:2rem auto 0;font-size:16px;line-height:1.8}
.gallery-three-column{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px}
.gallery-masonry{display:flex;flex-direction:row;gap:50px}
.gallery-column{display:flex;flex:1;min-width:0;flex-direction:column;gap:50px}
.tor-gallery figure{margin:0}
.tor-gallery img{width:100%;height:auto}
.tor-gallery .tor-logo{width:48.4%;margin:0 auto}
.tor-video{width:65.3%;aspect-ratio:4/3;margin:17px auto 0}
.tor-video iframe{display:block;width:100%;height:100%;border:0}
.tor-row{display:grid;gap:34px;padding:0 6px;align-items:start}
.tor-row-one,.tor-row-three{grid-template-columns:minmax(0,1fr) minmax(0,2.076fr)}
.tor-row-one,.tor-row-two{margin-top:120px}
.tor-row-two{grid-template-columns:minmax(0,2.076fr) minmax(0,1fr)}
.tor-side{display:flex;flex-direction:column;align-items:center;gap:34px;padding-top:89px}
.tor-side figure:first-child{width:214px;max-width:100%}
.tor-side figure:last-child{width:100%}
.tor-row-three{margin-top:34px}
.tor-row-three figure:first-child{margin-top:129px}
.project-navigation{margin:12vw auto 6vw;text-align:center;max-width:1450px;line-height:2}
.project-navigation a{font-size:clamp(15px,1.3vw,20px);font-weight:600;color:#d3d3d3;text-decoration:none;margin:0 .42em;white-space:nowrap}
.project-navigation a[aria-current],.project-navigation a:hover,.project-navigation a:focus-visible{color:var(--ink)}
.video-link{text-align:center;margin:3rem 0 0}.video-link a{font-size:14px;text-decoration:underline}
.about-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3vw;align-items:start;margin:0 3vw 6vw}
.about-image img{width:100%;aspect-ratio:1.04;object-fit:cover;object-position:center top}
.about-copy{text-align:center;padding:0 1.5vw}
.about-copy h1{font-size:30px;font-weight:400;line-height:1.5;letter-spacing:-.02em;margin:0 0 28px}
.about-copy p,.about-copy blockquote{font-size:16px;line-height:1.8;letter-spacing:.02em;margin:0 0 30px}
.about-copy blockquote{font-style:italic}
.about-copy .about-kicker{font-size:12px;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;margin:0}
.contact-layout{max-width:930px;margin:0 auto;padding:0 0 6vw}
.contact-layout h1{font-size:32px;font-weight:400;letter-spacing:-.02em;line-height:1.5;margin:0}
.contact-layout h2{font-size:12px;font-weight:400;letter-spacing:.15em;line-height:1.6;text-transform:uppercase;margin:101px 0 34px}
.contact-layout fieldset{border:0;padding:0;margin:0;min-width:0}
.contact-layout .form-field{margin:0 0 16px}
.contact-layout .field-title,.contact-layout label{display:block;font-size:16px;font-weight:400;line-height:1.4}
.contact-layout .field-title{margin-bottom:2px}
.contact-layout label small{font-size:12px;color:#666}
.contact-layout .name-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.contact-layout input,.contact-layout textarea{display:block;width:100%;height:42px;margin:0;border:1px solid #c9c9c9;border-radius:0;background:#fff;padding:8px 10px;color:var(--ink)}
.contact-layout textarea{height:100px;resize:vertical}
.contact-layout input:focus-visible,.contact-layout textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px}
.contact-layout fieldset:disabled input,.contact-layout fieldset:disabled textarea{background:#fff;opacity:1;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.contact-layout button{border:2px solid var(--red);border-radius:0;background:#fff;color:var(--red);padding:14px 40px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.contact-layout button:disabled{opacity:1;cursor:not-allowed}
.preview-note{font-size:12px;color:#777;line-height:1.5;margin:16px 0 0}
.bot-field{position:absolute;left:-10000px}
@media(max-width:690px){
 .site-header{position:sticky;top:0;z-index:30;height:49px;margin:0;padding:0 16px;background:#fff}
 .brand-logo{width:138px;height:auto}
 .desktop-nav{display:none}
 .mobile-menu{display:block;margin-left:auto}
 .mobile-menu summary{list-style:none;display:grid;place-items:center;position:relative;width:28px;height:49px;cursor:pointer}
 .mobile-menu summary::-webkit-details-marker{display:none}
 .menu-icon,.menu-icon:before,.menu-icon:after{position:absolute;display:block;width:24px;height:2px;background:#333;content:"";transition:transform .2s ease,background .2s ease}
 .menu-icon{left:4px;top:23px}
 .menu-icon:before{transform:translateY(-7px)}.menu-icon:after{transform:translateY(7px)}
 .mobile-menu[open] .menu-icon{background:transparent}.mobile-menu[open] .menu-icon:before{transform:rotate(45deg)}.mobile-menu[open] .menu-icon:after{transform:rotate(-45deg)}
 .mobile-nav{position:fixed;inset:49px 0 0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding-bottom:32px;background:#fff}
 .mobile-nav a{font-size:36px;font-weight:400;line-height:1.55;color:var(--ink);text-decoration:none}
 .mobile-nav a:nth-child(2),.mobile-nav a:nth-child(3),.mobile-nav a:nth-child(5){font-style:italic}
 .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
 .project-card h2{font-size:17px}
 .project-page{padding:6.3vw 4vw 0}
 .gallery{gap:5vw}
 .gallery figcaption{padding:5vw 4vw 0}
 .gallery figcaption p{font-size:15px}
 .gallery-three-column{grid-template-columns:1fr;gap:50px}
 .gallery-masonry{flex-direction:column;gap:50px}
 .gallery-column{display:contents}
 .tor-gallery{display:flex;flex-direction:column;gap:34px}
 .tor-gallery .tor-logo{width:100%;margin:11px 0 0}
 .tor-video{width:100%;margin:0}
 .tor-row,.tor-side{display:contents}
 .tor-side figure:first-child{width:214px;align-self:center}
 .tor-row-three figure:first-child{margin-top:0}
 .project-navigation{margin:18vw auto 10vw;line-height:1.8}
 .project-navigation a{font-size:15px;white-space:normal}
 .about-layout{display:block;margin:10vw 4vw 12vw}
 .about-copy{padding:0;margin-top:50px}
 .about-copy h1{font-size:26px;line-height:1.4;margin-bottom:26px}
 .about-copy p,.about-copy blockquote{font-size:16px;line-height:1.8}
 .contact-layout{max-width:none;margin:0 4vw;padding:10.8vw 0 12vw}
 .contact-layout h1{font-size:26px}
 .contact-layout h2{margin:62px 0 32px}
 .contact-layout .form-field{margin-bottom:18px}
 .contact-layout textarea{height:100px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card h2,.menu-icon,.menu-icon:before,.menu-icon:after{transition:none}}
