/* Client-approved multipage structure, September 2026. */
/* Clear filter feedback and keyboard focus, without changing approved page layouts. */
.gallery-page .work-toolbar{padding-bottom:14px;mask-image:none;-webkit-mask-image:none;margin-right:0}
.gallery-page .filter-btn:last-child{margin-right:0}
.gallery-page .filter-btn.active{background:#c50018;border-color:#c50018;color:#fff}
.filter-status{margin:0 0 24px;color:#55575b;font:500 12px/1.5 'IBM Plex Mono',monospace}
.filter-empty{padding:36px 24px;border:1px solid #c8c9c9;background:#fafaf8;max-width:680px}
.filter-empty[hidden]{display:none}
.filter-reset{display:block;margin:20px auto 0;padding:12px 20px;min-height:44px;background:#111;color:#fff;border:1px solid #111;font:600 12px/1.4 'IBM Plex Mono',monospace;cursor:pointer}
.filter-reset:hover{background:#c50018;border-color:#c50018}
.client-revision :is(a,button,input,select,textarea):focus-visible{outline:3px solid #ed1734;outline-offset:4px}
.submenu-toggle{transition:transform .2s ease}
.nav-service.is-open .submenu-toggle{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){.submenu-toggle{transition:none}}
.logo-relief .companion-cube{position:absolute;width:180px;height:205px;left:calc(50% - 90px);top:calc(50% - 102px);transform:translateZ(-65px);filter:drop-shadow(0 8px 10px #d0001833)}
.companion-cube b{position:absolute;left:12px;top:80px;color:white;font:italic 900 42px Arial;transform:skewY(27deg);border:1px solid white;padding:1px}
[data-logo-model]{perspective:900px}.logo-relief{position:absolute;left:6%;right:6%;top:50%;aspect-ratio:20/7;transform:translateY(-50%) rotateX(-9deg) rotateY(18deg);transform-style:preserve-3d;animation:logoReliefFloat 12s ease-in-out infinite}.logo-relief[hidden]{display:none}.logo-relief .relief-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transform:translateZ(calc(var(--layer)*-2px));filter:brightness(.45)}.logo-relief .relief-layer:last-child{filter:none}.work-cube-panel .logo-relief{left:8%;right:8%}@keyframes logoReliefFloat{50%{transform:translateY(-52%) rotateX(5deg) rotateY(-16deg)}}@media(prefers-reduced-motion:reduce){.logo-relief{animation:none}}
.cube-fallback{--cube-edge:clamp(140px,19vw,260px);inset:0;border:0;box-shadow:none;transform:none;display:grid;place-items:center;perspective:900px;overflow:visible}.cube-fallback[hidden]{display:none}.cube-solid{position:relative;width:var(--cube-edge);height:var(--cube-edge);transform-style:preserve-3d;transform:rotateX(-22deg) rotateY(32deg);animation:solidCubeTurn 18s linear infinite}.cube-face{position:absolute;inset:0;display:grid;place-items:center;border:1px solid #ff5263;backface-visibility:hidden;background:linear-gradient(135deg,#ff293d,#d60018 75%);box-shadow:inset 0 0 32px #ff647244}.cube-face.front{transform:translateZ(calc(var(--cube-edge)/2))}.cube-face.back{transform:rotateY(180deg) translateZ(calc(var(--cube-edge)/2))}.cube-face.right{transform:rotateY(90deg) translateZ(calc(var(--cube-edge)/2));background:linear-gradient(135deg,#b30016,#71000b)}.cube-face.left{transform:rotateY(-90deg) translateZ(calc(var(--cube-edge)/2));background:#c70019}.cube-face.top{transform:rotateX(90deg) translateZ(calc(var(--cube-edge)/2));background:#ff3146}.cube-face.bottom{transform:rotateX(-90deg) translateZ(calc(var(--cube-edge)/2));background:#830010}.cube-face b{display:grid;place-items:center;width:70%;height:70%;font:900 calc(var(--cube-edge)*.4)/1 Arial,sans-serif;font-style:italic;color:white;border:3px solid white}.work-cube-panel .cube-fallback{--cube-edge:120px}@keyframes solidCubeTurn{from{transform:rotateX(-22deg) rotateY(32deg)}to{transform:rotateX(-22deg) rotateY(392deg)}}@media(max-width:600px){.cube-fallback{--cube-edge:155px}.work-cube-panel .cube-fallback{--cube-edge:100px}}@media(prefers-reduced-motion:reduce){.cube-solid{animation:none}}
.services .btn.ghost,.work-library .btn.ghost{color:#111;border-color:#777}.services .btn.ghost:hover,.work-library .btn.ghost:hover{background:#111;color:#fff}.gallery-heading{padding-bottom:0}.gallery-heading+.work-library{padding-top:35px}
@media(max-width:600px){body:has(main>.services) .wa-float{display:none}}
.header{top:0}.navlinks{gap:22px}.navlinks a[aria-current="page"]{color:#ff3547}.nav-service{position:relative;display:flex;align-items:center;gap:5px}.submenu-toggle{background:none;border:0;color:inherit;padding:10px;cursor:pointer;font:inherit}.submenu{display:none;position:absolute;top:100%;left:-18px;min-width:240px;padding:16px;background:#111114;border:1px solid #343438;z-index:70}.submenu a{display:block;padding:12px;white-space:normal}.nav-service.is-open .submenu{display:block}
.page-title{font-size:clamp(54px,6.5vw,104px);line-height:.95;text-transform:uppercase;max-width:100%;overflow-wrap:normal}.section-head{align-items:center}.hero-slogan{font-size:clamp(19px,1.6vw,26px);line-height:1.4;margin:24px 0 0;color:#fff}.home-page .hero .lead{font-size:17px;max-width:510px;margin:18px 0 28px}.home-page .hero{min-height:calc(100svh - 90px)}.home-page .hero h1{font-size:clamp(70px,6.5vw,124px)}.home-page .hero .wrap{padding-top:60px;padding-bottom:55px}.home-page .footer{padding:32px 0}.home-page .footer-top{display:none}.home-page .footer-bottom{border:0;padding-top:0}
.service-icon{background:transparent!important;border:0!important;display:grid;place-items:center}.mini-cube{position:relative;display:block;width:42px;height:48px;filter:drop-shadow(0 6px 10px #f205182e)}.mini-cube i{position:absolute;display:block;inset:0}.mini-cube i:nth-child(1){background:#ff3445;clip-path:polygon(50% 0,100% 25%,50% 50%,0 25%)}.mini-cube i:nth-child(2){background:#ea001a;clip-path:polygon(0 25%,50% 50%,50% 100%,0 75%)}.mini-cube i:nth-child(3){background:#980017;clip-path:polygon(50% 50%,100% 25%,100% 75%,50% 100%)}.service-next{margin-top:38px}.service-grid{align-items:stretch}
.compact-production .signal-story{padding:60px 0 80px;overflow:visible}.compact-production .signal-story-track{height:auto!important;min-height:0!important}.compact-production .signal-story-sticky{position:relative!important;top:auto!important;min-height:0!important;height:auto!important;padding:0}.compact-production .signal-story-shell{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:50px}.compact-production .signal-story-intro{position:static}.compact-production .signal-story-intro h1{font-size:clamp(50px,5vw,82px);margin:20px 0 28px}.compact-production .signal-story-intro p{max-width:460px}.compact-production .signal-story-media{min-height:0!important;height:auto!important;aspect-ratio:5/4}.compact-production .signal-story-scene figcaption{left:20px;right:20px;bottom:20px;width:auto;max-width:100%;padding:16px;background:#050505c9}.compact-production .signal-story-scene figcaption strong{font-size:clamp(26px,2.4vw,42px);line-height:1.02;max-width:100%}.compact-production .signal-story-scene figcaption small{line-height:1.5}.compact-production .signal-story-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-flow:row;overflow:visible;gap:0}.compact-production .signal-story-tab{min-width:0;width:100%;padding:16px 10px}.compact-production .signal-story-progress{display:none}
.work-cube-panel{height:260px;width:100%;background:#f2f2f2;border:1px solid #d9d9d9;position:relative;overflow:hidden}.work-cube-panel .cube-frame{position:relative;inset:auto;width:100%;height:100%;transform:none}.work-cube-panel canvas{display:block;width:100%;height:100%}.work-page .work-library .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-page .work-library .work-card{grid-column:auto!important}.work-page .work-library .work-media{aspect-ratio:16/10;min-height:0}.work-page .work-card[hidden]{display:none!important}.work-page .work-library .actions{margin-top:32px}.work-page .reel-copy h2{font-size:clamp(44px,6vw,88px);max-width:900px}.work-page .reel{min-height:560px}.gallery-page .work-library>.wrap>.section-head{grid-template-columns:1.1fr 1fr}.gallery-page .work-toolbar{flex-wrap:wrap}.gallery-page .work-library{padding-top:60px}.client-revision .field input[type=date]{appearance:none;-webkit-appearance:none;min-width:0;min-inline-size:0;max-width:100%;box-sizing:border-box}.client-revision .field{min-width:0}.client-revision .quote-copy .page-title{font-size:clamp(56px,6vw,94px)}
@media(max-width:1100px){.navlinks{gap:15px}.compact-production .signal-story-shell{gap:28px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.home-page .hero h1{font-size:clamp(62px,7vw,95px)}}
@media(max-width:900px){.header{position:relative!important}.nav-service{display:flex;flex-wrap:wrap;width:100%;justify-content:space-between}.submenu{position:static;width:100%;min-width:0;padding:5px 10px}.navlinks{align-items:stretch}.nav-service>a{flex:1}.submenu-toggle{min-width:44px;min-height:44px}.compact-production .signal-story-shell{grid-template-columns:minmax(0,1fr)}.compact-production .signal-story-intro h1{font-size:clamp(52px,10vw,80px)}.compact-production .signal-story-intro p{max-width:620px}.compact-production .signal-story-media{aspect-ratio:4/3}.work-cube-panel{height:220px}.home-page .hero{min-height:0}.home-page .hero .wrap{padding-top:35px;padding-bottom:30px}.home-page .hero h1{font-size:clamp(58px,10vw,90px)}}
@media(max-width:600px){.page-title{font-size:clamp(48px,12vw,66px)}.home-page .hero h1{font-size:clamp(55px,14.2vw,76px)}.home-page .stage{min-height:270px;height:300px}.home-page .hero .wrap{gap:12px}.home-page .hero-slogan{font-size:20px}.home-page .footer-bottom{flex-direction:column;gap:8px}.work-page .work-library .work-grid{grid-template-columns:minmax(0,1fr)}.gallery-page .work-library>.wrap>.section-head{grid-template-columns:minmax(0,1fr)}.work-cube-panel{height:200px}.compact-production .signal-story{padding:40px 0 60px}.compact-production .signal-story-media{aspect-ratio:3/4}.compact-production .signal-story-scene figcaption{left:12px;right:12px;bottom:12px;padding:12px}.compact-production .signal-story-scene figcaption strong{font-size:30px}.compact-production .signal-story-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-production .signal-story-tab{min-height:66px}.work-page .reel{min-height:480px}.work-page .reel-copy{padding:25px}.work-page .work-hero h1{font-size:clamp(58px,15vw,78px)}.work-toolbar .filter-btn{white-space:normal;min-height:44px}.client-revision .field input[type=date]{width:-webkit-fill-available!important;inline-size:-webkit-fill-available!important}}

/* Client video revisions, 24 September 2026. */
.header{border-bottom:2px solid #ed1734}.brand{flex-direction:column;align-items:flex-start;width:245px;flex-shrink:0}.brand img{height:48px;width:175px}.brand-signature{font:10px/1.4 'IBM Plex Mono',monospace;letter-spacing:.025em;color:#c8c8ca;white-space:nowrap}.client-footer{padding:22px 0!important;background:#050505;border-top:1px solid #ed1734}.client-footer>.wrap{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-year{color:#b8b8bb;font:12px/1.5 'IBM Plex Mono',monospace;white-space:nowrap}.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.social-links a{font-size:13px;color:#d9d9db;display:inline-flex;gap:6px;align-items:center;min-height:36px}.social-links a:hover{color:#ff3049}.social-links span,.social-links b{font-size:19px;color:#ff3049}.home-page .hero{min-height:calc(100svh - 165px);padding:0}.home-page .hero>.wrap{padding:30px 0;gap:30px}.home-page .hero h1{font-size:clamp(58px,6.5vw,94px)}.home-page .stage{height:clamp(320px,50vh,490px);min-height:320px}.home-page .trustline{margin-top:22px}.home-page .hero .lead{margin:18px 0 22px}.about-page #events .route{justify-content:center;min-height:300px}.about-page .rc-journey:not([data-inview=true]) :is(.rc-stage-canvas,.rc-controls){visibility:hidden}.about-page #events{background:#050505;position:relative;z-index:2}.about-page .rc-chapters{top:0}.image-gallery .work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.image-gallery .work-card{grid-column:auto!important;border:0;background:transparent}.image-gallery .work-media{aspect-ratio:4/3;display:block;min-height:0}.image-gallery .work-media img{width:100%;height:100%;object-fit:cover}.image-gallery .work-media:hover img{transform:scale(1.035)}.photo-dialog{max-width:94vw;max-height:94svh;padding:48px 16px 16px;border:1px solid #555;background:#090909;color:#fff}.photo-dialog::backdrop{background:#000d}.photo-dialog img{display:block;max-width:85vw;max-height:78svh;object-fit:contain}.photo-dialog button{position:absolute;right:12px;top:8px;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;min-width:40px;min-height:36px}.work-page .work-library{padding-top:65px}.work-page .work-library .section-head{display:block}.work-page .reel{min-height:420px}.work-page .work-card-copy{padding:22px}.work-page .work-card-copy h3{margin-bottom:14px}
@media(min-width:901px) and (max-height:760px){.home-page .hero h1{font-size:64px}.home-page .hero-slogan{font-size:20px}.home-page .hero .lead{font-size:15px}.home-page .hero>.wrap{padding:20px 0}.home-page .stage{height:330px}.home-page .trustline{margin-top:16px}.home-page .tag{padding:6px 10px}}
@media(max-width:900px){.client-footer>.wrap{flex-direction:column;align-items:flex-start;gap:10px}.social-links{gap:12px}.home-page .hero{min-height:0}.home-page .hero>.wrap{padding:28px 0}.image-gallery .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{width:230px;height:auto}.navlinks{top:84px;max-height:calc(100svh - 105px);overflow:auto}}
@media(max-width:600px){.brand img{width:145px;height:40px}.brand-signature{font-size:9px}.brand{width:215px}.home-page .stage{height:290px;min-height:290px}.home-page .hero h1{font-size:58px}.image-gallery .work-grid{gap:10px}.social-links a{font-size:12px}.social-links{column-gap:15px;row-gap:4px}}

.gallery-heading{background:#f0f0ee;color:#111;padding:58px 0 0}.gallery-heading .eyebrow{color:#bd001b}.gallery-page .work-library.image-gallery .work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.gallery-page .work-library.image-gallery .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Footer and cube annotations: larger brands, centred telephone. */
.client-footer>.wrap{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px}.client-footer .footer-phone{justify-self:center;color:#fff;font-size:19px;font-weight:600;letter-spacing:.025em;white-space:nowrap;min-height:44px;display:flex;align-items:center}.client-footer .social-links{justify-self:end;flex-wrap:nowrap;gap:20px}.client-footer .social-links a{font-size:15px;min-height:44px;gap:8px}.client-footer .social-links .social-name{font-size:15px;color:#e3e3e5}.social-logo{width:27px;height:27px;flex-shrink:0;fill:currentColor}.social-logo.whatsapp{color:#25d366}.social-logo.instagram{color:#f15b92}.social-logo.facebook{color:#4599ff}.social-logo.tiktok{color:#fff}.home-page .stage{height:clamp(429px,54vh,560px);min-height:429px}
@media(min-width:901px) and (max-height:760px){.home-page .stage{height:429px;min-height:429px}}
@media(max-width:1150px) and (min-width:901px){.client-footer .social-name{display:none}.client-footer .social-links{gap:22px}}
@media(max-width:900px){.client-footer>.wrap{grid-template-columns:1fr;justify-items:center;gap:8px}.client-footer .social-links{justify-self:center;flex-wrap:wrap;justify-content:center;gap:20px}.client-footer .footer-year{grid-row:3}.client-footer .footer-phone{grid-row:1;font-size:20px}.client-footer .social-links{grid-row:2}.home-page .stage{height:380px;min-height:380px}}
@media(max-width:480px){.client-footer .social-links{gap:16px}.client-footer .social-links a{flex-direction:column;gap:5px;font-size:13px}.client-footer .social-links .social-name{font-size:13px}.social-logo{width:30px;height:30px}.home-page .stage{height:360px;min-height:360px}}

.client-footer{padding:18px 0!important}

/* Signature occupies the space between the brand and navigation. */
.header .nav{position:relative;display:grid;grid-template-columns:175px minmax(0,1fr) auto;gap:12px;align-items:center;height:82px;padding-bottom:0}
.header .brand{width:175px;align-items:flex-start;grid-column:1;grid-row:1}
.header .brand-signature{position:static;transform:none;grid-column:2;grid-row:1;text-align:center;white-space:normal;font-size:11px;line-height:16px}
.header .navlinks{grid-column:3;grid-row:1}
.header .menu{grid-column:3;grid-row:1}
.home-page .hero{min-height:calc(100svh - 165px)}
@media(max-width:900px){.header .nav{grid-template-columns:130px minmax(0,1fr) auto;height:82px;gap:10px}.header .brand{width:130px}.header .brand-signature{font-size:10px;line-height:15px}.navlinks{top:82px}.home-page .hero{min-height:0}}

/* Front elevation of the stage, behind the About content. */
#events{position:relative;isolation:isolate;overflow:hidden;background:#050609}
#events>.about-stage{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden;opacity:.65}
.about-stage>svg{position:absolute;top:0;left:0;width:100%;height: min(100%,900px);opacity:.6}
#events>.wrap{position:relative}#events .route{background:#08090cbb}
.about-light{position:absolute;top:12%;bottom:0;width:20%;background:linear-gradient(90deg,transparent,#ff142d26,transparent);transform:translateX(-50%);mix-blend-mode:screen;will-change:left}
.about-light-a{left:var(--light-a,30%)}.about-light-b{left:var(--light-b,70%)}
#events .lit-stage-text{color:transparent!important;background-image:linear-gradient(90deg,var(--text-base,#eee) 0%,var(--text-base,#eee) calc(var(--hit-a) - 65px),#ff1633 var(--hit-a),var(--text-base,#eee) calc(var(--hit-a) + 65px),var(--text-base,#eee) 100%);background-clip:text;-webkit-background-clip:text}
#events p.lit-stage-text{--text-base:#bec1c7}
@media(max-width:600px){.about-stage>svg{width:150%;left:-25%;height:760px}#events>.about-stage{opacity:.55}}

/* A focused pool of light follows the pointer across the stage and typography. */
#events{background:radial-gradient(ellipse at 65% 20%,#160b11 0,transparent 65%),#050609}
#events>.about-stage{opacity:.75}
.about-stage>svg{opacity:.4}
.about-light-a{inset:0;width:auto;transform:none;will-change:auto;background:radial-gradient(circle 180px at var(--spot-x,50%) var(--spot-y,300px),#ff203c38,transparent 100%);mix-blend-mode:screen}
.about-light-a:before{content:"";position:absolute;inset:0;background:linear-gradient(#ff304510,#ff304525);clip-path:polygon(49% 12%,51% 12%,calc(var(--spot-x,50%) + 110px) var(--spot-y,300px),calc(var(--spot-x,50%) - 110px) var(--spot-y,300px));opacity:.5}
#events .lit-stage-text{background-image:radial-gradient(circle 160px at var(--hit-x,-300px) var(--hit-y,-300px),#ff2743 0%,#ff2743 30%,var(--text-base,#eee) 100%)}
#events .route{background:linear-gradient(145deg,#101015d9,#06070bd9);border-color:#ffffff24;transition:border-color .25s,background .25s}
#events .route:hover{border-color:#ff244b70;background:linear-gradient(145deg,#211017df,#09090ddf)}
#events .route-link{border-top:1px solid #ffffff1f;padding-top:18px}
@media(prefers-reduced-motion:reduce){#events .route{transition:none}}

/* Keep navigation above page-pattern sibling stacking contexts. */
body.client-revision>.header{z-index:100;isolation:isolate}
@media(max-width:900px){.header .navlinks{z-index:101}}

.legal-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 24px;margin:8px 16px 0;font-size:12px;color:#c0c0c6}.legal-links a{padding:6px 0}.legal-links a:hover,.form-legal a:hover{color:#ff3049}.form-legal{font-size:13px;line-height:1.6;margin-top:18px}.form-legal a{text-decoration:underline}.legal-copy{max-width:820px}.legal-page h2{font-size:32px;margin:35px 0 14px}.legal-page p{line-height:1.75}.legal-draft{padding:18px;border-left:3px solid #ed1734;background:#ed173415;margin:25px 0}.home-page .hero{min-height:calc(100svh - 199px)}@media(max-width:900px){.home-page .hero{min-height:0}}
