:root{--paper:#f8f7f3;--ink:#171717;--red:#f04435;--line:#d2d0cb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,'Noto Sans SC',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:6px}.wrap{padding-left:4.5%;padding-right:4.5%}header{display:flex;align-items:center;justify-content:space-between;padding:25px 4.5%;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:5}.wordmark{font-size:20px;font-weight:800;letter-spacing:-1px;line-height:.95}.wordmark span{display:block}.wordmark i{display:inline-block;width:9px;height:9px;background:var(--red);border-radius:50%;margin-left:5px}nav{display:flex;gap:36px;font-size:12px;font-weight:500}nav a:hover{color:var(--red)}#menu{display:none}.hero{padding-top:34px}.hero-top,.section-top{display:flex;justify-content:space-between;font-size:10px;font-weight:600;letter-spacing:1px}.hero h1{font-size:clamp(64px,10.5vw,170px);letter-spacing:-.085em;font-weight:600;line-height:.96;margin:45px 0 31px;position:relative}.hero h1>span{margin-left:12%}.asterisk{position:absolute;right:1%;top:30%;color:var(--red);font-style:normal;font-weight:400;font-size:.8em;line-height:1}.hero-bottom{display:grid;grid-template-columns:1fr 1fr 80px;align-items:end;margin-bottom:40px}.hero-bottom p{font-size:23px;font-weight:500;letter-spacing:1px;line-height:1.5;margin:0}.hero-bottom>span{font-size:12px;line-height:1.9;justify-self:end;margin-right:50px;color:#555}.circle{border:1px solid #777;border-radius:50%;display:grid;place-items:center;width:65px;height:65px;font-size:30px}.circle:hover{background:var(--red);border-color:var(--red);color:white}.stage{height:390px;position:relative;overflow:hidden;background:#181818}.stage img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}.stage-label{position:absolute;bottom:25px;left:28px;right:28px;display:flex;justify-content:space-between;color:white;font-size:10px;letter-spacing:1px}.work{padding-top:90px;padding-bottom:90px}.section-top{border-top:1px solid var(--line);padding-top:18px}.work-heading{display:flex;justify-content:space-between;align-items:end;margin:50px 0}.work-heading h2,.about h2{font-size:clamp(36px,4.4vw,70px);line-height:1.3;letter-spacing:-2px;font-weight:500;margin:0}.work-heading p{font-size:12px;line-height:2;margin:0 8% 5px 30px;color:#666}.projects{display:grid;grid-template-columns:1.15fr 1fr;gap:9%}.project{padding:0;border:0;background:none;text-align:left;min-width:0}.project-image{position:relative;background:#e9e6df;aspect-ratio:4/4.4;overflow:hidden;padding:26px}.project-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}.project:hover img{transform:scale(1.025)}.second{padding-top:110px}.second .project-image{background:#e6e8e5;aspect-ratio:4/4.4}.zoom{position:absolute;right:15px;bottom:15px;border-radius:50%;background:var(--paper);width:35px;height:35px;display:grid;place-items:center;font-size:21px}.caption{display:flex;justify-content:space-between;margin-top:18px;gap:15px}.caption h3{font-size:20px;letter-spacing:-.5px;line-height:1.35;margin:0;font-weight:600}.caption>span{font-size:9px;padding-top:5px;letter-spacing:.5px}.text-button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:25px 0;margin-top:35px;font-size:13px}.text-button span{font-size:22px}.more-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}.more-grid img{width:100%;aspect-ratio:3/4;object-fit:contain;background:#eae7e1}[hidden]{display:none!important}.about{background:#eeede7;padding-top:65px;padding-bottom:85px}.about-body{display:grid;grid-template-columns:1fr 2fr;margin-top:65px;gap:30px}.small-label{font-size:10px;letter-spacing:1px;padding-top:15px}.about-body p{max-width:650px;font-size:15px;line-height:2.1;margin:32px 0 0}.about-body .sub{color:#666;font-size:13px;margin-top:12px}.services{padding-top:85px;padding-bottom:100px}.service-row{display:grid;grid-template-columns:10% 44% 1fr;border-bottom:1px solid var(--line);padding:38px 0;gap:15px;align-items:start}.service-row>span{font-size:11px;color:var(--red)}.service-row h3{margin:0;font-size:26px;font-weight:500;letter-spacing:-.5px}.service-row small{display:block;font-size:10px;letter-spacing:1px;margin-top:12px;font-weight:500}.service-row p{margin:0;font-size:13px;line-height:2;max-width:360px;color:#555}.contact{background:var(--red);padding-top:35px;padding-bottom:38px}.contact .section-top{border-color:#a72d24}.contact-title{display:block;font-size:clamp(65px,12vw,180px);font-weight:600;letter-spacing:-.08em;line-height:.96;position:relative;padding:55px 0 50px}.contact-title>span{position:absolute;right:1%;top:40%;font-size:.7em;transition:transform .25s}.contact-title:hover>span{transform:translate(8px,-8px)}.contact-bottom{display:flex;justify-content:space-between;font-size:12px;border-top:1px solid #a72d24;padding-top:23px}.contact-bottom>a{font-weight:600}footer{padding-top:32px;padding-bottom:32px;display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#666;gap:15px}footer>a:first-child{font-size:13px;font-weight:800;color:var(--ink);letter-spacing:-.6px}dialog{border:0;background:var(--paper);padding:24px;max-width:min(90vw,760px);max-height:92vh}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}dialog img{display:block;max-width:100%;height:72vh;object-fit:contain;margin:15px auto}dialog button{display:block;margin-left:auto;background:none;border:0}dialog p{text-align:center;font-size:12px} @media(min-width:1600px){.wrap{padding-left:max(4.5%,calc((100vw - 1600px)/2));padding-right:max(4.5%,calc((100vw - 1600px)/2))}}@media(max-width:760px){header{padding:22px 6%}.wrap{padding-left:6%;padding-right:6%}.wordmark{font-size:17px}#menu{display:block;border:0;background:none;font-size:11px}nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column;gap:25px}nav.open{display:flex}.hero-top{font-size:8px}.hero-top>span:first-child{max-width:155px}.hero-top>span:last-child{max-width:100px;text-align:right}.hero h1{font-size:clamp(43px,10.8vw,80px);margin:48px 0 35px;letter-spacing:-.075em}.hero h1>span{margin-left:0}.asterisk{right:0;top:50%;font-size:.7em}.hero-bottom{grid-template-columns:1fr 48px;gap:18px;margin-bottom:30px}.hero-bottom p{font-size:19px}.hero-bottom>span{grid-row:2;grid-column:1;font-size:11px;justify-self:start;margin:0}.circle{grid-column:2;grid-row:1/3;align-self:end;width:45px;height:45px;font-size:25px}.stage{height:280px}.stage-label{left:15px;right:15px;bottom:20px;font-size:8px}.work{padding-top:60px;padding-bottom:60px}.section-top{font-size:9px}.work-heading{display:block;margin:35px 0}.work-heading h2,.about h2{font-size:36px;letter-spacing:-1px}.work-heading p{margin:22px 0 0;font-size:11px}.projects{gap:32px;grid-template-columns:1fr}.second{padding-top:0}.project-image,.second .project-image{aspect-ratio:4/4.2;padding:22px}.caption h3{font-size:19px}.caption>span{font-size:8px}.more-grid{grid-template-columns:1fr 1fr;gap:15px}.about{padding-top:40px;padding-bottom:55px}.about-body{display:block;margin-top:35px}.small-label{display:block;margin-bottom:25px;font-size:9px}.about-body p{font-size:13px;margin-top:25px}.about-body .sub{font-size:12px}.services{padding-top:60px;padding-bottom:60px}.service-row{grid-template-columns:25px 1fr;padding:30px 0;gap:15px}.service-row h3{font-size:23px}.service-row p{grid-column:2;font-size:12px;margin-top:8px}.service-row small{font-size:9px}.contact{padding-top:28px;padding-bottom:28px}.contact-title{font-size:13vw;padding:40px 0}.contact-title>span{top:45%}.contact-bottom{flex-direction:column;gap:12px;font-size:11px}footer{flex-wrap:wrap;gap:20px;font-size:8px}footer>a:first-child{width:45%}footer>span:nth-child(2){width:45%;text-align:right}footer>a:last-child{margin-left:auto}dialog{padding:15px}dialog img{height:65vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Black and gold edition */
:root{--paper:#101010;--ink:#efe7d4;--red:#c6a567;--line:#39342a}body{background:var(--paper)}header{background:#101010}.wordmark{display:flex;align-items:center;gap:12px;letter-spacing:-.7px}.wordmark .logo-symbol{display:block;width:40px;height:54px;overflow:hidden;flex:none}.logo-symbol img{display:block;height:54px;width:auto;max-width:none}.wordmark .brand-type{display:block;font-size:20px;line-height:1.02;white-space:nowrap}.brand-type .red-o{display:inline-block;width:.67em;height:.67em;border-radius:50%;background:#f32930;margin:0 .025em;vertical-align:.02em}.header-controls{display:flex;align-items:center;gap:20px}#language{font:inherit;font-size:11px;color:var(--ink);background:#101010;border:0;border-bottom:1px solid #766345;padding:8px 20px 8px 4px;cursor:pointer}#language option{background:#101010;color:var(--ink)}.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}.hero h1{color:#c6a567}.hero-bottom>span,.work-heading p,.about-body .sub,.service-row p{color:#b9b3a7}.hero-bottom p{font-size:clamp(19px,2vw,27px);letter-spacing:-.6px}.circle{border-color:#8e7953}.stage img{filter:brightness(.75)}.project-image,.second .project-image,.more-grid img{background:#1f1d18}.about{background:#191813}.about h2,.work h2,.service-row h3{color:#e1c58e}.contact{background:#bda16c;color:#111}.contact .section-top,.contact-bottom{border-color:#7c6947}.contact-title{color:#111}footer{color:#b9b3a7}.text-button{color:#e1c58e}.zoom{color:#e1c58e;background:#101010}.caption>span{color:#b9b3a7}.service-row h3{font-size:clamp(20px,2.1vw,28px)}.service-row small{color:#b9b3a7}dialog{color:var(--ink)}@media(max-width:760px){.wordmark .logo-symbol{width:32px;height:43px}.logo-symbol img{height:43px}.wordmark .brand-type{font-size:16px}.wordmark{gap:8px}.header-controls{gap:13px}#language{font-size:10px;padding-right:8px}nav{top:87px;background:#101010}.hero-bottom p{font-size:20px;letter-spacing:-.5px}.hero-bottom>span{font-size:11px}.work-heading h2,.about h2{font-size:33px}.service-row h3{font-size:22px}}@media(max-width:360px){header{padding-left:4%;padding-right:4%}.header-controls{gap:7px}.wordmark .brand-type{font-size:14px}#menu{font-size:10px}}
.footer-brand .red-o{display:inline-block;width:.65em;height:.65em;border-radius:50%;background:#f32930;margin:0 .02em}

.footer-brand{display:flex;align-items:center;gap:9px}.footer-logo{display:block;width:25px;height:34px;overflow:hidden;flex:none}.footer-logo img{display:block;height:34px;width:auto;max-width:none}

/* Equal-size, aligned project posters */
.projects{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.second{padding-top:0}.project-image,.second .project-image{aspect-ratio:3/4;padding:0}.project-image img{object-fit:contain}@media(max-width:760px){.projects{grid-template-columns:1fr}}

/* Brand mark in place of the decorative star, on all devices */
.hero-logo{display:block;width:.7em;height:.94em;overflow:hidden;color:#c6a567}.hero-logo img{display:block;height:100%;width:auto;max-width:none}@media(max-width:760px){.hero-logo{width:.7em;height:.94em}}

/* Full project-poster mosaic strip */
.stage.poster-strip{height:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;background:#101010;overflow:hidden}.stage.poster-strip img{display:block;width:100%;height:100%;aspect-ratio:3/4;object-fit:contain;filter:none;background:#1f1d18}@media(max-width:760px){.stage.poster-strip{height:auto;gap:3px;grid-template-columns:repeat(6,minmax(0,1fr))}.stage.poster-strip img{aspect-ratio:3/4;min-width:0}}

/* Wider, two-row poster archive; swipe horizontally on small screens. */
.stage.poster-strip{width:calc(100% + 7vw);margin-left:-3.5vw;grid-template-columns:repeat(16,minmax(72px,1fr));grid-template-rows:repeat(2,auto);gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-color:#c6a567 #101010;scrollbar-width:thin}.stage.poster-strip img{height:auto;aspect-ratio:3/4;object-fit:contain}@media(max-width:760px){.stage.poster-strip{width:calc(100% + 10vw);margin-left:-5vw;grid-template-columns:repeat(16,80px);grid-template-rows:repeat(2,auto);gap:4px;padding-bottom:8px}}

/* Slow ambient gold light, behind content and without blocking interaction. */
body{isolation:isolate;background:#0d0d0c}
body::before,body::after{content:"";position:fixed;pointer-events:none;z-index:-1;inset:-18%;will-change:transform;}
body::before{background:radial-gradient(ellipse at 15% 24%,rgba(163,117,42,.22),transparent 42%),radial-gradient(ellipse at 84% 70%,rgba(117,89,40,.19),transparent 43%);filter:blur(45px);animation:gold-drift 28s ease-in-out infinite alternate}
body::after{background:linear-gradient(115deg,transparent 30%,rgba(209,174,104,.035) 46%,rgba(209,174,104,.065) 50%,transparent 64%);animation:gold-sweep 38s ease-in-out infinite alternate}
@keyframes gold-drift{0%{transform:translate3d(-3%,-2%,0) scale(1)}50%{transform:translate3d(3%,4%,0) scale(1.08)}100%{transform:translate3d(6%,-3%,0) scale(1.03)}}
@keyframes gold-sweep{from{transform:translate3d(-12%,0,0) rotate(-6deg)}to{transform:translate3d(14%,4%,0) rotate(7deg)}}
@media(max-width:760px){body::before{filter:blur(28px);opacity:.85}body::after{opacity:.65}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Soft flowing gold atmosphere */
body::before{background:radial-gradient(ellipse at 12% 28%,rgba(188,141,61,.32),transparent 46%),radial-gradient(ellipse at 80% 62%,rgba(148,107,40,.27),transparent 48%),radial-gradient(ellipse at 50% 100%,rgba(203,166,93,.13),transparent 42%);filter:blur(52px);animation:soft-gold-flow 20s ease-in-out infinite alternate}
body::after{background:linear-gradient(115deg,transparent 22%,rgba(228,190,120,.035) 40%,rgba(228,190,120,.09) 50%,transparent 68%);animation:gold-sweep 26s ease-in-out infinite alternate}
@keyframes soft-gold-flow{0%{transform:translate3d(-7%,-5%,0) scale(1)}50%{transform:translate3d(3%,5%,0) scale(1.12)}100%{transform:translate3d(8%,-2%,0) scale(1.05)}}
@media(max-width:760px){body::before{opacity:1;filter:blur(30px)}body::after{opacity:.8}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Black silk: moving charcoal folds, gold typography retained. */
body{background:#080808}
body::before{inset:-30%;background:repeating-linear-gradient(125deg,#050505 0%,#101010 12%,#343434 22%,#151515 29%,#050505 40%);background-size:160% 160%;filter:blur(24px);opacity:.8;animation:black-silk-flow 12s ease-in-out infinite alternate}
body::after{inset:-35%;background:radial-gradient(ellipse at 25% 30%,rgba(150,150,150,.19),transparent 38%),radial-gradient(ellipse at 75% 65%,rgba(110,110,110,.15),transparent 42%);filter:blur(42px);opacity:1;animation:black-mist-flow 16s ease-in-out infinite alternate}
@keyframes black-silk-flow{0%{transform:translate3d(-12%,-7%,0) rotate(-9deg) scale(1.04);background-position:0% 20%}100%{transform:translate3d(12%,8%,0) rotate(9deg) scale(1.12);background-position:100% 80%}}
@keyframes black-mist-flow{0%{transform:translate3d(10%,-9%,0) scale(1)}100%{transform:translate3d(-12%,10%,0) scale(1.15)}}
@media(max-width:760px){body::before{opacity:.85;filter:blur(16px)}body::after{opacity:1;filter:blur(28px)}}
@media(prefers-reduced-motion:reduce){body::before,body::after{animation:none;will-change:auto}}

/* Explicit select chevron for mobile browsers. */
#language{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23e1c58e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;background-size:12px 8px;padding-right:26px;min-width:82px}
@media(max-width:760px){#language{padding-right:25px;min-width:78px;background-size:12px 8px;background-position:right 4px center}}

/* Explicit select chevron for mobile browsers. */
#language{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%23efe7d4' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 5px center;background-size:12px 8px;padding-right:26px;min-width:82px}
@media(max-width:760px){#language{padding-right:25px;min-width:78px;background-size:12px 8px;background-position:right 4px center}}

#language{border-bottom:0}

@media(max-width:760px){#language{field-sizing:content;width:auto;min-width:0;padding-left:0;padding-right:17px;background-position:right 1px center;background-size:9px 6px}.header-controls{gap:20px}#menu{padding-left:0;padding-right:0}}

@media(max-width:760px){#language{field-sizing:content;width:auto;min-width:0;padding-left:0;padding-right:14px;background-position:right 1px center;background-size:9px 6px}.header-controls{gap:20px}#menu{padding-left:0;padding-right:0}}

.project[data-src="project-2.jpg"] .project-image img,.poster-strip img[src$="project-2.jpg"]{object-fit:cover}

/* Uniform poster sizes with no letterboxing */
.project-image,.second .project-image{aspect-ratio:3/4;padding:0}.project-image img,.stage.poster-strip img,.more-grid img{width:100%;aspect-ratio:3/4;object-fit:cover}.project-image img{height:100%}

/* Expanded two-row archive with the three newly supplied posters. */
.stage.poster-strip{grid-template-columns:repeat(18,minmax(72px,1fr))}@media(max-width:760px){.stage.poster-strip{grid-template-columns:repeat(18,80px)}}

/* Four recent projects: consistent two-column grid, no percentage row gaps. */
.projects{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px;row-gap:44px;align-items:start}.projects .project{padding:0;min-width:0}.projects .project-image{aspect-ratio:3/4;padding:0}.projects .project-image img{width:100%;height:100%;object-fit:cover}.projects .caption{min-height:62px;gap:16px}.projects .caption h3{min-width:0;overflow-wrap:anywhere}.projects .caption>span{flex:none;white-space:nowrap}#work>#more,#work>#moreProjects{display:none!important}@media(max-width:760px){.projects{grid-template-columns:minmax(0,1fr);row-gap:30px;column-gap:0}.projects .caption{min-height:0}.projects .caption h3{font-size:18px}.projects .caption>span{font-size:8px}}
