@font-face {
    font-family: "BC Sans";
    src: url("../fonts/instrument-sans.woff2") format("woff2");
    font-display: swap;
    font-style: normal;
    font-weight: 400 700;
}

:root {
    --navy-950: #06152d;
    --navy-900: #071a35;
    --navy-800: #0d2b54;
    --navy-700: #173e70;
    --cobalt-700: #0b4fd4;
    --cobalt-600: #155eef;
    --cobalt-500: #2877ff;
    --cyan-500: #23bff4;
    --cyan-400: #50d5ff;
    --ice-100: #eaf5ff;
    --ice-50: #f4f9ff;
    --paper: #ffffff;
    --ink: #081a37;
    --ink-soft: #43546d;
    --line: #d7e3f2;
    --line-strong: #adc3df;
    --success: #087a58;
    --danger: #b42318;
    --shadow-soft: 0 24px 70px rgba(7, 26, 53, .12);
    --shadow-blue: 0 18px 45px rgba(21, 94, 239, .22);
    --sans: "BC Sans", "Segoe UI", sans-serif;
    --ease-out: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html {
    scroll-behavior: smooth;
    scroll-padding-top: 82px;
    scrollbar-color: var(--cobalt-600) var(--ice-50);
    scrollbar-width: thin;
}

body {
    margin: 0;
    overflow-x: hidden;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

body::-webkit-scrollbar { width: 11px; }
body::-webkit-scrollbar-track { background: var(--ice-50); }
body::-webkit-scrollbar-thumb { border: 3px solid var(--ice-50); border-radius: 20px; background: var(--cobalt-600); }

::selection { background: var(--cobalt-600); color: #fff; }

a { color: inherit; text-decoration: none; text-underline-offset: 4px; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; width: 100%; max-width: 100%; }
figure, h1, h2, h3, p { margin-top: 0; }

:focus-visible { outline: 3px solid var(--cobalt-700); outline-offset: 4px; }

.premium-shell { width: min(1404px, calc(100% - 80px)); margin-inline: auto; }
.section { padding: 118px 0; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 1000; padding: 10px 16px; background: var(--navy-950); color: #fff; transform: translateY(-150%); transition: transform 180ms ease; }
.skip-link:focus { transform: translateY(0); }

.premium-header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: 80px;
    border-bottom: 1px solid rgba(8, 26, 55, .1);
    background: rgba(255, 255, 255, .92);
    backdrop-filter: blur(18px) saturate(145%);
    border-radius: 0 0 14px 14px;
    transition: box-shadow 220ms ease, background-color 220ms ease;
}

.premium-header.is-scrolled { background: rgba(255, 255, 255, .97); box-shadow: 0 12px 38px rgba(7, 26, 53, .08); }
.nav-shell { display: flex; height: 100%; padding-inline: 22px; align-items: center; gap: 28px; }

.premium-brand { display: inline-flex; flex: 0 0 auto; align-items: center; }
.premium-brand img { display: block; width: auto; height: auto; }
.premium-header .premium-brand img { width: 190px; height: auto; max-width: none; transform: translateY(-10px); }

.premium-nav { display: flex; align-items: center; gap: 42px; margin-right: auto; margin-left: clamp(120px, 15.5vw, 238px); }
.nav-group { position: relative; }
.nav-parent-row { display: flex; align-items: center; }
.submenu-toggle { display: none; }
.premium-nav > a, .nav-parent { position: relative; color: #263a56; font-size: 15px; font-weight: 520; }
.premium-nav > a::after, .nav-parent::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; background: var(--cobalt-600); content: ""; transform: scaleX(0); transform-origin: right; transition: transform 220ms var(--ease-out); }
.premium-nav > a:hover::after, .nav-parent:hover::after, .nav-group:focus-within .nav-parent::after { transform: scaleX(1); transform-origin: left; }
.nav-parent { display: inline-flex; align-items: center; gap: 8px; }
.nav-group:has(.submenu) .nav-parent::before { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ""; order: 2; transform: translateY(-2px) rotate(45deg); transition: transform 180ms ease; }
.nav-group:hover .nav-parent::before, .nav-group:focus-within .nav-parent::before { transform: translateY(1px) rotate(225deg); }

.submenu { position: absolute; top: calc(100% + 12px); left: 50%; display: grid; width: 560px; padding: 18px; border: 1px solid rgba(173, 195, 223, .8); border-radius: 0 0 14px 14px; background: rgba(255, 255, 255, .98); box-shadow: var(--shadow-soft); grid-template-columns: repeat(2, minmax(0, 1fr)); opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: opacity 180ms ease, transform 260ms var(--ease-out); }
.submenu::before { position: absolute; top: -2px; right: 20px; left: 20px; height: 2px; background: linear-gradient(90deg, var(--cobalt-600), var(--cyan-500)); content: ""; }
.submenu::after { position: absolute; right: 0; bottom: 100%; left: 0; height: 13px; content: ""; }
.nav-group:hover .submenu, .nav-group:focus-within .submenu { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); }
.submenu a { display: flex; min-height: 45px; align-items: center; justify-content: space-between; gap: 18px; padding: 9px 11px; border-bottom: 1px solid var(--line); color: var(--ink); font-size: 13px; transition: color 160ms ease, background-color 160ms ease; }
.submenu a:hover { background: var(--ice-50); color: var(--cobalt-700); }
.submenu .submenu-child { padding-left: 22px; color: var(--ink-soft); }
.submenu i, .nav-cta i, .button i, .text-link i, .solution-list i, .related-list i, .article-contact-link i { width: 9px; height: 9px; flex: 0 0 auto; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); transition: transform 200ms var(--ease-out); }
.submenu a:hover i, .nav-cta:hover i, .button:hover i, .text-link:hover i, .solution-list a:hover i, .related-list a:hover i, .article-contact-link:hover i { transform: translateX(4px) rotate(45deg); }

.nav-cta, .button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 22px; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 650; line-height: 1; transition: transform 220ms var(--ease-out), box-shadow 220ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease; }
.nav-cta { min-width: 158px; min-height: 42px; gap: 13px; padding: 0 16px; background: var(--cobalt-600); color: #fff; font-size: 14px; font-weight: 520; box-shadow: 0 10px 25px rgba(21, 94, 239, .18); }
.nav-cta i { display: none; }
.nav-cta:hover, .button-primary:hover { transform: translateY(-2px); box-shadow: var(--shadow-blue); }
.button { padding: 0 22px; }
.button-primary { background: linear-gradient(110deg, var(--cobalt-700), var(--cobalt-600) 58%, #138fd8); color: #fff; }
.button-outline { border-color: var(--cobalt-600); background: rgba(255, 255, 255, .72); color: var(--cobalt-700); }
.button-outline:hover { background: var(--ice-100); transform: translateY(-2px); }
.button-light { background: #fff; color: var(--navy-900); }
.button-light:hover { transform: translateY(-2px); box-shadow: 0 14px 35px rgba(0, 0, 0, .2); }
.button:disabled { cursor: wait; opacity: .62; transform: none; box-shadow: none; }
.menu-toggle { display: none; min-height: 42px; align-items: center; gap: 12px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: 8px; background: #fff; color: var(--ink); cursor: pointer; }
.menu-toggle i { position: relative; width: 18px; height: 1px; background: currentColor; }
.menu-toggle i::before, .menu-toggle i::after { position: absolute; left: 0; width: 18px; height: 1px; background: currentColor; content: ""; transition: transform 180ms ease, top 180ms ease; }
.menu-toggle i::before { top: -6px; }.menu-toggle i::after { top: 6px; }
.menu-toggle[aria-expanded="true"] i { background: transparent; }.menu-toggle[aria-expanded="true"] i::before { top: 0; transform: rotate(45deg); }.menu-toggle[aria-expanded="true"] i::after { top: 0; transform: rotate(-45deg); }

.signal-hero { position: relative; min-height: 654px; overflow: hidden; background: linear-gradient(118deg, #fff 0 48%, #f2f8ff 75%, #e8f5ff 100%); }
.hero-field { position: absolute; top: -280px; right: -160px; width: 860px; height: 860px; border: 1px solid rgba(35, 191, 244, .14); border-radius: 50%; box-shadow: inset 0 0 120px rgba(21, 94, 239, .06); }
.hero-field::before, .hero-field::after { position: absolute; border: 1px solid rgba(21, 94, 239, .09); border-radius: inherit; content: ""; }
.hero-field::before { inset: 80px; }.hero-field::after { inset: 170px; }
.hero-stage { position: relative; display: grid; min-height: 654px; grid-template-columns: minmax(0, 44%) minmax(0, 56%); align-items: center; }
.hero-copy { position: relative; z-index: 5; max-width: 650px; padding: 56px 22px 62px 0; }
.hero-copy h1 { max-width: 680px; margin-bottom: 25px; font-size: clamp(50px, 4.45vw, 68px); font-weight: 650; letter-spacing: -.039em; line-height: 1.01; text-wrap: balance; }
.hero-lead { max-width: 500px; margin-bottom: 32px; color: #344866; font-size: 18px; line-height: 1.62; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 32px; }
.hero-actions .button { min-width: 228px; min-height: 53px; font-size: 16px; font-weight: 520; }
.hero-actions .button i { position: relative; width: 19px; height: 10px; border: 0; transform: none; }
.hero-actions .button i::before { position: absolute; top: 50%; right: 0; width: 18px; height: 1.5px; background: currentColor; content: ""; transform: translateY(-50%); }
.hero-actions .button i::after { position: absolute; top: 50%; right: 0; width: 8px; height: 8px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; content: ""; transform: translateY(-50%) rotate(45deg); transform-origin: center; }
.hero-actions .button:hover i { transform: translateX(4px); }

.hero-network { position: relative; align-self: stretch; min-width: 0; }
.hero-photo { position: absolute; z-index: 1; overflow: hidden; margin: 0; border-radius: 14px; background: var(--navy-900); box-shadow: 0 24px 70px rgba(7, 26, 53, .15); }
.hero-photo img { height: 100%; object-fit: cover; }
.hero-photo-engineer { top: 34px; left: 8%; width: 41%; height: 570px; }
.hero-photo-engineer img { object-position: 50% 44%; }
.hero-photo-support { right: 0; bottom: 20px; width: 52%; height: 370px; }
.hero-photo-support img { object-position: 54% center; }
.operations-panel { position: absolute; top: 145px; left: 38%; z-index: 4; width: 220px; padding: 24px; border: 1px solid rgba(80, 213, 255, .78); border-radius: 14px; background: linear-gradient(150deg, rgba(7, 26, 53, .97), rgba(13, 43, 84, .94)); color: #fff; box-shadow: 0 22px 55px rgba(1, 13, 34, .32); }
.operations-panel p { margin: 0; padding: 9px 0; border-bottom: 1px solid rgba(216, 235, 255, .22); font-size: 14px; }.operations-panel p:last-child { border-bottom: 0; }
.operations-symbol { position: relative; display: block; width: 28px; height: 28px; margin-bottom: 10px; }.operations-symbol i { position: absolute; width: 7px; height: 7px; border: 1.5px solid var(--cyan-400); border-radius: 50%; }.operations-symbol i:nth-child(1){top:2px;left:10px}.operations-symbol i:nth-child(2){top:12px;left:1px}.operations-symbol i:nth-child(3){top:12px;right:1px}.operations-symbol i:nth-child(4){bottom:0;left:10px}.operations-symbol::before,.operations-symbol::after{position:absolute;background:var(--cyan-400);content:"";transform-origin:center}.operations-symbol::before{top:13px;left:5px;width:18px;height:1px}.operations-symbol::after{top:5px;left:13px;width:1px;height:18px}
.hero-route { position: absolute; inset: 0; z-index: 3; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.hero-route .route-shadow { stroke: rgba(21, 94, 239, .17); stroke-width: 12; }
.hero-route .route-line { stroke: url(#hero-route-gradient); stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 0; filter: drop-shadow(0 5px 12px rgba(21, 94, 239, .25)); }
.hero-route circle { fill: #fff; stroke: var(--cobalt-600); stroke-width: 5; }

.journey { position: relative; min-height: 284px; padding: 99px 0 45px; overflow: hidden; background: linear-gradient(108deg, #eef7ff 0%, #e5f2ff 54%, #e9fbff 100%); }
.journey-route { position: absolute; top: 84px; right: 0; left: 0; height: 3px; background: linear-gradient(90deg, var(--cobalt-700), var(--cobalt-500) 60%, var(--cyan-500)); }
.journey-route::after { position: absolute; top: -6px; right: 7%; width: 15px; height: 15px; border: 3px solid var(--cobalt-600); border-radius: 50%; background: #fff; content: ""; box-shadow: 0 0 0 7px rgba(21, 94, 239, .1); }
.journey-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.journey article { position: relative; min-height: 165px; padding: 24px 34px 0 0; border-right: 1px solid rgba(122, 157, 197, .35); }.journey article:not(:first-child){padding-left:34px}.journey article:last-child{border-right:0}
.journey-icon { position: absolute; top: -36px; left: 0; z-index: 2; display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid var(--cobalt-600); border-radius: 50%; background: #fff; color: var(--cobalt-700); box-shadow: 0 8px 24px rgba(21, 94, 239, .16); }
.journey article:not(:first-child) .journey-icon { left: 34px; }
.journey-icon svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.journey-number { display: block; margin-bottom: 2px; color: var(--cobalt-600); font-size: 38px; font-weight: 550; font-variant-numeric: tabular-nums; letter-spacing: -.03em; }
.journey h3 { margin-bottom: 5px; font-size: 20px; font-weight: 680; letter-spacing: -.035em; line-height: 1.2; }.journey p { max-width: 270px; margin-bottom: 0; color: var(--ink-soft); font-size: 14px; line-height: 1.55; }

@media (min-width: 1440px) {
    .hero-copy { width: 680px; max-width: 680px; }
}

@media (min-width: 1201px) and (max-width: 1500px) {
    .premium-header { height: 75px; }
    .signal-hero,
    .hero-stage { min-height: 612px; }
    .hero-copy { transform: translateY(8px); }
    .hero-lead { position: relative; top: -9px; max-width: 435px; line-height: 1.8; }
    .hero-actions { position: relative; top: -20px; }
    .hero-photo-engineer { top: 26px; height: 536px; }
    .hero-photo-support { bottom: 50px; height: 347px; }
    .operations-panel { top: 130px; }
    .journey { padding: 82px 0 42px; }
    .journey-route { top: 73px; }
    .journey-icon { top: -30px; }
}

@media (min-width: 1360px) and (max-width: 1500px) {
    .premium-shell { width: min(1310px, calc(100% - 130px)); }
    .nav-shell { width: calc(100% - 80px); max-width: none; }
}

.trust-stream { padding: 32px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: #fff; }
.trust-layout { display: grid; grid-template-columns: 220px 1fr; align-items: center; gap: 52px; }.trust-layout h2 { margin: 0; color: var(--ink-soft); font-size: 12px; font-weight: 650; line-height: 1.45; }.logo-row { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); align-items: center; gap: 25px; }.logo-row div { display: grid; min-height: 46px; place-items: center; filter: grayscale(1); opacity: .56; transition: filter 200ms ease, opacity 200ms ease, transform 200ms var(--ease-out); }.logo-row div:hover{filter:none;opacity:1;transform:translateY(-2px)}.logo-row img{width:auto;max-width:100%;max-height:38px}

.section-heading { display: grid; margin-bottom: 60px; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: end; gap: 80px; }
.section-heading h2, .solutions h2, .direct-answer h2, .faq-zone h2, .contact-zone h2, .resource-hero h1, .content-title h1, .article-cta h2, .not-found h1 { margin-bottom: 0; font-size: clamp(38px, 4vw, 61px); font-weight: 620; letter-spacing: -.035em; line-height: 1.05; text-wrap: balance; }
.section-heading > p { max-width: 560px; margin-bottom: 4px; color: var(--ink-soft); }

.services { background: #fff; }
.service-list { border-top: 1px solid var(--line-strong); }
.service-feature { display: grid; min-height: 260px; padding: 28px 0; border-bottom: 1px solid var(--line); grid-template-columns: minmax(300px, 39%) minmax(0, 1fr); gap: 54px; align-items: center; }
.service-feature:nth-child(even) { grid-template-columns: minmax(0, 1fr) minmax(300px, 39%); }.service-feature:nth-child(even) .service-media{order:2}.service-feature:nth-child(even) .service-copy{order:1;padding-left:9%}
.service-media { display: block; height: 250px; overflow: hidden; border-radius: 14px; background: var(--ice-100); }
.service-media img { height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out), filter 400ms ease; }.service-feature:hover .service-media img{transform:scale(1.045);filter:saturate(1.08)}
.service-copy { display: grid; grid-template-columns: 70px minmax(0, 1fr); column-gap: 22px; }.service-index { grid-row: 1 / 5; color: var(--cobalt-600); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }.service-copy h3{margin-bottom:12px;font-size:clamp(25px,2.4vw,35px);font-weight:620;letter-spacing:-.025em;line-height:1.15}.service-copy>p:not(.service-index){max-width:680px;margin-bottom:16px;color:var(--ink-soft)}
.text-link { display: inline-flex; width: fit-content; align-items: center; gap: 13px; color: var(--cobalt-700); font-size: 14px; font-weight: 680; }.text-link span { border-bottom: 1px solid rgba(11, 79, 212, .35); }

.solutions { position: relative; overflow: hidden; background: var(--navy-950); color: #fff; }
.solutions::before { position: absolute; inset: 0; background: linear-gradient(120deg, rgba(21,94,239,.1), transparent 42%, rgba(35,191,244,.08)); content:""; }
.solutions-glow { position:absolute;top:-320px;right:-180px;width:700px;height:700px;border:1px solid rgba(80,213,255,.16);border-radius:50%;box-shadow:inset 0 0 160px rgba(21,94,239,.12)}.solutions-glow::before,.solutions-glow::after{position:absolute;border:1px solid rgba(80,213,255,.1);border-radius:50%;content:""}.solutions-glow::before{inset:80px}.solutions-glow::after{inset:180px}
.solutions-grid { position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);gap:90px;align-items:center }.solutions-copy>p{max-width:600px;margin:27px 0 38px;color:#b9cce4;font-size:17px}.solution-list{border-top:1px solid rgba(196,220,246,.22)}.solution-list a{display:flex;min-height:54px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(196,220,246,.18);color:#eaf5ff;font-size:15px;transition:color 180ms ease,transform 220ms var(--ease-out)}.solution-list a:hover{color:var(--cyan-400);transform:translateX(7px)}
.solutions-visual{position:relative;height:660px;margin:0;overflow:hidden;border-radius:16px}.solutions-visual img{height:100%;object-fit:cover}.solutions-visual::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,21,45,.92));content:""}.solutions-visual figcaption{position:absolute;right:35px;bottom:34px;left:35px;z-index:2;display:grid;gap:4px}.solutions-visual strong{font-size:23px}.solutions-visual span{max-width:560px;color:#c5d7eb;font-size:14px}

.direct-answer { background: var(--ice-50); }
.answer-grid { display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:100px;align-items:start }.answer-copy{padding-top:11px;background:linear-gradient(var(--cobalt-600),var(--cobalt-600)) no-repeat top left/100% 3px}.answer-copy p{max-width:760px;color:var(--ink-soft)}.answer-copy .answer-lead{margin:28px 0 18px;color:var(--ink);font-size:22px;line-height:1.52}

.insights { background:#fff }.insights-heading{grid-template-columns:1fr auto;align-items:center}.editorial-posts{display:grid;grid-template-columns:minmax(0,1.34fr) minmax(360px,.66fr);gap:44px}.post-image{display:block;overflow:hidden;border-radius:14px;background:var(--ice-100)}.post-image img{height:100%;object-fit:cover;transition:transform 650ms var(--ease-out),filter 300ms ease}.post-image:hover img{transform:scale(1.04);filter:saturate(1.08)}.featured-post>.post-image{height:480px}.featured-post>div{padding:25px 4px 0}.featured-post h3{max-width:820px;margin-bottom:12px;font-size:34px;font-weight:620;letter-spacing:-.025em;line-height:1.16}.featured-post>div>p:last-child{max-width:720px;color:var(--ink-soft)}.post-rail{border-top:1px solid var(--line-strong)}.rail-post{display:grid;min-height:165px;padding:20px 0;border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:21px}.rail-post .post-image{height:118px}.rail-post h3{margin-bottom:8px;font-size:20px;font-weight:620;line-height:1.22}.rail-post p{margin-bottom:0;color:var(--ink-soft);font-size:13px;line-height:1.5}

.faq-zone { background: linear-gradient(115deg,#f1f7ff,#eaf7ff 58%,#f3fcff) }.faq-grid{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:100px}.faq-grid>div:first-child>p{max-width:420px;margin-top:25px;color:var(--ink-soft)}.faq-list,.page-faq{border-top:1px solid var(--line-strong)}.faq-list details,.page-faq details{border-bottom:1px solid var(--line)}.faq-list summary,.page-faq summary{display:flex;min-height:75px;align-items:center;justify-content:space-between;gap:28px;cursor:pointer;font-size:18px;font-weight:600;list-style:none}.faq-list summary::-webkit-details-marker,.page-faq summary::-webkit-details-marker{display:none}.faq-list summary i,.page-faq summary i{position:relative;width:19px;height:19px;flex:0 0 auto}.faq-list summary i::before,.faq-list summary i::after,.page-faq summary i::before,.page-faq summary i::after{position:absolute;top:9px;left:2px;width:15px;height:1.5px;background:var(--cobalt-600);content:"";transition:transform 200ms ease}.faq-list summary i::after,.page-faq summary i::after{transform:rotate(90deg)}.faq-list details[open] summary i::after,.page-faq details[open] summary i::after{transform:rotate(0)}.faq-list details>p,.page-faq details>p{max-width:720px;margin:-4px 45px 24px 0;color:var(--ink-soft)}

.contact-zone { position:relative;overflow:hidden;background:linear-gradient(125deg,var(--cobalt-700),var(--cobalt-600) 55%,#058fc9);color:#fff }.contact-orbit{position:absolute;right:-160px;bottom:-430px;width:830px;height:830px;border:1px solid rgba(255,255,255,.24);border-radius:50%}.contact-orbit::before,.contact-orbit::after{position:absolute;border:1px solid rgba(255,255,255,.16);border-radius:50%;content:""}.contact-orbit::before{inset:90px}.contact-orbit::after{inset:200px}.contact-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(480px,.95fr);gap:60px;align-items:center}.contact-copy h2{max-width:650px}.contact-copy>p{max-width:590px;margin:26px 0;color:#dcecff;font-size:17px}.contact-lines{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.contact-lines a{font-weight:650;border-bottom:1px solid rgba(255,255,255,.4)}
.premium-form{display:grid;padding:39px;border-radius:16px;background:#fff;color:var(--ink);box-shadow:0 30px 75px rgba(2,20,53,.24);gap:20px}.premium-form label{display:grid;gap:7px}.premium-form label>span{font-size:12px;font-weight:650}.premium-form input,.premium-form textarea{width:100%;border:0;border-bottom:1px solid var(--line-strong);border-radius:0;background:transparent;color:var(--ink);transition:border-color 180ms ease,box-shadow 180ms ease}.premium-form input{height:46px}.premium-form textarea{min-height:105px;padding:10px 0;resize:vertical}.premium-form input:focus,.premium-form textarea:focus{border-color:var(--cobalt-600);box-shadow:0 1px 0 var(--cobalt-600)}.premium-form input:focus-visible,.premium-form textarea:focus-visible{outline:3px solid var(--cobalt-700);outline-offset:4px}.premium-form [aria-invalid="true"]{border-color:var(--danger)}.premium-form .button{justify-self:start}.field-error{color:var(--danger);font-size:12px}.form-success{padding:12px 14px;border:1px solid rgba(8,122,88,.28);border-radius:8px;background:#ebfff7;color:var(--success);font-size:14px}.honey{position:absolute!important;left:-9999px!important}

.content-hero { position:relative;min-height:600px;overflow:hidden;background:linear-gradient(118deg,#fff 0 47%,#eff7ff 74%,#e6f6ff 100%) }.content-hero-route{position:absolute;right:-80px;top:-240px;width:760px;height:760px;border:1px solid rgba(21,94,239,.12);border-radius:50%}.content-hero-route::before,.content-hero-route::after{position:absolute;border:1px solid rgba(35,191,244,.12);border-radius:50%;content:""}.content-hero-route::before{inset:80px}.content-hero-route::after{inset:175px}.content-hero-grid{position:relative;display:grid;min-height:600px;grid-template-columns:minmax(0,.92fr) minmax(500px,1.08fr);gap:82px;align-items:center}.content-title{padding:70px 0}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:32px;color:var(--ink-soft);font-size:13px}.breadcrumb a:hover{color:var(--cobalt-600);text-decoration:underline}.breadcrumb i{width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}.content-title h1{max-width:760px}.content-title>p{max-width:700px;margin:28px 0 0;color:var(--ink-soft);font-size:18px}.article-byline{display:flex;gap:20px;margin-top:26px;color:var(--cobalt-700);font-size:13px;font-weight:600}.content-cover{position:relative;height:475px;margin:0;overflow:hidden;border-radius:16px;box-shadow:var(--shadow-soft)}.content-cover img{height:100%;object-fit:cover}.content-cover>span{position:absolute;right:26px;bottom:25px;width:18px;height:18px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 5px var(--cobalt-600)}
.article-zone{background:#fff}.article-layout{display:grid;grid-template-columns:240px minmax(0,820px);gap:90px;justify-content:center;align-items:start}.article-navigation{position:sticky;top:110px;padding-top:19px;border-top:2px solid var(--cobalt-600)}.article-navigation>p{margin-bottom:13px;color:var(--cobalt-700);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.article-navigation nav{display:grid;margin-bottom:25px}.article-navigation nav a{padding:8px 0;border-bottom:1px solid var(--line);color:var(--ink-soft);font-size:13px}.article-navigation nav a:hover{color:var(--cobalt-600)}.article-contact-link{display:flex;align-items:center;justify-content:space-between;color:var(--cobalt-700);font-size:13px;font-weight:650}.answer-summary{margin-bottom:50px;padding:29px 32px;border-radius:14px;background:linear-gradient(120deg,#eef6ff,#e9faff)}.answer-summary h2{margin-bottom:11px;color:var(--cobalt-700);font-size:16px}.answer-summary p{margin:0;color:var(--ink);font-size:19px;line-height:1.55}.rich-content{color:#243a58;font-size:17px;line-height:1.78}.rich-content>*{max-width:72ch}.rich-content h2,.rich-content h3,.rich-content h4{max-width:760px;margin-top:64px;margin-bottom:20px;color:var(--ink);font-weight:640;letter-spacing:-.025em;line-height:1.18}.rich-content h2{font-size:36px}.rich-content h3{font-size:27px}.rich-content h4{font-size:21px}.rich-content p{margin-bottom:23px}.rich-content a{color:var(--cobalt-700);text-decoration:underline;text-decoration-color:rgba(11,79,212,.35)}.rich-content a:hover{text-decoration-color:currentColor}.rich-content ul,.rich-content ol{padding-left:24px}.rich-content li{margin-bottom:9px}.rich-content img{max-width:100%;margin:42px 0;border-radius:14px}.rich-content blockquote{max-width:760px;margin:42px 0;padding:4px 0 4px 27px;border-left:1px solid var(--cobalt-600);color:var(--ink);font-size:22px}.rich-content table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse}.rich-content th,.rich-content td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}.rich-content th{color:var(--ink);font-size:13px}.service-process{margin-top:75px}.service-process>h2,.page-faq>h2{margin-bottom:28px;font-size:34px;font-weight:630;letter-spacing:-.025em}.service-process>div{display:grid;border-top:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr)}.service-process article{padding:27px 27px 0 0;border-right:1px solid var(--line)}.service-process article:not(:first-child){padding-left:27px}.service-process article:last-child{border-right:0}.service-process span{color:var(--cobalt-600);font-size:13px;font-weight:700}.service-process h3{margin:7px 0 8px;font-size:20px}.service-process p{margin:0;color:var(--ink-soft);font-size:14px}.page-faq{margin-top:75px}.article-cta{display:flex;margin-top:80px;padding:39px;align-items:center;justify-content:space-between;gap:36px;border-radius:16px;background:linear-gradient(125deg,var(--navy-900),var(--cobalt-700));color:#fff;box-shadow:var(--shadow-blue)}.article-cta h2{max-width:530px;font-size:31px}.article-cta p{margin:9px 0 0;color:#c9dcf1}.related-solutions{background:var(--ice-50)}.related-list{display:grid;border-top:1px solid var(--line-strong);grid-template-columns:repeat(2,1fr)}.related-list a{display:flex;min-height:90px;padding:0 24px;align-items:center;justify-content:space-between;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:20px;font-weight:620}.related-list a:nth-child(2n){border-right:0}.related-list a:hover{background:#fff;color:var(--cobalt-700)}

.resource-hero{position:relative;padding:74px 0 90px;overflow:hidden;background:linear-gradient(125deg,var(--navy-950),var(--navy-800));color:#fff}.resource-orbit{position:absolute;right:-210px;top:-370px;width:880px;height:880px;border:1px solid rgba(80,213,255,.19);border-radius:50%;box-shadow:inset 0 0 160px rgba(21,94,239,.13)}.resource-orbit::before,.resource-orbit::after{position:absolute;border:1px solid rgba(80,213,255,.13);border-radius:50%;content:""}.resource-orbit::before{inset:95px}.resource-orbit::after{inset:210px}.resource-hero-grid{position:relative}.resource-hero-grid>div:first-child{display:grid;margin-bottom:55px;grid-template-columns:1.2fr .8fr;gap:80px;align-items:end}.resource-hero h1{max-width:800px}.resource-hero-grid>div:first-child>p{max-width:530px;margin-bottom:5px;color:#c3d7ee;font-size:17px}.resource-feature{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:45px;align-items:center}.resource-feature>.post-image{height:430px}.resource-feature h2{margin:9px 0 15px;font-size:36px;line-height:1.15}.resource-feature>div>p:last-of-type{color:#bfd3ea}.resource-feature .text-link{color:var(--cyan-400)}.blog-index .section-heading{margin-bottom:54px}.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:62px}.blog-card .post-image{height:250px}.blog-card>div{padding:22px 3px 0}.blog-card h2{margin:0 0 11px;font-size:24px;font-weight:620;letter-spacing:-.02em;line-height:1.2}.blog-card>div>p{color:var(--ink-soft);font-size:14px}.public-pagination{margin-top:74px;padding-top:32px;border-top:1px solid var(--line)}.public-pagination nav>div:first-child{display:none}.public-pagination nav>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:24px}.public-pagination nav p{margin:0;color:var(--ink-soft);font-size:13px}.pagination{display:flex;margin:0;padding:0;gap:6px;list-style:none}.page-link{display:grid;min-width:40px;height:40px;padding:0 10px;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--ink);font-size:13px}.page-item.active .page-link{border-color:var(--cobalt-600);background:var(--cobalt-600);color:#fff}.page-item.disabled .page-link{opacity:.45}.page-link:hover{border-color:var(--cobalt-600);color:var(--cobalt-700)}

.not-found{position:relative;display:grid;min-height:calc(100vh - 75px);padding:88px 0;place-items:center;overflow:hidden;background:linear-gradient(122deg,var(--navy-950),var(--navy-800));color:var(--paper)}.not-found::before{position:absolute;inset:0 58% 0 0;background:linear-gradient(110deg,rgba(21,94,239,.12),transparent);content:""}.not-found-orbit{position:absolute;top:-420px;right:-190px;width:920px;height:920px;border:1px solid rgba(80,213,255,.18);border-radius:50%;box-shadow:inset 0 0 180px rgba(21,94,239,.1)}.not-found-orbit::before,.not-found-orbit::after{position:absolute;border:1px solid rgba(80,213,255,.12);border-radius:inherit;content:""}.not-found-orbit::before{inset:110px}.not-found-orbit::after{inset:235px}.not-found-grid{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);gap:110px;align-items:center}.error-code{margin-bottom:17px;color:var(--cyan-400);font-size:17px;font-weight:700;letter-spacing:.18em}.not-found h1{max-width:650px;font-size:clamp(48px,5vw,74px)}.not-found-copy>p:not(.error-code){max-width:570px;margin:27px 0 34px;color:#c5d7eb;font-size:17px}.not-found .button-light{border-color:rgba(255,255,255,.25);background:transparent;color:var(--paper)}.not-found .button-light:hover{background:rgba(255,255,255,.09)}.not-found-links{display:flex;margin-top:35px;gap:28px}.not-found-links a{color:#b9cce4;font-size:13px;text-decoration:underline;text-decoration-color:rgba(80,213,255,.35)}.not-found-links a:hover{color:var(--cyan-400)}.error-diagram{position:relative;height:470px}.error-route{position:absolute;border-color:var(--cobalt-500);border-style:solid}.error-route-a{top:72px;left:28px;width:58%;height:172px;border-width:2px 2px 0 0;border-radius:0 110px 0 0}.error-route-b{right:34px;bottom:68px;width:57%;height:180px;border-width:0 0 2px 2px;border-radius:0 0 0 110px}.error-node{position:absolute;z-index:2;width:18px;height:18px;border:4px solid var(--cyan-400);border-radius:50%;background:var(--navy-900);box-shadow:0 0 0 7px rgba(80,213,255,.1)}.error-node-start{top:64px;left:20px}.error-node-lost{top:232px;left:57%;border-color:var(--danger);box-shadow:0 0 0 9px rgba(205,59,80,.1)}.error-node-end{right:26px;bottom:60px}.error-status{position:absolute;top:142px;left:18%;z-index:3;display:grid;width:270px;padding:27px;border:1px solid rgba(183,211,239,.22);border-radius:14px;background:rgba(6,21,45,.92);box-shadow:0 26px 65px rgba(1,13,34,.3)}.error-status small{color:#9eb6d3;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.error-status strong{margin:9px 0 12px;font-size:21px}.error-status span{color:#b9cce4;font-size:13px}

.premium-footer{position:relative;padding:78px 0 0;background:var(--navy-950);color:#fff}.footer-signal{position:absolute;top:0;right:0;left:0;height:3px;background:linear-gradient(90deg,var(--cobalt-600),var(--cyan-500))}.footer-grid{display:grid;padding-bottom:60px;grid-template-columns:1.4fr .65fr .85fr;gap:90px}.footer-brand{margin-bottom:22px;color:#fff}.footer-brand img{width:220px;height:auto;max-width:100%;filter:brightness(0) invert(1)}.footer-about{max-width:530px;color:#9eb6d3;font-size:14px}.footer-about p:last-child{margin-bottom:0}.footer-grid h2{margin-bottom:18px;color:#dfeeff;font-size:13px;font-weight:700}.footer-grid>div:not(:first-child){display:flex;align-items:flex-start;flex-direction:column}.footer-grid>div:not(:first-child) a{margin-bottom:8px;color:#a9bfd8;font-size:13px}.footer-grid>div:not(:first-child) a:hover{color:var(--cyan-400)}.footer-grid>div:not(:first-child) p{max-width:300px;color:#a9bfd8;font-size:13px}.footer-bottom{display:flex;padding:23px 0;justify-content:space-between;border-top:1px solid rgba(183,211,239,.14);color:#7892b1;font-size:11px}

.not-found .hero-actions { gap: 14px; }

[data-reveal] { opacity: 1; transform: none; }

@media (prefers-reduced-motion: no-preference) {
    .hero-copy h1 { animation: hero-copy-settle 850ms var(--ease-out) both; }
    .hero-photo-engineer { animation: engineer-settle 950ms var(--ease-out) 80ms both; }
    .hero-photo-support { animation: support-settle 1000ms var(--ease-out) 160ms both; }
    .operations-panel { animation: panel-settle 850ms var(--ease-out) 300ms both; }
    .hero-route .route-line { stroke-dashoffset: 1; animation: route-draw 1600ms var(--ease-out) 420ms forwards; }
    .journey-route::after { animation: node-pulse 2600ms ease-in-out infinite; }
    .has-js [data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity 520ms var(--ease-out), transform 520ms var(--ease-out); }
    .has-js [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
    .has-js .service-feature[data-reveal], .has-js .rail-post[data-reveal], .has-js .blog-card[data-reveal] { opacity: 1; transform: none; transition: none; }
}

@keyframes hero-copy-settle { from { opacity:.3; transform:translateY(24px); filter:blur(8px) } }
@keyframes engineer-settle { from { opacity:.4; clip-path:inset(12% 0 0 0); transform:translateY(25px) } }
@keyframes support-settle { from { opacity:.25; clip-path:inset(0 0 18% 0); transform:translateY(32px) } }
@keyframes panel-settle { from { opacity:0; transform:translate(-14px,18px); box-shadow:0 0 0 rgba(0,0,0,0) } }
@keyframes route-draw { to { stroke-dashoffset:0 } }
@keyframes node-pulse { 50% { box-shadow:0 0 0 12px rgba(21,94,239,0) } }

@media (max-width: 1200px) {
    .premium-shell{width:min(1120px,calc(100% - 56px))}.premium-nav{gap:19px}.premium-nav> a,.nav-parent{font-size:13px}.hero-stage{grid-template-columns:47% 53%}.hero-photo-engineer{left:3%;width:44%}.hero-photo-support{width:56%}.operations-panel{left:31%;width:205px}.solutions-grid{gap:55px}.contact-grid{gap:60px}.article-layout{grid-template-columns:220px minmax(0,780px);gap:55px}
}

@media (max-width: 980px) {
    body.menu-open{overflow:hidden}
    .nav-shell{padding-inline:0}
    .premium-shell{width:min(100% - 40px,820px)}.premium-header{height:66px}.nav-shell{gap:16px}.premium-nav{position:fixed;top:74px;right:20px;left:20px;display:flex;max-height:calc(100dvh - 92px);margin:0;padding:12px;overflow-y:auto;border:1px solid rgba(173,195,223,.9);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 24px 70px rgba(7,26,53,.18);align-items:stretch;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transform:translateY(-12px) scale(.985);transform-origin:top center;transition:opacity 180ms ease,transform 240ms var(--ease-out)}.premium-nav.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}.premium-nav> a,.nav-parent{display:flex;width:100%;min-height:46px;align-items:center;font-size:15px}.premium-nav> a{padding:0 12px;border-radius:8px}.premium-nav> a:hover{background:var(--ice-50)}.premium-nav> a::after,.nav-parent::after,.nav-group:has(.submenu) .nav-parent::before{display:none}.nav-group{width:100%;border-bottom:1px solid var(--line)}.nav-group:last-of-type{border-bottom:0}.nav-parent-row{width:100%;gap:6px}.nav-parent{min-width:0;padding-left:12px}.submenu-toggle{display:grid;width:42px;height:42px;flex:0 0 auto;padding:0;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--cobalt-700);cursor:pointer}.submenu-toggle:hover{background:var(--ice-100)}.submenu-toggle i{width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 180ms ease}.nav-group.mobile-expanded .submenu-toggle i{transform:translateY(2px) rotate(225deg)}.submenu{position:static;display:grid;width:100%;max-height:0;padding:0 10px 0 18px;overflow:hidden;border:0;border-radius:10px;background:var(--ice-50);box-shadow:none;grid-template-columns:1fr;opacity:0;pointer-events:none;transform:none;transition:max-height 280ms var(--ease-out),opacity 160ms ease,padding 240ms ease}.nav-group.mobile-expanded .submenu{max-height:900px;margin-bottom:10px;padding-top:6px;padding-bottom:8px;opacity:1;pointer-events:auto}.submenu::before,.submenu::after{display:none}.submenu a{min-height:42px;padding:8px 10px;border:0;border-bottom:1px solid rgba(173,195,223,.45);background:transparent}.submenu a:last-child{border-bottom:0}.menu-toggle{display:inline-flex;margin-left:auto}.nav-cta{display:none}.signal-hero{min-height:auto}.hero-stage{grid-template-columns:1fr;min-height:auto}.hero-copy{max-width:760px;padding:72px 0 45px}.hero-network{height:610px}.hero-photo-engineer{left:4%;width:43%;height:550px}.hero-photo-support{width:57%;height:365px}.operations-panel{left:35%}.journey{padding:48px 0}.journey-route{top:58px;right:auto;bottom:58px;left:max(47px,calc((100% - 820px)/2 + 27px));width:3px;height:auto;background:linear-gradient(180deg,var(--cobalt-700),var(--cobalt-500) 60%,var(--cyan-500))}.journey-route::after{display:none}.journey-grid{grid-template-columns:1fr;row-gap:0}.journey article,.journey article:not(:first-child){min-height:0;padding:25px 0 25px 66px;border-right:0;border-bottom:1px solid rgba(122,157,197,.35)}.journey article:last-child{border-bottom:0}.journey-icon,.journey article:not(:first-child) .journey-icon{top:30px;left:6px}.trust-layout,.section-heading,.answer-grid,.faq-grid,.contact-grid,.content-hero-grid,.resource-feature{grid-template-columns:1fr;gap:38px}.logo-row{grid-template-columns:repeat(4,1fr)}.section-heading{align-items:start}.service-feature,.service-feature:nth-child(even){grid-template-columns:280px 1fr;gap:34px}.service-feature:nth-child(even) .service-media{order:initial}.service-feature:nth-child(even) .service-copy{order:initial;padding-left:0}.solutions-grid{grid-template-columns:1fr;gap:55px}.solutions-visual{height:520px}.editorial-posts{grid-template-columns:1fr}.post-rail{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;border-top:0}.rail-post{display:block;padding:0;border-bottom:0}.rail-post .post-image{height:160px;margin-bottom:15px}.contact-grid{grid-template-columns:1fr}.content-hero-grid{padding:65px 0}.content-title{padding:0}.content-cover{height:450px}.article-layout{grid-template-columns:1fr}.article-navigation{position:static;display:none}.blog-grid{grid-template-columns:repeat(2,1fr)}.resource-hero-grid>div:first-child{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1fr 1fr}.footer-intro{grid-column:1/-1}
}

/* V4 navigation, contact layer and product presentation */
@media (min-width: 981px) {
    .premium-nav { height: 100%; margin-left: auto; gap: clamp(18px, 1.8vw, 30px); }
    .nav-group { display: flex; height: 100%; align-items: center; }
    .nav-parent-row { height: 100%; }
    .nav-parent { height: 100%; align-items: center; }
    .nav-parent::after { bottom: 0; }
    .nav-group:not(:has(.submenu)) .nav-parent { height: auto; }
    .nav-group:not(:has(.submenu)) .nav-parent::after { bottom: -9px; }
    .submenu { top: 100%; }
    .submenu::after { display: none; }
    .payment-link { color: var(--cobalt-700) !important; font-weight: 650 !important; }
}

.footer-socials { display: flex; flex-wrap: wrap; margin-top: 15px; gap: 9px; }
.footer-socials a { display: grid; width: 38px; height: 38px; margin: 0 !important; place-items: center; border: 1px solid rgba(183,211,239,.28); border-radius: 50%; color: var(--cyan-400) !important; transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 200ms var(--ease-out); }
.footer-socials a:hover { border-color: var(--cyan-400); background: rgba(80,213,255,.1); color: var(--paper) !important; transform: translateY(-2px); }
.footer-socials svg,.contact-socials svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials a[aria-label="Facebook"] svg { fill: currentColor; stroke: none; }
.social-dot { fill: currentColor; stroke: none; }

.contact-dock { position: fixed; bottom: 24px; left: 24px; z-index: 90; display: grid; gap: 11px; }
.contact-dock a { position: relative; display: flex; width: 58px; height: 58px; align-items: center; border: 2px solid var(--paper); border-radius: 50%; background: var(--cobalt-600); color: var(--paper); box-shadow: 0 15px 38px rgba(7,26,53,.28); animation: dock-float 3.2s ease-in-out infinite; transition: transform 180ms ease, box-shadow 180ms ease; }
.contact-dock a::before { position: absolute; inset: -6px; border: 1px solid currentColor; border-radius: inherit; content: ""; opacity: .35; animation: dock-pulse 2.4s ease-out infinite; }
.contact-dock a:hover,.contact-dock a:focus-visible { transform: translateY(-3px) scale(1.04); box-shadow: 0 18px 45px rgba(7,26,53,.36); animation-play-state: paused; }
.contact-dock svg { width: 25px; height: 25px; margin: 0 15px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.contact-dock span { position: absolute; left: 68px; padding: 8px 11px; border-radius: 8px; background: var(--navy-950); color: var(--paper); white-space: nowrap; font-size: 13px; font-weight: 650; opacity: 0; pointer-events: none; transform: translateX(-6px); transition: opacity 160ms ease, transform 180ms ease; }
.contact-dock a:hover span,.contact-dock a:focus-visible span { opacity: 1; transform: translateX(0); }
.contact-dock .dock-whatsapp { background: var(--success); color: var(--paper); animation-delay: -1.1s; }
@keyframes dock-float { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@keyframes dock-pulse { 0% { opacity: .42; transform: scale(.92); } 75%,100% { opacity: 0; transform: scale(1.22); } }

.callback-modal { position: fixed; inset: 0; z-index: 300; display: grid; padding: 20px; place-items: center; }
body.callback-open { overflow: hidden; }
.callback-modal[hidden] { display: none; }
.callback-backdrop { position: absolute; inset: 0; border: 0; background: rgba(6,21,45,.58); backdrop-filter: blur(7px); cursor: default; }
.callback-panel { position: relative; width: min(100%, 470px); max-height: calc(100dvh - 40px); padding: 34px; overflow-y: auto; border-radius: 16px; background: var(--paper); box-shadow: 0 32px 90px rgba(6,21,45,.3); opacity: 0; transform: translateY(20px) scale(.98); transition: opacity 180ms ease, transform 260ms var(--ease-out); }
.callback-modal.is-open .callback-panel { opacity: 1; transform: translateY(0) scale(1); }
.callback-close { position: absolute; top: 16px; right: 16px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--ice-50); color: var(--ink); cursor: pointer; }
.callback-close i::before,.callback-close i::after { position: absolute; top: 18px; left: 10px; width: 18px; height: 1px; background: currentColor; content: ""; transform: rotate(45deg); }
.callback-close i::after { transform: rotate(-45deg); }
.callback-symbol { display: grid; width: 48px; height: 48px; margin-bottom: 22px; place-items: center; border-radius: 14px; background: var(--ice-100); color: var(--cobalt-700); }
.callback-symbol svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.callback-panel h2 { padding-right: 42px; font-size: 31px; }
.callback-panel > p { margin: 10px 0 24px; color: var(--ink-soft); }
.callback-form { display: grid; gap: 17px; }
.callback-form > label:not(.callback-consent) { display: grid; gap: 6px; }
.callback-form label > span { font-size: 12px; font-weight: 650; }
.callback-form input:not([type="checkbox"]) { width: 100%; height: 47px; padding: 0 13px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--paper); color: var(--ink); }
.callback-form input:focus { border-color: var(--cobalt-600); outline: 3px solid rgba(21,94,239,.16); outline-offset: 1px; }
.callback-consent { display: grid; align-items: start; grid-template-columns: 20px 1fr; gap: 10px; color: var(--ink-soft); line-height: 1.45; }
.callback-consent input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--cobalt-600); }
.callback-form .button { width: 100%; }
.callback-status { min-height: 20px; margin: 0; color: var(--ink-soft); font-size: 13px; text-align: center; }
.callback-status.is-success { color: var(--success); }
.callback-status.is-error { color: var(--danger); }
.grecaptcha-badge { visibility: hidden !important; }
.recaptcha-notice { margin: -7px 0 0; color: var(--ink-soft); font-size: 11px; line-height: 1.45; text-align: center; }

.server-showcase { display: grid; margin-top: 10px; border-top: 1px solid var(--line-strong); }
.server-card { display: grid; min-height: 245px; padding: 28px 0; align-items: center; border-bottom: 1px solid var(--line); grid-template-columns: minmax(220px, .72fr) minmax(0, 1fr); gap: 42px; }
.server-card-media { height: 190px; overflow: hidden; border-radius: 14px; background: var(--ice-50); }
.server-card-media img { width: 100%; height: 100%; object-fit: cover; }
.server-card-copy h2 { margin: 0 0 10px; font-size: 28px; }
.server-card-copy p { max-width: 56ch; margin: 0 0 20px; color: var(--ink-soft); }
.server-card-copy a { display: inline-flex; align-items: center; gap: 12px; color: var(--cobalt-700); font-weight: 650; }
.server-card-copy a i { width: 8px; height: 8px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); }

@media (max-width: 980px) {
    .premium-nav .nav-group { display: block; height: auto; }
    .premium-nav .nav-parent-row,.premium-nav .nav-parent { height: auto; }
    .contact-dock a,.contact-dock a:hover,.contact-dock a:focus-visible { width: 48px; height: 48px; border-radius: 50%; }
    .contact-dock span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
}

@media (max-width: 660px) {
    .contact-dock { bottom: 14px; left: 14px; }
    .callback-modal { padding: 12px; }
    .callback-panel { max-height: calc(100dvh - 24px); padding: 27px 21px; }
    .callback-panel h2 { font-size: 27px; }
    .server-card { display: block; padding: 22px 0; }
    .server-card-media { height: 205px; margin-bottom: 20px; }
    .server-card-copy h2 { font-size: 25px; }
}

/* Smooth FAQ disclosure */
.faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows 300ms var(--ease-out), opacity 180ms ease; }
.faq-answer > div { min-height: 0; overflow: hidden; }
.faq-answer p { max-width: 720px; margin: -4px 45px 24px 0; color: var(--ink-soft); }
.faq-list details[open] .faq-answer,.page-faq details[open] .faq-answer { grid-template-rows: 1fr; opacity: 1; }
.home-address { display: grid; width: 100%; margin-top: 18px; padding: 19px 20px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; background: rgba(6,21,45,.14); grid-template-columns: 28px minmax(0,1fr); gap: 14px; }
.home-address svg { width: 25px; height: 25px; margin-top: 2px; fill: none; stroke: var(--cyan-300); stroke-width: 1.6; }
.home-address strong { display: block; margin-bottom: 3px; color: var(--paper); font-size: 13px; }
.home-address address { width: 100%; margin: 0; color: #dcecff; font-size: 13px; font-style: normal; line-height: 1.55; white-space: nowrap; }

/* References */
.references-hero { position: relative; padding: 92px 0 82px; overflow: hidden; background: linear-gradient(118deg,var(--navy-950),var(--navy-800)); color: var(--paper); }
.references-route { position: absolute; top: -390px; right: -150px; width: 760px; height: 760px; border: 1px solid rgba(80,213,255,.2); border-radius: 50%; box-shadow: inset 0 0 140px rgba(21,94,239,.15); }
.references-hero-grid { position: relative; display: grid; align-items: end; grid-template-columns: minmax(0,1.15fr) minmax(360px,.65fr); gap: 80px; }
.references-hero .breadcrumb { color: #c5d7eb; }
.references-hero h1 { max-width: 820px; }
.references-hero-grid > p { margin: 0 0 8px; color: #c5d7eb; font-size: 18px; }
.references-directory { background: var(--ice-50); }
.reference-grid { display: grid; border-top: 1px solid var(--line-strong); grid-template-columns: repeat(5,minmax(0,1fr)); }
.reference-item { display: grid; min-width: 0; min-height: 188px; margin: 0; padding: 22px 18px 18px; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); grid-template-rows: 112px minmax(34px,auto); align-items: start; }
.reference-item:nth-child(5n) { border-right: 0; }
.reference-item > div { display: grid; width: 100%; height: 112px; min-width: 0; overflow: hidden; place-items: center; }
.reference-item img { width: auto; height: auto; max-width: 100%; max-height: 88px; object-fit: contain; }
.reference-item figcaption { margin-top: 14px; color: var(--ink-soft); font-size: 12px; line-height: 1.4; text-align: center; }
.reference-contact { padding: 62px 0; background: var(--paper); }
.reference-contact .premium-shell { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.reference-contact h2 { max-width: 760px; font-size: 35px; }

/* Contact page */
.contact-page-hero { position: relative; padding: 68px 0 78px; overflow: hidden; background: linear-gradient(118deg,var(--ice-50),#e7f3ff); color: var(--ink); }
.contact-page-hero::after { position: absolute; inset: auto 0 0; height: 1px; background: rgba(21,94,239,.2); content: ""; }
.contact-page-route { position: absolute; z-index: 1; bottom: -440px; left: -250px; width: 760px; height: 760px; border: 1px solid rgba(21,94,239,.12); border-radius: 50%; box-shadow: inset 0 0 140px rgba(21,94,239,.05); }
.contact-page-heading { position: relative; z-index: 2; display: grid; min-height: 510px; align-items: center; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 58px; }
.contact-page-copy { padding: 36px 0; }
.contact-page-hero .breadcrumb { color: var(--ink-soft); }
.contact-page-heading h1 { max-width: 650px; font-size: clamp(46px,4vw,62px); }
.contact-page-copy > p { max-width: 590px; margin: 25px 0 10px; color: var(--ink-soft); font-size: 18px; }
.contact-page-copy .text-link { color: var(--cobalt-700); }
.contact-hero-photo { position: relative; height: 510px; margin: 0; overflow: hidden; border-radius: 16px; background: var(--navy-900); box-shadow: 0 30px 75px rgba(7,26,53,.2); }
.contact-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: 56% center; }
.contact-hero-photo::after { position: absolute; inset: 48% 0 0; background: linear-gradient(180deg,transparent,rgba(6,21,45,.9)); content: ""; }
.contact-hero-photo figcaption { position: absolute; right: 30px; bottom: 28px; left: 30px; z-index: 2; display: grid; gap: 6px; color: var(--paper); }
.contact-hero-photo figcaption strong { font-size: 21px; }
.contact-hero-photo figcaption span { max-width: 520px; color: #c5d7eb; font-size: 13px; }
.contact-details { padding-top: 72px; padding-bottom: 72px; background: var(--paper); }
.contact-detail-grid { display: grid; border-top: 1px solid var(--line-strong); grid-template-columns: repeat(4,minmax(0,1fr)); }
.contact-detail-grid article { min-height: 165px; padding: 26px 25px 12px 0; border-right: 1px solid var(--line); }
.contact-detail-grid article:not(:first-child) { padding-left: 25px; }
.contact-detail-grid article:last-child { border-right: 0; }
.contact-detail-grid h2 { margin-bottom: 16px; color: var(--cobalt-700); font-size: 14px; }
.contact-detail-grid a,.contact-detail-grid p,.contact-detail-grid address { display: block; margin: 0 0 6px; color: var(--ink); font-size: 15px; font-style: normal; line-height: 1.65; }
.contact-page-form-zone { border-top: 1px solid var(--line); background: linear-gradient(125deg,var(--paper),var(--ice-50)); color: var(--ink); }
.contact-page-form-grid { display: grid; align-items: start; grid-template-columns: minmax(0,.8fr) minmax(480px,1.2fr); gap: 100px; }
.contact-page-form-grid > div { padding-top: 24px; }
.contact-page-form-grid > div > p { max-width: 530px; margin: 24px 0 30px; color: var(--ink-soft); }
.contact-socials { display: flex; flex-wrap: wrap; gap: 10px; }
.contact-socials a { display: grid; width: 45px; height: 45px; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: var(--paper); color: var(--cobalt-700); transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 200ms var(--ease-out); }
.contact-socials a:hover { border-color: var(--cobalt-600); background: var(--cobalt-600); color: var(--paper); transform: translateY(-2px); }
.contact-socials a[aria-label="Facebook"] svg { fill: currentColor; stroke: none; }
.contact-map { background: var(--paper); }
.contact-map-heading { display: flex; margin-bottom: 34px; align-items:end; justify-content:space-between; gap:30px; }
.contact-map-heading h2 { margin: 0; font-size: clamp(34px,4vw,52px); }
.contact-map-heading p { margin: 0 0 6px; color: var(--ink-soft); }
.contact-map-frame { overflow: hidden; border-radius: 16px; box-shadow: 0 25px 65px rgba(7,26,53,.13); }
.contact-map iframe { display: block; width: 100%; height: 470px; border: 0; }

@media (max-width: 980px) {
    .home-address address { white-space: normal; }
    .references-hero-grid,.contact-page-form-grid,.contact-page-heading { grid-template-columns: 1fr; gap: 34px; }
    .contact-page-heading { min-height: 0; }
    .contact-hero-photo { height: 480px; }
    .not-found-grid { grid-template-columns: 1fr; gap: 48px; }
    .error-diagram { width: min(100%,620px); height: 360px; }
    .reference-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .reference-item:nth-child(5n) { border-right: 1px solid var(--line); }
    .reference-item:nth-child(3n) { border-right: 0; }
    .contact-detail-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .contact-detail-grid article:nth-child(2) { border-right: 0; }
    .contact-detail-grid article:nth-child(n+3) { border-top: 1px solid var(--line); }
}

@media (max-width: 660px) {
    .references-hero,.contact-page-hero { padding: 64px 0 58px; }
    .contact-page-copy { padding: 0; }
    .contact-hero-photo { height: 350px; }
    .contact-hero-photo figcaption { right: 20px; bottom: 20px; left: 20px; }
    .reference-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .reference-item,.reference-item:nth-child(3n),.reference-item:nth-child(5n) { min-height: 158px; padding: 17px 12px; border-right: 1px solid var(--line); grid-template-rows: 88px minmax(30px,auto); }
    .reference-item:nth-child(2n) { border-right: 0; }
    .reference-item > div { height: 88px; }
    .reference-contact .premium-shell { align-items: flex-start; flex-direction: column; }
    .reference-contact h2 { font-size: 29px; }
    .contact-detail-grid { grid-template-columns: 1fr; }
    .contact-detail-grid article,.contact-detail-grid article:not(:first-child) { min-height: 0; padding: 22px 0; border-right: 0; border-top: 1px solid var(--line); }
    .contact-detail-grid article:first-child { border-top: 0; }
    .contact-page-form-grid { gap: 38px; }
    .contact-map-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
    .contact-map iframe { height: 360px; }
    .not-found { padding: 66px 0; }
    .not-found-links { align-items: flex-start; flex-direction: column; gap: 12px; }
    .error-status { top: 76px; left: 12%; width: 235px; padding: 21px; }
    .error-route-a { top: 28px; height: 112px; }
    .error-route-b { bottom: 28px; height: 115px; }
    .error-node-start { top: 20px; }
    .error-node-lost { top: 128px; }
    .error-node-end { bottom: 20px; }
}

@media (max-width: 660px) {
    .premium-shell{width:min(100% - 28px,560px)}.premium-header .premium-brand img{width:150px}.footer-brand img{width:190px}.menu-toggle span{display:none}.section{padding:82px 0}.hero-copy{padding:54px 0 34px}.hero-copy h1{margin-top:32px;font-size:clamp(41px,12vw,57px)}.hero-lead{font-size:16px}.hero-actions{align-items:stretch;flex-direction:column}.hero-actions .button{width:100%}.hero-network{height:505px}.hero-photo-engineer{top:0;left:0;width:52%;height:440px}.hero-photo-support{right:0;bottom:0;width:62%;height:300px}.operations-panel{top:92px;left:37%;width:175px;padding:17px}.operations-panel p{padding:6px 0;font-size:11px}.hero-route{transform:scale(.94);transform-origin:center}.journey-route{left:max(41px,calc((100% - 560px)/2 + 27px))}.journey article,.journey article:not(:first-child){padding-left:62px}.journey-number{font-size:31px}.trust-layout{gap:25px}.logo-row{grid-template-columns:repeat(3,1fr);gap:18px}.section-heading{margin-bottom:40px}.section-heading h2,.solutions h2,.direct-answer h2,.faq-zone h2,.contact-zone h2,.resource-hero h1,.content-title h1,.not-found h1{font-size:clamp(35px,10vw,46px)}.service-feature,.service-feature:nth-child(even){display:block;padding:22px 0}.service-media{height:220px;margin-bottom:22px}.service-copy{display:grid;grid-template-columns:43px 1fr;column-gap:12px}.service-copy h3{font-size:25px}.solutions-grid{gap:38px}.solutions-visual{height:430px}.solutions-visual figcaption{right:22px;bottom:20px;left:22px}.answer-grid{gap:32px}.answer-copy .answer-lead{font-size:19px}.featured-post>.post-image{height:310px}.featured-post h3{font-size:27px}.post-rail{display:block;border-top:1px solid var(--line)}.rail-post{display:grid;padding:17px 0;border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:15px}.rail-post .post-image{height:95px;margin:0}.rail-post p{display:none}.faq-grid{gap:32px}.faq-list summary,.page-faq summary{min-height:68px;font-size:16px}.contact-grid{gap:38px}.premium-form{padding:25px 20px}.content-hero-grid{gap:38px}.content-title>p{font-size:16px}.content-cover{height:330px}.answer-summary{padding:23px 21px}.answer-summary p{font-size:17px}.rich-content{font-size:16px}.rich-content h2{font-size:30px}.rich-content h3{font-size:24px}.service-process>div{grid-template-columns:1fr}.service-process article,.service-process article:not(:first-child){padding:22px 0;border-right:0;border-bottom:1px solid var(--line)}.article-cta{padding:28px 23px;align-items:flex-start;flex-direction:column}.article-cta h2{font-size:27px}.related-list{grid-template-columns:1fr}.related-list a{min-height:72px;padding:0 8px;border-right:0;font-size:17px}.resource-hero{padding:55px 0 70px}.resource-feature{gap:25px}.resource-feature>.post-image{height:270px}.resource-feature h2{font-size:28px}.blog-grid{grid-template-columns:1fr;row-gap:45px}.blog-card .post-image{height:235px}.public-pagination nav>div:last-child{align-items:flex-start;flex-direction:column}.pagination{flex-wrap:wrap}.not-found{padding:80px 0}.not-found-grid{grid-template-columns:1fr}.error-diagram{height:260px;opacity:.8}.footer-grid{grid-template-columns:1fr;gap:35px}.footer-intro{grid-column:auto}.footer-bottom{gap:7px;flex-direction:column}
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (max-width: 980px) {
    .nav-group:hover .submenu,
    .nav-group:focus-within .submenu {
        left: auto;
        opacity: 0;
        pointer-events: none;
        transform: none;
    }

    .nav-group.mobile-expanded .submenu {
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
}
