@font-face{font-family:NotoLocal;src:url('fonts/noto-sans-400.ttf') format('truetype');font-weight:400 500;font-display:swap}@font-face{font-family:NotoLocal;src:url('fonts/noto-sans-700.ttf') format('truetype');font-weight:600 700;font-display:swap}html[lang=kk],html[lang=ug-Cyrl]{font-family:NotoLocal,Manrope,Arial,sans-serif}
@font-face{font-family:Manrope;src:url('fonts/manrope-400.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope-500.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope-600.ttf') format('truetype');font-weight:600;font-display:swap}@font-face{font-family:Manrope;src:url('fonts/manrope-700.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#f5f8fc;--ink:#14233f;--muted:#64718a;--blue:#1058f5;--line:#dfe5ef;--ease:cubic-bezier(.22,.8,.25,1);--header-height:84px;color-scheme:light;font-family:Manrope,Arial,sans-serif;font-weight:400;background:var(--paper);color:var(--ink);scroll-behavior:smooth;scroll-padding-top:96px}
*,*:before,*:after{box-sizing:border-box}body{margin:0;overflow-x:clip;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{color:inherit;cursor:pointer}button:disabled{opacity:.4;cursor:default}button{border:0}img{max-width:100%;height:auto;display:block}svg{display:inline-block}p,h1,h2,h3,figure{margin:0}p{line-height:1.75}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #1058f5;outline-offset:5px}::selection{background:#c8d9ff;color:#0c2d76}[hidden]{display:none!important}.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}.container{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.blue-text{color:var(--blue)}.soft-text{color:#78859c}.small-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.skip-link{position:fixed;z-index:100;left:16px;top:-80px;padding:15px 22px;background:var(--ink);color:white;border-radius:40px}.skip-link:focus{top:12px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:17px 25px;border-radius:100px;font-size:12px;font-weight:600;line-height:1.4;border:1px solid transparent;transition:background .25s,box-shadow .3s,transform .3s var(--ease);position:relative;isolation:isolate;white-space:normal}.button .icon{width:18px;height:18px;transition:transform .35s var(--ease)}.button:hover .icon{transform:translate(2px,-2px)}.button:hover{transform:translateY(-2px)}.button-blue{background:var(--blue);color:#fff;box-shadow:0 7px 20px #1058f51a}.button-blue:hover{background:#0047d9;box-shadow:0 12px 24px #1058f52e}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#253b62}.header-book{padding:12px 19px;font-size:11px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:12px;font-weight:600;min-height:44px;transition:color .25s}.text-link:hover{color:var(--blue)}.text-link .icon{transition:transform .3s var(--ease)}.text-link:hover .icon{transform:translateX(3px)}.icon-button{width:44px;height:44px;padding:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:transparent;transition:background .2s}.icon-button:hover{background:#e7edf7}
.team-section{padding-top:32px}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.team-card{min-width:0}.portrait{display:block;overflow:hidden;border-radius:22px;background:#e3e8ed;aspect-ratio:.77;position:relative;transition:transform .55s var(--ease),box-shadow .55s}.portrait img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.portrait .portrait-expand{position:absolute;right:14px;bottom:14px;background:#fff;border-radius:50%;width:33px;height:33px;display:flex;align-items:center;justify-content:center;transform:translateY(52px);transition:transform .4s var(--ease)}.portrait-expand .icon{width:15px;height:15px}.portrait:hover .portrait-expand,.portrait:focus-visible .portrait-expand{transform:none}.portrait:hover{transform:translateY(-7px);box-shadow:0 20px 36px #14233f12}.portrait:hover img{transform:scale(1.035)}.team-card:nth-child(4n+2){padding-top:32px}.team-card:nth-child(4n+4){padding-top:32px}.team-card[data-person="niyara"] .portrait img{object-position:50% 43%}.team-card[data-person="mira"] .portrait img{object-position:50% 46%}.person-info{display:flex;align-items:center;justify-content:space-between;padding:17px 3px}.person-info h3{font-size:16px;font-weight:500;letter-spacing:-.4px}.person-info span{font-size:10px;color:var(--muted)}.film-section{background:#eff4fc;position:relative;border-radius:40px;margin:0 18px;padding-block:90px}.film-stage{border-radius:26px;overflow:hidden;background:#d7e2f1}.film-play{position:relative;aspect-ratio:2.25;display:flex;align-items:center;justify-content:center;isolation:isolate}.film-play picture{position:absolute;inset:0;z-index:-2}.film-play img{height:100%;width:100%;object-fit:cover;object-position:center 42%;transition:transform 1.2s var(--ease)}.film-play:hover img{transform:scale(1.025)}.film-shade{position:absolute;inset:0;background:linear-gradient(0deg,#041527b3,transparent 70%);z-index:-1}.play-orb{height:86px;width:86px;border-radius:50%;background:#ffffffee;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 35px #102d5730;transition:transform .5s var(--ease),background .3s}.play-orb .icon{width:30px;height:30px;margin-left:1px;color:var(--blue)}.film-play:hover .play-orb{transform:scale(1.1);background:white}.film-caption{position:absolute;left:32px;bottom:30px;color:white}.film-caption strong{display:block;font-size:25px;letter-spacing:-1px;font-weight:500;margin-top:9px}.film-corner{position:absolute;bottom:30px;right:32px;color:white}.film-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;font-size:11px;color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}.gallery-item{display:block;position:relative;border-radius:22px;overflow:hidden;background:#e9edf2;aspect-ratio:.83}.gallery-item:nth-child(2){margin-top:55px;aspect-ratio:1}.gallery-item:nth-child(3){margin-top:20px;aspect-ratio:.83}.gallery-item:nth-child(4){aspect-ratio:1.13;margin-top:-10px}.gallery-item:nth-child(5){aspect-ratio:.83;margin-top:-20px}.gallery-item:nth-child(6){aspect-ratio:1.13;margin-top:-10px}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease);object-position:50% 45%}.gallery-item:hover img{transform:scale(1.035)}.gallery-item .gallery-caption{position:absolute;bottom:14px;left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffffed;padding:12px 14px;border-radius:12px;font-size:10px;transform:translateY(80px);transition:transform .4s var(--ease)}.gallery-item .gallery-caption .icon{width:15px;height:15px}.gallery-item:hover .gallery-caption,.gallery-item:focus-visible .gallery-caption{transform:none}.gallery-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:27px;font-size:11px;color:var(--muted)}
.contact-section{background:#edf3ff;position:relative;overflow:hidden;isolation:isolate;border-radius:40px 40px 0 0;padding-top:100px;padding-bottom:100px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:115px;align-items:start;position:relative;z-index:1}.contact-copy h2{font-size:clamp(40px,4.1vw,64px);letter-spacing:-3px;line-height:1.15;margin-top:27px}.contact-copy .lead{font-size:14px;color:var(--muted);max-width:330px;margin-top:27px}.contact-socials{display:flex;gap:24px;margin-top:36px}.contact-socials a{display:flex;align-items:center;gap:16px;font-size:12px;min-height:44px}.contact-socials a:hover{color:var(--blue)}.contact-socials .icon{width:16px;height:16px}.contact-ribbon{position:absolute;z-index:-1;width:750px;left:-190px;bottom:-160px;opacity:.75;pointer-events:none;transform:rotate(-15deg)}.contact-ribbon img{width:100%;animation:float-ribbon 14s ease-in-out infinite}.booking-panel{background:#ffffffeb;border:1px solid #fff;border-radius:28px;padding:35px;box-shadow:0 18px 65px #5179bf0c}.booking-panel h3{font-weight:500;font-size:23px;letter-spacing:-.8px}.booking-panel>p{font-size:12px;color:var(--muted);margin-top:9px;margin-bottom:23px}.booking-panel form{display:grid;gap:18px}label{display:flex;flex-direction:column;position:relative;gap:8px;font-size:11px;font-weight:500}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-row>label{min-width:0}input,select,textarea{border:1px solid #e3e8f1;background:#f8faff;border-radius:10px;padding:12px 13px;color:var(--ink);font-size:13px;min-height:46px;width:100%;min-width:0;transition:border-color .2s;box-sizing:border-box}input::placeholder,textarea::placeholder{color:#8994a7}textarea{resize:vertical;max-height:200px}.optional{position:absolute;right:0;font-size:10px;color:var(--muted);font-weight:400}select{appearance:auto}.booking-submit{width:100%;padding-block:15px}.form-note{font-size:10px;color:var(--muted);text-align:center;line-height:1.6;margin-top:-8px}.direct-contacts{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.direct-contacts>.small-label{display:block;font-size:9px;color:var(--muted);margin-bottom:10px}.phone-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.phone-row>a:first-child{display:flex;align-items:center;gap:14px;min-height:44px;font-size:14px;font-weight:500;letter-spacing:.2px}.phone-row>a:hover{color:var(--blue)}.phone-row>a>.icon{width:16px;height:16px;color:var(--muted)}.phone-call .icon{width:17px;height:17px}
dialog{border:none;padding:0;max-width:100vw;max-height:100dvh;color:var(--ink)}dialog::backdrop{background:#071126dc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.lightbox{width:min(1200px,94vw);background:#f7f9fc;border-radius:22px;overflow:hidden}.lightbox-shell{height:min(860px,92dvh);display:flex;flex-direction:column}.lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;padding:8px 17px;font-size:12px;flex-shrink:0}.lightbox-toolbar>div{display:flex;gap:6px}.lightbox-image-wrap{flex:1;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;padding:4px 10px;background:#eff2f6;overscroll-behavior:contain;touch-action:pan-y pinch-zoom}.lightbox-image-wrap img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain}.lightbox-image-wrap.zoomed{display:block;cursor:zoom-out}.lightbox-image-wrap.zoomed img{max-height:none;max-width:none;width:auto;height:auto;margin:0 auto}.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;flex-shrink:0}.lightbox-bottom p{font-size:12px;text-align:center}.previous .icon{transform:rotate(180deg)}.video-dialog{width:min(440px,94vw);background:#101a2c;color:white;border-radius:20px}.video-shell{max-height:94dvh;display:flex;flex-direction:column}.video-toolbar{display:flex;align-items:center;justify-content:space-between;padding:7px 15px;font-size:11px;flex-shrink:0}.video-toolbar .icon-button:hover{background:#ffffff15}.video-frame-container{height:min(70dvh,690px);aspect-ratio:9/16;max-width:100%;margin-inline:auto;background:#000}.video-frame-container iframe{border:0;width:100%;height:100%;display:block}.video-fallback{padding:15px;display:block;text-align:center;font-size:11px}.video-fallback:hover{color:#9cc5ff}body.modal-open{overflow:hidden}dialog[open]{animation:modal-in .3s var(--ease)}

/* Header overlays the same artwork as the hero, as in the approved reference. */
.site-header{position:fixed;inset:0 0 auto;z-index:40;background:transparent;transition:background .35s,box-shadow .35s}
.site-header.scrolled,.site-header:has(.mobile-menu:not([hidden])){background:#f5f8fcf5;box-shadow:0 1px 0 #14233f0d;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.header-inner{width:calc(100% - 7.2%);height:84px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:auto}
.wordmark{justify-self:start;font-size:42px;font-weight:500;letter-spacing:-2.9px;line-height:1;display:inline-block}
.desktop-nav{display:flex;align-items:center;gap:30px;font-size:13px;font-weight:500}
.desktop-nav a{padding-block:14px;position:relative;transition:color .25s}
.desktop-nav a:hover,.desktop-nav a.active{color:var(--blue)}
.header-book{justify-self:end;padding:11px 24px;gap:17px;font-size:14px;font-weight:500}
.menu-trigger{display:none;justify-self:end}
.mobile-menu{position:absolute;top:100%;left:0;right:0;padding:12px 24px 24px;background:#f5f8fcf7;box-shadow:0 15px 25px #14233f08;backdrop-filter:blur(18px)}
.mobile-menu a{display:block;padding:16px 0;border-top:1px solid var(--line);font-size:21px}
/* Two art-directed source images keep every face in view on both formats. */
.hero{position:relative;isolation:isolate;aspect-ratio:1113/656;min-height:520px;max-height:1000px;overflow:clip;background:#f5f8fc}
.hero-art{position:absolute;inset:-3px;display:block;z-index:-1;transform:translate3d(var(--px,0px),var(--py,0px),0);transition:transform 1.6s var(--ease);pointer-events:none}
.hero-art img{width:100%;height:100%;object-fit:cover;object-position:center;animation:scene-breathe 14s ease-in-out infinite;transform-origin:70% 55%}
.hero-content{position:absolute;left:3.6%;top:31%;max-width:48%;z-index:1}
.hero h1{font-size:clamp(39px,4.75vw,80px);font-weight:400;line-height:1.09;letter-spacing:-.052em;text-wrap:normal}
.hero h1>span{display:block;white-space:nowrap}
.hero-description{font-size:clamp(14px,1.48vw,22px);line-height:1.55;margin-top:14px;letter-spacing:-.02em}
.hero-watch{margin-top:28px;font-size:clamp(13px,1.19vw,18px);font-weight:500;padding:13px 24px;gap:18px;box-shadow:none}
.hero-watch .icon{height:17px;width:17px}
.scene-mark{position:absolute;left:3.6%;bottom:13%;display:flex;gap:12px;align-items:center}
.scene-mark i{width:25px;height:3px;background:#dfe6ef;border-radius:8px}
.scene-mark i:first-child{background:var(--blue)}
/* Wide introduction banner directly below the hero. */
.intro{padding:0 2.1%;position:relative;margin-top:-1px}
.intro-card{display:block;position:relative;width:100%;aspect-ratio:4.16;min-height:220px;max-height:390px;border-radius:24px;overflow:hidden;background:#e7edf3;isolation:isolate;box-shadow:0 8px 30px #162c5210}
.intro-card picture{position:absolute;inset:0;z-index:-2;display:block}
.intro-card img{width:100%;height:100%;object-fit:cover;object-position:50% 60%;transition:transform 1.2s var(--ease)}
.intro-card:hover img{transform:scale(1.012)}
.intro-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#f4f7fb70,transparent 25%,transparent 74%,#f4f7fb45)}
.intro-card h2{position:absolute;left:3.2%;bottom:25%;font-weight:400;line-height:1.15;letter-spacing:-.04em}
.intro-card h2>span{display:block;font-size:clamp(16px,1.65vw,25px);letter-spacing:-.02em;margin-bottom:4px}
.intro-card h2 strong{display:block;font-size:clamp(36px,4.4vw,64px);font-weight:400}
.intro-right{position:absolute;right:3.2%;bottom:26%;display:flex;align-items:end;gap:20px}
.intro-motto{white-space:pre-line;font-size:clamp(13px,1.3vw,19px);line-height:1.35;width:clamp(106px,10vw,155px)}
.circle{width:54px;height:54px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:white;flex-shrink:0;box-shadow:0 5px 15px #10233b0b;transition:transform .4s var(--ease)}
.intro-card:hover .circle{transform:translateX(4px)}
h2{font-size:clamp(34px,3.4vw,52px);line-height:1.16;letter-spacing:-.045em;font-weight:400;text-wrap:balance}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:38px}
.section-head>p{font-size:14px;line-height:1.75;color:var(--muted);max-width:330px}
.team-section{padding-top:90px}
.person-info{padding:16px 2px}
.person-info h3{font-size:18px}
.gallery-expand{position:absolute;right:15px;bottom:15px;width:35px;height:35px;border-radius:50%;background:#fffffff2;display:flex;align-items:center;justify-content:center;transition:transform .3s,opacity .3s;opacity:0;transform:translateY(12px)}
.gallery-expand .icon{width:16px;height:16px}
.gallery-item:hover .gallery-expand,.gallery-item:focus-visible .gallery-expand{opacity:1;transform:none}
.gallery-note{font-size:12px;color:var(--muted);margin-top:25px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:24px;font-size:11px;color:var(--muted)}
.footer-languages,.footer-tools{display:flex;align-items:center;gap:22px}
.footer-languages a{min-height:44px;display:inline-flex;align-items:center;font-size:12px}
.footer-languages a[aria-current]{color:var(--blue)}
.motion-toggle .icon{width:16px;height:16px}
.motion-toggle[aria-pressed=true]{color:var(--blue);background:#e9f0fb}
.footer-tools .text-link{font-size:11px;font-weight:500}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.reveal{opacity:1;transform:none}
.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(24px)}
.motion-ready .reveal{transition:opacity .8s var(--ease),transform .9s var(--ease)}
.motion-ready .team-card:nth-child(4n+2){transition-delay:.06s}.motion-ready .team-card:nth-child(4n+3){transition-delay:.12s}.motion-ready .team-card:nth-child(4n+4){transition-delay:.18s}
.page-hidden *{animation-play-state:paused!important}
@keyframes scene-breathe{0%,100%{transform:scale(1.003)}50%{transform:scale(1.012)}}
@keyframes float-ribbon{0%,100%{transform:rotate(0) translateY(0)}50%{transform:rotate(4deg) translateY(-12px)}}
@keyframes modal-in{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:1100px) and (min-width:761px){.header-inner{height:74px}.wordmark{font-size:38px}.desktop-nav{font-size:12px;gap:24px}.header-book{font-size:12px;padding:10px 20px}.hero-content{top:32%}.hero h1{font-size:4.75vw}.hero-description{font-size:1.5vw}.intro-card{min-height:190px}.intro-right{gap:15px}.intro-motto{font-size:13px;width:120px}.circle{width:48px;height:48px}.container{width:calc(100% - 64px)}.contact-grid{gap:40px}.booking-panel{padding:28px}.contact-copy h2{font-size:46px}.section{padding-block:75px}}
@media(max-width:760px){
:root{--header-height:70px;scroll-padding-top:84px}
.container{width:calc(100% - 40px)}
.header-inner{display:flex;justify-content:space-between;height:70px;width:calc(100% - 40px)}
.wordmark{font-size:37px;letter-spacing:-2.6px}.desktop-nav,.header-book{display:none}.menu-trigger{display:inline-flex}.menu-trigger .icon{width:25px;height:25px}
.hero{aspect-ratio:auto;min-height:0;max-height:none;display:flex;flex-direction:column;overflow:hidden}
.hero-art{position:relative;inset:auto;z-index:0;width:100%;aspect-ratio:7/10;display:block;transform:none!important;transition:none}
.hero-art img{object-fit:cover;object-position:top center;animation:none;transform:none}
.hero-content{position:relative;left:auto;top:auto;max-width:none;width:calc(100% - 40px);margin:-3px auto 0;z-index:1}
.hero h1{font-size:clamp(31px,10.75vw,74px);line-height:1.08;letter-spacing:-.05em;font-weight:400}
.hero-description{font-size:clamp(11px,4vw,21px);margin-top:7px;line-height:1.5;letter-spacing:-.03em;white-space:nowrap}
.hero-watch{margin-top:14px;font-size:clamp(12px,3.5vw,17px);padding:12px 21px;gap:16px;min-height:44px}
.scene-mark{position:static;width:calc(100% - 40px);margin:22px auto 20px;gap:12px}
.scene-mark i{width:18px;height:3px}
.intro{padding:0 7px;margin:0}
.intro-card{aspect-ratio:1.55;min-height:0;max-height:none;border-radius:13px;box-shadow:none}
.intro-card img{object-position:50% 42%;transition:transform .8s}
.intro-card:after{background:linear-gradient(0deg,#07152b85,transparent 62%)}
.intro-card h2{left:6%;bottom:9%;color:white;letter-spacing:-.04em}
.intro-card h2>span{font-size:clamp(13px,3.8vw,22px);margin-bottom:2px}.intro-card h2 strong{font-size:clamp(27px,8.4vw,48px)}
.intro-right{right:5%;bottom:9%}.intro-motto{display:none}.circle{width:50px;height:50px}
.section{padding-block:66px}h2{font-size:clamp(30px,8vw,44px);letter-spacing:-.04em}.section-head{display:block;margin-bottom:28px}.section-head>p{margin-top:17px;font-size:13px;max-width:100%}
.team-section{padding-top:8px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.team-card:nth-child(even){padding-top:25px}.portrait{border-radius:16px;aspect-ratio:.73}.portrait .portrait-expand{transform:none;right:10px;bottom:10px;width:28px;height:28px}.portrait-expand .icon{width:13px;height:13px}.person-info{padding-block:12px}.person-info h3{font-size:14px}.film-section{margin-inline:0;border-radius:26px;padding-block:50px}.film-stage{border-radius:19px}.film-play{aspect-ratio:1.05}.film-play img{object-position:50% 35%}.play-orb{height:64px;width:64px}.play-orb .icon{width:24px;height:24px}.film-caption{bottom:23px;left:22px}.film-caption .small-label{font-size:9px}.film-caption strong{font-size:20px}.film-corner{bottom:24px;right:20px}.film-footer{align-items:start;gap:15px;margin-top:13px;font-size:10px}.film-footer>span{max-width:50%;padding-top:8px}.film-footer .text-link{font-size:10px;gap:6px;flex-shrink:0}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-item{border-radius:16px;aspect-ratio:.74!important;margin:0!important}.gallery-item:nth-child(even){transform:translateY(24px)}.gallery-item .gallery-caption{display:none}.contact-section{border-radius:28px 28px 0 0;padding-block:60px}.contact-grid{grid-template-columns:1fr;gap:36px}.contact-copy h2{font-size:45px;letter-spacing:-2.3px;margin-top:21px}.contact-copy .lead{font-size:13px;margin-top:20px;max-width:100%}.contact-socials{gap:25px;margin-top:22px}.contact-ribbon{width:560px;left:25%;top:-90px;bottom:auto;opacity:.15}.booking-panel{padding:25px 22px;border-radius:23px}.booking-panel h3{font-size:22px}.booking-panel>p{font-size:12px}.booking-panel form{gap:17px}input,select,textarea{font-size:16px;padding:11px 12px}.form-row{gap:10px}.form-note{font-size:10px}.booking-submit{font-size:12px;gap:16px}.phone-row>a:first-child{font-size:14px}
.team-section{padding-top:65px}.person-info h3{font-size:16px}.gallery-note{font-size:10px;margin-top:45px}.gallery-expand{width:30px;height:30px;opacity:1;transform:none;right:10px;bottom:10px}.gallery-expand .icon{width:13px;height:13px}
.site-footer{display:grid;grid-template-columns:1fr auto;gap:12px;padding-block:23px;font-size:10px}.copyright{grid-column:1/-1}.footer-languages{gap:23px}.footer-tools{gap:7px}.footer-tools .text-link{font-size:10px;gap:9px}
.lightbox{width:100%;border-radius:0;height:100dvh;max-height:100dvh;margin:0}.lightbox-shell{height:100dvh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.lightbox-image-wrap{padding-inline:0}.lightbox-bottom{padding-bottom:20px}.lightbox-bottom p{font-size:11px}.video-dialog{border-radius:16px}.video-frame-container{height:70dvh}
}
@media(max-width:400px){.form-row{grid-template-columns:1fr}.optional{position:static;display:inline;font-size:9px}.booking-panel{padding:22px}.phone-row>a:first-child{font-size:13px}}
@media(max-width:370px){.hero-content,.scene-mark{width:calc(100% - 32px)}.header-inner{width:calc(100% - 32px)}.hero-watch{font-size:11px;padding-inline:18px}.container{width:calc(100% - 32px)}.contact-copy h2{font-size:39px}.booking-panel h3{font-size:20px}}
@media(hover:none){.portrait .portrait-expand,.gallery-expand{opacity:1;transform:none}.portrait:hover{transform:none;box-shadow:none}.button:hover{transform:none}}
html.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation:none!important;transition:none!important}.motion-paused .reveal{opacity:1!important;transform:none!important}.motion-paused .hero-art{transform:none!important}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal,.motion-ready .reveal:not(.visible){opacity:1;transform:none}.hero-art{transform:none!important}}

/* Focused revision: language selection in header and feathered image junction. */
.header-actions{justify-self:end;display:flex;align-items:center;gap:22px}
.header-languages{display:flex;align-items:center;gap:13px;flex-shrink:0}
.header-languages a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:12px;font-weight:500}
.header-languages a[aria-current]{color:var(--blue)}
.hero-art{mask-image:linear-gradient(to bottom,#000 calc(100% - 45px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 45px),transparent 100%)}
.intro{margin-top:16px}
.intro-card picture{mask-image:linear-gradient(to bottom,transparent 0,#000 18px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px)}
.intro-card{background:var(--paper);box-shadow:none}
@media(max-width:1100px) and (min-width:761px){.header-actions{gap:13px}.header-languages{gap:10px}.header-languages a{font-size:11px}.desktop-nav{gap:18px}.header-inner{gap:16px}.header-book{padding-inline:16px}}
@media(max-width:760px){.header-actions{gap:14px}.header-languages{gap:12px}.header-languages a{font-size:11px}.intro{margin-top:10px}.intro-card picture{mask-image:linear-gradient(to bottom,transparent 0,#000 12px);-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 12px)}.site-footer{display:flex;flex-wrap:wrap}.copyright{margin-right:auto}}
@media(max-width:370px){.header-actions{gap:8px}.header-languages{gap:10px}}

/* Approved red scene: preserve image proportions and all four dancers. */
@media(min-width:761px){.hero{aspect-ratio:1836/1024}.hero-art img{object-fit:cover}.hero-content{max-width:40%}.hero h1{font-size:clamp(32px,4.05vw,69px)}.hero-description{font-size:clamp(12px,1.3vw,20px)}}
@media(max-width:760px){.hero-art{aspect-ratio:1126/1024}.intro-card img{object-position:center}}

/* Ruby decoration and consistent photo presentation. */
.contact-section{background:#fff8f7;padding-bottom:160px}
.contact-ribbon{width:110%;max-width:1600px;left:-5%;bottom:-65px;top:auto;opacity:.72;transform:none}
.contact-ribbon img{width:100%}
.lightbox{background:#fffafa}
.lightbox-shell{position:relative;isolation:isolate}
.lightbox-shell:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('../images/ribbon-red.webp') center bottom/100% auto no-repeat;opacity:.24}
.lightbox-toolbar{justify-content:flex-end}
.lightbox-image-wrap{background:transparent;padding:12px 70px;overflow:hidden}
.lightbox-image-wrap img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center}
.portrait-expand,.gallery-expand{display:none!important}
.team-card:nth-child(n){padding-top:0}
.portrait{aspect-ratio:3/4}
.gallery-item:nth-child(n){aspect-ratio:3/4!important;margin:0!important;transform:none}
@media(max-width:760px){.contact-section{padding-bottom:90px}.contact-ribbon{width:160%;max-width:none;left:-30%;top:auto;bottom:-10px;opacity:.4}.lightbox-image-wrap{padding:12px 18px}.lightbox-shell:before{background-size:auto 80%;opacity:.2}.portrait{aspect-ratio:3/4}}

@media(max-width:760px){.intro-card img{transform:none!important;transition:none;image-rendering:auto}}

/* Each portrait gets its own dimensional ribbon, fitted to the photo edges. */
.lightbox-shell:before{display:none}
.lightbox{background:radial-gradient(ellipse at 50% 45%,#fff 30%,#fff3f1 100%)}
.lightbox-image-wrap{position:relative;overflow:hidden;padding:0;isolation:isolate}
.photo-stage{position:relative;flex:none;isolation:isolate}
.photo-frame{position:absolute;inset:0;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 22px 45px #57121c26,0 3px 9px #35071118;border:1px solid #ffffffd9;z-index:1}
.lightbox-image-wrap .photo-frame img{display:block;width:100%;height:100%;object-fit:contain;border-radius:inherit}
.photo-stage:before,.photo-stage:after{content:"";position:absolute;pointer-events:none;background:url('../images/ribbon-red.webp') center/100% 100% no-repeat;filter:saturate(1.2) contrast(1.08) drop-shadow(0 7px 7px #5d071d28);opacity:1}
.photo-stage:before{inset:-10% -36%;z-index:0;transform:translateX(var(--ribbon-x,0%)) rotate(var(--ribbon-angle,-10deg)) scaleX(var(--ribbon-flip,1))}
.photo-stage:after{inset:5% -24% -8%;z-index:2;transform:translateY(var(--front-y,0%)) rotate(var(--front-angle,8deg)) scaleX(var(--ribbon-flip,1));clip-path:polygon(0 74%,18% 80%,48% 94%,80% 83%,100% 73%,100% 100%,0 100%)}
.lightbox-toolbar,.lightbox-bottom{position:relative;z-index:3}
@media(max-width:760px){.photo-frame{border-radius:20px;box-shadow:0 14px 28px #57121c25}.photo-stage:before{inset:-7% -25%}.photo-stage:after{inset:6% -18% -6%}.lightbox-image-wrap{padding:0}}

/* Participant portraits: clean photo view without decorative ribbons. */
.lightbox[data-person]:not([data-person="gallery"]) .photo-stage:before,
.lightbox[data-person]:not([data-person="gallery"]) .photo-stage:after{display:none!important}

/* No decorative ribbons in any photo viewer. */
.lightbox .photo-stage:before,.lightbox .photo-stage:after,.lightbox-shell:before{display:none!important}

/* Direct contacts without the booking form. */
.contact-details .direct-contacts{border:0;margin:0;padding:0}.contact-details{align-self:center;padding:24px 0}.contact-details .small-label{font-size:13px}.contact-details .phone-row{max-width:360px}
