@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--red:#ee2826;--black:#080808;--white:#fff;--line:#d8d8d8}*{box-sizing:border-box}body{margin:0;background:var(--black);color:white;font-family:'DM Sans','Noto Sans KR',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:6px}.stage{position:relative;height:100svh;min-height:640px;overflow:hidden;border-top:26px solid var(--black);border-bottom:26px solid var(--black)}.stage-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;animation:reveal 1.3s ease-out}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#0005,transparent 55%);pointer-events:none}.identity{position:absolute;top:26%;left:8%;z-index:2}.wordmark{display:block;position:relative;width:150px;font-size:36px;font-weight:700;letter-spacing:-1.5px;line-height:.8}.wordmark span{display:block;font-size:12px;letter-spacing:5.5px;margin-top:13px}.wordmark b{color:var(--red);position:absolute;top:-10px;left:88px;font-size:50px}.identity nav{display:flex;flex-direction:column;gap:17px;margin-top:47px;align-items:start}.identity nav a{font-size:16px;font-weight:400;letter-spacing:.5px;position:relative;transition:opacity .2s}.identity nav a:hover{opacity:.55}.identity nav a span{font-size:13px;margin-left:10px;color:var(--red)}.hero-caption{position:absolute;left:8%;bottom:14%;z-index:2}.hero-caption p{font-size:19px;line-height:1.7;font-weight:400;letter-spacing:-.5px;margin:0 0 15px}.hero-caption>span{font-size:8px;letter-spacing:1.2px;color:#ffffffb3}footer{position:absolute;bottom:25px;left:8%;right:5%;display:flex;align-items:end;justify-content:space-between;font-size:10px;line-height:1.7;letter-spacing:.3px}footer .visual-label{font-size:8px;letter-spacing:1px;opacity:.7}footer a{font-size:11px}dialog{position:fixed;inset:0 0 0 auto;margin:0;border:0;padding:0;width:calc(100vw - 290px);max-width:none;height:100svh;max-height:none;background:#fff;color:#111;overflow:auto}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}dialog[open]{animation:slide .35s ease-out}.panel-header{position:sticky;top:0;z-index:2;background:inherit;display:flex;justify-content:space-between;align-items:center;padding:30px 6%;border-bottom:1px solid #8884}.mini-brand{font-size:13px;letter-spacing:-.4px;font-weight:700}.close{border:0;color:inherit;background:transparent;font-size:13px}.panel-body{padding:58px 6% 70px}.section-tag{font-size:10px;letter-spacing:1.2px;color:var(--red)}h1{font-size:clamp(38px,4.7vw,66px);font-weight:500;line-height:1.3;letter-spacing:-2px;margin:30px 0 65px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.about-grid p{font-size:15px;line-height:2;margin:0 0 30px}.text-link{display:inline-block;border-bottom:1px solid;padding:8px 0;font-size:13px}.about-sign{font-family:Georgia,serif;font-style:italic;font-size:clamp(40px,7vw,100px);margin-top:100px;color:var(--red);letter-spacing:-3px}.film-list{border-top:1px solid #111}.film-list button{display:grid;grid-template-columns:25px 1fr 100px 20px;gap:20px;align-items:center;background:transparent;border:0;border-bottom:1px solid var(--line);width:100%;padding:30px 0;color:inherit;text-align:left;transition:color .2s}.film-list button:hover{color:var(--red)}.num{font-size:10px;align-self:start;padding-top:7px}.film-list strong{display:block;font-size:28px;font-weight:500;letter-spacing:-.7px}.film-list small{display:block;font-size:11px;margin-top:12px;font-weight:400}.ratio{font-size:10px}.film-list b{font-weight:400;font-size:22px}.pricing-note{display:flex;justify-content:space-between;gap:25px;font-size:11px;line-height:1.8;margin-top:30px;color:#666}.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:50px}.contact-intro{font-size:24px;line-height:1.7;margin-top:0}.draft-note{font-size:10px;line-height:1.9;color:#888;margin-top:40px}label{display:block;font-size:10px;margin-bottom:25px}input,select,textarea{display:block;border:0;border-bottom:1px solid #aaa;background:transparent;border-radius:0;padding:12px 0;width:100%;font-size:12px;color:inherit;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--red)}select option{color:#111}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.send{display:flex;justify-content:space-between;background:var(--red);color:white;width:100%;border:0;padding:18px;font-size:12px}#status{font-size:11px;line-height:1.8}.work-empty{min-height:230px;border-top:1px solid #444;border-bottom:1px solid #444;display:flex;flex-direction:column;justify-content:center;margin-bottom:30px}.work-empty span{color:var(--red);font-size:10px;letter-spacing:2px}.work-empty p{font-size:23px;letter-spacing:-.6px;margin-bottom:10px}.work-empty small{font-size:12px;color:#888}dialog[data-page="works"]{background:#111;color:#fff}dialog[data-page="about"]{border-top:8px solid var(--red)}@keyframes reveal{from{opacity:0}to{opacity:1}}@keyframes slide{from{transform:translateX(35px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:900px){dialog{width:calc(100vw - 220px)}.identity{left:6%}.hero-caption{left:6%}footer{left:6%}.panel-body{padding-top:40px}.about-grid,.contact-grid{grid-template-columns:1fr;gap:25px}.draft-note{margin-top:15px}.film-list button{grid-template-columns:20px 1fr 70px 15px;gap:10px}.film-list strong{font-size:23px}.pricing-note{flex-direction:column;gap:5px}.hero-caption>span{font-size:7px}.stage-image{object-position:58% center}}@media(max-width:600px){.stage{border-width:14px;min-height:650px}.stage-image{object-position:62% center}.shade{background:linear-gradient(90deg,#0008,transparent 100%)}.identity{top:15%;left:8%}.wordmark{font-size:30px}.wordmark b{left:73px}.wordmark span{font-size:10px;letter-spacing:4.5px}.identity nav{gap:16px;margin-top:36px}.identity nav a{font-size:15px}.hero-caption{left:8%;bottom:17%}.hero-caption p{font-size:17px}.hero-caption>span{display:block;max-width:210px;line-height:2}footer{left:8%;right:8%;bottom:20px}.visual-label{display:none}dialog{width:100vw}.panel-header{padding:24px 6%}.panel-body{padding:35px 6% 55px}h1{font-size:38px;margin:25px 0 45px;letter-spacing:-1.6px}.film-list button{padding:25px 0;grid-template-columns:18px 1fr 57px 15px;gap:7px}.film-list strong{font-size:20px}.film-list small{font-size:9px;line-height:1.7}.ratio{font-size:8px}.form-row{gap:18px}.about-sign{margin-top:60px}.work-empty p{font-size:20px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Two editorial scenes: the supplied pillar frame remains unmodified. */
.stage-image{transition:opacity 1.8s ease;animation:none}.pillar-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.8s ease,visibility 1.8s;pointer-events:none;background:#090303;display:flex;align-items:center;justify-content:center}.pillar-canvas{width:100%;aspect-ratio:320/178;position:relative;max-height:100%;}.pillar-canvas>img{display:block;width:100%;height:100%;object-fit:fill}.pillar-label{position:absolute;display:flex;flex-direction:column;gap:10px;align-items:center;color:#fff;font-size:clamp(13px,1.55vw,24px);font-weight:500;letter-spacing:-.4px;white-space:nowrap;text-shadow:0 2px 14px #0009;transform:translate(-50%,-50%);padding:22px 4px;z-index:3}.pillar-label>span{font-size:8px;font-weight:400;letter-spacing:2px;opacity:.75}.pillar-label>small{font-size:9px;letter-spacing:1px;font-weight:400;opacity:0;transition:opacity .2s}.pillar-label:hover>small,.pillar-label:focus-visible>small{opacity:1}.p1{left:28%;top:31%}.p2{left:50%;top:43%;font-size:clamp(11px,1.3vw,20px)}.p3{left:69%;top:49%}.p4{left:88%;top:50%;font-size:clamp(12px,1.4vw,22px)}.stage.is-pillars .stage-image{opacity:0}.stage.is-pillars .pillar-scene{opacity:1;visibility:visible;pointer-events:auto}.stage.is-pillars .shade{background:linear-gradient(90deg,#0006,transparent 28%);}.stage.is-pillars .identity{top:8%;transition:top 1s}.identity{transition:top 1s}.stage.is-pillars .identity nav{gap:13px;margin-top:30px}.stage.is-pillars .hero-caption{bottom:11%}.scene-controls{display:flex;align-items:center;gap:12px;z-index:4}.scene-controls button{border:0;background:none;color:#fff8;font-size:10px;padding:10px 5px;cursor:pointer}.scene-controls button.active{color:#fff}.scene-line{display:block;width:42px;height:1px;background:#fff6}.scene-controls .scene-pause{margin-left:9px;border:1px solid #fff6;width:25px;height:25px;padding:0}.scene-controls button:hover{color:white}.stage footer{z-index:5}@media(max-width:600px){.pillar-canvas{min-width:100%;width:100%;max-height:none}.pillar-label{font-size:10px;gap:5px;padding:15px 0}.p2{font-size:8px}.p4{font-size:9px}.pillar-label>span{font-size:6px}.pillar-label>small{font-size:6px}.stage.is-pillars .identity{top:9%}.stage.is-pillars .identity nav{gap:12px;margin-top:25px}.stage.is-pillars .hero-caption{bottom:17%}.scene-controls{gap:5px}.scene-line{width:18px}.scene-controls .scene-pause{margin-left:2px}footer>a{font-size:9px}}
.pillar-canvas>video{display:block;width:100%;height:100%;object-fit:fill}.pillar-label{will-change:opacity,left,top}.pillar-canvas{aspect-ratio:832/464}
/* Vertical lettering belongs to the pillar faces, not floating captions. */
.identity{transition:opacity .65s ease,visibility .65s ease}.stage.is-pillars .identity{opacity:0;visibility:hidden;pointer-events:none;top:26%}.stage.is-pillars .shade{background:none}.hero-caption,.stage.is-pillars .hero-caption{bottom:8%;}.hero-caption>span{display:none}.hero-caption p{font-size:16px;line-height:1.7;margin-bottom:0}.pillar-label{display:block;writing-mode:vertical-rl;text-orientation:mixed;text-transform:uppercase;font-family:'DM Sans',sans-serif;font-size:clamp(16px,2.35vw,36px);font-weight:500;letter-spacing:.13em;line-height:1;padding:0;color:#f4ddd1;mix-blend-mode:screen;text-shadow:1px 1px 0 #ffb9a43b,-1px -1px 2px #230000;transform:translate(-50%,-50%) rotate(var(--tilt,0deg));transition:color .2s;white-space:nowrap}.pillar-label:hover{color:#fff}.p1{--tilt:9deg}.p2{--tilt:-5deg;font-size:clamp(24px,4vw,62px);letter-spacing:.08em}.p3{--tilt:-14deg}.p4{--tilt:-20deg;font-size:clamp(12px,1.8vw,28px);letter-spacing:.12em}@media(max-width:600px){.hero-caption,.stage.is-pillars .hero-caption{bottom:13%}.hero-caption p{font-size:14px}.pillar-label{font-size:clamp(10px,3vw,17px);letter-spacing:.08em}.p2{font-size:clamp(16px,5vw,26px)}.p4{font-size:clamp(8px,2.5vw,14px)}.stage.is-pillars .identity{top:15%}}
.stage.is-pillars footer>span:first-child{visibility:hidden}
/* Edge-to-edge pillar cinema, with the lettering in muted metallic gold. */
.stage.is-pillars{border-top-width:0;border-bottom-width:0}.pillar-canvas{flex:0 0 auto;width:max(102vw,calc(100svh * 1.82897));height:auto;aspect-ratio:832/464;max-height:none;min-width:0}.pillar-canvas>video{width:100%;height:100%;object-fit:cover}.pillar-label,.p2,.p4{font-size:clamp(12px,1.5vw,23px);font-weight:400;letter-spacing:.16em;color:#d5b36d;mix-blend-mode:normal;text-shadow:0 1px 0 #492509,0 -1px 0 #fff0bb60}.p2{font-size:clamp(10px,1.25vw,19px);letter-spacing:.11em}.pillar-label:hover{color:#f0d99a}.fabric-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:1;transition:opacity 1.8s ease}.stage.is-pillars .fabric-motion{opacity:0}@media(max-width:600px){.pillar-canvas{width:max(102vw,calc(100svh * 1.82897));max-height:none}.pillar-label,.p2,.p4{font-size:16px}.p2{font-size:14px}.fabric-motion{width:100%;height:100%}}@media(prefers-reduced-motion:reduce){.fabric-motion{display:none}}

.stage-image{object-position:center}


/* Original footage, connected by a continuous red-to-shadow transition. */
html{scroll-behavior:smooth}body{overflow-x:hidden;background:#090303}.stage{border:0;height:100svh;min-height:600px;background:#080808}.fabric-motion{position:absolute;inset:0;width:100%;height:100%;opacity:1}.stage:after{content:'';position:absolute;inset:78% 0 0;pointer-events:none;background:linear-gradient(transparent,#890c13 100%);z-index:1}.stage .hero-caption{bottom:10%}.stage footer{bottom:28px;justify-content:space-between}.stage footer>a{padding:10px 0}.pillar-scene{position:relative;inset:auto;opacity:1;visibility:visible;pointer-events:auto;display:flex;align-items:center;justify-content:center;height:auto;min-height:0;padding:240px 0 100px;background:linear-gradient(to bottom,#890c13 0px,#4b080c 100px,#0c0303 240px,#0c0303 38%,#6e0309 64%,#b7091a 84%,#970d18 100%);overflow:hidden;transition:none}.original-film{position:relative;width:100%;max-width:1600px;aspect-ratio:832/464;flex:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 7%,#000 90%,transparent 100%)}.original-film video{display:block;width:100%;height:100%;object-fit:contain}.pillar-explore{position:absolute;bottom:35px;right:5%;font-size:11px;letter-spacing:.3px;color:#ecd6b4}.pillar-scene:before,.pillar-scene:after{display:none}@media(max-width:600px){.stage{min-height:650px}.pillar-scene{padding-top:160px;padding-bottom:90px;background:linear-gradient(#890c13 0px,#0c0303 160px,#5c0309 60%,#a40b19 100%)}.original-film{width:100%}.stage .hero-caption{bottom:11%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fabric-motion{display:none}}

.stage footer{justify-content:flex-end}

.brand-symbol{display:block;position:relative;width:80px;height:110px;margin:0 0 22px -4px;overflow:hidden}.brand-symbol img{display:block;width:116px;height:auto;max-width:none;position:absolute;left:-22px;top:-11px}.identity{top:16%}.wordmark{color:#eee5da}.wordmark b{color:#ba1524}.identity nav{margin-top:37px}@media(max-width:600px){.identity{top:10%}.brand-symbol{width:64px;height:87px;margin-bottom:18px}.brand-symbol img{width:92px;left:-17px;top:-9px}.identity nav{margin-top:30px}}
/* One floor-red silhouette, preserving the existing logo geometry. */
.brand-symbol img{opacity:0}.brand-symbol:after{content:'';position:absolute;left:-22px;top:-11px;width:116px;height:127px;background:#b71924;mask:url('assets/bani-mark-red-silk.png') center/100% 100% no-repeat;-webkit-mask:url('assets/bani-mark-red-silk.png') center/100% 100% no-repeat}.wordmark b{color:#b71924}@media(max-width:600px){.brand-symbol:after{left:-17px;top:-9px;width:92px;height:101px}}

/* Bunny mark replaces the initial B at letter scale. */
.identity{top:26%}.letter-b{display:inline-block;width:23px;height:34px;margin-right:1px;vertical-align:-2px;background:#b71924;mask:url('assets/bani-mark-red-silk.png') -8.7px -3.7px/35.5px 38.8px no-repeat;-webkit-mask:url('assets/bani-mark-red-silk.png') -8.7px -3.7px/35.5px 38.8px no-repeat}@media(max-width:600px){.identity{top:15%}.letter-b{width:19px;height:28px;mask-position:-7.3px -3.1px;mask-size:29.6px 32.4px;-webkit-mask-position:-7.3px -3.1px;-webkit-mask-size:29.6px 32.4px}}

/* Match the B bowl to ANI cap height; only the ears rise above the word. */
.letter-b{width:35px;height:51px;margin-right:1px;vertical-align:-2px;mask-position:-13.3px -5.6px;mask-size:54px 59.1px;-webkit-mask-position:-13.3px -5.6px;-webkit-mask-size:54px 59.1px}.wordmark b{left:101px}@media(max-width:600px){.letter-b{width:29px;height:43px;mask-position:-11.1px -4.7px;mask-size:45px 49.2px;-webkit-mask-position:-11.1px -4.7px;-webkit-mask-size:45px 49.2px}.wordmark b{left:84px}}
.wordmark b{top:7px}@media(max-width:600px){.wordmark b{top:4px}}
/* Physical 3D film faces. The stage opens into the same dark red light. */
.gallery-section{display:block;padding:175px 0 0;background:linear-gradient(#890c13 0,#350508 85px,#100203 175px);overflow:hidden}
.pillar-gallery{position:relative;width:100%;height:clamp(480px,64vw,900px);background:#100203;overflow:hidden;mask-image:linear-gradient(transparent,#000 8%,#000 94%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 8%,#000 94%,transparent)}
.pillar-gallery canvas{display:block;width:100%;height:100%}.gallery-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-fallback[hidden]{display:none}
.gallery-caption{display:flex;align-items:center;justify-content:space-between;padding:12px 5% 34px;background:#100203;color:#d7aa9f;font-size:10px;letter-spacing:.035em}.gallery-caption button{background:transparent;color:#e5c692;border:1px solid #9b666044;padding:9px 15px;font-size:10px;border-radius:0}.gallery-caption button:hover{border-color:#e5c692}
@media(max-width:600px){.gallery-section{padding-top:125px;background:linear-gradient(#890c13,#100203 125px)}.pillar-gallery{height:560px}.gallery-caption{padding:12px 6% 30px;font-size:9px}}
.physical-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}.physical-face{backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--face-red,#ae021c);box-shadow:inset 0 0 1px #ffb6b650,inset 1px 0 1px #ff8e8e50;border:0;overflow:hidden}
.physical-face:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,#ffd7d71a,transparent 26%,#0002 66%,#ffd7d720);opacity:var(--shine,.14)}
.physical-front,.physical-back{background-image:linear-gradient(105deg,#ffffff08,transparent 30%,#00000015 65%,#ffffff08);}
.physical-screen{position:absolute;left:9px;right:9px;top:25px;height:65%;overflow:hidden;background:#250103;box-shadow:0 0 0 1px #ee657f40,inset 0 0 12px #0005;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.physical-screen video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.physical-front-title{position:absolute;left:7px;right:7px;bottom:28px;text-align:center;font-family:Arial,sans-serif;font-weight:500;font-size:8px;letter-spacing:.7px;color:#e8c987;white-space:nowrap}
.physical-back-title{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(90deg);font:500 11px Arial,sans-serif;letter-spacing:1.1px;color:#e8c987;white-space:nowrap;text-shadow:0 1px 1px #30000050}
.physical-floor{backface-visibility:hidden;background:radial-gradient(ellipse 13% 11% at 50% 70%,#c82b3c55,transparent),radial-gradient(ellipse 26% 30% at 50% 70%,#93111d 20%,#57020b 65%,#100203 100%);}
.physical-screen{left:26px;right:8px;top:15px;bottom:15px;height:auto}.physical-front-title{top:50%;left:13px;right:auto;bottom:auto;transform:translate(-50%,-50%) rotate(90deg);font-size:9px;letter-spacing:.8px}
/* Ceiling-mounted portrait / landscape film surfaces; proportional insets preserve the exact ratios. */
.physical-screen{left:5%;right:auto;top:5%;bottom:auto;width:90%;height:90%;box-shadow:0 0 0 1px #ee657f40}
.physical-front-title{left:2.5%;font-size:8px;letter-spacing:.6px}
.physical-ceiling{backface-visibility:hidden;background:radial-gradient(ellipse 20% 18% at 50% 72%,#3d080e,#0c0203 75%);box-shadow:0 3px 10px #0009}
.physical-mount{backface-visibility:hidden;background:linear-gradient(90deg,#160306,#63101a,#220306);box-shadow:0 0 1px #a9324050}
.pillar-gallery{height:clamp(480px,58vw,820px)}
@media(max-width:600px){.pillar-gallery{height:540px}}
.pillar-gallery{background:linear-gradient(#100203 0%,#100203 46%,#58030e 78%,#93111d 100%)}
/* Warm red studio matched to the supplied original frame, without ceiling grid. */
.gallery-section{background:linear-gradient(#890c13 0,#530902 90px,#160301 175px)}
.pillar-gallery{background:radial-gradient(ellipse at 48% 84%,#a5160a 0,transparent 65%),linear-gradient(#130302 0%,#440a03 23%,#710c02 65%,#aa1713 100%)}
.physical-ceiling{background:radial-gradient(ellipse 27% 18% at 50% 29%,#6c0c03 0,#4c0802 48%,#130301 100%);box-shadow:none}
.physical-face{box-shadow:inset 1px 0 2px #ffb5a09c,inset -1px 0 2px #57060080;background-color:var(--face-red,#d32223)}
.physical-front,.physical-back{background-image:linear-gradient(102deg,#ff837a30 0%,#ff756b16 3%,transparent 14%,#42050018 72%,#ff756b24 100%)}
.physical-face:after{background:radial-gradient(ellipse at 15% 0%,#ffb5a36b,transparent 56%),linear-gradient(115deg,#ffa19538,transparent 35%,#30040012 76%,#ffafa144);opacity:var(--shine,.5)}
.physical-face:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E")}
.physical-floor{background:radial-gradient(ellipse 7% 3% at 49% 67%,#ff817080 0%,transparent 100%),radial-gradient(ellipse 16% 6% at 50% 67%,#ed443c 0%,#c02524 45%,#9c140e 100%);box-shadow:none}
.physical-mount{background:linear-gradient(90deg,#380501,#b82118 45%,#5d0a03);box-shadow:0 0 1px #ff8b7155}
.physical-screen{box-shadow:0 0 0 1px #ff9a7f70}
.pillar-gallery:after{content:'';position:absolute;inset:84% 0 0;pointer-events:none;background:linear-gradient(transparent,#6d0b06 80%,#310602 100%)}
.gallery-caption{background:#310602;color:#dcbcac}
@media(max-width:600px){.gallery-section{background:linear-gradient(#890c13,#160301 125px)}}

/* Continuous red sweep from the hero; no black interstitial or visible rigging. */
.gallery-section{padding:0;background:#890c13}
.pillar-gallery{background:radial-gradient(ellipse at 50% 78%,#ad1b13 0%,transparent 70%),linear-gradient(#890c13 0%,#780d0a 35%,#940e09 72%,#b82625 100%);mask-image:none;-webkit-mask-image:none}
.pillar-gallery:before{content:'';position:absolute;z-index:2;inset:0 0 auto;height:80px;background:linear-gradient(#890c13,transparent);pointer-events:none}
.pillar-gallery:after{inset:92% 0 0;background:linear-gradient(transparent,#9d1718)}
.gallery-caption{background:#9d1718}
@media(max-width:600px){.gallery-section{padding:0;background:#890c13}}

/* Spatial ceiling, mottled lacquer and softly moving floor shadows. */
.gallery-section{padding-top:64px;background:linear-gradient(#890c13,#520a0b 46%,#170303)}
.pillar-gallery{background:#660a06;height:clamp(540px,56.25vw,980px)}
.pillar-gallery:before,.pillar-gallery:after{display:none}
.gallery-room{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.room-wall{position:absolute;inset:0;background:radial-gradient(ellipse at 48% 78%,#a91b11,transparent 70%),linear-gradient(#170303 0%,#300502 16%,#6b0b04 42%,#8f1009 82%,#a02019 100%)}
.room-ceiling{position:absolute;z-index:1;inset:0 0 auto;height:24%;background:linear-gradient(178deg,#890c13 0%,#240404 20%,#0c0202 48%,#390806 100%);clip-path:polygon(0 0,100% 0,100% 58%,0 100%);filter:drop-shadow(0 3px 4px #13010180)}
.room-floor{position:absolute;z-index:1;left:-5%;right:-5%;bottom:-3%;height:25%;transform:skewY(-2deg);background:radial-gradient(ellipse at 48% 12%,#f45b4b75,transparent 70%),linear-gradient(#c52c26,#a51b19 55%,#790e10);box-shadow:0 -2px 12px #fb59433d}
.room-floor:after{content:'';position:absolute;inset:0;background:linear-gradient(173deg,transparent 20%,#1601012b 21%,transparent 23%,transparent 54%,#18010024 56%,transparent 59%),radial-gradient(ellipse at 75% 48%,#21010133,transparent 45%);pointer-events:none}
.pillar-shadow{position:absolute;height:16%;border-radius:12%;background:radial-gradient(ellipse,#140000c4 0%,#2400008c 42%,transparent 75%);filter:blur(5px);transform-origin:center;will-change:transform,opacity}
.room-grain{position:absolute;z-index:2;inset:0;opacity:.19;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='650' height='450'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.018 .07' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.8'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23grain)' d='M0 0h650v450H0z'/%3E%3C/svg%3E")}
.physical-face:before{opacity:.15;mix-blend-mode:multiply}
.physical-front,.physical-back{background-image:radial-gradient(ellipse at 70% 35%,#19000028,transparent 42%),linear-gradient(103deg,#ff837a25,transparent 15%,#15000020 67%,transparent 83%)}
.physical-face:after{opacity:calc(var(--shine,.5) * .65)}
.gallery-caption{background:#790e10}
@media(max-width:600px){.gallery-section{padding-top:40px;background:linear-gradient(#890c13,#170303)}.pillar-gallery{height:540px}}

.room-wall{background:radial-gradient(ellipse at 12% 40%,#16010155,transparent 32%),radial-gradient(ellipse at 81% 27%,#13010145,transparent 27%),radial-gradient(ellipse at 65% 75%,#22010038,transparent 35%),radial-gradient(ellipse at 48% 78%,#a91b11,transparent 70%),linear-gradient(#170303 0%,#300502 16%,#6b0b04 42%,#8f1009 82%,#a02019 100%)}

/* Background-only revision: one continuous red / oxblood / red light falloff. */
.gallery-section{background:#650b0d linear-gradient(#890c13,#650b0d) top/100% 64px no-repeat}
.pillar-gallery{background:#650b0d}
.room-wall{background:radial-gradient(ellipse at 12% 40%,#16010133,transparent 32%),radial-gradient(ellipse at 81% 35%,#13010133,transparent 30%),radial-gradient(ellipse at 65% 67%,#22010022,transparent 35%),linear-gradient(#650b0d 0%,#470709 13%,#300506 28%,#290405 48%,#3e0707 65%,#70100d 78%,#a21f18 92%,#af251d 100%)}
.room-ceiling{background:linear-gradient(178deg,#650b0d 0%,#4c080b 28%,#300508 62%,#260405 100%);clip-path:none;filter:none;mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 35%,transparent 100%)}
.room-floor{background:radial-gradient(ellipse at 48% 35%,#ec493b40,transparent 70%),linear-gradient(#8c1511,#b52a23 55%,#790e10);box-shadow:none;mask-image:linear-gradient(transparent 0%,#000 42%);-webkit-mask-image:linear-gradient(transparent 0%,#000 42%)}
.room-grain{mask-image:linear-gradient(transparent,#000 20%);-webkit-mask-image:linear-gradient(transparent,#000 20%)}
@media(max-width:600px){.gallery-section{background:#650b0d linear-gradient(#890c13,#650b0d) top/100% 40px no-repeat}}

.gallery-room{z-index:0}.physical-stage{z-index:1}

/* One shared background spans spacer, scene, floor and footer: no panel seams. */
.gallery-section{margin-top:-1px;padding:180px 0 0;background:linear-gradient(to bottom,#890c13 0%,#770b11 7%,#50080c 18%,#310507 32%,#290405 50%,#3b0708 64%,#6c110f 78%,#a5241d 91%,#991b19 100%)}
.pillar-gallery,.gallery-caption{background:transparent}
.gallery-room{background:transparent}
.room-wall{background:radial-gradient(ellipse at 12% 40%,#16010133,transparent 32%),radial-gradient(ellipse at 81% 35%,#13010133,transparent 30%),radial-gradient(ellipse at 65% 67%,#22010022,transparent 35%);mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 20%,#000 75%,transparent)}
.room-ceiling{height:34%;background:radial-gradient(ellipse at 50% 20%,#17020365,transparent 72%);clip-path:none;filter:none;mask-image:linear-gradient(transparent,#000 35%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 35%,transparent)}
.room-floor{background:radial-gradient(ellipse at 48% 60%,#ee534426,transparent 72%);box-shadow:none;mask-image:linear-gradient(transparent,#000 40%,#000 75%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 40%,#000 75%,transparent)}
.room-floor:after{background:radial-gradient(ellipse at 75% 48%,#21010122,transparent 55%)}
.room-grain{mask-image:linear-gradient(transparent,#000 22%,#000 76%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 22%,#000 76%,transparent)}
@media(max-width:600px){.gallery-section{padding:110px 0 0;background:linear-gradient(to bottom,#890c13 0%,#770b11 7%,#50080c 18%,#310507 32%,#290405 50%,#3b0708 64%,#6c110f 78%,#a5241d 91%,#991b19 100%)}}

.room-grain{opacity:.07;background-size:100% 100%;background-repeat:no-repeat}

/* An uninterrupted gallery extends through the second and third screens. */
.pillar-gallery{height:max(1400px,130vw);min-height:1400px;max-height:none}
@media(max-width:799px){.pillar-gallery{height:max(1450px,240vw);min-height:1450px}}

/* Reduce the complete hero-to-first-panel gap to one third. */
.gallery-section{padding-top:60px}
@media(max-width:600px){.gallery-section{padding-top:36.6667px}}

/* Portfolio stills remain attached to their rotating faces. */
.physical-screen.film-trigger{padding:0;border:0;pointer-events:auto;cursor:pointer;background:#130806}
.physical-screen img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.film-trigger:focus-visible{outline:2px solid #e6c985;outline-offset:-3px}
body.film-player-open{overflow:hidden}
dialog.film-player{inset:0;margin:auto;width:min(1200px,96vw);height:auto;max-height:94svh;overflow:auto;background:#100c0c;color:#f4eee5;padding:20px 24px 24px;border:1px solid #f4eee526;animation:none}
.film-player::backdrop{background:#080404e8;backdrop-filter:blur(8px)}
.film-player-header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}
.film-player-header h2{margin:0;font-size:12px;font-weight:400;letter-spacing:2px;color:#d5b36d}
.film-player-header button{background:none;border:0;color:inherit;padding:8px;font-size:13px}
.film-player>video{display:block;width:100%;height:auto;max-height:76svh;object-fit:contain;background:#000}
.film-player-status{font-size:12px;margin:12px 0 0;color:#ddd}
.film-player-status:empty{display:none}
@media(max-width:600px){dialog.film-player{width:96vw;padding:14px}.film-player>video{max-height:74svh}}

/* Identical film faces, with horizontal engraved captions beneath each image. */
.physical-screen{left:6%;top:3%;width:88%;height:88%;right:auto;bottom:auto}
.physical-film-title{position:absolute;left:6%;right:6%;top:auto;bottom:1.5%;height:7.5%;display:flex;align-items:center;justify-content:center;transform:none;writing-mode:horizontal-tb;text-align:center;font:500 9px Arial,sans-serif;letter-spacing:.8px;line-height:1;color:#e8c987;white-space:nowrap;text-shadow:0 1px 1px #3b0b0866,0 -1px 0 #ffedb844;pointer-events:none}

/* Menu pages: editorial portfolio and practical project brief. */
.about-copy{max-width:660px}.about-copy p{font-size:17px;line-height:2;word-break:keep-all;margin:0 0 36px}
dialog[data-page="films"]{background:#111;color:#fff}.portfolio-nav{display:flex;flex-wrap:wrap;gap:10px 22px;padding:0 0 24px;border-bottom:1px solid #ffffff30}.portfolio-nav button{border:0;background:none;color:#aaa;padding:10px 0;font-size:12px}.portfolio-nav button[aria-pressed="true"]{color:#fff;box-shadow:0 2px #d32b2d}.portfolio-nav small{font-size:9px;margin-left:5px;color:#b75b52}.portfolio-group{margin:42px 0 60px}.portfolio-group[hidden]{display:none}.portfolio-group h2{font-size:17px;font-weight:400;letter-spacing:.1px;margin:0 0 22px}.portfolio-grid{display:grid;grid-template-columns:1fr;gap:28px}.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:610px}.portfolio-card{display:block;padding:0;background:none;color:inherit;border:0;text-align:left;min-width:0}.portfolio-frame{position:relative;display:block;background:#251919;overflow:hidden;width:100%}.portfolio-frame img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s}.portfolio-card:hover img{transform:scale(1.025)}.portfolio-play{position:absolute;right:16px;bottom:16px;background:#100b0bcc;color:#fff;font-size:11px;padding:9px 13px}.portfolio-info{display:flex;justify-content:space-between;gap:15px;margin-top:13px;font-size:12px}.portfolio-info small{font-size:10px;color:#999}.portfolio-card:focus-visible{outline:2px solid #e95144;outline-offset:7px}
.budget-field{border:0;padding:0;margin:0 0 28px;min-width:0}.budget-field legend{font-size:10px;margin-bottom:14px;padding:0}.budget-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:15px}.budget-summary output{font-size:18px;font-weight:500;letter-spacing:-.6px}.budget-undecided{display:flex;gap:6px;align-items:center;white-space:nowrap;margin:0;font-size:11px}.budget-undecided input{width:14px;height:14px;margin:0;accent-color:#b71924}.range-label{display:flex;align-items:center;gap:14px;font-size:10px;white-space:nowrap;margin-bottom:14px}.range-label input[type="range"]{appearance:none;flex:1;min-width:0;display:block;height:5px;padding:0;border:0;border-radius:4px;cursor:pointer;background:linear-gradient(to right,#b71924 var(--range-fill),#ddd var(--range-fill))}.range-label input[type="range"]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:50%;background:#b71924;border:3px solid #fff;box-shadow:0 0 0 1px #b71924}.range-label input[type="range"]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:#b71924;border:2px solid white}.range-label input:disabled{opacity:.3;cursor:default}.range-scale{display:flex;justify-content:space-between;padding-left:54px;font-size:9px;color:#888}input[type="date"]{min-height:42px;color-scheme:light}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #b71924;outline-offset:4px}
.attachment-field{margin-bottom:28px}.upload-zone{position:relative;display:block;border:1px dashed #aaa;background:#faf7f5;padding:22px;margin:0;cursor:pointer}.upload-zone:focus-within,.upload-zone.drag-over{outline:2px solid #b71924;outline-offset:2px;background:#fff3ef}.upload-zone>span{display:flex;justify-content:space-between;font-size:12px}.upload-zone b{font-weight:400;font-size:18px}.upload-zone small{display:block;color:#777;font-size:10px;margin-top:9px;line-height:1.8}.upload-zone input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}#attachmentHelp,#attachmentStatus{font-size:10px;line-height:1.8;color:#777}#attachmentStatus{color:#a41420}.attachment-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.attachment-tile{position:relative;min-width:0}.attachment-tile img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.attachment-tile>span{display:block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:10px;padding:7px 0}.attachment-tile button{position:absolute;right:4px;top:4px;width:25px;height:25px;border:0;background:#111b;color:white;font-size:17px}
@media(max-width:600px){.portfolio-nav{gap:7px 15px}.portfolio-nav button{font-size:11px}.portrait-grid{gap:15px}.portfolio-play{right:8px;bottom:8px;padding:6px 9px}.portfolio-info{font-size:11px}.about-copy p{font-size:15px}.budget-summary output{font-size:17px}.film-list strong{font-size:20px}.film-list button{grid-template-columns:18px minmax(0,1fr) 65px 13px}.film-list small{line-height:1.7}}
.portrait-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none;gap:18px}
@media(max-width:1100px){.portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.portrait-grid{gap:14px}}
/* Founder portfolio integrated directly below the About introduction. */
#panel[data-page="about"] .panel-body{container-type:inline-size}
.about-heading{font-size:clamp(22px,6cqw,66px);letter-spacing:-.04em;line-height:1.35;margin-bottom:36px}
.about-heading span{display:block;white-space:nowrap}
.about-copy{max-width:none}.about-copy p{font-size:15px;line-height:2;word-break:keep-all;margin-bottom:0}
.founder-profile{margin-top:clamp(160px,22svh,240px);padding:0;border:0;color:#191919}.founder-profile>h2{font-family:'Courier New',monospace;font-size:clamp(21px,2.4vw,30px);line-height:1.6;font-weight:400;letter-spacing:-.6px;margin:0 0 48px}.founder-profile>h2 span{display:inline;font:inherit}.founder-portfolio h3{font-family:'Courier New',monospace;font-size:22px;font-weight:400;margin:0 0 20px;letter-spacing:-.5px}.founder-portfolio ul{list-style:none;margin:0;padding:0;border:0}.founder-portfolio li{display:block;padding:0;border:0;font-size:15px;line-height:1.95;font-weight:400;overflow-wrap:break-word}.founder-more{font-size:15px;line-height:1.95;margin:20px 0 0;color:inherit}.about-choice-link{margin-top:40px}
@media(max-width:600px){.about-copy p{font-size:13px}.founder-profile{margin-top:140px}.founder-profile>h2{font-size:20px;letter-spacing:-.6px;margin-bottom:32px}.founder-portfolio h3{font-size:20px}.founder-portfolio li{font-size:13px;line-height:1.8;margin-bottom:6px}.founder-more{font-size:13px}}
/* Playback affordance is part of each rotating film face. */
.pillar-play-icon{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding-left:3px;width:var(--play-size,42px);height:var(--play-size,42px);border:1px solid #ffffffe0;border-radius:50%;background:#10080780;color:#fff;font:400 calc(var(--play-size,42px) * .42)/1 Arial,sans-serif;text-shadow:0 1px 4px #0006;box-shadow:0 2px 10px #0002;pointer-events:none;transition:background .2s,box-shadow .2s}.film-trigger:hover .pillar-play-icon,.film-trigger:focus-visible .pillar-play-icon{background:#a91724d9;box-shadow:0 2px 15px #0004}
/* Founder name and role; role retains the reference typography. */
.founder-profile>h2{font-size:clamp(34px,3.6vw,46px);font-weight:700;line-height:1.25;margin:0 0 8px}.founder-role{font-family:'Courier New',monospace;font-size:clamp(21px,2.4vw,30px);font-weight:400;line-height:1.6;letter-spacing:-.6px;color:inherit;margin:0 0 48px}
.stage .hero-footer{z-index:3;bottom:28px;left:8%;right:5%;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;color:#eee5da}.footer-brand-block{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-logo{display:flex;align-items:flex-start;gap:1px;line-height:1!important;padding:0!important}.footer-logo-b{display:block;width:22px;height:32px;background:#eee5da;mask:url('assets/bani-mark-red-silk.png') -8.4px -3.5px/34px 37.2px no-repeat;-webkit-mask:url('assets/bani-mark-red-silk.png') -8.4px -3.5px/34px 37.2px no-repeat}.footer-logo>span{padding-top:9px;font-size:24px;font-weight:700;letter-spacing:-1px}.footer-logo small{display:block;font-size:7px;font-weight:500;letter-spacing:3px;margin-top:6px;margin-left:-21px}.footer-brand-block>p{font-size:10px;line-height:1.6;letter-spacing:.05em;margin:0;color:#eee5dacc}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.footer-links button,.footer-links a{display:inline-block;border:0;background:none;color:#eee5da;font-size:10px;line-height:1.5;letter-spacing:1px;padding:5px 0;cursor:pointer}.footer-links button:hover,.footer-links a:hover{opacity:.65}.footer-explore{font-size:10px!important;white-space:nowrap;opacity:.8}.footer-notice{position:fixed;z-index:50;left:50%;bottom:28px;transform:translate(-50%,12px);background:#f7f1e9;color:#191111;box-shadow:0 4px 25px #0003;font-size:13px;padding:15px 24px;border-radius:2px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,transform .18s,visibility .18s;max-width:90vw;text-align:center}.footer-notice.visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
@media(max-width:600px){.founder-profile>h2{font-size:34px}.founder-role{font-size:20px;margin-bottom:32px}.stage .hero-footer{left:6%;right:6%;bottom:25px;gap:15px}.footer-links{gap:18px}.footer-links button,.footer-links a{font-size:9px;letter-spacing:.5px}.footer-brand-block>p{font-size:9px}.footer-explore{position:absolute;right:0;bottom:112px}}

/* Contact details follow the entire gallery in normal document flow. */
.site-footer{position:relative;inset:auto;margin:0;padding:62px 8% 55px;display:block;background:linear-gradient(#991b19,#810f15);color:#eee5da}
.gallery-caption{justify-content:flex-end}
.founder-profile{text-align:left}
@media(max-width:600px){.site-footer{padding:45px 6% 38px}}

/* Seven rotating films share a taller continuous gallery. */
.pillar-gallery{height:max(1900px,170vw);min-height:1900px}
@media(max-width:799px){.pillar-gallery{height:max(2100px,340vw);min-height:2100px}}

/* Footer contacts share the tagline row, aligned at the right edge. */
.site-footer .footer-brand-block{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;row-gap:13px;align-items:center}
.site-footer .footer-logo{grid-column:1 / -1;justify-self:start}
.site-footer .footer-brand-block>p{grid-column:1;grid-row:2}
.site-footer .footer-links{grid-column:2;grid-row:2;justify-self:end;justify-content:flex-end;flex-wrap:nowrap}
@media(max-width:600px){.site-footer .footer-brand-block{column-gap:14px}.site-footer .footer-links{gap:10px}.site-footer .footer-links button{font-size:8px;letter-spacing:.3px}}
