/* ===== v5 dark tech visual system (preview) ===== */
:root{--v5-bg0:#081538;--v5-bg1:#0B1A4A;--v5-bg2:#102461;--v5-glass:rgba(255,255,255,.055);--v5-glass2:rgba(255,255,255,.09);--v5-edge:rgba(255,255,255,.14);--v5-text:#E9EEFB;--v5-mute:#AEB9DA;--v5-amber:#F2A900;--v5-cyan:#7FB2FF}
body{background:var(--v5-bg0);color:var(--v5-text)}
main{background:var(--v5-bg0)}
h1,h2,h3,.subhero h1{color:#fff}
p,.intro,.card p,.section-head p,details p,ul,li{color:var(--v5-mute)}
.eyebrow{color:var(--v5-amber);display:inline-flex;align-items:center;gap:10px}
.eyebrow:before{content:"";width:22px;height:2px;background:var(--v5-amber);border-radius:2px}
header{border-bottom:1px solid rgba(255,255,255,.12);background:rgba(10,24,64,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.breadcrumb{color:var(--v5-mute)}
/* section backgrounds: alternating dark / lighter dark, grid texture + glow */
section.content,section.content:nth-of-type(even),section.content.dark{position:relative;background:var(--v5-bg1);border-bottom:1px solid rgba(255,255,255,.06);overflow:hidden;isolation:isolate}
section.content:nth-of-type(even){background:var(--v5-bg2)}
section.content:before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 80% 70% at 50% 40%,#000 30%,transparent 80%)}
section.content:after{content:"";position:absolute;z-index:-1;width:620px;height:620px;border-radius:50%;right:-180px;top:-220px;background:radial-gradient(circle,rgba(84,124,255,.22),transparent 65%);pointer-events:none}
section.content:nth-of-type(even):after{left:-200px;right:auto;top:auto;bottom:-260px;background:radial-gradient(circle,rgba(242,169,0,.10),transparent 65%)}
.strip{background:var(--v5-bg0);border-bottom:1px solid rgba(255,255,255,.08);padding:20px 0}
.strip .wrap{color:var(--v5-mute)}
.strip span{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid var(--v5-edge);border-radius:999px;background:var(--v5-glass)}
.strip span:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--v5-amber);box-shadow:0 0 0 0 rgba(242,169,0,.6);animation:v5pulse 2.4s infinite}
.strip strong{color:#fff}
/* glass cards */
.card{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.085),rgba(255,255,255,.03));border:1px solid var(--v5-edge);border-radius:18px;box-shadow:0 20px 50px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;overflow:hidden}
.card:before{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--v5-amber),transparent);opacity:0;transition:opacity .35s}
.card:hover{transform:translateY(-4px);border-color:rgba(242,169,0,.55);box-shadow:0 28px 60px rgba(0,0,0,.35),0 0 0 1px rgba(242,169,0,.15)}
.card:hover:before{opacity:1}
.card .num{color:var(--v5-amber);font-family:"Barlow Condensed",system-ui,sans-serif;font-size:13px;letter-spacing:.14em}
.card h3{color:#fff}
.topic-icon{width:44px;height:44px;padding:10px;border-radius:12px;background:rgba(242,169,0,.14);border:1px solid rgba(242,169,0,.35);filter:invert(1) sepia(1) saturate(4) hue-rotate(5deg) brightness(1.05);box-sizing:border-box;display:block;margin-bottom:14px}
.text-link{color:var(--v5-amber)}
.text-link:hover{color:#fff}
.notice{background:var(--v5-glass);border-left-color:var(--v5-amber);color:var(--v5-text)}
details{border-bottom:1px solid rgba(255,255,255,.12)}
summary,summary h3{color:#fff}
summary{list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:0;top:0;color:var(--v5-amber);font-size:24px;line-height:1;transition:transform .3s}
details[open] summary:after{transform:rotate(45deg)}
figure{margin:48px 0 0}
figure img{border-radius:16px}
figure.evidence,section.content figure{position:relative;padding:14px;border-radius:22px;background:rgba(255,255,255,.06);border:1px solid var(--v5-edge);box-shadow:0 30px 80px rgba(0,0,0,.35)}
figure.evidence img,section.content figure img{display:block;width:100%;background:#fff}
figcaption{color:var(--v5-mute);font-size:13px;margin-top:12px}
.button.secondary{color:#fff;border-color:rgba(255,255,255,.6)}
.button.secondary:hover{background:#fff;color:var(--v5-bg2)}
.cta{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 50%,rgba(242,169,0,.14),transparent 55%),linear-gradient(180deg,var(--v5-bg2),var(--v5-bg0))}
footer{background:#060F2B;border-top:1px solid rgba(255,255,255,.08)}
.subhero{position:relative}
.wrap.breadcrumb+.wrap{position:relative}
main>.wrap.breadcrumb,main>.wrap:has(.subhero){position:relative}
main:not(:has(.qhero)){background:radial-gradient(ellipse 70% 400px at 70% 0,rgba(84,124,255,.25),transparent 70%),var(--v5-bg0)}
.subhero h1{background:none}
.subhero .eyebrow{margin-bottom:4px}
.contact-address a{color:#fff}
/* ---- v5 modules ---- */
.v5-ba{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.v5-ba s{color:#7E89AE;text-decoration-color:rgba(255,120,120,.7);font-weight:500;font-size:.85em}
.v5-ba i{font-style:normal;display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--v5-amber);color:#102461;font-size:14px}
.v5-ba b{color:#fff}
.v5-flow{position:relative;margin:0 0 40px;padding:28px;border-radius:22px;background:rgba(5,14,40,.45);border:1px solid var(--v5-edge);display:grid;grid-template-columns:1fr 1.15fr;gap:28px;align-items:center}
.v5-flow.solo{grid-template-columns:1fr}
.v5-nodes{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;align-items:center;padding:12px 0}
.v5-node{position:relative;z-index:2;text-align:center;display:grid;justify-items:center;gap:12px;color:#fff;font-weight:700;font-size:15px}
.v5-node span{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#2A4AA8,#0E1F55);border:1px solid rgba(255,255,255,.25);box-shadow:0 0 0 8px rgba(127,178,255,.06),0 10px 30px rgba(0,0,0,.4);animation:v5glow 4.5s infinite}
.v5-node:nth-child(2) span{animation-delay:1.5s}.v5-node:nth-child(3) span{animation-delay:3s}
.v5-node img{width:34px;height:34px;filter:invert(1)}
.v5-node em{font-style:normal;font-size:11px;letter-spacing:.14em;color:var(--v5-amber)}
.v5-line{position:absolute;z-index:1;left:16.6%;right:16.6%;top:50px;height:2px;background:repeating-linear-gradient(90deg,rgba(242,169,0,.55) 0 8px,transparent 8px 16px);background-size:32px 2px;animation:v5dash 1.2s linear infinite}
.v5-line:after{content:"";position:absolute;top:-5px;left:0;width:12px;height:12px;border-radius:50%;background:var(--v5-amber);box-shadow:0 0 16px 4px rgba(242,169,0,.6);animation:v5travel 4.5s cubic-bezier(.6,0,.4,1) infinite}
.v5-shot{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--v5-edge);box-shadow:0 30px 70px rgba(0,0,0,.45);transform:perspective(1200px) rotateY(-6deg);transform-origin:left center}
.v5-shot img{display:block;width:100%;height:auto}
.v5-shot:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(8,21,56,.55));pointer-events:none}
.v5-shot .v5-scan{position:absolute;left:0;right:0;height:60px;top:-60px;background:linear-gradient(180deg,transparent,rgba(127,178,255,.22),transparent);animation:v5scan 5s linear infinite;z-index:2}
.v5-team{display:flex;align-items:flex-end;justify-content:center;gap:0;margin:-8px 0 36px;height:180px}
.v5-team img{height:170px;width:auto;margin:0 -14px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.45));transition:transform .4s;animation:v5bob 6s ease-in-out infinite}
.v5-team img:nth-child(odd){animation-delay:-3s}
.v5-team img:nth-child(4){height:190px;z-index:2}
.v5-team img:hover{transform:translateY(-8px)}
.v5-live{position:absolute;right:20px;top:22px;display:flex;align-items:center;gap:6px}
.v5-live i{width:8px;height:8px;border-radius:50%;background:#3DDC97;animation:v5pulseg 2s infinite}
.v5-spark{display:block;width:100%;height:46px;margin:6px 0 14px}
.v5-spark path{fill:none;stroke:var(--v5-amber);stroke-width:2;stroke-dasharray:400;stroke-dashoffset:400}
.v5-spark .area{fill:url(#v5g);stroke:none;opacity:.5}
.is-in .v5-spark path{animation:v5draw 1.8s .3s forwards}
.v5-stage{display:flex;gap:6px;margin:10px 0 14px}
.v5-stage i{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden;position:relative}
.v5-stage i:after{content:"";position:absolute;inset:0;background:var(--v5-amber);transform:scaleX(0);transform-origin:left}
.is-in .v5-stage i:after{animation:v5fill .7s forwards}
.is-in .v5-stage i:nth-child(2):after{animation-delay:.5s}.is-in .v5-stage i:nth-child(3):after{animation-delay:1s}.is-in .v5-stage i:nth-child(4):after{animation-delay:1.5s;opacity:.35}
.v5-side{display:grid;grid-template-columns:1fr;gap:24px}
.v5-cta-char{position:absolute;right:4%;bottom:0;height:88%;max-height:360px;width:auto;opacity:.95;pointer-events:none;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.cta .wrap{position:relative;z-index:2}
/* reveal */
.v5-js [data-rv]>*{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.8,.2,1),transform .7s cubic-bezier(.2,.8,.2,1)}
.v5-js [data-rv].is-in>*{opacity:1;transform:none}
.v5-js [data-rv].is-in>*:nth-child(2){transition-delay:.09s}.v5-js [data-rv].is-in>*:nth-child(3){transition-delay:.18s}.v5-js [data-rv].is-in>*:nth-child(4){transition-delay:.27s}.v5-js [data-rv].is-in>*:nth-child(5){transition-delay:.36s}.v5-js [data-rv].is-in>*:nth-child(6){transition-delay:.45s}
@keyframes v5pulse{0%{box-shadow:0 0 0 0 rgba(242,169,0,.6)}70%{box-shadow:0 0 0 10px rgba(242,169,0,0)}100%{box-shadow:0 0 0 0 rgba(242,169,0,0)}}
@keyframes v5pulseg{0%{box-shadow:0 0 0 0 rgba(61,220,151,.6)}70%{box-shadow:0 0 0 8px rgba(61,220,151,0)}100%{box-shadow:0 0 0 0 rgba(61,220,151,0)}}
@keyframes v5glow{0%,100%{box-shadow:0 0 0 8px rgba(127,178,255,.06),0 10px 30px rgba(0,0,0,.4)}15%{box-shadow:0 0 0 12px rgba(242,169,0,.18),0 0 40px rgba(242,169,0,.35);border-color:var(--v5-amber)}}
@keyframes v5dash{to{background-position:32px 0}}
@keyframes v5travel{0%{left:0;opacity:0}8%{opacity:1}92%{opacity:1}100%{left:calc(100% - 12px);opacity:0}}
@keyframes v5scan{to{top:110%}}
@keyframes v5bob{50%{transform:translateY(-6px)}}
@keyframes v5draw{to{stroke-dashoffset:0}}
@keyframes v5fill{to{transform:scaleX(1)}}
@media(max-width:860px){.v5-flow{grid-template-columns:1fr;padding:18px}.v5-shot{transform:none}.v5-team{height:120px}.v5-team img{height:110px;margin:0 -12px}.v5-team img:nth-child(4){height:124px}.v5-cta-char{opacity:.18;height:70%}}
@media(max-width:560px){.v5-node span{width:60px;height:60px}.v5-node img{width:26px;height:26px}.v5-line{top:42px}.v5-node{font-size:13px}.v5-team img{height:84px;margin:0 -10px}.v5-team img:nth-child(4){height:96px}.v5-team{height:100px}}
@media(prefers-reduced-motion:reduce){.v5-js [data-rv]>*{opacity:1!important;transform:none!important;transition:none!important}*,*:before,*:after{animation:none!important}.v5-spark path{stroke-dashoffset:0}.v5-stage i:after{transform:none}.card,.card:hover{transition:none;transform:none}}
@media(min-width:861px){.cta .wrap{padding-right:min(300px,22vw)}}

.v5-js figure[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.v5-js figure[data-rv].is-in{opacity:1;transform:none}
.v5-js figure[data-rv]>*{opacity:1!important;transform:none!important}
@media(max-width:860px){.card{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(255,255,255,.07)}header{backdrop-filter:none;-webkit-backdrop-filter:none;background:rgba(10,24,64,.97)}.v5-team img{animation:none}}
@media(prefers-reduced-motion:reduce){.v5-js figure[data-rv]{opacity:1;transform:none;transition:none}}
