/* Shared CSS extracted from repeated inline style blocks. */
:root {
  --accent:#a28448;
  --accent-light:#b99652;
  --accent-dim:rgba(162,132,72,.13);
  --accent-glow:rgba(162,132,72,.44);
  --black:#050505;
  --dark:#0a0a0a;
  --dark2:#101010;
  --line:rgba(255,255,255,.085);
  --line2:rgba(255,255,255,.16);
  --text:#f5f5f5;
  --muted:#8c8c8c;
  --paper:#f4f3ef;
  --ink:#101010;
  --font:'Montserrat',Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--font);background:var(--black);color:var(--text);overflow-x:hidden;cursor:none}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
::selection{background:var(--accent);color:#fff}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#050505}::-webkit-scrollbar-thumb{background:var(--accent)}
#grain{position:fixed;inset:0;z-index:9000;pointer-events:none;opacity:.032;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .45s steps(1) infinite}
@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-1%,1%)}50%{transform:translate(1%,-1%)}75%{transform:translate(-1%,-1%)}100%{transform:translate(1%,1%)}}
#c-dot{position:fixed;width:6px;height:6px;background:var(--accent);border-radius:50%;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:screen}
#c-ring{position:fixed;width:42px;height:42px;border:1px solid rgba(162,132,72,.52);border-radius:50%;z-index:9998;pointer-events:none;transform:translate(-50%,-50%);transition:width .28s,height .28s,border-color .28s,border-radius .28s}
#c-ring.big{width:66px;height:66px;border-color:var(--accent)}
#c-trail{position:fixed;width:180px;height:180px;border-radius:50%;z-index:9997;pointer-events:none;background:radial-gradient(circle,rgba(162,132,72,.055),transparent 68%);transform:translate(-50%,-50%);transition:transform .08s}
body.cursor-hidden #c-dot,body.cursor-hidden #c-ring,body.cursor-hidden #c-trail{opacity:0}
#nav{position:fixed;z-index:1200;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:0 22px;border-bottom:1px solid transparent;transition:height .35s,background .35s,border-color .35s,backdrop-filter .35s}
#nav.scrolled{height:60px;background:rgba(5,5,5,.94);backdrop-filter:blur(22px);border-bottom-color:var(--line)}
.nav-logo{display:flex;align-items:center;min-width:0;flex:0 0 auto}
.nav-logo img{height:44px;width:auto;display:block;filter:brightness(1.05);transition:height .35s,filter .25s,transform .25s}
#nav.scrolled .nav-logo img{height:36px}
.nav-logo:hover img{filter:brightness(1.22);transform:translateY(-1px)}
.nav-links{display:flex;gap:0;list-style:none;align-items:center;justify-content:flex-end;flex:1 1 auto;min-width:0;flex-wrap:nowrap;overflow:hidden}
.nav-links a{display:block;padding:10px 9px;font-size:13px;font-weight:800;letter-spacing:.8px;line-height:1.1;text-transform:uppercase;color:rgba(255,255,255,.48);position:relative;transition:color .25s;white-space:nowrap}.nav-links li:last-child a{font-size:12px;letter-spacing:.45px;padding-left:7px;padding-right:7px}
.nav-links a:after{content:'';position:absolute;left:12px;right:12px;bottom:4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:hover{color:#fff}
.nav-links a:hover:after{transform:scaleX(1)}
.nav-cta{display:flex;gap:14px;align-items:center}
.btn,.nav-btn{display:inline-flex;align-items:center;gap:10px;border:0;cursor:pointer;padding:14px 28px;font-size:15px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);transition:transform .25s,box-shadow .3s,border-color .3s;background:var(--accent);color:#fff;position:relative;overflow:hidden}
.nav-btn{padding:11px 24px;font-size:15px}
.btn:before,.nav-btn:before{content:'';position:absolute;top:0;left:-80%;height:100%;width:60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-22deg);transition:left .55s}
.btn:hover:before,.nav-btn:hover:before{left:140%}
.btn:hover,.nav-btn:hover{transform:translateY(-3px);box-shadow:0 18px 52px rgba(162,132,72,.44)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.24);color:rgba(255,255,255,.84)}
.btn.ghost:hover{border-color:rgba(255,255,255,.56);box-shadow:none;color:#fff}
.btn.light{background:#fff;color:var(--accent)}
#hero{height:100vh;min-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:#050505 url('../../hero-civil-defence.webp') 72% center/cover no-repeat}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:74% center;z-index:0;filter:brightness(.97) contrast(1.02) saturate(1.04);transform:none;image-rendering:auto;backface-visibility:hidden}
.hero-shadow{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 66% 36%,rgba(255,255,255,.08) 0%,rgba(0,0,0,.01) 30%,rgba(0,0,0,.22) 74%,rgba(0,0,0,.60) 100%),linear-gradient(100deg,rgba(5,5,5,.72) 0%,rgba(5,5,5,.40) 34%,rgba(5,5,5,.05) 60%,rgba(5,5,5,.24) 100%),linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.02) 30%,rgba(0,0,0,.08) 66%,rgba(0,0,0,.62) 100%)}
.hero-scan{position:absolute;inset:0;z-index:2;opacity:.026;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(255,255,255,.64) 2px,rgba(255,255,255,.64) 3px);animation:scan 10s linear infinite;pointer-events:none}
@keyframes scan{to{background-position:0 100vh}}
.hero-content{position:relative;z-index:4;width:min(980px,calc(100% - 120px));margin-left:88px;padding-top:72px}
.eyebrow{display:flex;flex-direction:column;gap:6px;margin-bottom:30px}
.eye-row{height:18px;overflow:hidden}
.eye-inner{display:flex;align-items:center;gap:12px;transform:translateY(110%);animation:eyeIn .9s cubic-bezier(.4,0,.2,1) forwards}
.eye-row:nth-child(2) .eye-inner{animation-delay:.12s}.eye-row:nth-child(3) .eye-inner{animation-delay:.24s}
@keyframes eyeIn{to{transform:translateY(0)}}
.eye-dash{width:22px;height:1px;background:var(--accent);box-shadow:0 0 16px rgba(162,132,72,.8)}
.eye-txt{font-size:15px;letter-spacing:3px;font-weight:800;text-transform:uppercase;color:rgba(255,255,255,.66)}
.hero-title{font-size:clamp(54px,8.6vw,118px);line-height:.88;font-weight:900;text-transform:uppercase;letter-spacing:-4px;margin-bottom:16px;text-shadow:0 24px 80px rgba(0,0,0,.75)}
.hero-title .word{display:block;overflow:hidden}.hero-title .word span{display:block;transform:translateY(115%) scale(.92);animation:wordIn 1.05s cubic-bezier(.4,0,.2,1) forwards}.hero-title .word:nth-child(2) span{animation-delay:.16s}.hero-title .word:nth-child(3) span{animation-delay:.31s;color:var(--accent)}
@keyframes wordIn{60%{transform:translateY(-3%) scale(1.02)}100%{transform:translateY(0) scale(1)}}
.hero-sub{font-size:clamp(18px,2.4vw,34px);font-weight:300;letter-spacing:8px;text-transform:uppercase;color:rgba(255,255,255,.78);margin-bottom:28px;opacity:0;animation:fadeSlide .75s .95s forwards}
.hero-copy{max-width:700px;font-size:15px;line-height:1.9;color:#b6b6b6;margin-bottom:34px;opacity:0;animation:fadeSlide .75s 1.1s forwards}.hero-copy strong{color:#fff}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;opacity:0;animation:fadeSlide .75s 1.25s forwards}
@keyframes fadeSlide{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.hero-panel{position:absolute;right:70px;bottom:54px;z-index:4;width:330px;border:1px solid rgba(255,255,255,.14);background:rgba(0,0,0,.40);backdrop-filter:blur(18px);padding:24px;clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),calc(100% - 14px) 100%,0 100%)}
.hero-panel small{font-size:15px;letter-spacing:3px;font-weight:900;color:var(--accent);text-transform:uppercase}.hero-panel p{font-size:15px;line-height:1.75;color:#b2b2b2;margin-top:10px}
.hero-scroll{position:absolute;left:88px;bottom:38px;z-index:4;display:flex;align-items:center;gap:12px;color:#3f3f3f;font-size:15px;letter-spacing:4px;font-weight:900;text-transform:uppercase}
.scroll-line{width:70px;height:1px;background:#222;overflow:hidden}.scroll-line:after{content:'';display:block;width:28px;height:1px;background:var(--accent);animation:scrollLine 2s ease-in-out infinite}@keyframes scrollLine{0%{transform:translateX(-40px);opacity:0}30%,70%{opacity:1}100%{transform:translateX(84px);opacity:0}}
#stats{position:relative;background:#0a0a0a;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}
.ticker{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));width:100%;animation:none;transform:none}
.stat{display:flex;align-items:center;gap:14px;padding:21px 44px;border-right:1px solid var(--line);white-space:nowrap}.stat b{font-size:19px;letter-spacing:-.4px}.stat span{display:block;font-size:15px;font-weight:800;letter-spacing:2px;color:#666;text-transform:uppercase;margin-top:3px}.stat:before{content:'';width:8px;height:8px;border:1px solid var(--accent);transform:rotate(45deg);box-shadow:0 0 18px rgba(162,132,72,.5)}
section{position:relative}
.container{max-width:1420px;margin:0 auto;padding:108px 88px}
.section-head{display:flex;justify-content:space-between;gap:48px;align-items:flex-end;margin-bottom:58px}.section-eye{font-size:15px;font-weight:900;letter-spacing:4px;color:var(--accent);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:14px}.section-eye:before{content:'';width:22px;height:1px;background:var(--accent)}.section-title{font-size:clamp(30px,4vw,56px);line-height:1;font-weight:900;text-transform:uppercase;letter-spacing:-1.6px}.section-title em{font-style:normal;color:var(--accent)}.section-desc{max-width:500px;color:#5f5f5f;font-size:15px;line-height:1.85}
#mission{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);color:var(--ink)}.mission-card{padding:54px 46px;border-right:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden;background:#fff;min-height:275px}.mission-card:last-child{border-right:0}.mission-card:after{content:'';position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .5s}.mission-card:hover:after{transform:scaleX(1)}.m-num{position:absolute;right:18px;bottom:-14px;font-size:96px;font-weight:900;color:rgba(0,0,0,.035);letter-spacing:-5px}.m-icon{width:52px;height:52px;background:rgba(162,132,72,.1);border:1px solid rgba(162,132,72,.22);display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,100% 0,100% calc(100% - 9px),calc(100% - 9px) 100%,0 100%);margin-bottom:24px}.m-icon svg{width:24px;height:24px;fill:var(--accent)}.mission-card h3{font-size:15px;font-weight:900;letter-spacing:2.2px;text-transform:uppercase;margin-bottom:14px}.mission-card p{font-size:15px;color:#666;line-height:1.85}
#products{background:#050505}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.product-card{background:#0b0b0b;border:1px solid var(--line);min-height:470px;position:relative;overflow:hidden;transition:transform .4s,border-color .4s,box-shadow .5s}.product-card-link{display:block;text-decoration:none;color:inherit;cursor:pointer}.product-card:hover{transform:translateY(-8px);border-color:rgba(162,132,72,.36);box-shadow:0 30px 80px rgba(0,0,0,.6)}.product-card.featured{grid-column:span 2}.product-visual{height:210px;position:relative;overflow:hidden;background:radial-gradient(circle at 68% 24%,rgba(162,132,72,.22),transparent 34%),linear-gradient(145deg,rgba(255,255,255,.035),rgba(162,132,72,.055)),repeating-linear-gradient(135deg,rgba(255,255,255,.035) 0 1px,transparent 1px 16px),#090909}.product-card.featured .product-visual{height:250px}.product-visual:before{content:attr(data-code);position:absolute;left:22px;bottom:-14px;font-size:74px;font-weight:900;color:rgba(255,255,255,.055);letter-spacing:-4px;z-index:2}.product-visual:after{content:'';position:absolute;inset:auto 22px 28px 22px;height:48px;border:1px solid rgba(162,132,72,.34);background:linear-gradient(90deg,transparent,rgba(162,132,72,.18),transparent);clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%,8% 50%);z-index:2}.product-visual.has-image{background:radial-gradient(circle at 72% 18%,rgba(162,132,72,.20),transparent 34%),linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.18)),repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 1px,transparent 1px 16px),#0a0a0a}.product-visual.has-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;z-index:1;filter:saturate(.96) contrast(1.04) brightness(.88);transition:transform .7s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}.product-visual.has-image:before{z-index:3}.product-visual.has-image:after{z-index:3}.product-visual.has-image .product-fade{position:absolute;inset:0;z-index:2;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.54)),linear-gradient(90deg,rgba(0,0,0,.55),transparent 46%,rgba(0,0,0,.14));pointer-events:none}.product-card:hover .product-visual.has-image img{transform:scale(1.045);filter:saturate(1.05) contrast(1.08) brightness(.96)}.product-body{padding:26px 28px 32px}.product-kicker{font-size:15px;font-weight:900;letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:10px}.product-body h3{font-size:20px;line-height:1.05;text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}.product-body p{font-size:15px;line-height:1.75;color:#777;margin-bottom:20px}.product-list{list-style:none;display:flex;flex-direction:column;gap:8px}.product-list li{font-size:15px;color:#5a5a5a;display:flex;gap:8px;line-height:1.45}.product-list li:before{content:'';width:11px;height:1px;background:var(--accent);margin-top:8px;flex-shrink:0}
#domains{background:var(--paper);color:var(--ink)}.domain-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}.domain-stage{min-height:580px;background:#0b0b0b;color:white;position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 22px),calc(100% - 22px) 100%,0 100%)}.domain-stage:before{content:'CIVIL\ADEFENCE';white-space:pre;position:absolute;left:44px;bottom:36px;font-size:74px;line-height:.82;font-weight:900;color:rgba(255,255,255,.06);letter-spacing:-4px}.domain-stage:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 58% 32%,rgba(162,132,72,.24),transparent 33%),linear-gradient(145deg,rgba(255,255,255,.04),transparent),repeating-linear-gradient(0deg,transparent,transparent 32px,rgba(255,255,255,.035) 33px)}.domain-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.domain-card{background:#fff;border:1px solid rgba(0,0,0,.08);padding:28px;min-height:180px;position:relative;transition:transform .3s,box-shadow .3s}.domain-card:hover{transform:translateY(-4px);box-shadow:0 18px 50px rgba(0,0,0,.1)}.domain-card small{font-size:15px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);font-weight:900}.domain-card h3{font-size:15px;text-transform:uppercase;margin:12px 0 12px;letter-spacing:.5px}.domain-card p{font-size:15px;line-height:1.75;color:#777}
#tech{background:#080808}.tech-wrap{display:grid;grid-template-columns:1fr 1.15fr;gap:86px;align-items:center}.specs{border:1px solid var(--line);margin-top:34px}.spec{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}.spec:last-child{border-bottom:0}.spec div{padding:16px 20px;border-right:1px solid var(--line);position:relative}.spec div:nth-child(even){border-right:0}.spec small{display:block;font-size:15px;font-weight:900;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:6px}.spec strong{font-size:15px;color:#d8d8d8}.tech-visual{min-height:560px;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,rgba(162,132,72,.22),transparent 36%),linear-gradient(145deg,#111,#050505);position:relative;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 20px),calc(100% - 20px) 100%,0 100%)}.tech-visual:before{content:'MODULAR';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:104px;font-weight:900;color:rgba(255,255,255,.05);letter-spacing:-5px}.rings{position:absolute;inset:70px;border:1px solid rgba(162,132,72,.22);border-radius:50%;animation:ring 6s ease-in-out infinite}.rings:before,.rings:after{content:'';position:absolute;inset:-42px;border:1px solid rgba(162,132,72,.12);border-radius:50%}.rings:after{inset:42px;border-color:rgba(255,255,255,.08)}@keyframes ring{50%{transform:scale(1.04);opacity:.72}}.tech-labels{position:absolute;inset:0;padding:42px;display:flex;flex-direction:column;justify-content:space-between}.tech-label{font-size:15px;letter-spacing:2.4px;text-transform:uppercase;color:rgba(255,255,255,.48);font-weight:900;display:flex;align-items:center;gap:12px}.tech-label:before{content:'';width:38px;height:1px;background:var(--accent)}
#capabilities{background:#f4f3ef;color:#101010}.cap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.cap{background:#fff;border:1px solid rgba(0,0,0,.075);padding:32px 28px;min-height:235px}.cap small{font-size:15px;letter-spacing:3px;font-weight:900;color:var(--accent);text-transform:uppercase}.cap h3{font-size:15px;text-transform:uppercase;margin:14px 0 14px}.cap p{font-size:15px;line-height:1.75;color:#777}
#cta{background:var(--accent);padding:92px 88px;text-align:center;position:relative;overflow:hidden}#cta:before{content:'REQUEST A DEMO';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:150px;font-weight:900;color:rgba(0,0,0,.11);white-space:nowrap;letter-spacing:8px}.cta-inner{position:relative;z-index:1}#cta h2{font-size:clamp(30px,4.5vw,58px);text-transform:uppercase;letter-spacing:1px;line-height:1;margin-bottom:16px}#cta p{font-size:15px;color:rgba(255,255,255,.74);margin-bottom:34px}
footer{background:#080808;border-top:1px solid var(--line);padding:64px 88px 34px}.foot-grid{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;padding-bottom:48px;border-bottom:1px solid var(--line)}.foot-logo{height:56px;width:auto;margin-bottom:22px;display:block}.foot-brand p,.foot-col a{font-size:15px;line-height:1.9;color:#555}.foot-col h4{font-size:15px;letter-spacing:3px;text-transform:uppercase;margin-bottom:18px}.foot-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}.foot-col a:hover{color:#aaa}.foot-bottom{max-width:1420px;margin:0 auto;padding-top:26px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:#333;font-size:15px}
[data-anim]{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.4,0,.2,1),transform .75s cubic-bezier(.4,0,.2,1)}[data-anim].revealed{opacity:1;transform:none}


.page-transition{position:fixed;inset:0;z-index:999999;pointer-events:none;overflow:hidden;background:transparent;--pt-accent:var(--accent)}
.page-transition .pt-slat{position:absolute;top:-18vh;height:136vh;width:24vw;background:linear-gradient(145deg,#060606 0%,#121212 46%,#050505 100%);border-left:1px solid rgba(255,255,255,.035);border-right:1px solid rgba(255,255,255,.035);box-shadow:0 0 90px rgba(0,0,0,.78);transform:translateY(0) skewX(-11deg);transition:transform .86s cubic-bezier(.76,0,.24,1);will-change:transform}
.page-transition .pt-slat:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.045),transparent),repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 1px,transparent 1px 18px);opacity:.75}
.page-transition .pt-slat:nth-child(1){left:-11vw;transition-delay:.00s}.page-transition .pt-slat:nth-child(2){left:10vw;transition-delay:.045s}.page-transition .pt-slat:nth-child(3){left:31vw;transition-delay:.09s}.page-transition .pt-slat:nth-child(4){left:52vw;transition-delay:.135s}.page-transition .pt-slat:nth-child(5){left:73vw;transition-delay:.18s}.page-transition .pt-slat:nth-child(6){left:94vw;transition-delay:.225s}
.page-transition .pt-core{position:absolute;left:50%;top:50%;width:min(520px,78vw);height:108px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .28s ease,transform .56s cubic-bezier(.16,1,.3,1);transition-delay:.18s}
.page-transition .pt-core:before,.page-transition .pt-core:after{content:'';position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--pt-accent),transparent);box-shadow:0 0 28px color-mix(in srgb,var(--pt-accent) 60%,transparent);transform-origin:center;animation:ptTrace 1.25s cubic-bezier(.16,1,.3,1) infinite alternate}.page-transition .pt-core:before{top:26px}.page-transition .pt-core:after{bottom:26px;animation-delay:.16s}
.page-transition .pt-label{position:relative;font-size:15px;font-weight:900;letter-spacing:5px;text-transform:uppercase;color:rgba(255,255,255,.82);text-shadow:0 0 28px rgba(0,0,0,.9)}
.page-transition .pt-dot{position:absolute;left:50%;top:50%;width:10px;height:10px;border:1px solid var(--pt-accent);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 24px color-mix(in srgb,var(--pt-accent) 65%,transparent)}
@keyframes ptTrace{from{transform:scaleX(.14);opacity:.38}to{transform:scaleX(1);opacity:1}}
body.is-loaded .page-transition .pt-slat:nth-child(odd){transform:translateY(-122vh) skewX(-11deg)}
body.is-loaded .page-transition .pt-slat:nth-child(even){transform:translateY(122vh) skewX(-11deg)}
body.is-loaded .page-transition .pt-core{opacity:0;transform:translate(-50%,-50%) scale(.92);pointer-events:none;transition-delay:.05s}
body.is-loaded .page-transition{pointer-events:none}
body.is-leaving .page-transition{pointer-events:auto;background:rgba(0,0,0,.08)}
body.is-leaving .page-transition .pt-slat{transform:translateY(0) skewX(-11deg)}
body.is-leaving .page-transition .pt-slat:nth-child(1){transition-delay:.00s}.is-leaving .page-transition .pt-slat:nth-child(2){transition-delay:.045s}.is-leaving .page-transition .pt-slat:nth-child(3){transition-delay:.09s}.is-leaving .page-transition .pt-slat:nth-child(4){transition-delay:.135s}.is-leaving .page-transition .pt-slat:nth-child(5){transition-delay:.18s}.is-leaving .page-transition .pt-slat:nth-child(6){transition-delay:.225s}
body.is-leaving .page-transition .pt-core{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.32s}
body.is-leaving main,body.is-leaving header,body.is-leaving section,body.is-leaving footer,body.is-leaving nav{transform:scale(.985);filter:saturate(.72) contrast(1.12);transition:transform .72s cubic-bezier(.76,0,.24,1),filter .72s cubic-bezier(.76,0,.24,1)}

