@font-face{font-family:Manrope;src:url('/fonts/manrope-cyrillic-wght-normal.woff2');font-weight:200 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;src:url('/fonts/manrope-latin-wght-normal.woff2');font-weight:200 800;font-display:swap}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:68px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 Manrope,Arial,sans-serif;--bg:#f5f2ec;--ink:#282824;--muted:#67645d;--accent:#715b44;--line:#d1ccc1;--serif:Georgia,'Times New Roman',serif;--gutter:clamp(24px,5vw,84px)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}img{display:block;max-width:100%;height:auto}figure{margin:0}p{margin:0 0 20px}h1,h2,h3{font-weight:400;line-height:1.07;margin:0;letter-spacing:-.04em}h1{font-size:clamp(52px,6vw,94px)}h2{font-size:clamp(36px,4.4vw,66px)}h3{font-size:26px}em{font-weight:400}small,.small{font-size:11px;letter-spacing:.02em}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:.16em;font-weight:600;line-height:1.6;margin:0 0 30px}.concept-bar{height:40px;display:flex;align-items:center;justify-content:space-between;background:#e9e6df;color:#393732;padding:0 var(--gutter);font-size:10px;letter-spacing:.04em;border-bottom:1px solid #d1ccc1}.concept-bar nav{display:flex;gap:20px}.concept-bar [aria-current]{text-decoration:underline;text-underline-offset:4px}.header{height:108px;margin:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:19px;line-height:1.2;letter-spacing:-.03em}.brand span{display:block;letter-spacing:.1em;font-size:9px;text-transform:uppercase;margin-top:8px}.header nav{display:flex;gap:32px;font-size:12px}.header-cta{font-size:12px;border-bottom:1px solid var(--ink);padding:8px 0;display:flex;gap:24px}.header a:hover,.text-link:hover{color:var(--accent)}.hero{position:relative}.hero-description{max-width:340px;line-height:1.8;color:var(--muted)}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:38px;border-bottom:1px solid;padding:12px 0;font-size:12px;line-height:1.4}.text-link span{font-size:21px}.section{margin:0 var(--gutter);padding:110px 0;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:32px;align-items:start;margin-bottom:55px}.section-head h2{font-size:clamp(34px,3.6vw,56px)}.section-head>p:last-child{font-size:13px;color:var(--muted);max-width:300px;margin-top:5px}.section-head .eyebrow{margin-top:8px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.project-image{display:block;position:relative;width:100%;border:0;background:none;padding:0;text-align:left;overflow:hidden}.project-image img{width:100%;aspect-ratio:1.2;object-fit:cover;transition:transform .6s}.project-image:hover img{transform:scale(1.025)}.image-action{position:absolute;right:16px;bottom:16px;background:var(--bg);color:var(--ink);padding:10px 14px;font-size:11px}.project-caption{display:flex;justify-content:space-between;gap:20px;margin-top:22px;align-items:center}.project-caption h3{margin-top:10px}.project>p{font-size:12px;color:var(--muted);margin-top:15px}.approach{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw}.approach-image img{width:100%;aspect-ratio:.9;object-fit:cover}.approach h2{margin-bottom:35px}.approach-copy>p:not(.eyebrow){max-width:430px;font-size:14px;color:var(--muted)}.drawing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 22px}.drawing-card{padding:0;border:0;background:transparent;text-align:left}.drawing-card>div{background:white;padding:12px;border:1px solid var(--line);transition:box-shadow .25s}.drawing-card img{width:100%;height:auto;object-fit:contain}.drawing-card:hover>div{box-shadow:0 7px 25px #00000012}.drawing-caption{display:flex;gap:20px;justify-content:space-between;margin-top:16px;font-size:13px}.drawing-caption b{font-weight:500}.drawing-caption small{display:block;color:var(--muted);margin-top:6px;line-height:1.5;font-size:11px}.drawing-foot{display:flex;justify-content:space-between;align-items:center;margin-top:40px;gap:20px;font-size:11px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.steps article{border-top:1px solid var(--line);padding-top:22px}.step-num{font-size:12px;color:var(--accent)}.steps h3{font-size:21px;margin:30px 0 18px}.steps p{color:var(--muted);font-size:13px;max-width:240px}.contact{padding:90px 0 70px}.contact h2{font-size:clamp(65px,8.5vw,132px)}.contact-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:50px}.contact-bottom p{font-size:14px}.contact-action{border-bottom:1px solid var(--ink);padding:16px 0;display:flex;justify-content:space-between;gap:70px;font-size:17px}.contact-action span{font-size:30px}footer{margin:0 var(--gutter);border-top:1px solid var(--line);padding:26px 0 34px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}

