
:root{--black:#080808;--charcoal:#181818;--graphite:#282828;--gold:#E89C4C;--gold2:#F0A454;--white:#fff;--grey:#b9b9b9;--line:rgba(232,156,76,.22);--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,Arial,sans-serif;overflow-x:hidden}
body:before{content:"";position:fixed;inset:-30%;z-index:-4;background:radial-gradient(circle at 20% 20%,rgba(232,156,76,.13),transparent 25%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.06),transparent 25%),linear-gradient(120deg,#080808,#181818 45%,#080808);animation:bgdrift 18s ease-in-out infinite alternate}
body:after{content:"";position:fixed;inset:0;z-index:-3;opacity:.2;background-image:linear-gradient(rgba(232,156,76,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(232,156,76,.12) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);animation:gridmove 20s linear infinite}
@keyframes bgdrift{to{transform:translate(4%, -3%) scale(1.08)}}@keyframes gridmove{to{background-position:80px 80px}}
a{color:inherit;text-decoration:none}.wrap{width:min(var(--max),calc(100% - 48px));margin:auto}.top{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(8,8,8,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}nav{height:82px;display:flex;align-items:center;justify-content:space-between}.logo{height:49px;width:auto;display:block;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}.links{display:flex;gap:28px;align-items:center;font-size:13px;text-transform:uppercase;letter-spacing:.14em}.links a{opacity:.78;transition:.3s}.links a:hover{opacity:1;color:var(--gold)}.menu{display:none;background:none;border:0;color:white;font-size:30px}
.hero{min-height:100svh;display:grid;place-items:center;position:relative;padding-top:100px;overflow:hidden}.hero .orb{position:absolute;border:1px solid var(--line);border-radius:50%;width:42vw;height:42vw;right:-14vw;top:18%;animation:spin 22s linear infinite}.hero .orb:before,.hero .orb:after{content:"";position:absolute;inset:10%;border:1px solid rgba(255,255,255,.08);border-radius:50%;animation:spin 14s linear infinite reverse}.hero .orb:after{inset:28%;border-color:rgba(232,156,76,.22)}@keyframes spin{to{transform:rotate(360deg)}}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:700}.hero h1{font-size:clamp(52px,7.2vw,112px);line-height:.9;letter-spacing:-.06em;margin:20px 0}.hero h1 span{color:var(--gold)}.hero p{max-width:650px;color:#c7c7c7;font-size:18px;line-height:1.75}.cta{display:flex;gap:14px;margin-top:32px;flex-wrap:wrap}.btn{padding:15px 23px;border:1px solid var(--gold);border-radius:999px;font-weight:700;letter-spacing:.04em;transition:.35s;display:inline-flex;align-items:center;gap:10px}.btn.primary{background:var(--gold);color:#090909}.btn:hover{transform:translateY(-5px);box-shadow:0 18px 45px rgba(232,156,76,.18)}.btn.ghost{background:rgba(255,255,255,.03)}
.stage{height:560px;position:relative;perspective:900px}.building{position:absolute;inset:10% 8%;transform-style:preserve-3d;transform:rotateX(58deg) rotateZ(-30deg);animation:float 6s ease-in-out infinite}.building .floor{position:absolute;left:16%;right:16%;height:58px;border:1px solid rgba(232,156,76,.55);background:linear-gradient(90deg,rgba(232,156,76,.16),rgba(255,255,255,.04));box-shadow:0 0 28px rgba(232,156,76,.12);transform:translateZ(var(--z));}.building .f1{--z:0}.building .f2{--z:65px}.building .f3{--z:130px}.building .f4{--z:195px}.building .f5{--z:260px}.building .core{position:absolute;width:30%;height:330px;left:35%;bottom:0;background:linear-gradient(90deg,rgba(232,156,76,.2),rgba(255,255,255,.06));border:1px solid var(--gold);transform:translateZ(25px)}@keyframes float{50%{transform:rotateX(58deg) rotateZ(-30deg) translateY(-20px)}}
section{position:relative;padding:130px 0;overflow:hidden}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:60px}.section-head h2{font-size:clamp(38px,5vw,76px);letter-spacing:-.055em;margin:0;line-height:.95}.motionline{position:absolute;width:60vw;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);top:15%;left:-20%;animation:sweep 7s linear infinite}@keyframes sweep{to{transform:translateX(180vw)}}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{position:relative;min-height:330px;padding:30px;border:1px solid rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));overflow:hidden;transition:.5s}.card:hover{transform:translateY(-12px);border-color:var(--gold);box-shadow:0 30px 70px rgba(0,0,0,.35)}.card:before{content:"";position:absolute;width:180px;height:180px;border:1px solid var(--line);border-radius:50%;right:-70px;bottom:-70px;animation:spin 15s linear infinite}.card h3{font-size:30px;margin:90px 0 14px}.card p{color:#aaa;line-height:1.7}.icon3d{position:absolute;top:26px;left:28px;width:74px;height:74px;border:1px solid var(--gold);transform:rotate(30deg) skewY(-8deg);box-shadow:12px 12px 0 rgba(232,156,76,.12);animation:iconfloat 4s ease-in-out infinite}.icon3d:after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.25)}@keyframes iconfloat{50%{transform:rotate(30deg) skewY(-8deg) translateY(-10px)}}
.process{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(232,156,76,.25)}.phase{padding:55px 40px;min-height:400px;background:var(--charcoal);position:relative;overflow:hidden}.phase:nth-child(2){background:#202020}.phase:nth-child(3){background:#111}.phase h3{font-size:48px;margin:0 0 18px;color:var(--gold)}.phase p,.phase li{color:#aaa;line-height:1.8}.phase ul{padding-left:20px}.phase .wire{position:absolute;width:260px;height:260px;border:1px solid var(--line);border-radius:50%;right:-120px;bottom:-100px;animation:spin 12s linear infinite}
.blueprint{min-height:480px;border:1px solid var(--line);position:relative;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(232,156,76,.08) 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(232,156,76,.08) 40px)}.blueprint:before{content:"";position:absolute;inset:12%;border:1px solid rgba(232,156,76,.35);transform:rotate(-5deg);animation:bp 7s ease-in-out infinite alternate}.blueprint:after{content:"";position:absolute;width:120%;height:1px;background:var(--gold);top:55%;left:-10%;box-shadow:0 0 20px var(--gold);animation:scan 4s linear infinite}@keyframes bp{to{transform:rotate(5deg) scale(.94)}}@keyframes scan{to{top:95%}}
.contactbox{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.panel{padding:42px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}input,textarea,select{width:100%;background:#101010;border:1px solid #333;color:white;padding:16px;margin-bottom:13px;font:inherit}textarea{min-height:150px}.floating{position:fixed;right:24px;bottom:24px;z-index:30}.wa{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#080808;font-weight:900;font-size:22px;box-shadow:0 10px 35px rgba(232,156,76,.35);animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(232,156,76,0),0 10px 35px rgba(232,156,76,.35)}}footer{padding:55px 0;border-top:1px solid rgba(255,255,255,.1);background:#050505}.foot{display:flex;justify-content:space-between;gap:30px;align-items:center}.reveal{opacity:0;transform:translateY(35px);transition:opacity .9s ease,transform .9s ease}.reveal.show{opacity:1;transform:none}.legal{padding-top:160px;max-width:850px}.legal h1{font-size:clamp(42px,6vw,80px)}.legal p,.legal li{color:#bcbcbc;line-height:1.8}.legal h2{margin-top:45px;color:var(--gold)}
@media(max-width:900px){.links{display:none}.menu{display:block}.hero-grid,.contactbox{grid-template-columns:1fr}.stage{height:430px}.cards,.process{grid-template-columns:1fr}.section-head{display:block}.wrap{width:min(var(--max),calc(100% - 32px))}.logo{height:43px}}
@media(max-width:560px){nav{height:70px}.hero{padding-top:90px}.hero h1{font-size:clamp(48px,16vw,72px)}.hero p{font-size:15px}.stage{height:330px}.building{inset:5% -10%}.card{min-height:290px}.phase{min-height:330px;padding:38px 25px}.phase h3{font-size:40px}.section-head h2{font-size:44px}section{padding:90px 0}.floating{right:16px;bottom:16px}.wa{width:56px;height:56px}.foot{display:block}.foot img{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* =========================================================
   SLV PROJECTS — ENHANCED MOTION / LOGO / CHAT SYSTEM
   ========================================================= */

/* Animated architectural background layers */
.site-bg{position:fixed;inset:0;z-index:-2;pointer-events:none;overflow:hidden;opacity:.95}
.site-bg:before{content:"";position:absolute;inset:-20%;background:
 radial-gradient(circle at 12% 18%,rgba(232,156,76,.16),transparent 19%),
 radial-gradient(circle at 84% 25%,rgba(232,156,76,.09),transparent 18%),
 radial-gradient(circle at 55% 85%,rgba(255,255,255,.055),transparent 22%);
 filter:blur(8px);animation:ambientDrift 22s ease-in-out infinite alternate}
.site-bg:after{content:"";position:absolute;inset:0;background:
 linear-gradient(115deg,transparent 0 47%,rgba(232,156,76,.05) 48%,transparent 49% 100%),
 linear-gradient(65deg,transparent 0 49%,rgba(255,255,255,.025) 50%,transparent 51%);
 background-size:100% 100%,100% 100%;animation:architectureSweep 14s linear infinite;opacity:.8}
.bg-orbit{position:absolute;border:1px solid rgba(232,156,76,.12);border-radius:50%;transform-style:preserve-3d}
.bg-orbit-a{width:48vw;height:20vw;left:-14vw;top:18vh;transform:rotate(-24deg);animation:orbitA 20s linear infinite}
.bg-orbit-b{width:34vw;height:34vw;right:-12vw;top:52vh;border-color:rgba(255,255,255,.08);animation:orbitB 27s linear infinite}
.bg-orbit-c{width:22vw;height:22vw;left:48%;top:78vh;border-style:dashed;animation:orbitC 18s linear infinite reverse}
.bg-beam{position:absolute;height:1px;width:65vw;background:linear-gradient(90deg,transparent,rgba(232,156,76,.55),transparent);filter:drop-shadow(0 0 8px rgba(232,156,76,.35))}
.bg-beam-a{top:27%;left:-75vw;animation:beamAcross 11s linear infinite}
.bg-beam-b{top:71%;left:-90vw;opacity:.45;animation:beamAcross 16s linear infinite 3s}
.bg-node{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--gold);box-shadow:0 0 22px rgba(232,156,76,.8);opacity:.55}
.bg-node-a{left:18%;top:38%;animation:nodeFloat 7s ease-in-out infinite}
.bg-node-b{left:72%;top:64%;animation:nodeFloat 9s ease-in-out infinite 1s}
.bg-node-c{left:46%;top:16%;animation:nodeFloat 8s ease-in-out infinite 2s}
.bg-cross{position:absolute;width:26px;height:26px;opacity:.18}
.bg-cross:before,.bg-cross:after{content:"";position:absolute;background:var(--gold)}
.bg-cross:before{width:100%;height:1px;top:50%}.bg-cross:after{height:100%;width:1px;left:50%}
.bg-cross-a{left:8%;top:72%;animation:crossDrift 12s ease-in-out infinite}
.bg-cross-b{right:10%;top:31%;animation:crossDrift 15s ease-in-out infinite reverse}
.bg-scan{position:absolute;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent,rgba(232,156,76,.035),transparent);top:-140px;animation:screenScan 13s linear infinite}
@keyframes ambientDrift{0%{transform:translate3d(-2%,-1%,0) scale(1)}50%{transform:translate3d(3%,2%,0) scale(1.08)}100%{transform:translate3d(-1%,4%,0) scale(1.03)}}
@keyframes architectureSweep{0%{transform:translateX(-8%) rotate(0deg)}50%{transform:translateX(4%) rotate(1deg)}100%{transform:translateX(-8%) rotate(0deg)}}
@keyframes orbitA{to{transform:rotate(336deg) scale(1.08)}}
@keyframes orbitB{to{transform:rotate(-360deg) scale(.94)}}
@keyframes orbitC{to{transform:rotate(-360deg) translateX(2vw)}}
@keyframes beamAcross{to{transform:translateX(190vw)}}
@keyframes nodeFloat{50%{transform:translate3d(24px,-30px,0) scale(1.7);opacity:1}100%{transform:translate3d(-14px,18px,0) scale(.8);opacity:.35}}
@keyframes crossDrift{50%{transform:translate3d(30px,-24px,0) rotate(90deg);opacity:.4}100%{transform:translate3d(-12px,18px,0) rotate(180deg)}}
@keyframes screenScan{to{transform:translateY(115vh)}}

/* More motion inside sections */
section:before{content:"";position:absolute;left:-30%;top:8%;width:80%;height:1px;background:linear-gradient(90deg,transparent,rgba(232,156,76,.2),transparent);animation:sectionBeam 10s linear infinite}
section:after{content:"";position:absolute;width:42vw;height:42vw;border:1px solid rgba(232,156,76,.055);border-radius:50%;right:-25vw;bottom:-25vw;animation:slowSpin 35s linear infinite}
section:nth-of-type(even):after{left:-24vw;right:auto;top:-20vw;bottom:auto;border-style:dashed;animation:slowSpin 42s linear infinite reverse}
@keyframes sectionBeam{to{transform:translateX(170vw)}}
@keyframes slowSpin{to{transform:rotate(360deg)}}

/* Floating original logo on white eclipse background */
.logo-shell{display:inline-flex;position:relative;align-items:center;justify-content:center;background:transparent;border-radius:0;overflow:visible;flex:0 0 auto;box-shadow:none;isolation:isolate}
.logo-shell:before{content:none}
.logo-shell:after{content:none}
.logo-shell .logo{position:relative;z-index:2;filter:none;object-fit:contain}
.logo-shell-main{width:156px;height:58px;padding:5px 11px;animation:none}
.logo-shell-main .logo{width:100%;height:100%;display:block}
.logo-shell-footer{width:156px;height:58px;padding:5px 11px;animation:none}
.logo-shell-footer .logo{width:100%;height:100%;display:block}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(.5deg)}}
@keyframes logoEclipse{to{transform:rotate(352deg)}}

/* Header compatibility */
.header{position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(8,8,8,.72);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}
.header .container,.top .wrap{width:min(var(--max),calc(100% - 48px));margin:auto}
.header .nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.header .brand{display:flex;align-items:center}
.header .links{display:flex;gap:24px;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.header .links a{opacity:.78;transition:.3s}.header .links a:hover{opacity:1;color:var(--gold)}
.header .hamb{display:none;background:none;border:0;width:44px;height:44px;padding:8px;cursor:pointer}
.header .hamb span{display:block;height:2px;background:#fff;margin:6px 0;border-radius:2px}
.links.mobile-open{display:flex!important;position:absolute;top:82px;left:0;right:0;padding:22px;background:rgba(8,8,8,.97);flex-direction:column;align-items:flex-start;border-bottom:1px solid rgba(232,156,76,.25)}

/* Index nav logo */
.top nav{gap:20px}
.top nav>a:first-child{display:flex;align-items:center}

/* Cards / phases get richer motion */
.card,.phase,.panel{transform:perspective(1000px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));will-change:transform}
.card:after,.phase:after,.panel:after{content:"";position:absolute;inset:-120% -30%;background:linear-gradient(100deg,transparent 42%,rgba(232,156,76,.12) 50%,transparent 58%);transform:translateX(-70%);animation:cardSweep 8s ease-in-out infinite}
@keyframes cardSweep{50%,100%{transform:translateX(70%)}}
.card:before{box-shadow:0 0 30px rgba(232,156,76,.08)}
.phase .wire{animation:spin 12s linear infinite,wirePulse 4s ease-in-out infinite}
@keyframes wirePulse{50%{box-shadow:0 0 35px rgba(232,156,76,.2)}}
.blueprint:before{box-shadow:0 0 40px rgba(232,156,76,.08)}
.blueprint:after{box-shadow:0 0 30px var(--gold),0 0 80px rgba(232,156,76,.15)}

/* Universal floating WhatsApp chatbot */
.chat-widget{position:fixed;right:24px;bottom:24px;z-index:1000;font-family:Inter,Arial,sans-serif}
.chat-button{position:relative;width:66px;height:66px;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:var(--gold);color:#090909;display:grid;place-items:center;cursor:pointer;box-shadow:0 16px 40px rgba(0,0,0,.45),0 0 28px rgba(232,156,76,.3);animation:chatFloat 3.8s ease-in-out infinite}
.chat-button:before{content:"";position:absolute;inset:-9px;border:1px solid rgba(232,156,76,.45);border-radius:50%;animation:chatRing 2.8s ease-out infinite}
.chat-pulse{position:absolute;right:5px;top:5px;width:10px;height:10px;background:#1bd741;border:2px solid #fff;border-radius:50%;z-index:3;box-shadow:0 0 12px rgba(27,215,65,.75)}
.chat-icon{width:31px;height:31px;display:grid;place-items:center}.chat-icon svg{width:100%;height:100%}
.chat-label{position:absolute;right:76px;white-space:nowrap;background:#fff;color:#111;border-radius:999px;padding:9px 14px;font-size:12px;font-weight:800;box-shadow:0 10px 25px rgba(0,0,0,.25);opacity:0;transform:translateX(8px);pointer-events:none;transition:.3s}
.chat-button:hover .chat-label{opacity:1;transform:none}
@keyframes chatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes chatRing{0%{transform:scale(.75);opacity:.7}80%,100%{transform:scale(1.35);opacity:0}}
.chat-panel{position:absolute;right:0;bottom:82px;width:min(360px,calc(100vw - 32px));background:#fff;color:#111;border-radius:20px;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.5);border:1px solid rgba(232,156,76,.4);opacity:0;visibility:hidden;transform:translateY(18px) scale(.96);transform-origin:bottom right;transition:.35s ease}
.chat-widget.is-open .chat-panel{opacity:1;visibility:visible;transform:none}
.chat-head{padding:18px 18px;background:linear-gradient(135deg,#151515,#282828);color:#fff}
.chat-brand{display:flex;align-items:center;gap:10px}.chat-brand strong{display:block}.chat-brand small{display:block;color:#bdbdbd;margin-top:3px}
.chat-status{width:9px;height:9px;background:#1bd741;border-radius:50%;box-shadow:0 0 12px #1bd741}
.chat-close{float:right;margin-top:-30px;border:0;background:transparent;color:#fff;font-size:26px;cursor:pointer}
.chat-body{padding:17px}.chat-body>p{margin:0 0 12px;color:#666;font-size:13px}
.chat-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chat-options button{border:1px solid #ddd;background:#fafafa;border-radius:10px;padding:10px 9px;text-align:left;font:600 12px Inter;color:#222;cursor:pointer;transition:.25s}.chat-options button:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 7px 16px rgba(0,0,0,.08)}
.chat-foot{padding:14px 17px;border-top:1px solid #eee}.chat-start{display:flex;justify-content:center;background:var(--gold);color:#090909;padding:12px;border-radius:10px;font-weight:800}
.chat-widget.is-open .chat-button{animation:none;transform:scale(.95)}
.chat-widget.is-open .chat-button:before{animation:none;opacity:0}

/* Better footer layout on all pages */
footer{position:relative;overflow:hidden}
.foot{align-items:flex-start}
.footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:40px}
.footer-grid h4{margin:0 0 15px;color:#fff}
.footer-grid p{color:#888;line-height:1.65}
.footer-links{display:grid;gap:9px}
.footer-links a{color:#888;transition:.25s}.footer-links a:hover{color:var(--gold);transform:translateX(4px)}
.footer-bottom{width:min(var(--max),calc(100% - 48px));margin:34px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#777;font-size:12px}
.footer-bottom a:hover{color:var(--gold)}
.footer-legal{margin-top:80px;padding:35px 0;border-top:1px solid rgba(255,255,255,.1);background:#050505}
.footer-legal-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}
.footer-legal-inner p{color:#777;margin:6px 0 0}.legal-links{display:flex;gap:18px;flex-wrap:wrap;color:#999}.legal-links a:hover{color:var(--gold)}
.legal{position:relative}

/* Mobile */
@media(max-width:900px){
  .top .wrap,.header .container{width:min(var(--max),calc(100% - 32px))}
  .top .links{display:none}.top .menu{display:block}
  .header .links{display:none}.header .hamb{display:block}
  .nav-cta{display:none}
  .logo-shell-main{width:140px;height:54px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:560px){
  .top nav,.header .nav{min-height:70px}
  .logo-shell-main{width:126px;height:50px;padding:4px 9px}
  .logo-shell-footer{width:148px;height:55px}
  .hero{padding-top:86px}
  .footer-grid{grid-template-columns:1fr;gap:26px}
  .foot{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
  footer{padding:42px 0 92px}
  .footer-bottom{width:calc(100% - 32px);margin-top:28px;display:grid;grid-template-columns:1fr;gap:10px;line-height:1.6}
  .footer-bottom span{display:block}
  .footer-legal-inner{flex-direction:column;align-items:flex-start;gap:16px}
  .legal-links{gap:12px}
  .chat-widget{right:15px;bottom:15px}
  .chat-button{width:58px;height:58px}
  .chat-icon{width:27px;height:27px}
  .chat-label{display:none}
  .chat-panel{right:-2px;bottom:72px;width:min(350px,calc(100vw - 30px))}
  .chat-options{grid-template-columns:1fr}
  .site-bg{opacity:.72}
}
@media(prefers-reduced-motion:reduce){
  .site-bg *,.logo-shell,.logo-shell:before,.logo-shell:after,.chat-button,.chat-button:before{animation:none!important}
}

/* ===== SLV FINAL CONTACT / ENQUIRY / MOTION SYSTEM ===== */
body.modal-open{overflow:hidden}
@keyframes logoFloat{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-5px) rotate(.4deg)}}
@keyframes logoEclipse{to{transform:rotate(360deg)}}

/* richer full-page architectural atmosphere */
.site-bg{opacity:1;mix-blend-mode:screen}
.site-bg:before{content:"";position:absolute;inset:-25%;background:radial-gradient(circle at 18% 20%,rgba(232,156,76,.13),transparent 22%),radial-gradient(circle at 82% 35%,rgba(255,255,255,.055),transparent 19%),radial-gradient(circle at 55% 88%,rgba(232,156,76,.08),transparent 20%);animation:ambientDrift 22s ease-in-out infinite alternate}
.site-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(232,156,76,.055) 49%,transparent 50%),linear-gradient(0deg,transparent 0%,rgba(255,255,255,.035) 49%,transparent 50%);background-size:240px 240px;animation:technicalPan 24s linear infinite}
.bg-orbit{position:absolute;border:1px solid rgba(232,156,76,.18);border-radius:50%;transform-style:preserve-3d;filter:drop-shadow(0 0 10px rgba(232,156,76,.08))}
.bg-orbit-a{width:44vw;height:44vw;left:-18vw;top:10vh;animation:orbitSpin 28s linear infinite}
.bg-orbit-b{width:31vw;height:31vw;right:-9vw;top:42vh;border-color:rgba(255,255,255,.1);animation:orbitSpin 20s linear infinite reverse}
.bg-orbit-c{width:58vw;height:58vw;left:20vw;top:95vh;border-style:dashed;border-color:rgba(232,156,76,.1);animation:orbitSpin 38s linear infinite}
.bg-beam{position:absolute;height:1px;width:70vw;background:linear-gradient(90deg,transparent,rgba(232,156,76,.65),transparent);box-shadow:0 0 18px rgba(232,156,76,.15)}
.bg-beam-a{top:23%;left:-20%;animation:beamMove 11s linear infinite}
.bg-beam-b{top:71%;left:30%;animation:beamMove 15s linear infinite reverse;opacity:.55}
.bg-node{position:absolute;width:6px;height:6px;border:1px solid var(--gold);border-radius:50%;box-shadow:0 0 18px rgba(232,156,76,.65);animation:nodeFloat 7s ease-in-out infinite}
.bg-node-a{left:16%;top:31%}.bg-node-b{right:17%;top:57%;animation-delay:-2s}.bg-node-c{left:63%;top:78%;animation-delay:-4s}.bg-node-d{left:42%;top:14%;animation-delay:-1s}
.bg-cross{position:absolute;width:24px;height:24px;opacity:.45}.bg-cross:before,.bg-cross:after{content:"";position:absolute;background:rgba(232,156,76,.5)}.bg-cross:before{width:24px;height:1px;top:11px}.bg-cross:after{height:24px;width:1px;left:11px}.bg-cross-a{left:8%;top:66%;animation:crossSpin 9s linear infinite}.bg-cross-b{right:10%;top:22%;animation:crossSpin 13s linear infinite reverse}.bg-cross-c{right:31%;top:86%;animation:crossSpin 11s linear infinite}
.bg-scan{position:absolute;left:0;right:0;height:110px;background:linear-gradient(180deg,transparent,rgba(232,156,76,.06),transparent);animation:scanMove 12s linear infinite}
.bg-dots{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);opacity:.16;animation:dotsDrift 18s linear infinite}
@keyframes ambientDrift{to{transform:translate3d(4%,-3%,0) scale(1.08) rotate(3deg)}}
@keyframes technicalPan{to{background-position:240px 120px,-120px 240px}}
@keyframes orbitSpin{to{transform:rotate(360deg) rotateX(62deg)}}
@keyframes beamMove{0%{transform:translateX(-25vw) scaleX(.7);opacity:0}20%,80%{opacity:1}100%{transform:translateX(145vw) scaleX(1.2);opacity:0}}
@keyframes nodeFloat{0%,100%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(22px,-32px,0) scale(1.45)}}
@keyframes crossSpin{to{transform:rotate(360deg)}}
@keyframes scanMove{from{transform:translateY(-20vh)}to{transform:translateY(120vh)}}
@keyframes dotsDrift{to{background-position:38px 76px}}

/* Enquiry CTA attached to every section */
.section-enquiry{position:relative;z-index:4;max-width:var(--max);margin:55px auto 0;padding:18px 22px;border:1px solid rgba(232,156,76,.22);background:linear-gradient(90deg,rgba(232,156,76,.07),rgba(255,255,255,.025));display:flex;align-items:center;justify-content:space-between;gap:18px;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:.35s;overflow:hidden}
.section-enquiry:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(232,156,76,.1),transparent);transform:translateX(-100%);animation:enquirySweep 6s ease-in-out infinite}
.section-enquiry strong,.section-enquiry span{position:relative;display:block}.section-enquiry strong{font-size:15px}.section-enquiry span{color:#888;font-size:12px;margin-top:4px}.section-enquiry-btn{position:relative;border:1px solid var(--gold);background:var(--gold);color:#090909;padding:11px 17px;border-radius:999px;font-weight:800;cursor:pointer;white-space:nowrap;transition:.3s}.section-enquiry-btn:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(232,156,76,.2)}
@keyframes enquirySweep{50%{transform:translateX(100%)}}

/* Modal */
.enquiry-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:22px}.enquiry-modal.is-open{display:flex}.enquiry-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(12px)}.enquiry-dialog{position:relative;width:min(720px,100%);max-height:min(90vh,850px);overflow:auto;background:linear-gradient(145deg,#151515,#090909);border:1px solid rgba(232,156,76,.4);border-radius:24px;padding:34px;box-shadow:0 30px 100px rgba(0,0,0,.65);animation:dialogIn .35s ease}.enquiry-dialog h2{font-size:clamp(32px,5vw,54px);margin:8px 0}.enquiry-context{color:#999;line-height:1.6}.enquiry-x{position:absolute;right:16px;top:14px;border:0;background:transparent;color:#fff;font-size:30px;cursor:pointer}.enquiry-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.enquiry-action{padding:13px 10px;border:1px solid rgba(255,255,255,.12);border-radius:12px;text-align:center;font-weight:800;font-size:12px}.enquiry-action.whatsapp{background:#1fca5b;color:#071009}.enquiry-action.phone{background:var(--gold);color:#090909}.enquiry-action.email{background:#fff;color:#111}.modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.enquiry-dialog input,.enquiry-dialog select,.enquiry-dialog textarea{margin:0;background:#0b0b0b;border-color:#303030;border-radius:10px}.enquiry-dialog textarea{margin-top:10px;min-height:130px}.enquiry-dialog .btn{margin-top:12px}.modal-small{color:#666;font-size:11px;line-height:1.5}@keyframes dialogIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:none}}

/* Chatbot */
.chat-widget{position:fixed;right:24px;bottom:24px;z-index:1800}.chat-button{animation:chatFloat 3.5s ease-in-out infinite}.chat-button:before{animation:chatRing 2.6s ease-out infinite}.chat-button:after{content:"";position:absolute;inset:-16px;border:1px dashed rgba(232,156,76,.18);border-radius:50%;animation:chatOuter 7s linear infinite}.chat-contact-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding:12px 15px;border-top:1px solid #eee}.chat-contact-actions a{padding:9px 5px;text-align:center;border-radius:9px;background:#f1f1f1;color:#111;font-weight:800;font-size:11px}.chat-contact-actions .chat-start{background:#1fca5b;color:#071009}.chat-message{padding:10px 12px;background:#f4f4f4;border-radius:12px;color:#333;font-size:13px;margin-bottom:12px}.chat-status{animation:onlinePulse 1.8s ease-in-out infinite}@keyframes onlinePulse{50%{box-shadow:0 0 0 6px rgba(27,215,65,.08),0 0 16px #1bd741}}
@keyframes chatFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes chatRing{0%{transform:scale(.9);opacity:.7}80%,100%{transform:scale(1.5);opacity:0}}@keyframes chatOuter{to{transform:rotate(360deg)}}

/* Footer: no logo, stronger mobile alignment */
.footer-grid-no-logo{grid-template-columns:1.35fr 1fr 1fr 1fr}.footer-brand strong{font-size:28px;letter-spacing:-.03em}.footer-brand>p:first-of-type{color:var(--gold);font-weight:800;letter-spacing:.16em}.footer-contact{display:grid;gap:9px;margin:15px 0 18px}.footer-contact a{color:#aaa}.footer-contact a:hover{color:var(--gold)}.footer-enquire{display:inline-flex}.footer-legal-links{display:flex;gap:16px;flex-wrap:wrap}.footer-legal-links a{color:#777}.footer-legal-links a:hover{color:var(--gold)}.no-footer-logo{display:flex;align-items:center;justify-content:space-between;gap:30px}.no-footer-logo>div:first-child p{color:#777}.no-footer-logo .legal-links{justify-content:flex-end}

@media(max-width:900px){.section-enquiry{margin-left:16px;margin-right:16px}.footer-grid-no-logo{grid-template-columns:1fr 1fr}.enquiry-actions{grid-template-columns:1fr}.chat-widget{right:18px;bottom:18px}}
@media(max-width:560px){.section-enquiry{margin-top:35px;display:block;padding:16px}.section-enquiry-btn{margin-top:13px;width:100%}.footer-grid-no-logo{grid-template-columns:1fr;gap:28px}.site-footer{padding-bottom:110px}.footer-bottom{align-items:flex-start}.footer-legal-links{gap:10px 14px}.no-footer-logo{display:flex;flex-direction:column;align-items:flex-start;gap:18px}.no-footer-logo .legal-links{justify-content:flex-start}.enquiry-dialog{padding:25px 18px;border-radius:18px}.modal-grid{grid-template-columns:1fr}.chat-widget{right:14px;bottom:14px}.chat-button{width:60px;height:60px}.chat-panel{right:0;bottom:76px;width:min(360px,calc(100vw - 28px))}.chat-contact-actions{grid-template-columns:repeat(3,1fr)}.chat-label{display:none}.bg-orbit-a{width:80vw;height:80vw}.bg-orbit-b{width:62vw;height:62vw}.bg-orbit-c{width:110vw;height:110vw;left:-5vw}}
@media(prefers-reduced-motion:reduce){.site-bg *,.logo-shell,.logo-shell:before,.logo-shell:after,.chat-button,.chat-button:before,.chat-button:after,.section-enquiry:before{animation:none!important}.section-enquiry,.card,.phase,.panel{transform:none!important}}

/* =========================================================
   FINAL POLISH — COMPACT LAYOUT / NO BLUEPRINT BOX / CLICKABLE CATEGORIES
   ========================================================= */
.container{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto}

/* Remove the large empty blueprint/scan panel completely. */
.blueprint{display:none!important}

/* Tighter vertical rhythm across the entire site. */
section{padding:88px 0}
.page-hero{padding-top:132px!important;padding-bottom:54px!important;min-height:0!important}
.section-head{margin-bottom:38px}

/* Replace large empty areas with useful, compact delivery content. */
.delivery-grid,.project-readiness{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.project-readiness{grid-template-columns:repeat(2,1fr)}
.delivery-card,.readiness-card{position:relative;padding:26px;border:1px solid rgba(255,255,255,.1);background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));overflow:hidden;min-height:0}
.delivery-card:before,.readiness-card:before{content:"";position:absolute;inset:auto -40px -70px auto;width:170px;height:170px;border:1px solid rgba(232,156,76,.18);border-radius:50%;animation:spin 16s linear infinite}
.delivery-card h3,.readiness-card h3{font-size:25px;margin:9px 0 10px;line-height:1.05}
.delivery-card p,.readiness-card p{color:#aaa;line-height:1.65;margin:0 0 18px}
.delivery-kicker,.card-kicker{display:inline-block;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}

/* Homepage service grid: all eight professional service categories. */
.services-grid{grid-template-columns:repeat(4,1fr)}
.services-grid .card{min-height:270px;padding:25px;display:flex;flex-direction:column}
.services-grid .card h3{font-size:23px;margin:14px 0 10px;line-height:1.1}
.services-grid .card p{margin:0 0 18px}
.services-grid .card-actions{margin-top:auto}
.sector-grid .card{min-height:285px}
.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:18px;position:relative;z-index:3}
.card-link{color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.03em}
.card-link:hover{text-decoration:underline}
.card-cta{position:relative;z-index:5;border:1px solid var(--gold);background:var(--gold);color:#090909;padding:9px 13px;border-radius:999px;font:800 11px Inter,Arial,sans-serif;cursor:pointer;transition:.25s;white-space:nowrap}
.card-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(232,156,76,.2)}
.clickable-card{cursor:pointer}

/* Service detail cards on inner page. */
.grid2 .card{min-height:0;padding:28px}
.grid2 .card-body{height:100%;display:flex;flex-direction:column}
.grid2 .card-body .card-cta{align-self:flex-start;margin-top:auto}

/* Prevent decorative layers from creating visual clutter or apparent empty boxes. */
.motionline{opacity:.5}
section:after{opacity:.55}

/* Footer: hard containment so no column can escape the viewport. */
.site-footer{width:100%;overflow:hidden}
.site-footer .container,.site-footer .footer-grid,.site-footer .footer-bottom{width:min(var(--max),calc(100% - 48px));max-width:var(--max);margin-left:auto;margin-right:auto}
.footer-grid-no-logo{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:28px}
.footer-grid-no-logo>div{min-width:0}
.footer-grid-no-logo a,.footer-grid-no-logo p,.footer-grid-no-logo span{overflow-wrap:anywhere;word-break:break-word}
.footer-bottom{box-sizing:border-box;align-items:flex-start}
.footer-bottom>*{min-width:0}
.footer-legal-links{max-width:100%;align-items:flex-start}

/* Inner pages: reduce oversized visual gaps and keep split layouts inside bounds. */
.split{min-width:0}
.split>*{min-width:0}
.visual{min-width:0;overflow:hidden}
.visual img{max-width:100%;height:auto;display:block}

@media(max-width:1100px){
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid-no-logo{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .container{width:min(var(--max),calc(100% - 32px))}
  section{padding:72px 0}
  .delivery-grid{grid-template-columns:1fr}
  .project-readiness{grid-template-columns:1fr}
  .site-footer .container,.site-footer .footer-grid,.site-footer .footer-bottom{width:calc(100% - 32px)}
  .footer-grid-no-logo{grid-template-columns:1fr 1fr;gap:24px}
  .section-enquiry{width:calc(100% - 32px);max-width:var(--max);margin-left:auto;margin-right:auto}
}
@media(max-width:560px){
  .container{width:calc(100% - 28px)}
  section{padding:58px 0}
  .page-hero{padding-top:105px!important;padding-bottom:30px!important}
  .section-head{margin-bottom:26px}
  .section-head h2{font-size:clamp(36px,11vw,50px)}
  .services-grid,.footer-grid-no-logo{grid-template-columns:1fr}
  .services-grid .card{min-height:0}
  .sector-grid .card{min-height:0}
  .delivery-card,.readiness-card{padding:22px}
  .card-actions{align-items:stretch;flex-wrap:wrap}
  .card-actions .card-link{padding:9px 0}
  .site-footer .container,.site-footer .footer-grid,.site-footer .footer-bottom{width:calc(100% - 28px)}
  .footer-grid-no-logo{gap:24px}
  .footer-bottom{margin-top:24px!important;gap:12px!important}
  .footer-legal-links{display:flex;flex-direction:column;gap:8px}
  .footer-bottom span{max-width:100%}
  .section-enquiry{width:calc(100% - 28px);margin-top:28px;padding:15px}
}
.section-link{display:inline-flex;margin-top:12px;color:var(--gold);font-size:12px;font-weight:800;letter-spacing:.04em;border-bottom:1px solid rgba(232,156,76,.35);padding-bottom:4px}.section-link:hover{border-color:var(--gold);transform:translateX(3px)}
.legal{padding-top:118px!important}

/* Final footer/enquiry cleanup */
.footer-enquire{background:var(--gold)!important;color:#090909!important;border-color:var(--gold)!important;min-width:165px;justify-content:center;box-shadow:0 8px 24px rgba(232,156,76,.12)}
.footer-enquire:hover{color:#090909!important;background:var(--gold2)!important}
.footer-grid-no-logo{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto;min-width:0;align-items:start}
.footer-grid-no-logo>div{min-width:0}
.footer-links a,.footer-contact a{overflow-wrap:anywhere}
.footer-bottom{width:min(var(--max),calc(100% - 48px));margin-left:auto;margin-right:auto;min-width:0;gap:18px;flex-wrap:wrap}
.important-cta{display:flex;justify-content:center;margin:30px auto 0}
@media(max-width:900px){.footer-grid-no-logo{width:calc(100% - 32px)}.footer-bottom{width:calc(100% - 32px)}}
@media(max-width:560px){.footer-grid-no-logo{width:calc(100% - 28px)}.footer-bottom{width:calc(100% - 28px);text-align:left}.footer-enquire{width:100%;max-width:240px}.important-cta{margin-top:24px}}


/* SLV Projects 2.5-second opening splash — white architectural edition */
body.splash-active{overflow:hidden}
.slv-splash{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:#fff;color:#111;overflow:hidden;isolation:isolate;transition:opacity .55s ease,visibility .55s ease}
.slv-splash.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.splash-grid{position:absolute;inset:-10%;opacity:.42;background-image:linear-gradient(rgba(232,156,76,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(232,156,76,.12) 1px,transparent 1px);background-size:48px 48px;transform:perspective(700px) rotateX(58deg) translateY(16%);animation:splashGridMove 5s linear infinite}
.splash-grid:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(232,156,76,.14),transparent 34%),radial-gradient(circle at 50% 50%,transparent 28%,rgba(255,255,255,.92) 76%)}
.splash-orbit{position:absolute;border:1px solid rgba(232,156,76,.28);border-radius:50%;width:min(72vw,760px);height:min(72vw,760px);animation:splashOrbit 8s linear infinite}
.splash-orbit:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#e89c4c;box-shadow:0 0 18px rgba(232,156,76,.45);left:50%;top:-4px}
.splash-orbit-a{transform:rotate(18deg) scaleY(.34)}
.splash-orbit-b{width:min(54vw,560px);height:min(54vw,560px);transform:rotate(-22deg) scaleY(.32);animation-duration:6s;animation-direction:reverse;border-color:rgba(10,10,10,.10)}
.splash-panel{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;width:min(90vw,760px);padding:34px 24px}
.splash-logo-wrap{position:relative;width:190px;height:104px;display:grid;place-items:center;margin-bottom:24px;animation:none!important}
.splash-logo-wrap img{position:relative;z-index:2;width:158px;height:auto;display:block;border-radius:999px;filter:drop-shadow(0 12px 22px rgba(0,0,0,.12))}
.splash-logo-ring{display:none!important}
.splash-logo-ring:after{display:none!important}
.splash-brand{font-size:clamp(22px,4vw,34px);font-weight:900;letter-spacing:.2em;margin-left:.2em;color:#111;animation:splashTextIn .7s .25s both}
.splash-tagline{margin-top:12px;color:#c77721;font-size:clamp(10px,1.4vw,13px);font-weight:800;letter-spacing:.12em;animation:splashTextIn .7s .4s both}
.splash-tagline span{color:rgba(10,10,10,.38);margin:0 5px}
.splash-location{margin-top:15px;color:rgba(10,10,10,.58);font-size:11px;letter-spacing:.18em;animation:splashTextIn .7s .55s both}
.splash-loader{width:min(310px,70vw);height:2px;margin-top:30px;background:rgba(10,10,10,.10);overflow:hidden;animation:splashTextIn .7s .65s both}
.splash-loader span{display:block;height:100%;width:0;background:linear-gradient(90deg,transparent,#e89c4c,#f0a454,transparent);box-shadow:0 0 16px rgba(232,156,76,.45);animation:splashLoad 2.25s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes splashGridMove{from{background-position:0 0,0 0}to{background-position:0 48px,48px 0}}
@keyframes splashOrbit{to{rotate:360deg}}
@keyframes splashSpin{to{rotate:360deg}}
@keyframes splashRing{0%,100%{scale:.96;opacity:.65}50%{scale:1.04;opacity:1}}
@keyframes splashLogoIn{from{opacity:0;transform:translateY(20px) scale(.8) rotate(-8deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes splashTextIn{from{opacity:0;transform:translateY(10px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes splashLoad{0%{width:0}82%{width:88%}100%{width:100%}}
@media(max-width:560px){.splash-panel{padding:24px 18px}.splash-logo-wrap{width:160px;height:88px}.splash-logo-wrap img{width:140px}.splash-tagline{max-width:330px;line-height:1.8}.splash-orbit{width:105vw;height:105vw}.splash-orbit-b{width:76vw;height:76vw}}
@media(prefers-reduced-motion:reduce){.splash-grid,.splash-orbit,.splash-logo-ring,.splash-logo-ring:after,.splash-logo-wrap,.splash-brand,.splash-tagline,.splash-location,.splash-loader{animation:none}.splash-loader span{width:100%}}

/* Dedicated service detail pages */
.detail-hero{padding-bottom:70px!important}
.detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;position:relative;z-index:3}
.detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:28px;align-items:start}
.detail-section h2{max-width:760px}
.detail-lead{color:#aaa;line-height:1.8;max-width:760px}
.detail-list{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}
.detail-list li{position:relative;padding:14px 16px 14px 38px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.025);color:#bdbdbd;line-height:1.55}
.detail-list li:before{content:'+';position:absolute;left:15px;top:12px;color:var(--gold);font-weight:900;font-size:18px}
.detail-list.compact{margin-top:18px}
.detail-panel{min-height:0;padding:0}
.detail-panel .card-body{padding:30px}
.detail-note{margin-top:22px;padding:18px;border-left:2px solid var(--gold);background:rgba(232,156,76,.055)}
.detail-note strong{display:block;color:#fff;margin-bottom:6px}
.detail-note p{margin:0;color:#999;line-height:1.7}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-hero{padding-bottom:48px!important}}
@media(max-width:560px){.detail-actions{display:grid;grid-template-columns:1fr}.detail-actions .btn{width:100%;text-align:center}.detail-list li{padding-right:12px}.detail-panel .card-body{padding:22px}}

/* Final mobile navigation fix */
@media(max-width:900px){
  .top nav{position:relative}
  .top .menu{display:grid!important;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(232,156,76,.38);border-radius:12px;background:rgba(255,255,255,.035);color:#fff;cursor:pointer;line-height:1;font-size:27px;z-index:60}
  .top .links.mobile-open{display:flex!important;position:absolute;top:calc(100% + 1px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:rgba(8,8,8,.98);border:1px solid rgba(232,156,76,.24);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 18px 40px rgba(0,0,0,.45);z-index:55;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .top .links.mobile-open a{display:block;width:100%;padding:15px 14px;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px;letter-spacing:.16em;opacity:1}
  .top .links.mobile-open a:last-child{border-bottom:0}
  .top .links.mobile-open a:hover,.top .links.mobile-open a:focus{color:var(--gold);background:rgba(232,156,76,.07)}
}
@media(max-width:560px){
  .top .links.mobile-open{left:0;right:0;max-height:calc(100svh - 82px);overflow:auto}
  .top .menu{width:44px;height:44px;font-size:26px}
}

/* Enquiry CTA cleanup: keep conversion points focused instead of repeating buttons in every section. */
.section-enquiry{display:none!important}
.card-actions{align-items:center}

/* Splash remains a full-screen white opening experience on every browser refresh. */
.slv-splash{background:#fff!important}


/* Final enquiry action alignment fix */
.enquiry-contact-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px;width:100%;align-items:stretch}
.enquiry-contact-row .mini-contact{min-width:0;min-height:46px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:12px;font-weight:800;line-height:1.2;box-sizing:border-box;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.enquiry-contact-row .mini-contact:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.22)}
.enquiry-contact-row .mini-contact.wa{width:auto;height:auto;border-radius:10px;background:#1fca5b;color:#071009;font-size:12px;box-shadow:none;animation:none;display:flex}
.enquiry-contact-row .mini-contact.call{background:var(--gold);color:#090909;border-color:var(--gold)}
.enquiry-contact-row .mini-contact.mail{background:#fff;color:#111;border-color:#fff}
.section-cta{display:flex;justify-content:flex-start;align-items:center;margin:28px 0 0}
.section-enquire-btn{min-width:190px;justify-content:center}
@media(max-width:560px){
  .enquiry-contact-row{grid-template-columns:1fr;gap:9px}
  .enquiry-contact-row .mini-contact{width:100%!important}
  .section-cta{margin-top:24px}
  .section-enquire-btn{width:100%;max-width:280px}
}

/* Final CTA + contact alignment cleanup */
.section-cta{width:100%;max-width:var(--max);box-sizing:border-box;display:flex;justify-content:flex-start;align-items:center;margin:28px auto 0;padding:0;min-width:0;overflow:visible}
.section-cta .section-enquire-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;max-width:100%;width:auto;white-space:normal;text-align:center;line-height:1.25;overflow-wrap:anywhere}
.contactbox-clean{grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);align-items:start;gap:20px}
.contact-intro{padding:30px!important;min-width:0;align-self:start}
.contact-intro p{color:#aaa;line-height:1.7;margin:10px 0}
.contact-intro .contact-accent{color:var(--gold);font-weight:700}
.contact-quick{display:grid;gap:8px;margin-top:18px}
.contact-quick a{color:#aaa;overflow-wrap:anywhere}
.contact-quick a:hover{color:var(--gold)}
.enquiry-form{min-width:0;box-sizing:border-box;overflow:hidden}
.enquiry-form .btn{max-width:100%;box-sizing:border-box;white-space:normal}
.enquiry-contact-row{width:100%;min-width:0;box-sizing:border-box}
.enquiry-contact-row .mini-contact{min-width:0;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:900px){.section-cta{width:100%;padding:0;}.section-cta .section-enquire-btn{max-width:100%;}.contactbox-clean{grid-template-columns:1fr;}.contact-intro{padding:24px!important}}
@media(max-width:560px){.section-cta{margin-top:22px;padding:0;}.section-cta .section-enquire-btn{width:100%;max-width:100%;}.contactbox-clean{gap:14px}.contact-intro{padding:20px!important}.enquiry-form{padding:20px!important}.enquiry-contact-row{grid-template-columns:1fr;gap:9px}.enquiry-contact-row .mini-contact{width:100%!important;height:42px;display:flex;align-items:center;justify-content:center}}

/* FINAL COMPACT LAYOUT PASS — tighter vertical rhythm, no oversized empty blocks */
:root{--section-space:68px}
section{padding:var(--section-space) 0}
.section-head{margin-bottom:30px;align-items:center}
.section-head h2{line-height:.98}
.cards{gap:16px}
.card{min-height:285px;padding:26px}
.card h3{font-size:27px;margin:78px 0 12px}
.services-grid .card{min-height:245px;padding:24px}
.services-grid .card h3{font-size:22px;margin:12px 0 9px}
.sector-grid .card{min-height:260px}
.delivery-card,.readiness-card{padding:24px}
.process{gap:1px}
.phase{min-height:315px;padding:40px 32px}
.phase h3{font-size:42px;margin-bottom:12px}
.blueprint{min-height:340px}
.contactbox{gap:18px}
.panel{padding:30px}
.contactbox-clean .contact-intro{padding:26px!important}
textarea{min-height:125px}
.section-cta{margin-top:22px}
.page-hero{padding-top:112px!important;padding-bottom:38px!important}
.detail-hero{padding-bottom:42px!important}
.detail-list{margin-top:20px;gap:9px}
.detail-list li{padding:11px 14px 11px 34px}
.detail-panel .card-body{padding:26px}
.legal{padding-top:120px!important}
.legal h2{margin-top:32px}
footer{padding:42px 0}

/* prevent visual components from creating artificial empty vertical space */
.visual,.stage{min-height:0}

@media (max-width:900px){
  :root{--section-space:56px}
  section{padding:var(--section-space) 0}
  .hero{min-height:auto;padding-top:110px;padding-bottom:58px}
  .hero-grid{gap:28px}
  .stage{height:360px}
  .section-head{margin-bottom:24px}
  .cards{gap:14px}
  .card{min-height:245px}
  .services-grid .card{min-height:0}
  .sector-grid .card{min-height:0}
  .process{grid-template-columns:1fr}
  .phase{min-height:0;padding:34px 28px}
  .blueprint{min-height:300px}
  .page-hero{padding-top:104px!important;padding-bottom:28px!important}
  .detail-hero{padding-bottom:34px!important}
  .contactbox-clean{gap:14px}
  .panel{padding:24px}
}

@media (max-width:560px){
  :root{--section-space:44px}
  section{padding:var(--section-space) 0}
  .hero{padding-top:92px;padding-bottom:44px}
  .hero-grid{gap:18px}
  .stage{height:270px}
  .hero h1{margin:14px 0}
  .hero p{line-height:1.6}
  .section-head{margin-bottom:20px}
  .section-head h2{font-size:clamp(34px,11vw,48px)}
  .card{padding:22px;min-height:0}
  .card h3{font-size:25px;margin-top:70px}
  .services-grid .card{padding:21px}
  .services-grid .card h3{font-size:21px;margin-top:10px}
  .phase{padding:28px 22px}
  .phase h3{font-size:36px}
  .blueprint{min-height:230px}
  .section-cta{margin-top:18px}
  .section-enquire-btn{width:100%;max-width:100%}
  .page-hero{padding-top:90px!important;padding-bottom:22px!important}
  .detail-hero{padding-bottom:28px!important}
  .detail-list{gap:7px}
  .detail-list li{padding:10px 12px 10px 30px}
  .detail-panel .card-body{padding:20px}
  .contactbox-clean{gap:12px}
  .contact-intro{padding:18px!important}
  .enquiry-form{padding:18px!important}
  .legal{padding-top:96px!important}
  footer{padding:34px 0}
}


/* Final alignment pass: compact contact area and clean footer */
.contactbox{align-items:start;}
.contactbox > .panel{align-self:start;height:auto;min-height:0;box-sizing:border-box;}
.contact-intro{height:auto!important;}
.contact-intro .contact-quick{display:grid;gap:9px;margin-top:18px;}
.enquiry-form{display:block;}
.enquiry-form > .btn{display:inline-flex;align-items:center;justify-content:center;max-width:100%;}
.section-cta{width:min(var(--max),calc(100% - 48px));margin:28px auto 0;display:flex;justify-content:center;box-sizing:border-box;}
.section-enquire-btn{max-width:100%;box-sizing:border-box;}
.site-footer{padding:42px 0 0;}
.footer-grid-no-logo{align-items:start;}
.footer-grid-no-logo>div{align-self:start;}
.footer-brand>p{margin:10px 0 0;}
.footer-brand>p:first-of-type{margin-top:8px;}
.footer-links{gap:7px;}
.footer-contact{gap:7px;margin:12px 0 16px;}
.footer-enquire{margin-top:0;}
.footer-bottom{margin-top:28px!important;padding:18px 0 22px!important;align-items:center!important;}
@media(max-width:900px){
  .contactbox{align-items:start;}
  .section-cta{width:calc(100% - 32px);margin-top:24px;}
  .site-footer{padding-top:36px;}
}
@media(max-width:560px){
  .contactbox{gap:14px;}
  .contactbox > .panel{width:100%;}
  .section-cta{width:calc(100% - 28px);margin-top:20px;}
  .section-enquire-btn{width:100%;}
  .site-footer{padding-top:30px;}
  .footer-grid-no-logo{gap:20px;}
  .footer-bottom{margin-top:22px!important;padding:16px 0 18px!important;}
}


/* =========================================================
   SLV PRIMARY NAVIGATION — SINGLE-WORD MENU + DROPDOWNS
   ========================================================= */
.top nav{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px}
.top .links{display:flex;align-items:center;gap:26px}
.top .links>a,.top .nav-dropdown>summary{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#fff;opacity:.8;transition:.25s;cursor:pointer;white-space:nowrap}
.top .links>a:hover,.top .nav-dropdown>summary:hover{opacity:1;color:var(--gold)}
.top .nav-dropdown{position:relative}
.top .nav-dropdown>summary{list-style:none;display:flex;align-items:center;gap:7px}
.top .nav-dropdown>summary::-webkit-details-marker{display:none}
.top .nav-dropdown>summary:after{content:'⌄';font-size:11px;color:var(--gold);transform:translateY(-1px);transition:.25s}
.top .nav-dropdown[open]>summary:after{transform:rotate(180deg)}
.top .nav-submenu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:190px;padding:9px;background:rgba(10,10,10,.97);border:1px solid rgba(232,156,76,.28);box-shadow:0 20px 50px rgba(0,0,0,.5);backdrop-filter:blur(16px);border-radius:10px;opacity:0;visibility:hidden;pointer-events:none;transition:.22s ease}
.top .nav-dropdown:hover .nav-submenu,.top .nav-dropdown[open] .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.top .nav-submenu a{display:block;padding:10px 12px;color:#eee;font-size:12px;letter-spacing:.05em;border-radius:6px;white-space:nowrap}
.top .nav-submenu a:hover{background:rgba(232,156,76,.1);color:var(--gold)}
@media(max-width:900px){
  .top .links{display:none}
  .top .links.mobile-open{display:flex!important;position:absolute;top:calc(100% + 1px);left:0;right:0;padding:18px 20px 22px;background:rgba(8,8,8,.98);border:1px solid rgba(255,255,255,.08);border-top:0;box-shadow:0 20px 40px rgba(0,0,0,.35);flex-direction:column;align-items:stretch;gap:0;z-index:50}
  .top .links.mobile-open>a,.top .links.mobile-open .nav-dropdown>summary{display:flex;width:100%;padding:13px 2px;justify-content:space-between}
  .top .nav-dropdown{width:100%}
  .top .nav-submenu{position:static;transform:none!important;min-width:0;margin:0 0 4px 0;padding:4px 0 4px 14px;background:rgba(255,255,255,.025);border:0;box-shadow:none;border-radius:6px;opacity:1;visibility:visible;pointer-events:auto;display:none}
  .top .nav-dropdown[open] .nav-submenu{display:block}
  .top .nav-submenu a{padding:10px 8px}
}
@media(min-width:901px){.top .menu{display:none!important}}


/* =========================================================
   FINAL RESPONSIVE ALIGNMENT + SCROLLING NAVIGATION
   ========================================================= */
html{overflow-x:hidden;scroll-behavior:smooth}
body{overflow-x:hidden}
.top{isolation:isolate}
.top .wrap{width:min(var(--max),calc(100% - 48px))}
.top nav{min-height:72px;height:72px}
.top .links{gap:24px;align-items:center}
.top .nav-dropdown{display:flex;align-items:center}
.top .nav-dropdown>summary{padding:8px 0}
/* Make the dropdown contiguous with its trigger so it cannot disappear while moving the pointer. */
.top .nav-submenu{top:100%;margin-top:0;min-width:205px;padding:8px;z-index:100}
.top .nav-dropdown:hover .nav-submenu,.top .nav-dropdown:focus-within .nav-submenu,.top .nav-dropdown[open] .nav-submenu{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.top .nav-submenu:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
.top .nav-submenu a{padding:11px 13px}

/* Consistent page rhythm: compact but breathable. */
main section{padding-block:72px}
main section:first-child{padding-top:96px}
.section-head{margin-bottom:28px!important}
.section-head h2{margin-bottom:0}
.cards,.process{gap:16px!important}
.card,.phase,.panel{padding:26px!important}
.section-cta{margin-top:28px!important}

/* Footer remains inside the viewport at every width. */
.site-footer,.footer{overflow:hidden}
.footer-grid,.footer-grid-no-logo{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.footer-grid-no-logo{grid-template-columns:minmax(220px,1.15fr) repeat(2,minmax(150px,.8fr)) minmax(220px,1fr)!important;gap:36px!important}
.footer-grid-no-logo>*{min-width:0}
.footer-grid-no-logo p,.footer-links a,.footer-contact a{overflow-wrap:anywhere}
.footer-bottom{width:min(var(--max),calc(100% - 48px));overflow-wrap:anywhere}

/* Mobile/tablet navigation: fixed panel with its own scroll, no page overflow. */
@media(max-width:900px){
  body.nav-open{overflow:hidden}
  .top .wrap{width:calc(100% - 28px)}
  .top nav{min-height:68px;height:68px}
  .top .menu{display:grid!important;place-items:center;width:44px;height:44px;padding:0;margin:0;border:1px solid rgba(232,156,76,.42);border-radius:12px;background:rgba(10,10,10,.86);color:#fff;font-size:26px;line-height:1;z-index:120;cursor:pointer}
  .top .links.mobile-open{position:fixed!important;top:68px;left:14px;right:14px;max-height:calc(100dvh - 82px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:12px 16px 18px!important;background:rgba(7,7,7,.985);border:1px solid rgba(232,156,76,.24);border-radius:0 0 16px 16px;box-shadow:0 24px 60px rgba(0,0,0,.65);z-index:110;display:flex!important;flex-direction:column;align-items:stretch;gap:0}
  .top .links.mobile-open>a,.top .links.mobile-open .nav-dropdown>summary{padding:14px 4px!important;min-height:48px}
  .top .nav-submenu{position:static!important;transform:none!important;width:100%;min-width:0;margin:0!important;padding:4px 0 6px 12px!important;background:rgba(255,255,255,.025);border:0;box-shadow:none;border-radius:8px;opacity:1;visibility:visible;pointer-events:auto;display:none}
  .top .nav-dropdown[open] .nav-submenu{display:block}
  .top .nav-submenu a{padding:11px 10px!important}
  main section{padding-block:58px}
  main section:first-child{padding-top:88px}
  .footer-grid-no-logo{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px!important}
  .footer-bottom{gap:12px}
}
@media(max-width:560px){
  .top .wrap{width:calc(100% - 24px)}
  .top nav{min-height:64px;height:64px}
  .top .links.mobile-open{top:64px;left:12px;right:12px;max-height:calc(100dvh - 76px);padding:10px 14px 16px!important}
  main section{padding-block:48px}
  main section:first-child{padding-top:80px}
  .section-head{margin-bottom:20px!important}
  .cards,.process{gap:12px!important}
  .card,.phase,.panel{padding:22px!important}
  .footer-grid-no-logo{grid-template-columns:1fr!important;gap:22px!important}
  .footer-bottom{width:calc(100% - 24px);margin-top:22px!important;padding-top:16px!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
}
@media(min-width:901px) and (max-width:1200px){
  .top .links{gap:17px}
  .top .links>a,.top .nav-dropdown>summary{font-size:11px}
  .footer-grid-no-logo{gap:24px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Final navigation stability fix: desktop dropdowns stay open while the pointer moves
   from the trigger into the submenu. Mobile continues to use click/tap toggles. */
@media (min-width: 901px){
  .top .nav-dropdown{position:relative;}
  .top .nav-dropdown > summary{cursor:pointer;}
  .top .nav-dropdown > summary:focus-visible{outline:1px solid var(--gold);outline-offset:5px;border-radius:4px;}
  .top .nav-submenu{
    top:100% !important;
    margin-top:0 !important;
    transform:translateX(-50%) translateY(0) !important;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    z-index:9999;
  }
  .top .nav-dropdown:hover .nav-submenu,
  .top .nav-dropdown:focus-within .nav-submenu,
  .top .nav-dropdown.is-hover-open .nav-submenu,
  .top .nav-dropdown[open] .nav-submenu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  /* Invisible bridge prevents the submenu from closing between summary and panel. */
  .top .nav-submenu:before{
    content:"";
    position:absolute;
    left:-12px;
    right:-12px;
    top:-14px;
    height:14px;
  }
}

@media (max-width: 900px){
  .top .nav-dropdown > summary{cursor:pointer;}
}


/* Final contact layout refinement */
.split{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:28px;
  align-items:start;
}
.enquiry-information{
  min-width:0;
  padding:0;
}
.enquiry-information h2{
  margin:12px 0 12px;
  font-size:clamp(36px,4.5vw,64px);
  line-height:.98;
  letter-spacing:-.05em;
}
.enquiry-intro{
  color:#aaa;
  line-height:1.65;
  max-width:620px;
  margin:0 0 20px;
}
.enquiry-info-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:18px 0;
}
.enquiry-info-card{
  min-width:0;
  padding:20px;
  border:1px solid rgba(255,255,255,.09);
  background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  position:relative;
  overflow:hidden;
}
.enquiry-info-card:after{
  content:"";
  position:absolute;
  width:90px;
  height:90px;
  right:-42px;
  bottom:-42px;
  border:1px solid rgba(232,156,76,.22);
  border-radius:50%;
  animation:spin 14s linear infinite;
}
.enquiry-info-card h3{
  font-size:18px;
  line-height:1.15;
  margin:8px 0 8px;
}
.enquiry-info-card p{
  margin:0;
  color:#999;
  font-size:13px;
  line-height:1.55;
}
.enquiry-contact-note{
  margin-top:14px;
  line-height:1.8;
}
.enquiry-contact-note a{
  color:#fff;
}
.contact-form-panel{
  min-width:0;
}

/* The uploaded SLV logo already contains its white eclipse background. */
.logo-shell{
  background:transparent;
  box-shadow:none;
}
.logo-shell-main{
  padding:0;
}
.logo-shell-main .logo{
  object-fit:contain;
}

/* Keep the header logo crisp and contained at all breakpoints. */
.logo-shell-main{
  width:156px;
  height:64px;
}
.logo-shell-main .logo{
  width:100%;
  height:100%;
}

/* Contact form spacing */
.split .form{
  min-width:0;
}
.split .form .form-grid{
  min-width:0;
}
.split .form input,
.split .form textarea,
.split .form select{
  min-width:0;
}

/* Responsive contact layout */
@media(max-width:900px){
  .split{
    grid-template-columns:1fr;
    gap:24px;
  }
  .enquiry-info-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .logo-shell-main{
    width:140px;
    height:58px;
  }
}
@media(max-width:560px){
  .split{
    gap:22px;
  }
  .enquiry-information h2{
    font-size:clamp(34px,10vw,48px);
  }
  .enquiry-info-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
  .enquiry-info-card{
    padding:18px;
  }
  .logo-shell-main{
    width:126px;
    height:52px;
  }
}

/* ===== HERO IMAGE SLIDESHOW — FINAL VISUAL PASS ===== */
.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:680px;
}
.hero-background{
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
}
.hero-slides{
  position:absolute;
  inset:0;
}
.hero-slide{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
  opacity:0;
  transform:scale(1);
  transition:opacity .75s ease-in-out!important;
  will-change:opacity;
  /* Images stay sharp; no blur filter is applied. */
}
.hero-slide.is-active{
  opacity:1;
  transform:scale(1);
}
.hero-background-shade{
  position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(4,6,8,.26) 0%,rgba(4,6,8,.10) 42%,rgba(4,6,8,.02) 100%);
  z-index:2;
}
.hero-background-vignette{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.12));
  z-index:3;
}
.hero .wrap,
.hero .hero-grid{
  position:relative;
  z-index:5;
}
.hero .stage{
  position:relative;
  z-index:6;
}
.hero .orb{
  z-index:4;
}
@media(max-width:900px){
  .hero{
    min-height:0;
  }
  .hero-slide{
    object-position:center center;
  }
  .hero-background-shade{
    background:
      linear-gradient(90deg,rgba(4,6,8,.62),rgba(4,6,8,.34)),
      linear-gradient(180deg,rgba(4,6,8,.28),rgba(4,6,8,.52));
  }
}
@media(max-width:560px){
  .hero{
    min-height:0;
  }
  .hero-slide{
    object-position:center center;
    transform:scale(1);
  }
  .hero-slide.is-active{
    transform:scale(1);
  }
  .hero-background-shade{
    background:
      linear-gradient(90deg,rgba(4,6,8,.66),rgba(4,6,8,.38)),
      linear-gradient(180deg,rgba(4,6,8,.28),rgba(4,6,8,.56));
  }
}
@media(prefers-reduced-motion:reduce){
  .hero-slide,
  .hero-slide.is-active{
    transition:none;
    transform:none;
  }
}

/* Related project visuals */
.related-visual{display:grid;grid-template-columns:1.08fr .92fr;gap:28px;align-items:stretch;margin-top:28px}.related-visual .image-frame{position:relative;min-height:330px;overflow:hidden;border:1px solid rgba(232,156,76,.24);background:#111;box-shadow:0 24px 70px rgba(0,0,0,.24)}.related-visual img{width:100%;height:100%;min-height:330px;display:block;object-fit:cover;object-position:center}.related-visual .image-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.48));pointer-events:none}.related-visual .caption{display:flex;flex-direction:column;justify-content:center;padding:34px;border:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012))}.related-visual .caption h3{margin:8px 0 12px;font-size:30px}.related-visual .caption p{color:#aaa;line-height:1.7;margin:0}.related-visual .caption .eyebrow{color:var(--gold)}@media(max-width:900px){.related-visual{grid-template-columns:1fr}.related-visual .image-frame,.related-visual img{min-height:260px}}@media(max-width:560px){.related-visual .image-frame,.related-visual img{min-height:210px}.related-visual .caption{padding:24px}.related-visual .caption h3{font-size:25px}}


/* === Featured 3D Duplex Showcase === */
.duplex-showcase{position:relative;padding:110px 0 100px;background:linear-gradient(180deg,#0a0a0a 0%,#101112 100%);overflow:hidden}
.duplex-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 40%,rgba(208,174,72,.10),transparent 36%);pointer-events:none}
.duplex-grid{display:grid;grid-template-columns:minmax(270px,.72fr) minmax(0,1.65fr);gap:34px;align-items:center}
.duplex-copy{position:relative;z-index:2}
.duplex-copy .eyebrow{margin-bottom:14px}
.duplex-copy h2{margin:0 0 18px}
.duplex-copy p{max-width:540px}
.duplex-points{display:grid;gap:10px;margin:25px 0 28px;padding:0;list-style:none}
.duplex-points li{display:flex;gap:10px;align-items:flex-start;color:rgba(255,255,255,.78)}
.duplex-points li:before{content:"✓";color:var(--gold);font-weight:800}
.duplex-viewer{position:relative;min-width:0;border:1px solid rgba(255,255,255,.14);border-radius:22px;overflow:hidden;background:#0c0d0f;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.duplex-viewer iframe{display:block;width:100%;height:650px;border:0;background:#b9c6cd}
.duplex-caption{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:13px 16px;background:#111214;border-top:1px solid rgba(255,255,255,.10);font-size:12px;color:rgba(255,255,255,.68)}
.duplex-caption strong{color:#e4c35f}
@media(max-width:1000px){
 .duplex-grid{grid-template-columns:1fr;gap:26px}
 .duplex-copy{text-align:center}.duplex-copy p{margin-left:auto;margin-right:auto}.duplex-points{max-width:600px;margin-left:auto;margin-right:auto;text-align:left}
 .duplex-viewer iframe{height:610px}
}
@media(max-width:680px){
 .duplex-showcase{padding:75px 0 70px}
 .duplex-viewer{border-radius:16px}
 .duplex-viewer iframe{height:560px}
 .duplex-caption{display:block;text-align:center;line-height:1.5}
}
@media(max-width:430px){
 .duplex-viewer iframe{height:540px}
}


/* === FINAL HD HERO + NAVIGATION FIX === */
.hero-slide{image-rendering:auto;filter:none!important;backface-visibility:hidden;transform:none!important;}
.hero-slide.is-active{transform:none!important;}
.hero-background-shade{background:linear-gradient(90deg,rgba(4,6,8,.20) 0%,rgba(4,6,8,.07) 45%,rgba(4,6,8,.015) 100%)!important;}
.hero-background-vignette{background:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.10))!important;}
.hero .reveal{position:relative;z-index:7;text-shadow:0 2px 18px rgba(0,0,0,.55);}
.hero .reveal p{max-width:650px;}
@media(max-width:900px){
 .hero-background-shade{background:linear-gradient(90deg,rgba(4,6,8,.23),rgba(4,6,8,.08))!important;}
}
@media(max-width:560px){
 .hero-background-shade{background:linear-gradient(90deg,rgba(4,6,8,.25),rgba(4,6,8,.09))!important;}
 .hero-slide{object-position:center center!important;}
}

/* ===== FINAL: STATIC SLIDESHOW + CLEAN LOGO ===== */
.hero-slide,.hero-slide.is-active{transition:opacity .75s ease-in-out!important;transform:none!important;animation:none!important;will-change:opacity;}
.logo-shell,.logo-shell:before,.logo-shell:after,.logo-shell-main,.logo-shell-footer{background:transparent!important;border:0!important;box-shadow:none!important;animation:none!important;transform:none!important;padding:0!important;}
.logo-shell .logo,.logo-shell-main .logo,.logo-shell-footer .logo{filter:none!important;transform:none!important;animation:none!important;}
.splash-logo-wrap,.splash-logo-ring,.splash-logo-ring:after{animation:none!important;box-shadow:none!important;border:0!important;}


/* ===== GOODWIN-INSPIRED FULL-HD PROJECT SLIDER ===== */
.hero-reference{min-height:calc(100svh - 78px);display:flex;align-items:flex-end;padding:0 0 58px;position:relative;overflow:hidden;background:#080909}
.hero-reference .hero-background{position:absolute;inset:0}
.hero-reference .hero-slides{position:absolute;inset:0}
.hero-reference .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity .75s ease-in-out!important;transform:none!important;filter:none!important;image-rendering:auto}
.hero-reference .hero-slide.is-active{opacity:1}
.hero-reference .hero-background-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,8,.20) 0%,rgba(5,7,8,.07) 36%,rgba(5,7,8,.015) 72%,rgba(5,7,8,0) 100%),linear-gradient(0deg,rgba(5,7,8,.18) 0%,rgba(5,7,8,0) 48%);pointer-events:none}
.hero-reference-content{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:flex-end;gap:35px;width:min(var(--max),calc(100% - 48px))}
.hero-reference-copy{max-width:760px}
.hero-reference-copy h1{font-size:clamp(54px,7.4vw,108px);line-height:.88;margin:18px 0 20px;letter-spacing:-.055em}
.hero-reference-copy p{max-width:690px;color:#f1f1f1;font-size:18px;line-height:1.7;text-shadow:0 2px 14px rgba(0,0,0,.7)}
.hero-slide-info{min-width:250px;display:grid;gap:8px;padding:18px 20px;border-left:2px solid var(--gold);background:rgba(0,0,0,.34);backdrop-filter:blur(3px);text-shadow:0 2px 12px rgba(0,0,0,.7)}
.hero-slide-info .hero-slide-kicker{font-size:10px;letter-spacing:.18em;color:var(--gold);font-weight:800}
.hero-slide-info strong{font-size:18px;color:#fff}
.hero-slide-info span:last-child{font-size:12px;color:#ddd;letter-spacing:.16em}
.hero-slider-nav{position:absolute;z-index:6;right:max(24px,calc((100vw - var(--max))/2));bottom:58px;display:flex;gap:8px}
.hero-dot{appearance:none;border:1px solid rgba(255,255,255,.65);background:rgba(0,0,0,.28);color:#fff;width:42px;height:38px;cursor:pointer;font:700 11px/1 inherit;letter-spacing:.08em}
.hero-dot:hover,.hero-dot.is-active{background:var(--gold);border-color:var(--gold);color:#090909}
@media(max-width:900px){
 .hero-reference{min-height:720px;padding-bottom:105px}
 .hero-reference-content{display:block}
 .hero-reference-copy{max-width:760px}
 .hero-slide-info{margin-top:25px;width:max-content;min-width:220px}
 .hero-slider-nav{right:24px;bottom:28px;left:24px;justify-content:flex-end}
 .hero-dot{width:40px}
 .hero-reference .hero-background-shade{background:linear-gradient(90deg,rgba(5,7,8,.24),rgba(5,7,8,.06)),linear-gradient(0deg,rgba(5,7,8,.22),rgba(5,7,8,0))}
}
@media(max-width:560px){
 .hero-reference{min-height:690px;padding-bottom:102px}
 .hero-reference-content{width:min(var(--max),calc(100% - 30px))}
 .hero-reference-copy h1{font-size:clamp(48px,15vw,72px)}
 .hero-reference-copy p{font-size:15px;line-height:1.58}
 .hero-slide-info{min-width:0;width:100%;padding:14px 16px}
 .hero-slider-nav{right:15px;left:15px;bottom:24px;gap:5px;justify-content:space-between}
 .hero-dot{width:calc((100vw - 45px)/6);height:36px}
 .hero-reference .hero-slide{object-position:center center}
}


/* FINAL UNIVERSAL MOBILE NAVIGATION */
.nav-back{display:none}
@media(max-width:900px){
  .top{z-index:1000}
  .top .wrap{width:calc(100% - 24px)}
  .top nav{height:68px;min-height:68px}
  .top .menu{display:grid!important;place-items:center;width:44px;height:44px;padding:0;margin:0;border:1px solid rgba(232,156,76,.42);border-radius:12px;background:rgba(10,10,10,.9);color:#fff;font-size:26px;line-height:1;z-index:120;cursor:pointer}
  .top .links{display:none}
  .top .links.mobile-open{display:flex!important;position:fixed!important;top:68px;left:12px;right:12px;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 14px 16px!important;background:rgba(7,7,7,.985);border:1px solid rgba(232,156,76,.24);border-top:0;border-radius:0 0 16px 16px;box-shadow:0 24px 60px rgba(0,0,0,.65);z-index:110;flex-direction:column;align-items:stretch;gap:0}
  .top .links.mobile-open>a,.top .links.mobile-open .nav-dropdown>summary{display:flex;width:100%;padding:14px 4px!important;min-height:48px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px;letter-spacing:.12em;opacity:1}
  .top .nav-dropdown{width:100%;display:block}
  .top .nav-dropdown>summary{cursor:pointer}
  .top .nav-submenu{position:static!important;transform:none!important;width:100%;min-width:0;margin:0!important;padding:6px 0 8px!important;background:rgba(255,255,255,.025);border:0;box-shadow:none;border-radius:8px;opacity:1;visibility:visible;pointer-events:auto;display:none}
  .top .nav-dropdown[open] .nav-submenu{display:block}
  .top .nav-submenu a{display:block;width:100%;padding:12px 12px!important;border-bottom:1px solid rgba(255,255,255,.055);font-size:11px!important;letter-spacing:.08em!important}
  .top .nav-submenu .nav-back{display:flex;width:100%;align-items:center;gap:9px;margin:0 0 4px;padding:11px 12px;border:0;border-bottom:1px solid rgba(232,156,76,.2);background:rgba(232,156,76,.06);color:var(--gold);font:800 11px/1 Inter,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:7px}
  .top .nav-submenu .nav-back span{font-size:18px;line-height:0}
  body.nav-open{overflow:hidden}
}
@media(min-width:901px){.top .nav-submenu .nav-back{display:none!important}}

/* FINAL UNIVERSAL NAVIGATION */
.nav-parent{appearance:none;background:none;border:0;color:#fff;font:inherit;text-transform:uppercase;letter-spacing:.12em;font-size:12px;cursor:pointer;padding:8px 0;display:flex;align-items:center;gap:7px;opacity:.8}
.nav-parent:hover{opacity:1;color:var(--gold)}
.nav-parent span{color:var(--gold);font-size:11px}
.nav-dropdown{position:relative}
.nav-submenu{z-index:9999}
.nav-back{display:none}
@media(min-width:901px){
 .nav-submenu{position:absolute!important;top:100%!important;left:50%!important;transform:translateX(-50%) translateY(-6px)!important;min-width:210px!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;display:block!important}
 .nav-dropdown.submenu-open .nav-submenu,.nav-dropdown:hover .nav-submenu{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateX(-50%) translateY(0)!important}
}
@media(max-width:900px){
 .top .links{display:none!important}
 .top .links.mobile-open{display:flex!important;position:fixed!important;top:68px;left:12px;right:12px;max-height:calc(100dvh - 78px);overflow-y:auto;background:rgba(7,7,7,.985);padding:10px 16px 18px!important;flex-direction:column;align-items:stretch;gap:0;z-index:9998;border:1px solid rgba(232,156,76,.25);border-radius:0 0 16px 16px}
 .top .links.mobile-open>a,.top .links.mobile-open>.nav-dropdown>.nav-parent{width:100%;min-height:50px;padding:14px 4px!important;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}
 .top .nav-dropdown{width:100%;display:block}
 .top .nav-dropdown .nav-submenu{position:static!important;display:none!important;transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:100%;min-width:0;margin:0!important;padding:0!important;background:rgba(255,255,255,.025);border:0;box-shadow:none;border-radius:8px}
 .top .nav-dropdown.submenu-open .nav-submenu{display:block!important}
 .top .nav-dropdown.submenu-open>.nav-parent{display:none!important}
 .top .nav-back{display:flex!important;width:100%;padding:14px 8px!important;background:rgba(232,156,76,.07);border:0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--gold);font:inherit;font-size:12px;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;cursor:pointer}
 .top .nav-submenu a{display:block!important;width:100%;padding:14px 12px!important;border-bottom:1px solid rgba(255,255,255,.07);font-size:12px;box-sizing:border-box}
 .top .menu{display:grid!important;place-items:center;width:44px;height:44px;border:1px solid rgba(232,156,76,.42);border-radius:12px;background:rgba(10,10,10,.9);color:#fff;font-size:26px;line-height:1;z-index:10000;cursor:pointer}
}
@media(max-width:560px){.top .links.mobile-open{top:64px;max-height:calc(100dvh - 74px);left:10px;right:10px}.top nav{height:64px;min-height:64px}}

/* =========================================================
   FINAL MOBILE IMAGE FIT — PRESERVE FULL UPLOADED IMAGE
   Keeps the original image files untouched and prevents
   aggressive mobile cropping. Desktop/tablet layout unchanged.
   ========================================================= */
@media (max-width: 560px){
  /* Give the hero image its native 1888:833 visual ratio on phones. */
  .hero.hero-reference{
    display:block;
    min-height:0!important;
    height:auto!important;
    padding:64px 0 0!important;
    background:#080909;
    overflow:hidden;
  }

  .hero-reference .hero-background{
    position:relative!important;
    inset:auto!important;
    width:100%;
    height:44.12vw;
    min-height:165px;
    max-height:245px;
    overflow:hidden;
    background:#0a0a0a;
  }

  .hero-reference .hero-slides{
    position:absolute!important;
    inset:0!important;
    width:100%;
    height:100%;
  }

  .hero-reference .hero-slide{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }

  /* Keep the image clean; only a light readability overlay is used. */
  .hero-reference .hero-background-shade{
    position:absolute!important;
    inset:0!important;
    background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.18))!important;
  }

  .hero-reference-content{
    display:block!important;
    width:min(var(--max),calc(100% - 30px))!important;
    padding:34px 0 26px!important;
    margin:0 auto!important;
  }

  .hero-reference-copy{
    max-width:none!important;
  }

  .hero-reference-copy h1{
    font-size:clamp(44px,14vw,64px)!important;
    line-height:.9!important;
    margin:12px 0 16px!important;
  }

  .hero-reference-copy p{
    font-size:15px!important;
    line-height:1.6!important;
    max-width:none!important;
    margin-bottom:0!important;
  }

  .hero-reference-copy .cta{
    margin-top:22px!important;
  }

  .hero-slide-info{
    width:100%!important;
    min-width:0!important;
    margin-top:24px!important;
    padding:14px 16px!important;
  }

  .hero-slider-nav{
    right:12px!important;
    left:12px!important;
    bottom:12px!important;
    gap:6px!important;
    justify-content:flex-end!important;
    z-index:8!important;
  }

  .hero-dot{
    width:38px!important;
    height:34px!important;
  }

  /* Sector/detail images: full width, natural aspect ratio, no quality reduction. */
  .visual{
    width:100%;
    overflow:hidden;
  }
  .visual img{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
}