body.is-entering .page-transition{pointer-events:auto;background:#050505}
body.is-entering .page-transition .pt-slat{transform:translateY(0) skewX(-11deg)}
body.is-entering .page-transition .pt-core{opacity:1;transform:translate(-50%,-50%) scale(1)}
body.is-entering main,body.is-entering header,body.is-entering section,body.is-entering footer,body.is-entering nav{transform:scale(1.012);filter:saturate(.82) contrast(1.08)}



/* Product-card opening reveal */
.product-card{isolation:isolate}
.product-visual{height:116px;transition:height .72s cubic-bezier(.16,1,.3,1),filter .72s cubic-bezier(.16,1,.3,1)}
.product-card.featured .product-visual{height:138px}
.product-card:hover .product-visual{height:252px}
.product-card.featured:hover .product-visual{height:330px}
.product-visual.has-image img{opacity:.22;transform:scale(1.12);filter:saturate(.82) contrast(1.08) brightness(.72);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1),filter .85s cubic-bezier(.16,1,.3,1)}
.product-card:hover .product-visual.has-image img{opacity:1;transform:scale(1.015);filter:saturate(1.06) contrast(1.08) brightness(.96)}
.product-visual.has-image .product-fade{background:linear-gradient(180deg,rgba(0,0,0,.28),rgba(0,0,0,.72)),linear-gradient(90deg,rgba(0,0,0,.66),transparent 45%,rgba(0,0,0,.20));transition:opacity .55s cubic-bezier(.16,1,.3,1)}
.product-card:hover .product-visual.has-image .product-fade{opacity:.34}
.product-card .product-body{transition:transform .55s cubic-bezier(.16,1,.3,1)}
.product-card:hover .product-body{transform:translateY(-4px)}
.product-card-link:focus-visible{outline:1px solid var(--accent);outline-offset:4px}

