/* Media integration and mobile refinements over the supplied Claude design. */
.site-header{position:relative!important;top:auto!important}.mobile-menu{position:relative!important;inset:auto!important;max-height:none!important}.mobile-menu[hidden]{display:none!important}
.lux-logo{width:220px;height:auto;object-fit:contain}.pic img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,50% 50%)}
.lux-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .5s}.lux-hero-video.is-playing{opacity:1}.hero{position:relative}.lux-motion{position:absolute;right:var(--gutter,24px);bottom:20px;z-index:3;padding:12px 18px;background:#090a0be0;border:1px solid #ffffff60;color:white;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.lux-film{width:100%;height:auto;display:block;margin-top:32px;background:#090a0b;aspect-ratio:16/9;object-fit:contain}.partner-badge{padding-bottom:48px}.partner-badge img{max-width:380px;width:100%;height:auto}
.lux-project{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.lux-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,90px);align-items:center}.lux-project-grid p{max-width:58ch;line-height:1.7}.lux-project-grid img{width:100%;height:auto;display:block;max-height:750px;object-fit:cover}.lux-gallery{list-style:none;padding:0;columns:3;column-gap:16px}.lux-tile{break-inside:avoid;margin-bottom:16px}.lux-photo{display:block;width:100%;padding:0;background:none;border:0;cursor:zoom-in;overflow:hidden}.lux-photo img{display:block;width:100%;height:auto;transition:transform .35s}.lux-photo:hover img{transform:scale(1.025)}
.lux-lightbox{width:100vw;height:100dvh;max-width:none;max-height:none;background:#090a0bf5;border:0;padding:60px 65px;color:white}.lux-lightbox::backdrop{background:#000e}.lux-lightbox img{height:calc(100dvh - 130px);width:100%;object-fit:contain}.lux-lightbox button{position:absolute;border:1px solid #555;background:#111;color:white;width:46px;height:46px;cursor:pointer}.lux-close{right:18px;top:14px}.lux-prev{left:10px;top:48%}.lux-next{right:10px;top:48%}.lux-count{position:absolute;bottom:16px;left:0;right:0;text-align:center}
.btn{transition:background .2s,color .2s,transform .2s}.btn:active{transform:translateY(2px)}.btn .arrow{transition:transform .2s}.btn:hover .arrow{transform:translateX(5px)}
@media(max-width:1023px){.lux-logo{width:190px}.hero-copy{padding-top:64px!important}.hero-loc{font-size:11px!important;letter-spacing:.1em!important}.hero .display--xl{font-size:clamp(64px,13vw,112px)!important;line-height:.95!important;max-width:8ch}.hero{min-height:680px}.lux-motion{bottom:12px}.lux-project-grid{grid-template-columns:1fr}.lux-gallery{columns:2}.mobile-menu .wrap{padding-bottom:24px}.hero-actions{padding-bottom:48px}.pic img{object-position:var(--pos-m,var(--pos,50% 50%))}}
@media(max-width:480px){.lux-logo{width:175px}.lux-gallery{column-gap:8px}.lux-tile{margin-bottom:8px}.hero .display--xl{font-size:68px!important}.hero-lede{font-size:17px!important;max-width:28ch}.lux-lightbox{padding:64px 8px}.lux-prev,.lux-next{top:auto!important;bottom:14px}.lux-project .display--l{font-size:48px}.header-inner{gap:12px!important}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.lux-photo img,.btn,.lux-hero-video{transition:none!important}}

/* Preserve the full frame in the services preview panel. */
@media(min-width:1024px){
 .svc-stage{aspect-ratio:4 / 3!important;background:#101214;overflow:hidden;align-self:start}
 .svc-stage-img{width:100%;height:100%}
 .svc-stage-img .pic{display:block;position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto!important;background:#101214}
 .svc-stage-img .pic img{display:block;width:100%;height:100%;object-fit:contain!important;object-position:center!important}
}

/* October refinements: real branding, quiet typography and full media framing. */
.hero .hero-loc{font-family:Arial,Helvetica,sans-serif!important;font-size:clamp(18px,1.5vw,22px)!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#f3f2ee;line-height:1.4}
.hero-media .lux-motion{right:20px;bottom:20px;z-index:5;cursor:pointer}
.brabus-media .lux-film-portrait{aspect-ratio:512 / 910;width:min(100%,420px);max-height:none;margin:32px auto 0;object-fit:contain}
@media(max-width:1023px){.hero-copy{padding-top:32px!important}.hero-media .lux-motion{bottom:14px;right:14px;padding:10px 14px}.hero-actions{padding-bottom:0}}
@media(max-width:767px){.inquiry{display:flex!important;flex-direction:column;align-items:stretch!important;min-height:0!important}.inquiry>.pic{position:relative!important;inset:auto!important;display:block!important;aspect-ratio:4 / 3!important;width:100%;height:auto!important}.inquiry>.pic img{object-fit:contain!important;object-position:center!important}.inquiry>.scrim{display:none}.inquiry .inquiry-inner{padding-block:32px 48px!important}.inquiry h2{max-width:14ch}}

/* October 19: a mechanical, two-part treatment for homepage calls to action. */
a.btn.lux-cta{padding:0;gap:0;justify-content:space-between;min-height:52px;white-space:normal;text-align:left;line-height:1.1;isolation:isolate;transition:transform .22s ease,border-color .22s ease,background .22s ease}
.lux-cta-label{display:flex;align-items:center;align-self:stretch;padding:17px 22px;position:relative;overflow:hidden;flex:1}
.lux-cta-label:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.13);transform:translateX(-102%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.lux-cta-text{position:relative;z-index:1}
.lux-cta-end{align-self:stretch;display:grid;place-items:center;min-width:53px;border-left:1px solid currentColor;border-color:rgba(255,255,255,.22);background:rgba(0,0,0,.15);transition:background .22s ease,color .22s ease}
.lux-cta-end svg{width:20px;height:20px;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.btn--light .lux-cta-end{border-color:rgba(0,0,0,.18)}
.btn--ghost.lux-cta{border-color:#767879}
.btn--ghost .lux-cta-end{background:#f1f0ec;color:#121314;border-left:0}
a.btn.lux-cta:focus-visible{outline:2px solid #f1f0ec;outline-offset:5px}
a.btn.lux-cta:focus-visible .lux-cta-label:before{transform:translateX(0)}
@media(hover:hover) and (pointer:fine){
 a.btn.lux-cta:hover{transform:translateY(-3px)}
 .lux-cta:hover .lux-cta-label:before{transform:translateX(0)}
 .lux-cta:hover .lux-cta-end{background:#f1f0ec;color:#121314}
 .lux-cta:hover .lux-cta-end svg{transform:translateX(4px)}
 .btn--ghost.lux-cta:hover .lux-cta-end{background:#dc2430;color:#fff}
 .lux-detail-card .lux-photo:hover img{transform:scale(1.015)}
}
a.btn.lux-cta:active{transform:translateY(2px);filter:brightness(.88)}
a.btn.lux-cta:active .lux-cta-label:before{transform:translateX(0)}
.header-cta.lux-cta{min-height:44px}.header-cta .lux-cta-label{padding:12px 16px}.header-cta .lux-cta-end{min-width:44px}
.lux-editorial-head{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:end;margin-bottom:40px}
.lux-editorial-head p{color:var(--muted,#a8a8a6);max-width:46ch;line-height:1.65}
.lux-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px;align-items:start}
.lux-detail-card{margin:0;min-width:0}
.lux-detail-card img{width:100%;height:auto;object-fit:contain}
.lux-detail-card figcaption{font-size:16px;line-height:1.4;margin-top:12px;color:#d5d4cf}
.lux-photo:focus-visible{outline:2px solid #e32a35;outline-offset:5px}
@media(max-width:767px){
 .lux-editorial-head{grid-template-columns:1fr;gap:16px;margin-bottom:28px}
 .lux-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}
 .lux-detail-card:first-child{grid-column:1 / -1}
 .lux-detail-card figcaption{font-size:14px}
 a.btn.lux-cta{max-width:100%;min-height:52px}
 .lux-cta-label{padding:16px 18px}.lux-cta-end{min-width:52px}
}
@media(prefers-reduced-motion:reduce){
 a.btn.lux-cta,.lux-cta-label:before,.lux-cta-end,.lux-cta-end svg{transition:none!important}
 a.btn.lux-cta:hover,a.btn.lux-cta:active,.lux-cta:hover .lux-cta-end svg{transform:none!important}
}

/* October 19, second batch: native photo proportions and distinct project views. */
.lux-full-frame{display:block!important;aspect-ratio:auto!important;height:auto!important;overflow:hidden;background:#101214}
.lux-full-frame img{display:block;width:100%;height:auto!important;object-fit:contain!important;object-position:center!important}
.page-hero .media .lux-full-frame img{max-height:680px}
.lux-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,88px);align-items:start}
.lux-case-grid>div{padding-top:20px}.lux-case-grid h2{max-width:17ch}.lux-case-grid p{margin-top:24px;max-width:45ch;line-height:1.65}
.lux-case-grid figure{margin:0;width:100%;max-width:520px;justify-self:end}
.lux-case-grid .lux-photo img{width:100%;height:auto;object-fit:contain}
.lux-interior-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}
.lux-interior-grid figure{margin:0;min-width:0}.lux-interior-grid img{width:100%;height:auto;object-fit:contain}
.lux-interior-grid figcaption{color:#bfbfb9;line-height:1.5;font-size:15px;margin-top:14px}
.page-hero .media.lux-entertainment-media{max-width:460px;margin-inline:auto;width:100%}
.lux-entertainment-film{margin-top:0;aspect-ratio:512 / 790;width:100%;object-fit:contain;max-height:720px}
.lux-entertainment-media p{margin-top:14px;line-height:1.5}
.lux-van-media{align-self:center;max-width:570px}
.inquiry.lux-inquiry-simple{display:block;min-height:0!important;background:#141617;border-top:1px solid #353638}
.inquiry.lux-inquiry-simple .inquiry-inner{padding-block:64px!important}
@media(min-width:1024px){
 .svc-stage .lux-full-frame img{width:100%;height:100%!important;object-fit:contain!important}
}
@media(max-width:1023px){
 .svc-mobile-img .lux-full-frame img{max-height:420px}
}
@media(max-width:767px){
 .lux-case-grid{grid-template-columns:1fr;gap:28px}.lux-case-grid>div{padding-top:0}.lux-case-grid figure{justify-self:center;max-width:520px}
 .lux-interior-grid{grid-template-columns:1fr;gap:32px}.lux-interior-grid figure{max-width:480px;margin-inline:auto;width:100%}
 .lux-case-grid h2{font-size:clamp(38px,10vw,64px)}
 .page-hero .media .lux-full-frame img{max-height:560px}
 .inquiry.lux-inquiry-simple .inquiry-inner{padding-block:40px!important}
 .svc-media .lux-full-frame img{max-height:420px}
}

/* Standalone entertainment detail, with the entire photograph visible. */
.lux-entertainment-detail figure{max-width:440px}
.lux-entertainment-detail figcaption{margin-top:14px;line-height:1.5}
