/* Homepage edition: open editorial scenes with independent photographic depth. */
.studio-home { background:#080d15; color:#ecf2fb; --border:#2d3a4d; --gray-900:#ecf2fb; --gray-700:#b1c1d6; --off-white:#111c2c; }
.studio-home .site-header { background:#080e18ef; backdrop-filter:blur(14px); }
.studio-home .nav { max-width:1440px; min-height:76px; gap:16px; padding-block:10px; }
.studio-home .brand { color:#f4f7fc; white-space:nowrap; flex-shrink:0; }
.studio-home .brand small { color:#a0b1c8; font-size:.7rem; letter-spacing:.12em; }
.studio-home .nav-links { gap:4px; }
.studio-home .nav-links a { font-size:.88rem; color:#c2cfe0; padding-inline:10px; white-space:nowrap; }
.studio-home .nav-links .nav-cta { background:#da3c51!important; border:0!important; border-radius:7px; color:#fff!important; }
.studio-home .nav-links .nav-crm { border-color:#41516a!important; border-radius:7px; color:#d1ddef!important; background:transparent!important; }
.studio-main { overflow:hidden; }
.studio-webgl { position:absolute; inset:0; display:block; width:100%; height:100%; border:0; mask-image:radial-gradient(ellipse at center,#000 42%,transparent 76%); }
.webgl-live .studio-image-plane,.webgl-live .studio-contour,.webgl-live .studio-axis,.webgl-live .studio-word { display:none; }
.webgl-live .studio-caption { bottom:10px; left:15px; background:transparent; }
.webgl-live.studio-sector-stage .studio-sector { position:relative; z-index:3; background:#080d15aa; padding:13px 15px; font-size:1rem; }
.studio-home .studio-scene { scroll-margin-top:90px; }
.studio-home .nav-toggle { color:#e5edf8; border-color:#3e5069; background:#101b2d; }
.studio-home .studio-scene { --scene-phase:0; --scene-turn:0deg; --scene-rise:0px; --scene-depth:0px; --scene-counter:0deg; display:grid; grid-template-columns:1fr 1fr; align-items:center; column-gap:clamp(35px,6vw,100px); max-width:1440px; margin:auto; padding:48px clamp(24px,5vw,76px); min-height:490px; background:transparent; position:relative; border-bottom:1px solid #273247; }
.studio-home .studio-opening { min-height:600px; padding-top:48px; }
.studio-copy { position:relative; z-index:5; }
.studio-home .studio-eyebrow { color:#ff8595; font:600 .85rem/1.5 system-ui,sans-serif; letter-spacing:.11em; margin:0 0 23px; }
.studio-home .studio-copy h1,.studio-home .studio-copy h2 { font-size:clamp(2.65rem,4.4vw,4.8rem); line-height:1.06; letter-spacing:-.052em; color:#f0f5fd; margin:0 0 25px; font-weight:750; }
.studio-home .studio-copy h1 { font-size:clamp(3rem,5vw,5.2rem); }
.studio-copy em { font-style:normal; color:#ff7388; }
.studio-home .studio-description { color:#bccbdf; font-size:1.08rem; line-height:1.7; max-width:530px; margin:0 0 25px; }
.studio-home .studio-detail { color:#91a8c4; font-size:.93rem; line-height:1.8; padding-top:16px; border-top:1px solid #2f3d53; margin:0 0 28px; }
.studio-actions { display:flex; flex-wrap:wrap; gap:18px 26px; align-items:center; }
.studio-primary { display:inline-flex; align-items:center; justify-content:space-between; gap:24px; padding:14px 20px; background:#d83c52; color:#fff; border-radius:7px; font-size:.98rem; font-weight:650; transition:background .2s; }
.studio-primary:hover { background:#ed536a; }
.studio-primary span { font-size:1.3rem; }
.studio-secondary { font-size:.94rem; color:#d5dfed; border-bottom:1px solid #66768d; padding-block:8px; }
.studio-stage { position:relative; width:100%; height:400px; perspective:1100px; isolation:isolate; }
.studio-image-plane { position:absolute; z-index:2; inset:8px 12px 24px 0; transform-style:preserve-3d; transform:translate3d(0,var(--scene-rise),var(--scene-depth)) rotateY(var(--scene-turn)) rotateX(var(--scene-counter)); transform-origin:center; box-shadow:0 35px 60px #0007; }
.studio-image-plane img { display:block; width:100%; height:100%; object-fit:cover; border-radius:3px; }
.studio-contour { position:absolute; inset:8px 12px 24px 0; pointer-events:none; border:1px solid #6596bc; transform-style:preserve-3d; }
.contour-back { z-index:0; opacity:.6; transform:translate3d(25px,calc(var(--scene-rise) * -.6 + 22px),-70px) rotateY(calc(var(--scene-turn) * -1)) rotateX(calc(var(--scene-counter) * -1)); }
.contour-front { z-index:3; border-color:#ff7e92; opacity:.5; transform:translate3d(-14px,calc(var(--scene-rise) * .35 - 12px),55px) rotateY(calc(var(--scene-turn) * .6)); }
.studio-caption { position:absolute; z-index:4; bottom:-5px; left:0; color:#a6b9d1; font-size:.78rem; letter-spacing:.11em; line-height:1.5; background:#080d15; padding:5px 12px 5px 0; }
.studio-axis { position:absolute; left:-28px; top:0; height:100%; width:1px; background:linear-gradient(transparent,#ff657f,transparent); opacity:.6; }
.studio-center { grid-template-columns:1fr 1fr; }
.studio-center .studio-stage { grid-column:1; grid-row:1; }
.studio-center .studio-copy { grid-column:2; grid-row:1; }
.studio-sector-stage { display:flex; flex-direction:column; justify-content:center; gap:0; transform-style:preserve-3d; }
.studio-sector { display:flex; align-items:center; gap:22px; padding:20px 0; border-bottom:1px solid #37465d; color:#d7e2f1; transform:perspective(1000px) translateZ(var(--sector-z,0px)) rotateY(var(--sector-angle,0deg)); transform-origin:left center; }
.studio-sector span { color:#ff8496; font-size:.86rem; }.studio-sector strong { font-size:clamp(1.2rem,1.9vw,1.8rem); font-weight:600; }.studio-sector b { margin-left:auto; color:#819dbf; }
.studio-word-stage { display:grid; place-items:center; }
.studio-word { font-size:clamp(3rem,6vw,6.2rem); font-weight:850; line-height:.98; letter-spacing:-.06em; color:#21334c; transform:perspective(1100px) rotateY(var(--scene-turn)) translateZ(var(--scene-depth)); }
.studio-word em { color:#8c4257; font-style:normal; }
.studio-motion-toggle { position:fixed; z-index:200; bottom:16px; right:16px; background:#101c2d; border:1px solid #435571; border-radius:22px; color:#c4d2e7; padding:9px 13px; font-size:.8rem; cursor:pointer; }
.studio-home .site-footer { background:#080e18a6; color:#a4b6ce; padding-block:35px; position:relative; z-index:1; }
.studio-home .site-footer h5 { color:#f0f5fc; font-size:.85rem; }.studio-home .footer-quote-links .btn { border-color:#3d4e68; color:#c5d2e4; font-size:.8rem; background:transparent; }
.studio-home .footer-bottom { border-color:#2c3c52; color:#9bb0cb; }
.studio-home a:focus-visible,.studio-home button:focus-visible { outline:2px solid #ff8799; outline-offset:5px; }
.studio-motion-off .studio-image-plane,.studio-motion-off .studio-contour,.studio-motion-off .studio-sector,.studio-motion-off .studio-word { transform:none!important; }
.studio-motion-off .studio-contour { display:none; }
@media(max-width:1100px) { .studio-home .nav { flex-wrap:wrap; }.studio-home .nav-links a { font-size:.8rem; padding-inline:7px; }.studio-home .studio-scene { gap:35px; padding-inline:30px; }.studio-stage { height:350px; } }
@media(max-width:800px) {
 .studio-home .studio-scene { grid-template-columns:1fr; gap:35px; min-height:0; padding:40px 24px; }
 .studio-home .studio-opening { padding-top:45px; }
 .studio-home .studio-copy h1 { font-size:clamp(2.8rem,10vw,4rem); }
 .studio-home .studio-copy h2 { font-size:clamp(2.3rem,8vw,3rem); }
 .studio-home .studio-description { font-size:1rem; }
 .studio-stage { height:300px; max-width:580px; margin:auto; }
 .studio-center .studio-stage,.studio-center .studio-copy { grid-column:auto; grid-row:auto; }
 .studio-home .nav-links.open { background:#101b2b; }
 .studio-caption { font-size:.72rem; }
 .studio-home .studio-eyebrow { font-size:.8rem; }
 .studio-word-stage { height:290px; }
}
.product-render-live .studio-image-plane,
.product-render-live .studio-contour,
.product-render-live .studio-axis,
.product-render-live .studio-word { visibility: hidden; }
.studio-product-render { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:12px 32px; filter:drop-shadow(0 28px 26px rgba(0,0,0,.55)); transform-origin:center; will-change:transform; }
.product-render-live { background:radial-gradient(ellipse at 50% 65%,rgba(73,103,140,.18),transparent 65%); transform-style:preserve-3d; }
.brand-render .studio-product-render { padding:65px; filter:drop-shadow(0 18px 30px rgba(236,43,68,.16)); }
.brand-orbit-layout .studio-main { position:relative; overflow:visible; }
.brand-orbit-layout .studio-scene { display:block; padding-right:clamp(24px,5vw,76px); }
.brand-orbit-layout .studio-copy { width:min(72%,850px); position:relative; z-index:2; }
.brand-orbit-layout .studio-copy::before { content:""; position:absolute; z-index:-1; inset:-30px -50px; pointer-events:none; background:linear-gradient(90deg,#080d15d9 0%,#080d1599 52%,transparent 100%); }
.brand-orbit-layout .studio-scene > .studio-stage { display:none; }
.brand-orbit-layout .studio-industries > .studio-stage { display:flex; height:auto; margin-top:24px; }
.brand-orbit-layout .studio-sector { transform:none; padding:12px 0; }
.brand-orbit-layout .studio-sector strong { font-size:1.2rem; }
.brand-orbit-stage { position:fixed; top:13vh; left:0; width:100vw; height:76vh; pointer-events:none; z-index:0; opacity:max(.48,var(--orbit-opacity,1)); transition:opacity .28s ease; }
.brand-orbit-stage { background:radial-gradient(ellipse 25vw 38vh at 50% 50%,#27394f50,transparent 72%),radial-gradient(ellipse 20vw 30vh at 55% 57%,#64172724,transparent 70%); }
.brand-orbit-stage .studio-webgl { mask-image:radial-gradient(ellipse,#000 50%,transparent 85%); }
@media(max-width:800px){
 .brand-orbit-layout .studio-scene { padding-right:24px; }
 .brand-orbit-layout .studio-copy { width:100%; }
 .brand-orbit-layout .studio-copy::before { inset:-18px -24px; background:linear-gradient(90deg,#080d15d9 0%,#080d1588 78%,transparent 100%); }
 .brand-orbit-layout .studio-main > .brand-orbit-stage { top:12vh; left:0; width:100%; height:64vh; opacity:.38!important; z-index:0; }
 .brand-orbit-layout .studio-copy { z-index:3; }
}