@media(max-width:1180px){.ticker{grid-template-columns:repeat(3,1fr)}.stat:nth-child(3){border-right:0}.nav-links{display:none}.products-grid{grid-template-columns:repeat(2,1fr)}#mission{grid-template-columns:repeat(2,1fr)}.domain-layout,.tech-wrap{grid-template-columns:1fr}.hero-panel{display:none}.cap-grid{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.ticker{grid-template-columns:1fr}.stat{border-right:0;border-bottom:1px solid var(--line)}.stat:last-child{border-bottom:0}body{cursor:auto}#c-dot,#c-ring,#c-trail{display:none}#nav{padding:0 24px}.nav-cta{display:none}.nav-logo{min-width:0}.nav-logo img{height:34px;max-width:220px}#nav.scrolled .nav-logo img{height:31px}#hero{min-height:740px;background-position:78% center}.hero-photo{object-position:80% center}.hero-content{width:min(360px,calc(100% - 56px));margin:0;padding:110px 28px 0}.hero-title{font-size:52px;letter-spacing:-2px}.hero-sub{letter-spacing:4px}.hero-copy{font-size:15px}.hero-scroll{display:none}.container{padding:72px 28px}.section-head{display:block}.section-desc{margin-top:18px}.products-grid,.domain-grid,.cap-grid,#mission{grid-template-columns:1fr}.product-card.featured{grid-column:span 1}.product-card{min-height:450px}.mission-card{border-right:0;border-bottom:1px solid rgba(0,0,0,.08)}.tech-visual{min-height:360px}.tech-visual:before{font-size:76px}#cta,footer{padding-left:28px;padding-right:28px}.foot-grid{grid-template-columns:1fr}#cta:before{font-size:72px}}

/* Seamless page handoff: no static black pause */
html.pt-incoming body.is-loaded .page-transition,
html.pt-incoming body.is-entering .page-transition{pointer-events:auto;background:transparent}
html.pt-incoming body.is-loaded .page-transition .pt-slat,
html.pt-incoming body.is-entering .page-transition .pt-slat{transform:translateY(0) skewX(-11deg)}
html.pt-incoming body.is-loaded .page-transition .pt-core,
html.pt-incoming body.is-entering .page-transition .pt-core{opacity:1;transform:translate(-50%,-50%) scale(1)}
.page-transition:before{content:'';position:absolute;left:-35%;top:0;width:35%;height:100%;z-index:2;background:linear-gradient(90deg,transparent,rgba(162,132,72,.18),transparent);transform:skewX(-18deg);opacity:0;pointer-events:none}
body.is-leaving .page-transition:before,body.is-entering .page-transition:before,html.pt-incoming .page-transition:before{opacity:1;animation:ptSweep .95s cubic-bezier(.16,1,.3,1) infinite}
@keyframes ptSweep{from{left:-42%}to{left:110%}}
body.is-entering .page-transition{background:transparent}
body.is-leaving .page-transition{background:transparent}


/* MAIN PAGE PRODUCT PORTFOLIO - 4 cards inline + hover image reveal */
.products-grid,
.product-grid,
.portfolio-grid {
  display: grid !important;
  grid-template-columns: 1.35fr 1fr 1fr 1fr !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.product-card {
  min-height: 430px !important;
  position: relative !important;
  overflow: hidden !important;
  transition: transform .42s cubic-bezier(.22,1,.36,1), border-color .42s ease, box-shadow .42s ease !important;
}

.product-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(162,132,72,.55) !important;
  box-shadow: 0 30px 80px rgba(0,0,0,.38), 0 0 0 1px rgba(162,132,72,.18) inset !important;
}

.product-visual {
  position: relative !important;
  height: 158px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, rgba(162,132,72,.10), rgba(255,255,255,.025)) !important;
}

