:root{--navy:#07111f;--panel:#0d1e30;--cyan:#19c6d3;--cyan2:#0aa9c0;--white:#f5f8fb;--muted:#aab8c7;--line:#263d50;--amber:#f4a62a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--navy);color:var(--white);font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.utility{height:36px;padding:0 4vw;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#bfccd7}
.utility i{width:4px;height:4px;border-radius:50%;background:var(--cyan)}
.location{margin-left:auto;color:#a7dfe4}
nav{height:92px;padding:0 4vw;display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(7,17,31,.96);position:sticky;top:0;z-index:20}
.brand{display:flex;align-items:center;gap:18px;letter-spacing:.3em}
.logoMark{width:54px;height:52px;flex:0 0 auto;fill:none;stroke:var(--cyan);stroke-width:10;stroke-linecap:square;stroke-linejoin:miter}
.navlinks{display:flex;gap:38px;margin-left:auto;margin-right:42px}
.navlinks a,.navCta{font-size:11px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.navlinks a{padding:12px 0;border-bottom:1px solid transparent}
.navlinks a:hover{border-color:var(--cyan)}
.navCta{border:1px solid var(--cyan);padding:17px 22px;color:#d9fbff}
.hero{min-height:670px;display:grid;grid-template-columns:52% 48%;border-bottom:1px solid var(--line)}
.heroCopy{padding:76px 6vw 56px 4vw;position:relative;background:radial-gradient(circle at 90% 45%,#0d2940 0,transparent 45%)}
.eyebrow{color:var(--cyan);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.hero .eyebrow{display:flex;align-items:center;gap:20px}
.hero .eyebrow:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,var(--cyan),transparent)}
h1{font-size:clamp(58px,6vw,90px);line-height:.94;letter-spacing:-.05em;margin:34px 0 28px;max-width:740px}
h2{font-size:clamp(38px,4.5vw,62px);line-height:1.02;letter-spacing:-.04em;margin:18px 0}
h3{font-size:20px}
.lede{max-width:610px;color:#c2cbd5;font-size:18px;line-height:1.75}
.actions{display:flex;align-items:center;gap:35px;margin-top:32px}
.primary,.secondary{display:inline-flex;align-items:center;gap:30px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800}
.primary{padding:19px 24px;background:linear-gradient(135deg,var(--cyan),var(--cyan2));color:#04111a;border-radius:3px}
.primary:hover{filter:brightness(1.12)}
.secondary{color:var(--cyan)}
.secondary:hover span,.primary:hover span{transform:translateX(4px)}
.actions span,.primary span{transition:.2s}
.proof{display:flex;align-items:center;gap:15px;margin-top:44px;padding-top:30px;border-top:1px solid var(--line)}
.proof strong{display:block;color:var(--amber);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.proof small{display:block;margin-top:8px;color:#8fa2b4;text-transform:uppercase;letter-spacing:.12em;font-size:9px}
.shieldIcon{width:42px;height:47px;flex:0 0 42px;overflow:visible;fill:none;stroke:var(--amber);stroke-linecap:round;stroke-linejoin:round}.shieldOutline{stroke-width:2}.shieldCheck{stroke-width:2.5}
.heroImage{min-height:670px;background-image:linear-gradient(90deg,var(--navy),transparent 16%),linear-gradient(0deg,rgba(7,17,31,.32),rgba(7,17,31,.08)),url('assets/telestros-hero.png');background-size:cover;background-position:center;position:relative;overflow:hidden}
.heroImage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(25,198,211,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(25,198,211,.06) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(90deg,transparent,black)}
.scan{position:absolute;left:0;right:0;top:54%;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 12px var(--cyan)}
.annotation{position:absolute;padding:7px 9px;border-left:1px solid var(--cyan);color:#baf9ff;background:rgba(7,17,31,.62);font-size:9px;letter-spacing:.12em}
.annotation.one{top:28%;right:7%}
.annotation.two{bottom:19%;left:12%}
.capabilities,.process{padding:105px 4vw}
.sectionIntro{display:grid;grid-template-columns:.65fr 1.25fr 1fr;gap:5vw;align-items:start}
.sectionIntro h2{margin:0}
.sectionIntro>p:last-child{color:var(--muted);line-height:1.8;margin:0}
.serviceGrid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:70px;border:1px solid var(--line)}
.serviceGrid article{padding:34px 30px;min-height:235px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#0d2032,#091725);transition:.2s}
.serviceGrid article:nth-child(3n){border-right:0}
.serviceGrid article:nth-last-child(-n+3){border-bottom:0}
.serviceGrid article:last-child{border:0}
.serviceGrid article:hover{background:#102a3d;transform:translateY(-5px)}
.serviceIcon{font-size:37px;color:var(--cyan)}
.serviceGrid h3{margin-top:28px}
.serviceGrid p,.processGrid p{color:var(--muted);font-size:14px;line-height:1.65}
.split{padding:85px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#eef3f5;color:#0a1926}
.split .eyebrow{color:#087d8c}
.sectors{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #aebcc4}
.sectors span{padding:25px 10px;border-bottom:1px solid #aebcc4;font-weight:700}
.processGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:65px;background:var(--line)}
.processGrid article{background:var(--navy);padding:34px}
.processGrid span{color:var(--cyan);font-size:12px;letter-spacing:.2em}
.about{padding:105px 4vw;display:grid;grid-template-columns:.65fr 1.7fr;gap:8vw;background:#eef3f5;color:#0a1926}
.aboutLabel>span{display:block;margin-top:42px;padding-left:18px;border-left:2px solid var(--cyan2);color:#536673;font-size:13px;font-weight:700;line-height:1.7;text-transform:uppercase;letter-spacing:.12em}
.about .eyebrow{color:#087d8c}
.aboutCopy h2{max-width:850px;margin-top:0}
.aboutCopy>p{max-width:850px;color:#425563;font-size:17px;line-height:1.8}
.aboutPoints{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.aboutPoints span{padding:12px 15px;border:1px solid #a9bac4;color:#183444;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.government{padding:90px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:#0b1a29;border-block:1px solid var(--line)}
.government>div:last-child>p{font-size:18px;line-height:1.75;color:#bec9d3}
.amber{color:var(--amber)}
.tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:30px}
.tags span{padding:11px 13px;border:1px solid #3a4d5e;color:#c8d2dc;font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.contact{text-align:center;padding:120px 20px;background:radial-gradient(circle at 50% 50%,#12344b 0,var(--navy) 56%)}
.contact h2{max-width:800px;margin:20px auto}
.contact>p:not(.eyebrow){color:var(--muted);margin:0 auto 34px}
.contact .primary{margin:auto}
footer{padding:35px 4vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#91a2b1;font-size:11px}
footer .brand{color:white}
footer .logoMark{width:42px;height:40px}

@media(max-width:980px){.navlinks{display:none}
.navCta{margin-left:auto}
.hero{grid-template-columns:1fr}
.heroImage{min-height:500px;order:-1}
.sectionIntro{grid-template-columns:1fr}
.serviceGrid{grid-template-columns:repeat(2,1fr)}
.serviceGrid article,.serviceGrid article:nth-child(3n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.serviceGrid article:nth-child(2n){border-right:0}
.serviceGrid article:last-child{border-right:0;border-bottom:0}
.government,.split,.about{grid-template-columns:1fr}
.utility{display:none}
nav{top:0}
.heroCopy{padding:60px 6vw}
.processGrid{grid-template-columns:1fr}
}

@media(max-width:620px){nav{height:76px}
.brand{gap:10px}
.brand strong{font-size:13px}
.logoMark{width:42px;height:40px}
.navCta{padding:12px 10px;font-size:8px}
.heroImage{min-height:340px}
.heroCopy{padding:45px 22px}
.hero{min-height:auto}
h1{font-size:55px}
.lede{font-size:16px}
.actions{align-items:flex-start;flex-direction:column;gap:22px}
.serviceGrid{grid-template-columns:1fr}
.serviceGrid article,.serviceGrid article:nth-child(2n),.serviceGrid article:nth-child(3n){border-right:0;border-bottom:1px solid var(--line)}
.serviceGrid article:last-child{border-bottom:0}
.capabilities,.process,.government,.split,.about{padding:70px 22px}
.sectors{grid-template-columns:1fr}
.processGrid{grid-template-columns:1fr}
.contact{padding:85px 22px}
footer{align-items:flex-start;gap:25px;flex-direction:column}
.sectionIntro{gap:18px}
}
