:root{
  --navy:#08295b; --navy-2:#0d3d78; --blue:#20558c; --teal:#26aaa7;
  --accent:#36c5e8; --accent-2:#2588d8; --ink:#17243a; --muted:#64748b;
  --paper:#f6f8fc; --line:#e4eaf2; --white:#fff; --radius:20px;
  --shadow:0 18px 55px rgba(8,41,91,.10); --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#fff;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button,a{ -webkit-tap-highlight-color:transparent }
.container{width:min(var(--max),calc(100% - 44px));margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:10px;z-index:999}
.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(228,234,242,.8)}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;min-width:190px}
.brand img{width:58px;height:58px;object-fit:contain}
.brand-wordmark{font-size:1.06rem;font-weight:850;letter-spacing:-.04em;color:var(--navy);line-height:1.05}
.brand-wordmark span{display:block;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-top:5px}
.nav-links{display:flex;align-items:center;gap:26px;font-size:.92rem;font-weight:650;color:#34445c}
.nav-links a{transition:color .2s}
.nav-links a:hover,.nav-links a[aria-current="page"]{color:var(--accent-2)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:13px 20px;font-weight:750;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s}
.nav-cta,.btn-primary{background:linear-gradient(110deg,var(--accent-2),var(--accent));color:#fff;box-shadow:0 9px 24px rgba(37,136,216,.22)}
.btn-secondary{background:#fff;color:var(--navy);border:1px solid var(--line)}
.btn:hover,.nav-cta:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(8,41,91,.16)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:12px;width:46px;height:44px;color:var(--navy);font-size:1.25rem}
.hero{position:relative;overflow:hidden;padding:88px 0 82px;background:radial-gradient(circle at 85% 10%,rgba(38,170,167,.16),transparent 27%),radial-gradient(circle at 5% 80%,rgba(54,197,232,.10),transparent 24%),linear-gradient(135deg,#f8fbff,#fff 65%)}
.hero:after{content:"";position:absolute;right:-170px;top:80px;width:520px;height:520px;border:1px solid rgba(32,85,140,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(32,85,140,.025),0 0 0 110px rgba(32,85,140,.02);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;gap:9px;text-transform:uppercase;letter-spacing:.16em;font-size:.73rem;font-weight:850;color:var(--blue);margin:0 0 18px}
.eyebrow:before{content:"";width:26px;height:2px;background:var(--accent)}
h1,h2,h3{line-height:1.13;letter-spacing:-.045em;margin:0 0 18px}
h1{font-size:clamp(2.7rem,5vw,4.7rem);max-width:780px;color:var(--navy)}
h1 em{font-style:normal;color:var(--accent-2)}
h2{font-size:clamp(2rem,3.2vw,3rem);color:var(--navy)}
h3{font-size:1.28rem;color:var(--navy)}
.lead{font-size:1.13rem;line-height:1.8;color:#53647c;max-width:650px}
.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.hero-note{display:flex;align-items:center;gap:13px;margin-top:28px;color:var(--muted);font-size:.9rem}
.hero-note strong{color:var(--navy)}
.hero-art{position:relative;min-height:420px;display:grid;place-items:center}
.hero-logo{width:min(370px,78%);filter:drop-shadow(0 24px 35px rgba(8,41,91,.13));position:relative;z-index:2}
.orbit{position:absolute;width:350px;height:350px;border:1px solid rgba(32,85,140,.16);border-radius:50%}
.orbit:before,.orbit:after{content:"";position:absolute;border:1px dashed rgba(38,170,167,.28);border-radius:50%;inset:30px}
.orbit:after{inset:65px}
.floating-card{position:absolute;z-index:3;background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px 17px;box-shadow:var(--shadow);font-size:.84rem;font-weight:750;color:var(--navy)}
.floating-card small{display:block;color:var(--muted);font-weight:550;font-size:.72rem}
.card-one{top:48px;left:0}.card-two{right:-3px;bottom:58px}
.section{padding:88px 0}
.section-soft{background:var(--paper)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:36px}
.section-head p{max-width:530px;color:var(--muted);margin:0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.service-card,.content-card,.product-card{padding:28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);transition:transform .25s,box-shadow .25s,border-color .25s}
.service-card:hover,.product-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#c9d7e8}
.icon-box{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(140deg,#e8f7f6,#edf3ff);color:var(--blue);font-size:1.45rem;margin-bottom:22px}
.service-card p,.product-card p,.content-card p{color:var(--muted);margin:0 0 20px}
.text-link{color:var(--blue);font-weight:800;display:inline-flex;gap:8px;align-items:center}
.text-link:hover{color:var(--accent-2)}
.tag{display:inline-block;background:#eef5fb;color:var(--blue);font-size:.73rem;font-weight:800;padding:6px 10px;border-radius:99px;margin:0 5px 8px 0}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.stat{border-left:2px solid var(--accent);padding:4px 0 4px 18px}
.stat strong{display:block;color:var(--navy);font-size:1.7rem;letter-spacing:-.04em}
.stat span{font-size:.86rem;color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.visual-panel{min-height:380px;border-radius:28px;padding:30px;background:linear-gradient(145deg,var(--navy),#164b83);color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.visual-panel:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-120px;top:-90px;box-shadow:0 0 0 42px rgba(255,255,255,.04),0 0 0 84px rgba(255,255,255,.03)}
.visual-panel>*{position:relative;z-index:1}
.visual-panel h3{color:#fff;font-size:2rem;max-width:330px}
.visual-panel p{color:#d5e2f3;max-width:360px}
.pill-row{display:flex;flex-wrap:wrap;gap:9px}
.pill-row span{border:1px solid rgba(255,255,255,.25);border-radius:99px;padding:8px 12px;font-size:.78rem}
.check-list{list-style:none;padding:0;margin:25px 0}
.check-list li{position:relative;padding:0 0 0 31px;margin:13px 0;color:#465872}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:900}
.cta-band{background:linear-gradient(110deg,#09295b,#164b83);border-radius:28px;padding:44px 48px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:30px;position:relative;overflow:hidden}
.cta-band:after{content:"";position:absolute;right:15%;top:-110px;width:260px;height:260px;border:1px solid rgba(255,255,255,.15);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.03)}
.cta-band h2{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);max-width:650px;margin-bottom:10px}
.cta-band p{color:#d2deed;margin:0}
.cta-band>*{position:relative;z-index:1}
.page-hero{padding:72px 0 62px;background:radial-gradient(circle at 90% 20%,rgba(38,170,167,.14),transparent 26%),linear-gradient(135deg,#f7faff,#fff)}
.page-hero h1{font-size:clamp(2.5rem,4.5vw,4rem)}
.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:22px}
.breadcrumb a{color:var(--blue);font-weight:700}
.kicker{color:var(--accent-2);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:.74rem}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:steps}
.process-step{padding:23px;border-top:2px solid var(--teal);background:#fff;border-radius:0 0 15px 15px}
.process-step:before{counter-increment:steps;content:"0" counter(steps);display:block;font-size:1.7rem;font-weight:900;color:#b9c8dc;margin-bottom:20px}
.process-step p{color:var(--muted);font-size:.92rem}
.form-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:44px;align-items:start}
.contact-details{background:var(--navy);color:#fff;padding:32px;border-radius:22px}
.contact-details h3{color:#fff}.contact-details p{color:#d1ddec}
.contact-item{padding:17px 0;border-top:1px solid rgba(255,255,255,.18)}
.contact-item span{display:block;color:#b8cbe2;font-size:.8rem;margin-bottom:3px}
.contact-form{padding:32px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:17px}
.field label{display:block;font-size:.85rem;font-weight:750;color:var(--navy);margin-bottom:7px}
.field input,.field textarea,.field select{width:100%;padding:13px 14px;border:1px solid #d8e1ed;border-radius:11px;background:#fbfcfe;outline:none}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(38,170,167,.12)}
.field textarea{min-height:130px;resize:vertical}
.form-note{font-size:.8rem;color:var(--muted)}
.faq-list details{padding:20px 0;border-bottom:1px solid var(--line)}
.faq-list summary{font-weight:800;color:var(--navy);cursor:pointer}
.faq-list details p{color:var(--muted);margin-bottom:0}
.site-footer{background:#071d40;color:#d4deeb;padding:58px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1fr;gap:36px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:17px}
.footer-brand img{width:52px;height:52px;object-fit:contain;background:#fff;border-radius:12px;padding:4px}
.footer-brand strong{font-size:1.05rem;color:#fff}
.footer-brand small{display:block;font-size:.68rem;letter-spacing:.12em;color:#9fb2ca}
.site-footer p{color:#aebed2;font-size:.88rem}
.site-footer h4{color:#fff;margin:4px 0 18px}
.footer-links{display:grid;gap:10px;font-size:.88rem;color:#c1cddd}
.footer-links a:hover{color:#66d9f0}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:42px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:.78rem;color:#91a6c1}
.notice{padding:14px 16px;border-radius:12px;background:#fff7e9;border:1px solid #ffe2b3;color:#79511b;font-size:.88rem}
.empty-state{padding:30px;border:1px dashed #c9d6e5;border-radius:18px;color:var(--muted);background:#fbfdff}
@media(max-width:980px){
 .nav-links{gap:16px}.nav-links a{font-size:.86rem}.nav-cta{display:none}
 .hero-grid{gap:25px}.hero-art{min-height:340px}.orbit{width:290px;height:290px}
 .grid-3{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}
 .process-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:740px){
 .container{width:min(var(--max),calc(100% - 32px))}
 .nav-wrap{height:72px}.brand img{width:48px;height:48px}.menu-toggle{display:block}
 .nav-links{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 22px 24px;border-bottom:1px solid var(--line);box-shadow:0 20px 25px rgba(8,41,91,.08);flex-direction:column;align-items:stretch;gap:0}
 .nav-links.open{display:flex}.nav-links a{padding:12px 4px;border-bottom:1px solid #eef2f7;font-size:.96rem}
 .hero{padding:58px 0 52px}.hero-grid,.split,.form-layout{grid-template-columns:1fr}
 .hero-art{min-height:300px;order:-1}.hero-logo{width:235px}.orbit{width:260px;height:260px}
 .card-one{left:3px;top:28px}.card-two{right:0;bottom:24px}
 .section{padding:62px 0}.section-head{display:block}.section-head p{margin-top:15px}
 .grid-3,.grid-2{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}
 .cta-band{padding:30px 25px;display:block}.cta-band .btn{margin-top:22px}
 .page-hero{padding:52px 0 42px}.process-grid{grid-template-columns:1fr 1fr}
 .form-row{grid-template-columns:1fr;gap:0}.contact-form,.contact-details{padding:23px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}
 .footer-bottom{display:block}.footer-bottom span{display:block;margin-top:7px}
}
@media(max-width:420px){.process-grid,.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.hero-actions .btn{width:100%}}