.product-visual::before {
  content: attr(data-code);
  position: absolute;
  left: 24px;
  bottom: -4px;
  font-size: clamp(48px, 5vw, 82px);
  line-height: .75;
  font-weight: 900;
  letter-spacing: -5px;
  color: rgba(255,255,255,.045);
  z-index: 1;
  transition: opacity .35s ease, transform .45s cubic-bezier(.22,1,.36,1);
}

.product-visual img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  opacity: 0;
  transform: scale(1.12);
  filter: brightness(.72) saturate(.9);
  transition: opacity .45s ease, transform .65s cubic-bezier(.22,1,.36,1), filter .45s ease;
  z-index: 2;
}

.product-card:hover .product-visual img {
  opacity: 1;
  transform: scale(1.02);
  filter: brightness(.95) saturate(1);
}

.product-card:hover .product-visual::before {
  opacity: 0;
  transform: translateY(14px);
}

.product-body {
  position: relative !important;
  z-index: 3 !important;
}

.product-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.18) 46%, rgba(0,0,0,.62) 100%);
  opacity: 0;
  transition: opacity .42s ease;
  pointer-events: none;
  z-index: 2;
}

.product-card:hover::after {
  opacity: 1;
}

@media(max-width:1250px){
  .products-grid,
  .product-grid,
  .portfolio-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:760px){
  .products-grid,
  .product-grid,
  .portfolio-grid {
    grid-template-columns: 1fr !important;
  }
}


