:root { --ink:#091b2c; --blue:#0057ff; --cyan:#39e6df; --paper:#f5f7f8; --line:rgba(9,27,44,.15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--font-geist),Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
main { overflow:hidden; }
.topbar { height:112px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,5.5vw,88px); border-bottom:1px solid rgba(9,27,44,.11); position:relative; z-index:5; color:var(--ink); background:#fff; box-shadow:0 8px 30px rgba(6,23,37,.06); }
.brand { display:flex; align-items:center; }
.brand img { display:block; width:clamp(245px,24vw,340px); height:auto; }
.header-contact { display:flex; align-items:center; gap:12px; font-size:13px; color:#5c6873; }
.header-contact a { margin-left:14px; color:#102d54; font-weight:650; letter-spacing:.03em; }
.status-dot { width:7px;height:7px;background:#11b879;border-radius:50%;box-shadow:0 0 0 5px rgba(17,184,121,.1); }
.hero { min-height:758px; padding:58px clamp(24px,5.5vw,88px) 0; background:#071b2f; color:white; position:relative; }
.hero:before { content:""; position:absolute; inset:0; opacity:.24; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to right,#000,transparent 92%); }
.hero-glow { position:absolute; width:700px;height:700px;right:-150px;top:90px;background:radial-gradient(circle,rgba(0,87,255,.33),transparent 66%); }
.eyebrow { position:relative; display:flex; justify-content:space-between; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.22); color:#9bb0c4; text-transform:uppercase; font-size:11px; letter-spacing:.2em; }
.eyebrow span:before { content:""; display:inline-block; width:30px;height:1px;background:var(--cyan);vertical-align:middle;margin-right:12px; }
.hero-grid { position:relative; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; min-height:555px; }
.hero-copy { padding:48px 0; position:relative; z-index:2; }
h1 { font-size:clamp(62px,7.4vw,116px); line-height:.84; letter-spacing:-.065em; margin:0; font-weight:680; }
h1 em { color:var(--cyan); font-style:normal; font-weight:300; }
.hero-intro { max-width:580px; margin:36px 0 30px; color:#b7c6d3; font-size:clamp(17px,1.4vw,21px); line-height:1.6; }
.hero-actions { display:flex; align-items:center; gap:34px; flex-wrap:wrap; }
.primary-button { display:inline-flex; align-items:center; gap:34px; background:var(--blue); color:white; padding:17px 21px; font-size:14px; font-weight:650; transition:.2s; }
.primary-button:hover { background:#1a68ff; transform:translateY(-2px); }
.primary-button span { font-size:20px; }
.text-link { color:#c6d3df; font-size:13px; border-bottom:1px solid #53677a; padding:12px 0; }
.text-link span { color:var(--cyan); margin-left:12px; }
.system-visual { width:min(42vw,540px); height:min(42vw,540px); min-width:410px; min-height:410px; position:relative; justify-self:end; }
.orbit { position:absolute; border:1px solid rgba(94,225,226,.28); border-radius:50%; inset:12%; animation:spin 28s linear infinite; }
.orbit:before,.orbit:after { content:""; position:absolute;width:5px;height:5px;background:var(--cyan);border-radius:50%;box-shadow:0 0 14px var(--cyan); }
.orbit:before{top:8%;left:24%}.orbit:after{right:3%;bottom:32%}
.orbit-two { inset:28%; border-style:dashed; animation-direction:reverse; animation-duration:20s; }
.core { position:absolute; inset:39%; border:1px solid rgba(255,255,255,.35); background:rgba(7,27,47,.88); border-radius:50%; display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 70px rgba(0,87,255,.32); }
.core span{font-size:34px;font-weight:700;line-height:1}.core small{font:8px var(--font-mono);letter-spacing:.35em;color:var(--cyan);margin-top:5px}
.node { position:absolute; width:90px;height:90px; border:1px solid rgba(255,255,255,.28); background:rgba(11,36,60,.86); border-radius:50%; display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 12px 40px rgba(0,0,0,.25); }
.node i{font-style:normal;color:var(--cyan);font-size:25px}.node span{font:8px var(--font-mono);letter-spacing:.15em;color:#afc3d5}
.node-infra{top:5%;left:42%}.node-sec{bottom:15%;right:2%}.node-app{bottom:11%;left:4%}
.signal{position:absolute;width:4px;height:4px;background:white;border-radius:50%;box-shadow:0 0 12px 3px rgba(57,230,223,.8)}.signal-a{top:31%;left:20%}.signal-b{top:48%;right:12%}.signal-c{bottom:25%;left:40%}
@keyframes spin{to{transform:rotate(360deg)}}
.trust-line { position:relative; min-height:84px; display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.18);color:#7f98ae;text-transform:uppercase;font:10px var(--font-mono);letter-spacing:.15em; }
.trust-line span:before{content:"+";color:var(--cyan);margin-right:10px}
.services-section { padding:110px clamp(24px,5.5vw,88px) 120px; }
.section-heading { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:end; margin-bottom:66px; }
.section-kicker { text-transform:uppercase; color:var(--blue); font:10px var(--font-mono); letter-spacing:.18em; }
.section-kicker:before { content:"";display:inline-block;width:28px;height:1px;background:var(--blue);vertical-align:middle;margin-right:10px; }
h2 { font-size:clamp(42px,5vw,72px);line-height:1;letter-spacing:-.055em;margin:20px 0 0; }
.section-heading p { max-width:530px;font-size:17px;line-height:1.7;color:#5c6873;margin:0 0 8px; }
.service-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line); }
.service-card { padding:35px 34px 42px;border-right:1px solid var(--line);position:relative;transition:.25s;background:transparent; }
.service-card:first-child{border-left:1px solid var(--line)}.service-card:hover{background:white;transform:translateY(-5px);box-shadow:0 22px 55px rgba(15,35,55,.08)}
.service-number { font:10px var(--font-mono); color:#7b8790; }
.service-icon { width:75px;height:75px;margin:45px 0 38px;position:relative; }
.service-icon span{position:absolute;display:block;border:1px solid var(--blue)}
.infrastructure .service-icon span:nth-child(1){inset:0 18px 34px 0}.infrastructure .service-icon span:nth-child(2){inset:18px 0 16px 18px}.infrastructure .service-icon span:nth-child(3){width:42px;height:1px;bottom:4px;left:12px}
.security .service-icon span{border-radius:50%}.security .service-icon span:nth-child(1){inset:2px}.security .service-icon span:nth-child(2){inset:17px}.security .service-icon span:nth-child(3){width:8px;height:8px;background:var(--cyan);border:0;left:34px;top:34px}
.software .service-icon span:nth-child(1){inset:5px 12px;border-radius:8px}.software .service-icon span:nth-child(2){width:20px;height:20px;left:28px;top:18px;background:var(--cyan)}.software .service-icon span:nth-child(3){width:28px;height:1px;left:24px;bottom:16px}
.service-card h3 { font-size:25px;letter-spacing:-.03em;margin:0 0 14px; }.service-card p{color:#65717b;line-height:1.6;font-size:14px;margin:0;max-width:310px}
.contact-band { background:var(--blue);color:white;padding:90px clamp(24px,5.5vw,88px);display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center; }
.contact-band .section-kicker{color:var(--cyan)}.contact-band .section-kicker:before{background:var(--cyan)}.contact-band h2{font-size:clamp(42px,4.3vw,66px)}
.contact-details { display:grid;grid-template-columns:1fr 1fr;gap:28px 44px; }
.contact-details a,.contact-details p{font-size:17px;margin:0;border-bottom:1px solid rgba(255,255,255,.35);padding:0 0 18px;position:relative}.contact-details a span{position:absolute;right:0;font-size:20px}.contact-details small{display:block;text-transform:uppercase;color:#a9c6ff;font:9px var(--font-mono);letter-spacing:.16em;margin-bottom:9px}.contact-details p{font-size:14px;line-height:1.5;border:0;grid-column:1/-1}
footer { min-height:90px;padding:0 clamp(24px,5.5vw,88px);background:#061725;color:#7890a5;display:flex;justify-content:space-between;align-items:center;font:9px var(--font-mono);letter-spacing:.14em;text-transform:uppercase; }
footer a:hover { color:white; }
.privacy-page { background:#fff; }
.privacy-topbar { position:relative; }
.back-home { color:#102d54;font-size:13px;font-weight:650;border-bottom:1px solid rgba(16,45,84,.25);padding:9px 0; }
.privacy-hero { background:#071b2f;color:white;padding:76px clamp(24px,12vw,190px) 82px;position:relative;overflow:hidden; }
.privacy-hero:after { content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(57,230,223,.18);border-radius:50%;right:-130px;top:-270px;box-shadow:0 0 100px rgba(0,87,255,.17); }
.privacy-hero-inner { max-width:850px;position:relative;z-index:1; }
.privacy-label { color:var(--cyan);text-transform:uppercase;font:10px var(--font-mono);letter-spacing:.18em; }
.privacy-hero h1 { font-size:clamp(58px,7vw,96px);line-height:.9;margin:25px 0 30px; }
.privacy-hero h1 em { color:var(--cyan); }
.privacy-hero p { max-width:720px;color:#b7c6d3;font-size:18px;line-height:1.65;margin:0 0 28px; }
.privacy-hero small { color:#7f98ae;font:10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase; }
.privacy-layout { display:grid;grid-template-columns:230px minmax(0,780px);gap:clamp(50px,8vw,120px);max-width:1200px;margin:0 auto;padding:90px 32px 120px;align-items:start; }
.privacy-index { position:sticky;top:30px;display:flex;flex-direction:column;border-top:2px solid var(--blue);padding-top:20px; }
.privacy-index span { text-transform:uppercase;font:10px var(--font-mono);letter-spacing:.15em;color:#6c7780;margin-bottom:20px; }
.privacy-index a { font-size:13px;padding:10px 0;border-bottom:1px solid var(--line);color:#344657; }
.privacy-index a:hover { color:var(--blue); }
.privacy-content section { scroll-margin-top:30px;padding:0 0 52px;margin:0 0 52px;border-bottom:1px solid var(--line); }
.privacy-number { color:var(--blue);font:10px var(--font-mono);letter-spacing:.15em; }
.privacy-content h2 { font-size:clamp(32px,4vw,48px);margin:12px 0 28px;letter-spacing:-.045em; }
.privacy-content h3 { font-size:18px;margin:27px 0 8px; }
.privacy-content p,.privacy-content li { color:#52616e;font-size:16px;line-height:1.78; }
.privacy-content p { margin:0 0 18px; }
.privacy-content ul { padding-left:22px;margin:0 0 22px; }
.privacy-content li { padding-left:7px;margin-bottom:14px; }
.privacy-content a { color:#004fdc;text-decoration:underline;text-underline-offset:3px; }
.privacy-note { background:#eef4ff;border-left:3px solid var(--blue);padding:27px 30px; }
.privacy-note strong { font-size:17px; }
.privacy-note p { margin:8px 0 0; }
@media(max-width:900px){.hero{min-height:auto}.hero-grid,.section-heading,.contact-band{grid-template-columns:1fr}.system-visual{width:430px;height:430px;justify-self:center;margin-top:-25px}.trust-line{gap:20px;flex-wrap:wrap;padding:26px 0}.section-heading{gap:35px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.contact-band{gap:48px}}
@media(max-width:900px){.privacy-layout{grid-template-columns:1fr;padding-top:60px}.privacy-index{position:relative;top:auto}.privacy-index a{display:none}}
@media(max-width:600px){.topbar{height:86px;padding-left:18px;padding-right:18px}.brand img{width:205px}.header-contact>span:not(.status-dot),.header-contact a{display:none}.hero{padding-top:42px}.eyebrow b{display:none}h1{font-size:58px}.hero-intro{font-size:16px}.system-visual{min-width:310px;min-height:310px;width:330px;height:330px}.node{width:67px;height:67px}.node i{font-size:18px}.hero-actions{gap:18px}.section-heading{margin-bottom:40px}.services-section{padding-top:75px;padding-bottom:75px}.contact-details{grid-template-columns:1fr}.contact-details p{grid-column:auto}footer{padding-top:26px;padding-bottom:26px;gap:18px;align-items:flex-start;flex-direction:column}.trust-line{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{animation:none}.primary-button,.service-card{transition:none}}
