:root{--ink:#252520;--paper:#f7f5f0;--muted:#8a887e;--line:#dcd9d0;--accent:#bca98b;--gutter:clamp(24px,6.5vw,112px)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a,summary{touch-action:manipulation}button{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #a79069;outline-offset:6px}svg{width:22px;height:22px;flex:none}img{display:block;max-width:100%}.symbol-bank{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:white;color:black;padding:16px}.skip-link:focus{top:20px}.hero{height:min(1000px,96svh);min-height:700px;position:relative;overflow:hidden;background:#302f27;color:#fff;border-radius:0 0 28px 28px}.hero-media,.hero-media picture,.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-image{object-fit:cover;object-position:50% 47%}.hero-image{animation:photo-drift 30s ease-in-out infinite alternate;transform-origin:48% 52%;will-change:transform;backface-visibility:hidden}.hero-shade{background:linear-gradient(90deg,rgba(12,13,11,.42),transparent 65%),linear-gradient(0deg,rgba(9,11,8,.77),rgba(10,11,9,.04) 62%,rgba(8,10,8,.38));pointer-events:none}.header{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:26px;padding:25px 3.5vw;border-bottom:1px solid #ffffff21}.brand{position:relative;display:block;width:184px;height:49px;overflow:hidden;flex:none}.brand img{position:absolute;width:119.68%;max-width:none;height:auto;left:-6.738%;top:-146.586%;mix-blend-mode:multiply}.brand-light img{filter:invert(1);mix-blend-mode:screen}.nav{display:flex;gap:30px;font-size:13px}.nav a{transition:opacity .2s}.nav a:hover{opacity:.65}.header-contacts{display:flex;align-items:center;gap:12px}.phone{font-size:13px;margin-right:10px;white-space:nowrap}.social{display:grid;place-items:center;border:1px solid #ffffff45;border-radius:50%;width:38px;height:38px;transition:background .2s,transform .2s}.social:hover{background:#ffffff20;transform:translateY(-2px)}.social svg{width:17px;height:17px}.social .avito-icon{width:24px;height:24px}.social.telegram svg{width:15px;margin-left:-1px}.hero-content{position:absolute;z-index:2;left:var(--gutter);bottom:134px;max-width:950px}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:2.2px;line-height:1.7;margin:0 0 24px}.tiny-line{width:31px;height:1px;background:currentColor}.hero h1{font-size:clamp(42px,5.3vw,82px);line-height:1.06;letter-spacing:-3px;font-weight:400;margin:0 0 24px}.hero h1 span{color:#e7e1d5}.hero-description{font-size:14px;line-height:1.75;color:#f1eee7;margin:0 0 28px}.hero-actions{display:flex;align-items:center;gap:36px}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;min-height:52px;padding:17px 23px;border:0;font-size:13px;line-height:1.4;transition:background .2s,transform .2s;border-radius:2px}.button:hover{transform:translateY(-2px)}.button svg{width:21px;height:21px}.button-light{background:#f6f3e9;color:#22251c}.button-light:hover{background:#fff}.button-dark{background:#252820;color:white}.text-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;line-height:1.6;border-bottom:1px solid #ffffff55;padding:6px 0}.text-link:hover{border-color:currentColor}.text-link>span{font-size:22px}.hero-bottom{position:absolute;bottom:30px;left:var(--gutter);right:var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:10px;letter-spacing:.3px;color:#ffffffb0;z-index:2}.motion-toggle{background:transparent;border:0;padding:9px 0;display:flex;align-items:center;gap:10px;font-size:10px;color:#ffffffc2}.motion-symbol{font-size:15px;line-height:20px;min-width:18px}.scroll-cue{display:flex;align-items:center;gap:22px}.scroll-cue span{font-size:22px}.menu-toggle{display:none}.mobile-menu[hidden]{display:none}.service-strip{display:flex;justify-content:space-between;gap:20px;padding:31px var(--gutter);font-size:11px;border-bottom:1px solid var(--line)}.service-strip span{display:flex;align-items:center;gap:12px;line-height:1.5}.service-strip span:before{content:'+';color:#a7987b;font-size:17px}.section{padding:105px var(--gutter)}.section-top{display:flex;align-items:start;justify-content:space-between}.dark-eyebrow{color:#7b786c}.section-aside{font-size:12px;line-height:1.7;color:#79776e;margin:0}.title-row{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-top:14px}.title-row>p{font-size:12px;line-height:1.8;color:#79776e;padding-bottom:5px}h2{font-size:clamp(32px,4vw,59px);font-weight:400;letter-spacing:-1.9px;line-height:1.12;margin:0}.muted{color:#959184}.filters{display:flex;gap:10px;margin:40px 0 30px;overflow-x:auto;padding:5px 0 9px}.filter{border:1px solid transparent;background:transparent;padding:12px 18px;font-size:12px;border-radius:2px;white-space:nowrap;min-height:42px}.filter.active{border-color:#bcb7ab}.filter:hover{background:#eae7df}.filter sup{font-size:9px;margin-left:5px}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 28px}.work-card{padding:0;border:0;background:none;text-align:left;display:block;width:100%}.work-card[hidden]{display:none}.work-card .image-wrap{height:clamp(260px,31vw,480px);overflow:hidden;position:relative;background:#e8e5dd}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.65,.3,1),filter .5s;filter:saturate(.88)}.work-card:hover img{transform:scale(1.035);filter:saturate(1)}.work-card:nth-child(3) img,.work-card:nth-child(4) img,.work-card:nth-child(6) img{object-position:center 45%}.card-open{position:absolute;bottom:18px;right:18px;width:40px;height:40px;border-radius:50%;background:#f5f3ebec;color:#24271f;display:grid;place-items:center;transition:transform .2s}.work-card:hover .card-open{transform:rotate(-35deg)}.card-caption{display:flex;justify-content:space-between;align-items:start;gap:12px;padding-top:18px}.card-caption h3{font-size:17px;font-weight:400;margin:0 0 7px;letter-spacing:-.2px}.card-caption p{font-size:11px;color:#827f74;margin:0;line-height:1.5}.card-number{font-size:10px;color:#8e8b7e;padding-top:3px}.gallery-note{margin:36px 0 0;color:#817d73;font-size:12px;line-height:1.8;max-width:620px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center;background:#eae6dc;padding-top:80px;padding-bottom:80px}.approach-image{height:640px;position:relative;overflow:hidden}.approach-image img{width:100%;height:100%;object-fit:cover;object-position:center 52%}.approach-image:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#0008)}.approach-image>span{position:absolute;bottom:28px;left:28px;right:24px;color:#fff;font-size:12px;z-index:1}.approach-content h2{font-size:clamp(34px,3.5vw,53px);margin:26px 0}.approach-content p{font-size:13px;color:#6d6b61;line-height:1.95;max-width:440px}.approach-content .eyebrow{font-size:10px}.approach-content .lead{font-size:18px;color:#393a30;line-height:1.6;margin:25px 0}.approach-content .ink{margin-top:26px;color:var(--ink);border-color:#989488}.process h2{margin:18px 0 52px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.steps article{border-top:1px solid #c9c4b7;padding-top:23px}.step-number{font-size:11px;color:#949080}.steps h3{font-size:18px;font-weight:400;line-height:1.4;margin:40px 0 15px;letter-spacing:-.2px}.steps p{font-size:12px;line-height:1.85;color:#767267;margin:0}.faq-section{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:35px;padding-bottom:120px}.faq-section h2{font-size:clamp(31px,3.2vw,48px);margin:25px 0}.faq-intro{font-size:13px;line-height:1.8;color:#807b70}.faq details{border-bottom:1px solid #d2cdc1}.faq details:first-child{border-top:1px solid #d2cdc1}.faq summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:24px 0;list-style:none;font-size:14px;cursor:pointer;line-height:1.5}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:22px;font-weight:300;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{font-size:12px;line-height:1.9;color:#716c60;margin:0 26px 25px 0}.contact-section{position:relative;overflow:hidden;background:#25271f;color:#fff;padding-top:90px;padding-bottom:100px}.contact-bg{position:absolute;inset:0;background:linear-gradient(90deg,#25271f 7%,#25271fcc 55%,#25271f22),url('assets/work-01.webp') center 52%/cover no-repeat;opacity:.55}.contact-inner{position:relative}.contact-section h2{font-size:clamp(46px,6vw,90px);line-height:1.02;letter-spacing:-3px;margin:28px 0}.contact-section p:not(.eyebrow){font-size:14px;line-height:1.8;color:#deded4;margin:0 0 32px}.contact-links{margin-top:48px;display:flex;align-items:center;gap:42px;flex-wrap:wrap}.contact-links a{display:inline-flex;align-items:center;gap:12px;font-size:14px}.contact-links a:first-child{font-size:20px;letter-spacing:-.4px}.contact-links svg{width:26px;height:26px}.footer{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px var(--gutter);font-size:10px;color:#79776d}.footer .brand{width:162px;height:43px}.footer>span{line-height:1.8}.footer small{font-size:10px}.project-dialog{width:min(1120px,94vw);max-height:92svh;padding:0;border:0;border-radius:3px;background:var(--paper);color:var(--ink);overflow:auto;box-shadow:0 30px 90px #0005}.project-dialog::backdrop{background:#11130fe6}.project-dialog[open]{display:grid;grid-template-columns:1.25fr 1fr}.dialog-media{background:#22251f;position:relative;min-height:580px;display:flex;align-items:center;justify-content:center}.dialog-media img{width:100%;height:100%;max-height:88svh;object-fit:contain}.dialog-content{padding:70px 35px 50px;align-self:center}.dialog-content h2{font-size:34px;letter-spacing:-1px;margin:20px 0}.dialog-content>p:not(.eyebrow){font-size:13px;line-height:1.8}.dialog-content .credits{font-size:10px!important;color:#8a8578;margin:27px 0}.dialog-content .button{font-size:11px;gap:14px}.dialog-close{position:absolute;z-index:3;right:13px;top:13px;display:grid;place-items:center;border:1px solid #d4d0c7;background:var(--paper);border-radius:50%;width:40px;height:40px}.gallery-prev,.gallery-next{position:absolute;bottom:20px;background:#f7f5f0e8;border:0;width:40px;height:40px;border-radius:50%;font-size:18px}.gallery-prev{left:20px}.gallery-next{right:20px}body.dialog-open{overflow:hidden}.paused .hero-image,.motion-suspended .hero-image{animation-play-state:paused}.mobile-menu{position:absolute;z-index:5;top:89px;left:14px;right:14px;display:flex;flex-direction:column;background:#f7f5f0;color:var(--ink);padding:22px;box-shadow:0 12px 25px #0004;border-radius:3px}.mobile-menu a{padding:13px 0;font-size:16px}.mobile-menu a:last-child{border-top:1px solid var(--line);margin-top:10px;font-size:13px}.menu-toggle span{display:block;height:1px;background:white;width:23px;margin:6px 0}
@keyframes photo-drift{from{transform:translate3d(0,0,0) scale(1.015)}to{transform:translate3d(0,0,0) scale(1.055)}}
@media(min-width:1700px){.hero-content{bottom:145px}.hero h1{font-size:86px}}
@media(max-width:1100px){.nav{gap:20px;font-size:12px}.phone{display:none}.header{gap:20px}.brand{width:167px;height:45px}.hero h1{font-size:62px}.hero-content{bottom:125px}.service-strip{display:grid;grid-template-columns:1fr 1fr;row-gap:20px}.approach{gap:6%}.approach-image{height:580px}.title-row>p br{display:none}.title-row>p{max-width:230px}.steps{gap:22px}.hero-note{display:none}.hero-bottom .motion-toggle{margin-right:auto}}
@media(max-width:760px){:root{--gutter:24px}.header{padding:21px 24px;gap:15px}.brand{width:151px;height:41px}.nav{display:none}.header-contacts{margin-left:auto;gap:8px}.social{width:34px;height:34px}.menu-toggle{display:block;width:30px;padding:0;background:transparent;border:0;flex:none}.hero{height:92svh;min-height:720px;max-height:880px;border-radius:0 0 20px 20px}.hero-image{object-position:51% 40%}.hero-shade{background:linear-gradient(0deg,rgba(10,12,8,.91) 0%,rgba(11,12,9,.63) 36%,rgba(10,11,8,.03) 73%,rgba(9,10,8,.35))}.hero-content{left:24px;right:24px;bottom:104px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px;gap:9px;margin-bottom:18px}.tiny-line{width:20px}.hero h1{font-size:clamp(35px,7.8vw,55px);letter-spacing:-1.7px;line-height:1.1;margin-bottom:19px}.hero-description{font-size:12px;line-height:1.75;margin-bottom:24px}.hero-actions{gap:22px;flex-wrap:wrap}.hero-actions .button{font-size:12px;padding:16px 20px;min-height:50px}.hero-actions .text-link{font-size:11px;gap:14px}.hero-bottom{bottom:26px;left:24px;right:24px}.hero-bottom .scroll-cue{font-size:8px;gap:13px}.motion-toggle{font-size:9px}.service-strip{gap:20px 12px;padding:24px;font-size:10px}.service-strip span{gap:8px}.section{padding:65px 24px}.section-top .section-aside{display:none}.eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:20px}.title-row{display:block;margin-top:10px}.title-row>p{max-width:none;margin-top:23px;font-size:12px}.title-row>p br{display:none}h2{font-size:38px;letter-spacing:-1.5px}.filters{margin:25px -24px 22px;padding:6px 24px 11px;gap:4px}.filter{font-size:11px;padding:11px 14px}.work-grid{gap:30px 16px}.work-card .image-wrap{height:310px}.work-card:first-child,.work-card:nth-child(2),.work-card:nth-child(5){grid-column:1/-1}.work-card:nth-child(3) .image-wrap,.work-card:nth-child(4) .image-wrap,.work-card:nth-child(6) .image-wrap{height:250px}.work-card:nth-child(6){grid-column:1/-1}.work-card:nth-child(6) .image-wrap{height:410px}.card-caption h3{font-size:15px}.card-caption p{font-size:10px}.card-open{width:34px;height:34px;bottom:14px;right:14px}.card-number{display:none}.gallery-note{font-size:11px;margin-top:30px}.approach{grid-template-columns:1fr;gap:38px}.approach-image{height:460px}.approach-content h2{font-size:38px}.approach-content p{max-width:none}.approach-content .lead{font-size:17px}.approach-content .ink{margin-top:13px}.steps{grid-template-columns:1fr 1fr;gap:35px 22px}.steps h3{margin-top:25px;font-size:17px}.steps p{font-size:11px}.process h2{font-size:36px;margin-bottom:35px}.faq-section{grid-template-columns:1fr;gap:28px;padding-top:5px}.faq-section h2{font-size:34px;margin:20px 0}.faq-intro{display:none}.faq summary{padding:21px 0;font-size:13px}.faq details p{font-size:12px}.contact-section{padding-top:62px;padding-bottom:62px}.contact-section h2{font-size:64px;letter-spacing:-2px;margin:23px 0}.contact-bg{background:linear-gradient(90deg,#25271fec,#25271f80),url('assets/work-01.webp') 58% center/cover;opacity:.55}.contact-section p:not(.eyebrow){font-size:12px}.contact-links{gap:23px;margin-top:30px;flex-direction:column;align-items:start}.contact-links a:first-child{font-size:20px}.contact-links a{font-size:12px}.footer{display:grid;grid-template-columns:1fr 1fr;gap:25px 18px;padding:30px 24px}.footer .brand{width:144px;height:38px}.footer>span{font-size:9px}.footer>a:not(.brand){justify-self:start}.footer small{justify-self:end}.project-dialog[open]{display:block}.project-dialog{max-height:94svh}.dialog-media{min-height:0;height:50svh}.dialog-media img{height:100%}.dialog-content{padding:30px 24px}.dialog-content h2{font-size:28px}.dialog-content .eyebrow{margin-bottom:14px}.dialog-content .credits{margin:18px 0}.dialog-close{position:fixed;right:6vw;top:5svh}.dialog-content .button{width:100%}}
@media(max-width:380px){.header{padding-left:18px;padding-right:18px;gap:9px}.brand{width:132px;height:35px}.header-contacts{gap:6px}.social{width:30px;height:30px}.hero-content{left:20px;right:20px}.hero h1{font-size:34px}.hero-actions{gap:16px}.hero-actions .text-link{font-size:10px}.hero-actions .button{font-size:11px;padding:15px;gap:14px}.hero{min-height:740px}.service-strip{font-size:9px}.steps{grid-template-columns:1fr}.work-card .image-wrap{height:260px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-image{animation:none!important}*,*:before,*:after{transition:none!important}}
/* Blend the logo container with the photograph while retaining the supplied artwork. */
.brand-light{mix-blend-mode:screen}.brand-light img{mix-blend-mode:normal}

.brand-light{mix-blend-mode:normal}.brand-light img{filter:url(#logo-white);mix-blend-mode:normal}

.motion-toggle[hidden]{display:none}

/* Expanded portfolio. Filters count photographs, not separate commissions. */
.portfolio-types{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-top:38px}
.portfolio-type{border:0;border-bottom:2px solid transparent;background:none;padding:18px 0;color:#827e72;font-size:15px;text-align:left;display:flex;gap:14px;align-items:baseline}
.portfolio-type.active{color:var(--ink);border-bottom-color:var(--ink)}
.portfolio-type span{font-size:10px;color:#8b8679;white-space:nowrap}
.portfolio-intro{color:#817d73;font-size:12px;line-height:1.7;margin:20px 0 0;min-height:21px}
.filters{margin-top:20px}
.gallery-footer{display:flex;align-items:center;justify-content:space-between;margin-top:36px;gap:24px}
.gallery-status{font-size:11px;color:#827d70;line-height:1.5;margin:0}
.button-outline{border:1px solid #bcb7ab;background:transparent;min-width:180px}
.button-outline:hover{background:#eae7df}
#show-more[hidden]{display:none}
.work-card .image-wrap{height:auto;aspect-ratio:4/3}
.work-card img{object-position:center 45%}
.render-tag{position:absolute;top:16px;left:16px;background:#f7f5f0ed;color:#575548;padding:8px 10px;font-size:9px;letter-spacing:.3px}
.dialog-content .dialog-position{font-size:10px;color:#8a8578;margin:0 0 20px}
@media(max-width:760px){
 .portfolio-types{gap:22px;margin-top:26px}
 .portfolio-type{font-size:13px;display:block;line-height:1.5;padding:14px 0}
 .portfolio-type span{display:block;font-size:9px;margin-top:5px}
 .portfolio-intro{font-size:11px;margin-top:17px}
 .work-grid{grid-template-columns:1fr;gap:32px}
 .work-card .image-wrap,.work-card:nth-child(3) .image-wrap,.work-card:nth-child(4) .image-wrap,.work-card:nth-child(6) .image-wrap{height:auto;aspect-ratio:3/2}
 .work-card[data-orientation="portrait"] .image-wrap{aspect-ratio:4/5}
 .gallery-footer{align-items:start;flex-direction:column;gap:18px;margin-top:28px}
 .button-outline{width:100%}
}

.work-section .section-aside{max-width:240px}.work-section .title-row>p{max-width:290px}

.project-picker{display:flex;align-items:center;gap:20px;margin-top:24px;font-size:12px;color:#746f62}
.project-picker select{font:inherit;color:var(--ink);padding:13px 38px 13px 15px;background:transparent;border:1px solid #bcb7ab;border-radius:2px;min-width:280px;max-width:100%}
.project-picker select:focus-visible{outline:2px solid #a79069;outline-offset:4px}
.card-project{display:block;font-size:9px;line-height:1.5;letter-spacing:.5px;text-transform:uppercase;color:#8b8476;margin:0 0 9px}
.filter:disabled{opacity:.35;cursor:default}
.dialog-project{display:block;background:none;border:0;border-bottom:1px solid #bcb7ab;text-align:left;padding:10px 0;margin:0 0 25px;font-size:12px;line-height:1.6}
@media(max-width:760px){.portfolio-types{gap:20px;overflow-x:auto}.portfolio-type{flex:none;font-size:12px}.project-picker{align-items:stretch;flex-direction:column;gap:10px;font-size:11px}.project-picker select{width:100%;min-width:0}.card-project{font-size:8px}}

.portfolio-type:disabled{opacity:.35;cursor:default}.filters,.portfolio-types{scrollbar-width:none}.filters::-webkit-scrollbar,.portfolio-types::-webkit-scrollbar{display:none}

/* Camera movement is controlled by door-motion.js, with a static poster fallback. */
.hero-image{animation:none!important;transform:none;will-change:auto}

.motion-toggle:disabled{opacity:.45;cursor:default}

/* Independent navigation and graceful gallery loading. */
@media(min-width:761px){.mobile-menu{display:none!important}}
.gallery-message{grid-column:1/-1;font-size:14px;line-height:1.8;padding:28px;border:1px solid var(--line)}
.gallery-message a{border-bottom:1px solid currentColor}
.gallery-message .button{margin:12px 20px 0 0}
.not-found-content{max-width:940px;margin:auto;padding:60px var(--gutter)}
.not-found-content .brand{margin-bottom:100px}
.not-found-content h1{font-size:clamp(34px,5vw,64px);font-weight:400;letter-spacing:-1.5px;line-height:1.15;margin:0 0 28px}
.not-found-content>p:not(.eyebrow){max-width:480px;line-height:1.8;color:#79776e}
.not-found-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:32px}
@media(max-width:760px){.not-found-content{padding:32px 24px}.not-found-content .brand{margin-bottom:75px}}