/* FORCE 4 PRODUCT CARDS IN ONE ROW */
#portfolio .portfolio-grid,
#products .portfolio-grid,
.portfolio-grid,
.products-grid,
.product-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  max-width: 1680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: stretch !important;
}

#portfolio .product-card,
#products .product-card,
.product-card {
  grid-column: auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 470px !important;
}

#portfolio .product-card:first-child,
#products .product-card:first-child,
.product-card:first-child {
  grid-column: auto !important;
  grid-row: auto !important;
}

#portfolio,
#products,
.portfolio-section,
.products-section {
  overflow: visible !important;
}

.product-visual {
  height: 170px !important;
  position: relative !important;
  overflow: hidden !important;
}

.product-visual img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  transform: scale(1.14) !important;
  transition: opacity .42s ease, transform .65s cubic-bezier(.22,1,.36,1) !important;
}

.product-card:hover .product-visual img {
  opacity: 1 !important;
  transform: scale(1.02) !important;
}

.product-card {
  transition: transform .35s cubic-bezier(.22,1,.36,1), border-color .35s ease, box-shadow .35s ease !important;
}

.product-card:hover {
  transform: translateY(-8px) !important;
  border-color: rgba(162,132,72,.58) !important;
  box-shadow: 0 28px 70px rgba(0,0,0,.38) !important;
}

