:root{--navy:#092743;--navy-deep:#061e35;--blue:#0b5f9b;--blue-mid:#1374aa;--cyan:#7bd3e6;--orange:#ef792d;--ink:#182c3f;--muted:#5c6f7e;--line:#dce6ec;--pale:#f3f7fa;--white:#fff;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;min-width:320px}
button,a{outline-offset:4px}
a{color:inherit;text-decoration:none}
button{font:inherit}
img,svg{display:block;max-width:100%}
.container{width:min(100% - 64px,1200px);margin-inline:auto}
.skip-link{position:absolute;z-index:100;top:-60px;left:16px;padding:10px 14px;background:#fff;color:var(--navy)}
.skip-link:focus{top:8px}
.site-header{position:relative;z-index:20;background:#d7e8f2;box-shadow:0 1px 0 rgba(11,48,78,.16)}
.header-inner{height:88px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.brand{display:flex;align-items:center;flex:none}
.brand img{width:172px;height:auto;mix-blend-mode:multiply}
.primary-nav{display:flex;align-items:center;gap:36px;color:#26445b;font-size:14px;font-weight:600;white-space:nowrap}
.primary-nav>a:not(.nav-contact){padding:12px 0;transition:color .2s}
.primary-nav>a:hover,.text-link:hover{color:var(--orange)}
.nav-contact{padding:14px 19px;background:var(--navy);color:#fff;transition:background .2s}
.nav-contact:hover{background:var(--blue)}
.nav-contact span{margin-left:18px;color:#85d6ea}
.menu-toggle{display:none}
.hero{position:relative;overflow:hidden;background:linear-gradient(112deg,#071e36 0%,#0a2c4d 57%,#0d3c61 100%);color:#fff}
.hero::before{content:"";position:absolute;width:560px;height:560px;left:-320px;bottom:-390px;border:1px solid rgba(121,205,225,.13);border-radius:50%;box-shadow:0 0 0 70px rgba(121,205,225,.025),0 0 0 140px rgba(121,205,225,.02)}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(112,183,215,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(112,183,215,.04) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000 65%)}
.hero-inner{position:relative;display:grid;grid-template-columns:1fr 1.02fr;align-items:center;gap:40px;min-height:614px;padding-block:60px 50px}
.hero-copy{padding-bottom:8px}
.eyebrow{display:flex;align-items:center;gap:13px;margin:0 0 24px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.eyebrow-light{color:#94d8e9}
.eyebrow-line{display:inline-block;width:28px;height:2px;background:var(--orange);flex:none}
.hero h1{font-size:clamp(36px,4.2vw,57px);line-height:1.26;letter-spacing:-.04em;margin:0 0 26px;font-weight:700}
.hero h1 em{font-style:normal;color:#9bdcea}
.hero-lead{max-width:525px;margin:0;color:#c4d8e5;font-size:17px;line-height:1.9}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:37px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:29px;min-height:52px;padding:0 21px;font-size:14px;font-weight:700;transition:transform .2s,background .2s,border-color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--orange);color:#fff}
.button-primary:hover{background:#db671d}
.button-outline{color:#fff;border:1px solid rgba(206,235,245,.4)}
.button-outline:hover{border-color:#9bdcea;background:rgba(255,255,255,.06)}
.hero-visual{position:relative;height:min(43vw,493px);min-height:410px;border:1px solid rgba(143,207,226,.2);background:radial-gradient(circle at 55% 46%,rgba(39,121,159,.28),transparent 54%),linear-gradient(135deg,rgba(11,65,100,.63),rgba(5,33,59,.77));box-shadow:0 28px 60px rgba(0,7,25,.19);overflow:hidden}
.hero-visual::before,.hero-visual::after{content:"";position:absolute;z-index:1;width:22px;height:22px;border-color:#90cfdf;opacity:.8}
.hero-visual::before{top:13px;left:13px;border-top:1px solid;border-left:1px solid}
.hero-visual::after{right:13px;bottom:13px;border-right:1px solid;border-bottom:1px solid}
.geo-art{width:100%;height:100%;object-fit:cover}
.visual-topline,.visual-bottomline{position:absolute;z-index:2;left:30px;right:30px;display:flex;justify-content:space-between;gap:14px;color:#9cc7d7;font-family:Arial,sans-serif;font-size:10px;letter-spacing:.15em}
.visual-topline{top:28px}.visual-bottomline{bottom:26px}
.hero-foot{position:relative;display:flex;align-items:center;gap:15px;height:58px;border-top:1px solid rgba(173,218,232,.16);color:#92b8cc;font-size:12px;letter-spacing:.16em}
.hero-foot-rule{height:1px;width:28px;background:var(--orange)}
.hero-foot a{margin-left:auto;color:#b9dce9;letter-spacing:.04em}
.hero-foot a span{margin-left:12px;color:#7fd7e9}
.intro-strip{background:#eaf3f8;border-bottom:1px solid #dceaf1}
.intro-strip-inner{display:flex;align-items:center;gap:32px;min-height:78px;font-size:14px;color:#527083}
.intro-strip-inner strong{color:var(--navy);font-size:16px}
.intro-strip-mark{margin-left:auto;font-size:11px;letter-spacing:.16em;color:#8da5b5}
.section{padding-block:112px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:43px}
.section-heading h2,.applications-intro h2,.about-copy h2,.contact-section h2{margin:0;color:var(--navy);font-size:clamp(31px,3.15vw,43px);line-height:1.37;letter-spacing:-.035em}
.section-heading>p{max-width:260px;margin:0 0 4px;color:var(--muted);font-size:15px;line-height:1.9}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.service-card{position:relative;min-height:414px;padding:30px 29px 31px;border:1px solid var(--line);background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card::before{content:"";position:absolute;top:-1px;left:29px;width:48px;height:3px;background:var(--orange)}
.service-card:hover{transform:translateY(-5px);border-color:#b3d2e2;box-shadow:0 20px 40px rgba(13,57,88,.09)}
.service-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:38px}
.service-number{font-family:Arial,sans-serif;color:#8ca4b2;font-size:11px;font-weight:700;letter-spacing:.13em}
.service-icon{display:grid;place-items:center;width:54px;height:54px;background:#edf6fa;color:var(--blue)}
.service-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.service-card h3{margin:0 0 13px;font-size:22px;color:var(--navy)}
.service-card p{min-height:66px;margin:0 0 24px;font-size:14px;line-height:1.85;color:var(--muted)}
.service-card ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 8px;margin:0;padding:22px 0 0;border-top:1px solid var(--line);list-style:none;font-size:13px;color:#33536a}
.service-card li::before{content:"";display:inline-block;width:5px;height:5px;margin:0 8px 2px 0;background:var(--orange)}
.applications-section{background:var(--pale)}
.applications-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:9%}
.applications-intro{position:relative;min-height:380px}
.applications-intro>p:not(.eyebrow){max-width:330px;margin:24px 0 0;color:var(--muted);line-height:1.9;font-size:15px}
.application-decor{position:absolute;bottom:0;left:0;width:170px;height:90px;display:flex;align-items:end;gap:10px}
.application-decor span{width:40px;border-top:3px solid #a9c9d8;background:linear-gradient(#dceaf0,transparent)}
.application-decor span:nth-child(1){height:34px}.application-decor span:nth-child(2){height:70px;border-color:var(--orange)}.application-decor span:nth-child(3){height:52px}
.application-list{border-top:1px solid #cfdfe8}
.application-item{display:grid;grid-template-columns:48px 1fr 26px;gap:22px;align-items:start;padding:35px 0 37px;border-bottom:1px solid #cfdfe8}
.application-index{padding-top:7px;color:var(--orange);font-family:Arial,sans-serif;font-size:12px;font-weight:700}
.application-item h3{margin:0 0 10px;color:var(--navy);font-size:22px}
.application-item p{margin:0;color:var(--muted);font-size:14px;line-height:1.8}
.application-arrow{padding-top:3px;color:var(--blue);font-size:22px}
.approach-section{background:#fff}
.approach-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.approach-step{min-height:206px;padding:30px 22px 28px 0;position:relative}
.approach-step:not(:last-child){border-right:1px solid var(--line);margin-right:22px}
.approach-step>span{display:block;color:var(--orange);font:700 13px Arial,sans-serif;letter-spacing:.1em;margin-bottom:40px}
.approach-step h3{margin:0 0 8px;color:var(--navy);font-size:18px}
.approach-step p{margin:0;color:var(--muted);font-size:13px;line-height:1.75}
.about-section{background:#eaf3f7}
.about-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%;align-items:center}
.about-symbol{position:relative;display:flex;align-items:center;justify-content:center;height:324px;background:linear-gradient(135deg,#0c416b,#082846);overflow:hidden;color:#fff}
.about-symbol>span{z-index:2;font:bold italic 174px Georgia,serif;line-height:1;color:rgba(255,255,255,.88);transform:translateY(-9px)}
.about-symbol>small{position:absolute;z-index:2;left:28px;bottom:25px;color:#93d4e2;font:700 10px/1.6 Arial,sans-serif;letter-spacing:.16em}
.about-orbit{position:absolute;border:1px solid rgba(157,215,232,.3);border-radius:50%;transform:rotate(-28deg)}
.about-orbit-one{width:390px;height:130px}.about-orbit-two{width:480px;height:240px}
.about-copy h2{margin-bottom:5px}
.about-company{margin:0 0 22px!important;color:var(--blue)!important;font-weight:700}
.about-copy>p:not(.eyebrow){max-width:580px;margin:0;color:#506b7b;font-size:15px;line-height:2}
.text-link{display:inline-flex;align-items:center;gap:35px;margin-top:30px;padding-bottom:10px;border-bottom:1px solid var(--blue);font-weight:700;color:var(--blue);font-size:14px;transition:color .2s}
.contact-section{position:relative;overflow:hidden;padding-block:84px;background:#082741;color:#fff}
.contact-section::after{content:"";position:absolute;right:-100px;top:-180px;width:550px;height:550px;border:1px solid rgba(152,215,230,.12);border-radius:50%;box-shadow:0 0 0 72px rgba(152,215,230,.035),0 0 0 150px rgba(152,215,230,.023)}
.contact-layout{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:80px}
.contact-section h2{color:#fff;margin-bottom:19px}
.contact-section p:not(.eyebrow){max-width:480px;color:#b6d2e1;line-height:1.85;font-size:15px;margin:0}
.contact-card{position:relative;min-height:154px;padding:29px;background:rgba(255,255,255,.07);border:1px solid rgba(178,219,232,.24)}
.contact-card>span:first-child{display:block;margin-bottom:15px;color:#91d7e9;font-size:12px;font-weight:700;letter-spacing:.15em}
.contact-card p{font-size:17px!important;color:#fff!important}
.contact-decoration{position:absolute;right:27px;bottom:23px;color:var(--orange);font-size:28px}
.site-footer{background:#061d32;color:#b5cbd9}
.footer-inner{display:flex;align-items:center;justify-content:space-between;min-height:110px;gap:30px}
.footer-inner strong{font-size:17px;color:#fff}
.footer-inner p{margin:8px 0 0;font-size:12px}
.footer-inner a{font-size:12px;white-space:nowrap}.footer-inner a:hover{color:#fff}
@media(max-width:1050px){.container{width:min(100% - 48px,1200px)}.primary-nav{gap:20px}.hero-inner{gap:20px}.hero h1{font-size:44px}.hero-lead{font-size:15px}.service-card{padding-inline:22px}.service-card ul{grid-template-columns:1fr}.service-card{min-height:445px}}
@media(max-width:760px){html{scroll-padding-top:70px}.container{width:min(100% - 36px,1200px)}.header-inner{height:70px}.brand img{width:140px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:9px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:var(--navy)}.primary-nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:12px 18px 20px;background:#fff;box-shadow:0 16px 24px rgba(6,36,62,.12)}.primary-nav.is-open{display:flex}.primary-nav>a:not(.nav-contact){padding:15px 8px;border-bottom:1px solid var(--line)}.nav-contact{margin-top:16px;text-align:center}.hero-inner{display:block;min-height:0;padding-block:64px 30px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(35px,7vw,48px)}.hero-lead{font-size:15px}.hero-visual{height:360px;min-height:0;margin-top:46px}.hero-foot{height:52px}.intro-strip-inner{gap:12px;flex-wrap:wrap;padding-block:17px;min-height:0}.intro-strip-inner strong{width:100%}.intro-strip-mark{display:none}.section{padding-block:76px}.section-heading{display:block;margin-bottom:31px}.section-heading>p{max-width:550px;margin-top:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:0}.service-card-head{margin-bottom:25px}.service-card p{min-height:0}.service-card ul{grid-template-columns:1fr 1fr}.applications-layout,.about-layout,.contact-layout{grid-template-columns:1fr;gap:34px}.applications-intro{min-height:0}.application-decor{display:none}.application-item{padding-block:27px}.approach-grid{grid-template-columns:1fr 1fr}.approach-step{min-height:175px}.approach-step:nth-child(2){border-right:0;margin-right:0}.approach-step:nth-child(-n+2){border-bottom:1px solid var(--line)}.about-symbol{height:250px}.contact-section{padding-block:70px}.contact-layout{gap:28px}}
@media(max-width:480px){.eyebrow{font-size:10px;letter-spacing:.1em}.hero h1{font-size:35px}.hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.button{gap:8px;padding-inline:13px;font-size:12px}.hero-visual{height:290px}.visual-topline,.visual-bottomline{left:16px;right:16px;font-size:8px}.visual-topline{top:18px}.visual-bottomline{bottom:18px}.hero-foot{font-size:10px}.section-heading h2,.applications-intro h2,.about-copy h2,.contact-section h2{font-size:30px}.service-card ul{grid-template-columns:1fr 1fr}.application-item{grid-template-columns:24px 1fr 18px;gap:13px}.application-item h3{font-size:19px}.approach-step{padding-right:10px}.approach-step:not(:last-child){margin-right:10px}.approach-step h3{font-size:16px}.about-symbol{height:215px}.about-symbol>span{font-size:140px}.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;gap:16px;padding-block:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
