@font-face{font-family:Raleway;src:url(Raleway-300.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url(Raleway-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url(Raleway-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Raleway;src:url(Raleway-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Braunsteiner;src:url(Roboto-Variable.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
:root{--paper:#e5e1d9;--surface:#f3f0e9;--ink:#363a35;--taupe:#7a736c;--muted:#6a6860;--line:#7a736c40;--max:1240px;--edge:40px;--rail:80px;--header:104px;--serif:Georgia,"Times New Roman",serif;font-family:Braunsteiner,Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}
body{margin:0;padding-top:var(--header);padding-right:var(--rail);font-weight:350;line-height:1.65;overflow-x:clip}
body.nav-open{overflow:hidden}
html:has(#photo-viewer[open]),body:has(#photo-viewer[open]){overflow:hidden}
button,input{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0;background:transparent}
button:disabled{cursor:default;opacity:.3}
a{color:inherit;text-decoration:none}
button,a,input{outline-offset:5px}
:focus-visible{outline:2px solid var(--taupe)}
img{display:block;max-width:100%}
button svg,a svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}
[hidden]{display:none!important}
.container{width:min(calc(100% - var(--edge)*2),var(--max));margin-inline:auto}
.wide-container{width:calc(100% - var(--edge)*2);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.skip-link{position:fixed;z-index:200;left:12px;top:8px;transform:translateY(-160%);padding:12px 20px;background:var(--ink);color:var(--surface)}
.skip-link:focus{transform:none}
.overline{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:var(--taupe);font-weight:450;line-height:1.6;margin:0 0 20px}
.text-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.035em;font-weight:450}
.text-link:hover{border-bottom-color:currentColor}
.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line)}
.icon-button:hover:not(:disabled){background:var(--surface)}
.site-header{position:fixed;top:0;left:0;right:var(--rail);height:var(--header);z-index:40;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}
.brand{display:flex;align-items:center;gap:22px;flex:none}
.brand img{width:80px;height:80px;object-fit:contain}
.brand-copy{font-size:14px;letter-spacing:.025em;font-weight:400;line-height:1.5}
.brand-copy span{display:block;font-size:9px;letter-spacing:.065em;color:var(--muted);margin-top:5px;font-weight:350}
.header-links{display:flex;gap:34px;align-items:center}
.header-links a{font-size:10px;letter-spacing:.13em;text-transform:uppercase;padding:12px 0;border-bottom:1px solid transparent}
.header-links a:hover,.header-links a[aria-current=location]{border-bottom-color:var(--taupe)}
.site-rail{position:fixed;right:0;top:0;bottom:0;width:var(--rail);background:var(--taupe);color:#fff;z-index:100;display:flex;flex-direction:column;align-items:center}
.menu-toggle{width:100%;height:var(--header);display:grid;place-items:center;border-bottom:1px solid #ffffff30}
.menu-lines{display:flex;flex-direction:column;gap:7px;width:27px}
.menu-lines span{width:27px;height:1.5px;background:currentColor;transition:transform .25s}
.menu-toggle[aria-expanded=true] .menu-lines span:first-child{transform:translateY(4.25px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-lines span:last-child{transform:translateY(-4.25px) rotate(-45deg)}
.rail-wordmark{flex:1;display:flex;align-items:center;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.25em;font-size:11px;font-weight:450;padding-top:35px;padding-bottom:35px}
.rail-contact{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}
.rail-contact a{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff40}
.rail-contact a:hover{background:#ffffff15}
.rail-top{display:grid;place-items:center;width:44px;height:44px;margin-bottom:22px}
.menu-backdrop{position:fixed;inset:0;z-index:60;background:#363a3580;cursor:pointer}
.main-nav{position:fixed;right:var(--rail);top:0;bottom:0;width:min(930px,calc(100% - var(--rail)));z-index:80;background:var(--taupe);color:#fff;overflow:auto;padding:70px 75px;display:flex;flex-direction:column;justify-content:center;gap:23px}
.main-nav>.overline{color:#ffffffbf;margin-bottom:10px}
.main-nav>a{font-family:var(--serif);font-size:clamp(32px,3.5vw,54px);line-height:1.2;letter-spacing:.02em;padding:5px 0;width:fit-content}
.main-nav>a:hover{color:var(--paper)}
.menu-contact{padding-top:30px;border-top:1px solid #ffffff40;display:flex;flex-wrap:wrap;gap:12px 35px;margin-top:16px;font-size:13px}
.menu-contact a{border-bottom:1px solid #ffffff60;padding:6px 0}
.hero{position:relative;height:calc(100svh - var(--header));min-height:760px;max-height:1100px;background:var(--ink);color:#fff;overflow:hidden}
.hero-shell{position:absolute;inset:0}
.hero-media,.hero-link{position:relative;display:block;width:100%;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#24282180 0%,#2428211a 55%,transparent 85%),linear-gradient(0deg,#242821b3 0%,transparent 43%)}
.hero-content{position:relative;z-index:1;display:grid;grid-template-rows:1fr auto;height:100%;padding-top:70px;padding-bottom:38px;pointer-events:none}
.hero-content a,.hero-content button{pointer-events:auto}
.hero-intro{align-self:center;max-width:600px;margin-bottom:45px}
.hero-intro>.overline{color:#ffffffd9;font-size:11px;letter-spacing:.17em;margin-bottom:25px}
.hero-intro h1{font-size:clamp(62px,6.4vw,102px);font-weight:300;line-height:1.02;letter-spacing:-.04em;margin:0 0 28px}
.hero-intro h1 span{display:block}
.hero-intro h1 span:first-child{font-family:var(--serif);font-weight:400}
.hero-cta{color:#fff;border-bottom-color:#ffffff80}
.hero-footer{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:23px;border-top:1px solid #ffffff40}
.hero-caption{max-width:470px;min-width:0}
.hero-caption .overline{font-size:9px;color:#ffffffb3;margin-bottom:8px}
.hero-caption h2{font-size:23px;font-weight:400;line-height:1.3;margin:0 0 8px}
.hero-caption p:not(.overline){font-size:12px;color:#ffffffd9;line-height:1.6;margin:0;max-width:52ch}
.hero-controls-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex:none}
.hero-controls{display:flex;gap:16px;align-items:center}
.hero-controls .icon-button{color:#fff;border-color:#ffffff80}
.hero-controls .icon-button:hover:not(:disabled){background:#ffffff15}
.hero-counter{font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.05em;white-space:nowrap}
.hero-footer-actions{display:flex;gap:24px;align-items:center}
.hero-footer-actions .text-link,.photo-expand{font-size:10px;color:#ffffffd9;border-bottom-color:#ffffff60;min-height:36px}
.studio-intro{padding-block:105px;text-align:center;max-width:920px}
.studio-intro-copy{font-family:var(--serif);font-size:clamp(24px,2.4vw,34px);font-weight:400;line-height:1.65;letter-spacing:-.02em;margin:0 0 28px}
.work-heading{padding-top:70px;padding-bottom:15px;text-align:center}
.work-heading h2,.section-heading h2{font-family:var(--serif);font-size:clamp(34px,3.7vw,54px);font-weight:400;color:var(--taupe);line-height:1.2;letter-spacing:.01em;margin:0 0 20px}
.work-heading>p:not(.overline){font-size:15px;color:var(--muted);margin:0}
.project-wall{background:var(--surface)}
.archive{padding-bottom:85px}
.archive-tools{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:112px;padding-block:20px}
.filters{display:flex;flex-wrap:wrap;gap:35px}
.filters button{font-size:12px;text-transform:uppercase;letter-spacing:.1em;padding:10px 0;min-height:44px;border-bottom:1px solid transparent;color:var(--taupe)}
.filters button[aria-pressed=true]{font-weight:600;border-bottom-color:var(--taupe)}
.search-field{display:flex;align-items:center;width:220px;border-bottom:1px solid var(--line)}
.search-field input{width:100%;min-height:44px;background:transparent;border:0;border-radius:0;padding:10px 0;font-size:12px}
.search-field input::placeholder{color:var(--muted)}
.results{font-size:11px;color:var(--muted);margin-top:0;margin-bottom:24px;letter-spacing:.03em}
.archive-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.project-card{position:relative;display:block;min-width:0;overflow:hidden;background:var(--paper)}
.card-media{aspect-ratio:615/450;overflow:hidden;background:var(--paper)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card-media.is-portrait img{object-fit:contain}

.card-caption{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:center;text-align:center;gap:25px;padding:35px 40px;color:#fff;background:linear-gradient(180deg,#292e2850,transparent 30%,transparent 52%,#292e28b3 100%)}
.card-caption:before{content:"";position:absolute;inset:0;background:#7a736ceb;opacity:0;transition:opacity .35s}
.card-caption>p,.card-caption>div{position:relative;z-index:1}
.card-kind{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-weight:450;margin:0}
.card-title h3{font-size:clamp(19px,1.6vw,27px);line-height:1.35;letter-spacing:.075em;text-transform:uppercase;font-weight:400;margin:0 0 13px}
.card-open{display:inline-flex;gap:14px;align-items:center;font-size:10px;letter-spacing:.04em}
.card-open svg{width:18px;height:18px}
.project-card:focus-visible .card-caption:before{opacity:1}
@media(hover:hover){.project-card:hover .card-caption:before{opacity:1}.project-card:hover img{transform:scale(1.015)}}
.archive-more-wrap{display:flex;justify-content:center;margin-top:55px}
.archive-more,.outline-button{display:inline-flex;justify-content:center;align-items:center;min-width:235px;min-height:52px;padding:14px 27px;border:1px solid var(--taupe);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--taupe);background:transparent;transition:background .2s,color .2s}
.archive-more:hover,.outline-button:hover{background:var(--taupe);color:#fff}
.empty-state{padding:35px 0 10px;font-size:18px;color:var(--taupe)}
.services{padding-top:100px;background:var(--surface)}
.section-heading{text-align:center;max-width:860px;margin-inline:auto;margin-bottom:70px}
.section-heading>p:not(.overline){font-size:16px;color:var(--muted);margin:0;line-height:1.75}
.service-stories{padding-bottom:10px}
.service-story{position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;max-width:1560px;width:calc(100% - var(--edge)*2);margin:0 auto 85px}
.service-story:before{content:"";position:absolute;z-index:-1;left:0;right:22%;top:75px;bottom:0;background:var(--paper)}
.service-copy{padding:80px clamp(30px,4.5vw,90px);max-width:650px}
.service-number{font-size:11px;letter-spacing:.1em;color:var(--taupe)}
.service-copy h3{font-family:var(--serif);font-size:clamp(32px,3.3vw,50px);font-weight:400;line-height:1.16;color:var(--taupe);margin:25px 0}
.service-copy p{font-size:16px;line-height:1.8;margin:0 0 28px;color:var(--muted);max-width:38ch}
.service-visual{position:relative;aspect-ratio:83/80;overflow:hidden;background:var(--paper)}
.service-visual img{width:100%;height:100%;object-fit:contain}
.service-story:nth-child(even):before{left:22%;right:0}
.service-story:nth-child(even) .service-visual{order:0}
.service-story:nth-child(even) .service-copy{order:1;justify-self:end}
.process{padding-top:20px;padding-bottom:100px}
.process-heading{font-family:var(--serif);font-size:36px;line-height:1.25;font-weight:400;color:var(--taupe);margin:0 0 50px;text-align:center}
.process ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px;padding:0;margin:0;list-style:none;counter-reset:step}
.process li{border-top:1px solid var(--line);padding-top:20px}
.process li:before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;font-size:11px;color:var(--taupe);margin-bottom:20px}
.process li strong{font-family:var(--serif);font-size:26px;font-weight:400;display:block;margin-bottom:12px;color:var(--taupe)}
.process li span{font-size:13px;line-height:1.7;color:var(--muted);display:block}
.about{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-items:center;padding-block:100px;background:var(--paper)}
.about-visual{margin:0;min-width:0;padding-left:var(--edge);padding-right:35px}
.about-visual img{width:100%;height:auto;max-height:85svh;object-fit:contain}
.about-visual figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--taupe);margin-top:18px}
.about-copy{max-width:650px;padding:40px clamp(30px,5vw,95px)}
.about-copy h2{font-family:var(--serif);font-size:clamp(35px,3.6vw,55px);line-height:1.18;font-weight:400;color:var(--taupe);margin:0 0 30px;letter-spacing:-.02em}
.about-copy p:not(.overline){font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 23px;max-width:43ch}
.about-copy .text-link{margin-top:8px}
.contact{background:var(--taupe);color:#fff;padding-top:85px;padding-bottom:90px}
.contact .overline{color:#ffffffbf;text-align:center;margin-bottom:27px}
.contact h2{font-family:var(--serif);font-size:clamp(38px,4.5vw,68px);line-height:1.2;font-weight:400;text-align:center;margin:0 auto 55px;max-width:880px}
.contact-details{display:grid;grid-template-columns:1.25fr .9fr 1fr;gap:45px;padding-top:35px;border-top:1px solid #ffffff40}
.contact-detail h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:450;color:#ffffffb3;margin:0 0 18px}
.contact-detail a{font-size:clamp(16px,1.55vw,23px);border-bottom:1px solid #ffffff70;padding-bottom:7px;overflow-wrap:anywhere;display:inline-block}
.contact-detail p{font-size:15px;line-height:1.75;margin:0;color:#ffffffe6}
.contact-detail a:hover{color:var(--paper)}
.site-footer{background:var(--paper);color:var(--taupe);padding-top:75px;padding-bottom:70px}
.footer-top{display:flex;justify-content:space-between;align-items:start;gap:35px;margin-bottom:65px}
.footer-brand{display:flex;align-items:center;gap:35px}
.footer-brand img{width:145px;height:145px;object-fit:contain}
.footer-brand p{font-family:var(--serif);font-size:27px;line-height:1.35;margin:0}
.footer-brand p span{display:block;font-family:Braunsteiner,Arial,sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase;margin-top:15px}
.footer-up{font-size:11px;text-transform:uppercase;letter-spacing:.1em;min-height:44px;display:flex;align-items:center;gap:15px}
.footer-columns{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:65px}
.footer-columns h3{font-size:13px;letter-spacing:.06em;font-weight:450;margin:0 0 24px}
.footer-columns a{display:block;font-size:15px;padding:5px 0;width:fit-content}
.footer-columns a:hover{color:var(--ink)}
.footer-columns p{font-size:15px;line-height:1.75;margin:0 0 10px}
.footer-bottom{border-top:1px solid var(--line);padding-top:25px;margin-top:55px;display:flex;justify-content:space-between;gap:25px;font-size:10px;letter-spacing:.06em}
.project-view{padding-top:0}
.project-topline{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:25px}
.project-back{font-size:11px;letter-spacing:.05em;min-height:44px;display:flex;align-items:center}
.project-topline .overline{font-size:10px;margin:0;text-align:right}
.project-photo-frame{position:relative;height:min(83svh,1050px);min-height:380px;display:grid;place-items:center;background:var(--surface);overflow:hidden;touch-action:pan-y pinch-zoom}
.photo-open{display:block;width:100%;height:100%;padding:0;cursor:zoom-in}
.project-main-photo{width:100%;height:100%;object-fit:contain}
.project-heading{padding-top:70px;padding-bottom:35px;text-align:center;max-width:900px}
.project-heading h1{font-family:var(--serif);font-size:clamp(38px,4.5vw,66px);font-weight:400;line-height:1.2;letter-spacing:.01em;color:var(--taupe);margin:0 0 28px}
.project-heading p{font-size:17px;line-height:1.8;max-width:68ch;margin:0 auto;color:var(--muted)}
.project-heading .text-link{margin-top:20px}
.gallery-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:45px;padding-top:25px;padding-bottom:70px;border-bottom:1px solid var(--line)}
.gallery-caption h2{font-family:var(--serif);font-size:27px;line-height:1.3;font-weight:400;color:var(--taupe);margin:0 0 13px}
.gallery-caption p{font-size:14px;line-height:1.7;color:var(--muted);max-width:68ch;margin:0}
.gallery-control{display:flex;align-items:center;gap:16px}
.gallery-control>span{font-size:11px;letter-spacing:.05em;white-space:nowrap;font-variant-numeric:tabular-nums}
.project-story-heading{padding-top:80px;padding-bottom:45px;text-align:center}
.project-story-heading h2{font-family:var(--serif);font-size:40px;color:var(--taupe);font-weight:400;line-height:1.25;margin:0}
.project-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:65px 30px;padding-bottom:80px}
.story-item{margin:0;min-width:0}
.story-item:nth-child(3n+1){grid-column:1/-1}
.story-item.is-portrait{grid-column:auto}
.story-open{position:relative;display:block;width:100%;padding:0;background:var(--surface);cursor:zoom-in}
.story-open img{width:100%;height:auto;object-fit:contain;max-height:100svh}
.story-expand{position:absolute;right:20px;bottom:18px;background:var(--taupe);color:#fff;padding:9px 13px;font-size:10px;letter-spacing:.04em}
.story-item figcaption{padding-top:24px;max-width:800px;margin-inline:auto}
.story-item figcaption h3{font-family:var(--serif);font-size:27px;font-weight:400;line-height:1.25;color:var(--taupe);margin:0 0 14px}
.story-item figcaption p{font-size:14px;line-height:1.8;color:var(--muted);margin:0;max-width:68ch}
.comparison-section{padding-top:55px;padding-bottom:80px;border-top:1px solid var(--line)}
.comparison-section>h2{font-family:var(--serif);font-size:45px;line-height:1.2;font-weight:400;color:var(--taupe);margin:0 0 20px}
.comparison-lead{font-size:16px;color:var(--muted);margin:0 0 45px}
.comparison-card{padding-top:30px;padding-bottom:45px;border-top:1px solid var(--line)}
.comparison-title-row{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}
.comparison-title-row h3{font-family:var(--serif);font-size:30px;line-height:1.3;font-weight:400;color:var(--taupe);margin:0}
.comparison-title-row button{font-size:11px;min-height:44px;border-bottom:1px solid var(--line);padding:6px 0}
.comparison-pair{display:grid;grid-template-columns:1fr 1fr;gap:25px;align-items:start}
.comparison-pair figure{margin:0;min-width:0}
.comparison-pair figcaption{font-size:11px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:15px}
.comparison-pair img{width:100%;height:auto;object-fit:contain;background:var(--surface)}
.comparison-note{font-size:11px;color:var(--muted);line-height:1.6;margin:20px 0 0}
.more-projects{border-top:1px solid var(--line);padding-top:65px;padding-bottom:90px}
.more-projects-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}
.more-projects-header h2{font-family:var(--serif);font-size:38px;line-height:1.2;font-weight:400;color:var(--taupe);margin:0}
.neighbor-controls{display:flex;align-items:center;gap:15px}
.neighbor-controls span{font-size:11px;min-width:82px;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.04em}
.project-neighbors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.viewer{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#262b25;color:#f3f0e9;overflow:hidden}
.viewer::backdrop{background:#262b25}
.viewer-layout{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%}
.viewer-top,.viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 26px}
.viewer-top p,.viewer-bottom p{font-size:11px;letter-spacing:.05em;margin:0}
.viewer-top button{padding:10px 0;min-height:44px;font-size:12px}
.viewer-photos{display:grid;place-items:center;min-height:0}
.viewer-photos>img{width:100%;height:100%;object-fit:contain;min-height:0}
.viewer-bottom .icon-button{border-color:#f3f0e966;color:#f3f0e9}
.viewer-bottom .icon-button:hover{background:#f3f0e916}
.viewer-comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;width:100%;height:100%;padding:0 26px;min-height:0}
.viewer-comparison-grid figure{display:flex;flex-direction:column;margin:0;min-height:0}
.viewer-comparison-grid figcaption{font-size:11px;letter-spacing:.1em;margin-bottom:12px}
.viewer-comparison-grid img{flex:1;min-height:0;width:100%;height:100%;object-fit:contain}
.viewer-tabs{display:none;gap:8px}
.viewer-tabs button{border:1px solid #f3f0e944;padding:8px 20px;min-height:44px;font-size:12px}
.viewer-tabs button[aria-pressed=true]{background:#f3f0e9;color:#262b25}
.viewer[data-mode=comparison] .viewer-arrows{display:none}
@media(max-width:1200px){:root{--rail:60px;--edge:30px}.brand-copy span{max-width:230px;letter-spacing:.02em}.header-links{gap:25px}.main-nav{padding:55px}.service-copy{padding:60px 35px}.service-story{margin-bottom:65px}.process ol{gap:25px}.contact-details{gap:30px}.footer-columns{gap:40px}}
@media(max-height:750px) and (min-width:701px){.hero{min-height:620px}.hero-content{padding-top:45px;padding-bottom:25px}.hero-intro{margin-bottom:25px}.hero-intro h1{font-size:72px;margin-bottom:24px}.hero-intro>.overline{margin-bottom:20px}.hero-footer{padding-top:18px}}
@media(max-width:900px) and (min-width:701px){.header-links{display:none}.brand-copy span{max-width:none}.hero-caption{max-width:330px}.hero-footer{gap:25px}.hero-intro h1{font-size:76px}.filters{gap:20px}.archive-tools{gap:20px}.search-field{width:185px}.card-caption{padding:25px}.card-title h3{font-size:20px}.service-copy h3{font-size:35px}.service-copy p{font-size:14px}.about-copy{padding:30px}.contact-details{grid-template-columns:1fr 1fr}.contact-detail:last-child{grid-column:1/-1}.process ol{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-brand{gap:25px}.footer-brand p{font-size:23px}.footer-brand img{width:120px;height:120px}}
@media(max-width:700px){
 :root{--edge:20px;--rail:0px;--header:80px}
 .site-header{right:64px}.header-inner{width:calc(100% - 30px);gap:10px}.brand{gap:12px}.brand img{width:56px;height:56px}.brand-copy{font-size:11px;letter-spacing:0}.brand-copy span{font-size:7px;letter-spacing:0;max-width:145px;line-height:1.5;margin-top:3px}.header-links{display:none}
 .site-rail{width:64px;height:80px;bottom:auto}.menu-toggle{height:80px}.rail-wordmark,.rail-contact,.rail-top{display:none}
 .main-nav{right:0;width:100%;padding:100px 30px 40px;justify-content:start;gap:23px}.main-nav>a{font-size:37px}.main-nav>.overline{font-size:9px}.menu-contact{gap:12px;font-size:12px;flex-direction:column;align-items:start;margin-top:10px;padding-top:23px}
 .hero{height:auto;min-height:0;max-height:none;background:var(--paper);color:var(--ink);overflow:visible;display:flex;flex-direction:column}
 .hero-shell{position:relative;inset:auto}.hero-media{height:auto;aspect-ratio:4/3}.hero-media:after{display:none}
 .hero-content{height:auto;display:block;padding-top:35px;padding-bottom:0;pointer-events:auto}.hero-intro{max-width:none;margin-bottom:30px}.hero-intro>.overline{font-size:9px;color:var(--taupe);margin-bottom:22px}.hero-intro h1{font-size:clamp(48px,14vw,68px);line-height:1.04;margin-bottom:24px}.hero-cta{color:var(--ink);border-bottom-color:var(--line)}
 .hero-footer{display:grid;grid-template-columns:1fr;gap:22px;border-top-color:var(--line);padding-top:22px}.hero-caption{max-width:none}.hero-caption .overline{color:var(--taupe)}.hero-caption h2{font-size:24px}.hero-caption p:not(.overline){font-size:13px;color:var(--muted);max-width:none}
 .hero-controls-wrap{align-items:stretch;gap:8px}.hero-controls{justify-content:space-between}.hero-controls .icon-button{color:var(--ink);border-color:var(--line);width:52px}.hero-controls .icon-button:hover:not(:disabled){background:var(--surface)}.hero-footer-actions{justify-content:space-between}.hero-footer-actions .text-link,.photo-expand{color:var(--muted);border-bottom-color:var(--line)}
 .studio-intro{padding-top:65px;padding-bottom:65px;text-align:left}.studio-intro .overline{font-size:9px}.studio-intro-copy{font-size:25px;line-height:1.6;margin-bottom:24px}
 .work-heading{padding-top:50px;padding-bottom:15px}.work-heading h2{font-size:36px}.work-heading>p:not(.overline){font-size:13px}.archive-tools{flex-direction:column;align-items:stretch;gap:18px;padding-block:20px;min-height:0}.filters{gap:22px}.filters button{font-size:10px;letter-spacing:.07em}.search-field{width:100%}.results{font-size:10px;margin-bottom:21px}
 .archive-grid{grid-template-columns:1fr;gap:10px}.card-media{aspect-ratio:4/3}.card-caption{padding:24px 25px;gap:15px}.card-kind{font-size:9px}.card-title h3{font-size:21px;letter-spacing:.055em;margin-bottom:11px}.card-open{font-size:9px}.archive{padding-bottom:55px}.archive-more-wrap{margin-top:35px}.archive-more{width:calc(100% - 40px)}
 .services{padding-top:60px}.section-heading{margin-bottom:40px}.section-heading h2{font-size:36px}.section-heading>p:not(.overline){font-size:14px}.service-story{grid-template-columns:1fr;width:100%;margin-bottom:45px}.service-story:before{inset:0}.service-visual{order:0!important;aspect-ratio:auto}.service-visual img{height:auto;max-height:75svh;object-fit:contain}.service-copy{order:1!important;justify-self:start!important;padding:35px 25px 45px;max-width:none}.service-copy h3{font-size:35px;margin:18px 0 22px}.service-copy p{font-size:15px;max-width:none;margin-bottom:20px}
 .process{padding-top:5px;padding-bottom:55px}.process-heading{font-size:30px;text-align:left;margin-bottom:30px}.process ol{grid-template-columns:1fr 1fr;gap:25px 20px}.process li strong{font-size:23px}.process li span{font-size:12px}.process li:before{margin-bottom:15px}
 .about{grid-template-columns:1fr;padding-block:50px;gap:30px}.about-visual{padding-inline:20px}.about-visual figcaption{font-size:9px;margin-top:15px}.about-copy{padding:0 25px;max-width:none}.about-copy h2{font-size:36px}.about-copy p:not(.overline){font-size:15px;max-width:none}
 .contact{padding-top:55px;padding-bottom:60px}.contact .overline{font-size:9px}.contact h2{font-size:39px;margin-bottom:35px}.contact-details{grid-template-columns:1fr;gap:32px;padding-top:30px}.contact-detail h3{margin-bottom:12px}.contact-detail a{font-size:20px}.contact-detail p{font-size:14px}
 .site-footer{padding-top:50px;padding-bottom:40px}.footer-top{margin-bottom:35px;gap:20px}.footer-brand{flex-direction:column;align-items:start;gap:23px}.footer-brand img{width:105px;height:105px}.footer-brand p{font-size:23px}.footer-brand p span{font-size:8px;max-width:230px}.footer-up{font-size:9px;gap:8px;white-space:nowrap}.footer-up svg{width:18px}.footer-columns{grid-template-columns:1fr 1fr;gap:32px 20px}.footer-columns>div:last-child{grid-column:1/-1}.footer-columns h3{font-size:12px;margin-bottom:17px}.footer-columns a,.footer-columns p{font-size:13px}.footer-bottom{margin-top:35px;flex-direction:column;gap:12px;font-size:9px}
 .project-topline{padding-block:13px;gap:15px}.project-topline .overline{font-size:8px;letter-spacing:.07em}.project-back{font-size:10px}.project-photo-frame{height:auto;min-height:0;aspect-ratio:4/3}.project-heading{padding-top:40px;padding-bottom:20px}.project-heading h1{font-size:38px;margin-bottom:25px}.project-heading p{font-size:15px}.gallery-bar{grid-template-columns:1fr;gap:25px;padding-top:20px;padding-bottom:40px}.gallery-caption h2{font-size:26px}.gallery-caption p{font-size:13px}.gallery-control{justify-content:space-between}.gallery-control .icon-button{width:52px}
 .project-story-heading{padding-top:45px;padding-bottom:28px}.project-story-heading h2{font-size:32px}.project-story{grid-template-columns:1fr;gap:40px;padding-bottom:50px}.story-item:nth-child(n){grid-column:auto}.story-item figcaption{padding-top:21px}.story-item figcaption h3{font-size:25px}.story-item figcaption p{font-size:13px}.story-expand{right:12px;bottom:12px;font-size:9px;padding:8px 11px}
 .comparison-section{padding-top:40px;padding-bottom:45px}.comparison-section>h2{font-size:35px}.comparison-lead{font-size:14px;margin-bottom:30px}.comparison-title-row{align-items:stretch;flex-direction:column;gap:12px}.comparison-title-row h3{font-size:27px;overflow-wrap:anywhere}.comparison-title-row button{font-size:10px;align-self:start}.comparison-pair{grid-template-columns:1fr;gap:25px}.comparison-pair figcaption{font-size:10px;margin-bottom:12px}.comparison-note{font-size:10px}
 .more-projects{padding-top:45px;padding-bottom:55px}.more-projects-header{flex-direction:column;align-items:stretch;gap:25px;margin-bottom:26px}.more-projects-header h2{font-size:32px}.neighbor-controls{justify-content:space-between}.project-neighbors{grid-template-columns:1fr;gap:12px}
 .viewer-top,.viewer-bottom{padding:12px 16px}.viewer-top p{max-width:60%;font-size:10px}.viewer-top button{font-size:11px}.viewer-bottom{flex-wrap:wrap}.viewer-bottom .viewer-note{width:100%;font-size:10px}.viewer-comparison-grid{grid-template-columns:1fr;gap:0;padding:0 16px}.viewer-tabs{display:flex}
}
@media(max-width:380px){.brand{gap:9px}.brand-copy{font-size:10px}.brand-copy span{font-size:6.5px;max-width:125px}.main-nav>a{font-size:34px}.filters{gap:17px}.footer-brand p{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* A shared page grid, with photography and typography as separate elements. */
:root{--paper:#e5e1d9;--surface:#f3f0e9;--ink:#30362f;--taupe:#6a6258;--muted:#625f58;--line:#6a625833;--max:1240px;--rail:64px;--header:112px;--edge:40px}
.container,.wide-container{width:min(calc(100% - var(--edge)*2),var(--max));margin-inline:auto}
.overline{font-size:11px;letter-spacing:.11em;font-weight:450}
.text-link{font-size:13px;gap:16px;min-height:44px}
.site-header{right:var(--rail)}
.brand{gap:20px}
.brand img{width:96px;height:96px}
.brand-copy{font-size:15px;letter-spacing:.01em}
.brand-copy span{font-size:11px;letter-spacing:.01em;line-height:1.5;max-width:none}
.header-links{gap:28px}
.header-links a{font-size:11px;letter-spacing:.08em}
.rail-wordmark{font-size:12px;letter-spacing:.19em}
.main-nav{padding:64px;gap:24px}
.main-nav>a{letter-spacing:-.02em}

.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);gap:40px;align-items:center;height:auto;min-height:0;max-height:none;background:transparent;color:var(--ink);overflow:visible;padding-top:44px;padding-bottom:64px}
.hero-shell{position:static;inset:auto;min-width:0}
.hero-media,.hero-link{height:auto}
.hero-media{aspect-ratio:4/3;background:var(--surface);overflow:hidden;touch-action:pan-y pinch-zoom}
.hero-link{position:absolute;inset:0;width:100%;height:100%}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media:after{display:none}
.hero-intro{align-self:center;max-width:none;min-width:0;margin:0;padding:0 0 38px}
.hero-intro>.overline{font-size:11px;letter-spacing:.11em;color:var(--taupe);margin-bottom:28px}
.hero-intro h1{font-family:Braunsteiner,Arial,sans-serif;font-size:clamp(56px,6.1vw,88px);font-weight:300;line-height:1.02;letter-spacing:-.05em;margin:0 0 38px}
.hero-intro h1 span:first-child{font-family:inherit;font-weight:inherit}
.hero-intro h1 span:nth-child(2){color:var(--taupe)}
.hero-cta{color:var(--ink);border-bottom-color:var(--line)}
.hero-footer{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding-top:22px;border:0}
.hero-caption{max-width:none}
.hero-caption h2{font-size:22px;font-weight:400;letter-spacing:-.02em;line-height:1.25;margin:0 0 8px}
.hero-caption p:not(.overline){font-size:14px;color:var(--muted);line-height:1.6;max-width:58ch}
.hero-controls-wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%}
.hero-controls{gap:14px}
.hero-controls .icon-button{color:var(--ink);border-color:var(--line)}
.hero-controls .icon-button:hover:not(:disabled){background:var(--surface)}
.hero-counter{font-size:12px;letter-spacing:.02em}
.hero-footer-actions{gap:20px;flex-wrap:wrap;justify-content:flex-end}
.hero-footer-actions .text-link,.photo-expand{font-size:12px;color:var(--ink);border-bottom-color:var(--line);min-height:44px}
.hero-footer-actions .text-link{gap:12px}
.photo-expand{padding:8px 0;border-bottom:1px solid var(--line)}
.photo-expand:hover{border-bottom-color:var(--ink)}

.studio-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);gap:16px 40px;max-width:var(--max);padding-top:52px;padding-bottom:84px;border-top:1px solid var(--line);text-align:left}
.studio-intro>.overline{grid-column:1;grid-row:1/3;max-width:24ch;margin:5px 0 0}
.studio-intro-copy{grid-column:2;font-size:clamp(24px,2.3vw,29px);line-height:1.55;letter-spacing:-.025em;margin:0}
.studio-intro>.text-link{grid-column:2;justify-self:start;margin-top:8px}
.work-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:64px;padding-bottom:30px;text-align:left}
.work-heading .overline{margin-bottom:16px}
.work-heading h2{color:var(--ink);font-size:clamp(34px,3.3vw,48px);letter-spacing:-.025em;margin:0}
.work-heading>p:not(.overline){font-size:14px;max-width:32ch;line-height:1.6;margin-bottom:3px}
.archive{padding-bottom:84px}
.archive-tools{min-height:100px;gap:32px;padding-block:16px}
.filters{gap:28px}
.filters button{font-size:12px;letter-spacing:.06em}
.search-field{width:240px}
.search-field input{font-size:14px}
.results{font-size:12px;margin-bottom:24px}
.archive-grid,.project-neighbors{gap:52px 40px}
.project-card{overflow:visible;background:transparent}
.card-media{position:relative;aspect-ratio:4/3;background:var(--paper)}
.card-media img{position:absolute;inset:0;width:100%;height:100%;transition:none}
.card-media.is-object img{object-fit:contain}
.card-caption{position:static;inset:auto;align-items:stretch;justify-content:start;text-align:left;gap:9px;padding:21px 0 0;color:var(--ink);background:transparent}
.card-caption:before{display:none}
.card-kind{font-size:11px;letter-spacing:.075em;color:var(--taupe);line-height:1.6}
.card-title{display:flex;align-items:start;justify-content:space-between;gap:20px}
.card-title h3{font-size:clamp(21px,1.65vw,25px);line-height:1.3;letter-spacing:-.025em;text-transform:none;font-weight:400;margin:0;min-width:0}
.card-open{min-height:32px;flex:none;padding-top:2px;color:var(--taupe)}
.card-open svg{width:24px;height:24px;transition:transform .2s}
.project-card:hover img{transform:none}
.project-card:hover .card-open svg{transform:translate(2px,-2px)}
.project-card:hover h3,.project-card:focus-visible h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.archive-more-wrap{margin-top:52px}
.archive-more,.outline-button{font-size:12px;letter-spacing:.05em}

.services{padding-top:84px}
.section-heading{margin-bottom:64px}
.section-heading h2{color:var(--ink);font-size:clamp(34px,3.3vw,48px);letter-spacing:-.025em}
.service-story{grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);width:min(calc(100% - var(--edge)*2),var(--max));gap:0;margin-bottom:84px}
.service-story:before{display:none}
.service-copy{padding:36px 44px 36px 0;max-width:none}
.service-copy h3{font-size:clamp(32px,3vw,44px);line-height:1.2;letter-spacing:-.02em;margin:20px 0 24px;color:var(--ink)}
.service-copy p{font-size:16px;line-height:1.75;margin-bottom:24px}
.service-number{font-size:12px}
.service-visual{aspect-ratio:auto;background:transparent}
.service-visual img{width:100%;height:auto;object-fit:contain}
.service-story:nth-child(even){grid-template-columns:minmax(0,1.61803398875fr) minmax(0,1fr)}
.service-story:nth-child(even) .service-copy{padding:36px 0 36px 44px;justify-self:stretch}
.process{padding-top:8px;padding-bottom:84px}
.process-heading{font-size:34px;letter-spacing:-.025em;color:var(--ink);margin-bottom:40px}
.process ol{gap:32px}
.process li strong{font-size:25px;color:var(--ink)}
.process li span{font-size:14px;line-height:1.7}

.about{grid-template-columns:minmax(0,1.61803398875fr) minmax(0,1fr);width:min(calc(100% - var(--edge)*2),var(--max));margin-inline:auto;padding-block:84px;gap:44px}
.about-visual{padding:0}
.about-visual img{width:100%;height:auto;aspect-ratio:4/3;max-height:none;object-fit:cover}
.about-visual figcaption{font-size:11px;text-transform:none;letter-spacing:.015em;margin-top:16px}
.about-visual figcaption a{display:inline-flex;gap:14px;align-items:center;min-height:36px;border-bottom:1px solid var(--line)}
.about-copy{padding:0;max-width:none}
.about-copy h2{font-size:clamp(32px,3vw,44px);letter-spacing:-.025em;color:var(--ink);margin-bottom:24px}
.about-copy p:not(.overline){font-size:16px;line-height:1.75;margin-bottom:20px}
.contact{padding-top:72px;padding-bottom:76px}
.contact h2{font-size:clamp(38px,4.2vw,60px);line-height:1.15;letter-spacing:-.025em;margin-bottom:44px}
.contact-detail h3{font-size:11px;letter-spacing:.08em}
.main-nav>.overline,.contact .overline,.contact-detail h3{color:#fff}
.contact-detail p{font-size:16px}
.site-footer{padding-top:52px;padding-bottom:38px}
.footer-top{margin-bottom:40px}
.footer-brand{gap:28px}
.footer-brand img{width:124px;height:124px}
.footer-brand p span{font-size:11px;letter-spacing:.08em}
.footer-columns{gap:44px}
.footer-columns h3{margin-bottom:18px}
.footer-bottom{font-size:11px;letter-spacing:.03em;margin-top:38px}

.project-photo-frame{width:min(calc(100% - var(--edge)*2),var(--max));margin-inline:auto;height:min(78svh,860px);min-height:320px;background:var(--surface)}
.project-topline{padding-block:22px}
.project-back,.project-topline .overline{font-size:12px}
.project-heading{padding-top:52px;padding-bottom:24px}
.project-heading h1{font-size:clamp(38px,4.2vw,60px);color:var(--ink);letter-spacing:-.025em}
.gallery-bar{padding-top:20px;padding-bottom:48px;gap:32px}
.gallery-caption h2{color:var(--ink);font-size:27px}
.gallery-control>span{font-size:12px}
.project-story-heading{padding-top:60px;padding-bottom:34px}
.project-story-heading h2{font-size:36px;color:var(--ink);letter-spacing:-.025em}
.project-story{gap:48px 40px;padding-bottom:64px}
.story-item figcaption{padding-top:20px;max-width:860px}
.story-item figcaption h3{font-size:26px;color:var(--ink)}
.story-expand{font-size:11px;padding:10px 14px}
.comparison-section{padding-top:48px;padding-bottom:64px}
.comparison-section>h2,.comparison-title-row h3,.more-projects-header h2{color:var(--ink);letter-spacing:-.025em}
.comparison-title-row button,.comparison-pair figcaption,.comparison-note{font-size:12px}
.comparison-pair{gap:24px}
.more-projects{padding-top:52px;padding-bottom:72px}
.neighbor-controls span{font-size:12px}
.viewer-top p,.viewer-bottom p,.viewer-comparison-grid figcaption{font-size:12px}

@media(max-width:1200px){
 :root{--edge:32px;--rail:60px}
 .header-links{gap:22px}.brand{gap:16px}.brand-copy{font-size:14px}.brand-copy span{font-size:10px}
 .hero{gap:32px}.hero-intro h1{font-size:clamp(56px,6.1vw,80px)}.hero-controls-wrap{gap:18px}.hero-footer-actions{gap:16px}
 .studio-intro{gap:16px 32px}.service-copy{padding-right:32px}.service-story:nth-child(even) .service-copy{padding-left:32px}.about{gap:32px}
}
@media(max-width:1000px){
 .hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:52px;gap:28px}
 .hero-intro{padding:0}.hero-intro>.overline{margin-bottom:22px}.hero-intro h1{font-size:clamp(52px,8.1vw,80px);margin-bottom:24px}.hero-intro h1 span{display:inline}.hero-intro h1 span:last-child{display:block}.hero-media{aspect-ratio:3/2}
 .studio-intro{padding-top:44px;padding-bottom:64px}.studio-intro-copy{font-size:25px}
 .service-copy h3{font-size:33px}.service-copy p,.about-copy p:not(.overline){font-size:15px}.about-copy h2{font-size:34px}
}
@media(max-width:700px){
 :root{--edge:20px;--rail:0px;--header:84px}
 .site-header{right:64px}.header-inner{width:calc(100% - 30px);gap:10px}.brand{gap:12px}.brand img{width:60px;height:60px}.brand-copy{font-size:13px;line-height:1.4}.brand-copy span{font-size:10px;line-height:1.4;letter-spacing:0;max-width:158px;margin-top:4px}
 .site-rail{width:64px;height:var(--header);bottom:auto}.menu-toggle{height:var(--header)}.main-nav{padding:112px 28px 32px;gap:22px}.main-nav>a{font-size:36px}.main-nav>.overline{font-size:11px}.menu-contact{font-size:13px}
 .hero{display:grid;grid-template-columns:1fr;gap:26px;padding-top:32px;padding-bottom:48px}.hero-intro{padding:0;margin:0}.hero-intro>.overline{font-size:11px;letter-spacing:.08em;margin-bottom:18px}.hero-intro h1{font-size:clamp(44px,12.5vw,64px);line-height:1.06;margin-bottom:20px}.hero-intro h1 span{display:inline}.hero-intro h1 span:last-child{display:block}.hero-media{aspect-ratio:4/5}
 .hero-footer{padding-top:20px;gap:16px}.hero-caption h2{font-size:23px}.hero-caption p:not(.overline){font-size:14px;max-width:none}.hero-controls-wrap{flex-direction:column;align-items:stretch;gap:10px}.hero-controls{justify-content:space-between}.hero-controls .icon-button{width:48px;min-height:48px}.hero-footer-actions{justify-content:space-between;gap:12px}.hero-footer-actions .text-link,.photo-expand{font-size:12px}
 .studio-intro{grid-template-columns:1fr;gap:18px;padding-top:36px;padding-bottom:52px}.studio-intro>.overline{grid-column:1;grid-row:auto;max-width:none;margin:0}.studio-intro-copy{grid-column:1;font-size:25px;line-height:1.5}.studio-intro>.text-link{grid-column:1;margin-top:2px}
 .work-heading{display:block;padding-top:48px;padding-bottom:24px}.work-heading .overline{margin-bottom:14px}.work-heading h2{font-size:35px}.work-heading>p:not(.overline){font-size:14px;max-width:none;margin:20px 0 0}
 .archive-tools{gap:14px;padding-block:12px 20px;min-height:0}.filters{gap:12px 22px}.filters button{font-size:11px;letter-spacing:.04em}.search-field{width:100%}.search-field input{font-size:16px}.results{font-size:12px;margin-bottom:22px}
 .archive-grid,.project-neighbors{grid-template-columns:1fr;gap:36px}.card-media{aspect-ratio:4/5}.card-media.is-object{aspect-ratio:4/3}.card-caption{padding-top:18px;gap:7px}.card-kind{font-size:11px}.card-title h3{font-size:23px;line-height:1.3;letter-spacing:-.025em;margin:0}.card-open{padding-top:1px}.archive{padding-bottom:52px}.archive-more-wrap{margin-top:36px}.archive-more{width:auto;max-width:100%;font-size:12px}
 .services{padding-top:52px}.section-heading{margin-bottom:40px}.section-heading h2{font-size:35px}.section-heading>p:not(.overline){font-size:15px}
 .service-story,.service-story:nth-child(even){grid-template-columns:1fr;width:calc(100% - 40px);margin-bottom:48px;gap:0}.service-visual{order:0!important;aspect-ratio:4/5;position:relative}.service-visual img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}.service-copy,.service-story:nth-child(even) .service-copy{order:1!important;padding:28px 0 0;justify-self:stretch!important}.service-copy h3{font-size:35px;margin:16px 0 20px}.service-copy p{font-size:15px;max-width:none;margin-bottom:20px}
 .process{padding-top:0;padding-bottom:52px}.process-heading{font-size:31px;text-align:left;margin-bottom:30px}.process ol{grid-template-columns:1fr 1fr;gap:28px 20px}.process li strong{font-size:23px}.process li span{font-size:13px}
 .about{grid-template-columns:1fr;gap:32px;padding-block:52px}.about-visual{padding:0}.about-visual img{aspect-ratio:4/5;max-height:none}.about-visual figcaption{font-size:12px}.about-copy{padding:0}.about-copy h2{font-size:35px}.about-copy p:not(.overline){font-size:15px;max-width:none}
 .contact{padding-top:52px;padding-bottom:56px}.contact .overline{font-size:11px;letter-spacing:.08em}.contact h2{font-size:38px;margin-bottom:34px}.contact-details{gap:30px}.contact-detail h3{font-size:11px}.contact-detail a{font-size:20px}.contact-detail p{font-size:15px}
 .site-footer{padding-top:40px;padding-bottom:30px}.footer-top{margin-bottom:30px;flex-wrap:wrap}.footer-brand{min-width:0}.footer-brand img{width:110px;height:110px}.footer-brand p{font-size:25px}.footer-brand p span{font-size:10px;max-width:230px}.footer-up{font-size:11px;letter-spacing:.03em;white-space:normal;max-width:90px;margin-left:auto}.footer-columns{gap:28px 20px}.footer-columns h3{font-size:13px}.footer-columns a,.footer-columns p{font-size:14px}.footer-bottom{font-size:11px;margin-top:30px}
 .project-photo-frame{height:auto;min-height:0;aspect-ratio:4/5}.project-photo-frame.is-object{aspect-ratio:4/3}.project-topline{padding-block:14px;gap:16px}.project-back{font-size:11px}.project-topline .overline{font-size:10px}.project-heading{padding-top:36px;padding-bottom:18px}.project-heading h1{font-size:37px;margin-bottom:22px}.project-heading p{font-size:15px}.gallery-bar{gap:24px;padding-top:20px;padding-bottom:36px}.gallery-caption h2{font-size:26px}.gallery-caption p{font-size:14px}
 .project-story-heading{padding-top:40px;padding-bottom:26px}.project-story-heading h2{font-size:31px}.project-story{gap:36px;padding-bottom:48px}.story-open{aspect-ratio:4/5;overflow:hidden}.story-open img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:cover}.story-item.is-object .story-open{aspect-ratio:4/3}.story-item.is-object .story-open img{object-fit:contain}.story-item figcaption h3{font-size:25px}.story-item figcaption p{font-size:14px}.story-expand{font-size:11px;right:12px;bottom:12px}
 .comparison-section{padding-top:36px;padding-bottom:44px}.comparison-section>h2{font-size:35px}.comparison-lead{font-size:15px}.comparison-title-row{gap:12px}.comparison-title-row h3{font-size:27px}.comparison-title-row button,.comparison-pair figcaption,.comparison-note{font-size:12px}.comparison-pair{grid-template-columns:1fr;gap:24px}.comparison-pair.is-portrait{grid-template-columns:1fr 1fr;gap:16px}
 .more-projects{padding-top:40px;padding-bottom:52px}.more-projects-header h2{font-size:31px}.viewer-top p,.viewer-bottom p,.viewer-bottom .viewer-note{font-size:12px}.viewer-top p{max-width:65%}.viewer-top button{font-size:12px}
}
@media(max-width:380px){.brand{gap:10px}.brand-copy{font-size:12px}.brand-copy span{font-size:10px;max-width:138px}.filters{gap:10px 16px}.footer-up{font-size:10px}.process ol{grid-template-columns:1fr}.process li strong{font-size:25px}}

/* Braunsteiner: original cream, a warm amber detail, and a measured photo grid. */
:root{--paper:#faf8f3;--surface:#fff;--ink:#333333;--taupe:#57534b;--muted:#615d55;--line:#33333330;--accent:#f7a400;--cream:#f7f3eb;--rail:0px;--header:112px;--serif:Raleway,Braunsteiner,Arial,sans-serif}
body{padding-right:0;font-weight:350}
.overline{color:var(--muted);font-size:11px;letter-spacing:.12em;font-weight:450}
.text-link{border-bottom-color:var(--line);font-size:13px}
.text-link:hover{border-bottom-color:var(--accent)}
.site-header{right:0;background:var(--paper);border-bottom-color:var(--line)}
.header-inner{padding-right:80px;gap:24px}
.brand{gap:16px}.brand img{width:90px;height:90px}
.brand-copy{font-size:14px;font-weight:400;letter-spacing:.015em}
.brand-copy span{font-size:10px;line-height:1.5;letter-spacing:.02em}
.header-links{gap:26px}.header-links a{font-size:11px;letter-spacing:.06em;text-transform:none}
.header-links a:hover,.header-links a[aria-current=location]{border-bottom-color:var(--accent)}
.site-rail{right:max(var(--edge),calc((100vw - var(--max))/2));bottom:auto;width:52px;height:var(--header);background:transparent;color:var(--ink)}
.menu-toggle{height:var(--header);border:0}.menu-lines{width:26px;gap:7px}.menu-lines span{width:26px}
.menu-toggle:hover{color:var(--taupe)}
.menu-toggle[aria-expanded=true]{color:#fff}
.main-nav{right:0;width:min(720px,100%);background:var(--ink);padding:90px 70px;gap:24px}
.main-nav>a{font-weight:300;letter-spacing:-.025em}
.main-nav>a:hover{color:#ffd582}
.main-nav>.overline{font-size:11px;letter-spacing:.12em}
.menu-backdrop{background:#33333366}
.icon-button{border-color:var(--line)}
.icon-button:hover:not(:disabled){border-color:var(--ink);background:transparent}
.hero{grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);align-items:center;gap:40px;padding-top:48px;padding-bottom:56px}
.hero-intro{padding-bottom:76px}
.hero-intro>.overline{margin-bottom:26px}
.hero-intro h1{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:clamp(56px,5.8vw,84px);font-weight:300;letter-spacing:-.05em;line-height:1.07;margin-bottom:25px}
.hero-intro h1 span{display:block!important}
.hero-intro h1 span:nth-child(2){color:var(--ink)}
.hero-intro h1:after{content:"";display:block;width:48px;height:3px;margin-top:28px;background:var(--accent)}
.hero-intro-text{font-size:16px;line-height:1.75;color:var(--muted);max-width:32ch;margin:0 0 20px}
.hero-media{aspect-ratio:4/3;background:var(--cream)}
.hero-media img{object-fit:cover}
.hero-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:20px;padding-top:22px}
.hero-caption h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:23px;font-weight:500;letter-spacing:-.015em;line-height:1.3;margin:0 0 9px}
.hero-caption>.overline{font-size:10px;letter-spacing:.1em;margin-bottom:9px;color:var(--muted)}
.hero-caption p:not(.overline){font-size:14px;max-width:42ch;color:var(--muted)}
.hero-controls-wrap{width:auto;flex-direction:column;align-items:end;gap:16px}
.hero-controls{gap:12px}.hero-controls .icon-button{width:44px;height:44px;min-width:44px}
.hero-counter{font-size:11px;letter-spacing:.07em}
.hero-footer-actions{display:flex;flex-direction:column;align-items:end;gap:2px}
.hero-footer-actions .text-link,.photo-expand{font-size:12px;min-height:36px}
.hero-footer-actions .text-link{border:0}.photo-expand{border:0;color:var(--muted)}
.photo-expand:hover{text-decoration:underline;text-underline-offset:4px}
.project-wall{background:var(--surface);border-top:1px solid var(--line)}
.work-heading{padding-top:68px;padding-bottom:20px;gap:32px}
.work-heading h2,.section-heading h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-weight:400;font-size:clamp(32px,3.1vw,43px);line-height:1.2;letter-spacing:-.035em;color:var(--ink)}
.work-heading .overline{margin-bottom:14px}
.work-heading>p:not(.overline){font-size:14px;max-width:28ch;color:var(--muted)}
.archive-tools{min-height:90px;padding-block:16px}.filters{gap:28px}
.filters button{font-size:11px;letter-spacing:.04em;text-transform:none;color:var(--muted)}
.filters button[aria-pressed=true]{color:var(--ink);border-bottom:2px solid var(--accent);font-weight:450}
.search-field{width:210px}.search-field input{font-size:13px}
.results{font-size:11px;letter-spacing:.015em;margin-bottom:26px}
.archive-grid{grid-template-columns:minmax(0,1.61803398875fr) minmax(0,1fr);gap:48px 28px;align-items:start}
.archive-grid.is-packed{grid-auto-rows:1px;row-gap:0}
.archive-grid>.project-card{grid-column:auto;align-self:start}
.card-media{height:clamp(285px,34vw,460px);aspect-ratio:auto;background:var(--cream)}
.card-media.is-portrait img{object-fit:cover}
.card-media.is-object img{object-fit:contain}
.card-caption{padding-top:18px;gap:6px}
.card-kind{font-size:10px;letter-spacing:.085em;color:var(--muted)}
.card-title{gap:18px}.card-title h3{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.015em}
.card-open{color:var(--ink)}.card-open svg{width:23px;height:23px}
.archive{padding-bottom:68px}.archive-more-wrap{margin-top:48px}
.archive-more{min-width:220px;font-size:11px;text-transform:none;letter-spacing:.015em;color:var(--ink);border-color:var(--line)}
.archive-more:hover{color:var(--ink);background:var(--cream);border-color:var(--accent)}
.services{background:var(--cream);padding-top:68px;border-top:1px solid var(--line)}
.services>.section-heading{text-align:left;max-width:var(--max);margin-bottom:42px}
.services>.section-heading .overline{margin-bottom:18px}
.services-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);gap:56px;align-items:start;margin-bottom:64px}
.service-plan{margin:0;position:sticky;top:calc(var(--header) + 32px)}
.service-plan>a{display:block;overflow:hidden;background:var(--paper)}
.service-plan img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.service-plan figcaption{font-size:12px;line-height:1.8;margin-top:18px;color:var(--muted)}
.service-plan figcaption a{display:inline-flex;min-height:36px;border-bottom:1px solid var(--line)}
.service-plan figcaption a:hover{border-bottom-color:var(--accent)}
.service-stories{padding:0}
.service-story,.service-story:nth-child(even){display:block;width:100%;margin:0;padding:0;grid-template-columns:none}
.service-copy,.service-story:nth-child(even) .service-copy{padding:24px 0 28px 54px;position:relative;border-top:1px solid var(--line);max-width:none}
.service-number{position:absolute;left:0;top:30px;font-size:11px;color:var(--muted)}
.service-copy h3{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-weight:400;font-size:31px;letter-spacing:-.02em;margin:0 0 15px}
.service-copy p{font-size:15px;line-height:1.8;max-width:48ch;margin-bottom:13px}
.service-copy .text-link{font-size:12px;min-height:36px}
.process{padding-bottom:68px}.process-heading{text-align:left;font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:29px;font-weight:400;margin-bottom:32px}
.process ol{gap:30px}.process li:before{font-size:11px;margin-bottom:14px}.process li strong{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:23px;font-weight:500}.process li span{font-size:13px}
.about{padding-block:72px;gap:56px;grid-template-columns:minmax(0,1.61803398875fr) minmax(0,1fr)}
.about-copy h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:35px;font-weight:400;line-height:1.25;letter-spacing:-.035em}
.about-copy p:not(.overline){font-size:15px;line-height:1.8}
.about-visual img{object-fit:cover;aspect-ratio:4/3}
.about-visual figcaption{font-size:12px;color:var(--muted)}
.contact{background:var(--cream);color:var(--ink);padding-top:68px;padding-bottom:64px;border-top:1px solid var(--line)}
.contact .overline{color:var(--muted);text-align:left;margin-bottom:24px}
.contact h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:clamp(38px,4.6vw,62px);font-weight:300;text-align:left;max-width:none;margin:0 0 42px;letter-spacing:-.04em;line-height:1.2}
.contact-details{grid-template-columns:1.4fr 1fr 1fr;border-color:var(--line);padding-top:30px;gap:40px}
.contact-detail h3{font-size:10px;letter-spacing:.08em;color:var(--muted);margin-bottom:16px}
.contact-detail a{font-size:clamp(16px,1.5vw,21px);border-color:var(--line);padding-bottom:6px}
.contact-detail a:hover{color:var(--ink);border-bottom-color:var(--accent)}
.contact-detail p{font-size:14px;color:var(--muted)}
.site-footer{background:var(--ink);color:var(--paper);padding-top:40px;padding-bottom:30px}
.footer-brand img{filter:brightness(0) invert(1);width:108px;height:108px}
.footer-brand p{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:27px;line-height:1.35;font-weight:300}
.footer-brand p span{font-size:10px;color:#e2dfd8}
.footer-top{align-items:center;margin-bottom:30px;gap:30px}.footer-up{font-size:11px;letter-spacing:.03em}
.footer-links{display:flex;gap:28px;flex-wrap:wrap;font-size:12px;line-height:1.6}
.footer-links a{display:inline-flex;align-items:center;min-height:44px}
.footer-links a:hover{color:#ffd582}
.footer-bottom{border-color:#ffffff33;margin-top:18px;font-size:10px;letter-spacing:.02em;color:#e2dfd8}
.project-heading h1,.gallery-caption h2,.project-story-heading h2,.story-item figcaption h3,.comparison-section>h2,.comparison-title-row h3,.more-projects-header h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-weight:400;letter-spacing:-.025em}
.project-photo-frame{background:var(--cream)}
.project-neighbors{gap:36px 28px}.project-neighbors .card-media{height:auto;aspect-ratio:4/3}
.story-open{background:var(--cream)}.story-expand{background:var(--ink)}
.viewer{background:#292929}.viewer::backdrop{background:#292929}
@media(max-width:1200px){
 :root{--rail:0px;--edge:32px}
 .brand img{width:88px;height:88px}.brand-copy{font-size:14px}.brand-copy span{font-size:10px}
 .header-links{gap:20px}.hero{gap:32px}.hero-intro h1{font-size:clamp(56px,5.8vw,80px)}
 .hero-footer{gap:16px}.hero-footer-actions{gap:2px}.hero-caption h2{font-size:22px}
 .services-layout,.about{gap:40px}.contact-details{gap:28px}
}
@media(max-width:1000px){
 .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.61803398875fr);padding-top:38px;padding-bottom:46px;gap:28px}
 .hero-intro{padding-bottom:35px}.hero-intro h1{font-size:clamp(45px,6vw,60px)}.hero-intro-text{font-size:14px;line-height:1.7}
 .hero-media{aspect-ratio:4/3}.hero-footer{grid-template-columns:1fr;gap:16px}
 .hero-controls-wrap{width:100%;flex-direction:row;align-items:center;gap:20px}.hero-footer-actions{align-items:end}
 .work-heading h2{font-size:34px}.work-heading>p:not(.overline){max-width:24ch;font-size:13px}
 .services-layout{gap:32px}.service-copy h3{font-size:28px}.service-copy,.service-story:nth-child(even) .service-copy{padding-left:44px}
 .about{gap:32px}.about-copy h2{font-size:30px}
 .contact-details{grid-template-columns:1fr 1fr}.contact-detail:last-child{grid-column:1/-1}
}
@media(max-width:700px){
 :root{--edge:20px;--rail:0px;--header:84px}
 .header-inner{width:calc(100% - 40px);padding-right:58px;gap:8px}.brand{gap:11px}.brand img{width:59px;height:59px}
 .brand-copy{font-size:12px;letter-spacing:0}.brand-copy span{font-size:9px;line-height:1.4;letter-spacing:0;max-width:144px}
 .site-rail{right:12px;width:48px;height:84px}.menu-toggle{height:84px}.main-nav{padding:112px 28px 32px}
 .main-nav>a{font-size:35px}.menu-contact{font-size:13px}
 .hero{display:grid;grid-template-columns:1fr;padding-top:30px;padding-bottom:42px;gap:28px}
 .hero-intro{padding:0}.hero-intro>.overline{font-size:10px;margin-bottom:17px}.hero-intro h1{font-size:clamp(43px,12vw,68px);margin-bottom:20px;line-height:1.1}
 .hero-intro h1 span{display:inline!important}.hero-intro h1 span:last-child{display:block!important}
 .hero-intro h1:after{width:38px;height:2px;margin-top:22px}
 .hero-intro-text{font-size:15px;line-height:1.75;max-width:36ch;margin-bottom:14px}.hero-cta{font-size:13px}
 .hero-media{aspect-ratio:4/5}.hero-footer{padding-top:20px;gap:17px}.hero-caption h2{font-size:23px}.hero-caption p:not(.overline){font-size:14px;max-width:none}
 .hero-caption>.overline{font-size:10px;letter-spacing:.08em}.hero-controls-wrap{flex-direction:row;justify-content:space-between;align-items:center;gap:15px}
 .hero-controls{gap:10px}.hero-controls .icon-button{width:44px;height:44px;min-height:44px}.hero-footer-actions{gap:0}.hero-footer-actions .text-link,.photo-expand{font-size:11px;min-height:36px}
 .work-heading{display:block;padding-top:42px;padding-bottom:18px}.work-heading h2{font-size:32px}.work-heading>p:not(.overline){max-width:32ch;font-size:14px;margin:16px 0 0}
 .archive-tools{min-height:0;padding-block:10px 20px;gap:15px}.filters{gap:12px 24px}.filters button{font-size:12px}.search-field{width:100%}.search-field input{font-size:16px}
 .results{font-size:11px;margin-bottom:22px}
 .archive-grid,.archive-grid.is-packed{grid-template-columns:1fr;grid-auto-rows:auto;gap:34px}.archive-grid>.project-card:nth-child(n){grid-column:auto;grid-row:auto}
 .card-media{height:auto;aspect-ratio:4/5}.card-media.is-object{aspect-ratio:4/3}.card-media.is-portrait img{object-fit:contain}
 .card-caption{padding-top:17px;gap:7px}.card-kind{font-size:10px}.card-title h3{font-size:23px;font-weight:500}
 .archive{padding-bottom:44px}.archive-more-wrap{margin-top:34px}.archive-more{font-size:12px}
 .services{padding-top:44px}.services>.section-heading{margin-bottom:30px}.section-heading h2{font-size:33px}
 .services-layout{grid-template-columns:1fr;gap:28px;margin-bottom:36px}
 .service-plan{position:static;order:1}.service-plan img{aspect-ratio:4/3}.service-plan figcaption{font-size:12px;margin-top:16px}
 .service-stories{order:0}.service-story,.service-story:nth-child(even){width:100%;margin:0}
 .service-copy,.service-story:nth-child(even) .service-copy{padding:25px 0 25px 35px}.service-number{top:29px;font-size:11px}.service-copy h3{font-size:29px;margin:0 0 14px}
 .service-copy p{font-size:15px;line-height:1.75}.service-copy .text-link{font-size:12px}
 .process{padding-bottom:44px}.process-heading{font-size:28px;margin-bottom:27px}.process ol{gap:24px 20px}.process li strong{font-size:22px}.process li span{font-size:13px}
 .about{grid-template-columns:1fr;padding-block:44px;gap:28px}.about-copy h2{font-size:33px}.about-visual img{aspect-ratio:4/5}
 .contact{padding-top:44px;padding-bottom:48px}.contact .overline{font-size:10px;margin-bottom:20px}.contact h2{font-size:38px;margin-bottom:30px}.contact-details{grid-template-columns:1fr;gap:26px;padding-top:27px}
 .contact-detail:last-child{grid-column:auto}.contact-detail h3{font-size:10px;margin-bottom:12px}.contact-detail a{font-size:19px}.contact-detail p{font-size:14px}
 .site-footer{padding-top:34px;padding-bottom:27px}.footer-top{gap:20px;align-items:start;margin-bottom:22px}.footer-brand{flex-direction:row;gap:17px;align-items:center}
 .footer-brand img{width:76px;height:76px}.footer-brand p{font-size:21px}.footer-brand p span{font-size:9px;max-width:180px;margin-top:8px}.footer-up{max-width:none;font-size:10px;margin-left:0}
 .footer-links{gap:24px;font-size:12px}.footer-bottom{font-size:10px;gap:9px;margin-top:16px}
 .project-neighbors{grid-template-columns:1fr;gap:34px}.project-neighbors .card-media{aspect-ratio:4/5}.project-neighbors .card-media.is-object{aspect-ratio:4/3}
}
@media(max-width:380px){
 .brand img{width:53px;height:53px}.brand{gap:9px}.brand-copy{font-size:11px}.brand-copy span{max-width:124px;font-size:9px}
 .hero-intro h1{font-size:43px}.hero-controls{gap:8px}.hero-controls .icon-button{width:40px;min-width:40px}.hero-footer-actions .text-link,.photo-expand{font-size:10px}
 .process ol{grid-template-columns:1fr}.footer-brand{gap:14px}.footer-brand p{font-size:20px}
}

.hero-media.is-object img{object-fit:contain}

.card-media.is-portrait img{object-fit:contain}

/* Beige throughout; only the portfolio heading forms a charcoal band. */
:root.studio-panels{--paper:#f7f3eb;color-scheme:light}
.studio-panels .project-wall{background:var(--paper);color:var(--ink)}
.studio-panels .portfolio-intro-band{--ink:#e5e3de;--taupe:#d0cdc7;--muted:#c5c2bb;--line:#e5e3de38;background:#333333;color:var(--ink);color-scheme:dark}
.studio-panels .portfolio-intro-band .work-heading{min-height:180px}
.studio-panels .archive-tools-band .archive-tools{min-height:90px}
.studio-panels .archive-tools-band .results{padding-bottom:26px;margin-bottom:0}
.studio-panels .archive-grid{padding-top:36px}

/* The original logo and its discipline line share the left content edge. */
:root.studio-panels{--header:144px}
.studio-panels .brand{flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;width:230px}
.studio-panels .brand img{width:108px;height:108px}
.studio-panels .brand-disciplines{display:block;white-space:nowrap;text-transform:uppercase;font-size:9px;line-height:1.4;letter-spacing:.055em;color:var(--muted);font-weight:400}
@media(max-width:700px){
 :root.studio-panels{--header:124px}
 .studio-panels .brand{width:202px;gap:7px}
 .studio-panels .brand img{width:88px;height:88px}
 .studio-panels .brand-disciplines{font-size:8px;letter-spacing:.045em}
 .studio-panels .site-rail,.studio-panels .menu-toggle{height:var(--header)}
 .studio-panels .main-nav{padding-top:148px}
 .studio-panels .portfolio-intro-band .work-heading,
 .studio-panels .archive-tools-band .archive-tools{min-height:0}
 .studio-panels .archive-tools-band .results{padding-bottom:24px}
 .studio-panels .archive-grid{padding-top:28px}
}

/* The opening composition reaches the first viewport edge, with 8px reserve. */
.studio-panels .landing-intro{display:flex;flex-direction:column;min-height:calc(100svh - var(--header) + 8px)}
.studio-panels .landing-intro>.hero{flex-shrink:0}
.studio-panels .landing-intro>.portfolio-intro-band{flex-grow:1;flex-shrink:0}
.studio-panels .project-wall{border-top:0}

/* Navigation and the left discipline line meet on the same lower edge. */
.studio-panels .header-inner{align-items:flex-end;padding-bottom:8px}
.studio-panels .brand-disciplines{line-height:14px}
.studio-panels .header-links{align-self:flex-end}
.studio-panels .header-links a{position:relative;display:flex;align-items:flex-end;min-height:44px;line-height:14px;padding:0;border-bottom:0}
.studio-panels .header-links a:after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:1px;background:var(--accent);opacity:0}
.studio-panels .header-links a:hover:after,
.studio-panels .header-links a[aria-current=location]:after{opacity:1}
.studio-panels .site-rail{justify-content:flex-end;padding-bottom:8px}
.studio-panels .menu-toggle{height:44px;min-height:44px;place-items:end center;padding:0 0 3px}

/* The full-width rule separates the logo from disciplines and navigation. */
:root.studio-panels{--header-logo-height:144px;--header-menu-height:52px;--header:calc(var(--header-logo-height) + var(--header-menu-height))}
.studio-panels .site-header{border-bottom:0}
.studio-panels .header-logo-row{height:var(--header-logo-height);display:flex;align-items:center}
.studio-panels .brand{width:auto;gap:0}
.studio-panels .header-under-rule{height:var(--header-menu-height);border-top:1px solid var(--line)}
.studio-panels .header-inner{align-items:center;padding-bottom:0}
.studio-panels .header-links{align-self:center}
.studio-panels .header-links a{align-items:center}
.studio-panels .header-links a:after{bottom:2px}
.studio-panels .site-rail{top:var(--header-logo-height);height:var(--header-menu-height);justify-content:center;padding-bottom:0}
.studio-panels .menu-toggle{height:44px;min-height:44px;place-items:center;padding:0}
@media(max-width:700px){:root.studio-panels{--header-logo-height:124px}}

/* Return the grey introduction to its earlier vertical position. */
.studio-panels .hero{padding-top:22px;padding-bottom:30px}
@media(max-width:1000px){.studio-panels .hero{padding-top:12px;padding-bottom:20px}}
@media(max-width:700px){.studio-panels .hero{padding-top:12px;padding-bottom:8px}}
/* The menu toggle belongs to the logo row above the full-width rule. */
.studio-panels .site-rail{top:0;height:var(--header-logo-height)}

/* Show the complete Garderobe Döbling, including its top and plinth. */
.card-media.is-full-portrait{height:auto;aspect-ratio:var(--photo-ratio,2/3)}
.card-media.is-full-portrait img{object-fit:contain}
.project-photo-frame.is-full-portrait{width:min(calc(100% - var(--edge)*2),calc(78svh * var(--photo-ratio)));height:auto;min-height:0;aspect-ratio:var(--photo-ratio,2/3)}
.story-open.is-full-portrait{width:min(100%,calc(78svh * var(--photo-ratio)));margin-inline:auto;aspect-ratio:var(--photo-ratio,2/3);overflow:hidden}
.story-open.is-full-portrait img{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain}
@media(max-width:700px){.project-photo-frame.is-full-portrait{width:calc(100% - var(--edge)*2)}.story-open.is-full-portrait{width:100%}}

/* Optional before/after cover: complete images, with widths matched to their ratios. */
.hero-comparison{display:grid;grid-template-columns:minmax(0,var(--comparison-before-width)) minmax(0,var(--comparison-after-width));grid-template-rows:auto minmax(0,1fr);gap:12px 18px;width:100%;height:100%;min-width:0;min-height:0;align-items:center}
.hero-comparison-label{display:block;min-width:0;font-size:12px;font-weight:450;letter-spacing:.08em;line-height:1.4;text-align:left;color:var(--ink);overflow-wrap:anywhere}
.hero-comparison img,.project-card .card-media.is-comparison-hero .hero-comparison img{position:static;inset:auto;width:100%;height:100%;min-width:0;min-height:0;max-height:100%;object-fit:contain;object-position:center;transform:none;transition:none}
.card-media.is-comparison-hero .hero-comparison{padding:14px;gap:8px 12px}
.card-media.is-comparison-hero .hero-comparison-label{font-size:10px;letter-spacing:.05em}
.project-photo-frame.is-comparison-hero{height:auto;min-height:0;aspect-ratio:auto}
.project-photo-frame.is-comparison-hero .photo-open{height:auto;min-height:0}
.project-comparison{display:block;width:100%;padding:18px 18px 0}
.project-comparison .hero-comparison{height:auto;aspect-ratio:var(--comparison-ratio);max-height:75svh}
.comparison-expand{display:flex;align-items:center;justify-content:flex-end;min-height:44px;padding:10px 0;font-size:11px;letter-spacing:.03em;color:var(--muted)}
@media(max-width:700px){
 .project-comparison{padding:10px 10px 0}
 .project-comparison .hero-comparison{gap:8px 10px}
 .hero-comparison-label{font-size:10px;letter-spacing:.04em}
 .comparison-expand{font-size:10px}
 .card-media.is-comparison-hero .hero-comparison{padding:10px;gap:8px}
}

/* A portrait film complements the Close Closet photo gallery. */
.media-label,.gallery-caption .media-label,.story-item figcaption .media-label{font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500}
.project-film{padding-block:64px 16px;scroll-margin-top:24px}
.project-film-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(36px,7vw,108px);align-items:center;max-width:980px;margin-inline:auto}
.project-film-copy{max-width:430px}
.project-film-copy .overline{margin-bottom:22px}
.project-film-copy h2{font-family:Raleway,Braunsteiner,Arial,sans-serif;font-size:clamp(38px,4.5vw,60px);font-weight:400;letter-spacing:-.035em;line-height:1.1;margin:0 0 28px;color:var(--ink)}
.project-film-copy p:not(.overline){font-size:16px;line-height:1.8;color:var(--muted);margin:0;max-width:40ch}
.project-film-media{width:100%;max-width:420px;min-width:0;margin:0;justify-self:end;background:#1d1d1b}
.project-film-media video{display:block;width:100%;height:auto;aspect-ratio:9/16;object-fit:contain;background:#1d1d1b}
@media(max-width:700px){
 .project-film{padding-top:42px;padding-bottom:6px}
 .project-film-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .project-film-copy{max-width:none}
 .project-film-copy .overline{margin-bottom:16px}
 .project-film-copy h2{font-size:38px;margin-bottom:20px}
 .project-film-copy p:not(.overline){font-size:14px;max-width:44ch}
 .project-film-media{justify-self:center}
}

/* Personal portrait and warm beige footer identity. */
.site-footer,.footer-brand p span,.footer-bottom{color:var(--paper)}
.footer-brand img{filter:none}
.footer-bottom{border-color:#e5e1d933}
.about-portrait img{aspect-ratio:1;object-fit:cover;object-position:center;max-width:600px;margin-inline:auto}
.about-portrait figcaption{text-align:center}

/* Four illustrated steps of the collaboration. */
.process ol{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}
.process li{min-width:0}
.process .process-photo{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin-bottom:22px}
.process li strong{display:block;margin-bottom:10px}
@media(max-width:700px){.process ol{grid-template-columns:1fr;gap:32px}.process .process-photo{margin-bottom:18px}}

/* Keep vertical page scrolling while horizontal gestures switch projects. */
.hero-shell{touch-action:pan-y pinch-zoom}
.hero-media img{-webkit-user-drag:none;user-select:none}

.project-tour{padding-block:44px 65px}
.tour-heading{max-width:720px;margin-bottom:26px}.tour-heading h2{font-family:Raleway,Arial,sans-serif;font-size:38px;font-weight:400;margin:12px 0}.tour-heading p:not(.overline){font-size:15px;line-height:1.7}
.tour-stage{position:relative;aspect-ratio:16/10;background:var(--ink);overflow:hidden}
.tour-cover{position:absolute;inset:0}.tour-cover img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.tour-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:var(--paper);color:var(--ink);border:1px solid var(--ink);padding:19px 25px;font:inherit;font-size:15px;cursor:pointer;white-space:nowrap}
.tour-start:hover{background:var(--surface)}.tour-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.tour-footer{display:flex;justify-content:space-between;gap:20px;font-size:12px;line-height:1.5;margin-top:17px}.tour-footer a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:700px){.project-tour{padding-block:28px 40px}.tour-stage{aspect-ratio:4/5}.tour-heading h2{font-size:30px}.tour-footer{flex-direction:column;gap:10px}.tour-start{font-size:14px;padding:17px 20px}}

/* Quiet portfolio gallery, equal spacing and a soft hover veil. */
.archive-grid,.archive-grid.is-packed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:auto;gap:24px;align-items:stretch}
.archive-grid>.project-card{position:relative;grid-column:auto;grid-row:auto;min-width:0;align-self:stretch;overflow:hidden}
.archive-grid .card-media,.archive-grid .card-media.is-full-portrait{width:100%;height:auto;aspect-ratio:3/2;background:var(--paper)}
.archive-grid .card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.archive-grid .card-media.is-object img,.archive-grid .card-media.is-portrait img,.archive-grid .card-media.is-full-portrait img{object-fit:contain}
.archive-grid .card-caption{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;text-align:left;padding:25px;gap:10px;background:rgba(229,225,217,.76);color:var(--ink);opacity:0;transition:opacity .3s ease}
.archive-grid .card-caption:before{display:none}
.archive-grid .card-kind{font-size:10px;line-height:1.5;color:var(--ink);letter-spacing:.05em}
.archive-grid .card-title{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.archive-grid .card-title h3{font-family:Raleway,Arial,sans-serif;font-size:22px;line-height:1.25;font-weight:500;text-transform:none;letter-spacing:-.015em;margin:0}
.archive-grid .card-open{color:var(--ink);flex-shrink:0}
.archive-grid .project-card:focus-visible .card-caption{opacity:1}
@media(hover:hover){.archive-grid .project-card:hover .card-caption{opacity:1}.archive-grid .project-card:hover .card-media img{transform:scale(1.035)}}
@media(max-width:1050px){.archive-grid,.archive-grid.is-packed{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.archive-grid,.archive-grid.is-packed{grid-template-columns:1fr;gap:22px}.archive-grid .card-caption{opacity:1;top:auto;background:linear-gradient(transparent,rgba(229,225,217,.94) 35%);padding:35px 18px 18px;gap:6px}.archive-grid .card-title h3{font-size:23px}}
@media(hover:none){.archive-grid .card-caption{opacity:1;top:auto;background:linear-gradient(transparent,rgba(229,225,217,.94) 35%);padding:35px 18px 18px}}
@media(prefers-reduced-motion:reduce){.archive-grid .card-caption,.archive-grid .card-media img{transition:none}.archive-grid .project-card:hover .card-media img{transform:none}}

/* Varied tile sizes, consistent gutters and centered project titles. */
.archive-grid,.archive-grid.is-packed{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,15vw,210px);grid-auto-flow:row dense;gap:24px}
.archive-grid>.project-card{height:100%;grid-column:span 1;grid-row:span 1}
.archive-grid>.project-card:nth-child(8n+1),.archive-grid>.project-card:nth-child(8n+6){grid-column:span 2;grid-row:span 2}
.archive-grid>.project-card:nth-child(8n+2),.archive-grid>.project-card:nth-child(8n+5){grid-column:span 2;grid-row:span 1}
.archive-grid .card-media,.archive-grid .card-media.is-full-portrait{height:100%;aspect-ratio:auto}
.archive-grid .card-caption{align-items:center;justify-content:center;text-align:center;padding:24px;gap:12px}
.archive-grid .card-title{display:block;text-align:center}
.archive-grid .card-title h3{font-size:clamp(18px,1.7vw,25px);text-align:center}
.archive-grid .card-kind{text-align:center}
.archive-grid .card-open{position:absolute;right:18px;bottom:18px}
@media(max-width:1050px) and (min-width:701px){.archive-grid,.archive-grid.is-packed{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:190px;gap:24px}.archive-grid>.project-card:nth-child(n){grid-column:span 1;grid-row:span 1}.archive-grid>.project-card:nth-child(6n+1){grid-column:span 2;grid-row:span 2}.archive-grid>.project-card:nth-child(6n+4){grid-column:span 2;grid-row:span 1}}
@media(max-width:700px){.archive-grid,.archive-grid.is-packed{grid-template-columns:1fr;grid-auto-rows:auto;gap:22px}.archive-grid>.project-card:nth-child(n){grid-column:auto;grid-row:auto;height:auto}.archive-grid .card-media,.archive-grid .card-media.is-full-portrait{height:auto;aspect-ratio:3/2}.archive-grid .card-media.is-portrait,.archive-grid .card-media.is-full-portrait{aspect-ratio:4/5}.archive-grid .card-caption{align-items:center;justify-content:center;padding:35px 18px 18px}.archive-grid .card-title h3{font-size:23px}.archive-grid .card-open{display:none}}

/* Square gallery: large squares alternate with groups of small squares. */
.archive-grid,.archive-grid.is-packed{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:var(--gallery-square,260px);grid-auto-flow:row dense;gap:24px}
.archive-grid>.project-card:nth-child(n){height:100%;grid-column:span 1;grid-row:span 1}
.archive-grid>.project-card:nth-child(10n+1){grid-column:1 / span 2;grid-row:span 2}
.archive-grid>.project-card:nth-child(10n+6){grid-column:3 / span 2;grid-row:span 2}
.archive-grid .card-media,.archive-grid .card-media.is-full-portrait,.archive-grid .card-media.is-portrait{height:100%;aspect-ratio:auto}
@media(max-width:1050px) and (min-width:701px){.archive-grid,.archive-grid.is-packed{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-grid>.project-card:nth-child(n){grid-column:span 1;grid-row:span 1}.archive-grid>.project-card:nth-child(5n+1){grid-column:1 / span 2;grid-row:span 2}}
@media(max-width:700px){.archive-grid,.archive-grid.is-packed{grid-template-columns:1fr;gap:22px}.archive-grid>.project-card:nth-child(n){height:100%;grid-column:1;grid-row:span 1}.archive-grid .card-media,.archive-grid .card-media.is-full-portrait,.archive-grid .card-media.is-portrait{height:100%;aspect-ratio:auto}}

/* Mixed square sizes follow the original portfolio's four-column rhythm. */
.archive-grid,.archive-grid.is-packed{gap:16px}
.archive-grid>.project-card:nth-child(n){height:100%;grid-column:span 1;grid-row:span 1}
@media(max-width:700px){.archive-grid,.archive-grid.is-packed{gap:16px}.archive-grid>.project-card:nth-child(n){height:100%;grid-column:1;grid-row:span 1}}

/* Thumbnails fill their tiles; comparisons remain inside project pages. */
.project-card .card-media img,.archive-grid .card-media.is-object img,.archive-grid .card-media.is-portrait img,.archive-grid .card-media.is-full-portrait img{width:100%;height:100%;object-fit:cover}

/* A full-viewport studio film opens the portfolio. */
body.film-home{padding-top:0}
.film-hero{position:relative;display:grid;align-items:center;min-height:760px;height:100svh;overflow:hidden;background:#262925;color:#e5e1d9}
.film-hero-video,.film-hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:45% center}
.film-hero-shade{background:linear-gradient(180deg,#161c1b70 0%,#151b1938 24%,#131a1970 68%,#131a19a6 100%)}
.film-hero-copy{position:relative;z-index:1;text-align:center;padding-block:150px 110px}
.film-eyebrow{font-size:12px;letter-spacing:.17em;text-transform:uppercase;margin:0 0 28px}
.film-hero h1{font-family:Raleway,Arial,sans-serif;font-weight:300;font-size:clamp(74px,8vw,126px);letter-spacing:-.05em;line-height:1.05;margin:0 0 25px}
.film-lead{font-size:17px;letter-spacing:.02em;margin:0 0 30px}
.film-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #e5e1d985;min-height:44px;font-size:13px;letter-spacing:.03em}.film-link:hover{border-color:#e5e1d9}.film-link span{font-size:22px}
.film-hero-bottom{position:absolute;bottom:32px;left:0;right:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.04em}
.film-scroll{display:flex;gap:16px;align-items:center;min-height:44px}.film-scroll span{font-size:23px}
#brand-film-toggle{color:inherit;border:1px solid #e5e1d970;padding:9px 17px;min-height:44px;font-size:11px}
.film-follow-heading{font-family:Raleway,Arial,sans-serif;font-size:clamp(40px,4vw,62px);font-weight:300;line-height:1.12;letter-spacing:-.04em;margin:0 0 24px}
.film-home .landing-intro{padding-top:60px;min-height:0}.film-home .hero-intro{padding-bottom:0}
.film-at-top .site-header{height:112px;background:linear-gradient(180deg,#18221e70,transparent);color:#e5e1d9;transition:background .25s}
.film-at-top .header-logo-row{height:112px}.film-at-top .brand img{width:88px;height:88px}
.film-at-top .header-under-rule{position:absolute;top:34px;left:0;width:100%;height:44px;border:0;pointer-events:none}
.film-at-top .header-under-rule .header-links{margin-left:auto;pointer-events:auto}.film-at-top .brand-disciplines{display:none}
.film-at-top .header-links a:after{background:#e5e1d9}.film-at-top .site-rail{height:112px;color:#e5e1d9}
@media(max-width:700px){
 .film-hero{height:100svh;min-height:620px}.film-hero-copy{padding-block:140px 110px}
 .film-hero h1{font-size:clamp(52px,13vw,82px)}.film-eyebrow{font-size:10px;letter-spacing:.12em;margin-bottom:23px}.film-lead{font-size:14px;margin-bottom:23px}
 .film-hero-bottom{bottom:22px;font-size:10px}.film-link{font-size:12px}.film-hero-video{object-position:39% center}
 .film-at-top .site-header,.film-at-top .site-rail,.film-at-top .header-logo-row{height:100px}.film-at-top .brand img{width:72px;height:72px}
 .film-at-top .header-under-rule{display:none}.film-home .landing-intro{padding-top:28px}.film-follow-heading{font-size:40px}
}
@media(prefers-reduced-motion:reduce){.film-hero video{opacity:1}.film-at-top .site-header{transition:none}}

.film-playback-controls{display:flex;align-items:center;gap:12px}#brand-film-sound{color:inherit;font-size:11px;min-height:44px;padding:9px 12px;border-bottom:1px solid #e5e1d970}@media(max-width:420px){.film-playback-controls{gap:5px}#brand-film-toggle{padding:9px 10px}#brand-film-sound{padding:9px 5px;font-size:10px}}

@media(max-width:700px){.film-eyebrow>span:last-child{display:block;margin-top:6px}.film-eyebrow-divider{display:none}}

.project-film-media{position:relative}.project-film-load{position:absolute;inset:0;margin:auto;width:max-content;height:52px;padding:10px 22px;background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 3px 20px #0003}.legal-page{padding-block:70px 100px;max-width:860px}.legal-page h1{font-family:Raleway,sans-serif;font-size:clamp(36px,6vw,68px);font-weight:300;line-height:1.15}.legal-page h2{font-family:Raleway,sans-serif;font-weight:400;margin-top:2em}.legal-page a{text-decoration:underline;text-underline-offset:3px}.legal-page table{border-collapse:collapse;width:100%;font-size:14px}.legal-page td,.legal-page th{text-align:left;border-bottom:1px solid var(--line);padding:12px 8px;overflow-wrap:anywhere}.legal-page .table-wrap{overflow:auto}.footer-links{flex-wrap:wrap}

.footer-rights{font-size:12px;line-height:1.6;opacity:.75;margin:18px 0 0}

.admin-bar .site-header{top:32px}@media(max-width:782px){.admin-bar .site-header{top:46px}}
