@font-face{font-family:Inter;src:url('assets/inter-cyrillic.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Inter;src:url('assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#0a0a0a;--muted:#737373;--line:#e5e5e5;--gutter:6.2vw;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:#fff;color:var(--ink);font-family:Inter,Arial,sans-serif;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit;cursor:pointer}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0}
img{display:block;width:100%;height:100%;object-fit:cover}
h1,h2,h3,p{margin:0}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9a5b35;outline-offset:6px}
::selection{background:#cbb69e;color:#111}
.muted{color:var(--muted)}
.section-pad{padding-left:var(--gutter);padding-right:var(--gutter)}
.eyebrow,.tiny-index{font-size:10px;letter-spacing:.14em;font-weight:500;line-height:1.5}
.skip{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-150%);background:#fff;padding:14px}
.skip:focus{transform:none}
.header{position:fixed;z-index:30;top:16px;left:50%;transform:translateX(-50%);width:min(800px,calc(100% - 40px));height:54px;display:flex;align-items:center;justify-content:space-between;padding:8px 9px 8px 22px;border-radius:40px;background:rgba(255,255,255,.9);backdrop-filter:blur(20px);border:1px solid rgba(0,0,0,.035);box-shadow:0 3px 5px #00000009;transition:box-shadow .3s}
.header.scrolled{box-shadow:0 3px 15px #00000010}
.logo{display:inline-flex;align-items:baseline;font-size:20px;font-weight:650;letter-spacing:-1.2px;white-space:nowrap}
.logo-dot{width:4px;height:4px;background:currentColor;margin-left:3px;border-radius:50%}
.desktop-nav{display:flex;gap:5px}
.desktop-nav a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border-radius:999px;white-space:nowrap;font-size:12px;color:#666;transition:background-color .24s var(--ease),color .24s,transform .18s var(--ease)}
.desktop-nav a[aria-current="location"]{background:#eae9e5;color:#0a0a0a}
.nav-contact{padding:11px 17px;border-radius:30px;background:#0a0a0a;color:white;white-space:nowrap;font-size:11px;transition:background-color .24s,transform .18s var(--ease)}
.nav-contact span{display:inline-block;margin-left:10px;transition:transform .3s}
@media(hover:hover){
  .desktop-nav a:hover{background:#f0efec;color:#0a0a0a;transform:translateY(-1px)}
  .desktop-nav a[aria-current="location"]:hover{background:#eae9e5}
  .nav-contact:hover{background:#333;transform:translateY(-1px)}
  .nav-contact:hover span{transform:translate(2px,-2px)}
}
.desktop-nav a:active,.nav-contact:active,.menu-toggle:active{transform:scale(.96)}
.menu-toggle,.mobile-menu{display:none}
.text-link{display:inline-flex;align-items:center;gap:42px;font-size:12px;padding:14px 0 9px;border-bottom:1px solid #737373;margin-top:22px}
.text-link span{transition:transform .3s}
.text-link:hover span{transform:translate(3px,-3px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:56px}
.section-heading .eyebrow{margin-bottom:20px;color:#737373}
.section-heading h2,.faq h2{font-weight:500;font-size:clamp(30px,3vw,48px);letter-spacing:-.05em;line-height:1.15}
.section-heading>p{font-size:12px;color:#737373;line-height:1.6}
.faq{padding-top:20px;padding-bottom:120px;display:grid;grid-template-columns:1fr 1.3fr;gap:7vw}
.faq h2{font-size:34px}
.faq-list{border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line)}
summary{list-style:none;padding:24px 0;display:flex;gap:24px;justify-content:space-between;font-size:14px;cursor:pointer}
summary::-webkit-details-marker{display:none}
summary>span{font-size:19px;font-weight:300;transition:transform .3s}
details[open] summary>span{transform:rotate(45deg)}
details>div{padding:0 35px 24px 0}
details p{font-size:13px;line-height:1.8;color:#737373}
details[open]>div{animation:appear .4s var(--ease)}
.contact{padding-top:110px;padding-bottom:120px;border-top:1px solid var(--line)}
.contact>.eyebrow{color:#737373;margin-bottom:35px}
.contact h2{font-size:clamp(55px,8.2vw,128px);letter-spacing:-.065em;font-weight:500;line-height:1.04}
.contact-bottom{display:flex;justify-content:space-between;align-items:start;gap:40px;margin-top:70px}
.contact-bottom>p{font-size:15px;line-height:1.7;color:#737373}
.contact-actions{display:flex;gap:12px;flex-direction:column;width:280px}
.pill{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:17px 23px;border-radius:40px;font-size:12px;transition:background .3s,transform .3s}
.pill:hover{transform:translateY(-2px)}
.pill.dark{background:#0a0a0a;color:#fff}
.pill.dark:hover{background:#333}
.pill.outline{background:#fff;border:1px solid #ccc}
.pill.outline:hover{background:#f4f4f4}
.contact-status{color:#737373;font-size:10px;line-height:1.6;text-align:center;margin-top:4px}
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .reveal.in-view{opacity:1;transform:none}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
dialog{border:0}
dialog::backdrop{background:#000b;backdrop-filter:blur(8px)}
.lightbox{width:100vw;height:100svh;max-width:none;max-height:none;margin:0;background:#0a0a0a;color:#fff;padding:7svh 8vw;overflow:hidden}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox>img{width:100%;height:100%;object-fit:contain}
.dialog-close{position:absolute;z-index:3;top:18px;right:20px;width:36px;height:36px;border-radius:50%;background:#eee;color:#111;display:grid;place-items:center;font-size:14px}
.lightbox .dialog-close{background:#ffffff20;color:white}
.lightbox-prev,.lightbox-next{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;background:#ffffff15;color:#fff;font-size:22px}
.lightbox-prev{left:15px}
.lightbox-next{right:15px}
.contact-dialog{width:min(520px,calc(100% - 30px));padding:48px 35px 28px;border-radius:12px;color:#111;max-height:90svh;overflow:auto}
.contact-dialog>.eyebrow{font-size:9px;color:#737373}
.contact-dialog h2{font-size:32px;letter-spacing:-.05em;font-weight:500;margin-top:18px}
.contact-dialog>p{font-size:12px;line-height:1.8;color:#737373;margin-top:18px}
.contact-dialog form{margin-top:22px}
.contact-dialog label{display:block;font-size:11px;margin:16px 0 8px}
.contact-dialog select,.contact-dialog textarea{width:100%;border:1px solid #ddd;border-radius:5px;padding:12px;background:#fafafa;font-size:12px;color:#222}
.contact-dialog textarea{resize:vertical;min-height:105px}
.contact-dialog .pill{width:100%;margin-top:18px}
.form-status{font-size:11px;color:#666;line-height:1.6;min-height:20px;margin-top:12px}
@media(max-width:1000px){.desktop-nav{gap:2px}
.desktop-nav a{padding-inline:10px}
.header{width:min(760px,calc(100% - 32px))}
.faq{grid-template-columns:1fr 1.5fr;gap:6vw}
.faq h2{font-size:28px}}
@media(max-width:700px){:root{--gutter:6vw}
html{scroll-padding-top:90px}
.header{height:52px;top:12px;width:calc(100% - 28px);padding-left:18px;padding-right:6px}
.header .logo{font-size:20px}
.desktop-nav{display:none}
.nav-contact{margin-left:auto;margin-right:9px;font-size:10px;padding:10px 14px}
.nav-contact span{margin-left:5px}
.menu-toggle{display:flex;flex:0 0 44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;height:44px;padding:0;background:none;transition:transform .18s var(--ease)}
.menu-toggle span{width:21px;height:1px;background:#111;transition:transform .35s}
.menu-open .menu-toggle span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-open .menu-toggle span:last-child{transform:translateY(-3px) rotate(-45deg)}
.mobile-menu{display:flex;position:fixed;z-index:25;inset:0;background:#f7f7f5;flex-direction:column;justify-content:safe center;padding:82px 8vw 24px;gap:4px;overflow:auto;opacity:0;visibility:hidden;transform:translateY(-12px);transition:opacity .35s,transform .35s,visibility .35s}
.menu-open .mobile-menu{opacity:1;visibility:visible;transform:none}
.mobile-menu>a{min-height:50px;flex-shrink:0;font-size:clamp(24px,7vw,34px);letter-spacing:-.045em;padding:11px 16px;display:flex;align-items:center;border-radius:18px;color:#555;transition:background-color .24s,color .24s,transform .18s var(--ease)}
.mobile-menu>a[aria-current="location"]{background:#eae9e5;color:#0a0a0a}
.mobile-menu>a:active{background:#eae9e5;color:#0a0a0a;transform:scale(.98)}
.text-link{font-size:11px;margin-top:14px}
.section-heading{align-items:start;gap:25px;margin-bottom:32px}
.section-heading h2{font-size:30px}
.section-heading>p{display:none}
.section-heading .eyebrow{font-size:8px;margin-bottom:15px}
.faq{grid-template-columns:1fr;gap:30px;padding-bottom:80px}
.faq h2{font-size:30px}
summary{font-size:13px;padding:22px 0}
.contact{padding-top:70px;padding-bottom:70px}
.contact>.eyebrow{font-size:8px;margin-bottom:26px}
.contact h2{font-size:clamp(49px,12.5vw,86px)}
.contact-bottom{flex-direction:column;gap:30px;margin-top:35px}
.contact-bottom>p{font-size:13px}
.contact-actions{width:100%;max-width:380px}
.contact-status{font-size:10px}
.contact-dialog{padding:48px 24px 22px}
.contact-dialog h2{font-size:29px}
.lightbox{padding:70px 0}
.lightbox-prev,.lightbox-next{width:34px;height:34px;top:auto;bottom:16px;transform:none}
.lightbox-prev{left:calc(50% - 46px)}
.lightbox-next{right:calc(50% - 46px)}
.js .reveal{transform:translateY(15px)}}
@media(max-width:360px){.nav-contact{padding:10px;font-size:9px;margin-right:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}
.js .reveal{opacity:1;transform:none}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scroll-section{position:relative;isolation:isolate}
.scroll-stage{position:relative;overflow:hidden;width:100%}
.motion .scroll-stage{position:sticky;top:0;height:100svh}
.motion .hero{height:300svh}
.hero-copy{position:absolute;z-index:5;left:5%;right:5%;bottom:10%;text-align:center;color:#fff;opacity:var(--caption-opacity,1)}
.hero-copy p{font-size:clamp(28px,3.2vw,50px);line-height:1.2;letter-spacing:-.04em;font-weight:420}
.hero-down{display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffffff80;border-radius:50%;margin:22px auto 0;font-size:17px;transition:background .3s}
.hero-down:hover{background:#ffffff30}
.text-story{background:#fff}
.text-stage{padding:100px var(--gutter)}
.story-frames{position:relative;text-align:center;perspective:1200px}
.story-frame{font-size:clamp(38px,5.2vw,80px);font-weight:500;line-height:1.14;letter-spacing:-.055em;text-wrap:balance;max-width:1200px;margin:35px auto}
.story-detail{max-width:680px;font-size:clamp(24px,2.6vw,39px);line-height:1.4;letter-spacing:-.035em;font-weight:420}
.motion .text-story{height:340svh}
.motion .text-stage{display:grid;place-items:center;padding:100px var(--gutter)}
.motion .story-frames{width:100%;height:260px;display:grid;place-items:center}
.motion .story-frame{position:absolute;inset:auto 0;margin:0 auto;opacity:0;transform-origin:50% 60%;backface-visibility:hidden;will-change:opacity,transform;pointer-events:none}
.dark-story{background:#000;color:#fff}
.dark-story .story-detail{color:#b0b0b0}
.image-story{background:#0a0a0a;color:#fff}
.scene-photos{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:20px}
.scene-photo{height:50vw;max-height:600px;overflow:hidden}
.scene-shade{display:none}
.motion .image-story{height:650svh}
.motion .scene-photos{position:absolute;inset:0;display:block;padding:0}
.motion .scene-photo{position:absolute;inset:0;height:100%;max-height:none;opacity:0;transition:opacity .6s var(--ease);pointer-events:none}
.motion .scene-photo.is-current{opacity:1;z-index:1}
.motion .scene-photo img{transform:scale(1.025)}
.motion .scene-shade{display:block;position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#0005,#0001),linear-gradient(0deg,#0005,transparent 40%);pointer-events:none;opacity:var(--scene-shade,.7)}
.photo{display:block;padding:0;background:#222;overflow:hidden;position:relative}
.photo img{transition:filter .4s}
.photo:hover img{filter:brightness(.94)}
.scroll-gallery{background:#000;color:white}
.motion .scroll-gallery{height:820svh}
.motion .gallery-stage{display:grid;place-items:center}
.text-link{display:inline-flex;align-items:center;gap:42px;font-size:12px;padding:14px 0 9px;border-bottom:1px solid #737373;margin-top:22px}
.text-link span{transition:transform .3s}
.text-link:hover span{transform:translate(3px,-3px)}
@media(max-width:700px){.motion .hero{height:260svh}
.hero-copy{bottom:12%;left:7%;right:7%}
.hero-copy p{font-size:clamp(25px,6.6vw,36px)}
.motion .text-story{height:290svh}
.text-stage{padding:65px 7vw}
.motion .text-stage{padding:80px 7vw}
.story-frame{font-size:clamp(32px,8vw,52px);line-height:1.2;letter-spacing:-.05em}
.story-detail{font-size:24px;line-height:1.5;letter-spacing:-.035em;max-width:400px}
.motion .story-frames{height:300px}
.motion .image-story{height:560svh}
.motion .scene-photo img{object-position:50% center}
.scene-photos{grid-template-columns:1fr;padding:15px;gap:15px}
.scene-photo{height:75vw}
.motion .scroll-gallery{height:680svh}}
@media(prefers-reduced-motion:reduce){.hero-copy{opacity:1}
.scene-photo{transition:none}
.story-frame{opacity:1!important;transform:none!important}
.scroll-section{scroll-margin-top:80px}}
.hero-copy{z-index:9}
.gallery-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding:30px var(--gutter)}
.motion .gallery-stack{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;overflow:visible}
.editorial-title{font-size:clamp(50px,6.5vw,105px);line-height:1.03;letter-spacing:-.06em;font-weight:480}
.line-mask{display:block;overflow:hidden;padding:.06em 0 .12em;margin:-.06em 0 -.12em}
.line-mask>span{display:block}
.motion .line-mask>span{transform:translate3d(0,110%,0);will-change:transform}
.motion [data-scroll-row]{opacity:var(--row-progress,0);transform:translate3d(0,calc(34px * (1 - var(--row-progress,0))),0)}
.services{padding-top:150px;padding-bottom:130px}
.services>.editorial-title{font-size:clamp(58px,7.2vw,116px);margin-bottom:95px}
.service-grid{display:block}
.service{display:grid;grid-template-columns:1.2fr 1fr 62px;gap:6vw;align-items:center;min-height:210px;padding:38px 0;border-top:1px solid #d8d8d8;background:#fff;position:relative}
.service:last-child{border-bottom:1px solid #d8d8d8}
.service h3{font-size:clamp(30px,3.5vw,56px);line-height:1.1;letter-spacing:-.045em;font-weight:450}
.service p{font-size:14px;line-height:1.8;color:#737373;max-width:330px}
.service a{width:54px;height:54px;border-radius:50%;border:1px solid #bbb;display:grid;place-items:center;font-size:25px;transition:background .3s,color .3s,transform .3s}
.service a:hover{color:#fff;background:#111;transform:rotate(5deg)}
.process{display:grid;grid-template-columns:1fr 1fr;gap:9vw;padding-top:80px;padding-bottom:160px}
.process-heading{align-self:start;position:sticky;top:140px}
.process .editorial-title{font-size:clamp(45px,5.4vw,84px)}
.process-grid{display:block}
.process-grid article{display:grid;grid-template-columns:55px 1fr;gap:28px;border-top:1px solid #d8d8d8;padding:35px 0 45px}
.process-grid article>span{font-size:34px;letter-spacing:-.05em;font-weight:350}
.process h3{font-size:21px;font-weight:450;letter-spacing:-.03em;margin-bottom:13px}
.process p{font-size:13px;line-height:1.8;color:#737373;max-width:310px}
.closing{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;align-items:center;padding-top:20px;padding-bottom:160px}
.closing-image{height:580px;overflow:hidden;background:#ddd}
.closing-image img{object-position:center}
.motion .closing-image img{height:calc(100% + 100px);margin-top:-50px}
.closing .editorial-title{font-size:clamp(44px,5.25vw,82px);line-height:1.1}
.closing .text-link{margin-top:40px}
.faq{padding-top:20px;padding-bottom:145px;align-items:start}
.faq .editorial-title{font-size:clamp(46px,5vw,78px)}
.faq summary{font-size:15px;padding:29px 0}
.faq details p{font-size:14px}
.contact{padding-top:130px;padding-bottom:110px}
.contact h2.editorial-title{font-size:clamp(60px,9.5vw,150px);line-height:1.03;letter-spacing:-.065em;font-weight:470}
.contact h2 .line-mask:last-child{color:#8a8a8a}
.contact-bottom{margin-top:80px}
.contact-bottom>p{font-size:16px;line-height:1.8}
.contact-actions{width:310px}
.contact-actions .pill{padding:20px 25px;font-size:12px}
.footer{padding-top:55px;padding-bottom:25px;border-top:1px solid #ddd;overflow:hidden}
.footer-top{display:flex;align-items:start;justify-content:space-between;margin-bottom:22px}
.footer-top>p{font-size:12px;line-height:1.8;color:#737373}
.back-top{display:grid;place-items:center;width:45px;height:45px;border:1px solid #ccc;border-radius:50%;transition:background .3s}
.back-top:hover{background:#eee}
.footer-word{font-size:31vw;font-weight:650;letter-spacing:-.075em;line-height:1.05;white-space:nowrap;margin-left:-.02em}
.footer-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #ddd;padding-top:24px;font-size:10px;color:#737373;line-height:1.6}
@media(max-width:1000px){.service{gap:4vw;grid-template-columns:1.1fr 1fr 48px}
.service a{width:45px;height:45px}
.service p{font-size:13px}
.closing-image{height:480px}
.process{gap:6vw}
.process-grid article{gap:16px;grid-template-columns:45px 1fr}}
@media(max-width:700px){.gallery-stack{grid-template-columns:1fr 1fr;padding:15px;gap:10px}
.services{padding-top:90px;padding-bottom:80px}
.services>.editorial-title{font-size:clamp(44px,11.5vw,74px);margin-bottom:50px}
.service{grid-template-columns:1fr 42px;gap:20px;padding:30px 0;min-height:0}
.service h3{font-size:34px}
.service p{grid-column:1;grid-row:2;font-size:13px;max-width:100%}
.service a{grid-column:2;grid-row:1;width:40px;height:40px;font-size:22px}
.service h3 br{display:none}
.process{grid-template-columns:1fr;gap:40px;padding-top:25px;padding-bottom:85px}
.process-heading{position:static}
.process .editorial-title{font-size:48px}
.process-grid article{grid-template-columns:45px 1fr;gap:18px;padding:27px 0 32px}
.process-grid article>span{font-size:30px}
.process h3{font-size:20px}
.process p{font-size:13px;max-width:none}
.closing{grid-template-columns:1fr;gap:40px;padding-top:0;padding-bottom:95px}
.closing-image{height:440px}
.closing .editorial-title{font-size:clamp(44px,11vw,68px)}
.closing .text-link{margin-top:25px}
.faq{padding-bottom:90px}
.faq .editorial-title{font-size:46px}
.faq summary{font-size:13px;padding:23px 0}
.faq details p{font-size:13px}
.contact{padding-top:85px;padding-bottom:75px}
.contact h2.editorial-title{font-size:clamp(48px,12.4vw,82px)}
.contact-bottom{margin-top:45px}
.contact-bottom>p{font-size:14px}
.contact-actions{width:100%;max-width:400px}
.contact-actions .pill{padding:18px 23px}
.footer{padding-top:35px}
.footer-top{margin-bottom:35px}
.footer-top>p{font-size:10px}
.back-top{width:36px;height:36px}
.footer-word{font-size:31vw}
.footer-bottom{font-size:8px}}
@media(max-width:360px){.services>.editorial-title{font-size:40px}
.service h3{font-size:30px}
.process .editorial-title{font-size:43px}
.closing-image{height:360px}
.closing .editorial-title{font-size:40px}
.footer-word{font-size:30.5vw}}
@media(prefers-reduced-motion:reduce){.line-mask>span{transform:none!important;opacity:1!important}
[data-scroll-row]{opacity:1!important;transform:none!important}
.closing-image img{transform:none!important}}

/* Four details close over a full-size, full-height photograph like curtains. */
.hero-stage{height:100svh;min-height:0;background:#fff;contain:layout paint}
.hero-main{position:absolute;z-index:1;inset:0;overflow:hidden;background:#fff;clip-path:inset(0 var(--hero-clip,0px));transform:translate3d(0,var(--hero-rise,0px),0)}
.hero-main img{position:absolute;left:50%;bottom:0;width:max(100%,133.333333svh);height:auto;aspect-ratio:4/3;max-width:none;transform:translate(-50%,var(--hero-photo-offset,0px)) scale(var(--hero-photo-scale,1));transform-origin:50% 100%}
.hero-shade{position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#0009);opacity:var(--caption-opacity,1)}
.hero-curtain{display:none;position:absolute;z-index:3;top:0;width:27%;height:100%;gap:var(--hero-gap,0px);background:#fff;visibility:hidden;will-change:transform}
.motion .hero-curtain{display:flex}
.hero-curtain-left{left:0;transform:translate3d(-100%,0,0)}
.hero-curtain-right{right:0;transform:translate3d(100%,0,0)}
.hero-side{flex:1;min-width:0;min-height:0;overflow:hidden;background:#bb884b}
.hero-side img{object-fit:cover}
/* One architectural study, explored through perspectives, plans and large details. */
.sketches{padding-top:65px;padding-bottom:125px;background:#fff}
.sketch-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(5,clamp(160px,17vw,280px));gap:16px}
.sketch{overflow:hidden;background:#fff;border:1px solid #ededeb}
.sketch img{object-fit:cover;mix-blend-mode:multiply;transition:transform .7s var(--ease)}
.sketch:hover img{transform:scale(1.025)}
.sketch:nth-child(1){grid-column:1;grid-row:1/3}
.sketch:nth-child(2){grid-column:2;grid-row:1}
.sketch:nth-child(3){grid-column:3;grid-row:1}
.sketch:nth-child(4){grid-column:2;grid-row:2/4}
.sketch:nth-child(5){grid-column:3;grid-row:2/4}
.sketch:nth-child(6){grid-column:1;grid-row:3}
.sketch:nth-child(7){grid-column:1/3;grid-row:4/6}
.sketch:nth-child(8){grid-column:3;grid-row:4/6}
/* The same phase controls both sides of each photograph / sentence pair. */
.scene-words{padding:50px var(--gutter)}
.scene-words .story-frame{font-size:clamp(44px,5.7vw,88px)}
.motion .scene-words{position:absolute;z-index:3;inset:0;display:grid;place-items:center;width:auto;height:100%;padding:100px var(--gutter);pointer-events:none}
.motion .scene-words .story-frame{opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.motion .scene-words .story-frame.is-current{opacity:1;transform:translate3d(0,0,0)}
.motion .scene-shade{opacity:.65}
/* All gallery cards share a single 4:3 window and exactly the same resting position. */
.gallery-frame{aspect-ratio:4/3;height:auto;background:#000}
.gallery-frame img{object-fit:cover}
.motion .gallery-frame{position:absolute;inset:auto;left:50%;top:50%;width:min(86vw,98.666667svh);height:min(74svh,64.5vw);opacity:1;transform:translate(-50%,-50%) translate3d(0,112svh,0);transition:none;pointer-events:none;cursor:zoom-in}
.motion .gallery-frame:first-child{transform:translate(-50%,-50%)}
.motion .gallery-frame.is-current{pointer-events:auto}
@media(max-width:700px){
  .hero-curtain{width:21%;flex-direction:column}
  .sketches{padding-top:30px;padding-bottom:75px}
  .sketch-grid{grid-template-columns:1fr 1fr;grid-template-rows:260px 160px 160px 160px 170px 240px 220px;gap:10px}
  .sketch:nth-child(1){grid-column:1/3;grid-row:1}
  .sketch:nth-child(2){grid-column:1;grid-row:2}
  .sketch:nth-child(3){grid-column:2;grid-row:2}
  .sketch:nth-child(4){grid-column:1;grid-row:3/5}
  .sketch:nth-child(5){grid-column:2;grid-row:3/5}
  .sketch:nth-child(6){grid-column:1/3;grid-row:5}
  .sketch:nth-child(7){grid-column:1/3;grid-row:6}
  .sketch:nth-child(8){grid-column:1/3;grid-row:7}
  .scene-words .story-frame{font-size:clamp(36px,8.8vw,60px)}
  .motion .gallery-frame{width:min(94vw,101.333333svh);height:min(76svh,70.5vw)}
}
@media(prefers-reduced-motion:reduce){.scene-words .story-frame{transition:none}.gallery-frame{transform:none!important;opacity:1!important;box-shadow:none!important}.sketch img{transition:none}}
