:root {
  --sw-violet: #3b16ad;
  --sw-violet-2: #2b0f82;
  --sw-violet-3: #1c075f;
  --sw-red: #ff1738;
  --sw-green: #32b64b;
  --sw-ink: #141424;
  --sw-text: #4f5265;
  --sw-muted: #74778b;
  --sw-line: #e8e6ef;
  --sw-soft: #f7f6fb;
  --sw-white: #ffffff;
  --sw-dark: #09071a;
  --sw-dark-2: #110b35;
  --sw-container: 1220px;
  --sw-radius: 26px;
  --sw-shadow: 0 24px 70px rgba(29, 12, 88, .12);
  --sw-ease: cubic-bezier(.2,.8,.2,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--sw-ink);
  background: var(--sw-white);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body { overflow-x: hidden; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
::selection { background: rgba(59,22,173,.18); color: var(--sw-violet-3); }

.sw-container { width: min(calc(100% - 40px), var(--sw-container)); margin-inline: auto; }
.sw-section { padding: 108px 0; position: relative; }
.sw-section-dark { color: var(--sw-white); background: var(--sw-dark); }
.sw-soft-section { background: var(--sw-soft); }
.sw-kicker {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  color: var(--sw-violet); font-size: 12px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase;
}
.sw-kicker::before { content: ""; width: 24px; height: 2px; background: linear-gradient(90deg,var(--sw-red),var(--sw-violet)); border-radius: 99px; }
.sw-kicker--light { color: #d9d1ff; }
.sw-kicker--light::before { background: linear-gradient(90deg,var(--sw-red),#fff); }

.sw-skip-link {
  position: fixed; z-index: 10000; left: 14px; top: 14px; transform: translateY(-140%);
  background: #fff; color: #111; padding: 12px 18px; border-radius: 10px; font-weight: 800;
}
.sw-skip-link:focus { transform: translateY(0); }


/* WordPress Customizer preview controls
   The blue circular pencil is a WordPress Customizer edit shortcut, not part of
   the public site. Hide it in preview so the header matches the live design. */
.customize-partial-edit-shortcut,
.customize-partial-edit-shortcut-button,
.customize-partial-edit-shortcuts-shown .customize-partial-edit-shortcut {
  display: none !important;
}

/* Header */
.sw-site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 999; padding: 18px 0; transition: padding .3s var(--sw-ease), background .3s var(--sw-ease), box-shadow .3s var(--sw-ease), backdrop-filter .3s;
}
.sw-site-header.is-scrolled { padding: 10px 0; background: rgba(9,7,26,.82); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); box-shadow: 0 12px 40px rgba(0,0,0,.12); }
.sw-header-shell {
  width: min(calc(100% - 40px), 1320px); margin: 0 auto; min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 28px;
  padding: 8px 12px 8px 10px; border: 1px solid rgba(255,255,255,.14); border-radius: 24px; background: rgba(255,255,255,.07); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
}
.sw-brand { display: inline-flex; align-items: center; min-width: 250px; gap: 12px; }
.sw-brand-mark { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; background: #fff; padding: 5px; box-shadow: 0 8px 22px rgba(0,0,0,.15); flex: 0 0 auto; }
.sw-brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sw-brand-copy { display: grid; gap: 1px; }
.sw-brand-copy strong { color: #fff; font-size: 15px; letter-spacing: .05em; line-height: 1.2; }
.sw-brand-copy small { color: rgba(255,255,255,.63); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }

.sw-primary-nav { margin-left: auto; }
.sw-menu { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sw-menu > li { position: relative; }
.sw-menu > li > a {
  display: inline-flex; align-items: center; min-height: 46px; padding: 0 14px; color: rgba(255,255,255,.84); border-radius: 14px;
  font-size: 13px; font-weight: 760; letter-spacing: .025em; transition: color .22s var(--sw-ease), background .22s var(--sw-ease), transform .22s var(--sw-ease);
}
.sw-menu > li > a:hover, .sw-menu > li > a:focus-visible, .sw-menu > li.current-menu-item > a, .sw-menu > li.current-menu-ancestor > a { color: #fff; background: rgba(255,255,255,.10); }
.sw-menu > li:last-child > a { background: #fff; color: var(--sw-violet-2); padding-inline: 18px; }
.sw-menu > li.menu-item-has-children > a { white-space: nowrap; }
.sw-menu > li:last-child > a:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(255,255,255,.12); }
.sw-menu .sub-menu {
  position: absolute; top: calc(100% + 12px); left: 0; min-width: 235px; margin: 0; padding: 10px; list-style: none; border-radius: 18px;
  background: rgba(17,11,53,.97); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 60px rgba(0,0,0,.28); opacity: 0; visibility: hidden; transform: translateY(10px); transition: .2s var(--sw-ease);
}
.sw-menu .sub-menu::before { content: ""; position: absolute; height: 16px; left: 0; right: 0; top: -14px; }
.sw-menu li:hover > .sub-menu, .sw-menu li:focus-within > .sub-menu, .sw-menu li.is-submenu-open > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.sw-menu .sub-menu a { display: flex; padding: 11px 12px; color: rgba(255,255,255,.78); border-radius: 11px; font-size: 13px; font-weight: 700; }
.sw-menu .sub-menu a:hover, .sw-menu .sub-menu a:focus-visible { background: rgba(255,255,255,.09); color: #fff; }

.sw-menu-toggle { display: none; border: 0; background: transparent; color: #fff; align-items: center; gap: 10px; padding: 10px; }
.sw-menu-toggle-label { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sw-menu-icon { width: 26px; height: 18px; position: relative; display: block; }
.sw-menu-icon i { position: absolute; left: 0; width: 26px; height: 2px; background: #fff; border-radius: 99px; transition: .25s var(--sw-ease); }
.sw-menu-icon i:first-child { top: 3px; }
.sw-menu-icon i:last-child { bottom: 3px; width: 18px; right: 0; left: auto; }
.sw-menu-toggle[aria-expanded="true"] .sw-menu-icon i:first-child { top: 8px; transform: rotate(45deg); }
.sw-menu-toggle[aria-expanded="true"] .sw-menu-icon i:last-child { bottom: 8px; width: 26px; transform: rotate(-45deg); }
.sw-menu > .menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; margin-left: 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-2px); opacity: .72; transition: transform .2s var(--sw-ease); }
.sw-menu > .menu-item-has-children:hover > a::after, .sw-menu > .menu-item-has-children.is-submenu-open > a::after { transform: rotate(225deg) translate(-1px,-1px); }
.sw-menu-backdrop { display: none; position: fixed; inset: 0; z-index: 1; margin: 0; padding: 0; border: 0; background: rgba(4,3,12,.58); opacity: 0; transition: opacity .25s var(--sw-ease); }

/* Buttons */
.sw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 0 22px; border-radius: 999px; border: 1px solid transparent; font-size: 13px; font-weight: 850; letter-spacing: .04em; transition: transform .22s var(--sw-ease), box-shadow .22s var(--sw-ease), background .22s var(--sw-ease), border-color .22s var(--sw-ease); }
.sw-btn svg { width: 18px; height: 18px; transition: transform .22s var(--sw-ease); }
.sw-btn:hover { transform: translateY(-3px); }
.sw-btn:hover svg { transform: translateX(4px); }
.sw-btn--primary { color: #fff; background: linear-gradient(135deg,var(--sw-violet),var(--sw-violet-2)); box-shadow: 0 14px 30px rgba(59,22,173,.22); }
.sw-btn--light { color: var(--sw-violet-2); background: #fff; box-shadow: 0 14px 40px rgba(0,0,0,.18); }
.sw-btn--outline-light { color: #fff; background: transparent; border-color: rgba(255,255,255,.25); }
.sw-btn--outline-light:hover { background: rgba(255,255,255,.08); }
.sw-text-link { display: inline-flex; align-items: center; gap: 9px; color: rgba(255,255,255,.78); font-size: 13px; font-weight: 760; }
.sw-text-link svg { width: 18px; height: 18px; }
.sw-text-link:hover { color: #fff; }

/* Hero */
.sw-hero { position: relative; min-height: 860px; overflow: hidden; display: grid; align-items: center; padding: 160px 0 100px; background:
  radial-gradient(circle at 20% 30%, rgba(75,30,196,.48), transparent 32%),
  radial-gradient(circle at 84% 15%, rgba(83,30,214,.40), transparent 30%),
  linear-gradient(135deg,#09071a 0%,#150846 52%,#09071a 100%);
}
.sw-hero-noise { position: absolute; inset: 0; opacity: .12; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.12'/%3E%3C/svg%3E"); }
.sw-hero::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -85px; height: 170px; border-radius: 50% 50% 0 0; background: #fff; }
.sw-hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.sw-hero-orb--one { width: 520px; height: 520px; right: -160px; top: -180px; background: radial-gradient(circle at 35% 35%,rgba(119,65,255,.35),rgba(60,16,176,.04) 65%,transparent 70%); border: 1px solid rgba(255,255,255,.05); }
.sw-hero-orb--two { width: 420px; height: 420px; left: -260px; bottom: -60px; background: radial-gradient(circle,rgba(255,23,56,.15),transparent 68%); }
.sw-hero-grid { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(480px,.98fr); gap: 64px; align-items: center; position: relative; z-index: 2; }
.sw-eyebrow { display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 820; letter-spacing: .14em; text-transform: uppercase; color: #d5cdfa; margin-bottom: 22px; }
.sw-eyebrow span { width: 8px; height: 8px; border-radius: 50%; background: var(--sw-green); box-shadow: 0 0 0 6px rgba(50,182,75,.12); }
.sw-hero h1 { margin: 0; max-width: 750px; font-size: clamp(54px,6vw,90px); line-height: .95; letter-spacing: -.055em; font-weight: 860; }
.sw-hero h1 em { display: block; margin-top: 8px; color: var(--sw-red); font-style: normal; text-shadow: 0 12px 38px rgba(255,23,56,.18); }
.sw-hero-copy > p { margin: 30px 0 0; max-width: 650px; color: rgba(255,255,255,.72); font-size: clamp(17px,1.7vw,20px); line-height: 1.75; }
.sw-hero-actions { display: flex; align-items: center; gap: 22px; margin-top: 34px; }
.sw-hero-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.sw-hero-tags span { color: rgba(255,255,255,.72); border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.055); padding: 8px 12px; border-radius: 999px; font-size: 11px; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }

.sw-hero-visual { position: relative; min-height: 560px; transform-style: preserve-3d; perspective: 1200px; }
.sw-visual-panel { position: absolute; inset: 36px 24px 38px 38px; border-radius: 38px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); background: linear-gradient(150deg,rgba(67,44,139,.88),rgba(20,12,61,.96)); box-shadow: 0 35px 100px rgba(0,0,0,.34); transform: none; }
.sw-visual-panel::before { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg,rgba(255,255,255,.08),transparent 38%); pointer-events: none; }
.sw-visual-topline, .sw-visual-bottom { position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; }
.sw-visual-topline { border-bottom: 1px solid rgba(255,255,255,.09); font-size: 10px; letter-spacing: .13em; color: rgba(255,255,255,.55); }
.sw-visual-topline b { color: #fff; font-size: 10px; }
.sw-route-scene { position: relative; height: 365px; display: grid; place-items: center; }
.sw-route-map { width: 100%; height: 100%; overflow: visible; }
.sw-globe-ring, .sw-globe-line { fill: none; stroke: rgba(255,255,255,.12); stroke-width: 1.2; }
.sw-route-path { fill: none; stroke-width: 4; stroke-linecap: round; stroke-dasharray: 18 12; animation: swRouteDash 6s linear infinite; }
.sw-route-path--red { stroke: url(#route-red); }
.sw-route-path--green { stroke: url(#route-green); animation-direction: reverse; animation-duration: 7s; }
.sw-route-node { fill: #fff; stroke: rgba(255,255,255,.28); stroke-width: 6; }
.sw-route-node--hub { fill: var(--sw-red); stroke: rgba(255,23,56,.25); stroke-width: 12; animation: swPulse 2.4s ease-in-out infinite; }
.sw-route-plane {
  fill: #fff;
  stroke: none;
  transform-box: fill-box;
  transform-origin: center;
  offset-path: path("M83 294 C180 146 254 364 356 208 C430 95 501 151 574 93");
  offset-rotate: auto 90deg;
  animation: swPlaneRoute 8s linear infinite;
  filter: drop-shadow(0 7px 8px rgba(0,0,0,.34)) drop-shadow(0 0 7px rgba(255,255,255,.18));
  will-change: offset-distance;
}
.sw-route-plane path { fill: #fff; stroke: rgba(255,255,255,.28); stroke-width: .55; vector-effect: non-scaling-stroke; }
.sw-route-logo { position: absolute; width: 128px; height: 128px; object-fit: contain; filter: drop-shadow(0 18px 35px rgba(0,0,0,.22)); }
.sw-visual-bottom { border-top: 1px solid rgba(255,255,255,.09); }
.sw-visual-bottom > div { display: grid; gap: 2px; }
.sw-visual-bottom small { color: rgba(255,255,255,.48); font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.sw-visual-bottom strong { font-size: 13px; letter-spacing: .02em; }
/* Crisp, fixed service cards: the route and aircraft carry the motion, not the labels. */
.sw-floating-chip { --sw-chip-accent: var(--sw-red); position: absolute; z-index: 5; display: flex; align-items: center; gap: 10px; min-width: 188px; padding: 12px 14px 12px 16px; border: 1px solid rgba(20,13,52,.08); border-radius: 18px; background: #fff; color: var(--sw-ink); box-shadow: 0 16px 36px rgba(0,0,0,.20); transform: none !important; animation: none !important; }
.sw-floating-chip::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; border-radius: 18px 0 0 18px; background: var(--sw-chip-accent); }
.sw-floating-chip::after { content: ""; position: absolute; top: 50%; width: 34px; height: 1px; background: linear-gradient(90deg,var(--sw-chip-accent),rgba(255,255,255,.32)); }
.sw-floating-chip--air { left: 0; top: 118px; }
.sw-floating-chip--air::after { right: -34px; }
.sw-floating-chip--road { --sw-chip-accent: var(--sw-green); right: 0; bottom: 88px; }
.sw-floating-chip--road::after { left: -34px; transform: rotate(180deg); }
.sw-iconbox { width: 39px; height: 39px; flex: 0 0 39px; border-radius: 13px; display: grid; place-items: center; color: #fff; background: var(--sw-red); box-shadow: 0 0 0 4px rgba(255,23,56,.08); }
.sw-iconbox--green { background: var(--sw-green); box-shadow: 0 0 0 4px rgba(50,182,75,.09); }
.sw-iconbox svg { width: 20px; height: 20px; }
.sw-floating-chip div { display: grid; line-height: 1.2; }
.sw-floating-chip b { font-size: 12px; }
.sw-floating-chip small { color: var(--sw-muted); font-size: 10px; margin-top: 4px; display: inline-flex; align-items: center; gap: 5px; }
.sw-floating-chip small::before { content: ""; width: 5px; height: 5px; flex: 0 0 5px; border-radius: 50%; background: var(--sw-chip-accent); }

/* v1.18 hero photography: a real cargo-operation image replaces the abstract network panel. */
.sw-hero-visual--photo { min-height: 560px; display: flex; align-items: center; justify-content: center; perspective: none; transform-style: flat; }
.sw-hero-photo-card { position: relative; width: 100%; height: 520px; margin: 0; overflow: hidden; border-radius: 34px; border: 1px solid rgba(255,255,255,.16); background: #171038; box-shadow: 0 34px 90px rgba(0,0,0,.36); isolation: isolate; }
.sw-hero-photo-card::before { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(180deg,rgba(8,5,27,.42) 0%,rgba(8,5,27,.04) 38%,rgba(8,5,27,.08) 57%,rgba(8,5,27,.82) 100%); }
.sw-hero-photo-card::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.035); border-radius: inherit; }
.sw-hero-photo-image { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: 67% 50%; transform: scale(1.002); }
.sw-hero-photo-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg,rgba(32,13,100,.12),transparent 40%,rgba(9,5,29,.08)); }
.sw-hero-photo-topline { position: absolute; z-index: 5; top: 0; left: 0; right: 0; min-height: 68px; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px; color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.16); background: linear-gradient(180deg,rgba(9,5,35,.58),rgba(9,5,35,.05)); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.sw-hero-photo-topline span { display: inline-flex; align-items: center; gap: 9px; }
.sw-hero-photo-topline i { display: block; width: 7px; height: 7px; border-radius: 50%; background: var(--sw-red); box-shadow: 0 0 0 5px rgba(255,23,56,.16); }
.sw-hero-photo-topline b { color: #fff; font-size: 10px; white-space: nowrap; }
.sw-hero-photo-caption { position: absolute; z-index: 5; left: 24px; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 14px; margin: 0; padding: 15px 17px; max-width: 520px; border: 1px solid rgba(255,255,255,.16); border-radius: 18px; background: rgba(13,8,42,.74); color: #fff; box-shadow: 0 18px 44px rgba(0,0,0,.22); }
.sw-hero-photo-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,var(--sw-red),#e60f71); box-shadow: 0 10px 26px rgba(255,23,56,.28); }
.sw-hero-photo-icon svg { width: 23px; height: 23px; }
.sw-hero-photo-caption div { display: grid; gap: 4px; min-width: 0; }
.sw-hero-photo-caption small { color: rgba(255,255,255,.62); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sw-hero-photo-caption strong { max-width: 390px; font-size: 13px; line-height: 1.45; letter-spacing: .01em; }
.sw-hero-photo-accent { position: absolute; z-index: 6; pointer-events: none; border-radius: 99px; }
.sw-hero-photo-accent--red { left: 0; bottom: 84px; width: 4px; height: 92px; background: var(--sw-red); box-shadow: 0 0 28px rgba(255,23,56,.38); }
.sw-hero-photo-accent--green { right: 0; top: 118px; width: 4px; height: 70px; background: var(--sw-green); box-shadow: 0 0 24px rgba(50,182,75,.35); }
.sw-hero-scroll { position: absolute; z-index: 3; bottom: 76px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; color: rgba(255,255,255,.42); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.sw-hero-scroll span { width: 34px; height: 1px; background: rgba(255,255,255,.28); overflow: hidden; position: relative; }
.sw-hero-scroll span::after { content: ""; position: absolute; inset: 0; background: #fff; transform: translateX(-100%); animation: swScrollLine 2s ease-in-out infinite; }

@keyframes swRouteDash { to { stroke-dashoffset: -120; } }
@keyframes swPlaneRoute { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@keyframes swPulse { 50% { stroke-width: 22; opacity: .8; } }
@keyframes swScrollLine { 0% { transform: translateX(-100%); } 50%,100% { transform: translateX(100%); } }

/* Trust strip */
.sw-trust-strip { position: relative; z-index: 4; margin-top: -36px; }
.sw-trust-grid { display: grid; grid-template-columns: repeat(4,1fr); background: #fff; border: 1px solid var(--sw-line); border-radius: 24px; box-shadow: var(--sw-shadow); overflow: hidden; }
.sw-trust-grid > div { padding: 24px 26px; display: grid; gap: 3px; position: relative; }
.sw-trust-grid > div:not(:last-child)::after { content: ""; position: absolute; top: 22px; bottom: 22px; right: 0; width: 1px; background: var(--sw-line); }
.sw-trust-grid b { font-size: 13px; }
.sw-trust-grid span { color: var(--sw-muted); font-size: 12px; }

/* Sections */
.sw-section-heading { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; margin-bottom: 46px; }
.sw-section-heading h2, .sw-process-head h2, .sw-about-copy h2, .sw-contact-details h2, .sw-inline-contact h2 { margin: 0; font-size: clamp(38px,4.3vw,62px); line-height: 1.06; letter-spacing: -.045em; font-weight: 830; }
.sw-section-heading p { margin: 0 0 5px; color: var(--sw-text); font-size: 16px; }

.sw-service-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.sw-service-card { position: relative; min-height: 420px; padding: 30px; border: 1px solid var(--sw-line); border-radius: 28px; overflow: hidden; background: #fff; transition: transform .3s var(--sw-ease), box-shadow .3s var(--sw-ease), border-color .3s var(--sw-ease); transform-style: preserve-3d; }
.sw-service-card::before { content: ""; position: absolute; width: 240px; height: 240px; border-radius: 50%; right: -115px; bottom: -125px; background: radial-gradient(circle,rgba(255,23,56,.16),transparent 68%); transition: transform .35s var(--sw-ease); }
.sw-service-card--violet::before { background: radial-gradient(circle,rgba(59,22,173,.18),transparent 68%); }
.sw-service-card--green::before { background: radial-gradient(circle,rgba(50,182,75,.18),transparent 68%); }
.sw-service-card:hover { transform: translateY(-8px); border-color: transparent; box-shadow: 0 28px 70px rgba(22,18,47,.12); }
.sw-service-card:hover::before { transform: scale(1.25); }
.sw-service-number { color: #c9c5d3; font-size: 11px; font-weight: 900; letter-spacing: .14em; }
.sw-service-icon { width: 74px; height: 74px; margin: 62px 0 28px; display: grid; place-items: center; border-radius: 23px; color: var(--sw-red); background: rgba(255,23,56,.08); }
.sw-service-card--violet .sw-service-icon { color: var(--sw-violet); background: rgba(59,22,173,.08); }
.sw-service-card--green .sw-service-icon { color: var(--sw-green); background: rgba(50,182,75,.09); }
.sw-service-icon svg { width: 35px; height: 35px; }
.sw-service-card h3 { margin: 0 0 12px; font-size: 29px; letter-spacing: -.035em; }
.sw-service-card p { margin: 0; color: var(--sw-text); font-size: 14px; }
.sw-card-link { position: absolute; left: 30px; right: 30px; bottom: 28px; display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 820; color: var(--sw-violet); }
.sw-card-link svg { width: 18px; height: 18px; transition: transform .2s var(--sw-ease); }
.sw-service-card:hover .sw-card-link svg { transform: translateX(5px); }

/* Statistics */
.sw-stats-section { overflow: hidden; background: linear-gradient(180deg,#fff 0%,#fbfaff 100%); }
.sw-stats-heading { max-width: 840px; margin: 0 auto 46px; text-align: center; }
.sw-stats-heading .sw-kicker { justify-content: center; }
.sw-stats-heading h2 { margin: 0; font-size: clamp(40px,4.8vw,66px); line-height: 1.04; letter-spacing: -.05em; }
.sw-stats-heading > p { max-width: 720px; margin: 20px auto 0; color: var(--sw-text); font-size: 15px; }
.sw-stats-stage { position: relative; overflow: hidden; padding: 42px 28px; border: 1px solid var(--sw-line); border-radius: 34px; background: #fff; box-shadow: 0 26px 70px rgba(39,20,104,.08); }
.sw-stats-stage::before { content: ""; position: absolute; inset: 0; opacity: .42; background-image: radial-gradient(circle,rgba(59,22,173,.18) 1.2px,transparent 1.3px); background-size: 13px 13px; mask-image: radial-gradient(ellipse at center,#000 0 46%,transparent 76%); -webkit-mask-image: radial-gradient(ellipse at center,#000 0 46%,transparent 76%); pointer-events: none; }
.sw-stats-stage::after { content: ""; position: absolute; left: 8%; right: 8%; top: 50%; height: 1px; background: linear-gradient(90deg,transparent,rgba(59,22,173,.18),rgba(255,23,56,.16),rgba(50,182,75,.18),transparent); }
.sw-stats-grid { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); }
.sw-stat-card { position: relative; min-height: 185px; padding: 18px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.sw-stat-card:not(:last-child)::after { content: ""; position: absolute; top: 30px; bottom: 30px; right: 0; width: 1px; background: linear-gradient(transparent,var(--sw-line),transparent); }
.sw-stat-icon { width: 58px; height: 58px; margin-bottom: 16px; display: grid; place-items: center; border-radius: 19px; color: #fff; background: linear-gradient(145deg,var(--sw-violet),var(--sw-violet-2)); box-shadow: 0 12px 28px rgba(59,22,173,.18); }
.sw-stat-card:nth-child(1) .sw-stat-icon { background: linear-gradient(145deg,var(--sw-red),#c9102b); box-shadow: 0 12px 28px rgba(255,23,56,.16); }
.sw-stat-card:nth-child(4) .sw-stat-icon { background: linear-gradient(145deg,var(--sw-green),#1a8730); box-shadow: 0 12px 28px rgba(50,182,75,.16); }
.sw-stat-icon svg { width: 27px; height: 27px; stroke-width: 1.55; }
.sw-stat-value { display: block; color: var(--sw-violet-2); font-size: clamp(35px,3.4vw,48px); line-height: 1; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.sw-stat-card > span:last-child { margin-top: 10px; color: var(--sw-text); font-size: 12px; font-weight: 760; letter-spacing: .02em; }

.sw-network-section { overflow: hidden; background: linear-gradient(135deg,#09071a 0%,#140846 56%,#09071a 100%); }
.sw-network-section::before { content: ""; position: absolute; width: 680px; height: 680px; border-radius: 50%; right: -280px; top: -300px; background: radial-gradient(circle,rgba(71,28,205,.28),transparent 68%); }
.sw-split { display: grid; grid-template-columns: .92fr 1.08fr; gap: 80px; align-items: center; position: relative; }
.sw-network-copy h2 { margin: 0; font-size: clamp(40px,4.5vw,64px); line-height: 1.05; letter-spacing: -.045em; }
.sw-network-copy > p { color: rgba(255,255,255,.68); font-size: 16px; margin: 26px 0 0; }
.sw-check-list { list-style: none; padding: 0; margin: 30px 0 34px; display: grid; gap: 13px; }
.sw-check-list li { display: flex; gap: 11px; align-items: flex-start; color: rgba(255,255,255,.78); font-size: 14px; }
.sw-check-list svg { flex: 0 0 auto; width: 20px; height: 20px; color: var(--sw-green); margin-top: 1px; }
.sw-network-board { min-height: 520px; border-radius: 32px; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); position: relative; overflow: hidden; }
.sw-grid-map { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size: 42px 42px; mask-image: radial-gradient(circle at center,#000 30%,transparent 78%); }
.sw-network-board::after { content: ""; position: absolute; left: 50%; top: 50%; width: 360px; height: 360px; transform: translate(-50%,-50%); border-radius: 50%; border: 1px solid rgba(255,255,255,.09); box-shadow: inset 0 0 60px rgba(87,38,220,.08); }
.sw-city { position: absolute; z-index: 4; display: grid; gap: 1px; color: #fff; }
.sw-city i { width: 11px; height: 11px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 8px rgba(255,255,255,.08); margin-bottom: 8px; }
.sw-city strong { font-size: 13px; }
.sw-city small { color: rgba(255,255,255,.5); font-size: 10px; }
.sw-city--dubai { left: 43%; top: 45%; }
.sw-city--dubai i { background: var(--sw-red); box-shadow: 0 0 0 10px rgba(255,23,56,.12); }
.sw-city--gcc { left: 17%; top: 25%; }
.sw-city--east { right: 12%; top: 28%; }
.sw-city--global { right: 18%; bottom: 15%; }
.sw-network-line { position: absolute; z-index: 2; height: 2px; transform-origin: left center; background: linear-gradient(90deg,rgba(255,23,56,.9),rgba(255,255,255,.08)); border-radius: 99px; overflow: hidden; }
.sw-network-line::after { content: ""; position: absolute; width: 65px; top: 0; bottom: 0; background: linear-gradient(90deg,transparent,#fff,transparent); animation: swLineFlow 2.8s linear infinite; }
.sw-network-line--1 { left: 21%; top: 31%; width: 190px; transform: rotate(29deg); }
.sw-network-line--2 { left: 47%; top: 47%; width: 220px; transform: rotate(-24deg); }
.sw-network-line--3 { left: 47%; top: 49%; width: 250px; transform: rotate(34deg); background: linear-gradient(90deg,rgba(50,182,75,.9),rgba(255,255,255,.08)); }
@keyframes swLineFlow { from { transform: translateX(-90px); } to { transform: translateX(320px); } }

/* Excellence */
.sw-excellence-section { overflow: hidden; background: #fff; }
.sw-excellence-grid { display: grid; grid-template-columns: .92fr 1.08fr; gap: 82px; align-items: center; }
.sw-excellence-visual { min-width: 0; }
.sw-excellence-console { position: relative; min-height: 520px; overflow: hidden; border-radius: 34px; border: 1px solid rgba(255,255,255,.11); background: linear-gradient(145deg,#0c0724 0%,#231064 58%,#0b071c 100%); box-shadow: 0 30px 80px rgba(28,13,86,.20); }
.sw-excellence-console::before { content: ""; position: absolute; inset: 0; opacity: .24; background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px); background-size: 42px 42px; mask-image: linear-gradient(to bottom,#000,transparent 88%); -webkit-mask-image: linear-gradient(to bottom,#000,transparent 88%); }
.sw-excellence-console::after { content: ""; position: absolute; width: 340px; height: 340px; left: 50%; top: 50%; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle,rgba(75,34,190,.34),transparent 68%); pointer-events: none; }
.sw-excellence-console-head, .sw-excellence-console-foot { position: absolute; z-index: 5; left: 28px; right: 28px; display: flex; align-items: center; justify-content: space-between; color: rgba(255,255,255,.52); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.sw-excellence-console-head { top: 24px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.09); }
.sw-excellence-console-head b { color: #fff; font-size: 9px; }
.sw-excellence-console-foot { bottom: 23px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.09); }
.sw-excellence-orbit { position: absolute; z-index: 2; left: 50%; top: 50%; width: 285px; height: 285px; margin: -142px 0 0 -142px; border: 1px dashed rgba(255,255,255,.18); border-radius: 50%; animation: swOrbitSpin 20s linear infinite; }
.sw-excellence-orbit--two { width: 380px; height: 220px; margin: -110px 0 0 -190px; border-color: rgba(255,23,56,.20); transform: rotate(25deg); animation-duration: 26s; animation-direction: reverse; }
.sw-excellence-center { position: absolute; z-index: 4; left: 50%; top: 50%; width: 176px; height: 176px; transform: translate(-50%,-50%); display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 50%; color: #fff; text-align: center; background: linear-gradient(150deg,var(--sw-violet),var(--sw-violet-3)); border: 1px solid rgba(255,255,255,.20); box-shadow: 0 0 0 12px rgba(255,255,255,.035),0 24px 60px rgba(0,0,0,.28); }
.sw-excellence-award { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: var(--sw-red); }
.sw-excellence-award svg { width: 24px; height: 24px; }
.sw-excellence-center strong { margin-top: 10px; font-size: 38px; line-height: 1; letter-spacing: -.05em; }
.sw-excellence-center small { margin-top: 6px; color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.sw-excellence-node { position: absolute; z-index: 4; min-width: 94px; padding: 10px 12px; display: flex; align-items: center; gap: 8px; border-radius: 15px; color: #fff; background: rgba(12,7,36,.90); border: 1px solid rgba(255,255,255,.13); box-shadow: 0 16px 36px rgba(0,0,0,.18); }
.sw-excellence-node span { width: 31px; height: 31px; display: grid; place-items: center; border-radius: 10px; background: rgba(255,255,255,.09); }
.sw-excellence-node svg { width: 18px; height: 18px; }
.sw-excellence-node b { font-size: 10px; letter-spacing: .05em; }
.sw-excellence-node--air { left: 34px; top: 128px; }
.sw-excellence-node--air span { color: #fff; background: var(--sw-red); }
.sw-excellence-node--sea { right: 34px; top: 156px; }
.sw-excellence-node--sea span { color: #fff; background: var(--sw-violet); }
.sw-excellence-node--road { right: 52px; bottom: 104px; }
.sw-excellence-node--road span { color: #fff; background: var(--sw-green); }
.sw-excellence-copy h2 { margin: 0; font-size: clamp(40px,4.2vw,60px); line-height: 1.05; letter-spacing: -.05em; }
.sw-excellence-lead { max-width: 700px; margin: 24px 0 0; color: var(--sw-text); font-size: 16px; }
.sw-excellence-points { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; margin: 34px 0 30px; }
.sw-excellence-points article { padding: 22px; border: 1px solid var(--sw-line); border-radius: 22px; background: linear-gradient(180deg,#fff,#fbfaff); }
.sw-excellence-points article > span { color: var(--sw-violet); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.sw-excellence-points h3 { margin: 25px 0 9px; font-size: 17px; line-height: 1.2; }
.sw-excellence-points p { margin: 0; color: var(--sw-text); font-size: 12px; line-height: 1.65; }
@keyframes swOrbitSpin { to { transform: rotate(360deg); } }

.sw-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.sw-feature-grid--three { grid-template-columns: repeat(3,1fr); }
.sw-feature-card { min-height: 250px; padding: 28px; border: 1px solid var(--sw-line); border-radius: 24px; background: #fff; transition: transform .25s var(--sw-ease), box-shadow .25s var(--sw-ease); }
.sw-feature-card:hover { transform: translateY(-5px); box-shadow: 0 22px 50px rgba(31,19,80,.08); }
.sw-feature-card > span { display: inline-flex; width: 38px; height: 38px; align-items: center; justify-content: center; border-radius: 12px; background: var(--sw-soft); color: var(--sw-violet); font-size: 11px; font-weight: 900; }
.sw-feature-card h3 { margin: 48px 0 10px; font-size: 20px; }
.sw-feature-card p { color: var(--sw-text); font-size: 13px; margin: 0; }

.sw-process-section { padding-top: 20px; }
.sw-process-head { max-width: 800px; margin-bottom: 48px; }
.sw-process-track { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border-top: 1px solid var(--sw-line); }
.sw-process-step { position: relative; padding: 38px 26px 0 0; }
.sw-process-step:not(:last-child) { border-right: 1px solid var(--sw-line); padding-right: 28px; margin-right: 28px; }
.sw-process-step > span { position: absolute; top: -17px; left: 0; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--sw-violet); color: #fff; font-size: 11px; font-weight: 900; box-shadow: 0 0 0 7px #fff; }
.sw-process-step h3 { margin: 0 0 10px; font-size: 18px; }
.sw-process-step p { margin: 0; color: var(--sw-text); font-size: 13px; }

.sw-group-section { background: #fff; }
.sw-group-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.sw-group-card { min-height: 220px; padding: 24px; position: relative; overflow: hidden; border-radius: 24px; border: 1px solid var(--sw-line); background: linear-gradient(145deg,#fff,#faf9fd); transition: transform .25s var(--sw-ease), background .25s var(--sw-ease), color .25s var(--sw-ease); }
.sw-group-card::after { content: ""; position: absolute; width: 160px; height: 160px; border-radius: 50%; right: -80px; bottom: -90px; background: linear-gradient(135deg,rgba(59,22,173,.13),rgba(255,23,56,.08)); transition: transform .3s var(--sw-ease); }
.sw-group-card:hover { transform: translateY(-7px); background: var(--sw-dark-2); color: #fff; border-color: transparent; }
.sw-group-card:hover::after { transform: scale(1.35); }
.sw-group-index { display: block; color: #b7b3c1; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.sw-group-card small { display: block; margin-top: 54px; color: var(--sw-violet); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sw-group-card:hover small { color: #bfb2ff; }
.sw-group-card h3 { margin: 7px 46px 0 0; font-size: 20px; line-height: 1.2; }
.sw-group-card > svg { position: absolute; right: 22px; bottom: 22px; z-index: 2; width: 21px; height: 21px; }

.sw-contact-band { padding: 82px 0; background: linear-gradient(115deg,var(--sw-violet-3),var(--sw-violet),#190b53); overflow: hidden; position: relative; }
.sw-contact-band::after { content: ""; position: absolute; width: 420px; height: 420px; right: -120px; top: -230px; border-radius: 50%; background: radial-gradient(circle,rgba(255,23,56,.28),transparent 65%); }
.sw-contact-band-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.sw-contact-band h2 { margin: 0; font-size: clamp(38px,4.5vw,64px); line-height: 1.05; letter-spacing: -.045em; }
.sw-contact-band p { color: rgba(255,255,255,.68); max-width: 650px; margin: 20px 0 0; }
.sw-contact-band-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; }
.sw-contact-mini { display: flex; align-items: center; gap: 12px; color: #fff; }
.sw-contact-mini > svg { width: 25px; height: 25px; }
.sw-contact-mini span { display: grid; line-height: 1.25; }
.sw-contact-mini small { color: rgba(255,255,255,.52); font-size: 10px; }
.sw-contact-mini b { font-size: 13px; }

/* Page hero */
.sw-page-hero { position: relative; overflow: hidden; padding: 190px 0 94px; background: radial-gradient(circle at 75% 30%,rgba(82,32,214,.38),transparent 30%),linear-gradient(135deg,#09071a,#17084e 60%,#09071a); }
.sw-page-hero::after { content: ""; position: absolute; left: -10%; right: -10%; bottom: -100px; height: 150px; border-radius: 50% 50% 0 0; background: #fff; }
.sw-page-hero-orb { position: absolute; right: -90px; top: -180px; width: 500px; height: 500px; border-radius: 50%; border: 1px solid rgba(255,255,255,.07); background: radial-gradient(circle at 35% 35%,rgba(100,54,230,.24),transparent 66%); }
.sw-page-hero-inner { display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: center; position: relative; z-index: 2; }
.sw-breadcrumbs { display: flex; gap: 9px; align-items: center; margin-bottom: 28px; color: rgba(255,255,255,.48); font-size: 10px; font-weight: 780; letter-spacing: .09em; text-transform: uppercase; }
.sw-breadcrumbs a:hover { color: #fff; }
.sw-page-hero h1 { margin: 0; max-width: 850px; font-size: clamp(50px,5.8vw,78px); line-height: 1; letter-spacing: -.055em; }
.sw-page-hero-copy > p { max-width: 720px; margin: 24px 0 0; color: rgba(255,255,255,.7); font-size: 18px; }
.sw-page-hero-actions { margin-top: 28px; }
.sw-page-hero-symbol { min-height: 330px; position: relative; display: grid; place-items: center; }
.sw-symbol-ring { position: absolute; width: 305px; height: 305px; border-radius: 50%; border: 1px solid rgba(255,255,255,.16); box-shadow: 0 0 0 45px rgba(255,255,255,.025),0 0 0 95px rgba(255,255,255,.018); animation: swRing 6s ease-in-out infinite; }
.sw-symbol-icon { position: relative; z-index: 2; width: 180px; height: 180px; display: grid; place-items: center; color: #fff; border-radius: 42px; background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.04)); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(10px); transform: rotate(-7deg); }
.sw-symbol-icon svg { width: 88px; height: 88px; color: var(--sw-red); stroke-width: 1.2; }
.sw-page-hero-symbol--sea .sw-symbol-icon svg { color: #fff; }
.sw-page-hero-symbol--road .sw-symbol-icon svg { color: var(--sw-green); }
.sw-symbol-icon img { width: 122px; height: 122px; object-fit: contain; }
@keyframes swRing { 50% { transform: scale(1.05); opacity: .7; } }

/* Service detail */
.sw-service-detail-grid { display: grid; grid-template-columns: minmax(0,1fr) 340px; gap: 68px; align-items: start; }
.sw-service-main h2 { margin: 0; font-size: clamp(38px,4vw,58px); line-height: 1.08; letter-spacing: -.045em; }
.sw-service-main > p { max-width: 810px; color: var(--sw-text); font-size: 16px; margin: 24px 0 0; }
.sw-option-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 42px; }
.sw-option-grid article { padding: 24px; min-height: 255px; border-radius: 22px; background: var(--sw-soft); border: 1px solid #eeecf4; }
.sw-option-grid article > span { color: var(--sw-violet); font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.sw-option-grid h3 { margin: 50px 0 10px; font-size: 18px; line-height: 1.25; }
.sw-option-grid p { color: var(--sw-text); font-size: 13px; margin: 0; }
.sw-service-aside { display: grid; gap: 16px; position: sticky; top: 120px; }
.sw-aside-card { padding: 26px; border: 1px solid var(--sw-line); border-radius: 24px; background: #fff; }
.sw-aside-card--brand { color: #fff; background: linear-gradient(145deg,var(--sw-violet),var(--sw-violet-3)); border: 0; min-height: 180px; display: flex; flex-direction: column; justify-content: flex-end; }
.sw-aside-card--brand small { color: rgba(255,255,255,.55); font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.sw-aside-card--brand strong { margin-top: 8px; font-size: 30px; letter-spacing: -.03em; }
.sw-aside-card--brand span { color: rgba(255,255,255,.65); font-size: 12px; }
.sw-aside-card h3 { margin: 0 0 14px; font-size: 16px; }
.sw-aside-card ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; color: var(--sw-text); font-size: 13px; }
.sw-aside-card li { position: relative; padding-left: 16px; }
.sw-aside-card li::before { content: ""; position: absolute; left: 0; top: .72em; width: 5px; height: 5px; border-radius: 50%; background: var(--sw-green); }

/* About */
.sw-about-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.sw-about-copy p { color: var(--sw-text); font-size: 16px; }
.sw-about-copy .sw-btn { margin-top: 12px; }
.sw-about-stack { display: grid; gap: 14px; }
.sw-about-stack article { padding: 24px 26px; border-radius: 22px; border: 1px solid var(--sw-line); display: grid; grid-template-columns: 110px 1fr; align-items: center; column-gap: 18px; }
.sw-about-stack small { grid-column: 1; color: var(--sw-violet); font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.sw-about-stack strong { grid-column: 1; font-size: 15px; }
.sw-about-stack p { grid-column: 2; grid-row: 1 / span 2; margin: 0; color: var(--sw-text); font-size: 13px; }

/* Contact */
.sw-contact-page-grid, .sw-inline-contact-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 70px; align-items: start; }
.sw-contact-details > p, .sw-inline-contact p { color: var(--sw-text); }
.sw-contact-list, .sw-contact-cards { display: grid; gap: 12px; margin-top: 30px; }
.sw-contact-list > a, .sw-contact-list > div, .sw-contact-cards > a { display: flex; gap: 14px; align-items: center; padding: 16px; border-radius: 18px; border: 1px solid var(--sw-line); background: #fff; transition: transform .2s var(--sw-ease), border-color .2s var(--sw-ease); }
.sw-contact-list > a:hover, .sw-contact-cards > a:hover { transform: translateX(5px); border-color: #cbc3ee; }
.sw-contact-icon, .sw-contact-cards > a > svg { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; background: var(--sw-soft); color: var(--sw-violet); flex: 0 0 auto; }
.sw-contact-icon svg { width: 21px; height: 21px; }
.sw-contact-cards > a > svg { padding: 12px; }
.sw-contact-list > a > div,
.sw-contact-list > div > div,
.sw-contact-cards > a > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px;
  min-width: 0;
  line-height: 1.25;
}
.sw-contact-list small, .sw-contact-cards small { display: block; color: var(--sw-muted); font-size: 10px; line-height: 1.2; }
.sw-contact-list strong, .sw-contact-cards b { display: block; margin: 0; font-size: 13px; line-height: 1.35; }
.sw-map-link { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; color: var(--sw-violet); font-size: 12px; font-weight: 850; }
.sw-map-link svg { width: 18px; height: 18px; }
.sw-form-panel { padding: 28px; border-radius: 28px; background: #fff; border: 1px solid var(--sw-line); box-shadow: 0 24px 70px rgba(34,18,91,.08); }
.sw-form-panel--large { padding: 36px; }
.sw-inline-contact { background: var(--sw-soft); }
.sw-contact-form { position: relative; }
.sw-form-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px; }
.sw-contact-form label { display: grid; gap: 7px; }
.sw-contact-form label > span { color: var(--sw-ink); font-size: 11px; font-weight: 800; }
.sw-contact-form input, .sw-contact-form textarea, .sw-contact-form select { width: 100%; border: 1px solid #ddd9e8; border-radius: 14px; background: #fbfafd; color: var(--sw-ink); padding: 13px 14px; outline: none; transition: border-color .18s, box-shadow .18s, background .18s; }
.sw-contact-form input:focus, .sw-contact-form textarea:focus, .sw-contact-form select:focus { border-color: var(--sw-violet); background: #fff; box-shadow: 0 0 0 4px rgba(59,22,173,.08); }
.sw-form-full { grid-column: 1 / -1; }
.sw-btn--submit { margin-top: 18px; border: 0; }
.sw-form-notice { padding: 13px 15px; border-radius: 13px; margin-bottom: 18px; font-size: 13px; }
.sw-form-notice--success { background: rgba(50,182,75,.09); color: #1b7a2e; }
.sw-form-notice--error { background: rgba(255,23,56,.08); color: #b20d25; }
.sw-hp { position: absolute!important; left: -9999px!important; width: 1px!important; height: 1px!important; overflow: hidden!important; }

/* Footer */
.sw-footer { background: #080616; color: rgba(255,255,255,.72); padding: 74px 0 24px; }
.sw-footer-grid { display: grid; grid-template-columns: 1.35fr .7fr .9fr 1.05fr; gap: 54px; }
.sw-brand--footer { min-width: 0; }
.sw-brand--footer .sw-brand-mark { width: 62px; height: 62px; }
.sw-footer-brand > p { max-width: 370px; color: rgba(255,255,255,.48); font-size: 13px; margin: 20px 0 0; }
.sw-footer h2 { margin: 5px 0 18px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; }
.sw-footer-links, .sw-footer-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sw-footer-links a { font-size: 12px; color: rgba(255,255,255,.58); transition: color .2s, transform .2s; display: inline-block; }
.sw-footer-links a:hover { color: #fff; transform: translateX(4px); }
.sw-footer-contact li { display: flex; gap: 9px; align-items: flex-start; color: rgba(255,255,255,.56); font-size: 12px; }
.sw-footer-contact svg { width: 17px; height: 17px; flex: 0 0 auto; color: #a89bee; margin-top: 2px; }
.sw-footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.08); margin-top: 54px; padding-top: 22px; color: rgba(255,255,255,.38); font-size: 10px; letter-spacing: .04em; }
.sw-footer-bottom p { margin: 0; }

/* Default WordPress templates */
.sw-content-shell { padding: 170px 0 90px; min-height: 70vh; }
.sw-content-card { max-width: 900px; margin: 0 auto; }
.sw-content-card h1 { font-size: clamp(42px,5vw,68px); line-height: 1.05; letter-spacing: -.04em; }
.sw-content-card .entry-content { color: var(--sw-text); }
.sw-content-card .entry-content a { color: var(--sw-violet); text-decoration: underline; text-underline-offset: 3px; }
.sw-post-list { display: grid; gap: 18px; }
.sw-post-card { padding: 26px; border: 1px solid var(--sw-line); border-radius: 22px; }
.sw-post-card h2 { margin: 0; font-size: 24px; }
.sw-post-card p { color: var(--sw-text); }

/* Reveal */
.sw-reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--sw-ease), transform .7s var(--sw-ease); }
.sw-reveal.is-visible { opacity: 1; transform: translateY(0); }
.sw-reveal:nth-child(2) { transition-delay: .06s; }
.sw-reveal:nth-child(3) { transition-delay: .12s; }
.sw-reveal:nth-child(4) { transition-delay: .18s; }

/* Accessibility focus */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #ffb8c3; outline-offset: 3px; }

/* Admin bar */
.admin-bar .sw-site-header { top: 32px; }

@media (max-width: 1100px) {
  .sw-menu-toggle { display: inline-flex; }
  .sw-primary-nav { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px,88vw); padding: 120px 24px 34px; background: rgba(9,7,26,.98); backdrop-filter: blur(20px); transform: translateX(105%); transition: transform .32s var(--sw-ease); overflow-y: auto; }
  .sw-primary-nav.is-open { transform: translateX(0); }
  .sw-menu-backdrop { display: block; pointer-events: none; }
  body.menu-open .sw-menu-backdrop { opacity: 1; pointer-events: auto; }
  .sw-primary-nav { z-index: 2; }
  .sw-menu-toggle { position: relative; z-index: 3; }
  .sw-menu { display: grid; gap: 5px; align-items: stretch; }
  .sw-menu > li > a { width: 100%; justify-content: space-between; font-size: 16px; padding-inline: 16px; min-height: 52px; }
  .sw-menu > .menu-item-has-children > a::after { margin-left: auto; }
  .sw-menu .sub-menu a { min-height: 48px; align-items: center; }
  .sw-menu > li:last-child > a { margin-top: 8px; justify-content: center; }
  .sw-menu .sub-menu { position: static; display: none; opacity: 1; visibility: visible; transform: none; background: rgba(255,255,255,.04); box-shadow: none; margin: 4px 0 10px; min-width: 0; }
  .sw-menu li.is-submenu-open > .sub-menu { display: block; }
  .sw-menu li:hover > .sub-menu { display: none; }
  .sw-menu li.is-submenu-open:hover > .sub-menu { display: block; }
  .sw-hero-grid { grid-template-columns: 1fr 1fr; gap: 34px; }
  .sw-hero-visual { min-height: 500px; }
  .sw-floating-chip--air { left: -8px; }
  .sw-floating-chip--road { right: -8px; }
  .sw-feature-grid { grid-template-columns: repeat(2,1fr); }
  .sw-group-grid { grid-template-columns: repeat(2,1fr); }
  .sw-footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .sw-footer-grid > div:nth-child(4) { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
  .sw-section { padding: 82px 0; }
  .sw-container { width: min(calc(100% - 28px), var(--sw-container)); }
  .sw-header-shell { width: min(calc(100% - 24px),1320px); border-radius: 20px; min-height: 66px; gap: 14px; }
  .sw-primary-nav { width: min(390px,90vw); padding-top: 108px; }
  .sw-brand { min-width: 0; }
  .sw-brand-mark { width: 48px; height: 48px; border-radius: 15px; }
  .sw-brand-copy strong { font-size: 13px; }
  .sw-brand-copy small { display: none; }
  .sw-hero { min-height: auto; padding: 145px 0 120px; }
  .sw-hero::after { bottom: -120px; }
  .sw-hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .sw-hero-copy { max-width: 680px; }
  .sw-hero h1 { font-size: clamp(52px,11vw,80px); }
  .sw-hero-visual { min-height: 500px; max-width: 650px; width: 100%; margin: 0 auto; }
  .sw-hero-scroll { display: none; }
  .sw-trust-grid { grid-template-columns: repeat(2,1fr); }
  .sw-trust-grid > div:nth-child(2)::after { display: none; }
  .sw-trust-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--sw-line); }
  .sw-section-heading { grid-template-columns: 1fr; gap: 20px; }
  .sw-service-grid { grid-template-columns: 1fr; }
  .sw-stats-grid { grid-template-columns: repeat(2,1fr); }
  .sw-stat-card:nth-child(2)::after { display: none; }
  .sw-stat-card:nth-child(-n+2) { border-bottom: 1px solid var(--sw-line); }
  .sw-excellence-grid { grid-template-columns: 1fr; gap: 48px; }
  .sw-excellence-visual { max-width: 680px; width: 100%; margin: 0 auto; }
  .sw-service-card { min-height: 340px; }
  .sw-service-icon { margin-top: 36px; }
  .sw-split { grid-template-columns: 1fr; gap: 46px; }
  .sw-network-board { min-height: 460px; }
  .sw-process-track { grid-template-columns: repeat(2,1fr); row-gap: 46px; }
  .sw-process-step:nth-child(2) { border-right: 0; margin-right: 0; }
  .sw-contact-band-grid { grid-template-columns: 1fr; gap: 34px; }
  .sw-contact-band-actions { justify-content: flex-start; }
  .sw-page-hero-inner { grid-template-columns: 1fr; gap: 30px; }
  .sw-page-hero-symbol { min-height: 260px; }
  .sw-service-detail-grid { grid-template-columns: 1fr; }
  .sw-service-aside { position: static; grid-template-columns: 1fr 1fr; }
  .sw-option-grid { grid-template-columns: 1fr; }
  .sw-option-grid article { min-height: 200px; }
  .sw-option-grid h3 { margin-top: 30px; }
  .sw-about-grid { grid-template-columns: 1fr; gap: 44px; }
  .sw-contact-page-grid, .sw-inline-contact-grid { grid-template-columns: 1fr; gap: 44px; }
  .sw-footer-grid { grid-template-columns: 1fr 1fr; }
  .sw-footer-grid > div:nth-child(4) { grid-column: auto; }
}

@media (max-width: 600px) {
  .admin-bar .sw-site-header { top: 46px; }
  .sw-site-header { padding-top: 10px; }
  .sw-header-shell { padding-inline: 8px; }
  .sw-brand-copy strong { max-width: 150px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .sw-menu-toggle-label { display: none; }
  .sw-hero { padding-top: 130px; padding-bottom: 105px; }
  .sw-eyebrow { font-size: 10px; }
  .sw-hero h1 { font-size: clamp(48px,15vw,68px); }
  .sw-hero-copy > p { font-size: 16px; line-height: 1.65; }
  .sw-hero-actions { flex-direction: column; align-items: flex-start; }
  .sw-hero-visual { min-height: 390px; }
  .sw-visual-panel { inset: 10px 2px 18px 2px; border-radius: 28px; }
  .sw-route-scene { height: 260px; }
  .sw-route-plane { filter: drop-shadow(0 5px 6px rgba(0,0,0,.30)) drop-shadow(0 0 5px rgba(255,255,255,.16)); }
  .sw-route-logo { width: 94px; height: 94px; }
  .sw-floating-chip { min-width: 155px; padding: 9px 10px; }
  .sw-floating-chip--air { top: 86px; left: -5px; }
  .sw-floating-chip--road { bottom: 32px; right: -4px; }
  .sw-iconbox { width: 34px; height: 34px; }
  .sw-visual-topline, .sw-visual-bottom { padding: 14px 16px; }
  .sw-trust-strip { margin-top: -20px; }
  .sw-trust-grid { grid-template-columns: 1fr; }
  .sw-stats-heading { margin-bottom: 32px; }
  .sw-stats-heading h2 { font-size: 38px; }
  .sw-stats-stage { padding: 14px 18px; border-radius: 26px; }
  .sw-stats-stage::after { display: none; }
  .sw-stats-grid { grid-template-columns: 1fr; }
  .sw-stat-card { min-height: 158px; padding: 24px 12px; }
  .sw-stat-card:not(:last-child)::after { top: auto; left: 18px; right: 18px; bottom: 0; width: auto; height: 1px; background: var(--sw-line); }
  .sw-stat-card:nth-child(-n+2) { border-bottom: 0; }
  .sw-stat-card:nth-child(2)::after { display: block; }
  .sw-stat-icon { width: 52px; height: 52px; border-radius: 17px; }
  .sw-excellence-console { min-height: 430px; border-radius: 28px; }
  .sw-excellence-console-head, .sw-excellence-console-foot { left: 18px; right: 18px; }
  .sw-excellence-console-foot { gap: 10px; justify-content: center; flex-wrap: wrap; }
  .sw-excellence-orbit { width: 220px; height: 220px; margin: -110px 0 0 -110px; }
  .sw-excellence-orbit--two { width: 285px; height: 170px; margin: -85px 0 0 -142px; }
  .sw-excellence-center { width: 145px; height: 145px; }
  .sw-excellence-center strong { font-size: 32px; }
  .sw-excellence-node { min-width: 82px; padding: 8px 9px; }
  .sw-excellence-node--air { left: 15px; top: 115px; }
  .sw-excellence-node--sea { right: 15px; top: 142px; }
  .sw-excellence-node--road { right: 24px; bottom: 82px; }
  .sw-excellence-copy h2 { font-size: 38px; }
  .sw-excellence-points { grid-template-columns: 1fr; }
  .sw-trust-grid > div { padding: 18px 20px; border-bottom: 1px solid var(--sw-line); }
  .sw-trust-grid > div::after { display: none !important; }
  .sw-trust-grid > div:last-child { border-bottom: 0; }
  .sw-section-heading h2, .sw-process-head h2, .sw-about-copy h2, .sw-contact-details h2, .sw-inline-contact h2 { font-size: 38px; }
  .sw-feature-grid, .sw-feature-grid--three { grid-template-columns: 1fr; }
  .sw-process-track { grid-template-columns: 1fr; border-top: 0; gap: 0; }
  .sw-process-step { padding: 0 0 28px 52px; border-left: 1px solid var(--sw-line); }
  .sw-process-step:not(:last-child) { border-right: 0; padding-right: 0; margin-right: 0; }
  .sw-process-step > span { top: 0; left: -17px; box-shadow: 0 0 0 7px #fff; }
  .sw-group-grid { grid-template-columns: 1fr; }
  .sw-page-hero { padding-top: 155px; padding-bottom: 80px; }
  .sw-page-hero h1 { font-size: 48px; }
  .sw-page-hero-copy > p { font-size: 16px; }
  .sw-page-hero-symbol { min-height: 230px; }
  .sw-symbol-ring { width: 225px; height: 225px; box-shadow: 0 0 0 32px rgba(255,255,255,.025),0 0 0 65px rgba(255,255,255,.018); }
  .sw-symbol-icon { width: 145px; height: 145px; border-radius: 34px; }
  .sw-symbol-icon svg { width: 70px; height: 70px; }
  .sw-service-aside { grid-template-columns: 1fr; }
  .sw-about-stack article { grid-template-columns: 1fr; }
  .sw-about-stack small, .sw-about-stack strong, .sw-about-stack p { grid-column: 1; grid-row: auto; }
  .sw-form-grid { grid-template-columns: 1fr; }
  .sw-form-full { grid-column: 1; }
  .sw-form-panel, .sw-form-panel--large { padding: 22px; border-radius: 22px; }
  .sw-footer-grid { grid-template-columns: 1fr; gap: 34px; }
  .sw-footer-bottom { flex-direction: column; }
}


/* Device-specific hardening: phones, tablets, touch laptops and landscape mobile */
@media (max-width: 420px) {
  .sw-container { width: min(calc(100% - 22px), var(--sw-container)); }
  .sw-header-shell { width: calc(100% - 16px); border-radius: 18px; min-height: 62px; }
  .sw-brand { gap: 9px; }
  .sw-brand-mark { width: 44px; height: 44px; border-radius: 13px; }
  .sw-brand-copy strong { max-width: 128px; font-size: 12px; }
  .sw-primary-nav { width: min(360px,94vw); padding: 94px 16px 26px; }
  .sw-hero h1 { font-size: clamp(43px,14.5vw,60px); }
  .sw-hero-actions .sw-btn { width: 100%; }
  .sw-contact-band-actions { display: grid; width: 100%; }
  .sw-contact-band-actions .sw-btn, .sw-contact-mini { width: 100%; }
  .sw-page-hero h1 { font-size: clamp(40px,12vw,48px); }
  .sw-section-heading h2, .sw-process-head h2, .sw-about-copy h2, .sw-contact-details h2, .sw-inline-contact h2 { font-size: clamp(32px,9.5vw,38px); }
}

@media (max-height: 560px) and (orientation: landscape) and (max-width: 960px) {
  .sw-primary-nav { padding-top: 82px; }
  .sw-menu > li > a { min-height: 44px; }
  .sw-menu .sub-menu a { min-height: 42px; }
  .sw-site-header { padding-top: 6px; }
  .sw-header-shell { min-height: 58px; }
  .sw-brand-mark { width: 42px; height: 42px; }
}

@media (hover: none) {
  .sw-group-card:hover, .sw-btn:hover, .sw-service-card:hover { transform: none; }
  .sw-group-card:hover { background: linear-gradient(145deg,#fff,#faf9fd); color: inherit; border-color: var(--sw-line); }
  .sw-group-card:hover small { color: var(--sw-violet); }
}

@media (pointer: coarse) {
  .sw-menu-toggle { min-width: 46px; min-height: 46px; justify-content: center; }
  .sw-menu a, .sw-footer a, .sw-text-link { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .sw-reveal { opacity: 1 !important; transform: none !important; }
  .sw-visual-panel { transform: none !important; }
  .sw-excellence-orbit { animation: none !important; }
}

/* =========================================================
   v1.4 service-page system
   ========================================================= */
.sw-page-hero .sw-symbol-icon { backdrop-filter: none; -webkit-backdrop-filter: none; background: linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.055)); }

.sw-service-switcher { position: relative; z-index: 15; margin-top: -34px; }
.sw-service-tabs { display: grid; grid-template-columns: repeat(3,1fr); padding: 8px; border: 1px solid var(--sw-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 55px rgba(32,17,88,.11); }
.sw-service-tab { position: relative; min-height: 72px; display: flex; align-items: center; justify-content: center; gap: 11px; padding: 10px 18px; border-radius: 18px; color: var(--sw-text); font-size: 13px; font-weight: 800; transition: color .22s var(--sw-ease), background .22s var(--sw-ease), transform .22s var(--sw-ease); }
.sw-service-tab:not(:last-child)::after { content: ""; position: absolute; top: 16px; right: 0; bottom: 16px; width: 1px; background: var(--sw-line); }
.sw-service-tab > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 13px; color: var(--sw-violet); background: var(--sw-soft); }
.sw-service-tab svg { width: 19px; height: 19px; }
.sw-service-tab.is-active { color: #fff; background: linear-gradient(135deg,var(--sw-violet),var(--sw-violet-3)); }
.sw-service-tab.is-active::after { display: none; }
.sw-service-tab.is-active > span { color: #fff; background: rgba(255,255,255,.13); }
.sw-service-tab:hover:not(.is-active) { color: var(--sw-violet); background: #faf9ff; transform: translateY(-2px); }

.sw-service-intro-section { padding-top: 92px; }
.sw-service-intro-grid { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(300px,.58fr); gap: 74px; align-items: center; }
.sw-service-intro-copy h2, .sw-service-network-heading h2 { margin: 0; font-size: clamp(40px,4.5vw,62px); line-height: 1.04; letter-spacing: -.05em; }
.sw-service-intro-copy p { max-width: 820px; margin: 22px 0 0; color: var(--sw-text); font-size: 16px; }
.sw-service-snapshot { position: relative; overflow: hidden; min-height: 370px; padding: 30px; border-radius: 30px; color: #fff; background: linear-gradient(145deg,#10092f,var(--sw-violet-2) 62%,#0b071f); border: 1px solid rgba(255,255,255,.08); box-shadow: 0 26px 70px rgba(30,14,91,.16); }
.sw-service-snapshot::before { content: ""; position: absolute; inset: 0; opacity: .28; background-image: linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px); background-size: 34px 34px; mask-image: linear-gradient(to bottom,#000,transparent 84%); -webkit-mask-image: linear-gradient(to bottom,#000,transparent 84%); }
.sw-service-snapshot-head { position: relative; z-index: 2; display: flex; align-items: center; gap: 14px; }
.sw-service-snapshot-icon { width: 56px; height: 56px; display: grid; place-items: center; border-radius: 18px; color: #fff; background: var(--sw-red); }
.sw-service-snapshot-icon svg { width: 27px; height: 27px; }
.sw-service-snapshot-head div { display: grid; }
.sw-service-snapshot-head small { color: rgba(255,255,255,.54); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.sw-service-snapshot-head strong { margin-top: 2px; font-size: 20px; }
.sw-service-signal { position: relative; z-index: 2; height: 112px; margin: 35px 0 28px; display: flex; align-items: flex-end; gap: 9px; padding: 0 8px; border-bottom: 1px solid rgba(255,255,255,.12); }
.sw-service-signal i { display: block; flex: 1; height: 28%; border-radius: 8px 8px 0 0; background: linear-gradient(180deg,var(--sw-red),rgba(255,23,56,.35)); transform-origin: bottom; animation: swSignal 3.2s ease-in-out infinite; }
.sw-service-signal i:nth-child(2) { height: 52%; animation-delay: -.8s; background: linear-gradient(180deg,#fff,rgba(255,255,255,.28)); }
.sw-service-signal i:nth-child(3) { height: 78%; animation-delay: -1.6s; background: linear-gradient(180deg,var(--sw-green),rgba(50,182,75,.30)); }
.sw-service-signal i:nth-child(4) { height: 44%; animation-delay: -2.4s; background: linear-gradient(180deg,#8f73ef,rgba(143,115,239,.28)); }
@keyframes swSignal { 0%,100% { transform: scaleY(.62); opacity: .62; } 50% { transform: scaleY(1); opacity: 1; } }
.sw-service-snapshot-list { position: relative; z-index: 2; margin: 0; display: grid; gap: 12px; }
.sw-service-snapshot-list > div { display: flex; justify-content: space-between; gap: 20px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.09); }
.sw-service-snapshot-list dt { color: rgba(255,255,255,.5); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.sw-service-snapshot-list dd { margin: 0; max-width: 62%; color: #fff; font-size: 11px; font-weight: 780; text-align: right; }

.sw-service-network-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 84px; align-items: start; }
.sw-service-network-copy { display: grid; grid-template-columns: repeat(2,1fr); gap: 26px; }
.sw-service-network-copy p { position: relative; margin: 0; padding: 25px 0 0 22px; color: var(--sw-text); font-size: 15px; border-top: 1px solid #ded9ee; }
.sw-service-network-copy p::before { content: ""; position: absolute; left: 0; top: -1px; width: 62px; height: 2px; background: linear-gradient(90deg,var(--sw-red),var(--sw-violet)); }

.sw-solution-grid { display: grid; gap: 16px; margin-top: 46px; }
.sw-solution-grid--three { grid-template-columns: repeat(3,1fr); }
.sw-solution-grid--four { grid-template-columns: repeat(4,1fr); }
.sw-solution-card { position: relative; overflow: hidden; min-height: 330px; padding: 26px; border: 1px solid var(--sw-line); border-radius: 26px; background: linear-gradient(180deg,#fff,#fbfaff); transition: transform .28s var(--sw-ease), border-color .28s var(--sw-ease), box-shadow .28s var(--sw-ease); }
.sw-solution-card::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 0; height: 4px; background: linear-gradient(90deg,var(--sw-red),var(--sw-violet),var(--sw-green)); transition: right .38s var(--sw-ease); }
.sw-solution-card:hover { transform: translateY(-8px); border-color: #d6cff3; box-shadow: 0 22px 50px rgba(37,17,102,.10); }
.sw-solution-card:hover::after { right: 0; }
.sw-solution-card-top { display: flex; align-items: center; justify-content: space-between; }
.sw-solution-index { color: #9a97a6; font-size: 10px; font-weight: 900; letter-spacing: .14em; }
.sw-solution-mode { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 16px; color: var(--sw-violet); background: var(--sw-soft); }
.sw-solution-mode svg { width: 24px; height: 24px; }
.sw-solution-card h3 { margin: 78px 0 13px; font-size: 21px; line-height: 1.18; letter-spacing: -.025em; }
.sw-solution-card p { margin: 0; color: var(--sw-text); font-size: 13px; }

.sw-service-workflow-section { overflow: hidden; background: linear-gradient(135deg,#080616,#17084b 60%,#080616); }
.sw-service-workflow-section::before { content: ""; position: absolute; width: 620px; height: 620px; right: -310px; top: -260px; border-radius: 50%; border: 1px solid rgba(255,255,255,.07); box-shadow: 0 0 0 80px rgba(255,255,255,.012),0 0 0 160px rgba(255,255,255,.008); }
.sw-service-workflow-section .sw-process-head { max-width: 860px; }
.sw-service-workflow-section .sw-process-head p { max-width: 720px; margin: 20px 0 0; color: rgba(255,255,255,.62); }
.sw-service-workflow-track { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 58px; border-top: 1px solid rgba(255,255,255,.16); }
.sw-service-workflow-track::before { content: ""; position: absolute; left: 0; top: -1px; width: 100%; height: 2px; background: linear-gradient(90deg,var(--sw-red),var(--sw-violet),var(--sw-green)); background-size: 260% 100%; animation: swWorkflowLine 5.5s linear infinite; }
@keyframes swWorkflowLine { to { background-position: -260% 0; } }
.sw-service-workflow-step { position: relative; min-height: 255px; padding: 38px 26px 10px 0; }
.sw-service-workflow-step:not(:last-child) { margin-right: 24px; padding-right: 24px; border-right: 1px solid rgba(255,255,255,.09); }
.sw-service-workflow-number { position: absolute; top: -20px; left: 0; width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--sw-violet); border: 7px solid #110a37; font-size: 9px; font-weight: 900; box-sizing: border-box; }
.sw-service-workflow-step:first-child .sw-service-workflow-number { background: var(--sw-red); }
.sw-service-workflow-step:last-child .sw-service-workflow-number { background: var(--sw-green); }
.sw-service-workflow-step h3 { margin: 25px 0 11px; color: #fff; font-size: 18px; line-height: 1.25; }
.sw-service-workflow-step p { margin: 0; color: rgba(255,255,255,.58); font-size: 13px; }

.sw-service-feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 44px; }
.sw-service-feature-card { position: relative; min-height: 290px; padding: 26px; border-radius: 25px; border: 1px solid var(--sw-line); background: #fff; transition: transform .25s var(--sw-ease), border-color .25s var(--sw-ease), background .25s var(--sw-ease); }
.sw-service-feature-card > span:first-child { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; color: var(--sw-violet); background: var(--sw-soft); font-size: 10px; font-weight: 900; }
.sw-service-feature-card > span:first-child svg { width: 21px; height: 21px; }
.sw-service-feature-card h3 { margin: 70px 0 12px; font-size: 19px; line-height: 1.2; }
.sw-service-feature-card p { margin: 0; color: var(--sw-text); font-size: 13px; }
.sw-service-feature-card:hover { transform: translateY(-6px); border-color: #d3ccf0; background: #fdfcff; }
.sw-service-feature-card--link { display: block; color: inherit; }
.sw-service-feature-card--link > svg { position: absolute; right: 24px; bottom: 24px; width: 20px; height: 20px; color: var(--sw-violet); transition: transform .2s var(--sw-ease); }
.sw-service-feature-card--link:hover > svg { transform: translateX(4px); }

.sw-service-conclusion { padding: 0 0 108px; background: #fff; }
.sw-service-conclusion-card { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: center; padding: 58px 62px; border-radius: 34px; color: #fff; background: linear-gradient(120deg,#0d0827,var(--sw-violet-2) 56%,#150743); }
.sw-service-conclusion-card::after { content: ""; position: absolute; right: -90px; top: -120px; width: 320px; height: 320px; border-radius: 50%; border: 1px solid rgba(255,255,255,.09); box-shadow: 0 0 0 58px rgba(255,255,255,.018),0 0 0 116px rgba(255,255,255,.012); }
.sw-service-conclusion-card > * { position: relative; z-index: 2; }
.sw-service-conclusion-card h2 { margin: 0; max-width: 760px; font-size: clamp(36px,4.1vw,58px); line-height: 1.04; letter-spacing: -.045em; }
.sw-service-conclusion-card p { max-width: 760px; margin: 20px 0 0; color: rgba(255,255,255,.64); }
.sw-service-conclusion-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.sw-contact-mini--dark { padding: 12px 0; }

.sw-about-values-section { overflow: hidden; background: linear-gradient(135deg,#09071a,#1c075f 62%,#09071a); }
.sw-about-values-track { margin-top: 60px; }
.sw-contact-workflow-section { border-top: 1px solid var(--sw-line); }

@media (max-width: 1100px) {
  .sw-service-intro-grid { grid-template-columns: 1fr .72fr; gap: 46px; }
  .sw-solution-grid--four { grid-template-columns: repeat(2,1fr); }
  .sw-service-feature-grid { grid-template-columns: repeat(2,1fr); }
  .sw-service-conclusion-card { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 860px) {
  .sw-service-switcher { margin-top: -24px; }
  .sw-service-tabs { grid-template-columns: 1fr; gap: 4px; border-radius: 20px; }
  .sw-service-tab { min-height: 58px; justify-content: flex-start; }
  .sw-service-tab:not(:last-child)::after { top: auto; left: 14px; right: 14px; bottom: 0; width: auto; height: 1px; }
  .sw-service-intro-section { padding-top: 72px; }
  .sw-service-intro-grid, .sw-service-network-grid { grid-template-columns: 1fr; gap: 42px; }
  .sw-service-snapshot { max-width: 650px; width: 100%; }
  .sw-service-network-copy { grid-template-columns: 1fr 1fr; }
  .sw-solution-grid--three { grid-template-columns: 1fr; }
  .sw-service-workflow-track { grid-template-columns: repeat(2,1fr); row-gap: 46px; }
  .sw-service-workflow-step:nth-child(2) { border-right: 0; margin-right: 0; }
  .sw-service-conclusion-card { padding: 46px 38px; }
}

@media (max-width: 600px) {
  .sw-service-tabs { padding: 6px; }
  .sw-service-tab { min-height: 54px; padding: 8px 12px; }
  .sw-service-tab > span { width: 34px; height: 34px; border-radius: 11px; }
  .sw-service-intro-copy h2, .sw-service-network-heading h2 { font-size: 38px; }
  .sw-service-snapshot { min-height: 340px; padding: 24px; border-radius: 25px; }
  .sw-service-signal { height: 96px; margin-top: 28px; }
  .sw-service-network-copy { grid-template-columns: 1fr; }
  .sw-solution-grid--four { grid-template-columns: 1fr; }
  .sw-solution-card { min-height: 280px; }
  .sw-solution-card h3 { margin-top: 54px; }
  .sw-service-workflow-track { grid-template-columns: 1fr; border-top: 0; gap: 0; }
  .sw-service-workflow-track::before { left: 19px; top: 0; bottom: 0; width: 2px; height: 100%; background: linear-gradient(var(--sw-red),var(--sw-violet),var(--sw-green)); background-size: 100% 260%; animation-name: swWorkflowLineVertical; }
  @keyframes swWorkflowLineVertical { to { background-position: 0 -260%; } }
  .sw-service-workflow-step { min-height: auto; padding: 0 0 34px 60px; border-left: 1px solid rgba(255,255,255,.14); }
  .sw-service-workflow-step:not(:last-child) { margin-right: 0; padding-right: 0; border-right: 0; }
  .sw-service-workflow-step:last-child { border-left-color: transparent; }
  .sw-service-workflow-number { top: 0; left: 0; transform: translateX(-50%); }
  .sw-service-workflow-step h3 { margin-top: 0; padding-top: 3px; }
  .sw-service-feature-grid { grid-template-columns: 1fr; }
  .sw-service-feature-card { min-height: 240px; }
  .sw-service-feature-card h3 { margin-top: 48px; }
  .sw-service-conclusion { padding-bottom: 82px; }
  .sw-service-conclusion-card { padding: 38px 24px; border-radius: 27px; }
  .sw-service-conclusion-card h2 { font-size: 36px; }
}

@media (hover: none) {
  .sw-service-tab:hover, .sw-solution-card:hover, .sw-service-feature-card:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .sw-service-signal i, .sw-service-workflow-track::before { animation: none !important; }
}

/* =========================================================
   v1.5 responsive hardening
   Mobile-first QA pass for 320 / 360 / 375 / 390 / 430px,
   tablets and desktop. These rules intentionally override
   older fixed-height component assumptions.
   ========================================================= */
html,
body { max-width: 100%; }
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}

.sw-container,
.sw-header-shell,
.sw-hero-grid,
.sw-hero-copy,
.sw-hero-visual,
.sw-section-heading,
.sw-service-grid,
.sw-split,
.sw-network-copy,
.sw-network-board,
.sw-excellence-grid,
.sw-excellence-visual,
.sw-excellence-copy,
.sw-feature-grid,
.sw-process-track,
.sw-group-grid,
.sw-contact-band-grid,
.sw-page-hero-inner,
.sw-page-hero-copy,
.sw-page-hero-symbol,
.sw-about-grid,
.sw-contact-page-grid,
.sw-inline-contact-grid,
.sw-footer-grid,
.sw-service-intro-grid,
.sw-service-network-grid,
.sw-service-network-copy,
.sw-solution-grid,
.sw-service-feature-grid,
.sw-service-conclusion-card { min-width: 0; }

.sw-service-card,
.sw-solution-card,
.sw-service-feature-card,
.sw-group-card,
.sw-stat-card,
.sw-contact-list > a,
.sw-contact-list > div,
.sw-contact-cards > a { min-width: 0; }

.sw-service-card p,
.sw-solution-card p,
.sw-service-feature-card p,
.sw-group-card h3,
.sw-network-copy,
.sw-page-hero-copy,
.sw-service-intro-copy,
.sw-service-network-copy,
.sw-contact-details,
.sw-footer,
.sw-brand-copy { overflow-wrap: break-word; word-break: normal; }

/* v1.8 header label hardening: the longer "Star Group of Companies" label
   remains on one line without crowding the contact CTA on mid-size desktops. */
@media (min-width: 1101px) and (max-width: 1280px) {
  .sw-header-shell { gap: 18px; }
  .sw-brand { min-width: 220px; }
  .sw-menu > li > a { padding-inline: 11px; font-size: 12.5px; }
  .sw-menu > li:last-child > a { padding-inline: 16px; }
}

/* Tablet/mobile navigation: compact floating sheet instead of a full-height drawer. */
@media (max-width: 1100px) {
  .sw-primary-nav {
    top: 102px;
    right: max(16px, env(safe-area-inset-right));
    bottom: auto;
    width: min(420px, calc(100vw - 32px));
    max-height: calc(100dvh - 118px);
    padding: 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: rgba(9,7,26,.985);
    box-shadow: 0 28px 80px rgba(0,0,0,.40);
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px) scale(.985);
    transform-origin: top right;
    transition: opacity .22s var(--sw-ease), transform .26s var(--sw-ease), visibility .22s;
  }
  .sw-primary-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0) scale(1);
  }
  .sw-menu { width: 100%; }
  .sw-menu > li > a { border-radius: 13px; }
  .sw-menu .sub-menu { border-radius: 13px; padding: 6px; }
  .sw-menu-backdrop { z-index: 1; }
}

@media (max-width: 860px) {
  .sw-header-shell { max-width: calc(100vw - 24px); }
  .sw-hero-grid,
  .sw-section-heading,
  .sw-split,
  .sw-excellence-grid,
  .sw-page-hero-inner,
  .sw-about-grid,
  .sw-contact-page-grid,
  .sw-inline-contact-grid,
  .sw-service-intro-grid,
  .sw-service-network-grid { grid-template-columns: minmax(0,1fr); }

  .sw-service-grid,
  .sw-solution-grid,
  .sw-service-feature-grid,
  .sw-feature-grid,
  .sw-group-grid,
  .sw-stats-grid { min-width: 0; }
}

@media (max-width: 600px) {
  :root { --sw-radius: 22px; }
  .sw-container { width: calc(100% - 28px); }
  .sw-section { padding: 68px 0; }

  /* Header */
  .sw-site-header { padding: max(8px, env(safe-area-inset-top)) 0 0; }
  .admin-bar .sw-site-header { top: 46px; padding-top: 8px; }
  .sw-header-shell {
    width: calc(100% - 20px);
    max-width: none;
    min-height: 64px;
    padding: 7px 8px;
    gap: 8px;
    border-radius: 19px;
  }
  .sw-brand { min-width: 0; max-width: calc(100% - 58px); gap: 9px; }
  .sw-brand-mark { width: 46px; height: 46px; flex-basis: 46px; border-radius: 14px; }
  .sw-brand-copy { min-width: 0; }
  .sw-brand-copy strong { max-width: min(180px, 50vw); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .sw-menu-toggle { width: 46px; min-width: 46px; height: 46px; min-height: 46px; padding: 10px; border-radius: 14px; }
  .sw-menu-toggle[aria-expanded="true"] { background: rgba(255,255,255,.08); }
  .sw-primary-nav {
    top: 82px;
    left: max(10px, env(safe-area-inset-left));
    right: max(10px, env(safe-area-inset-right));
    width: auto;
    max-height: calc(100dvh - 94px - env(safe-area-inset-bottom));
    padding: 10px;
    border-radius: 19px;
    transform-origin: top center;
  }
  .admin-bar .sw-primary-nav { top: 128px; max-height: calc(100dvh - 140px); }
  .sw-menu > li > a { min-height: 48px; padding: 0 13px; font-size: 14px; }
  .sw-menu .sub-menu a { min-height: 44px; padding: 9px 11px; font-size: 13px; }
  .sw-menu > li:last-child > a { min-height: 48px; }

  /* Home hero: keep every element within the phone viewport. */
  .sw-hero { padding: 122px 0 92px; }
  .sw-hero h1 { max-width: 100%; font-size: clamp(44px,14vw,62px); line-height: .98; }
  .sw-hero-copy > p { margin-top: 23px; font-size: 15px; line-height: 1.65; }
  .sw-hero-actions { width: 100%; margin-top: 28px; gap: 14px; }
  .sw-hero-actions .sw-btn { width: 100%; }
  .sw-hero-actions .sw-text-link { min-height: 44px; }
  .sw-hero-tags { margin-top: 24px; }
  .sw-hero-visual { min-height: 438px; width: 100%; max-width: 100%; }
  .sw-visual-panel { inset: 0; border-radius: 26px; }
  .sw-visual-topline, .sw-visual-bottom { padding: 13px 14px; }
  .sw-visual-topline { min-height: 48px; }
  .sw-visual-bottom { min-height: 62px; gap: 12px; }
  .sw-visual-bottom > div:last-child { text-align: right; }
  .sw-route-scene { height: 300px; overflow: hidden; }
  .sw-route-map { display: block; width: 100%; height: 100%; max-width: 100%; overflow: hidden; }
  .sw-route-logo { width: 88px; height: 88px; }
  .sw-floating-chip {
    min-width: 0;
    width: auto;
    max-width: calc(100% - 28px);
    padding: 8px 10px 8px 12px;
    gap: 8px;
    border-radius: 15px;
    box-shadow: 0 12px 28px rgba(0,0,0,.18);
  }
  .sw-floating-chip::after { width: 18px; }
  .sw-floating-chip--air { left: 10px; top: 70px; }
  .sw-floating-chip--air::after { right: -18px; }
  .sw-floating-chip--road { right: 10px; bottom: 66px; }
  .sw-floating-chip--road::after { left: -18px; }
  .sw-floating-chip b { font-size: 11px; }
  .sw-floating-chip small { font-size: 9px; }
  .sw-iconbox { width: 32px; height: 32px; flex-basis: 32px; border-radius: 10px; }
  .sw-iconbox svg { width: 17px; height: 17px; }

  /* Home service cards: content controls height, CTA can never overlap copy. */
  .sw-service-card {
    min-height: 0;
    height: auto;
    padding: 22px;
    display: flex;
    flex-direction: column;
    border-radius: 24px;
  }
  .sw-service-icon { width: 60px; height: 60px; margin: 26px 0 20px; border-radius: 19px; }
  .sw-service-icon svg { width: 29px; height: 29px; }
  .sw-service-card h3 { margin: 0 0 10px; font-size: 27px; line-height: 1.08; }
  .sw-service-card p { font-size: 13px; line-height: 1.65; }
  .sw-card-link {
    position: static;
    width: 100%;
    margin-top: 22px;
    padding-top: 15px;
    border-top: 1px solid var(--sw-line);
    gap: 12px;
  }

  /* Connected-from-Dubai board: recompose rather than squeezing desktop coordinates. */
  .sw-network-board { min-height: 390px; border-radius: 26px; }
  .sw-network-board::after { width: 255px; height: 255px; }
  .sw-grid-map { background-size: 34px 34px; }
  .sw-city { gap: 0; max-width: 90px; }
  .sw-city i { width: 9px; height: 9px; margin-bottom: 6px; box-shadow: 0 0 0 6px rgba(255,255,255,.08); }
  .sw-city strong { font-size: 12px; line-height: 1.25; }
  .sw-city small { font-size: 9px; line-height: 1.35; }
  .sw-city--dubai { left: 43%; top: 45%; }
  .sw-city--gcc { left: 12%; top: 20%; }
  .sw-city--east { right: 9%; top: 20%; }
  .sw-city--global { right: 10%; bottom: 13%; }
  .sw-network-line { height: 1.5px; }
  .sw-network-line::after { width: 42px; }
  .sw-network-line--1 { left: 46%; top: 49%; width: 39%; transform: rotate(-145deg); }
  .sw-network-line--2 { left: 48%; top: 48%; width: 38%; transform: rotate(-35deg); }
  .sw-network-line--3 { left: 49%; top: 52%; width: 45%; transform: rotate(48deg); }

  /* Inner page hero */
  .sw-page-hero { padding: 132px 0 68px; }
  .sw-page-hero::after { bottom: -125px; }
  .sw-page-hero h1 { max-width: 100%; font-size: clamp(38px,12vw,48px); line-height: 1.02; }
  .sw-page-hero-copy > p { margin-top: 18px; font-size: 15px; line-height: 1.65; }
  .sw-page-hero-symbol { min-height: 190px; }
  .sw-symbol-ring { width: 176px; height: 176px; box-shadow: 0 0 0 24px rgba(255,255,255,.022),0 0 0 48px rgba(255,255,255,.014); }
  .sw-symbol-icon { width: 112px; height: 112px; border-radius: 28px; }
  .sw-symbol-icon svg { width: 54px; height: 54px; }

  /* Compact service switcher stays usable at 320px without dominating the page. */
  .sw-service-switcher { margin-top: -16px; }
  .sw-service-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 4px; padding: 5px; border-radius: 18px; }
  .sw-service-tab { min-width: 0; min-height: 66px; padding: 7px 5px; flex-direction: column; justify-content: center; gap: 5px; text-align: center; border-radius: 14px; }
  .sw-service-tab:not(:last-child)::after { display: none; }
  .sw-service-tab > span { width: 29px; height: 29px; border-radius: 9px; }
  .sw-service-tab > span svg { width: 16px; height: 16px; }
  .sw-service-tab b { max-width: 100%; font-size: 10px; line-height: 1.15; white-space: normal; }

  .sw-service-intro-section { padding-top: 56px; }
  .sw-service-intro-copy h2,
  .sw-service-network-heading h2 { font-size: clamp(34px,10vw,40px); }
  .sw-service-intro-copy p,
  .sw-service-network-copy p { font-size: 14px; line-height: 1.72; }
  .sw-service-snapshot { min-height: 0; padding: 22px; border-radius: 23px; }
  .sw-service-signal { height: 82px; margin-top: 20px; }
  .sw-service-snapshot-list { margin-top: 20px; }
  .sw-service-snapshot-list > div { gap: 8px; }

  /* Solution/feature cards are fluid-height on phones. */
  .sw-solution-card { min-height: 0; height: auto; padding: 22px; border-radius: 22px; }
  .sw-solution-card h3 { margin: 36px 0 10px; font-size: 20px; }
  .sw-solution-card p { font-size: 13px; line-height: 1.65; }
  .sw-service-feature-card { min-height: 0; height: auto; padding: 22px; border-radius: 22px; }
  .sw-service-feature-card h3 { margin: 34px 0 10px; font-size: 19px; }
  .sw-service-feature-card p { font-size: 13px; line-height: 1.65; }

  .sw-service-workflow-track::before { left: 17px; }
  .sw-service-workflow-step { padding-left: 52px; }
  .sw-service-workflow-number { left: 17px; transform: translateX(-50%); }
  .sw-service-conclusion-card { padding: 32px 22px; }
  .sw-service-conclusion-card h2 { font-size: clamp(32px,9.5vw,38px); }
  .sw-service-conclusion-actions, .sw-service-conclusion-actions .sw-btn, .sw-contact-mini--dark { width: 100%; }

  /* Generic small-screen content safety */
  .sw-excellence-console { min-height: 400px; }
  .sw-excellence-copy h2,
  .sw-stats-heading h2,
  .sw-section-heading h2,
  .sw-process-head h2,
  .sw-about-copy h2,
  .sw-contact-details h2,
  .sw-inline-contact h2 { font-size: clamp(33px,10vw,39px); }
  .sw-group-card { min-height: 0; padding: 22px; }
  .sw-group-card small { margin-top: 34px; }
  .sw-contact-band { padding: 64px 0; }
  .sw-contact-band h2 { font-size: clamp(34px,10vw,42px); }
  .sw-contact-band-actions, .sw-contact-band-actions .sw-btn, .sw-contact-mini { width: 100%; }
  .sw-about-stack article { min-width: 0; }
  .sw-contact-list strong, .sw-contact-cards b { overflow-wrap: anywhere; }
  .sw-form-panel, .sw-form-panel--large { padding: 20px; }
  .sw-footer { padding-top: 58px; }
  .sw-footer-grid { gap: 30px; }
}


/* Responsive hero photography */
@media (max-width: 1100px) {
  .sw-hero-visual--photo { min-height: 500px; }
  .sw-hero-photo-card { height: 470px; max-width: 700px; margin-inline: auto; }
  .sw-hero-photo-image { object-position: 65% 50%; }
}

@media (max-width: 760px) {
  .sw-hero-visual--photo { min-height: 430px; }
  .sw-hero-photo-card { height: 408px; border-radius: 26px; }
  .sw-hero-photo-image { object-position: 70% 50%; }
  .sw-hero-photo-topline { min-height: 54px; padding: 0 15px; font-size: 9px; }
  .sw-hero-photo-topline b { font-size: 9px; }
  .sw-hero-photo-caption { left: 14px; right: 14px; bottom: 14px; max-width: none; padding: 12px 13px; border-radius: 16px; gap: 11px; }
  .sw-hero-photo-icon { width: 39px; height: 39px; flex-basis: 39px; border-radius: 12px; }
  .sw-hero-photo-icon svg { width: 20px; height: 20px; }
  .sw-hero-photo-caption strong { font-size: 11px; line-height: 1.42; }
  .sw-hero-photo-accent--red { bottom: 70px; height: 74px; }
  .sw-hero-photo-accent--green { top: 92px; height: 58px; }
}

@media (max-width: 380px) {
  .sw-container { width: calc(100% - 22px); }
  .sw-header-shell { width: calc(100% - 14px); }
  .sw-brand-copy strong { max-width: 145px; font-size: 11.5px; }
  .sw-hero { padding-top: 116px; }
  .sw-hero h1 { font-size: clamp(41px,13.5vw,54px); }
  .sw-hero-visual { min-height: 420px; }
  .sw-route-scene { height: 286px; }
  .sw-floating-chip { max-width: calc(100% - 20px); }
  .sw-floating-chip--air { left: 7px; }
  .sw-floating-chip--road { right: 7px; }
  .sw-page-hero { padding-top: 122px; }
  .sw-page-hero-symbol { min-height: 170px; }
  .sw-service-tab b { font-size: 9px; }
  .sw-network-board { min-height: 365px; }
  .sw-network-board::after { width: 230px; height: 230px; }
  .sw-city--gcc { left: 9%; }
  .sw-city--east { right: 7%; }
}

@media (max-width: 340px) {
  .sw-brand-copy strong { max-width: 125px; }
  .sw-menu-icon, .sw-menu-icon i { width: 23px; }
  .sw-hero h1 { font-size: 40px; }
  .sw-hero-tags span { font-size: 9px; padding: 7px 9px; }
  .sw-floating-chip { padding-inline: 8px; }
  .sw-floating-chip small { display: none; }
  .sw-network-board { min-height: 350px; }
  .sw-city strong { font-size: 11px; }
  .sw-service-tab b { font-size: 8.5px; }
}

@media (max-height: 560px) and (orientation: landscape) and (max-width: 960px) {
  .sw-primary-nav {
    top: 72px;
    max-height: calc(100dvh - 82px);
    padding: 8px;
  }
  .admin-bar .sw-primary-nav { top: 104px; max-height: calc(100dvh - 112px); }
  .sw-menu > li > a { min-height: 42px; font-size: 13px; }
  .sw-menu .sub-menu a { min-height: 40px; }
}

@media (hover: none), (pointer: coarse) {
  .sw-service-card,
  .sw-solution-card,
  .sw-service-feature-card,
  .sw-group-card { transform: none !important; }
}

/* A filtered/backdrop-filtered ancestor becomes a containing block for fixed
   descendants in modern browsers. On tablet/mobile that was trapping the
   fixed navigation inside the header shell in the WordPress Customizer,
   producing the small scroll box shown in mobile preview. Disable those
   filters only at drawer breakpoints so the nav is fixed to the viewport. */
@media (max-width: 1100px) {
  .sw-header-shell {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(25,18,55,.94);
  }
  .sw-site-header.is-scrolled {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
    background: rgba(9,7,26,.95);
  }
}

/* Keep the service switcher horizontal on tablets; the older v1.4 rule stacked
   it below 860px and used unnecessary vertical space. */
@media (min-width: 601px) and (max-width: 860px) {
  .sw-service-tabs { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; }
  .sw-service-tab { min-width: 0; min-height: 66px; justify-content: center; padding: 8px 10px; font-size: 12px; }
  .sw-service-tab:not(:last-child)::after { top: 14px; right: 0; bottom: 14px; left: auto; width: 1px; height: auto; display: block; }
  .sw-service-tab.is-active::after { display: none; }
}

/* Content-driven service cards on tablet as well as phone. This prevents the
   absolute CTA from colliding with copy at intermediate Customizer widths. */
@media (max-width: 860px) {
  .sw-service-card {
    min-height: 0;
    height: auto;
    display: flex;
    flex-direction: column;
    padding-bottom: 24px;
  }
  .sw-card-link {
    position: static;
    width: 100%;
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid var(--sw-line);
    gap: 12px;
  }
}

/* =========================================================
   v1.6 — REAL CARGO PHOTOGRAPHY
   Uses optimized imagery from the supplied Skyway Cargo
   company profile. No external image requests are required.
   ========================================================= */

/* Home service cards — image-led, content-safe cards. */
.sw-service-card {
  min-height: 560px;
  padding: 22px 22px 78px;
}
.sw-service-number {
  position: absolute;
  z-index: 4;
  top: 34px;
  left: 34px;
  min-width: 36px;
  padding: 7px 10px;
  border-radius: 999px;
  color: #fff;
  background: rgba(12,7,37,.82);
  border: 1px solid rgba(255,255,255,.18);
  font-size: 9px;
  line-height: 1;
  text-align: center;
  box-shadow: 0 8px 20px rgba(10,5,30,.18);
}
.sw-service-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  margin: 0 0 20px;
  overflow: hidden;
  border-radius: 21px;
  background: #eeeaf8;
}
.sw-service-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(14,8,42,.02) 45%,rgba(14,8,42,.24) 100%);
}
.sw-service-card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .55s var(--sw-ease);
}
.sw-service-card--air .sw-service-card-media img { object-fit: cover; object-position: 50% 50%; background: transparent; }
.sw-service-card--violet .sw-service-card-media img { object-position: 50% 52%; }
.sw-service-card--green .sw-service-card-media img { object-position: 50% 55%; }
.sw-service-card:hover .sw-service-card-media img { transform: scale(1.045); }
.sw-service-icon {
  width: 60px;
  height: 60px;
  margin: 0 0 18px;
  border-radius: 19px;
}
.sw-service-icon svg { width: 29px; height: 29px; }

/* Excellence section — real operational photo with crisp information overlays. */
.sw-excellence-photo {
  position: relative;
  min-height: 0;
  aspect-ratio: 1672 / 941;
  margin: 0;
  overflow: hidden;
  border-radius: 34px;
  background: #110a31;
  border: 1px solid rgba(59,22,173,.12);
  box-shadow: 0 30px 80px rgba(28,13,86,.18);
}
.sw-excellence-photo > img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform .8s var(--sw-ease);
}
.sw-excellence-photo:hover > img { transform: scale(1.025); }
.sw-excellence-photo-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg,rgba(9,6,28,.08) 20%,rgba(9,6,28,.16) 55%,rgba(9,6,28,.82) 100%),
    linear-gradient(90deg,rgba(41,14,123,.28),transparent 52%);
}
.sw-excellence-photo-label {
  position: absolute;
  z-index: 3;
  left: 28px;
  bottom: 27px;
  display: grid;
  gap: 4px;
  color: #fff;
}
.sw-excellence-photo-label small {
  color: rgba(255,255,255,.66);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sw-excellence-photo-label strong {
  font-size: 20px;
  letter-spacing: -.02em;
}
.sw-excellence-photo-badge {
  position: absolute;
  z-index: 4;
  top: 24px;
  right: 24px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border-radius: 18px;
  color: var(--sw-ink);
  background: #fff;
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 16px 34px rgba(12,7,35,.22);
}
.sw-excellence-photo-badge-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(145deg,var(--sw-violet),var(--sw-violet-2));
}
.sw-excellence-photo-badge-icon svg { width: 22px; height: 22px; }
.sw-excellence-photo-badge > span:last-child { display: grid; }
.sw-excellence-photo-badge b { color: var(--sw-violet-2); font-size: 22px; line-height: 1; }
.sw-excellence-photo-badge small { margin-top: 2px; color: var(--sw-muted); font-size: 9px; font-weight: 760; }

/* Service page overview cards — real service photography under a dark, readable overlay. */
.sw-service-snapshot--photo {
  isolation: isolate;
  background: #10092f;
}
.sw-service-snapshot-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.sw-service-snapshot--photo::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg,rgba(12,7,36,.34) 0%,rgba(12,7,36,.68) 42%,rgba(12,7,36,.97) 100%);
}
.sw-service-snapshot--photo::before { z-index: 2; opacity: .18; }
.sw-service-snapshot--photo .sw-service-snapshot-head,
.sw-service-snapshot--photo .sw-service-signal,
.sw-service-snapshot--photo .sw-service-snapshot-list { z-index: 3; }
.sw-service-snapshot--photo .sw-service-snapshot-head small,
.sw-service-snapshot--photo .sw-service-snapshot-list dt { color: rgba(255,255,255,.70); }
.sw-service-snapshot--photo .sw-service-snapshot-list > div { border-top-color: rgba(255,255,255,.18); }

@media (max-width: 860px) {
  .sw-service-card {
    min-height: 0;
    padding: 18px 18px 22px;
  }
  .sw-service-number { top: 29px; left: 29px; }
  .sw-service-card-media { margin-bottom: 18px; border-radius: 19px; }
  .sw-service-icon { width: 56px; height: 56px; margin-bottom: 16px; }
  .sw-excellence-photo { min-height: 0; aspect-ratio: 1672 / 941; }
}

@media (max-width: 600px) {
  .sw-service-card { padding: 15px 15px 20px; border-radius: 24px; }
  .sw-service-number { top: 25px; left: 25px; }
  .sw-service-card-media { aspect-ratio: 16 / 10.5; margin-bottom: 17px; border-radius: 18px; }
  .sw-service-card:hover .sw-service-card-media img,
  .sw-excellence-photo:hover > img { transform: none; }
  .sw-excellence-photo { min-height: 0; aspect-ratio: 1672 / 941; border-radius: 27px; }
  .sw-excellence-photo-label { left: 20px; bottom: 20px; }
  .sw-excellence-photo-label strong { font-size: 17px; }
  .sw-excellence-photo-badge { top: 17px; right: 17px; padding: 10px 12px; border-radius: 15px; }
  .sw-excellence-photo-badge-icon { width: 36px; height: 36px; flex-basis: 36px; border-radius: 11px; }
  .sw-excellence-photo-badge-icon svg { width: 19px; height: 19px; }
  .sw-excellence-photo-badge b { font-size: 19px; }
  .sw-service-snapshot--photo { min-height: 390px; }
}


/* Responsive hero photography */
@media (max-width: 1100px) {
  .sw-hero-visual--photo { min-height: 500px; }
  .sw-hero-photo-card { height: 470px; max-width: 700px; margin-inline: auto; }
  .sw-hero-photo-image { object-position: 65% 50%; }
}

@media (max-width: 760px) {
  .sw-hero-visual--photo { min-height: 430px; }
  .sw-hero-photo-card { height: 408px; border-radius: 26px; }
  .sw-hero-photo-image { object-position: 70% 50%; }
  .sw-hero-photo-topline { min-height: 54px; padding: 0 15px; font-size: 9px; }
  .sw-hero-photo-topline b { font-size: 9px; }
  .sw-hero-photo-caption { left: 14px; right: 14px; bottom: 14px; max-width: none; padding: 12px 13px; border-radius: 16px; gap: 11px; }
  .sw-hero-photo-icon { width: 39px; height: 39px; flex-basis: 39px; border-radius: 12px; }
  .sw-hero-photo-icon svg { width: 20px; height: 20px; }
  .sw-hero-photo-caption strong { font-size: 11px; line-height: 1.42; }
  .sw-hero-photo-accent--red { bottom: 70px; height: 74px; }
  .sw-hero-photo-accent--green { top: 92px; height: 58px; }
}

@media (max-width: 380px) {
  .sw-excellence-photo { min-height: 0; aspect-ratio: 1672 / 941; }
  .sw-excellence-photo-badge { top: 14px; right: 14px; }
  .sw-excellence-photo-label { left: 17px; bottom: 17px; }
  .sw-service-snapshot--photo { min-height: 365px; }
}

@media (hover: none), (pointer: coarse) {
  .sw-service-card-media img,
  .sw-excellence-photo > img { transform: none !important; }
}

/* About page operational photography. */
.sw-about-photo {
  position: relative;
  min-height: 250px;
  margin: 0 0 2px;
  overflow: hidden;
  border-radius: 24px;
  background: #15102d;
  box-shadow: 0 20px 50px rgba(26,14,73,.12);
}
.sw-about-photo img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 56%;
  transition: transform .65s var(--sw-ease);
}
.sw-about-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,transparent 38%,rgba(12,7,34,.82) 100%);
  pointer-events: none;
}
.sw-about-photo figcaption {
  position: absolute;
  z-index: 2;
  left: 22px;
  right: 22px;
  bottom: 20px;
  display: grid;
  gap: 3px;
  color: #fff;
}
.sw-about-photo figcaption small {
  color: rgba(255,255,255,.68);
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sw-about-photo figcaption strong { font-size: 18px; letter-spacing: -.02em; }
.sw-about-photo:hover img { transform: scale(1.035); }
@media (max-width: 600px) {
  .sw-about-photo { min-height: 220px; border-radius: 21px; }
  .sw-about-photo:hover img { transform: none; }
}
@media (hover: none), (pointer: coarse) {
  .sw-about-photo img { transform: none !important; }
}

/* v1.16 approved Google Maps location */
.sw-footer-contact a {
  color: inherit;
  text-decoration: none;
  transition: color .2s ease;
}
.sw-footer-contact a:hover,
.sw-footer-contact a:focus-visible {
  color: #fff;
}

@media (max-width: 380px) {
  .sw-hero-visual--photo { min-height: 402px; }
  .sw-hero-visual--photo .sw-hero-photo-card { height: 382px; }
  .sw-hero-visual--photo .sw-hero-photo-image { object-position: 72% 50%; }
  .sw-hero-photo-topline span { max-width: 62%; line-height: 1.25; }
}
@media (max-width: 340px) {
  .sw-hero-visual--photo { min-height: 378px; }
  .sw-hero-visual--photo .sw-hero-photo-card { height: 360px; }
  .sw-hero-photo-topline { padding-inline: 12px; }
  .sw-hero-photo-caption { left: 10px; right: 10px; bottom: 10px; }
  .sw-hero-photo-caption strong { font-size: 10.5px; }
}

/* =========================================================
   v1.20 geographic Dubai ↔ East Africa network map
   ========================================================= */
.sw-network-board--map {
  min-height: 540px;
  isolation: isolate;
  background:
    radial-gradient(circle at 70% 18%, rgba(92,48,204,.24), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 28px 70px rgba(0,0,0,.18);
}
.sw-network-board--map::after { display: none; }
.sw-map-toolbar {
  position: absolute;
  z-index: 8;
  top: 18px;
  left: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  pointer-events: none;
}
.sw-map-toolbar > div {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 11px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 999px;
  color: rgba(255,255,255,.72);
  background: rgba(8,5,28,.58);
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}
.sw-map-toolbar strong { color: #fff; font-size: 10px; }
.sw-map-legend-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; box-shadow: 0 0 0 4px rgba(255,255,255,.05); }
.sw-map-legend-dot--hub { background: var(--sw-red); }
.sw-map-legend-dot--east { background: var(--sw-green); }
.sw-regional-map { position: absolute; inset: 0; z-index: 2; width: 100%; height: 100%; display: block; }
.sw-map-ocean { fill: rgba(10,7,34,.20); }
.sw-map-grid { stroke: rgba(255,255,255,.045); stroke-width: 1; }
.sw-map-country { fill: rgba(255,255,255,.085); stroke: rgba(255,255,255,.17); stroke-width: .75; vector-effect: non-scaling-stroke; transition: fill .3s ease; }
.sw-map-country--gcc { fill: rgba(103,67,216,.17); }
.sw-map-country--east { fill: rgba(50,182,75,.12); }
.sw-map-country--uae { fill: rgba(255,23,56,.45); stroke: rgba(255,138,155,.72); }
.sw-map-route { fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: 8 7; opacity: .94; vector-effect: non-scaling-stroke; animation: swMapRouteFlow 5.8s linear infinite; }
.sw-map-route--red { stroke: url(#sw-route-red); }
.sw-map-route--green { stroke: url(#sw-route-green); animation-duration: 6.8s; animation-direction: reverse; }
.sw-map-route--gcc { stroke: rgba(255,255,255,.28); stroke-width: 1.3; stroke-dasharray: 4 7; opacity: .55; animation-duration: 8s; }
.sw-map-city circle:first-child { filter: url(#sw-map-glow); }
.sw-map-city--east > circle:not(.sw-map-pulse) { fill: var(--sw-green); stroke: #d9ffe1; stroke-width: 1.2; }
.sw-map-city--dubai > circle:not(.sw-map-pulse) { fill: var(--sw-red); stroke: #fff; stroke-width: 1.5; }
.sw-map-pulse { fill: none; stroke: currentColor; stroke-width: 1.3; opacity: .32; transform-box: fill-box; transform-origin: center; animation: swMapPulse 2.5s ease-out infinite; }
.sw-map-city--east { color: var(--sw-green); }
.sw-map-city--dubai { color: var(--sw-red); }
.sw-map-city text { fill: rgba(255,255,255,.84); font-size: 10px; font-weight: 760; paint-order: stroke; stroke: rgba(8,5,28,.82); stroke-width: 3px; stroke-linejoin: round; }
.sw-map-hub-title { fill: #fff !important; font-size: 14px !important; font-weight: 850 !important; }
.sw-map-hub-sub { fill: rgba(255,255,255,.58) !important; font-size: 9px !important; font-weight: 650 !important; }
.sw-map-area-tag { pointer-events: none; }
.sw-map-area-tag rect { fill: rgba(9,6,31,.72); stroke: rgba(255,255,255,.12); stroke-width: 1; vector-effect: non-scaling-stroke; }
.sw-map-area-tag text {
  fill: rgba(255,255,255,.92);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .01em;
  text-rendering: geometricPrecision;
}
.sw-map-area-tag--east rect { fill: rgba(20,65,39,.58); stroke: rgba(99,225,123,.24); }
.sw-map-area-tag--east text { fill: #d9ffe1; }
.sw-map-area-tag--sea rect { fill: rgba(18,15,55,.68); stroke: rgba(255,255,255,.12); }
.sw-map-area-tag--sea text { fill: rgba(255,255,255,.90); }
.sw-map-caption {
  position: absolute;
  z-index: 8;
  left: 20px;
  right: 20px;
  bottom: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: rgba(255,255,255,.58);
  font-size: 9px;
  font-weight: 760;
  letter-spacing: .055em;
  text-transform: uppercase;
  pointer-events: none;
}
.sw-map-caption b { color: var(--sw-red); font-size: 13px; }
@keyframes swMapRouteFlow { to { stroke-dashoffset: -60; } }
@keyframes swMapPulse { 0% { transform: scale(.65); opacity: .5; } 70%,100% { transform: scale(1.45); opacity: 0; } }

@media (max-width: 1100px) {
  .sw-network-board--map { min-height: 480px; }
}
@media (max-width: 860px) {
  .sw-network-board--map { min-height: 430px; border-radius: 26px; }
  .sw-map-toolbar { top: 14px; left: 14px; right: 14px; }
  .sw-map-toolbar > div { padding: 7px 9px; font-size: 9px; }
  .sw-map-toolbar strong { font-size: 9px; }
  .sw-map-caption { left: 14px; right: 14px; bottom: 13px; font-size: 8px; gap: 7px; }
}
@media (max-width: 600px) {
  .sw-network-board--map { min-height: 405px; }
  .sw-map-toolbar > div:last-child { display: none; }
  .sw-map-city text { font-size: 9px; }
  .sw-map-hub-title { font-size: 12px !important; }
  .sw-map-area-tag text { font-size: 10.5px; }
}
@media (max-width: 420px) {
  .sw-network-board--map { min-height: 370px; }
  .sw-map-toolbar { top: 10px; left: 10px; right: 10px; }
  .sw-map-toolbar > div { min-height: 30px; padding: 6px 8px; }
  .sw-map-caption { bottom: 9px; font-size: 7px; gap: 5px; }
  .sw-map-city text { font-size: 8px; stroke-width: 2.4px; }
  .sw-map-hub-sub { display: none; }
  .sw-map-area-tag { transform-box: fill-box; transform-origin: center; }
  .sw-map-area-tag text { font-size: 10px; }
}

/* =========================================================
   v1.21 air fleet showcase
   ========================================================= */
.sw-fleet-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 15%, rgba(255,23,56,.055), transparent 28%),
    radial-gradient(circle at 91% 70%, rgba(59,22,173,.07), transparent 30%),
    linear-gradient(180deg,#fff 0%,#fbfaff 100%);
}
.sw-fleet-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(59,22,173,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(59,22,173,.035) 1px, transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 18%, #000 82%, transparent 100%);
}
.sw-fleet-section > .sw-container { position: relative; z-index: 1; }
.sw-fleet-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.72fr);
  gap: 72px;
  align-items: end;
  margin-bottom: 42px;
}
.sw-fleet-heading h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(36px,4.4vw,62px);
  line-height: .98;
  letter-spacing: -.045em;
}
.sw-fleet-heading-copy { display: grid; gap: 18px; align-content: end; }
.sw-fleet-heading-copy p { margin: 0; color: var(--sw-text); font-size: 16px; line-height: 1.75; }
.sw-fleet-heading-link {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  gap: 9px;
  color: var(--sw-violet);
  font-size: 13px;
  font-weight: 850;
}
.sw-fleet-heading-link svg { width: 18px; height: 18px; transition: transform .2s var(--sw-ease); }
.sw-fleet-heading-link:hover svg { transform: translateX(4px); }
.sw-fleet-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; align-items: stretch; }
.sw-fleet-card {
  --sw-fleet-accent: var(--sw-violet);
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--sw-line);
  border-radius: 28px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 20px 55px rgba(29,12,88,.08);
  transition: transform .28s var(--sw-ease), box-shadow .28s var(--sw-ease), border-color .28s var(--sw-ease);
}
.sw-fleet-card::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: 0;
  height: 3px;
  border-radius: 99px 99px 0 0;
  background: linear-gradient(90deg,transparent,var(--sw-fleet-accent),transparent);
  opacity: .7;
}
.sw-fleet-card--red { --sw-fleet-accent: var(--sw-red); }
.sw-fleet-card--violet { --sw-fleet-accent: var(--sw-violet); }
.sw-fleet-card--green { --sw-fleet-accent: var(--sw-green); }
.sw-fleet-card:hover { transform: translateY(-7px); border-color: color-mix(in srgb,var(--sw-fleet-accent) 32%, var(--sw-line)); box-shadow: 0 30px 75px rgba(29,12,88,.14); }
.sw-fleet-media { position: relative; aspect-ratio: 16/9; margin: 0; overflow: hidden; background: #ecebf3; }
.sw-fleet-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(to top,rgba(8,6,24,.30),transparent);
  pointer-events: none;
}
.sw-fleet-media img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .55s var(--sw-ease); }
.sw-fleet-card:hover .sw-fleet-media img { transform: scale(1.025); }
.sw-fleet-index,
.sw-fleet-type {
  position: absolute;
  z-index: 2;
  top: 16px;
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.sw-fleet-index { left: 16px; min-width: 38px; justify-content: center; background: rgba(9,7,26,.82); border: 1px solid rgba(255,255,255,.14); }
.sw-fleet-type { right: 16px; padding: 0 12px; background: rgba(9,7,26,.68); border: 1px solid rgba(255,255,255,.15); }
.sw-fleet-body { display: flex; flex: 1; flex-direction: column; padding: 26px 24px 28px; }
.sw-fleet-title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.sw-fleet-title-row > div > span { display: block; margin-bottom: 4px; color: var(--sw-muted); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.sw-fleet-title-row h3 { margin: 0; font-size: clamp(24px,2.1vw,32px); line-height: 1.05; letter-spacing: -.035em; }
.sw-fleet-plane { width: 46px; height: 46px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 15px; color: var(--sw-fleet-accent); background: color-mix(in srgb,var(--sw-fleet-accent) 9%, #fff); }
.sw-fleet-plane svg { width: 23px; height: 23px; }
.sw-fleet-specs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: auto 0 0; }
.sw-fleet-specs > div { min-width: 0; padding: 16px 14px; border: 1px solid #eceaf3; border-radius: 17px; background: linear-gradient(145deg,#fff,#faf9fd); }
.sw-fleet-specs dt { margin-bottom: 8px; color: var(--sw-muted); font-size: 10px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.sw-fleet-specs dd { margin: 0; display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 6px; }
.sw-fleet-specs dd strong { color: var(--sw-ink); font-size: 18px; line-height: 1; letter-spacing: -.025em; }
.sw-fleet-specs dd span { color: var(--sw-violet); font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .06em; }
.sw-fleet-note {
  width: min(100%,820px);
  margin: 26px auto 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid rgba(59,22,173,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  color: var(--sw-muted);
}
.sw-fleet-note-icon { width: 30px; height: 30px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 10px; color: var(--sw-violet); background: rgba(59,22,173,.07); }
.sw-fleet-note-icon svg { width: 16px; height: 16px; }
.sw-fleet-note p { margin: 2px 0 0; font-size: 12px; line-height: 1.6; }

@media (max-width: 1100px) {
  .sw-fleet-heading { grid-template-columns: minmax(0,1fr) minmax(300px,.78fr); gap: 40px; }
  .sw-fleet-grid { gap: 16px; }
  .sw-fleet-body { padding: 22px 18px 24px; }
  .sw-fleet-specs > div { padding: 14px 11px; }
  .sw-fleet-specs dd strong { font-size: 16px; }
}
@media (max-width: 860px) {
  .sw-fleet-section { padding-top: 86px; padding-bottom: 86px; }
  .sw-fleet-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 32px; }
  .sw-fleet-heading-copy { max-width: 680px; }
  .sw-fleet-grid { grid-template-columns: 1fr; gap: 20px; }
  .sw-fleet-card { display: grid; grid-template-columns: minmax(280px,.92fr) minmax(0,1.08fr); }
  .sw-fleet-media { height: 100%; min-height: 290px; aspect-ratio: auto; }
  .sw-fleet-body { min-width: 0; }
}
@media (max-width: 600px) {
  .sw-fleet-section { padding-top: 72px; padding-bottom: 72px; }
  .sw-fleet-heading h2 { font-size: clamp(34px,10vw,46px); }
  .sw-fleet-heading-copy p { font-size: 15px; }
  .sw-fleet-card { display: flex; }
  .sw-fleet-media { min-height: 0; aspect-ratio: 16/9; }
  .sw-fleet-index,.sw-fleet-type { top: 12px; min-height: 29px; font-size: 9px; }
  .sw-fleet-index { left: 12px; }
  .sw-fleet-type { right: 12px; padding-inline: 9px; }
  .sw-fleet-body { padding: 22px 18px 24px; }
  .sw-fleet-title-row { margin-bottom: 20px; }
  .sw-fleet-title-row h3 { font-size: 27px; }
  .sw-fleet-plane { width: 42px; height: 42px; border-radius: 14px; }
  .sw-fleet-specs { gap: 8px; }
  .sw-fleet-specs > div { padding: 14px 11px; border-radius: 15px; }
  .sw-fleet-note { margin-top: 20px; justify-content: flex-start; }
}
@media (max-width: 380px) {
  .sw-fleet-specs { grid-template-columns: 1fr; }
  .sw-fleet-type { max-width: 54%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
@media (hover: none), (pointer: coarse) {
  .sw-fleet-card:hover { transform: none; box-shadow: 0 20px 55px rgba(29,12,88,.08); }
  .sw-fleet-card:hover .sw-fleet-media img { transform: none; }
}

/* =========================================================
   v1.22 Contact page office network
   ========================================================= */
#skyway-enquiry { scroll-margin-top: 120px; }
.sw-offices-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 8% 10%, rgba(59,22,173,.055), transparent 30%),
    radial-gradient(circle at 94% 78%, rgba(50,182,75,.05), transparent 28%),
    #fff;
}
.sw-offices-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .3;
  background-image: linear-gradient(rgba(59,22,173,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(59,22,173,.03) 1px, transparent 1px);
  background-size: 58px 58px;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 82%, transparent);
  mask-image: linear-gradient(to bottom, transparent, #000 16%, #000 82%, transparent);
}
.sw-offices-section > .sw-container { position: relative; z-index: 1; }
.sw-offices-heading { margin-bottom: 36px; }
.sw-offices-heading-copy { display: grid; gap: 18px; align-content: end; justify-items: start; }
.sw-offices-heading-copy p { margin: 0; max-width: 560px; color: var(--sw-text); }
.sw-office-tabs {
  display: flex;
  width: max-content;
  max-width: 100%;
  margin: 0 auto 34px;
  padding: 6px;
  gap: 5px;
  border: 1px solid var(--sw-line);
  border-radius: 18px;
  background: rgba(247,246,251,.92);
  box-shadow: 0 10px 28px rgba(29,12,88,.05);
  overflow-x: auto;
  scrollbar-width: none;
}
.sw-office-tabs::-webkit-scrollbar { display: none; }
.sw-office-tab {
  min-height: 44px;
  padding: 0 20px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: var(--sw-muted);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .04em;
  white-space: nowrap;
  transition: background .2s var(--sw-ease), color .2s var(--sw-ease), box-shadow .2s var(--sw-ease), transform .2s var(--sw-ease);
}
.sw-office-tab:hover { color: var(--sw-violet); }
.sw-office-tab.is-active {
  color: #fff;
  background: linear-gradient(135deg,var(--sw-violet),var(--sw-violet-2));
  box-shadow: 0 9px 22px rgba(59,22,173,.20);
}
.sw-office-cards { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; margin-bottom: 26px; }
.sw-office-card {
  position: relative;
  min-width: 0;
  min-height: 245px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid var(--sw-line);
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 18px 48px rgba(29,12,88,.065);
  transition: opacity .25s var(--sw-ease), transform .25s var(--sw-ease), border-color .25s var(--sw-ease), box-shadow .25s var(--sw-ease);
}
.sw-office-card::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: -1px;
  height: 3px;
  border-radius: 99px 99px 0 0;
  background: linear-gradient(90deg,transparent,var(--sw-violet),transparent);
  opacity: .55;
}
.sw-office-card--live:hover { transform: translateY(-5px); border-color: #d3ccef; box-shadow: 0 26px 64px rgba(29,12,88,.11); }
.sw-office-card--coming { background: linear-gradient(150deg,#fbfafe,#f6f4fb); }
.sw-office-card--coming::after { background: linear-gradient(90deg,transparent,#b9b5c8,transparent); opacity: .4; }
.sw-office-card[hidden] { display: none !important; }
.sw-office-card-top { display: flex; align-items: center; gap: 8px; margin-bottom: 22px; color: var(--sw-muted); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.sw-office-card-top b { margin-left: auto; padding: 5px 8px; border-radius: 999px; color: var(--sw-green); background: rgba(50,182,75,.08); font-size: 8px; letter-spacing: .08em; }
.sw-office-card--coming .sw-office-card-top b { color: var(--sw-violet); background: rgba(59,22,173,.07); }
.sw-office-region-dot { width: 8px; height: 8px; flex: 0 0 auto; display: inline-block; border-radius: 999px; background: #b7b4c3; box-shadow: 0 0 0 5px rgba(183,180,195,.12); }
.sw-office-region-dot--uae { background: var(--sw-red); box-shadow: 0 0 0 5px rgba(255,23,56,.10); }
.sw-office-region-dot--africa { background: var(--sw-green); box-shadow: 0 0 0 5px rgba(50,182,75,.10); }
.sw-office-region-dot--soon { background: #a5a2b4; box-shadow: 0 0 0 5px rgba(165,162,180,.10); }
.sw-office-card h3 { margin: 0 0 12px; font-size: 22px; line-height: 1.15; letter-spacing: -.025em; }
.sw-office-card p { margin: 0; color: var(--sw-text); font-size: 13px; line-height: 1.65; }
.sw-office-address { min-height: 52px; }
.sw-office-card-actions { display: grid; gap: 8px; margin-top: auto; padding-top: 22px; }
.sw-office-card-actions a { display: inline-flex; align-items: center; gap: 7px; color: var(--sw-violet); font-size: 12px; font-weight: 850; }
.sw-office-card-actions a:first-child { color: var(--sw-ink); }
.sw-office-card-actions svg { width: 16px; height: 16px; transition: transform .2s var(--sw-ease); }
.sw-office-card-actions a:hover svg { transform: translateX(3px); }
.sw-office-map-shell {
  overflow: hidden;
  border: 1px solid rgba(59,22,173,.13);
  border-radius: 30px;
  background:
    radial-gradient(circle at 65% 44%, rgba(59,22,173,.06), transparent 28%),
    linear-gradient(160deg,#fcfbff,#f3f1fa);
  box-shadow: 0 28px 80px rgba(29,12,88,.09);
}
.sw-office-map-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 60px; padding: 0 22px; border-bottom: 1px solid rgba(59,22,173,.09); }
.sw-office-map-head > div { display: flex; align-items: center; gap: 10px; }
.sw-office-map-head b { font-size: 12px; letter-spacing: .035em; }
.sw-office-map-head > span { color: var(--sw-muted); font-size: 11px; font-weight: 700; }
.sw-office-map-signal { width: 9px; height: 9px; border-radius: 50%; background: var(--sw-green); box-shadow: 0 0 0 6px rgba(50,182,75,.10); }
.sw-office-map-stage { padding: 18px 24px 8px; }
.sw-office-world-map { display: block; width: 100%; height: auto; overflow: visible; }
.sw-office-land { fill: #d9d8df; stroke: #c8c6d0; stroke-width: .7; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.sw-office-world-map::before { content: ""; }
.sw-office-region-halo { opacity: .08; transition: opacity .28s var(--sw-ease); }
.sw-office-region-halo ellipse,
.sw-office-region-halo circle { fill: rgba(59,22,173,.08); stroke: rgba(59,22,173,.22); stroke-width: 1.3; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }
.sw-office-region-halo--africa ellipse { fill: rgba(50,182,75,.06); stroke: rgba(50,182,75,.32); }
.sw-office-region-halo--uae circle { fill: rgba(255,23,56,.08); stroke: rgba(255,23,56,.36); }
.sw-office-region-halo text {
  fill: var(--sw-violet);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .03em;
  text-transform: uppercase;
  text-rendering: geometricPrecision;
}
.sw-office-region-halo .sw-office-region-sub {
  fill: var(--sw-muted);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .01em;
  text-transform: none;
}
.sw-office-map-marker { opacity: 1; transition: opacity .25s var(--sw-ease), filter .25s var(--sw-ease); }
.sw-office-marker-pulse { fill: none; stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: swOfficePulse 2.3s ease-out infinite; }
.sw-office-map-marker--uae .sw-office-marker-pulse { stroke: rgba(255,23,56,.38); }
.sw-office-map-marker--africa .sw-office-marker-pulse { stroke: rgba(50,182,75,.40); animation-delay: .7s; }
.sw-office-map-marker--uae .sw-office-marker-core { fill: var(--sw-red); stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.sw-office-map-marker--africa .sw-office-marker-core { fill: var(--sw-green); stroke: #fff; stroke-width: 3; vector-effect: non-scaling-stroke; }
.sw-office-marker-line { fill: none; stroke: rgba(59,22,173,.42); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.sw-office-marker-label rect {
  fill: rgba(255,255,255,.98);
  stroke: rgba(59,22,173,.14);
  stroke-width: 1;
  filter: drop-shadow(0 5px 10px rgba(29,12,88,.10));
}
.sw-office-marker-label text {
  fill: #141122;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-rendering: geometricPrecision;
}
.sw-office-marker-label .sw-office-marker-label-sub {
  fill: #625d71;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0;
}
.sw-office-map-shell[data-active-region="uae"] .sw-office-map-marker--africa,
.sw-office-map-shell[data-active-region="africa"] .sw-office-map-marker--uae,
.sw-office-map-shell[data-active-region="america"] .sw-office-map-marker,
.sw-office-map-shell[data-active-region="europe"] .sw-office-map-marker { opacity: .14; filter: grayscale(1); }
.sw-office-map-shell[data-active-region="uae"] .sw-office-region-halo--uae,
.sw-office-map-shell[data-active-region="africa"] .sw-office-region-halo--africa,
.sw-office-map-shell[data-active-region="america"] .sw-office-region-halo--america,
.sw-office-map-shell[data-active-region="europe"] .sw-office-region-halo--europe { opacity: 1; }
.sw-office-map-shell[data-active-region="all"] .sw-office-region-halo--uae,
.sw-office-map-shell[data-active-region="all"] .sw-office-region-halo--africa { opacity: .55; }
.sw-office-map-shell[data-active-region="all"] .sw-office-region-halo--america,
.sw-office-map-shell[data-active-region="all"] .sw-office-region-halo--europe { opacity: .12; }
.sw-office-map-legend { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 14px 24px; padding: 14px 18px 18px; color: var(--sw-muted); font-size: 10px; font-weight: 760; }
.sw-office-map-legend span { display: inline-flex; align-items: center; gap: 8px; }
.sw-office-map-legend .sw-office-region-dot { box-shadow: none; }
@keyframes swOfficePulse { 0% { transform: scale(.6); opacity: .75; } 75%,100% { transform: scale(1.55); opacity: 0; } }

@media (max-width: 1100px) {
  .sw-office-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 860px) {
  .sw-offices-section { padding-top: 84px; padding-bottom: 84px; }
  .sw-offices-heading { grid-template-columns: 1fr; gap: 20px; }
  .sw-offices-heading-copy { max-width: 680px; }
  .sw-office-map-stage { padding: 12px 12px 4px; }
}
@media (max-width: 600px) {
  #skyway-enquiry { scroll-margin-top: 96px; }
  .sw-offices-section { padding-top: 72px; padding-bottom: 72px; }
  .sw-offices-heading h2 { font-size: clamp(34px,10vw,44px); }
  .sw-office-tabs { width: 100%; justify-content: flex-start; margin-bottom: 24px; }
  .sw-office-tab { min-height: 42px; padding: 0 16px; font-size: 11px; }
  .sw-office-cards { grid-template-columns: 1fr; gap: 12px; }
  .sw-office-card { min-height: 0; padding: 20px; border-radius: 20px; }
  .sw-office-card h3 { font-size: 21px; }
  .sw-office-address { min-height: 0; }
  .sw-office-map-shell { border-radius: 22px; }
  .sw-office-map-head { min-height: 56px; padding: 0 14px; }
  .sw-office-map-head > span { max-width: 48%; text-align: right; font-size: 9px; line-height: 1.35; }
  .sw-office-map-stage { padding: 4px 2px 0; overflow-x: hidden; }
  .sw-office-world-map { width: 118%; max-width: none; margin-left: -9%; }
  .sw-office-marker-label text { font-size: 12px; }
  .sw-office-marker-label .sw-office-marker-label-sub { font-size: 10px; }
  .sw-office-map-legend { gap: 9px 15px; padding: 10px 12px 14px; font-size: 9px; }
}
@media (max-width: 380px) {
  .sw-office-map-head b { font-size: 10px; }
  .sw-office-map-head > span { display: none; }
  .sw-office-world-map { width: 126%; margin-left: -13%; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-office-marker-pulse { animation: none; }
}
@media (hover: none), (pointer: coarse) {
  .sw-office-card--live:hover { transform: none; box-shadow: 0 18px 48px rgba(29,12,88,.065); }
}


/* Non-linked Star Group company treatment. Keep text-only items visually identical to linked siblings. */
.sw-menu .sub-menu .sw-menu-static-label {
  display: flex;
  min-height: 40px;
  align-items: center;
  padding: 11px 12px;
  color: rgba(255,255,255,.78);
  border-radius: 11px;
  font-size: 13px;
  font-weight: 700;
  line-height: inherit;
  cursor: default;
  user-select: text;
}
.sw-group-card--static { cursor: default; }
.sw-group-card--static:hover {
  transform: none;
  background: linear-gradient(145deg,#fff,#faf9fd);
  color: inherit;
  border-color: var(--sw-line);
}
.sw-group-card--static:hover::after { transform: none; }
.sw-group-card--static:hover small { color: var(--sw-violet); }
.sw-footer-links .sw-footer-static-company {
  display: inline-block;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: inherit;
  line-height: inherit;
  opacity: 1;
  cursor: default;
}
@media (max-width: 1100px) {
  .sw-menu .sub-menu .sw-menu-static-label { min-height: 48px; }
}
@media (max-width: 600px) {
  .sw-menu .sub-menu .sw-menu-static-label { min-height: 42px; }
}

/* v1.29 — map label readability: normal-weight system typography. */
.sw-map-area-tag text {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: .01em;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
.sw-map-area-tag--east text,
.sw-map-area-tag--sea text { font-weight: 400; }

.sw-office-marker-label text {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}
.sw-office-marker-label .sw-office-marker-label-sub {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0;
  font-synthesis: none;
}

/* v1.35 — updated supplied Boeing 767-300F photo in fleet and Excellence visuals. */
.sw-excellence-photo { aspect-ratio: 16 / 9; }
.sw-excellence-photo > img {
  object-fit: cover;
  object-position: center center;
}
@media (max-width: 860px) {
  .sw-excellence-photo { aspect-ratio: 16 / 9; }
}
@media (max-width: 600px) {
  .sw-excellence-photo { aspect-ratio: 16 / 9; }
  .sw-excellence-photo > img { object-position: center center; }
}


/* v1.31 — Air Cargo card image: exact supplied photo, edge-to-edge with no letterboxing. */
.sw-service-card--air .sw-service-card-media { background: transparent; }
.sw-service-card--air .sw-service-card-media img { width:100%; height:100%; object-fit:cover; object-position:50% 50%; }

/* v1.33 — Homepage Star Group visual company cards */
.sw-group-grid--home {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.sw-group-card--visual {
  min-height: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: var(--sw-dark);
  border-color: var(--sw-line);
  box-shadow: 0 18px 44px rgba(20, 12, 56, .06);
}
.sw-group-card--visual::after { display: none; }
.sw-group-card--visual .sw-group-card-media {
  position: relative;
  margin: 0;
  aspect-ratio: 8 / 5;
  overflow: hidden;
  background: #ecebf3;
  border-radius: 23px 23px 0 0;
}
.sw-group-card--visual .sw-group-card-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform .45s var(--sw-ease);
}
.sw-group-card--visual .sw-group-index {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  min-width: 38px;
  height: 28px;
  padding: 0 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  background: rgba(13, 9, 39, .88);
  border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 8px 20px rgba(9,7,26,.14);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}
.sw-group-card--visual .sw-group-card-body {
  position: relative;
  flex: 1;
  min-height: 146px;
  padding: 24px 66px 26px 24px;
  background: linear-gradient(145deg, #fff 0%, #fbfaff 100%);
}
.sw-group-card--visual .sw-group-card-body small {
  margin: 0;
  color: var(--sw-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sw-group-card--visual .sw-group-card-body h3 {
  margin: 8px 0 0;
  font-size: 21px;
  line-height: 1.18;
  color: var(--sw-dark);
}
.sw-group-card--visual .sw-group-card-action {
  position: absolute;
  right: 22px;
  bottom: 22px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(59,22,173,.08);
  color: var(--sw-violet);
  transition: transform .25s var(--sw-ease), background .25s var(--sw-ease), color .25s var(--sw-ease);
}
.sw-group-card--visual .sw-group-card-action svg { width: 18px; height: 18px; }
.sw-group-card--visual:hover {
  transform: translateY(-6px);
  background: #fff;
  color: var(--sw-dark);
  border-color: rgba(59,22,173,.26);
  box-shadow: 0 22px 54px rgba(20,12,56,.12);
}
.sw-group-card--visual:hover .sw-group-card-media img { transform: scale(1.035); }
.sw-group-card--visual:hover .sw-group-card-body small { color: var(--sw-violet); }
.sw-group-card--visual:hover .sw-group-card-action {
  transform: translateX(3px);
  background: var(--sw-violet);
  color: #fff;
}
@media (max-width: 1080px) {
  .sw-group-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sw-group-grid--home .sw-group-card--visual:last-child { grid-column: 1 / -1; max-width: 620px; width: 100%; justify-self: center; }
}
@media (max-width: 700px) {
  .sw-group-grid--home { grid-template-columns: 1fr; gap: 18px; }
  .sw-group-grid--home .sw-group-card--visual:last-child { grid-column: auto; max-width: none; }
  .sw-group-card--visual .sw-group-card-body { min-height: 132px; padding: 21px 62px 23px 21px; }
  .sw-group-card--visual .sw-group-card-body h3 { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
  .sw-group-card--visual .sw-group-card-media img,
  .sw-group-card--visual .sw-group-card-action { transition: none; }
  .sw-group-card--visual:hover .sw-group-card-media img { transform: none; }
}

/* v1.34 — Air fleet: tonnage-only specification cards. */
.sw-fleet-specs { grid-template-columns: 1fr; }
.sw-fleet-specs > div { width: 100%; }
