/* OZVEO / a single architectural identity, from first impression to next step. */
:root{--bg:#000;--bg2:#070708;--panel:#0b0b0d;--panel2:#111113;--text:#e9ebef;--muted:#a4a9b2;--blue:#246fe5;--blue2:#8daedb;--charcoal:#000;--platinum:#d9dee5;--identity-line:#c9d5e52b;--ease-cinema:cubic-bezier(.22,.61,.36,1)}
html,body{background:#000;color:var(--text)}
.space-background{display:none}
.nav-shell{background:#000e;border-bottom-color:var(--identity-line)}
.nav-cta,.button.outline,.btn.secondary{color:#dce2eb;background:#070709;border-color:#c3ced64a;box-shadow:none}
.nav-cta:hover,.nav-cta:focus-visible,.button.outline:hover,.btn.secondary:hover{color:#f2f4f8;background:#12141a;border-color:#cad6e8}
.button.light{background:#e4e8ef;color:#08090d;box-shadow:0 0 0 1px #fff2}
.button.light:hover,.button.light:focus-visible{background:#fff;color:#08090d;box-shadow:0 0 32px #638ec326}
.page-intro h1,.page-hero h1,.section-heading64 h2,.capabilities-intro h2,.faq68 h2,.case-intro h1{font-weight:350;letter-spacing:-.045em}
.section-heading64 h2 em,.capabilities-intro h2 em,.faq68 h2 em{color:#9099a8;font-style:normal}
.page-intro,.page-hero{position:relative}
body:not([data-page=home]) main>.wrap:first-child:before{content:'';position:absolute;left:0;top:0;width:90px;height:1px;background:linear-gradient(90deg,#e4eaf5,#246fe555,transparent)}
.kicker,.section-bar,.section-bar .kicker{font-weight:500;letter-spacing:.12em}
.text-link{border-color:#aebdd052}
.text-link:hover{color:#e8effb;border-color:#b6d0f2}
.new-footer{background:#000;border-top-color:var(--identity-line)}
.footer-wordmark{opacity:.22}

/* The approved artwork remains the fallback beneath the animated scene. */
.reference-art{transform:scale(1.006);transform-origin:73% 78%}
.reference-art #cinematicCanvas{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;transition:opacity .8s ease;pointer-events:none}
.reference-art.is-cinematic-ready #cinematicCanvas{opacity:1}
.reference-art.is-cinematic-ready img{opacity:0;transition:opacity .8s ease}
.reference-light{display:none}
.reference-hero:before{content:'';position:absolute;z-index:1;left:0;right:0;bottom:0;height:7%;pointer-events:none;background:linear-gradient(transparent,#000b)}
.reference-motion{width:44px;height:44px;bottom:0;left:calc(5% - 8px);color:#b4bece}
.reference-caption{background:transparent}

/* The doorway light continues into a short statement of what we build. */
.perspective71{position:relative;isolation:isolate;overflow:hidden;padding:120px 0 102px;background:#000;--section-progress:0}
.perspective71:before{content:'';position:absolute;left:0;right:0;top:0;height:200px;background:radial-gradient(ellipse 45% 70% at calc(76% - var(--section-progress)*25%) 0%,#729ccb12,transparent 72%);pointer-events:none}
.perspective71 .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}
.perspective-title{position:relative;padding-left:38px}
.perspective-title:before{content:'';position:absolute;top:0;bottom:0;left:0;width:1px;background:linear-gradient(transparent,#d4deee 34%,#537eb5 65%,transparent);opacity:calc(.35 + var(--section-progress)*.65);transform:scaleY(calc(.45 + var(--section-progress)*.55));transform-origin:top}
.perspective-title .kicker{font-size:10px;letter-spacing:.19em;color:#a4afc0;margin:0 0 25px}
.perspective-title h2{font-size:clamp(37px,4.15vw,60px);font-weight:300;line-height:1.12;letter-spacing:-.045em;margin:0}
.perspective-title h2 span{color:#9ba5b4}
.perspective-copy{max-width:490px}
.perspective-copy p{font-size:clamp(17px,1.6vw,22px);font-weight:350;line-height:1.8;color:#bac1cc;margin:0}
.perspective-copy p strong{font-weight:400;color:#f0f2f6}
.perspective-disciplines{display:flex;flex-wrap:wrap;gap:25px;margin-top:27px;color:#8995a7;font-size:10px;letter-spacing:.16em;text-transform:uppercase}
.perspective-disciplines span+span:before{content:'·';color:#b5c7e1;margin-right:25px}

/* Light guides the section sequence; content always remains readable. */
body[data-page=home] .work64,body[data-page=home] .software64,body[data-page=home] .capabilities64,body[data-page=home] .process64,body[data-page=home] .faq68{position:relative;background:#000;isolation:isolate}
body[data-page=home] .section{padding-top:105px;padding-bottom:105px}
body[data-page=home] .section-bar{position:relative;border-top:1px solid var(--identity-line);padding-top:25px;overflow:visible}
body[data-page=home] .section-bar:before{content:'';position:absolute;top:-1px;left:0;width:100%;height:1px;background:linear-gradient(90deg,#c8d6e82e,#e4edfbd9 55%,#447fc0 80%,transparent);transform:scaleX(var(--section-progress,0));transform-origin:left;pointer-events:none}
body[data-page=home] .section-heading64{margin-bottom:42px}
body[data-page=home] .section-heading64 h2{font-size:clamp(38px,4.2vw,62px);line-height:1.1}
body[data-page=home] .section-heading64>p{max-width:400px;line-height:1.9;color:#aeb6c3}
body[data-page=home] .section-bar>span:last-child{font-size:10px;color:#8692a4;letter-spacing:.04em}

/* Real work sits still inside a precise, softly illuminated frame. */
.portfolio-tabs{border-bottom-color:var(--identity-line)}
.portfolio-tabs button{font-weight:400;position:relative;color:#86909f}
.portfolio-tabs button[aria-selected=true]{color:#e9edf5;border-color:#c7d5e9}
.portfolio-canvas{position:relative;border-radius:3px;border-color:#b9c9dd59;box-shadow:0 24px 95px #5f80b10a,0 35px 65px #0008}
.portfolio-canvas:hover{border-color:#d2deef88;box-shadow:0 24px 95px #5f80b114}
.window-bar{background:#0a0c10;border-bottom:1px solid #b4c4dc26;color:#b0bdcf}
.window-bar span{background:#8290a344}
.portfolio-meta{border-top-color:var(--identity-line)}
.portfolio-meta h3{font-weight:400;letter-spacing:-.025em}
.portfolio-meta p{color:#9da7b7}
.preview-expand{color:#bdc7d5;border-color:#8794a73b}
.preview-expand:hover{color:#fff;border-color:#c4d2e5}

/* The software is the proof: lighting follows its actual interaction states. */
.software64:before{content:'';position:absolute;inset:20% 0 6%;z-index:-1;background:radial-gradient(ellipse 44% 54% at 65% 55%,#718daf0c,transparent 80%);pointer-events:none}
.software-stage{position:relative;border-radius:4px;border-color:#b3c4dd42;background:#07080b;box-shadow:0 32px 100px #000c,0 0 70px #729bd108;overflow:hidden}
.software-stage:after{content:'';position:absolute;top:0;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#cbdcf8ac,transparent);pointer-events:none}
.software-sidebar{background:#06070a;border-right-color:#bdcce220}
.software-panel{background:linear-gradient(130deg,#0d0f13,#060709 70%)}
.software-tabs button[aria-selected=true]{background:#d4e3ff0b;color:#edf2fa;box-shadow:inset 2px 0 #9cb9e0}
.software-top{border-bottom-color:#a6b8d41c}
.demo-metrics{border-color:#b4c4dc20}
.demo-metrics strong{font-weight:350;color:#e8eff9}
.workflow-steps li{transition:color .35s ease,border-color .35s ease}
.workflow-steps li.active{color:#edf3ff;border-color:#b6cdeca6;background:#94b7e10a}
.workflow-steps li.active i{background:#d4e2f6;color:#07090d;box-shadow:0 0 15px #819fc62c}
.run-workflow{border-color:#8eabc555;background:#0b1018;color:#d3e0ef}
.run-workflow:hover{background:#141d2a;color:#fff;border-color:#bfd4ee}

/* Fine edges respond to a deliberate choice. */
.capabilities-intro h2{font-size:clamp(36px,3.8vw,56px);line-height:1.12}
.capabilities-list>a{position:relative;border-color:var(--identity-line);padding-left:0;transition:background .3s ease}
.capabilities-list>a:before{content:'';position:absolute;left:0;top:-1px;width:100%;height:1px;background:linear-gradient(90deg,#c9daef,#246fe570,transparent);transform:scaleX(0);transform-origin:left;transition:transform .55s var(--ease-cinema);pointer-events:none}
.capabilities-list>a:hover:before,.capabilities-list>a:focus-visible:before{transform:scaleX(1)}
.capabilities-list>a:hover,.capabilities-list>a:focus-visible{background:linear-gradient(90deg,#cadcff05,transparent)}
.capabilities-list h3{font-weight:350;letter-spacing:-.025em}
.capabilities-list .cap-number{color:#7f8fa6}
.capabilities-list .cap-tags{color:#7f8da0;letter-spacing:.035em}
.capabilities-list>a:hover .cap-plus{color:#c1d8f9;transform:rotate(90deg)}

/* Process progress is driven by reading position, never by a repeating timer. */
.process-track h3{font-weight:400;letter-spacing:-.03em}
.process-track article>div{color:#8894a6;transition:color .3s}
.process-track article.is-reached>div{color:#dfebff}
.process-track i{position:relative;overflow:visible;background:#b6c9e020}
.process-track i:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#7c9bc3,#d5e3f6);transform:scaleX(var(--step-progress,0));transform-origin:left;box-shadow:0 0 10px #84aee51b}
.process-track i:after{display:none!important;animation:none!important}
.process-track p{color:#a3adbd;line-height:1.85}
.faq-list details{border-color:var(--identity-line)}
.faq-list summary{font-weight:400}
.faq-list summary span{color:#92a9c8}
.faq-list details p{color:#aab4c3}

/* The final invitation returns to the brand, not a second planet. */
.signature71{position:relative;isolation:isolate;overflow:hidden;background:#000;padding:130px 0 100px;border-top:1px solid #c6d4e51a;--section-progress:0}
.signature71:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 35% 50% at 72% 54%,#90b4ea0c,transparent 75%)}
.signature-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;min-height:430px}
.signature-copy{position:relative;z-index:2}
.signature-copy .kicker{font-size:10px;letter-spacing:.19em;color:#8999b1;margin:0 0 30px}
.signature-copy h2{font-size:clamp(42px,4.9vw,70px);font-weight:300;line-height:1.11;letter-spacing:-.045em;margin:0;color:#e6ebf2}
.signature-copy h2 span{color:#8f9daf}
.signature-copy>p:not(.kicker){font-size:16px;line-height:1.9;color:#a6b2c3;max-width:400px;margin:29px 0 32px}
.signature-copy .button{font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:17px 25px;gap:35px;border-radius:100px}
.signature-copy .button-dot{width:5px;height:5px;background:#246fe5}
.signature-art{position:relative;min-width:0;padding-bottom:32px}
.identity-orbit-stage{position:relative;width:100%;aspect-ratio:1;max-width:510px;margin:0 auto;isolation:isolate}
.identity-orbit-stage canvas,.identity-orbit-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}
.identity-orbit-poster{padding:2%;filter:drop-shadow(0 14px 28px #000c);transition:opacity .55s}
.identity-orbit-stage canvas{opacity:0;transition:opacity .55s}
.identity-orbit-stage.is-ready canvas{opacity:1}
.identity-orbit-stage.is-ready .identity-orbit-poster{opacity:0}
.signature-floor{position:absolute;left:-20%;right:-20%;bottom:36px;height:105px;z-index:-1;background:radial-gradient(ellipse 38% 15% at 50% 25%,#9abced37,transparent 78%),radial-gradient(ellipse 34% 35% at 50% 65%,#7192be0e,transparent 90%);transform:perspective(400px) rotateX(47deg);pointer-events:none}
.signature-floor:before{content:'';position:absolute;left:10%;right:10%;top:22%;height:1px;background:linear-gradient(90deg,transparent,#7899c453,#deebff87,#7899c453,transparent)}
.signature-axes{position:relative;display:flex;align-items:center;justify-content:center;gap:22px;font-size:9px;letter-spacing:.23em;text-transform:uppercase;color:#8b9ab0;margin:-10px 0 0}
.signature-axes i{width:56px;height:1px;background:linear-gradient(90deg,#647b99,#c5d8f1,#647b99)}
.signature-note{margin-top:65px;padding-top:22px;border-top:1px solid #d1ddef22;display:flex;justify-content:space-between;gap:20px;color:#7e8da1;font-size:9px;letter-spacing:.17em;text-transform:uppercase}
.new-footer .footer-copy{color:#8f9bad}
.new-footer .footer-col h3{color:#b2bfd1;letter-spacing:.15em}
.new-footer .footer-col a{color:#8f9bae}
.new-footer .footer-col a:hover{color:#e4ecf7}

@media(max-width:1000px){.perspective71 .wrap{gap:48px}.perspective-title{padding-left:26px}.perspective-disciplines{gap:16px;font-size:9px}.perspective-disciplines span+span:before{margin-right:16px}.signature-grid{gap:25px}.signature-copy h2{font-size:48px}.signature-copy>p:not(.kicker){font-size:15px}.signature71{padding:95px 0 75px}}
@media(max-width:700px){.perspective71{padding:70px 0 55px}.perspective71 .wrap{grid-template-columns:1fr;gap:29px}.perspective-title{padding-left:25px}.perspective-title .kicker{font-size:9px;margin-bottom:23px}.perspective-title h2{font-size:39px}.perspective-copy{padding-left:25px;max-width:520px}.perspective-copy p{font-size:16px;line-height:1.9}.perspective-disciplines{gap:14px;margin-top:22px;font-size:8px;letter-spacing:.1em}.perspective-disciplines span+span:before{margin-right:14px}body[data-page=home] .section{padding:65px 0}body[data-page=home] .section-bar{padding-top:21px}body[data-page=home] .section-heading64{margin-bottom:30px}body[data-page=home] .section-heading64 h2{font-size:36px;line-height:1.14}body[data-page=home] .section-heading64>p{font-size:15px;line-height:1.85}.portfolio-tabs{margin-top:25px}.portfolio-canvas{border-radius:2px}.software-stage{border-radius:4px}.software-tabs button[aria-selected=true]{box-shadow:inset 0 -1px #b8cde9}.capabilities-intro h2{font-size:36px}.capabilities-list h3{font-size:25px}.signature71{padding:70px 0 45px}.signature-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.signature-copy .kicker{margin-bottom:24px}.signature-copy h2{font-size:44px}.signature-copy>p:not(.kicker){font-size:15px;max-width:340px;margin:24px 0 28px}.signature-copy .button{font-size:10px;padding:16px 23px;gap:25px}.signature-art{max-width:430px;width:100%;margin:0 auto;padding-bottom:15px}.identity-orbit-stage{max-width:390px}.signature-axes{font-size:8px;letter-spacing:.17em;gap:15px;margin-top:-17px}.signature-floor{bottom:20px}.signature-note{font-size:8px;letter-spacing:.08em;margin-top:45px;line-height:1.7}.signature-note span:last-child{text-align:right}.reference-motion{left:5px}.process-track article{position:relative}.process-track article>div{margin-bottom:18px}.process-track i{display:block!important;height:1px;flex:1}}
@media(max-width:380px){.perspective-title h2{font-size:34px}.perspective-copy{padding-left:20px}.perspective-title{padding-left:20px}.signature-copy h2{font-size:39px}.signature-note{font-size:7px}.perspective-disciplines{gap:10px;font-size:7px}.perspective-disciplines span+span:before{margin-right:10px}}
@media(prefers-reduced-motion:reduce){.reference-art{transform:none}.reference-art img,.reference-art canvas,.identity-orbit-stage canvas,.identity-orbit-poster{transition:none!important}.perspective-title:before{transform:none!important}.section-bar:before,.process-track i:before{transform:scaleX(1)!important}.capabilities-list>a:before{transition:none}.workflow-steps li{transition:none}.reference-hero:before{display:none}}
.motion-paused .reference-art{transform:none!important}.motion-paused .process-track i:before{transform:scaleX(1)}
