html, body { margin: 0; padding: 0; }
html { margin-top: 0 !important; }
body {
  overflow-x: hidden;
  background:
    linear-gradient(180deg, rgba(248,251,254,.82) 0%, rgba(255,255,255,0) 18rem),
    #fff;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
#wpadminbar { display: none !important; }
body.admin-bar { margin-top: 0 !important; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.btn-block { width: 100%; }
.btn {
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
}
.btn::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255,255,255,.28) 48%, transparent 72%);
  transform: translateX(-120%);
  transition: transform .42s ease;
  pointer-events: none;
}
.btn:hover { transform: translateY(-1px); }
.btn:hover::after { transform: translateX(120%); }
.btn.primary {
  background: linear-gradient(180deg, #ffd27a 0%, var(--gold) 54%, #dda13a 100%) !important;
  border-color: rgba(255,216,142,.7) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.58),
    inset 0 -1px 0 rgba(99,63,0,.16),
    0 .875rem 1.75rem rgba(240,182,74,.28);
}
.btn.primary:hover { box-shadow: 0 1rem 2.25rem rgba(240,182,74,.34); }
.btn.dark {
  background: linear-gradient(180deg, #143f70, var(--navy) 58%, #08213e) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 .875rem 1.875rem rgba(10,49,95,.18);
}
.btn.line {
  background: linear-gradient(180deg, #fff, #f7fbff) !important;
  border-color: rgba(207,224,236,.9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}
.btn.line:hover { border-color: rgba(11,111,179,.32); box-shadow: 0 .875rem 1.75rem rgba(10,49,95,.08); }
.hero .btn.line,
.about-hero .btn.line,
.page-hero .btn.line,
.case-page-hero .btn.line,
.news-page-hero .btn.line,
.hero-actions .btn.line {
  background: rgba(255,255,255,.1) !important;
  border-color: rgba(255,255,255,.26) !important;
  color: white !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 .75rem 1.5rem rgba(0,0,0,.08) !important;
  -webkit-backdrop-filter: blur(.625rem);
  backdrop-filter: blur(.625rem);
}
.hero .btn.line:hover,
.about-hero .btn.line:hover,
.page-hero .btn.line:hover,
.case-page-hero .btn.line:hover,
.news-page-hero .btn.line:hover,
.hero-actions .btn.line:hover {
  background: rgba(255,255,255,.16) !important;
  border-color: rgba(255,255,255,.38) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 .875rem 1.875rem rgba(0,0,0,.12) !important;
}
.nav .nav-cta { min-height: 2.5rem; padding: 0 0.875rem; font-size: 0.875rem; }
.topbar { background: var(--navy); color: rgba(255,255,255,.78); font-size: 0.8125rem; }
.topbar .container { height: 2.25rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.topbar span { min-width: 0; }
.topbar a { color: white; font-weight: 800; }
.header { position: sticky; top: 0; z-index: 80; background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(207,224,236,.86); backdrop-filter: blur(0.875rem); box-shadow: 0 .625rem 1.75rem rgba(10,49,95,.045); }
.nav { height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: flex; align-items: center; gap: 0.875rem; min-width: 18.75rem; }
.brand-mark { width: 3.375rem; height: 3.375rem; border-radius: 0.5rem; overflow: hidden; border: 1px solid rgba(31,115,183,.16); box-shadow: 0 0.625rem 1.375rem rgba(31,115,183,.18), inset 0 0 0 1px rgba(255,255,255,.72); display: grid; place-items: center; background: linear-gradient(180deg, #fff, #f7fbff); flex: 0 0 auto; }
.brand-mark img { width: 3rem; height: 3rem; object-fit: contain; }
.brand strong { display: block; font-size: 1.125rem; line-height: 1.1; }
.brand small { color: var(--navy); font-size: 1.0625rem; font-weight: 900; letter-spacing: 0; white-space: nowrap; }
.menu { display: flex; gap: 1px; align-items: center; }
.menu > a, .nav-trigger { padding: 0.625rem 0.5rem; border-radius: 0.375rem; font-size: 0.875rem; color: #2c424a; white-space: nowrap; }
.menu > a:hover, .menu > a.active, .nav-trigger.active, .nav-item:hover .nav-trigger, .nav-item:focus-within .nav-trigger { background: var(--sky); color: var(--brand); }
.mobile-menu-toggle { display: none; width: 2.625rem; height: 2.625rem; border: 1px solid var(--line); border-radius: 0.5rem; background: white; align-items: center; justify-content: center; gap: 0.25rem; flex-direction: column; cursor: pointer; }
.mobile-menu-toggle span { width: 1.125rem; height: 2px; border-radius: 62.4375rem; background: var(--navy); transition: .18s ease; }
.mobile-menu-toggle.is-open span:nth-child(1) { transform: translateY(0.375rem) rotate(45deg); }
.mobile-menu-toggle.is-open span:nth-child(2) { opacity: 0; }
.mobile-menu-toggle.is-open span:nth-child(3) { transform: translateY(-0.375rem) rotate(-45deg); }
.nav-item { position: relative; }
.nav-trigger { display: inline-flex; align-items: center; gap: 0.3125rem; }
.nav-trigger::after { content: ""; width: 0.375rem; height: 0.375rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-top: -0.1875rem; opacity: .75; }
.submenu-toggle { display: none; }
.dropdown { position: absolute; left: 50%; top: calc(100% + 0.75rem); min-width: 11.875rem; padding: 0.5rem; border: 1px solid rgba(207,224,236,.92); border-radius: 0.5rem; background: linear-gradient(180deg, #fff, #fbfdff); box-shadow: 0 1rem 2.75rem rgba(10,49,95,.14); opacity: 0; transform: translateX(-50%) translateY(0.5rem); pointer-events: none; transition: .18s ease; }
.dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -0.875rem; height: 0.875rem; }
.dropdown a { display: block; padding: 0.5625rem 0.625rem; border-radius: 0.375rem; color: var(--text); font-size: 0.8125rem; font-weight: 800; white-space: nowrap; }
.dropdown a:hover { background: var(--sky); color: var(--brand); }
.nav-item:hover .dropdown, .nav-item:focus-within .dropdown { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
.footer { position: relative; background: linear-gradient(180deg, #0c2730, #071b22); color: rgba(255,255,255,.74); padding: 2.5rem 0 1.125rem; box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
main { margin-bottom: 0; }
main > :last-child { margin-bottom: 0; }
main > .final-cta:last-child { margin-bottom: 0; }
main + .footer { margin-top: 0; }
.final-cta { padding-top: 4rem !important; padding-bottom: 4rem !important; }
.final-cta {
  position: relative;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), inset 0 -1px 0 rgba(0,0,0,.12);
}
.final-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.035) 1px, transparent 1px),
    radial-gradient(circle at 18% 18%, rgba(240,182,74,.13), transparent 22rem),
    radial-gradient(circle at 82% 42%, rgba(24,168,232,.12), transparent 24rem);
  background-size: 3.5rem 3.5rem, 3.5rem 3.5rem, auto, auto;
  opacity: .82;
}
.final-cta > .container { position: relative; z-index: 1; }
.final-cta .cta-grid { align-items: center; justify-content: center; }
.final-cta .cta-grid > * { align-self: center; }
.final-cta .contact-card { justify-self: center; width: min(100%, 26.25rem); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 1.5rem; }
.footer h3 { color: white; font-size: 1.0625rem; margin: 0 0 0.75rem; }
.footer p, .footer a, .footer li { color: rgba(255,255,255,.64); font-size: 0.875rem; }
.footer a { transition: color .18s ease, text-shadow .18s ease; }
.footer a:hover, .footer a:focus-visible { color: var(--gold); text-shadow: 0 0 .875rem rgba(240,182,74,.22); }
.footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.copyright { border-top: 1px solid rgba(255,255,255,.12); margin-top: 2rem; padding-top: 1.25rem; font-size: 0.8125rem; color: rgba(255,255,255,.48); }
.copyright a { position: relative; z-index: 2; pointer-events: auto; cursor: pointer; color: inherit; text-decoration: none; font-size: inherit; transition: color .18s ease, text-shadow .18s ease; }
.copyright a:hover, .copyright a:focus-visible { color: var(--gold); text-shadow: 0 0 .875rem rgba(240,182,74,.22); }
.footer-legal { display: grid; gap: 0.625rem; text-align: center; line-height: 1.75; }
.footer-legal-primary,
.footer-legal-secondary { margin-inline: auto; max-width: 100%; }
.float-bar { position: fixed; right: 1.125rem; top: 50%; transform: translateY(-50%); z-index: 90; display: grid; gap: 0.625rem; }
.float-item { position: relative; }
.float-bar a, .float-bar button { position: relative; overflow: hidden; width: 3.25rem; height: 3.25rem; border: 1px solid rgba(207,224,236,.82); border-radius: 0.875rem; background: radial-gradient(circle at 28% 20%, rgba(255,255,255,1) 0 10%, rgba(255,255,255,.42) 11% 22%, transparent 23%), radial-gradient(circle at 68% 76%, rgba(11,111,179,.12), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.98) 0%, rgba(232,244,252,.9) 48%, rgba(255,255,255,.95) 100%); color: var(--brand); box-shadow: 0 1rem 2rem rgba(10,49,95,.16), inset 0 1px 0 rgba(255,255,255,.95), inset 0 -0.375rem 0.75rem rgba(10,49,95,.08), inset 0 0 0 1px rgba(255,255,255,.52); font-weight: 900; display: grid; place-items: center; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.float-bar a::before, .float-bar button::before { content: ""; position: absolute; inset: 0.125rem; border-radius: 0.75rem; pointer-events: none; background: radial-gradient(ellipse at 30% 18%, rgba(255,255,255,.9) 0 9%, rgba(255,255,255,.46) 10% 20%, transparent 21% 38%), linear-gradient(145deg, rgba(255,255,255,.44), transparent 34% 64%, rgba(255,255,255,.24)); opacity: .88; }
.float-bar a::after, .float-bar button::after { content: ""; position: absolute; right: 10%; bottom: 9%; width: 52%; height: 42%; border-radius: 999px 999px 0.625rem 999px; background: radial-gradient(ellipse at 68% 72%, rgba(11,111,179,.16), transparent 58%); filter: blur(.25px); pointer-events: none; }
.float-bar a > *, .float-bar button > * { position: relative; z-index: 1; }
.float-bar a:hover, .float-bar button:hover { transform: translateY(-1px); border-color: rgba(11,111,179,.34); background: radial-gradient(circle at 28% 20%, rgba(255,255,255,1) 0 11%, rgba(255,255,255,.5) 12% 24%, transparent 25%), radial-gradient(circle at 68% 76%, rgba(11,111,179,.14), transparent 42%), linear-gradient(145deg, rgba(255,255,255,1) 0%, rgba(226,242,252,.94) 48%, rgba(255,255,255,.98) 100%); box-shadow: 0 1.125rem 2.375rem rgba(10,49,95,.2), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -0.375rem 0.75rem rgba(10,49,95,.08), inset 0 0 0 1px rgba(255,255,255,.64); }
.float-pop { position: absolute; right: 4rem; top: 50%; transform: translate(0.625rem,-50%); min-width: 9.625rem; padding: 0.75rem 0.875rem; border: 1px solid rgba(207,224,236,.82); border-radius: 0.75rem; background: radial-gradient(circle at 16% 14%, rgba(255,255,255,1) 0 7%, rgba(255,255,255,.36) 8% 18%, transparent 19%), linear-gradient(145deg, rgba(255,255,255,.98), rgba(236,246,253,.9) 48%, rgba(255,255,255,.96)); color: var(--ink); box-shadow: 0 1.125rem 3rem rgba(10,49,95,.14), inset 0 1px 0 rgba(255,255,255,.92), inset 0 -0.375rem 0.75rem rgba(10,49,95,.07); opacity: 0; pointer-events: none; transition: .2s ease; font-size: 0.8125rem; line-height: 1.6; }
.float-pop::before { content: ""; position: absolute; inset: 0.125rem; border-radius: 0.625rem; pointer-events: none; background: radial-gradient(ellipse at 18% 13%, rgba(255,255,255,.82), rgba(255,255,255,.28) 22%, transparent 38%), linear-gradient(145deg, rgba(255,255,255,.36), transparent 42% 70%, rgba(255,255,255,.2)); opacity: .78; }
.float-pop > * { position: relative; z-index: 1; }
.float-pop b { display: block; color: var(--brand); font-size: 0.9375rem; }
.float-item:hover .float-pop { opacity: 1; transform: translate(0,-50%); }
.qr-box { width: 5.75rem; height: 5.75rem; margin: 0.25rem auto 0.5rem; border: 0.375rem solid white; background: conic-gradient(from 90deg, #102f56 0 25%, transparent 0 50%, #102f56 0 75%, transparent 0) 0 0/1.125rem 1.125rem, linear-gradient(135deg, transparent 42%, #102f56 42% 58%, transparent 58%); box-shadow: inset 0 0 0 2px #102f56; }
.wechat-icon { width: 1.375rem; height: 1.375rem; display: block; fill: currentColor; }
.float-phone-icon { display: block; color: currentColor; font-family: Arial, "Microsoft YaHei", sans-serif; font-size: 1.25rem; line-height: 1; }
.qr-box img { width: 100%; height: 100%; object-fit: cover; }
.toast { position: fixed; left: 50%; bottom: 1.5rem; transform: translate(-50%, 1.125rem); opacity: 0; pointer-events: none; z-index: 220; background: linear-gradient(135deg, var(--navy), #0b416f); color: white; padding: 0.75rem 1.125rem; border-radius: 0.375rem; transition: .24s ease; box-shadow: 0 1rem 2.5rem rgba(7,31,58,.24); filter: none; backdrop-filter: none; }
.toast.show { opacity: 1; transform: translate(-50%, 0); }
.contact-modal { position: fixed; inset: 0; z-index: 180; display: grid; place-items: center; padding: 1.5rem; opacity: 0; pointer-events: none; transition: .2s ease; }
.contact-modal.is-open { opacity: 1; pointer-events: auto; }
.contact-modal-backdrop { position: absolute; inset: 0; background: rgba(7,31,58,.58); backdrop-filter: blur(0.25rem); }
.contact-modal-panel { position: relative; width: min(57.5rem, 100%); max-height: min(88vh, 47.5rem); overflow: auto; border-radius: 0.5rem; background: linear-gradient(180deg, #fff, #fbfdff); box-shadow: 0 1.75rem 5.625rem rgba(7,31,58,.28), inset 0 0 0 1px rgba(255,255,255,.72); padding: 1.75rem; color: var(--ink); }
.contact-modal-close { position: absolute; right: 1rem; top: 0.875rem; width: 2.375rem; height: 2.375rem; border: 1px solid var(--line); border-radius: 0.5rem; background: white; color: var(--navy); font-size: 1.625rem; line-height: 1; cursor: pointer; }
.contact-modal-head { padding-right: 2.875rem; margin-bottom: 1.25rem; }
.contact-modal-head h2 { margin: 0 0 0.5rem; color: var(--navy); font-size: clamp(1.75rem, 3vw, 2.375rem); line-height: 1.18; }
.contact-modal-head p { margin: 0; color: var(--text); }
.contact-modal-body { display: grid; grid-template-columns: .82fr 1fr; gap: 1.375rem; align-items: center; }
.contact-modal-info { display: grid; gap: 0.625rem; width: min(100%, 20rem); justify-self: center; align-self: center; }
.contact-modal-info a, .contact-modal-info button { min-height: 4.375rem; border: 1px solid var(--line); border-radius: 0.5rem; background: linear-gradient(180deg, #fff, #f8fbfe); padding: 0.75rem 0.875rem; text-align: left; color: var(--ink); cursor: pointer; transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease; }
.contact-modal-info a:hover, .contact-modal-info button:hover { transform: translateY(-1px); border-color: rgba(11,111,179,.28); box-shadow: 0 .875rem 1.75rem rgba(10,49,95,.08); }
.contact-modal-info span { display: block; color: var(--muted); font-size: 0.8125rem; margin-bottom: 0.1875rem; }
.contact-modal-info b { display: block; color: var(--navy); font-size: 1.0625rem; overflow-wrap: anywhere; }
.contact-modal .contact-card { box-shadow: none; border: 1px solid var(--line); }
.contact-modal .contact-card input::placeholder,
.contact-modal .contact-card textarea::placeholder { color: #6f7f8f; opacity: 1; }
.contact-modal .contact-card input,
.contact-modal .contact-card select,
.contact-modal .contact-card textarea { color: var(--ink); -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
body.contact-modal-lock { overflow: hidden; }

[class$="-card"],
[class$="-panel"],
[class$="-box"],
.cargo-taxonomy,
.service-table,
.clean-steps,
.case-table,
.news-layout,
.article-shell {
  background-clip: padding-box;
}

.contact-card,
[class$="-card"],
[class$="-panel"],
[class$="-box"] {
  border-color: rgba(207,224,236,.92);
}

.contact-card input,
.contact-card select,
.contact-card textarea {
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
  background-color: #fff;
}

.contact-card input:focus,
.contact-card select:focus,
.contact-card textarea:focus {
  border-color: rgba(11,111,179,.46);
  box-shadow: 0 0 0 .1875rem rgba(24,168,232,.12);
  background-color: #fbfdff;
}

.hero,
.about-hero,
.page-hero,
.case-page-hero,
.news-page-hero {
  position: relative;
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.08), inset 0 -5rem 7rem rgba(0,0,0,.08);
}

.hero > *,
.about-hero > *,
.page-hero > *,
.case-page-hero > *,
.news-page-hero > * {
  position: relative;
  z-index: 1;
}

.hero h1,
.about-hero h1,
.page-hero h1,
.case-page-hero h1,
.news-page-hero h1 {
  text-shadow: 0 .875rem 2rem rgba(0,0,0,.18);
}

[class$="-card"],
[class$="-panel"],
[class$="-box"],
.cargo-taxonomy,
.service-table,
.clean-steps,
.case-table,
.news-layout,
.article-shell,
.contact-card {
  box-shadow:
    0 .75rem 1.75rem rgba(10,49,95,.055),
    0 1.75rem 4rem rgba(10,49,95,.045);
}

a[class$="-card"],
button[class$="-card"],
a[class$="-box"],
button[class$="-box"],
.contact-modal-info a,
.contact-modal-info button {
  will-change: transform;
}

.cargo-major:hover,
.cargo-major.active,
.service-menu button.active,
.coverage-tabs button.active,
.case-tab.active,
.faq-nav button.active,
.insight-tab.active,
.entry-route-tab.active,
.cargo-tabs button.active,
.leaf.is-selected {
  color: white !important;
  background-image: linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,0) 38%), linear-gradient(135deg, var(--navy), var(--brand)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.16),
    inset 0 -1px 0 rgba(0,0,0,.12),
    0 .875rem 1.875rem rgba(10,49,95,.12);
}

.leaf.is-selected {
  color: #211600 !important;
  background-image: linear-gradient(180deg, #ffd27a, var(--gold) 58%, #dda13a) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.52), 0 .625rem 1.25rem rgba(240,182,74,.24);
}

@supports ((backdrop-filter: blur(1rem)) or (-webkit-backdrop-filter: blur(1rem))) {
  .dropdown,
  .float-bar a,
  .float-bar button,
  .float-pop,
  .contact-modal-panel,
  .contact-modal-info a,
  .contact-modal-info button,
  .contact-card,
  .proof-grid,
  .coverage-panel,
  .case-stage,
  .insight-panel,
  .cargo-taxonomy,
  .service-table,
  .clean-steps,
  .article-shell {
    background-color: rgba(255,255,255,.9);
    -webkit-backdrop-filter: blur(1rem) saturate(1.08);
    backdrop-filter: blur(1rem) saturate(1.08);
    border-color: rgba(207,224,236,.78);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.72),
      0 .875rem 2rem rgba(10,49,95,.07),
      0 2rem 4.5rem rgba(10,49,95,.055);
  }

  .final-cta .contact-card,
  .contact-modal-panel {
    background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,254,.9));
    border-color: rgba(255,255,255,.58);
    -webkit-backdrop-filter: blur(1.125rem) saturate(1.12);
    backdrop-filter: blur(1.125rem) saturate(1.12);
  }

  .header {
    background: rgba(255,255,255,.88);
    -webkit-backdrop-filter: blur(1rem) saturate(1.1);
    backdrop-filter: blur(1rem) saturate(1.1);
  }

  .float-bar a,
  .float-bar button {
    background: radial-gradient(circle at 28% 20%, rgba(255,255,255,.94) 0 10%, rgba(255,255,255,.4) 11% 22%, transparent 23%), radial-gradient(circle at 68% 76%, rgba(11,111,179,.12), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.92), rgba(233,245,252,.84) 48%, rgba(255,255,255,.9));
    color: var(--brand);
    -webkit-backdrop-filter: blur(1rem) saturate(1.22);
    backdrop-filter: blur(1rem) saturate(1.22);
    border-color: rgba(207,224,236,.82);
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.82),
      inset 0 0 0 1px rgba(255,255,255,.34),
      0 .875rem 2rem rgba(10,49,95,.16);
  }

  .float-bar a:hover,
  .float-bar button:hover {
    background: radial-gradient(circle at 28% 20%, rgba(255,255,255,1) 0 11%, rgba(255,255,255,.48) 12% 24%, transparent 25%), radial-gradient(circle at 68% 76%, rgba(11,111,179,.14), transparent 42%), linear-gradient(145deg, rgba(255,255,255,.96), rgba(226,242,252,.88) 48%, rgba(255,255,255,.94));
    color: var(--brand);
    border-color: rgba(11,111,179,.34);
  }

  .float-pop {
    background: radial-gradient(circle at 16% 14%, rgba(255,255,255,.94) 0 7%, rgba(255,255,255,.34) 8% 18%, transparent 19%), linear-gradient(145deg, rgba(255,255,255,.92), rgba(235,246,253,.86) 50%, rgba(255,255,255,.9));
    -webkit-backdrop-filter: blur(1.125rem) saturate(1.2);
    backdrop-filter: blur(1.125rem) saturate(1.2);
    border-color: rgba(207,224,236,.82);
  }
}

.news-tabs {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,251,254,.9)) !important;
  border-color: rgba(207,224,236,.9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 1rem 2.5rem rgba(10,49,95,.08) !important;
}

.news-tabs button {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
  border-color: rgba(237,243,248,.9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 .5rem 1.25rem rgba(10,49,95,.035);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}

.news-tabs button:hover,
.news-tabs button.active {
  transform: translateY(-1px);
  background: linear-gradient(180deg, rgba(255,255,255,.13), rgba(255,255,255,0) 42%), linear-gradient(135deg, #0b315d, #0b6fb3) !important;
  border-color: rgba(255,255,255,.18) !important;
  color: white !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 .875rem 1.875rem rgba(10,49,95,.13);
}

.news-tabs button em {
  min-width: 2.25rem;
  min-height: 1.5rem;
  display: inline-grid;
  place-items: center;
  border-radius: 62.4375rem;
  background: #eef6fd;
  color: var(--brand) !important;
}

.news-tabs button:hover em,
.news-tabs button.active em {
  background: linear-gradient(180deg, #ffd27a, var(--gold));
  color: #211600 !important;
}

.cargo-major-list {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), transparent 9rem),
    linear-gradient(135deg, #082b52, #0a3b68 58%, #08294e) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.08), inset 0 1px 0 rgba(255,255,255,.08);
}

.cargo-major {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.04)) !important;
  border-color: rgba(255,255,255,.12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.cargo-major::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.12), transparent 42%);
  opacity: 0;
  transition: opacity .18s ease;
  pointer-events: none;
}

.cargo-major:hover::before,
.cargo-major.active::before { opacity: 1; }

.cargo-major:hover,
.cargo-major.active {
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04) 42%), linear-gradient(135deg, #0a4a7d, #0b6fb3) !important;
  border-color: rgba(255,255,255,.38) !important;
  color: white !important;
}

.cargo-major:hover small,
.cargo-major.active small { color: rgba(255,255,255,.68) !important; }

.cargo-major:hover em,
.cargo-major.active em {
  background: linear-gradient(180deg, #ffd27a, var(--gold)) !important;
  color: #211600 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5), 0 .5rem 1rem rgba(240,182,74,.22);
}

.case-directory {
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(248,251,254,.9)) !important;
  border-color: rgba(207,224,236,.9) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 1rem 2.5rem rgba(10,49,95,.08) !important;
}

.case-directory a {
  overflow: hidden;
  background: linear-gradient(180deg, #fff, #fbfdff) !important;
  border-color: rgba(237,243,248,.85) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.case-directory a:hover,
.case-directory a.active {
  transform: translateY(-1px);
  background: linear-gradient(180deg, #f2f8fd, #eaf4fc) !important;
  border-color: rgba(11,111,179,.22) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.72), 0 .875rem 1.75rem rgba(10,49,95,.08);
}

.case-directory a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, rgba(255,255,255,.5), transparent 36%);
  pointer-events: none;
}

.case-directory a > span {
  color: var(--brand) !important;
  text-shadow: 0 .375rem .875rem rgba(31,115,183,.12);
}
@media (max-width: 1080px) {
  .topbar .container { flex-direction: row; align-items: center; padding: 0; }
  .nav { height: 4.75rem; position: relative; flex-direction: row; align-items: center; padding: 0; }
  .header .nav-cta { display: none !important; }
  .mobile-menu-toggle { display: inline-flex !important; margin-left: auto; }
  .menu { position: absolute !important; left: 1.5rem !important; right: 1.5rem !important; top: calc(100% + 0.625rem) !important; display: grid !important; grid-template-columns: 1fr !important; gap: 0.5rem !important; max-height: min(72vh, 35rem); overflow: auto; padding: 0.75rem !important; border: 1px solid var(--line) !important; border-radius: 0.5rem !important; background: white !important; box-shadow: var(--shadow) !important; opacity: 0 !important; pointer-events: none !important; transform: translateY(-0.5rem) !important; transition: .18s ease; }
  .header.mobile-menu-open .menu { opacity: 1 !important; pointer-events: auto !important; transform: translateY(0) !important; }
  .menu > a, .nav-trigger { min-height: 2.875rem !important; padding: 0 0.75rem !important; border: 1px solid #edf3f8 !important; background: #f8fbfe !important; display: flex !important; align-items: center !important; justify-content: flex-start !important; color: var(--navy) !important; font-weight: 900 !important; }
  .menu > a:hover, .menu > a.active, .nav-trigger.active, .nav-item:hover .nav-trigger, .nav-item:focus-within .nav-trigger { transform: none !important; background: var(--sky) !important; color: var(--brand) !important; }
  .nav-item { position: static !important; display: grid !important; grid-template-columns: minmax(0, 1fr) 2.875rem !important; gap: 0 !important; }
  .nav-trigger::after { display: none !important; }
  .nav-item .nav-trigger { border-right: 0 !important; border-radius: 0.375rem 0 0 0.375rem !important; }
  .submenu-toggle { min-height: 2.875rem; border: 1px solid #edf3f8; border-radius: 0 0.375rem 0.375rem 0; background: #f8fbfe; display: grid !important; place-items: center; cursor: pointer; }
  .submenu-toggle::before { content: ""; width: 0.4375rem; height: 0.4375rem; border-right: 1.5px solid var(--navy); border-bottom: 1.5px solid var(--navy); transform: rotate(45deg); margin-top: -0.25rem; transition: .18s ease; }
  .nav-item.submenu-open .submenu-toggle::before { transform: rotate(225deg); margin-top: 0.25rem; }
  .dropdown, .nav-item:hover .dropdown, .nav-item:focus-within .dropdown { position: static !important; left: auto !important; top: auto !important; min-width: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; opacity: 1 !important; transform: none !important; pointer-events: auto !important; display: none !important; grid-template-columns: 1fr !important; gap: 0.3125rem !important; }
  .nav-item.submenu-open .dropdown { display: grid !important; grid-column: 1 / -1 !important; }
  .dropdown::before { display: none !important; }
  .dropdown a { display: block !important; padding: 0.5rem 0.625rem !important; background: white !important; border: 1px solid #edf3f8 !important; color: #2c424a !important; transform: none !important; opacity: 1 !important; }
  .dropdown a:hover { transform: none !important; background: var(--sky) !important; color: var(--brand) !important; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
  .float-bar { top: auto; bottom: 0.75rem; left: 50%; right: auto; transform: translateX(-50%); grid-auto-flow: column; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .float-bar a, .float-bar button { width: 2.875rem; height: 2.875rem; box-shadow: 0 0.75rem 1.5rem rgba(10,49,95,.16); }
  .float-pop { display: none; }
  main + .footer { margin-top: 0; }
}
@media (max-width: 720px) {
  .topbar { font-size: 0.75rem; }
  .topbar .container { height: auto; padding: 0.5rem 0; align-items: flex-start; flex-direction: column; gap: 0.25rem; }
  .topbar span:first-child { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
  .nav { height: 4.25rem; gap: 0.625rem; }
  .brand { min-width: 0; gap: 0.5625rem; }
  .brand-mark { width: 3rem; height: 3rem; }
  .brand-mark img { width: 2.625rem; height: 2.625rem; }
  .brand small { display: block; font-size: 0.8125rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .header .btn { display: none; }
  .menu { left: 0.875rem !important; right: 0.875rem !important; grid-template-columns: 1fr !important; }
  .contact-modal { padding: 0.875rem; align-items: center; }
  .contact-modal-panel { max-height: 86vh; padding: 1.25rem; }
  .contact-modal-body { grid-template-columns: 1fr; align-items: start; }
  .contact-modal-info { grid-template-columns: 1fr 1fr; width: 100%; justify-self: stretch; }
.contact-modal-info a, .contact-modal-info button { min-height: 3.875rem; padding: 0.625rem; }
main { margin-bottom: 0 !important; padding-bottom: 0 !important; }
main > :last-child { margin-bottom: 0 !important; }
main > .final-cta:last-child { margin-bottom: 0 !important; }
main + .footer, .footer { margin-top: 0 !important; }
  .final-cta { padding-top: 3rem !important; padding-bottom: 3rem !important; }
  .footer { padding-bottom: 0.875rem; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
.hero,
.about-hero,
.page-hero,
.case-page-hero,
.news-page-hero {
  min-height: 0 !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.about-hero::before,
.page-hero::before {
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}
.hero { background-position: 46% center !important; }
.about-hero::before { background-position: 58% center !important; }
.page-hero::before { background-position: center center !important; }
.case-page-hero,
.news-page-hero { background-position: center center !important; }
.hero-inner,
.about-hero .container,
.page-hero .container,
.case-page-hero,
.news-page-hero {
  padding-top: 0 !important;
  padding-bottom: clamp(1.625rem, 6vw, 2.875rem) !important;
}
.hero { aspect-ratio: auto; }
.about-hero,
.page-hero,
.case-page-hero,
.news-page-hero { aspect-ratio: auto; }
.hero,
.about-hero,
.page-hero,
.case-page-hero,
.news-page-hero { min-height: max-content !important; }
.about-hero .container,
.page-hero .container {
  min-height: 0 !important;
}
.case-page-hero .container,
.news-page-hero .container {
  min-height: 0 !important;
}
.hero h1,
.about-hero h1,
.page-hero h1,
.case-page-hero h1,
.news-page-hero h1 {
  font-size: clamp(1.875rem, 8vw, 2.5rem) !important;
  line-height: 1.16 !important;
}
.hero .lead,
.about-hero p,
.page-hero p,
.case-page-hero .lead,
.news-page-hero .lead {
  font-size: clamp(0.9375rem, 3.6vw, 1.0625rem) !important;
  line-height: 1.65 !important;
}
}
@media (max-width: 380px) {
  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-grid > div:first-child { grid-column: auto; }
}