@media(max-width:1300px){
  #portfolio .portfolio-grid,
  #products .portfolio-grid,
  .portfolio-grid,
  .products-grid,
  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:760px){
  #portfolio .portfolio-grid,
  #products .portfolio-grid,
  .portfolio-grid,
  .products-grid,
  .product-grid {
    grid-template-columns: 1fr !important;
  }
}


/* Product card photos inserted */
.product-visual img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 0 !important;
  transform: scale(1.12) !important;
  filter: brightness(.78) saturate(.95) contrast(1.02) !important;
  transition: opacity .45s ease, transform .65s cubic-bezier(.22,1,.36,1), filter .45s ease !important;
  z-index: 2 !important;
}

.product-card:hover .product-visual img {
  opacity: 1 !important;
  transform: scale(1.02) !important;
  filter: brightness(.98) saturate(1.05) contrast(1.04) !important;
}

.product-fade {
  position: absolute;
  inset: 0;
  z-index: 3;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.58));
  opacity: 0;
  transition: opacity .45s ease;
}

.product-card:hover .product-fade {
  opacity: 1;
}


/* Remove gold lines over product photos */
.product-visual::after,
.product-visual .gold-line,
.product-visual .line,
.product-card .gold-line,
.product-card .product-line {
  display: none !important;
  opacity: 0 !important;
}

.product-visual {
  border-bottom: 0 !important;
}

.product-visual::before {
  /* keep the product code text only; remove any line-like visual effects */
  border: 0 !important;
  box-shadow: none !important;
  background: none !important;
}

.product-card::before {
  display: none !important;
}


/* Product photos always visible + zoom/enlarge hover */
.product-visual img {
  opacity: 1 !important;
  transform: scale(1) !important;
  filter: brightness(.82) saturate(.95) contrast(1.02) !important;
}

.product-card:hover .product-visual img {
  opacity: 1 !important;
  transform: scale(1.12) !important;
  filter: brightness(1) saturate(1.08) contrast(1.05) !important;
}

.product-card {
  transform-origin: center center !important;
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    border-color .35s ease,
    box-shadow .35s ease !important;
}

.product-card:hover {
  transform: translateY(-10px) scale(1.045) !important;
  z-index: 20 !important;
  border-color: rgba(162,132,72,.65) !important;
  box-shadow: 0 36px 90px rgba(0,0,0,.5), 0 0 0 1px rgba(162,132,72,.22) inset !important;
}

.product-visual::before {
  opacity: .18 !important;
}

.product-card:hover .product-visual::before {
  opacity: 0 !important;
}

.product-fade {
  opacity: .42 !important;
}

.product-card:hover .product-fade {
  opacity: .12 !important;
}

.portfolio-grid,
.products-grid,
.product-grid {
  overflow: visible !important;
}


