.ip-gallery-page{padding-block:60px 80px}
.ip-gallery-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:40px}
.ip-gallery-heading h1{font-size:clamp(36px,5vw,64px);letter-spacing:-.035em;margin-block:18px;line-height:1.15}
.ip-gallery-heading p{max-width:680px;line-height:1.9;color:#a6b3c4;margin:0}
.ip-gallery-heading>.btn{flex-shrink:0;min-height:44px;font-size:13px}
.ip-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;border-block:1px solid #b9dfff24;padding-block:20px;margin-bottom:12px}
.ip-filters{display:flex;flex-wrap:wrap;gap:8px}
.ip-filter{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:8px;background:transparent;color:#a6b3c4;font:inherit;font-size:14px;cursor:pointer}
.ip-filter span{font-size:11px;opacity:.7;font-variant-numeric:tabular-nums}
.ip-filter:hover{color:#e4f1ff;background:#a4d5ff0c}
.ip-filter.is-active{color:#d6edff;border-color:#acd8fa3b;background:#b7dcfb12}
#ip-result-count{font-size:12px;white-space:nowrap;color:#7e94ac;font-variant-numeric:tabular-nums}
.ip-collection{padding-block:44px 16px;scroll-margin-top:140px}
.ip-section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:24px}
.ip-section-heading .eyebrow{font-size:10px;letter-spacing:.18em;color:#7299b7}
.ip-section-heading h2{font-size:clamp(24px,3vw,36px);line-height:1.3;margin:10px 0 0;font-weight:500}
.ip-section-heading p{max-width:400px;color:#879bb0;font-size:13px;line-height:1.8;margin:0}
.ip-works{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.ip-card{display:block;min-width:0;text-align:start;text-decoration:none!important;color:#e6effb;border:1px solid #b8dafa20;border-radius:12px;overflow:hidden;background:linear-gradient(150deg,#142031,#0a101a);transition:border-color .22s,box-shadow .22s}
.ip-card:hover{border-color:#b6dcfb70;box-shadow:0 14px 45px #0004}
.ip-card:focus-visible,.ip-filter:focus-visible{outline:2px solid #b6e3ff;outline-offset:5px}
.ip-card-visual{display:block;position:relative;background:#080f19;aspect-ratio:16/9;overflow:hidden}
.ip-card-visual img{display:block;width:100%;height:100%;object-fit:contain;transition:filter .25s;transform:none}
.ip-card:hover .ip-card-visual img{filter:brightness(1.04)}
.ip-card-copy{display:flex;flex-direction:column;gap:9px;padding:24px}
.ip-card-copy>small{font-size:11px;color:#9bb7cd;letter-spacing:.04em}
.ip-card-copy>strong{font-weight:500;font-size:26px;line-height:1.3}
.ip-card-description{font-size:13px;line-height:1.85;color:#96a8bb}
.ip-card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding-top:14px;border-top:1px solid #a9d3f11a;font-size:12px;color:#b7d9f2}
.ip-card-action>span{font-size:18px}
.ip-expand{position:absolute;inset-block-start:14px;inset-inline-end:14px;display:grid;place-items:center;width:30px;height:30px;background:#06101bc9;border:1px solid #e4f4ff40;border-radius:50%;color:#fff}
.ip-play{position:absolute;inset:0;margin:auto;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;color:#fff;border:1px solid #fff8;background:#06111a8c;box-shadow:0 8px 30px #0004;font-size:16px;backdrop-filter:blur(8px);direction:ltr}
.ip-duration{position:absolute;inset-inline-end:12px;inset-block-end:12px;background:#05101be6;color:#e8f3ff;border:1px solid #d5e9fc33;border-radius:5px;padding:5px 8px;font-size:11px;font-variant-numeric:tabular-nums}
.ip-media-count{position:absolute;inset-inline-start:12px;inset-block-end:12px;background:#05101be6;color:#e8f3ff;border:1px solid #d5e9fc33;border-radius:5px;padding:5px 9px;font-size:11px}
.ip-series{min-width:0}
.ip-series>.ip-card{height:100%}
.ip-section-products .ip-card-visual{aspect-ratio:4/3;background:#131b25}
.ip-section-products .ip-card-copy>strong{font-size:23px}
.ip-media-fallback{padding:16px;color:#adc5da;font-size:13px}
.ip-media-fallback ul{padding-inline-start:20px}
.ip-media-fallback a{text-decoration:underline!important}
.ip-section-film .ip-works{grid-template-columns:1fr}
.ip-section-film .ip-card{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);align-items:center}
.ip-section-film .ip-card-copy{padding:32px}
.ip-section-film .ip-card-copy>strong{font-size:clamp(26px,3vw,36px)}
.ip-outro{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid #b9dfff24;margin-top:56px;padding-top:36px}
.ip-outro p{font-size:18px;color:#a1b6ca;line-height:1.6}
.ip-outro .btn{font-size:13px}
.ip-status{padding:18px;color:#b6cce2}
.ip-stage{--yaw:-20deg;--pitch:-8deg;--radius:280px;position:relative;height:520px;margin-top:26px;padding:0;overflow:hidden;border:1px solid #b9dfff24;border-radius:16px;perspective:1200px;background:radial-gradient(ellipse at 50% 54%,#21435c55,transparent 62%),linear-gradient(145deg,#101a27,#060b13 65%);touch-action:pan-y;cursor:grab;isolation:isolate;direction:ltr}
.ip-stage.is-dragging{cursor:grabbing}
.ip-stage:focus-visible{outline:2px solid #b9e7ff;outline-offset:5px}
.ip-stars{position:absolute;inset:0;opacity:.38;pointer-events:none;background-image:radial-gradient(circle at 18% 32%,#bfddfb 0 1px,transparent 1.5px),radial-gradient(circle at 70% 22%,#bfddfb 0 1px,transparent 1.5px),radial-gradient(circle at 85% 65%,#8bc2e8 0 1px,transparent 1.5px);background-size:430px 350px}
.ip-floor{position:absolute;width:850px;height:850px;left:calc(50% - 425px);top:40%;border:1px solid #99cced1c;border-radius:50%;background:repeating-radial-gradient(ellipse at center,transparent 0 89px,#96d5ff18 90px 91px,transparent 92px 134px);transform:rotateX(78deg);transform-origin:center top;pointer-events:none}
.ip-world{position:absolute;width:0;height:0;left:50%;top:48%;transform-style:preserve-3d;transform:translateZ(-340px) rotateX(var(--pitch)) rotateY(var(--yaw));transition:transform .4s ease}
.is-dragging .ip-world{transition:none}
.ip-ring{transform-style:preserve-3d}
.ip-ring .ip-card{position:absolute;width:286px;left:-143px;top:-137px;transform:rotateY(var(--angle)) translateZ(var(--radius));backface-visibility:hidden;box-shadow:0 16px 42px #0006}
.ip-ring .ip-card-copy{padding:16px;gap:6px}
.ip-ring .ip-card-copy>strong{font-size:20px}
.ip-ring .ip-card-copy>small{font-size:10px}
.ip-ring .ip-card-description,.ip-ring .ip-card-action{display:none}
.ip-stage-label{position:absolute;inset-inline:24px;inset-block-end:22px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.12em;color:#8ba5bf;pointer-events:none}
.ip-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:18px}
.ip-toolbar p{font-size:12px;color:#869db4;line-height:1.7}
.ip-modal-open{overflow:hidden}
#ip-dialog{width:min(1040px,calc(100vw - 32px));max-height:92dvh;padding:24px;color:#e2ecf8;background:#0b1522;border:1px solid #adcce64a;border-radius:16px;box-sizing:border-box;overscroll-behavior:contain}
#ip-dialog::backdrop{background:#02070ded;backdrop-filter:blur(10px)}
.ip-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.ip-dialog-head h2{font-size:26px;margin:0;font-weight:500}
#ip-close{flex-shrink:0;width:44px;height:44px;display:grid;place-items:center;border:1px solid #a9d2f333;border-radius:50%;color:#d3eafa;background:transparent;font-size:25px;cursor:pointer}
#ip-media img,#ip-media video{display:block;width:100%;max-height:64dvh;height:auto;object-fit:contain;background:#050a10;border-radius:8px;transform:none}
#ip-media p,#ip-dialog-desc{font-size:14px;line-height:1.9;color:#a9bdd0}
#ip-original{font-size:12px;margin-top:4px}
.ip-media-nav-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block:16px 12px}
.ip-media-nav-top .btn{font-size:11px;min-height:40px;flex-shrink:0;padding:8px 12px}
.ip-media-nav-top button:disabled{opacity:.35;cursor:default}
#ip-media-caption{font-size:12px;line-height:1.6;text-align:center;color:#adc5da;margin:0;overflow-wrap:anywhere}
#ip-media-thumbs{display:flex;gap:9px;overflow-x:auto;padding:5px;scrollbar-width:thin}
.ip-media-thumb{position:relative;flex:0 0 96px;min-width:0;height:68px;padding:3px;background:#060d15;border:1px solid #afcce334;border-radius:7px;cursor:pointer}
.ip-media-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.ip-media-thumb>span{position:absolute;inset-inline-end:3px;inset-block-end:3px;padding:1px 5px;border-radius:3px;background:#07101de6;color:#deedff;font-size:10px;direction:ltr}
.ip-media-thumb.is-active{border-color:#ceeaff;box-shadow:0 0 0 1px #ceeaff}
.ip-media-thumb:focus-visible{outline:2px solid #ceeaff;outline-offset:2px}
@media(max-width:560px){.ip-media-nav-top{flex-wrap:wrap}.ip-media-nav-top #ip-media-caption{flex:1 1 100%;order:-1}.ip-media-thumb{flex-basis:84px;height:60px}}
html[dir=rtl] .ip-gallery-heading h1{letter-spacing:0;line-height:1.4}
html[dir=rtl] .ip-card-copy,html[dir=rtl] .ip-stage-label{direction:rtl}
@media(min-width:1200px){.ip-gallery-page{max-width:1280px}}
@media(max-width:800px){.ip-gallery-heading{align-items:flex-start;flex-direction:column;gap:22px}.ip-controls{align-items:flex-start;flex-direction:column;gap:6px}.ip-section-heading{align-items:flex-start;flex-direction:column;gap:12px}.ip-card-copy{padding:20px}.ip-works{gap:18px}.ip-section-film .ip-card{display:block}.ip-section-film .ip-card-copy{padding:24px}.ip-outro{align-items:flex-start;flex-direction:column;gap:12px}.ip-outro p{margin:0}}
@media(max-width:560px){.ip-gallery-page{padding-block:36px 56px}.ip-gallery-heading h1{font-size:36px}.ip-gallery-heading p{font-size:14px}.ip-filters{gap:4px}.ip-filter{font-size:12px;padding:9px 10px;gap:6px}.ip-works{grid-template-columns:1fr}.ip-collection{padding-block:32px 12px}.ip-stage{height:400px}.ip-world{transform:translateZ(-560px) rotateX(var(--pitch)) rotateY(var(--yaw))}.ip-stage-label{inset-inline:16px;inset-block-end:18px;font-size:9px}.ip-stage-label>span:last-child{display:none}.ip-toolbar{align-items:flex-start;gap:14px}.ip-toolbar p{max-width:220px}.ip-toolbar .btn{font-size:12px;flex-shrink:0}.ip-dialog-head h2{font-size:20px}#ip-dialog{padding:16px}.ip-outro .btn{white-space:normal;text-align:start}}
@media(prefers-reduced-motion:reduce){.ip-world,.ip-card,.ip-card-visual img{transition:none}}

.ip-ring-pages{display:flex;align-items:center;justify-content:center;gap:12px}
#ip-space-count{font-size:11px;color:#91abc1;white-space:nowrap;font-variant-numeric:tabular-nums}
.ip-ring-pages .btn{font-size:11px;padding:8px 12px;min-height:40px}
.ip-ring-pages button:disabled{opacity:.35;cursor:default}
@media(max-width:1100px){.ip-toolbar{flex-wrap:wrap}.ip-ring-pages{flex:1 1 100%;order:3;padding-top:6px}.ip-ring-pages .btn{flex-shrink:1}}
