
:root { --navy:#06101f; --navy-2:#0b1b31; --line:#173451; --blue:#2f7dff; --teal:#2ad4c3; --white:#f5f7fa; --muted:#9baabd; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--navy); color:var(--white); font-family:var(--font-geist-sans),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.site-header { position:absolute; z-index:20; top:0; left:0; width:100%; height:92px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 4.5vw; border-bottom:1px solid rgba(75,125,177,.15); }
.brand { display:flex; align-items:center; width:max-content; }
.brand img { display:block; width:255px; height:auto; filter:brightness(0) invert(1) drop-shadow(0 4px 12px rgba(0,0,0,.22)); }
.footer-brand img { width:280px; }
nav { display:flex; gap:40px; font-size:14px; color:#b8c2d0; }
nav a { position:relative; padding:35px 0; }
nav a::after { content:""; position:absolute; left:0; bottom:24px; width:0; height:1px; background:var(--teal); transition:width .2s ease; }
nav a:hover::after, nav a:focus-visible::after { width:100%; }
.button { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:18px; padding:0 26px; border:1px solid transparent; font-size:15px; font-weight:580; transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-small { justify-self:end; min-height:46px; padding:0 22px; font-size:14px; }
.button-outline { border-color:var(--teal); }
.button-primary { background:linear-gradient(120deg,#1d5fff,#2755ff); box-shadow:0 12px 40px rgba(47,125,255,.2); }
.button-primary:hover { box-shadow:0 15px 45px rgba(47,125,255,.35); }
.button-quiet { border-color:#3d83d3; background:rgba(2,10,24,.45); }
.hero { min-height:960px; position:relative; overflow:hidden; padding:195px 4.5vw 112px; display:grid; grid-template-columns:minmax(460px, .88fr) 1.12fr; align-items:start; }
.hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 77% 48%,rgba(26,95,227,.2),transparent 38%),linear-gradient(90deg,#06101f 0%,#06101f 38%,rgba(6,16,31,.65) 62%,#06101f 100%); }
.hero-glow { position:absolute; width:540px; height:300px; right:5%; top:40%; background:#1076ff; opacity:.14; filter:blur(100px); }
.hero-copy { position:relative; z-index:4; max-width:720px; }
.eyebrow { margin:0 0 25px; color:var(--teal); text-transform:uppercase; font-size:13px; font-weight:650; letter-spacing:.2em; }
h1 { margin:0; font-size:clamp(66px,6vw,96px); line-height:.98; letter-spacing:-.055em; font-weight:480; }
h1 span { color:var(--teal); }
.hero-lead { max-width:650px; margin:30px 0 38px; color:#aeb9c9; font-size:20px; line-height:1.7; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.hero-visual { position:absolute; z-index:2; right:-4%; top:92px; width:63%; height:790px; perspective:800px; overflow:hidden; background:url('hs7-hero-architecture.png') center right/cover no-repeat; mask-image:linear-gradient(90deg,transparent 0%,#000 19%,#000 100%); }
.visual-grid { display:none; }
.glass { display:none; }
.glass-one { width:18%; height:58%; right:22%; }.glass-two { width:24%; height:32%; right:4%; }.glass-three { width:30%; height:24%; right:44%; }
.data-line { display:none; }
.line-one { top:39%; transform:rotate(-18deg); }.line-two { top:52%; transform:rotate(-11deg); }.line-three { top:66%; transform:rotate(-4deg); }
.data-dot { position:absolute; width:7px; height:7px; border-radius:50%; background:var(--teal); box-shadow:0 0 12px var(--teal); animation:pulse 2.6s infinite ease-in-out; }
.dot-one { right:20%; top:35%; }.dot-two { right:42%; top:51%; animation-delay:.8s; }.dot-three { right:8%; top:62%; animation-delay:1.4s; }
.hero-categories { position:absolute; z-index:5; left:4.5vw; right:4.5vw; bottom:0; min-height:108px; border-top:1px solid rgba(83,128,172,.22); display:grid; grid-template-columns:repeat(3,1fr); align-items:center; }
.hero-categories span { display:flex; align-items:center; gap:18px; min-height:62px; padding:0 34px; border-right:1px solid rgba(135,158,183,.35); font-size:15px; }
.hero-categories span:last-child { border:0; }.category-icon { width:38px; height:38px; border:1px solid var(--teal); border-radius:50%; display:inline-block; box-shadow:inset 0 0 0 8px rgba(42,212,195,.04); }.shield { border-radius:5px 5px 18px 18px; }.cloud { border-radius:20px; width:45px; height:25px; }
.section { padding:120px 7vw; }.section-tight { padding:0 7vw 125px; }
.intro,.approach { display:grid; grid-template-columns:1fr 3fr; gap:7vw; background:#f2f5f7; color:#07111f; }
.section-label { color:#667281; text-transform:uppercase; letter-spacing:.2em; font-size:12px; padding-top:7px; }
.intro-copy { max-width:950px; }.intro .eyebrow,.approach .eyebrow { color:#087d82; }
h2 { margin:0; font-size:clamp(40px,4.2vw,68px); line-height:1.08; letter-spacing:-.045em; font-weight:500; }
.intro-copy>p:last-child,.results-copy>p:last-child,.about-copy>p { max-width:800px; margin:32px 0 0; font-size:18px; line-height:1.75; color:#5d6875; }
.capability-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:#18304a; }
.capability-card { min-height:450px; position:relative; padding:50px; background:var(--navy-2); transition:background .25s ease; }
.capability-card:hover { background:#102640; }.card-number { color:var(--teal); font-size:13px; letter-spacing:.15em; }
.capability-card h3 { margin:60px 0 20px; max-width:480px; font-size:31px; line-height:1.2; font-weight:520; }.capability-card p { max-width:600px; color:#9cabbc; line-height:1.7; }.capability-card ul { margin:30px 0 0; padding:0; list-style:none; color:#d8e0e9; }.capability-card li { padding:12px 0; border-top:1px solid rgba(101,139,176,.22); }.capability-card li::before { content:"+"; color:var(--teal); margin-right:12px; }
.industries { display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; background:#eef2f5; color:#07111f; }.industries .eyebrow { color:#087d82; }.industries-heading h2 { font-size:clamp(40px,4vw,64px); }.industries-copy>p { margin:0; color:#5d6875; font-size:18px; line-height:1.75; }.industry-list { display:grid; grid-template-columns:repeat(2,1fr); margin:42px 0 30px; border-top:1px solid #cbd4db; }.industry-list span { padding:18px 0; border-bottom:1px solid #cbd4db; color:#1c2a38; font-size:15px; }.industry-list span:nth-child(odd) { border-right:1px solid #cbd4db; padding-right:20px; }.industry-list span:nth-child(even) { padding-left:25px; }.industry-list span::before { content:"+"; color:#087d82; margin-right:12px; }.industries-copy .industry-note { font-size:14px; color:#65717d; }
.results { background:#081525; display:grid; grid-template-columns:.9fr 1.1fr; gap:9vw; align-items:start; }.results-copy>p:last-child { color:#9baabd; }.metrics { display:grid; grid-template-columns:repeat(2,1fr); }.metrics>div { min-height:210px; padding:30px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }.metrics strong { display:block; color:#fff; font-size:58px; font-weight:500; letter-spacing:-.05em; }.metrics strong span { color:var(--teal); }.metrics p { max-width:210px; color:#9baabd; line-height:1.5; }
.approach-main { max-width:1000px; }.steps { margin-top:60px; }.steps article { display:grid; grid-template-columns:70px 1fr; gap:30px; padding:32px 0; border-top:1px solid #cfd6db; }.steps article>span { color:#087d82; font-size:12px; }.steps h3 { margin:0 0 10px; font-size:26px; font-weight:550; }.steps p { margin:0; max-width:650px; color:#65707c; line-height:1.65; }
.about { display:grid; grid-template-columns:1fr 1fr; gap:10vw; background:#0b1b31; }.about-panel h2 { font-size:clamp(42px,4vw,65px); }.about-copy>p { color:#a5b2c2; margin-top:0; margin-bottom:24px; }.text-link { display:inline-flex; gap:14px; margin-top:22px; color:var(--teal); border-bottom:1px solid var(--teal); padding-bottom:7px; }
.cta-section { min-height:370px; padding:85px 7vw; display:flex; align-items:center; justify-content:space-between; gap:60px; background:linear-gradient(115deg,#176fe6,#1b48c6 65%,#073d90); }.cta-section h2 { max-width:850px; }.cta-section .eyebrow { color:#c5fffa; }.button-light { flex:0 0 auto; background:#fff; color:#0a2450; }
footer { min-height:250px; padding:60px 7vw; display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:40px; color:#8291a4; font-size:13px; }footer>p { margin:5px 0; text-align:right; }footer>div { grid-column:1/-1; border-top:1px solid var(--line); padding-top:28px; display:flex; justify-content:space-between; }footer a:hover { color:#fff; }
@keyframes pulse { 0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)} }
@media (prefers-reduced-motion:no-preference){.reveal{animation:reveal .75s cubic-bezier(.2,.8,.2,1) both}@keyframes reveal{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}}
@media (max-width:950px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:180px;min-height:920px}.hero-copy{max-width:650px}.hero-visual{width:90%;opacity:.42;right:-30%;top:220px}.hero::before{background:linear-gradient(90deg,#06101f 0%,rgba(6,16,31,.94) 62%,rgba(6,16,31,.65))}.hero-categories{grid-template-columns:1fr}.hero-categories span{display:none}.hero-categories span:first-child{display:flex;border:0}.intro,.approach,.results,.about,.industries{grid-template-columns:1fr}.capability-grid{grid-template-columns:1fr}.cta-section{align-items:flex-start;flex-direction:column}.section{padding:90px 6vw}.section-tight{padding:0 6vw 90px}}
@media (max-width:620px){.site-header{height:78px;padding:0 16px}.brand img{width:170px}.button-small{min-height:40px;padding:0 12px}.hero{padding:150px 20px 108px;min-height:850px}.eyebrow{font-size:11px}.hero-lead{font-size:17px;line-height:1.6}.hero-actions{display:grid}.button{width:100%;padding:0 16px}.hero-visual{right:-52%;width:130%;top:300px}.hero-categories{left:20px;right:20px}.hero-categories span{padding:0;font-size:13px}.capability-card{padding:34px 25px;min-height:auto}.capability-card h3{margin-top:40px}.industry-list{grid-template-columns:1fr}.industry-list span:nth-child(odd){border-right:0;padding-right:0}.industry-list span:nth-child(even){padding-left:0}.metrics{grid-template-columns:1fr}.metrics>div{min-height:160px}.section{padding:75px 22px}.section-tight{padding:0 22px 75px}.cta-section{padding:70px 22px}footer{padding:50px 22px;grid-template-columns:1fr}footer>p{text-align:left}footer>div{flex-direction:column;gap:15px}}
