:root{
  --navy:#061b39;--navy-2:#082954;--blue:#0c438a;--cyan:#12d7cf;--cyan-2:#08aaa9;
  --ice:#effbff;--white:#fff;--ink:#0b213d;--muted:#627289;--line:#cfe0ea;
  --shadow:0 24px 70px rgba(5,29,61,.14);--radius:26px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f8fcfe;color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.025;background-image:linear-gradient(rgba(7,34,69,.8) 1px,transparent 1px),linear-gradient(90deg,rgba(7,34,69,.8) 1px,transparent 1px);background-size:42px 42px;z-index:20}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ambient{position:absolute;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.28}
.ambient-one{width:470px;height:470px;background:#1ee9dd;right:-220px;top:100px}
.ambient-two{width:340px;height:340px;background:#5992ff;left:-220px;top:720px}

.site-header{height:94px;max-width:1240px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:50}
.brand{width:168px;height:66px;display:flex;align-items:center}
.brand img{width:100%;height:100%;object-fit:contain}
.main-nav{display:flex;align-items:center;gap:34px;font-size:.91rem;font-weight:700;color:#29445f}
.main-nav>a:not(.nav-cta){position:relative}
.main-nav>a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--cyan-2);transition:.25s}
.main-nav>a:hover::after{width:100%}
.nav-cta{padding:12px 20px;border:1px solid rgba(7,48,94,.22);border-radius:999px;background:#fff;box-shadow:0 8px 24px rgba(6,27,57,.07)}
.menu-button{display:none;border:0;background:transparent;padding:10px;cursor:pointer}
.menu-button span:not(.sr-only){display:block;width:24px;height:2px;background:var(--navy);margin:5px}

.hero{max-width:1240px;min-height:690px;margin:0 auto;padding:70px 24px 90px;display:grid;grid-template-columns:1.06fr .94fr;gap:40px;align-items:center;position:relative;z-index:2}
.eyebrow{margin:0 0 18px;display:flex;align-items:center;gap:10px;color:#1f6683;font-size:.78rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow span{width:30px;height:2px;background:var(--cyan-2)}
.hero h1,.section h2{font-family:Sora,Manrope,sans-serif;letter-spacing:-.045em;line-height:1.08}
.hero h1{max-width:690px;margin:0;font-size:clamp(3rem,5.4vw,5.15rem);font-weight:700}
.hero h1 em{color:var(--cyan-2);font-style:normal}
.hero-text{max-width:620px;margin:26px 0 32px;color:var(--muted);font-size:1.08rem}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{min-height:52px;padding:0 24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:16px;font-size:.92rem;font-weight:800;transition:transform .25s,box-shadow .25s,background .25s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:linear-gradient(135deg,var(--navy-2),var(--blue));color:#fff;box-shadow:0 16px 35px rgba(8,49,102,.24)}
.button-primary span,.button-light span{font-size:1.15rem}
.button-ghost{border:1px solid var(--line);background:rgba(255,255,255,.6)}
.hero-tags{display:flex;list-style:none;padding:0;margin:42px 0 0;gap:10px;flex-wrap:wrap}
.hero-tags li{border:1px solid #d6e5ed;border-radius:999px;padding:6px 12px;color:#52677c;font-size:.76rem;font-weight:700;background:rgba(255,255,255,.55)}

.hero-visual{min-height:520px;display:grid;place-items:center;position:relative}
.logo-stage{width:min(470px,90vw);aspect-ratio:1/1;position:relative;display:grid;place-items:center;border:1px solid rgba(15,205,199,.25);border-radius:50%;background:radial-gradient(circle at 52% 48%,rgba(255,255,255,.98) 0 28%,rgba(227,249,252,.9) 54%,rgba(255,255,255,.08) 70%);box-shadow:0 42px 100px rgba(5,45,90,.18)}
.logo-stage::before{content:"";position:absolute;inset:15%;border:1px dashed rgba(6,69,137,.18);border-radius:50%}
.logo-stage img{width:71%;position:relative;z-index:3;filter:drop-shadow(0 20px 23px rgba(4,41,86,.15))}
.stage-grid{position:absolute;inset:11%;border-radius:50%;opacity:.16;background-image:linear-gradient(#0b5991 1px,transparent 1px),linear-gradient(90deg,#0b5991 1px,transparent 1px);background-size:25px 25px;mask-image:radial-gradient(circle,#000 30%,transparent 72%)}
.orbit{position:absolute;border:1px solid rgba(7,59,121,.13);border-radius:50%}
.orbit-one{width:530px;height:530px}
.orbit-two{width:610px;height:350px;transform:rotate(-15deg)}
.pulse{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 8px rgba(18,215,207,.12),0 0 30px #12d7cf}
.pulse-a{right:10%;top:25%}.pulse-b{left:11%;bottom:26%}
.tech-label{position:absolute;color:#3c647e;font:700 .61rem/1 Sora,sans-serif;letter-spacing:.2em;background:#f8fcfe;padding:7px 9px;border:1px solid #d5e8ef;border-radius:5px}
.label-a{left:-2%;top:31%}.label-b{right:-5%;bottom:28%}.label-c{left:22%;bottom:2%}

.signal{max-width:1192px;margin:0 auto 110px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--navy);color:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);position:relative;z-index:3}
.signal>div{padding:24px 30px;display:flex;align-items:center;gap:16px;border-right:1px solid rgba(255,255,255,.12)}
.signal>div:last-child{border:0}.signal strong{color:var(--cyan);font:600 1rem Sora}.signal span{font-size:.89rem;font-weight:700}

.section{max-width:1192px;margin:0 auto;padding:110px 0}
.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:70px;align-items:end;margin-bottom:46px}
.section h2{margin:0;font-size:clamp(2.35rem,4vw,4rem)}
.section-heading>p,.method-intro>p,.about-copy>p{color:var(--muted);margin:0;font-size:1rem}
.service-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.service-card{grid-column:span 2;min-height:365px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #dce9ef;border-radius:var(--radius);position:relative;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}
.service-card:hover{transform:translateY(-7px);border-color:rgba(15,190,187,.48);box-shadow:var(--shadow)}
.service-card.featured{grid-column:span 3;background:linear-gradient(145deg,#062147,#0c4488);color:#fff;border:0}
.service-card:nth-child(2){grid-column:span 3}
.service-card.wide{grid-column:span 3}
.service-card:nth-child(4){grid-column:span 3}
.service-top{display:flex;align-items:center;justify-content:space-between}
.service-top svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;color:var(--cyan-2)}
.featured .service-top svg{color:var(--cyan)}
.service-number{font:600 .72rem Sora;letter-spacing:.15em;color:#7390a4}
.featured .service-number{color:#70dcd8}
.service-code{margin:0 0 8px;color:#18898c;font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.featured .service-code{color:#67e4df}
.service-card h3{font:600 1.45rem/1.25 Sora;margin:0 0 13px;letter-spacing:-.025em}
.service-card>div:last-of-type>p{margin:0;color:#64778a;font-size:.91rem}
.featured>div:last-of-type>p{color:#c8d9e7}
.product-tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;margin:18px 0 0;padding:0}
.product-tags li{padding:5px 9px;border:1px solid #d5e7ed;border-radius:999px;color:#397080;background:#f4fbfc;font-size:.69rem;font-weight:800}
.card-line{position:absolute;bottom:0;left:28px;right:28px;height:3px;background:linear-gradient(90deg,var(--cyan),transparent);transform:scaleX(0);transform-origin:left;transition:.3s}
.service-card:hover .card-line{transform:scaleX(1)}

.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px;align-items:start}
.method-intro{position:sticky;top:120px}
.method-intro>p:last-child{margin-top:24px;max-width:470px}
.steps{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.steps li{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:34px 0;border-bottom:1px solid var(--line)}
.steps>li>span{font:600 .78rem Sora;color:var(--cyan-2);letter-spacing:.13em}
.steps h3{font:600 1.4rem Sora;margin:-5px 0 8px}
.steps p{margin:0;color:var(--muted)}

.about{padding-top:70px}
.about-panel{min-height:480px;padding:70px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:center;background:linear-gradient(135deg,#eefbfc,#f6fbff);border:1px solid #d8e9ef;border-radius:34px;overflow:hidden;position:relative}
.about-panel::after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-100px;top:-120px;border:46px solid rgba(17,208,201,.1)}
.about-mark{font:700 clamp(9rem,20vw,17rem)/1 Sora;color:transparent;-webkit-text-stroke:1px rgba(5,53,107,.18);text-align:center;transform:skewX(-8deg)}
.about-copy{position:relative;z-index:2}
.about-copy h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:25px}
.about-meta{display:flex;gap:55px;margin-top:38px}
.about-meta span{font-weight:700}.about-meta small{display:block;margin-bottom:3px;color:#658095;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}

.contact{max-width:1192px;margin-bottom:90px;padding:65px 70px;display:flex;align-items:center;justify-content:space-between;gap:50px;background:linear-gradient(120deg,#061b39,#0b3b76);color:#fff;border-radius:32px;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;width:300px;height:300px;border:1px solid rgba(21,221,212,.3);border-radius:50%;right:-130px;bottom:-170px;box-shadow:0 0 0 45px rgba(20,218,210,.05)}
.contact .eyebrow{color:#7fe9e4}.contact h2{font-size:clamp(2rem,3.5vw,3.5rem);max-width:650px}
.contact-copy{position:relative;z-index:2}.contact-details{display:flex;gap:34px;flex-wrap:wrap;margin-top:30px}.contact-details p{margin:0;color:#fff;font-size:.88rem;font-weight:700}.contact-details small{display:block;color:#83b7ce;font-size:.64rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px}
.button-light{background:#fff;color:var(--navy);position:relative;z-index:2;white-space:nowrap}
footer{max-width:1192px;margin:0 auto;padding:30px 0 50px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;color:#6c8092;font-size:.76rem}
.footer-brand{width:135px;height:52px}
footer p:nth-child(2){text-align:center}footer p:last-child{text-align:right}

@media(max-width:1000px){
  .hero{grid-template-columns:1fr;padding-top:45px}.hero-copy{text-align:center}.eyebrow,.hero-actions,.hero-tags{justify-content:center}.hero-text{margin-left:auto;margin-right:auto}.hero-visual{min-height:430px}
  .section,.signal,.contact,footer{margin-left:24px;margin-right:24px}.section-heading{grid-template-columns:1fr;gap:24px}.service-card,.service-card.featured,.service-card:nth-child(2),.service-card:nth-child(4),.service-card.wide{grid-column:span 3}
  .method{grid-template-columns:1fr;gap:50px}.method-intro{position:static}.about-panel{padding:50px;grid-template-columns:.55fr 1.45fr}
}
@media(max-width:760px){
  .site-header{height:78px}.brand{width:136px;height:56px}.menu-button{display:block;z-index:3}
  .main-nav{position:absolute;top:70px;left:16px;right:16px;padding:22px;display:none;flex-direction:column;align-items:stretch;gap:18px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow)}
  .main-nav.open{display:flex}.nav-cta{text-align:center}
  .hero{min-height:0;padding:55px 20px 70px}.hero h1{font-size:clamp(2.7rem,13vw,4rem)}.hero-visual{min-height:360px}.logo-stage{width:min(350px,86vw)}.orbit-one{width:390px;height:390px}.orbit-two{width:430px;height:270px}.tech-label{font-size:.52rem}.label-a{left:1%}.label-b{right:0}
  .signal{grid-template-columns:1fr;margin-bottom:60px}.signal>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:18px 24px}
  .section{padding:72px 0}.section h2{font-size:clamp(2.1rem,9.5vw,3rem)}.section-heading{margin-bottom:32px}
  .service-grid{display:block}.service-card{min-height:315px;margin-bottom:14px}
  .about-panel{padding:40px 26px;grid-template-columns:1fr}.about-mark{display:none}.about-meta{gap:30px;flex-direction:column}
  .contact{padding:46px 26px;flex-direction:column;align-items:flex-start;margin-bottom:55px}.button-light{white-space:normal;text-align:left}
  footer{grid-template-columns:1fr;gap:14px;text-align:center}.footer-brand{margin:auto}footer p:nth-child(2),footer p:last-child{text-align:center;margin:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service-card,.button,.card-line{transition:none}}