/* Fake 3D LUGV viewer for Technology Core section */
.fake3d-viewer {
  position: relative;
  width: 100%;
  height: 560px;
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(162,132,72,.22);
  background:
    radial-gradient(circle at 50% 48%, rgba(162,132,72,.18), transparent 34%),
    radial-gradient(circle at 50% 65%, rgba(255,255,255,.08), transparent 42%),
    linear-gradient(145deg, rgba(14,14,14,.98), rgba(4,4,4,.96));
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.fake3d-viewer:active {
  cursor: grabbing;
}

.fake3d-stage {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  perspective: 1100px;
}

.fake3d-img {
  position: absolute;
  width: min(94%, 760px);
  max-height: 88%;
  object-fit: contain;
  opacity: 0;
  transform: scale(.96) rotateY(-8deg);
  filter: drop-shadow(0 36px 80px rgba(0,0,0,.65));
  transition: opacity .28s ease, transform .38s cubic-bezier(.22,1,.36,1), filter .38s ease;
  pointer-events: none;
}

.fake3d-img.active {
  opacity: 1;
  transform: scale(1) rotateY(0deg);
}

.fake3d-viewer:hover .fake3d-img.active {
  transform: scale(1.035) rotateY(0deg);
  filter: drop-shadow(0 44px 90px rgba(0,0,0,.76));
}

.fake3d-glow {
  position: absolute;
  left: 16%;
  right: 16%;
  bottom: 10%;
  height: 14%;
  background: radial-gradient(ellipse, rgba(162,132,72,.28), transparent 68%);
  filter: blur(18px);
  opacity: .6;
  pointer-events: none;
}

.fake3d-ui {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: rgba(255,255,255,.72);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 2.6px;
  text-transform: uppercase;
}

.fake3d-ui span::before {
  content: "";
  display: inline-block;
  width: 34px;
  height: 1px;
  margin-right: 12px;
  vertical-align: middle;
  background: rgba(162,132,72,.9);
}

.fake3d-dots {
  display: flex;
  gap: 9px;
}

.fake3d-dots button {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.32);
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.fake3d-dots button.active {
  background: #a28448;
  border-color: #a28448;
  box-shadow: 0 0 14px rgba(162,132,72,.75);
}

@media(max-width:1180px){
  .fake3d-viewer {
    height: 430px;
    min-height: 430px;
  }
}


/* Fake 3D drag fix */
.fake3d-viewer,
.fake3d-viewer * {
  -webkit-user-select: none !important;
  user-select: none !important;
}

.fake3d-viewer {
  cursor: grab !important;
  touch-action: none !important;
}

.fake3d-viewer.dragging {
  cursor: grabbing !important;
}

.fake3d-img {
  pointer-events: none !important;
}


/* WORKING fake 3D viewer */
.fake3d-viewer {
  position: relative !important;
  width: 100% !important;
  height: 560px !important;
  min-height: 520px !important;
  overflow: hidden !important;
  border: 1px solid rgba(162,132,72,.22) !important;
  background: radial-gradient(circle at 50% 48%, rgba(162,132,72,.18), transparent 34%), linear-gradient(145deg, rgba(14,14,14,.98), rgba(4,4,4,.96)) !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: none !important;
}
.fake3d-viewer.is-dragging { cursor: grabbing !important; }
.fake3d-stage {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.fake3d-img {
  position: absolute !important;
  width: min(94%, 760px) !important;
  max-height: 88% !important;
  object-fit: contain !important;
  opacity: 0 !important;
  transform: scale(.96) !important;
  filter: drop-shadow(0 36px 80px rgba(0,0,0,.65)) !important;
  transition: opacity .22s ease, transform .32s ease, filter .32s ease !important;
  pointer-events: none !important;
  user-select: none !important;
}
.fake3d-img.active {
  opacity: 1 !important;
  transform: scale(1) !important;
}
.fake3d-viewer:hover .fake3d-img.active {
  transform: scale(1.035) !important;
  filter: drop-shadow(0 44px 90px rgba(0,0,0,.76)) !important;
}
.fake3d-glow {
  position: absolute !important;
  left: 16% !important;
  right: 16% !important;
  bottom: 10% !important;
  height: 14% !important;
  background: radial-gradient(ellipse, rgba(162,132,72,.28), transparent 68%) !important;
  filter: blur(18px) !important;
  opacity: .6 !important;
  pointer-events: none !important;
}
.fake3d-ui {
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 24px !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 2.6px !important;
  text-transform: uppercase !important;
}
.fake3d-ui span::before {
  content: "" !important;
  display: inline-block !important;
  width: 34px !important;
  height: 1px !important;
  margin-right: 12px !important;
  vertical-align: middle !important;
  background: rgba(162,132,72,.9) !important;
}
.fake3d-dots {
  display: flex !important;
  gap: 9px !important;
  z-index: 12 !important;
}
.fake3d-dots button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.fake3d-dots button.active {
  background: #a28448 !important;
  border-color: #a28448 !important;
  box-shadow: 0 0 14px rgba(162,132,72,.75) !important;
}
@media(max-width:1180px){
  .fake3d-viewer { height: 430px !important; min-height: 430px !important; }
}


/* Repaired interactive fake 3D viewer */
.fake3d-viewer {
  position: relative !important;
  width: 100% !important;
  height: 560px !important;
  min-height: 520px !important;
  overflow: hidden !important;
  border: 1px solid rgba(162,132,72,.24) !important;
  background: radial-gradient(circle at 50% 45%, rgba(162,132,72,.16), transparent 38%), linear-gradient(145deg, rgba(14,14,14,.98), rgba(4,4,4,.96)) !important;
  cursor: grab !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  touch-action: none !important;
  z-index: 10 !important;
}
.fake3d-viewer.is-dragging { cursor: grabbing !important; }
.fake3d-stage {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  pointer-events: none !important;
}
.fake3d-img {
  position: absolute !important;
  width: min(94%, 760px) !important;
  max-height: 88% !important;
  object-fit: contain !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: scale(.96) !important;
  filter: drop-shadow(0 36px 80px rgba(0,0,0,.65)) !important;
  transition: opacity .2s ease, transform .3s ease, visibility .2s ease !important;
  pointer-events: none !important;
}
.fake3d-img.active {
  opacity: 1 !important;
  visibility: visible !important;
  transform: scale(1) !important;
}
.fake3d-viewer:hover .fake3d-img.active { transform: scale(1.035) !important; }
.fake3d-ui {
  position: absolute !important;
  left: 28px !important;
  right: 28px !important;
  bottom: 24px !important;
  z-index: 20 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  color: rgba(255,255,255,.75) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: 2.6px !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
}
.fake3d-ui span::before {
  content: "" !important;
  display: inline-block !important;
  width: 34px !important;
  height: 1px !important;
  margin-right: 12px !important;
  vertical-align: middle !important;
  background: rgba(162,132,72,.9) !important;
}
.fake3d-dots { display: flex !important; gap: 9px !important; pointer-events: auto !important; }
.fake3d-dots button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  background: transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
}
.fake3d-dots button.active {
  background: #a28448 !important;
  border-color: #a28448 !important;
  box-shadow: 0 0 14px rgba(162,132,72,.75) !important;
}
@media(max-width:1180px){
  .fake3d-viewer { height: 430px !important; min-height: 430px !important; }
}


/* Auto-spin viewer final behavior */
.fake3d-viewer {
  cursor: pointer !important;
}
.fake3d-viewer.is-dragging {
  cursor: pointer !important;
}
.fake3d-ui span {
  color: rgba(255,255,255,.82) !important;
}


/* Global header logo readability */
#nav .nav-logo img {
  height: 54px !important;
  width: auto !important;
  max-width: 260px !important;
  object-fit: contain !important;
}
#nav .nav-logo {
  min-width: 210px !important;
  display: flex !important;
  align-items: center !important;
}
@media(max-width:900px){
  #nav .nav-logo img { height: 42px !important; max-width: 190px !important; }
  #nav .nav-logo { min-width: 150px !important; }
}

