:root{--paper:#f0ede6;--ink:#2d302a;--muted:#62655b;--line:#cccfc2;--white:#f5f2eb;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Manrope',Arial,sans-serif;--ease:cubic-bezier(.2,.65,.25,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px var(--sans);-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none;padding:0}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #737c5d;outline-offset:6px}img{display:block;max-width:100%;height:auto;object-fit:cover}p{line-height:1.75}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif)}em{font-weight:400}::selection{background:#636e55;color:var(--white)}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:square;stroke-linejoin:miter;flex-shrink:0;display:inline-block;vertical-align:middle}.skip-link{position:fixed;top:8px;left:8px;z-index:200;background:var(--ink);color:white;padding:16px;transform:translateY(-150%)}.skip-link:focus{transform:none}
/* A book-cover composition: typography and architecture have their own space. */
.site-header{display:flex;align-items:center;justify-content:space-between;gap:35px;min-height:112px;margin:0 5.5%;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--sans);font-size:30px;font-weight:500;letter-spacing:.14em;line-height:1}.wordmark span{display:block;font-size:11px;font-weight:400;letter-spacing:.31em;text-transform:uppercase;margin-top:10px}.desktop-nav{display:flex;gap:32px;margin-left:auto;margin-right:30px}.desktop-nav a{position:relative;font-size:12px;min-height:44px;display:flex;align-items:center}.desktop-nav a:after{content:'';height:1px;position:absolute;left:0;right:0;bottom:8px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.desktop-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-actions{display:flex;gap:34px;align-items:center}.portfolio-link{font-size:11px;min-height:44px;display:flex;align-items:center;gap:14px}.portfolio-link .icon{width:16px;height:16px}.menu-toggle{display:flex;align-items:center;gap:16px;font-size:12px;min-height:44px}.menu-lines{display:flex;flex-direction:column;gap:7px;width:25px}.menu-lines i{height:1px;background:currentColor;display:block;transition:transform .4s}.menu-toggle:hover .menu-lines i:first-child{transform:translateX(4px)}.menu-toggle:hover .menu-lines i:last-child{transform:translateX(-4px)}
.hero{display:grid;grid-template-columns:42% 58%;min-height:720px;height:calc(100svh - 112px);max-height:1100px;position:relative;margin:0 5.5%;padding:44px 0 0;gap:0;grid-template-rows:minmax(0,1fr) auto}.hero-content{position:relative;align-self:center;padding:0 8% 20px 0;z-index:1}.eyebrow{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:1.8px}.hero-content .eyebrow{margin-bottom:43px}.hero h1{font-size:clamp(88px,8.8vw,156px);line-height:.84;letter-spacing:-.045em;margin:0 0 36px}.hero h1 .line{display:block;overflow:hidden;padding-bottom:.13em;margin-bottom:-.025em}.hero h1 .line>span{display:block;animation:rise 1.3s var(--ease) both;animation-delay:.1s}.hero h1 .line:nth-child(2)>span{animation-delay:.2s}.hero h1 .line:nth-child(3)>span{animation-delay:.3s}.hero h1 em{color:#707962;padding-right:.08em}.hero-description{font-size:13px;line-height:1.9;max-width:330px;margin-bottom:28px}.hero-explore{display:inline-flex;align-items:center;gap:30px;font-size:12px;min-height:48px;border-bottom:1px solid #939a86;padding:8px 0}.hero-explore .icon{transition:transform .5s}.hero-explore:hover .icon{transform:translateY(5px)}.hero-reveal{animation:fadein 1.4s var(--ease) both;animation-delay:.4s}.hero-figure{margin:0;position:relative;display:flex;flex-direction:column;min-height:0;animation:frame-in 1.7s var(--ease) both}.hero-image{position:relative;overflow:hidden;flex:1;min-height:0;background:#d5d7ce}.hero-image img{width:100%;height:100%;object-position:57% center;filter:saturate(.3);animation:image-settle 1.9s var(--ease) both}.hero-figure figcaption{display:flex;justify-content:space-between;gap:24px;padding-top:17px;font-size:11px;text-transform:uppercase;letter-spacing:1.1px;line-height:1.5}.hero-foot{position:static;grid-column:1/-1;margin-top:12px;display:flex;justify-content:space-between;align-items:center;font-size:11px;line-height:1.6;color:var(--muted)}.motion-control{display:flex;align-items:center;gap:12px;min-height:44px;font-size:11px}.motion-control:disabled{cursor:default}.motion-bars{display:flex;gap:4px;height:10px}.motion-bars i{display:block;width:1px;height:10px;background:currentColor}.motion-off .motion-bars i:first-child{transform:rotate(90deg) translateX(2px)}.motion-off .motion-bars i:last-child{opacity:0}
/* Reading rhythm: larger body copy, deliberate grids, useful project context. */
.section-pad{padding:110px 8.2%}.section-label{position:relative;display:flex;justify-content:space-between;gap:25px;text-transform:uppercase;font-size:11px;line-height:1.7;letter-spacing:1.2px;padding-top:18px;border-top:1px solid var(--line)}.section-label:after{content:'';position:absolute;top:-1px;left:0;width:8%;height:1px;background:#626e53;transform-origin:left;transition:transform 1.5s var(--ease)}.js-motion .section-label:not(.visible):after{transform:scaleX(0)}.intro{padding-top:95px;padding-bottom:120px}.intro-grid{display:grid;grid-template-columns:27% 73%;padding-top:65px}.small-note{padding-top:14px}.intro-monogram{display:block;font-size:35px;letter-spacing:-3px;margin-bottom:28px}.small-note p{font-size:12px;line-height:1.9;color:var(--muted)}.statement{font-size:clamp(54px,5.6vw,92px);line-height:1.02;letter-spacing:-.035em;margin-bottom:40px}.statement em{color:#707962}.intro-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:810px}.intro-copy p{font-size:14px;color:var(--muted);margin:0}.projects{padding-top:0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin:56px 0}.section-heading h2,.materials h2,.process h2{font-size:clamp(58px,6vw,96px);line-height:.98;letter-spacing:-.035em;margin:0}.section-heading p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 4px;max-width:300px}.project-image{display:block;width:100%;aspect-ratio:1.86;position:relative;overflow:hidden;background:#d7d9d0;text-align:left}.project-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;filter:saturate(.55);transition:transform 1.15s var(--ease),filter 1.15s}.project-image:hover img{transform:scale(1.035);filter:saturate(.78)}.project-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1420119e);pointer-events:none}.project-image-label{position:absolute;bottom:24px;left:26px;color:var(--white);font-size:11px;display:flex;align-items:center;gap:24px;z-index:2}.project-image-label .icon{width:22px;height:22px;transition:transform .6s var(--ease)}.project-image:hover .project-image-label .icon{transform:translate(4px,-4px)}.image-counter{position:absolute;top:22px;left:24px;font-size:11px;letter-spacing:.8px;color:var(--white);background:#1c271e88;backdrop-filter:blur(6px);padding:8px 11px}.photo-reference{position:absolute;z-index:2;bottom:29px;right:26px;color:#f5f2ebcc;font-size:11px;letter-spacing:.7px;text-transform:uppercase}.project-caption{display:flex;align-items:center;gap:35px;padding-top:24px}.project-type{font-size:11px;letter-spacing:1.2px;text-transform:uppercase;color:var(--muted)}.project h3{font-family:var(--serif);font-size:43px;letter-spacing:-1.4px;margin:8px 0 0}.project h3 button{font:inherit;text-align:left;min-height:48px}.project-caption p{font-size:12px;margin:0 0 0 auto;color:var(--muted)}.project-arrow{width:52px;height:52px;border:1px solid #bfc5b4;display:grid;place-items:center;flex-shrink:0;transition:background .5s,color .5s}.project-arrow .icon{width:23px;height:23px;transition:transform .5s}.project-arrow:hover{background:var(--ink);color:var(--white)}.project-arrow:hover .icon{transform:translate(2px,-2px)}.project-context{display:grid;grid-template-columns:1fr 2fr 1fr;gap:35px;align-items:baseline;border-top:1px solid var(--line);padding-top:24px;margin-top:25px}.project-context>span{font-size:11px;text-transform:uppercase;letter-spacing:1px;line-height:1.8;color:var(--muted)}.project-context>span:last-child{text-align:right;font-size:11px}.project-context p{font-size:15px;line-height:1.75;max-width:540px;margin:0}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8%;margin-top:100px;align-items:start}.project-grid .project-offset{margin-top:115px}.project-image.portrait{aspect-ratio:4/3}.project-grid .project-caption{justify-content:space-between;gap:15px}.project-grid h3{font-size:37px}.project-grid .photo-reference{display:none}.project-final{margin:100px 0 0 auto;max-width:86%}.project-final .project-image{aspect-ratio:3/2}.project-final .project-image img{object-position:center 56%}.manifesto{height:650px;position:relative;overflow:hidden;color:var(--white);margin-top:5px}.manifesto-image{position:absolute;inset:-8% 0}.manifesto-image img{width:100%;height:100%;object-position:center;filter:saturate(.25)}.manifesto-shade{position:absolute;inset:0;background:linear-gradient(90deg,#142011bb 0%,#14201150 68%,#14201130)}.manifesto-copy{position:relative;display:flex;justify-content:center;flex-direction:column;height:100%;padding:55px 8.2%;max-width:960px}.manifesto-copy h2{font-size:clamp(64px,7.4vw,120px);line-height:.97;letter-spacing:-.03em;margin:30px 0}.manifesto-copy p{font-size:13px;max-width:370px;line-height:1.85}.materials{padding-top:105px;padding-bottom:115px}.material-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11%;margin-top:65px}.material-panel{min-width:0}.material-intro>p{font-size:14px;max-width:380px;color:var(--muted);margin:30px 0}.material-tabs{border-top:1px solid var(--line);max-width:380px}.material-tabs button{width:100%;display:flex;align-items:center;justify-content:space-between;text-align:left;min-height:60px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted)}.material-tabs .icon{opacity:0;transform:translate(-6px,6px);transition:opacity .4s,transform .5s}.material-tabs [aria-selected=true]{color:var(--ink)}.material-tabs [aria-selected=true] .icon{opacity:1;transform:none}.material-sample{aspect-ratio:4/3;position:relative;min-width:0;overflow:hidden;background:#f1f0ea}.material-sample>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}.material-index{position:absolute;top:18px;left:20px;padding:5px 8px;background:#f5f3edcc;color:#424a3c;font-size:10px;line-height:1.5;letter-spacing:1.5px}.material-info{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:25px}.material-info h3{font-family:var(--serif);font-size:36px;letter-spacing:-.8px;margin:0}.material-info p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.material-footnote{display:block;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.process{background:#e1e3d9;padding-top:95px;padding-bottom:105px}.process-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin:60px 0}.process-heading p{font-size:13px;color:var(--muted);line-height:1.9;margin:0}.process-list details{border-top:1px solid #bac1af}.process-list details:last-child{border-bottom:1px solid #bac1af}.process-list summary{list-style:none;display:flex;align-items:center;gap:6%;padding:27px 0;cursor:pointer}.process-list summary::-webkit-details-marker{display:none}.process-list summary>span:first-child{font-size:11px;width:24px}.process-list h3{font-family:var(--serif);font-size:43px;letter-spacing:-1px;margin:0}.details-icon{margin-left:auto;transition:transform .4s}.details-icon .icon{width:22px;height:22px}.process-list details[open] .details-icon{transform:rotate(45deg)}.process-text{margin:0 12% 30px;display:grid;grid-template-columns:1.5fr 1fr;gap:12%;animation:fadein .5s ease-out}.process-text p{font-size:14px;max-width:510px;margin:0;color:#535d49}.process-text>span{font-size:11px;text-transform:uppercase;letter-spacing:.9px;color:#535d49;align-self:end;line-height:1.9}.contact{padding-top:95px;padding-bottom:75px}.contact>.eyebrow{margin-top:65px}.contact h2{font-size:clamp(85px,10.5vw,168px);line-height:.86;letter-spacing:-.045em;margin:30px 0 45px}.contact h2 em{color:#707962}.contact-bottom{display:flex;align-items:center;justify-content:space-between;gap:45px}.contact-bottom p{font-size:13px;color:var(--muted);margin:0}.contact-link{display:flex;align-items:center;gap:65px;font-size:15px;padding:18px 0;border-bottom:1px solid var(--ink)}.contact-link .icon{width:25px;height:25px;transition:transform .5s}.contact-link:hover .icon{transform:translate(4px,-4px)}.demo-form-link{font-size:11px;color:var(--muted);min-height:44px;display:inline-flex;gap:15px;align-items:center;margin-top:35px}.demo-form-link .icon{width:16px;height:16px}.site-footer{padding:60px 5.5% 25px;background:#2c342a;color:#eeeade}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:45px;border-bottom:1px solid #737b6c}.footer-wordmark{font-family:var(--sans);font-size:clamp(68px,11.5vw,185px);font-weight:500;letter-spacing:.02em;line-height:.8}.footer-top p{font-size:12px;margin:0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:11px;line-height:1.7;padding-top:20px}.footer-bottom button,.footer-bottom a{font-size:11px;min-height:44px;display:flex;align-items:center;gap:12px}.footer-bottom .icon{width:15px;height:15px}
/* Case studies are dossiers, with image, original concept diagram and written criteria. */
dialog{color:var(--ink);border:0;padding:0;background:var(--paper)}dialog::backdrop{background:#10180ee0;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .5s var(--ease)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:30px}.dialog-close{display:flex;gap:13px;align-items:center;font-size:12px;min-height:44px;white-space:nowrap}.dialog-close .icon{width:22px;height:22px}.menu-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:35px 8.2%}.menu-dialog .dialog-head{padding-bottom:35px;border-bottom:1px solid var(--line)}.menu-dialog nav{display:flex;flex-direction:column;padding:40px 0}.menu-dialog nav a{display:flex;align-items:center;gap:32px;font-family:var(--serif);font-size:clamp(42px,5.7vw,85px);letter-spacing:-.02em;line-height:1.3;transition:color .4s,transform .4s}.menu-dialog nav a:hover{color:#707962;transform:translateX(12px)}.menu-dialog nav a span{font:11px var(--sans);letter-spacing:0;min-width:25px}.menu-foot{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid var(--line);padding-top:22px;font-size:12px}.menu-foot>a{display:flex;align-items:center;gap:15px;min-height:44px}.project-dialog{width:min(1320px,94vw);max-height:92svh;overflow:auto}.project-close{position:sticky;z-index:3;top:0;margin-left:auto;justify-content:center;background:var(--paper);padding:10px 22px;min-width:130px;border-bottom:1px solid var(--line);border-left:1px solid var(--line)}.project-dialog-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);padding:0 38px 45px;gap:4%}.project-detail-visual{min-width:0}.project-detail-visual>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;filter:saturate(.55)}.detail-image-caption{padding:14px 0;font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:var(--muted);border-bottom:1px solid var(--line)}.project-diagram{margin-top:32px;padding:20px;background:#e6e7dd}.project-diagram svg{display:block;width:100%;height:auto;max-height:260px}.project-diagram svg .plan-fill{fill:#b3bcaa;fill-opacity:.25}.project-diagram svg .plan-stroke{fill:none;stroke:#65705a;stroke-width:1.2}.project-diagram svg .plan-dash{fill:none;stroke:#9b7057;stroke-width:1.2;stroke-dasharray:3 5}.project-diagram p{font-size:11px;text-transform:uppercase;letter-spacing:1px;margin:10px 0 0;color:var(--muted)}.project-detail-copy{padding:25px 0 0;min-width:0}.project-detail-copy h2{font-size:67px;line-height:.93;letter-spacing:-2px;margin:20px 0 25px}.project-detail-copy>p{font-size:14px;color:var(--muted)}.project-detail-copy>p.detail-intro{font-size:16px;color:var(--ink);line-height:1.7}.case-sections{margin:30px 0}.case-sections section+section{margin-top:24px}.case-sections h3{font-size:11px;letter-spacing:1px;text-transform:uppercase;margin:0 0 10px;color:#65705a}.case-sections p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.project-detail-copy dl{margin:28px 0;font-size:11px}.project-detail-copy dl>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:15px;border-top:1px solid var(--line);padding:13px 0}.project-detail-copy dt{color:var(--muted)}.project-detail-copy dd{margin:0;padding-right:15px}.project-detail-copy p.project-disclosure{font-size:11px;line-height:1.8;padding-top:16px;border-top:1px solid var(--line)}.project-detail-copy>a{display:flex;align-items:center;gap:10px;font-size:11px;margin-top:16px;min-height:36px}.project-detail-copy>a .icon{width:15px;height:15px}.project-detail-copy>a.detail-cta{font-size:13px;padding:17px 0;border-top:1px solid var(--line);margin-top:20px}.text-dialog{width:min(760px,92vw);max-height:90svh;padding:35px 42px;overflow:auto}.text-dialog h2{font-size:46px;line-height:1;margin:5px 0 24px;letter-spacing:-1px}.text-dialog h3{font-size:12px;margin-top:28px}.text-dialog p,.credit-list{font-size:13px;line-height:1.8;color:var(--muted)}.text-dialog .dialog-head{align-items:flex-start}.credit-list{padding-left:18px}.credit-list li{margin:12px 0}.credit-list .icon,.text-dialog p .icon{width:14px;height:14px;margin-left:5px}.text-dialog form{margin-top:30px}.text-dialog label{display:block;font-size:13px;margin:24px 0 10px}.text-dialog select{display:block;width:100%;background:transparent;border:1px solid var(--line);border-radius:0;padding:16px;font-size:14px;min-height:50px}.submit-button{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--ink);color:var(--white);width:100%;padding:19px;margin-top:30px;font-size:13px}.text-dialog #inquiry-result{padding:20px;border:1px solid var(--line);margin-top:25px;color:var(--ink)}
@keyframes rise{from{transform:translateY(115%)}to{transform:translateY(0)}}@keyframes fadein{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes image-settle{from{transform:scale(1.065)}to{transform:scale(1)}}@keyframes frame-in{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes dialog-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}.js-motion .reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js-motion .reveal.visible{opacity:1;transform:none}.motion-off *,.motion-off *:before,.motion-off *:after{animation:none!important;transition-duration:.001ms!important}.motion-off .hero h1 .line>span,.motion-off .hero-reveal,.motion-off .reveal{opacity:1!important;transform:none!important}.motion-off{scroll-behavior:auto}.motion-off .section-label:after{transform:none!important}
@media(min-width:1600px){.section-pad{padding-left:max(8.2%,calc((100vw - 1400px)/2));padding-right:max(8.2%,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:23px;margin-right:12px}.header-actions{gap:25px}.portfolio-link{font-size:0;gap:0}.portfolio-link .icon{width:19px;height:19px}.hero{grid-template-columns:44% 56%;min-height:650px}.hero h1{font-size:clamp(88px,9.6vw,115px)}.hero-description{font-size:12px;max-width:300px}.hero-description br{display:none}.hero-content .eyebrow{font-size:11px;letter-spacing:1px}.hero-figure figcaption{font-size:11px;letter-spacing:.4px}.section-pad{padding-left:6%;padding-right:6%}.intro-grid{grid-template-columns:24% 76%}.statement{font-size:61px}.intro-copy{gap:28px}.project h3{font-size:39px}.project-grid h3{font-size:31px}.project-caption p{font-size:11px}.project-context{grid-template-columns:1fr 3fr;gap:25px}.project-context>span:last-child{display:none}.material-layout{gap:7%}.process-text{margin-left:10%;gap:8%}.project-dialog-layout{padding:0 25px 35px;gap:4%}.project-detail-copy h2{font-size:57px}.footer-bottom{flex-wrap:wrap;gap:10px 22px}}
@media(max-width:760px){html{scroll-padding-top:24px}.site-header{min-height:92px;margin:0 6%;gap:20px}.wordmark{font-size:24px}.wordmark span{font-size:11px;letter-spacing:.26em;margin-top:9px}.desktop-nav{display:none}.header-actions{gap:26px}.menu-toggle{font-size:11px;gap:12px}.menu-lines{width:22px}.hero{margin:0 6%;height:auto;min-height:0;max-height:none;grid-template-columns:1fr;grid-template-rows:auto auto auto;padding:43px 0 0}.hero-content{padding:0}.hero-content .eyebrow{font-size:11px;letter-spacing:1.3px;margin-bottom:25px}.hero h1{font-size:clamp(76px,13vw,108px);line-height:.86;margin-bottom:22px}.hero h1 .line:nth-child(2),.hero h1 .line:nth-child(3){display:inline-block;vertical-align:top}.hero h1 .line:nth-child(2){margin-right:.16em}.hero h1 .line:nth-child(3){padding-right:.05em}.hero h1 .line:nth-child(3) span{animation-delay:.25s}.hero-description{font-size:13px;max-width:390px;line-height:1.85;margin-bottom:14px}.hero-description br{display:none}.hero-explore{font-size:12px;min-height:48px;gap:24px}.hero-figure{height:460px;margin-top:35px}.hero-image img{object-position:58% center}.hero-figure figcaption{font-size:11px;gap:12px;padding-top:13px;letter-spacing:.6px}.hero-foot{font-size:11px;bottom:4px;gap:16px}.motion-control{font-size:11px;gap:9px}.section-pad{padding:72px 6%}.section-label{font-size:11px;letter-spacing:.8px;line-height:1.6;gap:16px}.section-label>span:last-child{text-align:right}.intro{padding-top:55px;padding-bottom:70px}.intro-grid{display:block;padding-top:38px}.small-note{display:flex;gap:20px;align-items:center;padding-top:0;margin-bottom:30px}.intro-monogram{font-size:23px;letter-spacing:-1px;margin:0}.small-note p{font-size:11px;margin:0}.small-note br{display:none}.statement{font-size:clamp(43px,7.8vw,60px);line-height:1.03;letter-spacing:-.035em;margin-bottom:28px}.intro-copy{grid-template-columns:1fr;gap:18px;max-width:550px}.intro-copy p{font-size:14px;line-height:1.85}.projects{padding-top:12px}.section-heading{display:block;margin:40px 0 32px}.section-heading h2,.materials h2,.process h2{font-size:clamp(52px,10.5vw,74px);line-height:1}.section-heading p{font-size:13px;margin-top:22px;line-height:1.8}.project-image{aspect-ratio:4/3}.project-image-label{bottom:18px;left:18px;font-size:11px;gap:17px}.image-counter{top:16px;left:17px;font-size:11px}.photo-reference{font-size:11px;bottom:22px;right:17px}.project-caption{padding-top:18px;gap:16px}.project-type{font-size:11px;letter-spacing:.8px}.project h3{font-size:37px;letter-spacing:-1px;margin-top:4px}.project-caption p{display:none}.project-arrow{width:46px;height:46px;margin-left:auto}.project-context{display:block;margin-top:18px;padding-top:19px}.project-context>span{font-size:11px}.project-context p{font-size:14px;margin-top:12px;line-height:1.8;max-width:480px}.project-grid{gap:16px;margin-top:42px}.project-grid .project-offset{margin-top:0}.project-grid h3{font-size:24px;line-height:1.1}.project-grid .project-type{font-size:11px;letter-spacing:.3px;line-height:1.5;display:block}.project-grid .project-caption{gap:7px;align-items:flex-start}.project-grid .project-arrow{width:32px;height:44px;border:0;min-width:32px}.project-grid .project-arrow .icon{width:20px;height:20px}.project-image.portrait{aspect-ratio:4/3}.project-final{margin-top:65px;max-width:94%}.project-final .project-image{aspect-ratio:4/3}.manifesto{height:540px;margin-top:0}.manifesto-copy{padding:45px 6%}.manifesto-copy h2{font-size:clamp(57px,11vw,80px);line-height:1;margin:25px 0}.manifesto-copy .eyebrow{font-size:11px}.manifesto-copy p{font-size:13px;max-width:315px}.manifesto-image img{object-position:60% center}.material-layout{grid-template-columns:minmax(0,1fr);gap:34px;margin-top:42px}.material-intro>p{font-size:14px;max-width:470px;margin:25px 0}.material-tabs{max-width:none;display:flex;border-bottom:1px solid var(--line)}.material-tabs button{border:0;min-height:55px;font-size:12px;padding:15px 5px;justify-content:flex-start}.material-tabs button .icon{display:none}.material-tabs button[aria-selected=true]{box-shadow:inset 0 -2px var(--ink)}.material-index{top:12px;left:12px}.material-info h3{font-size:34px}.material-info p{font-size:13px;line-height:1.75}.material-footnote{font-size:11px;line-height:1.8}.process-heading{display:block;margin:42px 0 35px}.process-heading p{font-size:13px;margin-top:22px}.process-list summary{padding:23px 0;gap:24px}.process-list h3{font-size:38px;letter-spacing:-.8px}.process-list summary>span:first-child{font-size:11px;width:20px}.process-text{margin:0 0 26px 44px;grid-template-columns:1fr;gap:18px}.process-text p{font-size:13px;line-height:1.85}.process-text>span{font-size:11px}.contact>.eyebrow{margin-top:44px;font-size:11px}.contact h2{font-size:clamp(87px,18vw,130px);margin:28px 0 35px}.contact-bottom{display:block}.contact-bottom p{font-size:13px}.contact-link{font-size:14px;justify-content:space-between;gap:25px;padding:19px 0;margin-top:20px}.demo-form-link{font-size:11px;line-height:1.8;text-align:left;margin-top:25px}.site-footer{padding:45px 6% 23px}.footer-top{display:block;padding-bottom:30px}.footer-wordmark{font-size:17.4vw}.footer-top p{font-size:11px;margin-top:24px}.footer-bottom{display:grid;grid-template-columns:1fr 1fr;gap:9px 20px;font-size:11px}.footer-bottom>span{text-align:right}.footer-bottom button,.footer-bottom a{font-size:11px;gap:9px;text-align:left}.footer-bottom>a:last-child{justify-content:flex-end}.menu-dialog{padding:26px 6%}.menu-dialog .dialog-head{padding-bottom:25px}.menu-dialog nav{padding:32px 0;gap:8px}.menu-dialog nav a{font-size:clamp(42px,10.5vw,68px);gap:20px;line-height:1.4}.menu-dialog nav a span{font-size:11px}.menu-foot{font-size:11px;gap:20px;line-height:1.8}.menu-foot>a{font-size:11px;text-align:right;gap:12px}.project-dialog{width:94vw;max-height:94svh}.project-dialog-layout{display:block;padding:0 22px 30px}.project-close{font-size:11px;padding:8px 16px}.project-diagram{margin-top:20px;padding:16px}.project-diagram svg{max-height:185px}.project-diagram p{font-size:11px}.detail-image-caption{font-size:11px;line-height:1.7}.project-detail-copy{padding-top:34px}.project-detail-copy h2{font-size:58px;margin-bottom:24px}.project-detail-copy>p.detail-intro{font-size:16px}.case-sections p{font-size:14px}.project-detail-copy dl{font-size:12px}.project-detail-copy dl>div{grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:10px}.project-detail-copy p.project-disclosure{font-size:11px}.text-dialog{padding:25px 24px}.text-dialog h2{font-size:40px;max-width:230px}.text-dialog .dialog-head{gap:12px}.text-dialog .dialog-close{font-size:11px;gap:6px}.text-dialog .dialog-close .icon{width:18px;height:18px}.text-dialog p,.credit-list{font-size:13px}}
@media(max-width:420px){.hero h1{font-size:clamp(63px,17vw,75px)}.hero-description{font-size:13px}.hero-figure{height:390px}.hero-foot{font-size:11px}.motion-control{font-size:11px}.hero-figure figcaption{font-size:11px}.statement{font-size:clamp(39px,10.2vw,45px)}.project-grid{display:grid;gap:12px;margin-top:36px}.project-grid .project-offset{margin:0}.project-grid .project:last-child{margin:0}.project-grid h3{font-size:22px;line-height:1.12}.project-grid .project-type{font-size:11px;letter-spacing:.7px}.project-grid .project-caption{align-items:center}.project-image.portrait{aspect-ratio:4/3}.project-final{max-width:none;margin-top:42px}.photo-reference{font-size:11px;max-width:105px;text-align:right;line-height:1.6;bottom:19px}.project-image-label{font-size:11px;gap:12px}.project-detail-copy h2{font-size:52px}.material-info p{padding:0}.menu-foot>span{max-width:110px}.contact h2{font-size:85px}.section-heading h2,.materials h2,.process h2{font-size:clamp(48px,12vw,54px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.hero-figure{clip-path:none}.hero-image img{transform:none}.section-label:after{transform:none}}

@media(max-width:760px){.hero-foot{flex-wrap:wrap;gap:0 20px;margin-top:12px;min-height:44px;align-items:center}.hero-foot>span{padding:10px 0}.hero-figure figcaption{font-size:11px;letter-spacing:0}.hero-figure figcaption>span:last-child{text-align:right}.photo-reference{display:none}.project-grid .project-type{font-size:11px;line-height:1.6}.project-grid .project-caption{align-items:center}.header-actions{gap:18px}.wordmark span{letter-spacing:.13em;font-size:11px}}

.hero-foot{justify-content:flex-end}.footer-note{font-size:11px;line-height:1.8;color:#c8cebf;margin:16px 0 0;padding-top:18px;border-top:1px solid #737b6c}.footer-note a{text-decoration:underline;text-underline-offset:4px}.project-detail-copy>a.detail-cta{margin-top:25px}.contact-link{font-size:14px;gap:35px}.footer-bottom{justify-content:space-between}@media(max-width:760px){.footer-bottom{grid-template-columns:1fr 1fr}.footer-bottom>a:last-child{grid-column:1/-1;justify-content:flex-start}.footer-note{font-size:11px;margin-top:10px}.contact-link{font-size:14px;gap:20px}.hero-foot{justify-content:flex-start}}

/* Frame dimensions belong to the layout; the source file never sets card height. */
.project{min-width:0}
.project-image img[src$="facade.jpg"],#project-detail-image[src$="facade.jpg"]{object-position:50% 88%}
.project-image img[src$="pavilion.jpg"],#project-detail-image[src$="pavilion.jpg"]{object-position:50% 78%}
@media(max-width:760px){
 .project-grid .project-caption{display:block;padding-top:13px}
 .project-grid h3 button{min-height:44px}
 .project-grid .project-arrow{margin-top:6px;margin-left:0;width:44px;height:44px;border:1px solid var(--line)}
 .project-grid .project-image-label{display:none}
 .project-grid .image-counter{top:8px;left:8px;padding:5px 7px;font-size:10px;letter-spacing:.3px}
 .project-grid .project-image:after{display:none}
}
