:root {
  --purple-950: #17133f;
  --purple-900: #211b54;
  --purple-800: #2c2467;
  --purple-700: #3a2e7a;
  --purple-600: #4a3a91;
  --orange-500: #ff681c;
  --orange-400: #ff813f;
  --ink: #17182a;
  --muted: #666b7d;
  --line: #e6e7ee;
  --surface: #ffffff;
  --surface-soft: #f5f6f9;
  --surface-purple: #f0eef9;
  --shadow: 0 16px 40px rgba(29, 24, 73, .11);
  --radius-lg: 28px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: #fff;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
button { cursor: pointer; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.section { padding: 104px 0; }
.section-pad { padding: 84px 0 70px; }
.section-light { background: var(--surface-soft); }
.skip-link { position: absolute; left: -9999px; top: auto; }
.skip-link:focus { left: 16px; top: 12px; z-index: 1000; background: #fff; padding: 10px 14px; border-radius: 8px; box-shadow: var(--shadow); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(230,231,238,.8);
  backdrop-filter: blur(14px);
}
.nav-wrap { min-height: 86px; display: flex; align-items: center; gap: 28px; }
.brand { width: 146px; flex: 0 0 auto; }
.brand img { width: 100%; height: 58px; object-fit: contain; object-position: left center; }
.nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.nav a { font-size: 14px; font-weight: 700; color: #232438; position: relative; }
.nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -9px; height: 2px; background: var(--orange-500); transition: right .25s ease; }
.nav a:hover::after, .nav a:focus-visible::after { right: 0; }
.nav-cta { flex: 0 0 auto; }
.menu-toggle { display: none; border: 0; background: transparent; padding: 8px; }
.menu-toggle span { width: 24px; height: 2px; background: var(--purple-900); display: block; margin: 5px 0; border-radius: 2px; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 11px;
  padding: 14px 19px;
  font-weight: 800;
  font-size: 14px;
  border: 1px solid transparent;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { color: #fff; background: linear-gradient(135deg, var(--orange-500), #ff7a28); box-shadow: 0 10px 24px rgba(255,104,28,.24); }
.btn-primary:hover { box-shadow: 0 14px 30px rgba(255,104,28,.32); }
.btn-secondary { color: var(--purple-900); border-color: #bbb8ce; background: rgba(255,255,255,.65); }
.btn-secondary:hover { border-color: var(--purple-700); background: #fff; }
.btn-light { color: var(--purple-900); background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.16); }

.hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 70% 42%, rgba(255,104,28,.15), transparent 23%),
    radial-gradient(circle at 88% 20%, rgba(58,46,122,.12), transparent 22%),
    linear-gradient(135deg, #f7f8fb 0%, #eef0f5 60%, #f7f4f1 100%);
}
.hero::after { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .33; background-image: linear-gradient(rgba(58,46,122,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(58,46,122,.07) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, transparent, black 70%); }
.hero-grid { min-height: 560px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 56px; position: relative; z-index: 1; }
.eyebrow { margin: 0 0 13px; text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 900; color: var(--orange-500); }
.hero h1 { margin: 0; max-width: 720px; color: var(--purple-950); font-size: clamp(48px, 6.1vw, 76px); line-height: .96; letter-spacing: -.052em; }
.hero-lead { max-width: 675px; margin: 25px 0 0; font-size: 18px; color: #414457; }
.hero-actions { margin-top: 30px; display: flex; gap: 12px; flex-wrap: wrap; }
.micro-trust { display: flex; gap: 22px; flex-wrap: wrap; margin-top: 26px; font-size: 13px; font-weight: 700; color: #4e5262; }
.micro-trust span { display: inline-flex; align-items: center; gap: 7px; }
.micro-trust i { font-style: normal; color: var(--orange-500); border: 1px solid rgba(255,104,28,.45); width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; font-size: 11px; }

.hero-visual { position: relative; height: 490px; min-width: 0; }
.visual-orbit { position: absolute; border: 1px solid rgba(58,46,122,.16); border-radius: 50%; }
.orbit-one { width: 390px; height: 390px; top: 42px; left: 50%; transform: translateX(-50%); }
.orbit-two { width: 300px; height: 300px; top: 88px; left: 50%; transform: translateX(-50%); border-style: dashed; }
.device-card { position: absolute; top: 54px; left: 50%; width: 226px; height: 340px; transform: translateX(-50%) rotate(13deg); filter: drop-shadow(0 28px 25px rgba(30,25,74,.24)); }
.device-top { height: 180px; border-radius: 54px 54px 45px 45px; background: linear-gradient(150deg,#fdfdfd 0%,#d9dce4 46%,#b9bdc9 100%); border: 6px solid #f9fafb; position: relative; box-shadow: inset -11px -15px 20px rgba(61,64,88,.18), inset 8px 8px 12px rgba(255,255,255,.95); z-index: 4; }
.device-top::after { content: ""; position: absolute; inset: 18px; border-radius: 38px; background: linear-gradient(145deg, #16182b, #292b44); box-shadow: inset 0 0 0 2px #393c57; }
.device-pill { position: absolute; z-index: 3; left: 50%; transform: translateX(-50%); top: 20px; width: 48px; height: 9px; border-radius: 99px; background: #e7e9ed; }
.device-screen { position: absolute; z-index: 3; left: 42px; top: 58px; width: 110px; height: 78px; padding: 8px 14px; color: #fff; border-radius: 12px; background: linear-gradient(145deg, #5e579f, #4b438d); transform: rotate(-1deg); display: flex; align-items: center; gap: 8px; }
.device-screen b { font-size: 34px; line-height: 1; }.device-screen small { font-size: 11px; opacity: .85; }
.device-joint { position: absolute; z-index: 5; width: 65px; height: 65px; right: -15px; top: 139px; border-radius: 50%; background: linear-gradient(145deg,#c7cad3,#8e94a5); border: 4px solid #e7e9ed; }
.device-lower { position: absolute; z-index: 2; top: 155px; left: 13px; width: 200px; height: 165px; border-radius: 35px 35px 55px 55px; background: linear-gradient(165deg, var(--purple-600) 0 36%, var(--orange-500) 36% 46%, #c9cbd4 46% 62%, #2f3150 62%); border: 5px solid #eef0f4; box-shadow: inset 0 -9px 20px rgba(0,0,0,.15); }
.device-lower::after { content: ""; position: absolute; left: 24px; top: 25px; width: 125px; height: 45px; border-radius: 0 0 28px 28px; background: #111425; box-shadow: inset 0 10px 0 #242740; }
.floating-chip { position: absolute; z-index: 8; background: rgba(255,255,255,.86); backdrop-filter: blur(12px); box-shadow: var(--shadow); border: 1px solid rgba(255,255,255,.9); padding: 13px 16px; border-radius: 14px; min-width: 165px; }
.floating-chip strong, .floating-chip span { display: block; }.floating-chip strong { font-size: 13px; color: var(--purple-900); }.floating-chip span { margin-top: 2px; font-size: 11px; color: var(--muted); }
.chip-a { left: 2px; top: 88px; }.chip-b { right: 0; bottom: 78px; }

.trust-band { position: relative; z-index: 5; margin-top: -20px; }
.trust-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.trust-grid article { display: flex; align-items: flex-start; gap: 15px; background: rgba(255,255,255,.96); border: 1px solid #ededf2; padding: 19px 20px; border-radius: 15px; box-shadow: 0 12px 30px rgba(34,28,83,.09); }
.icon-box { width: 40px; height: 40px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; background: var(--orange-500); border-radius: 11px; font-weight: 900; }
.trust-grid h2 { margin: 0 0 2px; font-size: 15px; color: var(--purple-950); }.trust-grid p { margin: 0; font-size: 12px; color: var(--muted); line-height: 1.35; }

.section-heading { max-width: 760px; margin-bottom: 38px; }
.section-heading h2, .about-copy h2, .quality-copy h2, .global-copy h2, .contact-copy h2 { margin: 0; color: var(--purple-950); font-size: clamp(36px, 4vw, 54px); line-height: 1.02; letter-spacing: -.04em; }
.section-heading > p:last-child { max-width: 680px; color: var(--muted); font-size: 17px; }
.category-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.category-card { min-height: 170px; display: flex; gap: 18px; padding: 24px; background: #fff; border: 1px solid #e9eaf0; border-radius: var(--radius-md); box-shadow: 0 8px 24px rgba(38,35,71,.05); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.category-card:hover { transform: translateY(-4px); border-color: #d8d3ea; box-shadow: 0 16px 34px rgba(38,35,71,.10); }
.category-icon { width: 52px; height: 52px; border-radius: 14px; flex: 0 0 auto; display: grid; place-items: center; background: #fff0e5; color: #e95f17; }
.category-icon svg { width: 31px; height: 31px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.category-card h3 { margin: 3px 0 8px; font-size: 18px; color: var(--purple-950); }.category-card p { margin: 0; color: var(--muted); font-size: 14px; }
.category-card-accent { background: linear-gradient(145deg, var(--purple-800), var(--purple-700)); border-color: transparent; }.category-card-accent .category-icon { background: rgba(255,255,255,.13); color: #ffad7c; }.category-card-accent h3 { color: #fff; }.category-card-accent p { color: #dedbea; }

.about { overflow: hidden; }
.about-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 84px; align-items: center; }
.about-copy p:not(.eyebrow) { color: var(--muted); font-size: 16px; }.about-copy h2 { margin-bottom: 24px; }.text-link { display: inline-flex; gap: 9px; margin-top: 8px; color: var(--purple-700); font-weight: 850; }
.about-media { height: 480px; position: relative; }
.about-panel { position: absolute; border-radius: 28px; box-shadow: var(--shadow); }
.panel-main { inset: 22px 62px 42px 0; padding: 42px; color: #fff; background: linear-gradient(145deg, var(--purple-950), var(--purple-700)); overflow: hidden; }
.panel-main::after { content:""; position:absolute; width:260px; height:260px; border-radius:50%; right:-70px; bottom:-60px; border:42px solid rgba(255,255,255,.08); }
.panel-main::before { content:""; position:absolute; width:140px; height:140px; border-radius:50%; right:74px; bottom:46px; border:1px solid rgba(255,255,255,.18); }
.panel-label { display:inline-block; padding:7px 10px; border:1px solid rgba(255,255,255,.22); border-radius:99px; font-size:11px; letter-spacing:.12em; font-weight:800; }.panel-main strong { position:absolute; left:42px; bottom:48px; z-index:2; font-size:34px; line-height:1.05; }
.panel-small { right: 0; top: 0; width: 175px; padding: 26px; background: #fff; border: 1px solid #e8e8ef; }.panel-small span { display:block; font-size:36px; line-height:1; color: var(--orange-500); font-weight:900; }.panel-small small { display:block; margin-top:8px; color: var(--muted); font-weight:700; }
.about-line { position:absolute; right:20px; bottom:0; width:180px; height:180px; border-right:1px solid #dddbe8; border-bottom:1px solid #dddbe8; border-radius:0 0 80px 0; }

.quality-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 86px; align-items: start; }.quality-copy { position: sticky; top: 130px; }.quality-copy p:last-child { color: var(--muted); font-size:16px; max-width:510px; }
.quality-list { border-top: 1px solid #dfe0e7; }.quality-item { display:grid; grid-template-columns:72px 1fr; gap:18px; padding:29px 0; border-bottom:1px solid #dfe0e7; }.quality-item > span { color: var(--orange-500); font-weight:900; letter-spacing:.08em; }.quality-item h3 { margin:0 0 7px; color:var(--purple-950); font-size:20px; }.quality-item p { margin:0; color:var(--muted); }

.global { color:#fff; background: radial-gradient(circle at 86% 50%, rgba(255,104,28,.27), transparent 26%), linear-gradient(125deg, var(--purple-950), #2f256f 58%, #3b2e7c); overflow:hidden; }.global-grid { min-height: 430px; display:grid; grid-template-columns:.86fr 1.14fr; gap:60px; align-items:center; }.eyebrow-light { color:#ff9b65; }.global-copy h2 { color:#fff; }.global-copy p { color:#d8d5e8; font-size:17px; max-width:560px; margin:22px 0 28px; }
.route-map { height:340px; position:relative; border:1px solid rgba(255,255,255,.11); border-radius:26px; background:rgba(255,255,255,.035); overflow:hidden; }.world-lines { position:absolute; inset:0; width:100%; height:100%; }.world-lines path { fill:none; stroke:rgba(255,255,255,.12); stroke-width:1.2; stroke-dasharray:4 8; }.map-dot { position:absolute; width:12px; height:12px; border-radius:50%; background:#fff; box-shadow:0 0 0 7px rgba(255,255,255,.08); z-index:3; }.dot-ec { left:31%; top:58%; background:var(--orange-500); box-shadow:0 0 0 8px rgba(255,104,28,.15); }.dot-ec b { position:absolute; left:18px; top:-6px; white-space:nowrap; font-size:12px; }.dot-na{left:18%;top:27%}.dot-eu{left:58%;top:27%}.dot-as{right:18%;top:34%}.route { position:absolute; height:2px; transform-origin:left center; border-top:1px dashed rgba(255,160,110,.65); z-index:2; }.route-a{left:32%;top:59%;width:180px;transform:rotate(-31deg)}.route-b{left:32%;top:59%;width:275px;transform:rotate(-17deg)}.route-c{left:32%;top:59%;width:125px;transform:rotate(-116deg)}

.contact-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:82px; align-items:start; }.contact-copy p:not(.eyebrow) { color:var(--muted); font-size:16px; max-width:520px; }.contact-facts { margin-top:36px; display:grid; gap:14px; }.contact-facts > * { display:flex; flex-direction:column; padding:14px 0; border-bottom:1px solid var(--line); }.contact-facts span { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; }.contact-facts strong { margin-top:4px; color:var(--purple-900); font-size:17px; }
.contact-form { padding:30px; border:1px solid #e5e6ed; border-radius:24px; background:#fff; box-shadow:var(--shadow); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.contact-form label { display:block; margin-bottom:15px; color:#393b4c; font-size:13px; font-weight:800; }.contact-form input,.contact-form textarea { width:100%; margin-top:7px; border:1px solid #d9dbe4; background:#fafbfc; border-radius:10px; padding:12px 13px; color:var(--ink); outline:none; transition:border .2s, box-shadow .2s; }.contact-form input:focus,.contact-form textarea:focus { border-color:#8f86b9; box-shadow:0 0 0 3px rgba(58,46,122,.09); }.contact-form textarea { resize:vertical; }.form-note { margin:13px 0 0; color:#8a8d99; font-size:11px; }

.site-footer { padding:58px 0 22px; background:var(--purple-950); color:#fff; }.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1.2fr; gap:52px; }.footer-brand img { width:180px; height:86px; object-fit:contain; object-position:left center; filter:brightness(0) invert(1); opacity:.96; }.footer-brand p { color:#c9c7d7; max-width:330px; font-size:13px; }.footer-grid h2 { font-size:13px; margin:4px 0 15px; color:#fff; }.footer-grid > div:not(.footer-brand) { display:flex; flex-direction:column; gap:8px; }.footer-grid a,.footer-grid span { color:#c9c7d7; font-size:13px; }.footer-grid a:hover { color:#fff; }.footer-bottom { margin-top:46px; padding-top:19px; border-top:1px solid rgba(255,255,255,.11); display:flex; justify-content:space-between; gap:20px; color:#aaa7c1; font-size:12px; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease; }.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 980px) {
  .nav { position:absolute; left:20px; right:20px; top:78px; display:none; flex-direction:column; align-items:stretch; gap:0; padding:12px; background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:var(--shadow); }.nav.is-open{display:flex}.nav a{padding:12px 10px}.nav a::after{display:none}.menu-toggle{display:block;margin-left:auto}.nav-cta{display:none}
  .hero-grid{grid-template-columns:1fr;gap:12px;min-height:auto}.hero-copy{padding-top:12px}.hero-visual{height:440px;max-width:610px;width:100%;margin:0 auto}.trust-grid{grid-template-columns:1fr}.trust-band{margin-top:0;padding:18px 0;background:#f4f5f8}.category-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid,.quality-grid,.global-grid,.contact-grid{grid-template-columns:1fr;gap:46px}.quality-copy{position:static}.global-grid{padding:20px 0}.about-media{max-width:640px;width:100%}.route-map{max-width:720px;width:100%}.contact-copy{max-width:720px}.footer-grid{grid-template-columns:2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:2/4}
}

@media (max-width: 640px) {
  .container{width:min(calc(100% - 28px),var(--container))}.section{padding:76px 0}.section-pad{padding:56px 0 42px}.nav-wrap{min-height:72px}.brand{width:122px}.brand img{height:46px}.nav{top:68px;left:14px;right:14px}
  .hero h1{font-size:48px}.hero-lead{font-size:16px}.hero-actions{align-items:stretch}.hero-actions .btn{width:100%}.micro-trust{gap:12px;flex-direction:column}.hero-visual{height:390px}.orbit-one{width:320px;height:320px}.orbit-two{width:250px;height:250px}.device-card{transform:translateX(-50%) rotate(10deg) scale(.86);top:32px}.chip-a{left:0;top:58px}.chip-b{right:0;bottom:48px}.floating-chip{min-width:142px;padding:11px 12px}
  .category-grid{grid-template-columns:1fr}.category-card{min-height:0}.section-heading{margin-bottom:26px}.about-media{height:390px}.panel-main{inset:22px 36px 32px 0;padding:30px}.panel-main strong{left:30px;bottom:36px;font-size:28px}.panel-small{width:145px;padding:20px}.quality-item{grid-template-columns:52px 1fr}.global-grid{gap:28px}.route-map{height:280px}.contact-form{padding:20px}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:34px}.footer-brand{grid-column:1/-1}.footer-grid>div:last-child{grid-column:auto}.footer-bottom{flex-direction:column}.footer-brand img{width:160px}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn,.category-card{transition:none}
}