.gallery{--bg:#171918;--ink:#eeeae3;--muted:#b3b5ae;--line:#414540;--accent:#c6b48f}.gallery .concept-bar{background:#242724;color:#deded8;border-color:#414540}.gallery .header{position:absolute;top:40px;left:0;right:0;z-index:2;border-color:#ffffff45;color:white;height:95px}.gallery .header-cta{border-color:#fff}.gallery .hero{height:min(890px,calc(100svh - 40px));min-height:650px;background:#373b38}.gallery .hero-background{width:100%;height:100%;object-fit:cover;object-position:center 55%}.gallery .hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#000b 0%,#0005 50%,#0001),linear-gradient(0deg,#0009,transparent 25%)}.gallery .hero-copy{position:absolute;z-index:1;left:var(--gutter);top:29%;color:#fff}.gallery h1{font-size:clamp(74px,8.2vw,126px);font-weight:300;line-height:1.03}.gallery h1 em{font-family:var(--serif);color:#ddd0b7}.outline-link{display:flex;align-items:center;justify-content:space-between;border:1px solid #ffffff80;max-width:260px;padding:14px 20px;margin-top:42px;font-size:12px}.hero-bottom{position:absolute;bottom:28px;left:var(--gutter);right:var(--gutter);z-index:1;display:flex;justify-content:space-between;color:white;font-size:10px}.gallery .projects{border-top:0}.gallery .section-head{grid-template-columns:1fr 2.1fr 1.1fr}.gallery .project-grid{gap:24px}.gallery .project-image img{aspect-ratio:1.1}.gallery .image-action{background:#171918e8}.gallery .approach{margin:0;padding:110px var(--gutter);background:#dfdfd6;color:#212720;--muted:#565d53;--line:#a9b0a6}.gallery .approach-image img{aspect-ratio:1.15}.gallery .approach h2{font-weight:300}.gallery .approach h2 em{font-family:var(--serif)}.gallery .drawings{margin:0;padding:110px var(--gutter);background:#f1f1ea;--ink:#232720;--muted:#60675b;--line:#c6cbbf;color:var(--ink)}.gallery .drawings h2 em{font-style:normal}.gallery .steps h3{font-size:20px}.gallery .contact h2{font-weight:300}.gallery .contact em{font-family:var(--serif);color:var(--accent)}

body.modal-open{overflow:hidden}dialog{position:fixed;border:0;padding:30px;background:#f5f2ec;color:#252723;width:min(1120px,94vw);max-height:90svh;overflow:auto}dialog::backdrop{background:#10120fce}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px}.dialog-head h2{font:400 29px/1.25 Manrope,sans-serif;letter-spacing:-.025em}.dialog-head .eyebrow{font-size:9px;margin-bottom:10px}.close{border:1px solid #bdbbb2;background:transparent;min-width:44px;height:44px;font-size:20px}.dialog-actions{display:flex;align-items:center;gap:15px;font-size:11px}.dialog-actions button:not(.close){padding:10px 15px;background:transparent;border:1px solid #bdbbb2;font-size:11px}.dialog-actions a{text-decoration:underline;text-underline-offset:4px}#project-pictures{display:grid;grid-template-columns:1fr 1fr;gap:30px}#project-pictures img{width:100%;height:auto}#project-pictures figcaption{font-size:10px;margin-top:8px}.drawing-viewport{overflow:auto;max-height:70svh;background:#dddcd4}.drawing-viewport img{width:100%;max-width:none}.drawing-viewport.zoomed img{width:2400px}
@media(min-width:1600px){.header,.section,footer,.editorial .hero,.character .hero{max-width:1440px;margin-left:auto;margin-right:auto}.gallery .header{max-width:none;margin:0 var(--gutter)}}
@media(max-width:1100px){.header nav{gap:18px}.editorial .hero{gap:35px}.editorial .hero-visual img{height:530px}.section-head,.gallery .section-head,.character .section-head{grid-template-columns:1fr 2fr}.section-head>p:last-child{grid-column:2}.character .hero-description{position:static;margin-top:24px;justify-content:space-between}.character h1{font-size:8vw}.hero-main img{height:400px}.hero-side{padding:18px}.hero-side img{height:130px}.hero-side>span:first-child{font-size:21px}.section{padding:85px 0}.approach{gap:6vw}.drawing-grid{grid-template-columns:repeat(2,1fr)}.mini span{font-size:28px!important}.options{gap:18px}.option h2{font-size:24px}.gallery .hero{min-height:670px}.gallery .hero-copy{top:30%}}
@media(max-width:720px){html{scroll-padding-top:16px}.concept-bar{padding:0 20px;height:40px}.concept-bar>span{display:none}.header{height:86px;gap:14px}.header nav{display:none}.brand{font-size:16px}.brand span{font-size:8px}.header-cta{font-size:10px;gap:10px}.hero-description{font-size:13px}.section{padding:65px 0}.section-head,.gallery .section-head,.character .section-head{display:block;margin-bottom:30px}.section-head .eyebrow{margin-bottom:22px}.section-head h2{font-size:36px}.section-head>p:last-child{margin-top:22px;font-size:12px;max-width:330px}.project-grid,.editorial .project-grid,.character .project-grid{display:block}.project+.project{margin-top:45px}.editorial .project:nth-child(2),.character .project:nth-child(2){padding-top:0}.project-image img,.editorial .project:first-child img,.editorial .project:nth-child(2) img,.character .project:nth-child(2) img{aspect-ratio:1.1}.project-caption h3{font-size:25px}.approach,.character .approach{display:flex;flex-direction:column;gap:35px;align-items:stretch}.approach h2{font-size:42px}.approach-image{width:75%}.editorial .approach-image{padding:0}.approach-copy>p:not(.eyebrow){font-size:13px}.drawing-grid{grid-template-columns:1fr;gap:28px}.drawing-card>div{padding:8px}.drawing-foot{flex-direction:column;align-items:flex-start;gap:10px}.steps{grid-template-columns:1fr 1fr;gap:25px 20px}.steps h3{font-size:19px;margin:20px 0 12px}.steps p{font-size:12px}.contact h2{font-size:64px}.contact-bottom{flex-direction:column;align-items:stretch;gap:20px;text-align:left}.contact-action{font-size:15px;gap:30px}footer{flex-wrap:wrap;font-size:9px;gap:12px}footer>span{width:100%}.editorial .hero{display:flex;flex-direction:column;margin-top:30px;margin-bottom:65px;gap:36px;min-height:0;align-items:stretch}.editorial h1{font-size:53px}.editorial .hero .eyebrow{margin-bottom:25px}.editorial .hero-visual img{height:auto;aspect-ratio:1.06}.hero-sign{display:none}.editorial .hero-description{max-width:320px}.editorial .hero .text-link{margin-top:0}.gallery .header{height:86px}.gallery .hero{min-height:650px;height:calc(100svh - 40px);max-height:820px}.gallery h1{font-size:72px}.gallery .hero-copy{top:29%;right:var(--gutter)}.gallery .hero .eyebrow{font-size:8px}.gallery .hero-background{object-position:52% center}.gallery .hero:after{background:linear-gradient(90deg,#000b,#0004),linear-gradient(0deg,#0008,transparent)}.hero-bottom span:last-child{display:none}.gallery .approach,.gallery .drawings{padding:65px var(--gutter)}.gallery .approach-image{width:100%}.character .hero{margin-top:25px;margin-bottom:65px}.character h1{font-size:54px}.character .hero .eyebrow{font-size:8px}.character .hero-description{margin-top:24px;font-size:12px}.round-link{width:48px;height:48px;font-size:23px}.character .hero-copy{margin-bottom:26px}.hero-composition{grid-template-columns:1fr;gap:0}.hero-main img{height:auto;aspect-ratio:1.07}.hero-side{display:none}.character .header-cta{padding:10px}.character .approach-image{width:78%}.character .drawings{padding:65px var(--gutter)}.character .contact{padding:65px var(--gutter)}dialog{padding:18px;width:96vw;max-height:94svh}.dialog-head{align-items:flex-start;gap:12px}.dialog-head h2{font-size:21px}.dialog-actions{gap:8px;flex-wrap:wrap;justify-content:flex-end}.dialog-actions a{display:none}.dialog-actions button:not(.close){font-size:10px;padding:10px}.close{min-width:40px;height:40px}#project-pictures{grid-template-columns:1fr;gap:25px}.drawing-viewport{max-height:72svh}.overview-wrap{padding:25px 24px}.overview h1{font-size:48px;margin:40px 0 25px}.overview-top{font-size:10px}.overview .intro{font-size:13px}.options{grid-template-columns:1fr;gap:50px}.option p{min-height:0}.mini{aspect-ratio:1.1}.mini span{font-size:42px!important}.overview-notes{grid-template-columns:1fr;gap:25px;margin-top:55px}.prototype-note{font-size:10px}.form-demo{margin:30px auto}.form-demo h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
@media(max-width:720px){.gallery h1{font-size:12vw}.gallery .hero-copy{top:33%}}
@media(max-width:380px){.character h1{font-size:13.5vw}.header{gap:8px}.brand{font-size:14px}.header-cta{font-size:9px;gap:7px}.character .header-cta{padding:9px}.section-head h2{font-size:32px}.approach h2{font-size:36px}.editorial h1{font-size:47px}.contact h2{font-size:57px}}

.gallery .header{top:0}.gallery .hero{height:min(890px,100svh)}.skip-link{position:fixed;left:20px;top:-100px;z-index:10;padding:12px;background:white;color:#111}.skip-link:focus{top:10px}.no-script{margin:30px var(--gutter)}.no-script a{text-decoration:underline}.gallery .header{background:linear-gradient(#0005,transparent)}
@media(max-width:720px){.gallery .hero{height:100svh}.header nav{display:none}}
/* Keep the close control reachable while scrolling long project galleries. */
.dialog-head{position:sticky;top:-30px;z-index:3;background:#f5f2ec;padding:16px 0;margin-top:-16px}
@media(max-width:720px){.dialog-head{top:-18px}}

/* A complete concept board, with no cropping of its palette or detail panels. */
.collage-image{display:block;background:#f4efe7;cursor:zoom-in}
.collage-image img{width:100%;height:auto}
.collage-caption{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:20px;color:var(--muted);font-size:11px}
@media(max-width:720px){.collage-caption{align-items:flex-start;flex-direction:column;gap:8px}}