/* Request demo/contact modal */
.demo-modal {
  position: fixed;
  inset: 0;
  z-index: 9500;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}
.demo-modal.is-open { display: flex; }
.demo-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.74);
  backdrop-filter: blur(12px);
}
.demo-modal-box {
  position: relative;
  width: min(760px, 100%);
  background:
    radial-gradient(circle at 80% 0%, rgba(162,132,72,.18), transparent 36%),
    linear-gradient(145deg, rgba(17,17,17,.98), rgba(5,5,5,.98));
  border: 1px solid rgba(162,132,72,.35);
  box-shadow: 0 38px 120px rgba(0,0,0,.72);
  padding: clamp(28px, 4vw, 52px);
  color: #fff;
  animation: demoIn .34s cubic-bezier(.22,1,.36,1);
}
@keyframes demoIn {
  from { opacity: 0; transform: translateY(18px) scale(.97); }
  to { opacity: 1; transform: none; }
}
.demo-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.04);
  color: #fff;
  font-size: 26px;
  cursor: pointer;
}
.demo-kicker {
  color: #a28448;
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 15px;
  font-weight: 900;
  margin-bottom: 12px;
}
.demo-modal-box h3 {
  font-size: clamp(32px, 4vw, 56px);
  line-height: .95;
  margin: 0 0 14px;
  text-transform: uppercase;
}
.demo-modal-box p {
  color: rgba(255,255,255,.62);
  line-height: 1.7;
  margin-bottom: 28px;
}
.demo-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.demo-form label {
  display: grid;
  gap: 8px;
}
.demo-form span {
  font-size: 15px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #a28448;
  font-weight: 900;
}
.demo-form input,
.demo-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.045);
  color: #fff;
  padding: 14px 15px;
  font: inherit;
  outline: none;
}
.demo-form input:focus,
.demo-form textarea:focus {
  border-color: rgba(162,132,72,.7);
  box-shadow: 0 0 0 3px rgba(162,132,72,.12);
}
.demo-wide { grid-column: 1 / -1; }
.demo-submit {
  grid-column: 1 / -1;
  width: fit-content;
  border: 0;
  background: #a28448;
  color: #fff;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 16px 28px;
  cursor: pointer;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}
.demo-note {
  margin-top: 16px;
  color: rgba(255,255,255,.38);
  font-size: 15px;
}
@media(max-width:680px){
  .demo-form { grid-template-columns: 1fr; }
}


/* Main page video showcase section */
.video-showcase {
  position: relative;
  padding: clamp(90px, 10vw, 160px) clamp(28px, 5vw, 88px);
  background:
    radial-gradient(circle at 72% 42%, rgba(162,132,72,.12), transparent 34%),
    linear-gradient(180deg, rgba(5,5,5,1), rgba(8,8,8,1));
  overflow: hidden;
}

.video-showcase::before {
  content: "DEMO";
  position: absolute;
  right: -2vw;
  top: 8%;
  font-size: clamp(120px, 18vw, 300px);
  line-height: .8;
  font-weight: 900;
  letter-spacing: -12px;
  color: rgba(255,255,255,.025);
  pointer-events: none;
}

.video-wrap {
  position: relative;
  z-index: 1;
  max-width: 1680px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: .76fr 1.24fr;
  gap: clamp(44px, 6vw, 110px);
  align-items: center;
}

.video-copy .section-kicker {
  color: #a28448;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.video-copy h2 {
  font-size: clamp(46px, 6vw, 98px);
  line-height: .9;
  letter-spacing: -3px;
  text-transform: uppercase;
  margin: 0 0 24px;
}

.video-copy h2 span {
  color: #a28448;
}

.video-copy p {
  max-width: 560px;
  color: rgba(255,255,255,.58);
  font-size: 15px;
  line-height: 1.9;
  margin-bottom: 32px;
}

.video-placeholder-btn {
  border: 1px solid rgba(162,132,72,.42);
  background: rgba(162,132,72,.12);
  color: #fff;
  padding: 15px 24px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: default;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%);
}

.video-frame {
  position: relative;
  border: 1px solid rgba(255,255,255,.12);
  background: linear-gradient(145deg, rgba(255,255,255,.04), rgba(255,255,255,.015));
  box-shadow: 0 40px 110px rgba(0,0,0,.58);
  padding: 14px;
}

.video-frame::after {
  content: "";
  position: absolute;
  inset: -1px;
  border: 1px solid rgba(162,132,72,.22);
  pointer-events: none;
  transform: translate(16px, 16px);
  z-index: -1;
}

.video-aspect {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0,0,0,.76), rgba(0,0,0,.32)),
    radial-gradient(circle at 50% 50%, rgba(162,132,72,.18), transparent 44%),
    #0a0a0a;
}

.video-placeholder {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
}

.play-ring {
  width: clamp(86px, 8vw, 132px);
  height: clamp(86px, 8vw, 132px);
  border: 1px solid rgba(162,132,72,.72);
  border-radius: 50%;
  display: grid;
  place-items: center;
  box-shadow: 0 0 42px rgba(162,132,72,.2);
  animation: videoPulse 2.8s ease-in-out infinite;
}

.play-ring span {
  width: 0;
  height: 0;
  border-top: 18px solid transparent;
  border-bottom: 18px solid transparent;
  border-left: 28px solid #a28448;
  margin-left: 8px;
}

.video-label {
  position: absolute;
  bottom: 34px;
  left: 34px;
  color: rgba(255,255,255,.62);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 2.8px;
  text-transform: uppercase;
}

@keyframes videoPulse {
  0%, 100% { transform: scale(1); opacity: .9; }
  50% { transform: scale(1.06); opacity: 1; }
}

@media(max-width:980px){
  .video-wrap {
    grid-template-columns: 1fr;
  }
}


/* YouTube embed active state */
.video-aspect.video-embed {
  background: #050505 !important;
}

.video-aspect.video-embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.video-aspect.video-embed::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(162,132,72,.16);
}
