/* =====================================================================
   ASMACS Group — "Atlas" design layer
   Loaded after custom.css on every page. Same palette as before
   (blue / red / amber on navy), new structure: floating capsule header,
   drawer menus, tri-stripe signature, rounded "sheet" surfaces.
   ===================================================================== */
:root {
  --ax-blue: #125ad3;
  --ax-blue-d: #0a3a92;
  --ax-red: #ee403c;
  --ax-amber: #f9a518;
  --ax-navy: #0b1220;
  --ax-navy-2: #151e30;
  --ax-ink: #1c2636;
  --ax-body: #4a5568;
  --ax-mist: #f3f6fb;
  --ax-line: #e2e8f2;
  --ax-white: #fff;
  --ax-stripe: #dde3ee; /* underline accent: light gray everywhere */
  --ax-grad: linear-gradient(120deg, var(--ax-amber), var(--ax-red));
  --ax-r: 22px;
  --ax-font: 'Inter', 'Segoe UI', system-ui, -apple-system, Roboto, sans-serif;
  --ax-display: 'Plus Jakarta Sans', 'Inter', 'Segoe UI', system-ui, sans-serif;
  --ax-shadow: 0 24px 60px -18px rgba(11, 18, 32, .35), 0 6px 18px -8px rgba(11, 18, 32, .18);
}

/* ---------- global type + polish ---------- */
html { scroll-behavior: smooth; }
body, body p, body li, body a, body td, body th, body label, body input, body textarea, body select, body button, body summary {
  font-family: var(--ax-font);
}
body h1, body h2, body h3, body h4, body h5, body h6 { font-family: var(--ax-display); letter-spacing: -.015em; }
body { color: var(--ax-body); background: #fff; -webkit-font-smoothing: antialiased; }
#Content h2, #Content h3 { color: var(--ax-ink); }
#Content p, #Content li { line-height: 1.75; }
#Content a { transition: color .2s; }
.image_frame img, .column_attr img { border-radius: 16px; }
a.button, .button, input[type=submit], button[type=submit] { border-radius: 999px !important; }
.section_wrapper, .container { max-width: 1220px; }
::selection { background: var(--ax-amber); color: var(--ax-navy); }

/* ---------- hide the legacy Betheme header ---------- */
#Top_bar, .header_placeholder, #Side_slide, #body_overlay,
.responsive-menu-toggle { display: none !important; }
html.ax-on #Header_wrapper { background: none !important; min-height: 0 !important; }
html.ax-lock, html.ax-lock body { overflow: hidden; }

/* ---------- header: simple full-width bar, sticky on scroll ---------- */
.ax-shell { position: sticky; top: 0; z-index: 9990; background: #fff; border-bottom: 1px solid var(--ax-line); transition: box-shadow .25s; }
.ax-shell.is-scrolled { box-shadow: 0 8px 24px -14px rgba(11, 18, 32, .35); }
.ax-wrap { position: relative; max-width: 1260px; margin: 0 auto; padding: 0 20px; }
.ax-skip { position: absolute; left: -9999px; top: 8px; z-index: 5; background: var(--ax-navy); color: #fff; padding: 10px 16px; border-radius: 8px; }
.ax-skip:focus { left: 16px; }
.ax-bar { position: relative; display: flex; align-items: center; gap: 12px; height: 76px; transition: height .25s; }
.ax-shell.is-scrolled .ax-bar { height: 64px; }
.ax-bar-stripe { display: none; }
.ax-logo { display: flex; align-items: center; flex: none; margin-right: 12px; }
.ax-logo img { display: block; height: 50px; width: auto; transition: height .25s; }
.ax-shell.is-scrolled .ax-logo img { height: 42px; }

.ax-nav { display: flex; align-items: center; justify-content: center; gap: 4px; margin: 0 auto; height: 100%; }
.ax-nav > .ax-item { box-sizing: border-box; height: 100%; margin: 0; padding: 0 16px; border-radius: 0; display: inline-flex; align-items: center; gap: 6px; background: none; border: 0;
  color: var(--ax-ink); font: 600 15px/1 var(--ax-font); text-decoration: none; white-space: nowrap; cursor: pointer; transition: color .2s; }
.ax-nav > .ax-item:hover, .ax-nav > .ax-item.is-open { background: none; color: var(--ax-blue); }
.ax-nav > .ax-item::after { content: ''; position: absolute; left: 16px; right: 16px; bottom: -1px; height: 3px; border-radius: 3px 3px 0 0; background: var(--ax-blue); transform: scaleX(0); transition: transform .25s; margin: 0; width: auto; }
.ax-nav > .ax-item.is-current { color: var(--ax-blue); }
.ax-nav > .ax-item.is-current::after, .ax-nav > .ax-item.is-open::after { transform: scaleX(1); }
.ax-item { position: relative; }
.ax-caret { width: 6px; height: 6px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); transition: transform .25s; opacity: .65; }
.ax-item.is-open .ax-caret { transform: translateY(1px) rotate(-135deg); }

.ax-tools { display: flex; align-items: center; gap: 14px; flex: none; }
.ax-cta { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 20px; border-radius: 10px; color: #fff !important; text-decoration: none; font: 600 14px/1 var(--ax-font); background: var(--ax-red); transition: background .2s; }
.ax-cta:hover { background: #d8302c; }
.ax-cta i, .ax-go, .ax-aside-cta i, .ax-rail-all i, .ax-div > i {
  width: 16px; height: 16px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ax-lang { display: flex; align-items: center; max-width: 140px; overflow: hidden; }
.ax-lang .goog-te-gadget { font-size: 0 !important; line-height: 0; }
.ax-lang .goog-te-gadget-simple { background: transparent !important; border: 1px solid var(--ax-line) !important; border-radius: 10px; padding: 0 10px !important; height: 44px; display: flex !important; align-items: center; font-size: 13px !important; }
.ax-lang .goog-te-gadget-simple span { color: var(--ax-ink) !important; }
.ax-lang .goog-te-gadget-icon { display: none; }
.ax-burger { display: none; width: 44px; height: 44px; border: 1px solid var(--ax-line); border-radius: 10px; background: #fff; cursor: pointer; padding: 0; position: relative; }
.ax-burger b { position: absolute; left: 11px; right: 11px; height: 2px; border-radius: 2px; background: var(--ax-ink); }
.ax-burger b:nth-child(1) { top: 14px; } .ax-burger b:nth-child(2) { top: 20px; } .ax-burger b:nth-child(3) { top: 26px; }

/* ---------- drawers ---------- */
.ax-drawer {
  position: absolute; left: 20px; right: 20px; top: 100%; background: #fff; border-radius: 0 0 24px 24px; box-shadow: var(--ax-shadow); border: 1px solid var(--ax-line); border-top: 0;
  visibility: hidden; opacity: 0; clip-path: inset(0 0 100% 0 round 0 0 24px 24px); transform: translateY(-8px);
  transition: clip-path .42s cubic-bezier(.2, .8, .2, 1), opacity .25s, transform .42s cubic-bezier(.2, .8, .2, 1), visibility 0s .42s;
}
.ax-drawer.is-open { visibility: visible; opacity: 1; clip-path: inset(0 0 0 0 round 0 0 24px 24px); transform: none; transition-delay: 0s; }
.ax-drawer-in { display: grid; grid-template-columns: 330px 1fr; min-height: 300px; overflow: hidden; border-radius: 0 0 24px 24px; }
.ax-stripe { position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--ax-stripe); }

.ax-aside {
  position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 12px; padding: 30px 28px 32px; color: #fff; overflow: hidden;
  background: linear-gradient(180deg, rgba(11, 18, 32, .35), rgba(11, 18, 32, .94) 70%), var(--ax-img) center/cover, var(--ax-navy);
}
.ax-aside::before { content: ''; position: absolute; inset: 0; opacity: .5; background: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .22) 1px, transparent 0) 0 0/18px 18px; pointer-events: none; }
.ax-aside > * { position: relative; }
.ax-eyebrow { display: inline-block; align-self: flex-start; font: 600 11px/1 var(--ax-font); text-transform: uppercase; letter-spacing: .14em; color: var(--ax-amber); }
.ax-aside h3 { margin: 0; color: #fff !important; font-size: 26px; line-height: 1.12; font-weight: 800; }
.ax-aside p { margin: 0; color: rgba(255, 255, 255, .78); font-size: 14px; line-height: 1.6; }
.ax-aside-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; align-self: flex-start; color: var(--ax-navy) !important; background: var(--ax-amber); padding: 11px 16px; border-radius: 14px; font: 600 13.5px/1 var(--ax-font); text-decoration: none; transition: transform .2s; }
.ax-aside-cta:hover { transform: translateX(4px); }

.ax-body, .ax-panels { padding: 26px 28px 30px; background: linear-gradient(180deg, #fff, var(--ax-mist)); }
.ax-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.ax-card {
  position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 14px 12px 12px; background: #fff; border: 1px solid var(--ax-line); border-radius: 20px;
  text-decoration: none; transition: transform .25s, box-shadow .25s, border-color .25s;
}
.ax-card:hover { transform: translateY(-3px); border-color: transparent; box-shadow: 0 16px 30px -14px rgba(18, 90, 211, .45); }
.ax-thumb { flex: none; width: 76px; height: 76px; border-radius: 16px; overflow: hidden; background: var(--ax-mist); }
.ax-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .5s; }
.ax-card:hover .ax-thumb img { transform: scale(1.12); }
.ax-ctext { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1; }
.ax-ctext b { color: var(--ax-ink); font: 700 15px/1.2 var(--ax-display); }
.ax-ctext small { color: var(--ax-body); font: 500 12.5px/1.45 var(--ax-font); }
.ax-go { color: var(--ax-blue); opacity: 0; transform: translateX(-6px); transition: .25s; }
.ax-card:hover .ax-go { opacity: 1; transform: none; }

.ax-tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.ax-tile { display: flex; align-items: center; gap: 14px; padding: 12px 16px; background: #fff; border: 1px solid var(--ax-line); border-radius: 18px; text-decoration: none; transition: .25s; }
.ax-tile:hover { transform: translateY(-3px); border-color: transparent; box-shadow: 0 14px 28px -14px rgba(238, 64, 60, .5); }
.ax-flag { flex: none; width: 38px !important; height: 38px; border-radius: 50%; background-size: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--ax-line); }

/* services drawer: division rail */
.ax-d-divisions .ax-drawer-in { grid-template-columns: 330px 1fr; }
.ax-rail { display: flex; flex-direction: column; gap: 6px; padding: 26px 20px 22px; background: var(--ax-navy); background-image: radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .1) 1px, transparent 0); background-size: 18px 18px; }
.ax-rail .ax-eyebrow { margin: 0 8px 10px; }
.ax-div { display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px; border: 0; border-radius: 18px; background: transparent; color: #fff; text-align: left; cursor: pointer; transition: background .25s; }
.ax-div em { flex: none; font: 700 13px/1 var(--ax-display); font-style: normal; color: var(--ax-amber); opacity: .8; }
.ax-div span { display: flex; flex-direction: column; gap: 3px; flex: 1; }
.ax-div b { font: 700 15px/1.2 var(--ax-display); }
.ax-div small { font: 500 12px/1 var(--ax-font); color: rgba(255, 255, 255, .55); }
.ax-div > i { opacity: 0; transform: translateX(-6px); transition: .25s; color: var(--ax-amber); }
.ax-div.is-on { background: linear-gradient(120deg, var(--ax-blue), var(--ax-blue-d)); box-shadow: 0 10px 24px -10px rgba(18, 90, 211, .9); }
.ax-div.is-on em { color: #fff; } .ax-div.is-on > i { opacity: 1; transform: none; color: #fff; }
.ax-rail-all { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; padding: 12px 14px; color: var(--ax-amber) !important; font: 600 13.5px/1 var(--ax-font); text-decoration: none; }
.ax-rail-all:hover { text-decoration: underline; }
.ax-panel { display: none; }
.ax-panel.is-on { display: block; animation: axFade .35s ease; }
.ax-blurb { margin: 2px 0 16px; max-width: 520px; font: 600 15px/1.5 var(--ax-font); color: var(--ax-ink); }
@keyframes axFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* scrim */
.ax-scrim { position: fixed; inset: 0; z-index: 9980; background: rgba(11, 18, 32, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); opacity: 0; visibility: hidden; transition: opacity .3s, visibility 0s .3s; }
.ax-scrim.is-on { opacity: 1; visibility: visible; transition-delay: 0s; }

/* ---------- mobile drawer ---------- */
.ax-mobile {
  position: fixed; z-index: 9995; top: 0; right: 0; bottom: 0; width: min(430px, 100%); display: flex; flex-direction: column; background: #fff;
  transform: translateX(104%); transition: transform .42s cubic-bezier(.2, .8, .2, 1); border-radius: 28px 0 0 28px; box-shadow: -30px 0 60px -20px rgba(11, 18, 32, .5);
}
.ax-mobile.is-on { transform: none; }
.ax-m-top { display: flex; align-items: center; justify-content: space-between; padding: 16px 18px; border-bottom: 1px solid var(--ax-line); position: relative; }
.ax-m-top::after { content: ''; position: absolute; left: 18px; bottom: -1px; width: 64px; height: 4px; border-radius: 4px 4px 0 0; background: var(--ax-stripe); }
.ax-m-top .ax-logo img { height: 42px; }
.ax-m-close { position: relative; width: 44px; height: 44px; border: 0; border-radius: 14px; background: var(--ax-mist); cursor: pointer; }
.ax-m-close b { position: absolute; left: 12px; right: 12px; top: 21px; height: 2.5px; background: var(--ax-ink); border-radius: 2px; transform: rotate(45deg); }
.ax-m-close b + b { transform: rotate(-45deg); }
.ax-m-scroll { flex: 1; overflow-y: auto; padding: 10px 14px 20px; overscroll-behavior: contain; }
.ax-m-link, .ax-m-head { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: 17px 10px; border: 0; border-bottom: 1px solid var(--ax-line); background: none; color: var(--ax-ink) !important; font: 700 18px/1 var(--ax-display); text-decoration: none; text-align: left; cursor: pointer; }
.ax-m-head i { width: 9px; height: 9px; border: solid var(--ax-blue); border-width: 0 2.5px 2.5px 0; transform: rotate(45deg); transition: transform .25s; margin-right: 6px; }
.ax-m-sec.is-on .ax-m-head { color: var(--ax-blue) !important; border-bottom-color: transparent; }
.ax-m-sec.is-on .ax-m-head i { transform: rotate(-135deg); }
.ax-m-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .35s ease; }
.ax-m-sec.is-on .ax-m-body { grid-template-rows: 1fr; }
.ax-m-inner { overflow: hidden; display: flex; flex-direction: column; gap: 8px; }
.ax-m-sec.is-on .ax-m-inner { padding: 4px 0 16px; }
.ax-m-inner .ax-card { padding: 9px 12px 9px 9px; border-radius: 16px; }
.ax-m-inner .ax-thumb { width: 56px; height: 56px; border-radius: 12px; }
.ax-m-inner .ax-ctext small { display: none; }
.ax-m-inner .ax-go { opacity: 1; transform: none; }
.ax-m-sub { margin: 10px 4px 0 !important; font: 600 11px/1 var(--ax-font); letter-spacing: .12em; text-transform: uppercase; color: var(--ax-body); }
.ax-m-sub em { font-style: normal; color: var(--ax-red); margin-right: 8px; }
.ax-m-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.ax-m-tiles .ax-tile { padding: 10px; gap: 10px; border-radius: 14px; } .ax-m-tiles .ax-flag { width: 30px !important; height: 30px; }
.ax-m-tiles .ax-ctext small { display: none; }
.ax-m-foot { display: flex; align-items: center; gap: 10px; padding: 14px 18px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid var(--ax-line); background: var(--ax-mist); }
.ax-m-foot .ax-cta { flex: 1; justify-content: center; }

@media (max-width: 1100px) {
  .ax-nav, .ax-bar .ax-lang { display: none; }
  .ax-burger { display: block; }
  .ax-tools { margin-left: auto; }
  .ax-drawer { display: none; }
  .ax-bar { height: 64px; }
  .ax-wrap { padding: 0 14px; }
  .ax-logo img { height: 40px; }
}
@media (max-width: 520px) {
  .ax-bar .ax-cta { display: none; }
  .ax-mobile { border-radius: 0; }
}

/* ---------- inner page banner ---------- */
html.ax-on #Subheader { position: relative; isolation: isolate; padding: 90px 0 64px !important; text-align: left; overflow: hidden; background-color: var(--ax-navy) !important; }
html.ax-on #Subheader::before {
  content: ''; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(105deg, rgba(11, 18, 32, .94) 0%, rgba(11, 18, 32, .78) 38%, rgba(18, 90, 211, .5) 78%, rgba(238, 64, 60, .32) 100%);
}
html.ax-on #Subheader::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--ax-stripe); }
html.ax-on #Subheader .container { position: relative; padding: 0 24px; }
html.ax-on #Subheader .container::before {
  content: 'ASMACS GROUP'; display: block; margin-bottom: 14px; font: 600 12px/1 var(--ax-font); letter-spacing: .22em; color: var(--ax-amber);
}
html.ax-on #Subheader h1.title, html.ax-on #Subheader .title {
  max-width: 880px; margin: 0; color: #fff !important; font-family: var(--ax-display) !important; font-weight: 800 !important;
  font-size: clamp(30px, 4.4vw, 56px) !important; line-height: 1.06 !important; text-align: left !important; letter-spacing: -.025em;
}
@media (max-width: 767px) { html.ax-on #Subheader { padding: 60px 0 44px !important; } }

/* ---------- footer ---------- */
#Footer { background: var(--ax-navy) !important; position: relative; color: rgba(255, 255, 255, .72); }
#Footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: var(--ax-stripe); }
#Footer .widgets_wrapper { padding: 70px 0 34px !important; background: none !important; }
#Footer h4 { color: #fff !important; font: 700 18px/1.2 var(--ax-display) !important; margin-bottom: 16px; position: relative; padding-bottom: 12px; }
#Footer h4::after { content: ''; position: absolute; left: 0; bottom: 0; width: 34px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .22); }
#Footer a { color: rgba(255, 255, 255, .78) !important; transition: color .2s, padding .2s; }
#Footer li a:hover { color: var(--ax-amber) !important; padding-left: 4px; }
#Footer .footer_copy { background: rgba(0, 0, 0, .28) !important; border-top: 1px solid rgba(255, 255, 255, .08); }
#Footer .copyright { color: rgba(255, 255, 255, .6) !important; }
#Footer .social li a { border-radius: 12px !important; }

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ax-drawer, .ax-mobile, .ax-card, .ax-tile, .ax-cta, .ax-panel { transition: none !important; animation: none !important; }
}

/* =====================================================================
   INNER PAGE BODIES — sections, headings, tabs, forms, FAQ, tables
   ===================================================================== */
@media (max-width: 1240px) { .section_wrapper, #Subheader .container, #Footer .container { padding-left: 22px; padding-right: 22px; box-sizing: border-box; } }
@media (max-width: 767px) { .section_wrapper > .wrap, .mcb-wrap { padding-left: 0 !important; padding-right: 0 !important; } }

/* headings get the tri-stripe signature */
#Content h2 { font-weight: 800; font-size: clamp(26px, 3.2vw, 38px); line-height: 1.12; letter-spacing: -.025em; }
#Content h2::after { content: ''; display: block; width: 56px; height: 4px; margin: 14px 0 4px; border-radius: 4px; background: var(--ax-stripe); }
#Content .align_center h2::after, #Content h2[style*="center"]::after, #Content .quickform h2::after { margin-left: auto; margin-right: auto; }
#Content .ax-sec-head h2::after { display: none; }
#Content h3 { font-weight: 800; }
#Content h5.themecolor { display: none; }
#Content p a { color: var(--ax-blue); }
#Content p a:hover { color: var(--ax-red); }
#Content hr.no_line { display: none; }

/* enquiry strip -> navy panel */
#Content .quickform {
  position: relative; overflow: hidden; margin: 30px 0; padding: 64px 0 !important;
  background: radial-gradient(520px 300px at 90% 0, rgba(18, 90, 211, .55), transparent 70%), radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .09) 1px, transparent 0) 0 0/20px 20px, var(--ax-navy) !important;
}
#Content .quickform::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--ax-stripe); }
#Content .quickform h1, #Content .quickform h2, #Content .quickform h3, #Content .quickform h4, #Content .quickform h2 span, #Content .quickform h3 span, #Content .quickform h4 span { color: #fff !important; font-family: var(--ax-display) !important; }
#Content .quickform input[type=text], #Content .quickform input[type=email], #Content .quickform input[type=tel], #Content .quickform select, #Content .quickform textarea {
  height: 54px; padding: 0 18px; border: 1px solid transparent; border-radius: 16px !important; background: rgba(255, 255, 255, .96); color: var(--ax-ink); font: 600 15px var(--ax-font); box-shadow: none; width: 100%;
}
#Content .quickform textarea { height: auto; padding: 14px 18px; }
#Content .quickform input:focus { outline: 0; border-color: var(--ax-amber); box-shadow: 0 0 0 4px rgba(249, 165, 24, .3); }
#Content .quickform input[type=submit], #Content .quickform button, #Content .quickform a.button {
  height: 54px; padding: 0 32px !important; border: 0 !important; border-radius: 16px !important; background: var(--ax-amber) !important; color: var(--ax-navy) !important; font: 600 15px var(--ax-font) !important; box-shadow: 0 14px 28px -10px rgba(249, 165, 24, .7); cursor: pointer; transition: transform .2s;
}
#Content .quickform input[type=submit]:hover, #Content .quickform button:hover { transform: translateY(-3px); }

/* tabs -> pill switcher in a sheet */
body .ui-tabs { border: 1px solid var(--ax-line) !important; border-radius: 26px !important; background: #fff !important; box-shadow: 0 20px 44px -26px rgba(11, 18, 32, .35); overflow: hidden; padding: 0 !important; }
body .ui-tabs .ui-tabs-nav { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 12px !important; border: 0 !important; background: var(--ax-mist) !important; border-radius: 0 !important; }
body .ui-tabs .ui-tabs-nav li { float: none !important; margin: 0 !important; border: 0 !important; background: none !important; }
body .ui-tabs .ui-tabs-nav li a { padding: 12px 18px !important; border-radius: 14px; font: 600 14px/1 var(--ax-font) !important; color: var(--ax-ink) !important; background: transparent; transition: background .2s, color .2s; }
body .ui-tabs .ui-tabs-nav li a:hover { background: #fff; color: var(--ax-blue) !important; }
body .ui-tabs .ui-tabs-nav li.ui-state-active a { background: linear-gradient(120deg, var(--ax-blue), var(--ax-blue-d)) !important; color: #fff !important; box-shadow: 0 10px 20px -10px rgba(18, 90, 211, .8); }
body .ui-tabs .ui-tabs-nav li.ui-state-active a::after { display: none; }
body .ui-tabs .ui-tabs-panel { padding: 28px 30px 34px !important; border: 0 !important; background: #fff !important; }

/* accordions + FAQ */
#faq details, #Content details { background: #fff; border: 1px solid var(--ax-line); border-radius: 18px; padding: 6px 22px; margin: 0 0 12px; transition: border-color .2s, box-shadow .2s; }
#faq details[open], #Content details[open] { border-color: var(--ax-blue); box-shadow: 0 16px 34px -22px rgba(18, 90, 211, .6); }
#faq summary, #Content details > summary { list-style: none; position: relative; padding: 16px 40px 16px 0 !important; color: var(--ax-ink) !important; font: 700 17px/1.35 var(--ax-display) !important; cursor: pointer; }
#faq summary::-webkit-details-marker, #Content details > summary::-webkit-details-marker { display: none; }
#faq summary::after, #Content details > summary::after { content: '+'; position: absolute; right: 0; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 10px; background: var(--ax-mist); color: var(--ax-blue); font: 600 20px/30px var(--ax-font); text-align: center; transition: .25s; }
#faq details[open] summary::after, #Content details[open] > summary::after { content: '\2013'; background: var(--ax-blue); color: #fff; }
#faq details p, #Content details p { padding-bottom: 12px; }
.accordion .question, .faq .question { border-radius: 16px; }

/* buttons */
#Content a.button, #Content .button_js { border-radius: 999px !important; background: linear-gradient(120deg, var(--ax-red), #f26a3b) !important; color: #fff !important; font-weight: 800; box-shadow: 0 12px 24px -10px rgba(238, 64, 60, .7); transition: transform .2s; }
#Content a.button:hover { transform: translateY(-3px); }
#Content a.button .button_label { color: #fff !important; }

/* tables, quotes, images */
#Content table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--ax-line); border-radius: 18px; overflow: hidden; }
#Content table th { background: var(--ax-navy-2); color: #fff !important; padding: 14px 16px; font-family: var(--ax-display); text-align: left; }
#Content table td { padding: 13px 16px; border-top: 1px solid var(--ax-line); }
#Content table tr:nth-child(even) td { background: var(--ax-mist); }
#Content blockquote { border-left: 5px solid var(--ax-amber); border-radius: 0 18px 18px 0; padding: 18px 24px; background: var(--ax-mist) !important; }
#Content .image_frame, #Content .image_wrapper { border-radius: 20px; overflow: hidden; }
#Content .image_frame img { transition: transform .6s; }
#Content .image_frame:hover img { transform: scale(1.03); }

/* cards: team, blog, gallery */
.pager a, .pager span, .pagination a, .pagination span { border-radius: 12px !important; }
#Content .landcounter .image_frame { border-radius: 18px; background: #fff; box-shadow: 0 14px 30px -22px rgba(11, 18, 32, .5); padding: 10px; }

/* wave divider above footer is replaced by the footer's tri-stripe */
#Content .mcb-section-1ndvg0d9x { display: none; }
#back_to_top { border-radius: 14px !important; background: var(--ax-grad) !important; color: #fff !important; }

/* blog list (panel markup with inline styles) */
#Content .panel { background: #fff; border: 1px solid var(--ax-line); border-radius: 22px; overflow: hidden; box-shadow: 0 18px 38px -28px rgba(11, 18, 32, .4); margin-bottom: 22px !important; }
#Content .panel-heading { background: var(--ax-navy-2) !important; border: 0 !important; border-radius: 0 !important; padding: 14px 24px !important; }
#Content .panel-heading .panel-title, #Content .panel-heading a { color: #fff !important; font: 600 13px/1 var(--ax-font) !important; letter-spacing: .16em !important; }
#Content .panel > div[style*="border-bottom"] { padding: 4px 24px !important; border-bottom: 1px solid var(--ax-line) !important; }
#Content .panel > div[style*="border-bottom"]:last-child { border-bottom: 0 !important; }
#Content .panel .entry-title a { padding: 12px 0; color: var(--ax-ink) !important; font: 700 17px/1.4 var(--ax-display) !important; transition: color .2s, padding .2s; }
#Content .panel .entry-title a:hover { color: var(--ax-blue) !important; padding-left: 8px; }
#Content .panel .entry-title a span { color: inherit !important; }
#Content .section.sm .container { max-width: 1000px; padding: 0 22px; }
#Content .section.sm .col-md-9 { width: 100% !important; float: none !important; }
#Content h1[style] { font-family: var(--ax-display) !important; letter-spacing: -.025em; }
#Content input[type=button].submit, #Content input.subscribeClick { height: 54px; padding: 0 30px; border: 0 !important; border-radius: 16px !important; background: var(--ax-amber) !important; color: var(--ax-navy) !important; font: 600 15px var(--ax-font) !important; cursor: pointer; box-shadow: 0 14px 28px -10px rgba(249, 165, 24, .7); }

/* sticky header needs ancestors that are not scroll containers */
html, body { overflow-x: clip; }
#Wrapper { overflow: visible !important; overflow-x: clip !important; }
#Header_wrapper { overflow: visible !important; }

/* ---- v3: orange active state, no stripes in menus, plain language control ---- */
:root { --ax-orange: #e8820c; }
.ax-nav > .ax-item:hover, .ax-nav > .ax-item.is-open, .ax-nav > .ax-item.is-current { color: var(--ax-orange); }
.ax-nav > .ax-item::after { background: var(--ax-orange); }
.ax-stripe, .ax-bar-stripe, .ax-m-top::after { display: none !important; }
.ax-m-sec.is-on .ax-m-head { color: var(--ax-orange) !important; }
.ax-m-head i { border-color: var(--ax-orange); }

.ax-gt { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: hidden; }
.ax-lang { position: relative; display: inline-flex; align-items: center; gap: 6px; max-width: none; height: 44px; padding: 0 6px; border: 0; border-radius: 10px; background: none; color: #4a5568; font: 600 15px/1 var(--ax-font); cursor: pointer; overflow: visible; transition: background .2s; }
.ax-lang:hover { background: var(--ax-mist); }
.ax-lang-ico { display: flex; }
.ax-lang-code { text-transform: lowercase; }
.ax-lang .ax-caret { width: 6px; height: 6px; margin-left: 2px; }
.ax-lang select { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }

/* v4: no colour stripe under inner-page banners */
html.ax-on #Subheader::after { display: none; }

/* =====================================================================
   SERVICES HUB (services/global-business-services.html)
   ===================================================================== */
html.ax-on #Subheader .ax-sub-lead { max-width: 640px; margin: 16px 0 0; color: rgba(255, 255, 255, .82) !important; font-size: 18px; line-height: 1.6; }
.ax-hub .ax-hub-intro { padding: 70px 0 30px; }
.ax-hub-introgrid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 56px; align-items: center; }
.ax-hub-introgrid h2 { margin-top: 0; }
.ax-jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.ax-jump a { padding: 11px 16px; border-radius: 12px; background: var(--ax-mist); border: 1px solid var(--ax-line); color: var(--ax-ink) !important; font: 600 14px/1 var(--ax-font); text-decoration: none; transition: .2s; }
.ax-jump a:hover { background: var(--ax-orange); border-color: var(--ax-orange); color: #fff !important; }
.ax-hub-stats { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ax-hub-stats li { margin: 0 !important; padding: 22px 20px !important; list-style: none !important; border-radius: 22px; background: var(--ax-navy); color: #fff; display: flex; flex-direction: column; gap: 6px; }
.ax-hub-stats li:nth-child(2) { background: var(--ax-blue); } .ax-hub-stats li:nth-child(3) { background: var(--ax-red); } .ax-hub-stats li:nth-child(4) { background: var(--ax-orange); }
.ax-hub-stats b { font: 700 32px/1 var(--ax-display); } .ax-hub-stats span { font: 600 13px/1.2 var(--ax-font); opacity: .8; }

.ax-hub-div { padding: 50px 0 20px; }
.ax-hub-div:nth-of-type(odd) { background: var(--ax-mist); }
.ax-hub-head { display: flex; gap: 22px; align-items: flex-start; margin-bottom: 30px; max-width: 860px; }
.ax-hub-no { flex: none; width: 64px; height: 64px; border-radius: 20px; background: var(--ax-navy); color: var(--ax-amber); font: 700 24px/64px var(--ax-display); text-align: center; }
.ax-hub-head h2 { margin: 0 0 8px; } .ax-hub-head h2::after { display: none; } .ax-hub-head p { margin: 0; }
.ax-svc-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 22px; padding-bottom: 30px; }
.ax-svc { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ax-line); border-radius: 24px; overflow: hidden; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .5); transition: transform .3s, box-shadow .3s; }
.ax-svc:hover { transform: translateY(-6px); box-shadow: 0 28px 44px -26px rgba(18, 90, 211, .55); }
.ax-svc-img { display: block; aspect-ratio: 2/1; overflow: hidden; background: var(--ax-mist); }
.ax-svc-img img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0 !important; transition: transform .7s; }
.ax-svc:hover .ax-svc-img img { transform: scale(1.08); }
.ax-svc-body { display: flex; flex-direction: column; gap: 12px; padding: 22px 22px 24px; flex: 1; }
.ax-svc-body h3 { margin: 0; font-size: 21px; } .ax-svc-body h3 a { color: var(--ax-ink) !important; text-decoration: none; }
.ax-svc-body h3 a:hover { color: var(--ax-orange) !important; }
.ax-svc-body p { margin: 0; font-size: 15px; line-height: 1.65; }
.ax-svc-rel { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: auto; }
.ax-svc-rel span { font: 600 11px/1 var(--ax-font); letter-spacing: .1em; text-transform: uppercase; color: var(--ax-body); }
.ax-chip { padding: 6px 11px; border-radius: 999px; background: var(--ax-mist); border: 1px solid var(--ax-line); color: var(--ax-blue) !important; font: 600 12.5px/1 var(--ax-font); text-decoration: none; }
.ax-chip:hover { background: var(--ax-blue); color: #fff !important; border-color: var(--ax-blue); }
.ax-svc-more { display: inline-flex; align-items: center; gap: 8px; color: var(--ax-orange) !important; font: 600 14px/1 var(--ax-font); text-decoration: none; }
.ax-svc-more i { width: 16px; height: 16px; background: currentColor; transition: transform .25s; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ax-svc-more:hover i { transform: translateX(5px); }

.ax-hub-world, .ax-hub-how { padding: 60px 0 40px; }
.ax-ctry-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.ax-ctry { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; padding: 16px 18px; border: 1px solid var(--ax-line); border-radius: 20px; background: #fff; text-decoration: none; transition: .25s; }
.ax-ctry:hover { transform: translateY(-4px); border-color: transparent; box-shadow: 0 16px 30px -18px rgba(232, 130, 12, .6); }
.ax-ctry .fi { grid-row: span 2; width: 44px !important; height: 44px; border-radius: 50%; background-size: cover; }
.ax-ctry b { color: var(--ax-ink); font: 700 16px/1.2 var(--ax-display); } .ax-ctry small { color: var(--ax-body); font: 500 13px/1.3 var(--ax-font); }
.ax-hub-note { text-align: center; margin-top: 26px; }
.ax-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 18px; counter-reset: s; }
.ax-steps li { margin: 0 !important; padding: 26px 24px !important; list-style: none !important; border-radius: 24px; background: var(--ax-mist); border: 1px solid var(--ax-line); }
.ax-steps b { display: block; margin-bottom: 14px; color: var(--ax-orange); font: 700 34px/1 var(--ax-display); }
.ax-steps h3 { margin: 0 0 8px; } .ax-steps p { margin: 0; font-size: 15px; }
@media (max-width: 900px) { .ax-hub-introgrid { grid-template-columns: 1fr; gap: 30px; } .ax-hub-head { flex-direction: column; gap: 14px; } }
.ax-eyebrow-dark { display: inline-block; font: 600 12px/1 var(--ax-font); letter-spacing: .18em; text-transform: uppercase; color: var(--ax-orange); margin-bottom: 14px; }
#Content .ax-hub-head h2::after { display: none; }
#Content .ax-hub .ax-sec-head h2 { text-align: center; }

/* ---- v5: light-gray underlines, FAQ + testimonials redesign ---- */
#Content hr, #Content hr.hr_narrow, .hr_color, .hr_color hr, .hr_dots span, .quick_fact hr { background: #dde3ee !important; background-color: #dde3ee !important; border-color: #dde3ee !important; color: #dde3ee !important; }
#Footer::before, #Content .quickform::after { background: rgba(255, 255, 255, .14) !important; }
#Content h2::after { background: #dde3ee; }

/* FAQ: spaced cards, icon on the right, inline styles overridden */
#faq .column_attr { max-width: 900px; margin: 0 auto; }
#faq details, #Content details {
  margin: 0 0 14px !important; padding: 0 !important; border: 1px solid var(--ax-line) !important; border-radius: 18px !important; background: #fff; overflow: hidden;
  transition: border-color .25s, box-shadow .25s;
}
#faq details[open], #Content details[open] { border-color: var(--ax-orange) !important; box-shadow: 0 18px 34px -26px rgba(232, 130, 12, .7); }
#faq summary, #Content details > summary {
  display: flex !important; align-items: center; justify-content: space-between; gap: 18px; list-style: none;
  padding: 20px 24px !important; margin: 0 !important; color: var(--ax-ink) !important; font: 700 18px/1.4 var(--ax-display) !important; cursor: pointer; position: relative;
}
#faq details[open] > summary, #Content details[open] > summary { color: var(--ax-orange) !important; }
#faq summary::-webkit-details-marker, #Content details > summary::-webkit-details-marker { display: none; }
#faq summary::marker, #Content details > summary::marker { content: ''; }
#faq summary::after, #Content details > summary::after {
  content: '+'; position: static; flex: none; width: 36px; height: 36px; margin: 0; border-radius: 12px; background: var(--ax-mist); color: var(--ax-ink);
  font: 600 24px/36px var(--ax-font); text-align: center; transition: transform .3s, background .25s, color .25s;
}
#faq details[open] > summary::after, #Content details[open] > summary::after { content: '+'; transform: rotate(45deg); background: var(--ax-orange); color: #fff; }
#faq details > p, #Content details > p { margin: 0 !important; padding: 0 24px 22px !important; max-width: 760px; font-size: 16px; line-height: 1.75; color: var(--ax-body); animation: axFade .3s ease; }
@media (max-width: 600px) { #faq summary, #Content details > summary { padding: 16px 18px !important; font-size: 16px !important; } #faq details > p, #Content details > p { padding: 0 18px 18px !important; } }

/* testimonials: equal-height card carousel (built by index.html) */
.column_testimonials .testimonials_slider { display: none !important; }
.ax-testi { padding: 6px 4px 46px; overflow: hidden; }
.ax-testi .swiper-slide { height: auto; display: flex; }
.ax-tcard { position: relative; display: flex; flex-direction: column; width: 100%; margin: 0; padding: 34px 28px 26px; border: 1px solid var(--ax-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .5); }
.ax-tq { position: absolute; top: 14px; right: 24px; font: 700 72px/1 var(--ax-display); color: #eef1f7; }
.ax-tcard blockquote { position: relative; flex: 1; margin: 0 0 22px !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: 15.5px; line-height: 1.75; color: var(--ax-body); font-style: normal; }
.ax-tcard figcaption { display: flex; flex-direction: column; gap: 4px; padding-top: 18px; border-top: 1px solid var(--ax-line); }
.ax-tcard figcaption b { color: var(--ax-ink); font: 700 15px/1.3 var(--ax-display); }
.ax-tcard figcaption span { color: var(--ax-orange); font: 600 13px/1.3 var(--ax-font); }
.ax-testi .swiper-pagination { bottom: 6px !important; }
.ax-testi .swiper-pagination-bullet { background: var(--ax-ink); opacity: .2; }
.ax-testi .swiper-pagination-bullet-active { width: 26px; border-radius: 6px; background: var(--ax-orange); opacity: 1; }
#Content .ax-tcard blockquote { background: none !important; border: 0 !important; border-radius: 0 !important; padding: 0 !important; margin: 0 0 22px !important; }
#Content .ax-tcard blockquote::before, #Content .ax-tcard blockquote::after { display: none !important; content: none !important; }

/* ---- v6: card borders, quote blocks, chairman message ---- */
.swiper.ax-testi { padding: 10px 12px 64px; margin: 0 -12px; }
.ax-testi .swiper-pagination { bottom: 18px !important; }
#Content blockquote[style] { background: none !important; }
.mcb-wrap-l95wsifqn { border-radius: 28px 0 0 28px; overflow: hidden; }
.mcb-wrap-rlk657a8a { border-radius: 0 28px 28px 0; background: radial-gradient(420px 260px at 100% 0, rgba(18, 90, 211, .45), transparent 70%), radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .08) 1px, transparent 0) 0 0/20px 20px, var(--ax-navy) !important; }
.mcb-wrap-rlk657a8a h3 { color: #fff !important; border-bottom: 3px solid var(--ax-orange) !important; }
.mcb-wrap-rlk657a8a h3::after { display: none; }
.mcb-wrap-rlk657a8a blockquote { position: static !important; left: auto !important; padding: 0 !important; margin: 0 0 20px !important; border: 0 !important; background: none !important; color: #fff !important; font: 700 clamp(22px, 2.4vw, 30px)/1.4 var(--ax-display) !important; letter-spacing: -.01em; }
.mcb-wrap-rlk657a8a blockquote::before { content: '\201C'; display: block; font: 700 72px/.8 var(--ax-display); color: var(--ax-orange); margin-bottom: 8px; }
.mcb-wrap-rlk657a8a h4 { margin: 0; }
@media (max-width: 767px) { .mcb-wrap-l95wsifqn, .mcb-wrap-rlk657a8a { border-radius: 24px; height: auto !important; min-height: 320px; } .mcb-wrap-rlk657a8a { padding: 36px 26px !important; } }

/* ---- v7: news articles, certificates, hover boxes, galleries ---- */
/* news / event article template (13 pages) — specificity beats each page's inline \3c style> */
html.ax-on .article-body { max-width: 900px; color: var(--ax-body); font-size: 1.05rem; }
html.ax-on .article-body h2 { color: var(--ax-ink); font: 700 clamp(22px, 2.6vw, 30px)/1.2 var(--ax-display); letter-spacing: -.02em; margin: 44px 0 14px; text-align: left; }
html.ax-on .article-body h2::after { display: block; }
html.ax-on .article-body .highlight-box { background: var(--ax-mist); border: 1px solid var(--ax-line); border-left: 5px solid var(--ax-orange); border-radius: 18px; padding: 22px 26px; }
html.ax-on .article-body .event-details { background: #fff; border: 1px solid var(--ax-line); border-top: 4px solid var(--ax-orange); border-radius: 20px; padding: 26px 30px; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .45); }
html.ax-on .article-body .event-details h3 { color: var(--ax-ink); font: 700 19px/1.3 var(--ax-display); margin: 0 0 14px; }
html.ax-on .article-body .leadership-list li::before { color: var(--ax-orange); }
html.ax-on .article-body .stat-boxes { gap: 14px; }
html.ax-on .article-body .stat-box { background: var(--ax-navy); border-radius: 20px; padding: 22px 16px; }
html.ax-on .article-body .stat-box:nth-child(2) { background: var(--ax-blue); }
html.ax-on .article-body .stat-box:nth-child(3) { background: var(--ax-red); }
html.ax-on .article-body .stat-box:nth-child(4) { background: var(--ax-orange); }
html.ax-on .article-body .stat-box .num { color: #fff; font-family: var(--ax-display); font-size: 2rem; }
html.ax-on .article-body .svc-tag { background: var(--ax-mist); color: var(--ax-ink); border: 1px solid var(--ax-line); border-radius: 999px; padding: 8px 16px; font-weight: 700; }
html.ax-on .article-body .tags span { background: var(--ax-mist); color: var(--ax-body); border: 1px solid var(--ax-line); border-radius: 999px; padding: 6px 14px; }
html.ax-on .article-body .back-link { color: var(--ax-orange); font-weight: 800; }
html.ax-on .article-body img { border-radius: 20px !important; box-shadow: 0 20px 40px -26px rgba(11, 18, 32, .5); }

/* hover colour boxes (mission / vision / get to know) */
.hover_color { border-radius: 24px !important; overflow: hidden; background: var(--ax-orange) !important; box-shadow: 0 20px 40px -28px rgba(11, 18, 32, .6); }
.hover_color .hover_color_bg { border: 0 !important; background: var(--ax-navy-2) !important; }
.hover_color .hover_color_bg h4, .hover_color .hover_color_bg p { color: #fff !important; }
.hover_color .hover_color_bg h4 { font-family: var(--ax-display); font-weight: 800 !important; font-size: 22px; }
.hover_color .hover_color_bg p { opacity: .85; line-height: 1.7; }
.hover_color .hover_color_bg:hover { box-shadow: none; }
.column_hover_color .hover_color_wrapper { border-top: 4px solid var(--ax-orange); }

/* galleries */
#Content .column_image_gallery .gallery-icon a, #Content .gallery-item a { display: block; border-radius: 18px; overflow: hidden; border: 1px solid var(--ax-line); box-shadow: 0 14px 28px -22px rgba(11, 18, 32, .5); transition: transform .3s, box-shadow .3s; }
#Content .column_image_gallery .gallery-icon a:hover, #Content .gallery-item a:hover { transform: translateY(-4px); box-shadow: 0 22px 36px -22px rgba(18, 90, 211, .55); }
#Content .column_image_gallery img, #Content .gallery-item img { display: block; width: 100%; border-radius: 0 !important; transition: transform .6s; }
#Content .gallery-item a:hover img { transform: scale(1.06); }

/* certificate / document rows */
.column_column .align_right a.button_js { padding: 9px 22px !important; }

/* ---- v8: news / case-study cards ---- */
#Content .ne-card { border: 1px solid var(--ax-line) !important; border-radius: 22px !important; overflow: hidden; background: #fff; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .5) !important; transition: transform .3s, box-shadow .3s; }
#Content .ne-card:hover { transform: translateY(-6px); box-shadow: 0 28px 44px -26px rgba(18, 90, 211, .5) !important; }
#Content .ne-title { margin: 0 0 10px !important; font: 700 19px/1.3 var(--ax-display) !important; letter-spacing: -.01em; color: var(--ax-ink); -webkit-line-clamp: 3; }
#Content .ne-title::after { display: none !important; }
#Content .ne-card a:hover .ne-title { color: var(--ax-orange); }
#Content .ne-body { padding: 20px 22px 22px !important; }
#Content .ne-card img { border-radius: 0 !important; }

/* ---- v9: country pages (8) ---- */
html.ax-on .country-intro { padding: 56px 0 26px; }
html.ax-on .services-grid { gap: 18px; padding: 30px 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
html.ax-on .service-card { border: 1px solid var(--ax-line); border-radius: 22px; padding: 24px; background: #fff; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .5); transition: transform .3s, box-shadow .3s; display: flex; flex-direction: column; gap: 6px; }
html.ax-on .service-card:hover { transform: translateY(-5px); box-shadow: 0 26px 42px -26px rgba(18, 90, 211, .5); }
html.ax-on .service-card h3 { color: var(--ax-ink); font: 700 18px/1.25 var(--ax-display); margin: 0 0 4px; }
html.ax-on .service-card h3 a, html.ax-on .service-card a { color: var(--ax-orange); font-weight: 800; text-decoration: none; }
html.ax-on .service-card p { color: var(--ax-body); font-size: 15px; margin: 0 0 8px; }
html.ax-on .why-asmacs { background: var(--ax-mist); border: 1px solid var(--ax-line); border-radius: 28px; padding: 44px 40px; margin: 30px 0; }
html.ax-on .why-asmacs h2 { margin-top: 0; text-align: center; }
html.ax-on .why-asmacs h2::after { margin-left: auto; margin-right: auto; }
html.ax-on .why-asmacs ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px 30px; margin: 24px 0 0; padding: 0; }
html.ax-on .why-asmacs ul li { padding: 14px 16px 14px 52px; margin: 0; background: #fff; border: 1px solid var(--ax-line); border-radius: 16px; color: var(--ax-body); line-height: 1.55; position: relative; }
html.ax-on .why-asmacs ul li::before { content: "\2713"; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 26px; height: 26px; border-radius: 50%; background: var(--ax-orange); color: #fff; text-align: center; font: 600 14px/26px var(--ax-font); }
html.ax-on .faq-section { padding: 40px 0; max-width: 900px; margin: 0 auto; }
html.ax-on .faq-section h2 { text-align: center; }
html.ax-on .faq-section h2::after { margin-left: auto; margin-right: auto; }
html.ax-on .faq-item { border: 1px solid var(--ax-line); border-radius: 18px; padding: 20px 24px; margin-bottom: 14px; background: #fff; transition: border-color .2s, box-shadow .2s; }
html.ax-on .faq-item:hover { border-color: var(--ax-orange); box-shadow: 0 16px 30px -24px rgba(232, 130, 12, .7); }
html.ax-on .faq-item h3 { color: var(--ax-ink); font: 700 17px/1.4 var(--ax-display); margin: 0 0 8px; }
html.ax-on .faq-item p { color: var(--ax-body); font-size: 15.5px; margin: 0; }
html.ax-on .contact-box { background: radial-gradient(420px 240px at 100% 0, rgba(18, 90, 211, .4), transparent 70%), var(--ax-navy); color: #fff; padding: 34px 36px; border-radius: 26px; }
html.ax-on .contact-box h3 { color: var(--ax-amber); font: 700 20px/1.3 var(--ax-display); }
html.ax-on .contact-box p { color: rgba(255, 255, 255, .85); font-size: 15px; }
html.ax-on .cta-buttons { padding: 30px 0; }
html.ax-on .btn-primary, html.ax-on .btn-secondary { display: inline-flex; align-items: center; padding: 15px 28px; border-radius: 16px; font: 600 15px/1 var(--ax-font); transition: transform .2s; }
html.ax-on .btn-primary { background: linear-gradient(90deg, var(--ax-amber), var(--ax-red)); color: #fff !important; box-shadow: 0 14px 28px -12px rgba(238, 64, 60, .6); }
html.ax-on .btn-secondary { background: #fff; color: var(--ax-orange) !important; border: 2px solid var(--ax-orange); }
html.ax-on .btn-primary:hover, html.ax-on .btn-secondary:hover { transform: translateY(-3px); }
html.ax-on .why-asmacs ul li { list-style: none !important; }

/* ---- v10: enquiry form as a centred card ---- */
#Content form.form { max-width: 760px; margin: 0 auto; padding: 36px 34px; background: #fff; border: 1px solid var(--ax-line); border-radius: 26px; box-shadow: 0 26px 50px -34px rgba(11, 18, 32, .5); }
#Content form.form h3, #Content form.form h4 { text-align: center; margin: 26px 0 16px; }
#Content form.form input[type=text], #Content form.form input[type=email], #Content form.form input[type=tel], #Content form.form select, #Content form.form textarea { width: 100%; min-height: 50px; padding: 12px 16px; border: 1px solid var(--ax-line); border-radius: 14px !important; box-shadow: none; background: #fff; font: 500 15px var(--ax-font); }
#Content form.form input:focus, #Content form.form select:focus, #Content form.form textarea:focus { outline: 0; border-color: var(--ax-orange); box-shadow: 0 0 0 4px rgba(232, 130, 12, .15); }
#Content form.form input[type=submit], #Content form.form button { height: 52px; padding: 0 34px; border: 0; border-radius: 14px !important; background: linear-gradient(90deg, var(--ax-amber), var(--ax-red)); color: #fff; font: 600 15px var(--ax-font); cursor: pointer; }
#Content .column:has(> .column_attr form.form), #Content .column:has(form.form) { width: 100% !important; float: none !important; }
#Content .wrap:has(form.form) .column { width: 100% !important; }

/* ---- v11: closed mobile drawer must not cast a shadow onto the page ---- */
.ax-mobile { box-shadow: none; visibility: hidden; transition: transform .42s cubic-bezier(.2, .8, .2, 1), visibility 0s .42s; }
.ax-mobile.is-on { visibility: visible; box-shadow: -30px 0 60px -20px rgba(11, 18, 32, .5); transition-delay: 0s; }
@media (max-width: 600px) { .ax-tcard { padding: 28px 22px 22px; } .ax-tcard blockquote { font-size: 14.5px; line-height: 1.65; } }

/* ---- v12: one button style everywhere (hero gradient), testimonial arrows ---- */
:root { --ax-btn: linear-gradient(90deg, #f9a518 0%, #ee403c 100%); }
.ax-cta, .ax-aside-cta, .ax-btn-primary, .btn-primary,
#Content a.button, #Content .button_js, #Content input[type=button].submit, #Content input.subscribeClick,
#Content .quickform input[type=submit], #Content .quickform button, #Content .quickform a.button,
#Content form.form input[type=submit], #Content form.form button,
html.ax-on .btn-primary {
  background: var(--ax-btn) !important; color: #fff !important; border: 0 !important;
  box-shadow: 0 14px 28px -12px rgba(238, 64, 60, .6) !important;
}
.ax-cta:hover, .ax-aside-cta:hover, .ax-btn-primary:hover, .btn-primary:hover, #Content a.button:hover,
#Content .quickform input[type=submit]:hover, #Content input.subscribeClick:hover { background: var(--ax-btn) !important; filter: brightness(1.07); }
.ax-aside-cta, .ax-aside-cta i { color: #fff !important; }
#Content a.button .button_label, #Content a.button i { color: #fff !important; }
.ax-cta { border-radius: 14px; }

.ax-testi-wrap { position: relative; padding: 0 28px; }
.ax-testi-wrap .swiper-button-prev, .ax-testi-wrap .swiper-button-next {
  top: calc(50% - 28px); width: 48px; height: 48px; margin-top: 0; border-radius: 14px; background: #fff; color: var(--ax-ink);
  box-shadow: 0 10px 24px -12px rgba(11, 18, 32, .45); transition: background .2s, color .2s; z-index: 5;
}
.ax-testi-wrap .swiper-button-prev { left: -8px; } .ax-testi-wrap .swiper-button-next { right: -8px; }
.ax-testi-wrap .swiper-button-prev::after, .ax-testi-wrap .swiper-button-next::after { font-size: 16px; font-weight: 900; }
.ax-testi-wrap .swiper-button-prev:hover, .ax-testi-wrap .swiper-button-next:hover { background: var(--ax-orange); color: #fff; }
@media (max-width: 760px) { .ax-testi-wrap { padding: 0; } .ax-testi-wrap .swiper-button-prev, .ax-testi-wrap .swiper-button-next { display: none; } }

/* =====================================================================
   GROUP COMPANIES — header drawer, service-page family band, homepage
   ===================================================================== */
.ax-ext { display: inline-block; width: 14px; height: 14px; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ax-go.ax-ext { width: 16px; height: 16px; }

/* logo badge (real logo or monogram) */
.ax-colo { display: flex; align-items: center; justify-content: center; flex: none; width: 76px; height: 76px; padding: 8px; border-radius: 18px; background: #fff; border: 1px solid var(--ax-line); overflow: hidden; }
.ax-colo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 0 !important; }
.ax-mono { background: linear-gradient(135deg, var(--ax-navy-2), var(--ax-blue-d)); border: 0; color: #fff; font: 700 22px/1 var(--ax-display); letter-spacing: .02em; }
.ax-co .ax-colo { width: 64px; height: 64px; border-radius: 16px; }
.ax-co .ax-ctext b { font-size: 14.5px; }
.ax-co { align-items: center; }

/* drawer extras: chairman / trusts / europe chips */
.ax-extra { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 16px; padding-top: 16px; border-top: 1px dashed var(--ax-line); }
.ax-extra > span { font: 600 11px/1 var(--ax-font); letter-spacing: .12em; text-transform: uppercase; color: var(--ax-body); margin-right: 4px; }
.ax-extra a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 14px; border-radius: 999px; background: #fff; border: 1px solid var(--ax-line); color: var(--ax-ink) !important; font: 600 13px/1 var(--ax-font); text-decoration: none; transition: .2s; }
.ax-extra a:hover { background: var(--ax-btn); border-color: transparent; color: #fff !important; }
.ax-fam-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.ax-fam-strip a { position: relative; display: flex; flex-direction: column; gap: 3px; padding: 14px 44px 14px 18px; border-radius: 18px; background: var(--ax-navy); color: #fff !important; text-decoration: none; overflow: hidden; }
.ax-fam-strip a::before { content: ''; position: absolute; right: -30px; top: -30px; width: 100px; height: 100px; border-radius: 50%; background: var(--ax-btn); opacity: .35; }
.ax-fam-strip b { font: 700 15px/1.2 var(--ax-display); } .ax-fam-strip span { font: 600 12.5px/1.2 var(--ax-font); color: var(--ax-amber); }
.ax-fam-strip .ax-ext { position: absolute; right: 16px; top: 50%; margin-top: -7px; }
.ax-m-inner .ax-fam-strip { grid-template-columns: 1fr; }
.ax-m-inner .ax-co .ax-colo { width: 52px; height: 52px; }

/* ---- family band on service pages: the attention-grabber ---- */
@property --axa { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
.ax-fam { position: relative; padding: 76px 0 84px; color: #fff; overflow: hidden;
  background: radial-gradient(560px 340px at 85% 0, rgba(18, 90, 211, .55), transparent 70%), radial-gradient(520px 320px at 5% 100%, rgba(238, 64, 60, .32), transparent 70%),
    radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .08) 1px, transparent 0) 0 0/22px 22px, var(--ax-navy); }
.ax-fam-in { max-width: 1220px; margin: 0 auto; padding: 0 24px; }
.ax-fam-head { max-width: 760px; margin: 0 auto 38px; text-align: center; }
.ax-fam-badge { display: inline-flex; align-items: center; gap: 10px; padding: 9px 16px; border-radius: 999px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); font: 600 12px/1 var(--ax-font); letter-spacing: .12em; text-transform: uppercase; }
.ax-fam-badge i { width: 8px; height: 8px; border-radius: 50%; background: var(--ax-amber); box-shadow: 0 0 0 0 rgba(249, 165, 24, .7); animation: axPulse 1.8s infinite; }
@keyframes axPulse { 70% { box-shadow: 0 0 0 10px rgba(249, 165, 24, 0); } 100% { box-shadow: 0 0 0 0 rgba(249, 165, 24, 0); } }
.ax-fam-head h2 { margin: 18px 0 12px !important; color: #fff !important; font: 700 clamp(28px, 3.8vw, 44px)/1.1 var(--ax-display) !important; letter-spacing: -.03em; }
.ax-fam-head h2::after { display: none !important; }
.ax-fam-head p { margin: 0; color: rgba(255, 255, 255, .75); font-size: 17px; line-height: 1.65; }
.ax-fam-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; justify-content: center; }
.ax-fam.is-one .ax-fam-grid { grid-template-columns: minmax(300px, 520px); }
.ax-famcard { position: relative; display: block; padding: 3px; border-radius: 28px; text-decoration: none; background: conic-gradient(from var(--axa), #f9a518, #ee403c, #125ad3, #f9a518); animation: axSpinA 6s linear infinite; transition: transform .3s; }
@keyframes axSpinA { to { --axa: 360deg; } }
.ax-famcard:hover { transform: translateY(-8px) scale(1.01); }
.ax-famcard-in { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-items: center; padding: 24px; border-radius: 25px; background: #fff; height: 100%; box-sizing: border-box; }
.ax-famcard .ax-colo { width: 88px; height: 88px; grid-row: span 1; background: var(--ax-mist); }
.ax-famcard .ax-ctext b { color: var(--ax-ink); font: 700 19px/1.25 var(--ax-display); }
.ax-famcard .ax-ctext small { color: var(--ax-body); font-size: 14px; }
.ax-famgo { grid-column: 1 / -1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; padding: 14px 20px; border-radius: 14px; background: var(--ax-btn); color: #fff !important; font: 600 14.5px/1 var(--ax-font); box-shadow: 0 14px 26px -12px rgba(238, 64, 60, .65); }
.ax-famgo .ax-ext { width: 15px; height: 15px; transition: transform .25s; }
.ax-famcard:hover .ax-famgo .ax-ext { transform: translate(3px, -3px); }
.ax-fam-foot { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 14px; margin-top: 36px; }
.ax-fam-foot a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 20px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .22); color: #fff !important; font: 600 14.5px/1 var(--ax-font); text-decoration: none; transition: .2s; }
.ax-fam-foot a b { color: var(--ax-amber); }
.ax-fam-foot a:hover { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .5); }
@media (prefers-reduced-motion: reduce) { .ax-famcard, .ax-fam-badge i { animation: none; } }
@media (max-width: 600px) { .ax-fam { padding: 56px 0 64px; } .ax-famcard-in { padding: 18px; gap: 4px 14px; } .ax-famcard .ax-colo { width: 68px; height: 68px; } .ax-fam-grid { grid-template-columns: 1fr; } .ax-fam.is-one .ax-fam-grid { grid-template-columns: 1fr; } }

/* ---- homepage: group companies ---- */
.ax-cohome { padding: 80px 0 70px; background: linear-gradient(180deg, #fff, var(--ax-mist)); }
.ax-cohome-in { max-width: 1220px; margin: 0 auto; padding: 0 24px; }
.ax-cogroup { padding: 26px; border: 1px solid var(--ax-line); border-radius: 28px; background: #fff; box-shadow: 0 22px 44px -34px rgba(11, 18, 32, .5); }
.ax-cotile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 16px 18px; border: 1px solid var(--ax-line); border-radius: 20px; background: var(--ax-mist); text-decoration: none; transition: transform .3s, box-shadow .3s, border-color .3s, background .3s; }
.ax-cotile:hover { transform: translateY(-5px); background: #fff; border-color: var(--ax-orange); box-shadow: 0 20px 34px -22px rgba(232, 130, 12, .7); }
.ax-cotile .ax-colo { width: 72px; height: 72px; margin-bottom: 6px; }
.ax-cotile b { color: var(--ax-ink); font: 700 15px/1.3 var(--ax-display); }
.ax-cotile small { color: var(--ax-body); font: 500 12.5px/1.4 var(--ax-font); }
.ax-cotile > i { position: absolute; right: 14px; top: 14px; width: 16px; height: 16px; color: var(--ax-orange); opacity: 0; transform: translate(-4px, 4px); transition: .25s; }
.ax-cotile:hover > i { opacity: 1; transform: none; }
.ax-cobottom { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 20px; margin-top: 26px; }
.ax-trusts { padding: 24px 26px; border: 1px solid var(--ax-line); border-radius: 28px; background: #fff; }
.ax-trusts > div { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.ax-trusts a { display: inline-flex; align-items: center; gap: 12px; padding: 8px 16px 8px 8px; border: 1px solid var(--ax-line); border-radius: 999px; text-decoration: none; transition: .2s; }
.ax-trusts a:hover { border-color: var(--ax-orange); box-shadow: 0 12px 24px -16px rgba(232, 130, 12, .7); }
.ax-trusts .ax-colo { width: 44px; height: 44px; border-radius: 50%; padding: 4px; font-size: 15px; }
.ax-trusts b { color: var(--ax-ink); font: 700 14px/1 var(--ax-display); } .ax-trusts .ax-ext { color: var(--ax-orange); }
.ax-europe { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 26px; border-radius: 28px; color: #fff !important; text-decoration: none; overflow: hidden; background: radial-gradient(300px 200px at 100% 0, rgba(18, 90, 211, .6), transparent 70%), var(--ax-navy); transition: transform .3s; }
.ax-europe:hover { transform: translateY(-6px); }
.ax-europe b { font: 700 24px/1.1 var(--ax-display); } .ax-europe small { color: rgba(255, 255, 255, .75); font-size: 14px; line-height: 1.55; }
.ax-europe .ax-famgo { margin-top: auto; align-self: flex-start; padding: 12px 18px; }
.ax-chair { background: radial-gradient(300px 200px at 100% 0, rgba(238, 64, 60, .5), transparent 70%), var(--ax-navy-2); }
@media (max-width: 1000px) { .ax-cobottom { grid-template-columns: 1fr; } }
@media (max-width: 480px) { .ax-cogroup { padding: 20px; } }
.ax-famcard .ax-mono, .ax-cotile .ax-mono { background: linear-gradient(135deg, var(--ax-navy-2), var(--ax-blue-d)); color: #fff; }
.ax-famcard.is-soon { animation: none; background: rgba(255, 255, 255, .25); }
.ax-famcard.is-soon:hover { transform: none; }
.ax-famgo.ax-soon { background: var(--ax-mist); color: var(--ax-body) !important; box-shadow: none; }

/* =====================================================================
   v13: no hover underline, taller heroes, tabs in brand orange, company tabs,
        glass lightbox, scroll effects, team / certificate / contact redesign
   ===================================================================== */
a:hover, a:focus, #Content a:hover, #Content a:focus, #Footer a:hover { text-decoration: none !important; }
.divNavigation u { text-decoration: none; }

/* home: "GET TO KNOW" = brand button */
.hover_color.ax-know { background: none !important; box-shadow: none !important; border-radius: 0; overflow: visible; margin-top: 18px; }
.hover_color.ax-know .hover_color_bg { background: var(--ax-btn) !important; border-radius: 16px; box-shadow: 0 14px 28px -12px rgba(238, 64, 60, .6); transition: transform .25s, filter .25s; }
.hover_color.ax-know .hover_color_bg:hover { transform: translateY(-3px); filter: brightness(1.07); box-shadow: 0 14px 28px -12px rgba(238, 64, 60, .6); }
.hover_color.ax-know .hover_color_wrapper { padding: 16px 28px !important; text-align: center; border: 0; }
.hover_color.ax-know h6 { font: 600 15px/1 var(--ax-font); letter-spacing: .08em; color: #fff !important; }

/* hero banners: taller, image shows through */
html.ax-on #Subheader { min-height: clamp(300px, 31vw, 440px); display: flex; align-items: flex-end; padding: 110px 0 58px !important; background-position: center; background-size: cover; }
html.ax-on #Subheader .container { width: 100%; }
html.ax-on #Subheader::before { background: linear-gradient(100deg, rgba(11, 18, 32, .88) 0%, rgba(11, 18, 32, .58) 46%, rgba(11, 18, 32, .12) 100%); }
@media (max-width: 767px) { html.ax-on #Subheader { min-height: 270px; padding: 90px 0 34px !important; } }
@media (min-width: 1600px) { html.ax-on #Subheader { min-height: 480px; } }

/* tabs: brand orange gradient (matches every button) */
body .ui-tabs .ui-tabs-nav li.ui-state-active a, body .ui-tabs .ui-tabs-nav li.ui-state-hover a, body .ui-tabs .ui-tabs-nav li.ui-state-active.ui-state-hover a {
  background: var(--ax-btn) !important; color: #fff !important; box-shadow: 0 12px 22px -12px rgba(238, 64, 60, .65) !important;
}
body .ui-tabs .ui-tabs-nav li:not(.ui-state-active) a:hover { background: #fff !important; color: var(--ax-orange) !important; }
body .ui-tabs .ui-tabs-nav li:not(.ui-state-active).ui-state-hover a { background: transparent !important; color: var(--ax-ink) !important; box-shadow: none !important; }

/* staffing CTA band (replaces the enquiry strip) */
.ax-ctaband { padding: 20px 0 !important; }
.ax-ctaband-in { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 42px 48px; border-radius: 30px; color: #fff; background: radial-gradient(420px 260px at 100% 0, rgba(18, 90, 211, .55), transparent 70%), radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .08) 1px, transparent 0) 0 0/20px 20px, var(--ax-navy); }
.ax-ctaband h2 { margin: 8px 0 8px !important; color: #fff !important; font: 700 clamp(24px, 3vw, 34px)/1.15 var(--ax-display) !important; }
.ax-ctaband h2::after { display: none !important; }
.ax-ctaband p { margin: 0; color: rgba(255, 255, 255, .78); max-width: 520px; }
.ax-ctaband .ax-btn { flex: none; }
@media (max-width: 760px) { .ax-ctaband-in { flex-direction: column; align-items: flex-start; padding: 30px 26px; } }

/* ---------- homepage: companies as tabs ---------- */
.ax-cotabs { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin: 0 0 22px; }
.ax-cotab { display: flex; align-items: center; gap: 12px; padding: 12px 18px 12px 12px; border: 1px solid var(--ax-line); border-radius: 18px; background: #fff; cursor: pointer; text-align: left; transition: background .25s, border-color .25s, box-shadow .25s, transform .25s; font-family: var(--ax-font); }
.ax-cotab em { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: var(--ax-mist); color: var(--ax-ink); font: 700 14px/1 var(--ax-display); font-style: normal; transition: .25s; }
.ax-cotab span { display: flex; flex-direction: column; gap: 3px; }
.ax-cotab b { color: var(--ax-ink); font: 700 14.5px/1.2 var(--ax-display); }
.ax-cotab small { color: var(--ax-body); font: 600 12px/1 var(--ax-font); }
.ax-cotab:hover { border-color: var(--ax-orange); transform: translateY(-2px); }
.ax-cotab.is-on { background: var(--ax-navy); border-color: var(--ax-navy); box-shadow: 0 18px 30px -18px rgba(11, 18, 32, .75); }
.ax-cotab.is-on em { background: var(--ax-btn); color: #fff; }
.ax-cotab.is-on b { color: #fff; } .ax-cotab.is-on small { color: rgba(255, 255, 255, .65); }
.ax-copanels { position: relative; }
.ax-copanel { display: none; grid-template-columns: 300px 1fr; gap: 0; border: 1px solid var(--ax-line); border-radius: 32px; overflow: hidden; background: #fff; box-shadow: 0 30px 60px -40px rgba(11, 18, 32, .55); }
.ax-copanel.is-on { display: grid; animation: axFade .45s ease; }
.ax-copanel[hidden] { display: none; }
.ax-copanel-side { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 34px 30px; color: #fff; background: radial-gradient(300px 220px at 100% 0, rgba(18, 90, 211, .6), transparent 70%), radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .09) 1px, transparent 0) 0 0/20px 20px, var(--ax-navy); }
.ax-copanel-side h3 { margin: 0; color: #fff !important; font: 700 28px/1.1 var(--ax-display); letter-spacing: -.02em; }
.ax-copanel-side p { margin: 0; color: rgba(255, 255, 255, .75); font-size: 15px; line-height: 1.65; }
.ax-copanel-count { margin-top: auto; display: inline-flex; align-items: baseline; gap: 8px; font: 600 13px/1 var(--ax-font); color: rgba(255, 255, 255, .7); }
.ax-copanel-count b { font: 700 44px/1 var(--ax-display); color: var(--ax-amber); }
.ax-copanel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; padding: 26px; background: linear-gradient(180deg, #fff, var(--ax-mist)); align-content: start; }
.ax-cobig { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 20px; border: 1px solid var(--ax-line); border-radius: 22px; background: #fff; text-decoration: none; transition: transform .3s, box-shadow .3s, border-color .3s; }
.ax-cobig:hover { transform: translateY(-5px); border-color: var(--ax-orange); box-shadow: 0 22px 36px -24px rgba(232, 130, 12, .7); }
.ax-cobig .ax-colo { width: 100%; height: 96px; border-radius: 16px; background: var(--ax-mist); border: 0; padding: 12px; }
.ax-cobig .ax-mono { font-size: 28px; }
.ax-cobig-txt { display: flex; flex-direction: column; gap: 4px; }
.ax-cobig-txt b { color: var(--ax-ink); font: 700 16px/1.3 var(--ax-display); }
.ax-cobig-txt small { color: var(--ax-body); font: 500 13.5px/1.45 var(--ax-font); }
.ax-cobig-go { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; align-self: flex-start; padding: 10px 16px; border-radius: 12px; background: var(--ax-btn); color: #fff; font: 600 13px/1 var(--ax-font); box-shadow: 0 10px 20px -12px rgba(238, 64, 60, .7); }
.ax-cobig-go i { width: 14px; height: 14px; }
.ax-cobig:hover .ax-cobig-go .ax-ext { transform: translate(2px, -2px); }
@media (max-width: 900px) {
  .ax-copanel.is-on { grid-template-columns: 1fr; }
  .ax-copanel-side { padding: 26px; } .ax-copanel-count { margin-top: 6px; }
  .ax-cotabs { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin: 0 -24px 18px; padding: 4px 24px 8px; scrollbar-width: none; }
  .ax-cotabs::-webkit-scrollbar { display: none; } .ax-cotab { flex: none; }
}

/* ---------- glass lightbox ---------- */
.ax-lb { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 28px; opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s .35s; }
.ax-lb.is-on { opacity: 1; visibility: visible; transition-delay: 0s; }
.ax-lb-glass { position: absolute; inset: 0; background: radial-gradient(900px 500px at 20% 10%, rgba(18, 90, 211, .35), transparent 70%), radial-gradient(800px 500px at 90% 90%, rgba(238, 64, 60, .28), transparent 70%), rgba(10, 16, 30, .45); -webkit-backdrop-filter: blur(22px) saturate(1.5); backdrop-filter: blur(22px) saturate(1.5); }
.ax-lb-frame { position: relative; margin: 0; max-width: min(1100px, 100%); max-height: 100%; display: flex; flex-direction: column; gap: 12px; padding: 14px; border-radius: 30px; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .38); box-shadow: 0 40px 90px -30px rgba(0, 0, 0, .65), inset 0 1px 0 rgba(255, 255, 255, .45); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); transform: translateY(18px) scale(.97); transition: transform .45s cubic-bezier(.2, .8, .2, 1); }
.ax-lb.is-on .ax-lb-frame { transform: none; }
.ax-lb-stage { position: relative; display: grid; place-items: center; border-radius: 20px; overflow: hidden; min-height: 200px; background: rgba(0, 0, 0, .18); }
.ax-lb-stage img { display: block; max-width: 100%; max-height: calc(100vh - 190px); width: auto; height: auto; border-radius: 0 !important; transition: opacity .35s; }
.ax-lb.is-loading .ax-lb-stage img { opacity: 0; }
.ax-lb-spin { position: absolute; width: 38px; height: 38px; border-radius: 50%; border: 3px solid rgba(255, 255, 255, .35); border-top-color: #fff; animation: axSpinA2 .8s linear infinite; opacity: 0; transition: opacity .2s; }
.ax-lb.is-loading .ax-lb-spin { opacity: 1; }
@keyframes axSpinA2 { to { transform: rotate(360deg); } }
.ax-lb-frame figcaption { display: flex; justify-content: space-between; gap: 16px; padding: 0 8px 4px; color: #fff; font: 600 14px/1.4 var(--ax-font); text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
.ax-lb-count { flex: none; opacity: .85; font-weight: 800; letter-spacing: .06em; }
.ax-lb-btn { position: absolute; z-index: 2; width: 52px; height: 52px; border: 1px solid rgba(255, 255, 255, .4); border-radius: 50%; background: rgba(255, 255, 255, .16); color: #fff; cursor: pointer; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); transition: background .2s, transform .2s; display: grid; place-items: center; padding: 0; }
.ax-lb-btn:hover { background: rgba(255, 255, 255, .3); transform: scale(1.08); }
.ax-lb-btn i { width: 20px; height: 20px; background: #fff; -webkit-mask: var(--ico) center/contain no-repeat; mask: var(--ico) center/contain no-repeat; }
.ax-lb-close { top: 22px; right: 22px; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 6l12 12M18 6 6 18' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E"); }
.ax-lb-prev { left: 22px; top: 50%; margin-top: -26px; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m15 5-7 7 7 7' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ax-lb-next { right: 22px; top: 50%; margin-top: -26px; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m9 5 7 7-7 7' fill='none' stroke='%23000' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
html.ax-lb-open { overflow: hidden; }
@media (max-width: 700px) { .ax-lb { padding: 12px; } .ax-lb-frame { padding: 8px; border-radius: 22px; } .ax-lb-btn { width: 44px; height: 44px; } .ax-lb-prev { left: 10px; } .ax-lb-next { right: 10px; } .ax-lb-close { top: 10px; right: 10px; } }

/* ---------- gallery pages ---------- */
html.ax-on .divNavigation { margin-bottom: 14px; }
html.ax-on .divNavigation a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: var(--ax-mist); border: 1px solid var(--ax-line); color: var(--ax-ink) !important; font: 600 13.5px/1 var(--ax-font); }
html.ax-on .divNavigation a::before { content: '\2190'; color: var(--ax-orange); }
html.ax-on .divNavigation a:hover { background: var(--ax-btn); color: #fff !important; border-color: transparent; }
html.ax-on #gallery-2 { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; gap: 18px !important; padding: 14px 0 40px !important; }
html.ax-on #gallery-2 dl.gallery-item { float: none !important; width: auto !important; margin: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 24px !important; position: relative; background: var(--ax-mist); border: 1px solid var(--ax-line); box-shadow: 0 18px 34px -26px rgba(11, 18, 32, .6); transition: transform .35s, box-shadow .35s; }
html.ax-on #gallery-2 dl.gallery-item:hover { transform: translateY(-6px); box-shadow: 0 28px 44px -26px rgba(18, 90, 211, .6); }
html.ax-on #gallery-2 dl.gallery-item dt, html.ax-on #gallery-2 .image_frame, html.ax-on #gallery-2 .image_wrapper, html.ax-on #gallery-2 .image_wrapper > a { display: block; width: 100%; height: 100%; border: 0 !important; margin: 0 !important; border-radius: 0 !important; }
html.ax-on #gallery-2 img { width: 100% !important; height: 100% !important; object-fit: cover; border: 0 !important; border-radius: 0 !important; transition: transform .7s cubic-bezier(.2, .8, .2, 1); }
html.ax-on #gallery-2 dl.gallery-item:hover img { transform: scale(1.08); }
html.ax-on #gallery-2 .gallery-icon a { position: relative; }
html.ax-on #gallery-2 .gallery-icon a::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(11, 18, 32, .65)); opacity: 0; transition: opacity .3s; }
html.ax-on #gallery-2 .gallery-icon a::before { content: ''; position: absolute; z-index: 2; right: 16px; bottom: 16px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .22) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 5v12M5 11h12' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/18px no-repeat; border: 1px solid rgba(255, 255, 255, .5); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); opacity: 0; transform: scale(.7); transition: .3s; }
html.ax-on #gallery-2 dl.gallery-item:hover .gallery-icon a::after, html.ax-on #gallery-2 dl.gallery-item:hover .gallery-icon a::before { opacity: 1; transform: none; }
html.ax-on #gallery-2 .mask { display: none !important; }
html.ax-on #gallery-2 dl.gallery-item:has(iframe), html.ax-on #gallery-2 dl.gallery-item:has(video) { grid-column: span 2; }

/* ---------- scroll effects ---------- */
html.lenis, html.lenis body { height: auto; }
html.lenis { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: hidden; }
.ax-rv { opacity: 0; transform: translateY(30px); filter: blur(8px); transition: opacity .9s cubic-bezier(.2, .8, .2, 1) var(--rv-d, 0ms), transform .9s cubic-bezier(.2, .8, .2, 1) var(--rv-d, 0ms), filter .9s cubic-bezier(.2, .8, .2, 1) var(--rv-d, 0ms); }
.ax-rv.is-in { opacity: 1; transform: none; filter: none; transition: opacity .9s var(--rv-d, 0ms), transform .35s, box-shadow .35s, border-color .3s, background .3s; }
.ax-wet { filter: url(#ax-water); }
@media (prefers-reduced-motion: reduce) { .ax-rv { opacity: 1; transform: none; filter: none; } .ax-wet { filter: none; } }

/* ---------- shared page head ---------- */
.ax-pg { padding: 70px 0 70px !important; }
.ax-pg-head { max-width: 760px; margin: 0 auto 46px; text-align: center; }
.ax-pg-head h2 { margin: 6px 0 12px !important; font: 700 clamp(30px, 4vw, 46px)/1.08 var(--ax-display) !important; letter-spacing: -.03em; }
.ax-pg-head h2::after { margin-left: auto; margin-right: auto; }
.ax-pg-head p { margin: 0 auto; max-width: 620px; font-size: 17px; color: var(--ax-body); }

/* ---------- team: arch portraits ---------- */
.ax-people { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 34px 26px; }
.ax-person { position: relative; display: flex; flex-direction: column; align-items: center; padding: 34px 24px 28px; border: 1px solid var(--ax-line); border-radius: 30px; background: #fff; text-align: center; box-shadow: 0 22px 44px -36px rgba(11, 18, 32, .55); transition: transform .35s, box-shadow .35s, border-color .35s; }
.ax-person:hover { transform: translateY(-8px); border-color: var(--ax-orange); box-shadow: 0 30px 50px -30px rgba(232, 130, 12, .55); }
.ax-person-no { position: absolute; top: 18px; left: 22px; font: 700 13px/1 var(--ax-display); color: var(--ax-line); letter-spacing: .08em; }
.ax-arch { position: relative; width: 190px; aspect-ratio: 4 / 5; margin: 0 0 26px; border-radius: 999px 999px 26px 26px; }
.ax-arch::before { content: ''; position: absolute; inset: 0; border: 2px solid var(--ax-orange); border-radius: inherit; transform: translate(10px, 10px); transition: transform .35s; }
.ax-person:hover .ax-arch::before { transform: translate(14px, 14px); }
.ax-arch img { position: relative; width: 100%; height: 100%; object-fit: cover; object-position: top center; border-radius: inherit !important; background: var(--ax-mist); filter: grayscale(.25); transition: filter .35s; }
.ax-person:hover .ax-arch img { filter: none; }
.ax-person-body { display: flex; flex-direction: column; align-items: center; gap: 10px; flex: 1; }
.ax-person h3 { margin: 0; font: 700 21px/1.2 var(--ax-display); color: var(--ax-ink); }
.ax-role { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; }
.ax-role span { padding: 6px 12px; border-radius: 999px; background: var(--ax-mist); border: 1px solid var(--ax-line); color: var(--ax-orange); font: 600 12px/1.2 var(--ax-font); }
.ax-bio { margin: 4px 0 6px; font-size: 14.5px; line-height: 1.7; color: var(--ax-body); }
.ax-person-links { display: flex; gap: 8px; margin-top: auto; padding-top: 6px; }
.ax-person-links a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--ax-mist); border: 1px solid var(--ax-line); color: var(--ax-ink) !important; transition: .25s; }
.ax-person-links a:hover { background: var(--ax-btn); border-color: transparent; color: #fff !important; transform: translateY(-3px); }
.ax-person-links i { font-size: 15px; line-height: 1; }
.ax-person.is-lead { grid-column: 1 / -1; flex-direction: row; align-items: center; gap: 56px; padding: 48px 56px; text-align: left; border: 0; color: #fff; background: radial-gradient(500px 320px at 100% 0, rgba(18, 90, 211, .55), transparent 70%), radial-gradient(circle at 1px 1px, rgba(255, 255, 255, .08) 1px, transparent 0) 0 0/22px 22px, var(--ax-navy); }
.ax-person.is-lead .ax-arch { width: 260px; flex: none; margin: 0; }
.ax-person.is-lead .ax-person-body { align-items: flex-start; }
.ax-person.is-lead h3 { color: #fff; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.02em; }
.ax-person.is-lead .ax-role { justify-content: flex-start; }
.ax-person.is-lead .ax-role span { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .2); color: var(--ax-amber); }
.ax-person.is-lead .ax-bio { color: rgba(255, 255, 255, .8); font-size: 17px; max-width: 560px; }
.ax-person.is-lead .ax-person-no { color: rgba(255, 255, 255, .25); }
.ax-person.is-lead .ax-person-links a { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .22); color: #fff !important; }
@media (max-width: 760px) { .ax-person.is-lead { flex-direction: column; gap: 30px; padding: 36px 24px; text-align: center; } .ax-person.is-lead .ax-person-body, .ax-person.is-lead .ax-role { align-items: center; justify-content: center; } }

/* ---------- certificates: document tiles ---------- */
.ax-docbar { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 20px; margin-bottom: 28px; }
.ax-search { position: relative; flex: 1 1 320px; display: block; }
.ax-search i { position: absolute; left: 18px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--ax-body); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3Cpath d='m16.5 16.5 4 4' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3Cpath d='m16.5 16.5 4 4' stroke='%23000' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ax-search input { width: 100%; height: 54px; padding: 0 20px 0 48px; border: 1px solid var(--ax-line); border-radius: 16px; background: #fff; font: 600 15px var(--ax-font); color: var(--ax-ink); box-shadow: none; }
.ax-search input:focus { outline: 0; border-color: var(--ax-orange); box-shadow: 0 0 0 4px rgba(232, 130, 12, .15); }
.ax-chipfs { display: flex; flex-wrap: wrap; gap: 8px; }
.ax-chipf { display: inline-flex; align-items: center; gap: 8px; padding: 12px 18px; border: 1px solid var(--ax-line); border-radius: 999px; background: #fff; color: var(--ax-ink); font: 600 14px/1 var(--ax-font); cursor: pointer; transition: .2s; }
.ax-chipf b { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--ax-mist); font-size: 12px; }
.ax-chipf:hover { border-color: var(--ax-orange); }
.ax-chipf.is-on { background: var(--ax-navy); border-color: var(--ax-navy); color: #fff; } .ax-chipf.is-on b { background: var(--ax-btn); color: #fff; }
.ax-docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(360px, 1fr)); gap: 14px; }
.ax-doc { display: flex; align-items: center; gap: 16px; padding: 16px 18px; border: 1px solid var(--ax-line); border-radius: 20px; background: #fff; text-decoration: none; transition: transform .3s, border-color .3s, box-shadow .3s; }
.ax-doc[hidden] { display: none; }
.ax-doc:hover { transform: translateY(-4px); border-color: var(--ax-orange); box-shadow: 0 20px 34px -24px rgba(232, 130, 12, .65); }
.ax-doc-ico { position: relative; flex: none; display: grid; place-items: center; width: 52px; height: 62px; border-radius: 10px 18px 10px 10px; background: var(--ax-mist); border: 1px solid var(--ax-line); }
.ax-doc-ico::before { content: ''; position: absolute; top: -1px; right: -1px; width: 16px; height: 16px; border-radius: 0 16px 0 8px; background: var(--ax-line); }
.ax-doc-ico em { font: 600 11px/1 var(--ax-font); font-style: normal; letter-spacing: .06em; color: var(--ax-red); margin-top: 14px; }
.ax-doc-t { display: flex; flex-direction: column; gap: 5px; flex: 1; min-width: 0; }
.ax-doc-t b { color: var(--ax-ink); font: 700 15px/1.4 var(--ax-display); }
.ax-doc-t small { color: var(--ax-orange); font: 600 11px/1 var(--ax-font); letter-spacing: .1em; text-transform: uppercase; }
.ax-doc-go { flex: none; padding: 9px 18px; border-radius: 12px; background: var(--ax-btn); color: #fff; font: 600 13px/1 var(--ax-font); box-shadow: 0 10px 20px -12px rgba(238, 64, 60, .7); }
.ax-docempty { text-align: center; padding: 40px 0; color: var(--ax-body); }
@media (max-width: 480px) { .ax-docs { grid-template-columns: 1fr; } .ax-doc-go { display: none; } }

/* ---------- contact ---------- */
.ax-cform { padding: 14px; border: 1px solid var(--ax-line); border-radius: 34px; background: #fff; box-shadow: 0 36px 70px -46px rgba(11, 18, 32, .6); }
.ax-form { display: flex; flex-direction: column; gap: 16px; }
.ax-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; } .ax-grid3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ax-f { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.ax-f > span { color: var(--ax-ink); font: 600 13.5px/1.2 var(--ax-font); } .ax-f > span i { color: var(--ax-red); font-style: normal; }
.ax-f input, .ax-f select, .ax-f textarea { width: 100%; box-sizing: border-box; min-height: 52px; padding: 13px 16px; border: 1px solid var(--ax-line); border-radius: 14px; background: #fff; color: var(--ax-ink); font: 500 15px/1.4 var(--ax-font); box-shadow: none; transition: border-color .2s, box-shadow .2s; }
.ax-f textarea { resize: vertical; min-height: 120px; }
.ax-f input:focus, .ax-f select:focus, .ax-f textarea:focus { outline: 0; border-color: var(--ax-orange); box-shadow: 0 0 0 4px rgba(232, 130, 12, .15); }
.ax-f .is-bad { border-color: var(--ax-red); box-shadow: 0 0 0 4px rgba(238, 64, 60, .12); }
.ax-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.ax-err { margin: 0; padding: 12px 16px; border-radius: 12px; background: rgba(238, 64, 60, .08); border: 1px solid rgba(238, 64, 60, .3); color: #b3231f; font: 600 14px/1.4 var(--ax-font); }
.ax-err[hidden] { display: none; }
.ax-submit { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 30px; border: 0; border-radius: 16px; background: var(--ax-btn); color: #fff; font: 600 15.5px/1 var(--ax-font); cursor: pointer; box-shadow: 0 16px 30px -14px rgba(238, 64, 60, .7); transition: transform .2s, filter .2s; }
.ax-submit:hover { transform: translateY(-3px); filter: brightness(1.06); }
.ax-submit i { width: 18px; height: 18px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ax-submit:disabled { opacity: .7; cursor: progress; } .ax-submit.is-busy span::after { content: '\2026'; }
.ax-done { padding: 56px 30px; text-align: center; } .ax-done[hidden] { display: none; }
.ax-done-ico { display: block; width: 72px; height: 72px; margin: 0 auto 18px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.500 4.500 4.500L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/34px no-repeat, var(--ax-btn); }
.ax-done h3 { margin: 0 0 10px; font: 700 24px/1.2 var(--ax-display); } .ax-done p { margin: 0 auto 24px; max-width: 420px; }
.ax-offices { padding: 40px 0 70px !important; }
html.ax-on .ax-offices .card { padding: 24px; border: 1px solid var(--ax-line); border-radius: 24px; background: #fff; box-shadow: 0 18px 36px -30px rgba(11, 18, 32, .5); transition: transform .3s, border-color .3s; }
html.ax-on .ax-offices .card:hover { transform: translateY(-5px); border-color: var(--ax-orange); }
html.ax-on .ax-offices .card h1 { margin: 0 0 10px; font: 700 20px/1.2 var(--ax-display); color: var(--ax-ink); }
html.ax-on .ax-offices .card a { color: var(--ax-blue); }
@media (max-width: 640px) { .ax-grid2, .ax-grid3 { grid-template-columns: 1fr; } }
#Content .ax-pg-head h2::after, #Content .ax-ctaband h2::after, #Content .ax-sec-head h2::after { margin-left: auto; margin-right: auto; }
#Content .ax-ctaband h2::after { display: none; }

/* shared buttons (moved from home css) */
.ax-btn { display: inline-flex; align-items: center; gap: 10px; padding: 17px 26px; border-radius: 18px; font: 600 15px/1 var(--ax-font); text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.ax-btn i, .ax-b-go::after {
  width: 18px; height: 18px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13m-5-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
.ax-btn-primary { color: var(--ax-navy) !important; background: var(--ax-amber); box-shadow: 0 14px 30px -10px rgba(249, 165, 24, .7); }
.ax-btn-primary:hover { transform: translateY(-3px); background: #ffb62e; }

/* =====================================================================
   v14: ONE uniform light theme. No dark surfaces anywhere.
        Buttons + tabs = one pill style. Links = one orange hover.
   ===================================================================== */
:root { --ax-tint: #fff5e6; --ax-tint-b: #f0f5ff; --ax-pill: 999px; }
::selection { background: var(--ax-amber); color: #fff; }

/* ---------- one link hover (same as the header menu) ---------- */
#Content p a:hover, #Content li a:hover, #Content h1 a:hover, #Content h2 a:hover, #Content h3 a:hover, #Content h4 a:hover, #Content td a:hover, #Content strong a:hover,
#Footer a:hover, #Footer li a:hover, .ax-ctext:hover b, .ax-card:hover .ax-ctext b, .ax-tile:hover b, .ax-cotile:hover b, .ax-cobig:hover .ax-cobig-txt b, .ax-svc-body h3 a:hover, .ax-doc:hover .ax-doc-t b,
.ne-card a:hover .ne-title, .ax-orow:hover, .ax-qlist a:hover, .ax-svclist a:hover, .ax-trusts a:hover b, .ax-nav > .ax-item:hover { color: var(--ax-orange) !important; }
#Footer li a:hover { padding-left: 4px; }

/* ---------- one button / tab shape: pill + brand gradient ---------- */
.ax-cta, .ax-btn, .ax-submit, .ax-famgo, .ax-cobig-go, .ax-doc-go, .ax-aside-cta, #Content a.button, #Content .button_js, .btn-primary, .btn-secondary, html.ax-on .btn-primary, html.ax-on .btn-secondary,
.ax-extra a, .ax-fam-foot a, .ax-jump a, .ax-chip, .ax-chipf, .ax-omap, .ax-eu, .ax-lang, .ax-m-foot .ax-cta, #Content input.subscribeClick, #Content input[type=button].submit { border-radius: var(--ax-pill) !important; }
.ax-btn, .ax-submit, .ax-cta, #Content a.button { padding-left: 26px; padding-right: 26px; }
 html.ax-on .btn-secondary { background: #fff !important; color: var(--ax-ink) !important; border: 1.5px solid var(--ax-line) !important; box-shadow: none !important; }
 html.ax-on .btn-secondary:hover { border-color: var(--ax-orange) !important; color: var(--ax-orange) !important; }
body .ui-tabs .ui-tabs-nav { border-radius: 30px !important; }
body .ui-tabs .ui-tabs-nav li a, .ax-cotab, .ax-chipf { border-radius: var(--ax-pill) !important; }
body .ui-tabs .ui-tabs-nav li a::after, body .ui-tabs .ui-tabs-nav li.ui-state-active a::after, body .ui-tabs .ui-tabs-nav li a:after { display: none !important; content: none !important; }
body .ui-tabs .ui-tabs-nav li { background: none !important; border: 0 !important; }
.ax-cotab { padding: 8px 20px 8px 8px; }
.ax-cotab em { border-radius: 50%; }
.ax-cotab.is-on { background: var(--ax-btn); border-color: transparent; box-shadow: 0 14px 26px -14px rgba(238, 64, 60, .6); }
.ax-cotab.is-on b { color: #fff; } .ax-cotab.is-on small { color: rgba(255, 255, 255, .85); } .ax-cotab.is-on em { background: rgba(255, 255, 255, .3); color: #fff; }
.ax-chipf.is-on { background: var(--ax-btn); border-color: transparent; color: #fff; box-shadow: 0 12px 22px -14px rgba(238, 64, 60, .6); } .ax-chipf.is-on b { background: rgba(255, 255, 255, .3); color: #fff; }

/* tab clicks must never jump a tab under the sticky header */
html { scroll-padding-top: 110px; }
[id] { scroll-margin-top: 110px; }

/* no heading underline anywhere */
#Content h2::after, #Content .ax-pg-head h2::after, #Content .ax-sec-head h2::after { display: none !important; }

/* ---------- hero banners (inner pages): light ---------- */
html.ax-on #Subheader::before { background: linear-gradient(100deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .86) 42%, rgba(255, 255, 255, .15) 100%); }
html.ax-on #Subheader { background-color: #fff !important; }
html.ax-on #Subheader .container::before { color: var(--ax-orange); }
html.ax-on #Subheader h1.title, html.ax-on #Subheader .title { color: var(--ax-ink) !important; }
html.ax-on #Subheader .ax-sub-lead { color: var(--ax-body) !important; }
html:has(.ax-contact2) #Subheader { display: none; }

/* ---------- footer: light ---------- */
#Footer { background: #f5f7fb !important; color: var(--ax-body) !important; border-top: 1px solid var(--ax-line); }
#Footer::before { display: none !important; }
#Footer h4 { color: var(--ax-ink) !important; } #Footer h4::after { background: var(--ax-orange) !important; }
#Footer a { color: var(--ax-body) !important; } #Footer .textwidget, #Footer p, #Footer .widget { color: var(--ax-body) !important; }
#Footer .footer_copy { background: #fff !important; border-top: 1px solid var(--ax-line); } #Footer .copyright { color: var(--ax-body) !important; }
#Footer .social li a { background: #fff !important; border: 1px solid var(--ax-line); border-radius: 50% !important; color: var(--ax-ink) !important; }
#Footer .social li a:hover { background: var(--ax-btn) !important; border-color: transparent; color: #fff !important; }

/* ---------- drawers + scrim: light ---------- */
.ax-scrim { background: rgba(255, 255, 255, .55); }
.ax-aside { color: var(--ax-ink); background: linear-gradient(180deg, rgba(255, 245, 230, .93), rgba(255, 255, 255, .97)), var(--ax-img) center/cover, #fff; }
.ax-aside::before { display: none; }
.ax-aside h3 { color: var(--ax-ink) !important; } .ax-aside p { color: var(--ax-body); } .ax-eyebrow { color: var(--ax-orange); }
.ax-aside-cta { color: #fff !important; }
.ax-rail { background: var(--ax-tint-b); }
.ax-div { color: var(--ax-ink); } .ax-div em { color: var(--ax-orange); } .ax-div small { color: var(--ax-body); }
.ax-div.is-on { background: var(--ax-btn); box-shadow: 0 12px 24px -14px rgba(238, 64, 60, .6); border-radius: var(--ax-pill); }
.ax-div:not(.is-on):hover { background: #fff; border-radius: var(--ax-pill); }
.ax-div.is-on em, .ax-div.is-on small, .ax-div.is-on b { color: #fff; } .ax-div.is-on > i { color: #fff; }
.ax-rail-all { color: var(--ax-orange) !important; }
.ax-fam-strip a { background: var(--ax-tint); color: var(--ax-ink) !important; border: 1px solid var(--ax-line); } .ax-fam-strip a::before { opacity: .2; }
.ax-fam-strip span { color: var(--ax-orange); }
.ax-colo.ax-mono, .ax-mono { background: var(--ax-tint); color: var(--ax-orange); border: 1px solid var(--ax-line); }
.ax-famcard .ax-mono, .ax-cotile .ax-mono { background: var(--ax-tint); color: var(--ax-orange); }

/* ---------- homepage ---------- */
.ax-b::before { background: none; }
.ax-b:hover::before { background: none; }
.ax-b-no { background: rgba(255, 255, 255, .92); color: var(--ax-ink); }
.ax-b-txt { left: 14px; right: 14px; bottom: 14px; padding: 14px 64px 14px 18px; border-radius: 20px; background: rgba(255, 255, 255, .94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.ax-b-txt b { color: var(--ax-ink) !important; } .ax-b-txt small { color: var(--ax-body); }
.ax-b-go { right: 22px; bottom: 22px; }
.ax-b.b-xl .ax-b-txt b { font-size: 26px; }
.ax-slide-full:has(.ax-slide-in)::before { background: linear-gradient(90deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .1)); }
.ax-slide-full .ax-slide-title { color: var(--ax-ink) !important; }
.ax-copanel-side { color: var(--ax-ink); background: var(--ax-tint); border-right: 1px solid var(--ax-line); }
.ax-copanel-side h3 { color: var(--ax-ink) !important; } .ax-copanel-side p { color: var(--ax-body); } .ax-copanel-count { color: var(--ax-body); } .ax-copanel-count b { color: var(--ax-orange); }
.ax-europe { background: var(--ax-tint-b); color: var(--ax-ink) !important; border: 1px solid var(--ax-line); } .ax-chair { background: var(--ax-tint); }
.ax-europe b { color: var(--ax-ink); } .ax-europe small { color: var(--ax-body); }
.ax-europe .ax-eyebrow { color: var(--ax-orange); }

/* ---------- group band on service pages ---------- */
.ax-fam { color: var(--ax-ink); background: var(--ax-tint-b); border-top: 1px solid var(--ax-line); }
.ax-fam-badge { background: #fff; border: 1px solid var(--ax-line); color: var(--ax-orange); }
.ax-fam-head h2 { color: var(--ax-ink) !important; } .ax-fam-head p { color: var(--ax-body); }
.ax-famcard { background: var(--ax-line); animation: none; box-shadow: 0 18px 34px -26px rgba(11, 18, 32, .4); }
.ax-famcard:hover { background: conic-gradient(from var(--axa), #f9a518, #ee403c, #f9a518); animation: axSpinA 5s linear infinite; }
.ax-fam-foot a { background: #fff; border: 1px solid var(--ax-line); color: var(--ax-ink) !important; } .ax-fam-foot a b { color: var(--ax-orange); }
.ax-fam-foot a:hover { border-color: var(--ax-orange); background: #fff; }
.ax-ctaband-in { color: var(--ax-ink); background: var(--ax-tint); border: 1px solid var(--ax-line); }
.ax-ctaband h2 { color: var(--ax-ink) !important; } .ax-ctaband p { color: var(--ax-body); } .ax-ctaband .ax-eyebrow { color: var(--ax-orange); }

/* ---------- hub + pages ---------- */
.ax-hub-stats li, .ax-hub-stats li:nth-child(n) { background: var(--ax-tint); color: var(--ax-ink); border: 1px solid var(--ax-line); }
.ax-hub-stats b { color: var(--ax-orange); } .ax-hub-stats span { color: var(--ax-body); opacity: 1; }
.ax-hub-no { background: var(--ax-btn); color: #fff; }
#Content .quickform { background: var(--ax-tint-b) !important; border-top: 1px solid var(--ax-line); border-bottom: 1px solid var(--ax-line); }
#Content .quickform::after { display: none; }
#Content .quickform h1, #Content .quickform h2, #Content .quickform h3, #Content .quickform h4, #Content .quickform h2 span, #Content .quickform h3 span, #Content .quickform h4 span { color: var(--ax-ink) !important; }
#Content .quickform input[type=text], #Content .quickform input[type=email], #Content .quickform input[type=tel] { border: 1px solid var(--ax-line); }
.hover_color { background: var(--ax-line) !important; box-shadow: 0 18px 36px -28px rgba(11, 18, 32, .35); }
.hover_color .hover_color_bg { background: #fff !important; border: 0 !important; }
.hover_color .hover_color_bg h4, .hover_color .hover_color_bg p { color: var(--ax-ink) !important; } .hover_color .hover_color_bg p { color: var(--ax-body) !important; opacity: 1; }
.hover_color.ax-know { background: none !important; box-shadow: none !important; } .hover_color.ax-know .hover_color_bg { background: var(--ax-btn) !important; border-radius: var(--ax-pill); }
.mcb-wrap-rlk657a8a { background: var(--ax-tint) !important; border: 1px solid var(--ax-line); }
.mcb-wrap-rlk657a8a h3 { color: var(--ax-ink) !important; border-bottom-color: var(--ax-orange) !important; }
.mcb-wrap-rlk657a8a blockquote { color: var(--ax-ink) !important; }
#Content table th { background: var(--ax-tint-b); color: var(--ax-ink) !important; }

/* ---------- glass lightbox: light glass ---------- */
.ax-lb-glass { background: radial-gradient(900px 500px at 20% 10%, rgba(249, 165, 24, .22), transparent 70%), radial-gradient(800px 500px at 90% 90%, rgba(18, 90, 211, .16), transparent 70%), rgba(255, 255, 255, .5); }
.ax-lb-frame { background: rgba(255, 255, 255, .55); border: 1px solid rgba(255, 255, 255, .95); box-shadow: 0 40px 80px -40px rgba(11, 18, 32, .35), inset 0 1px 0 #fff; }
.ax-lb-stage { background: rgba(255, 255, 255, .5); }
.ax-lb-frame figcaption { color: var(--ax-ink); text-shadow: none; }
.ax-lb-spin { border-color: rgba(11, 18, 32, .15); border-top-color: var(--ax-orange); }
.ax-lb-btn { background: rgba(255, 255, 255, .8); border: 1px solid var(--ax-line); color: var(--ax-ink); }
.ax-lb-btn:hover { background: #fff; } .ax-lb-btn i { background: var(--ax-ink); }

/* ---------- team: round portraits, 3 per row ---------- */
.ax-pg-team { background: linear-gradient(180deg, #fff 0, #fff 230px, var(--ax-tint-b) 230px); }
.ax-people { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1000px) { .ax-people { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .ax-people { grid-template-columns: 1fr; } }
.ax-person, .ax-person.is-lead { grid-column: auto; flex-direction: column; align-items: center; gap: 0; padding: 36px 26px 30px; border: 1px solid var(--ax-line); border-radius: 26px; background: #fff; color: inherit; text-align: center; box-shadow: 0 20px 40px -34px rgba(11, 18, 32, .45); }
.ax-person:hover { transform: translateY(-6px); border-color: var(--ax-orange); box-shadow: 0 26px 44px -30px rgba(232, 130, 12, .5); }
.ax-person-no { display: none; }
.ax-arch, .ax-person.is-lead .ax-arch { width: 130px; height: 130px; aspect-ratio: 1; margin: 0 0 22px; border-radius: 50%; }
.ax-arch::before { display: none; }
.ax-arch img { border-radius: 50% !important; filter: none; box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--ax-line); }
.ax-person h3, .ax-person.is-lead h3 { color: var(--ax-ink); font: 600 17px/1.35 var(--ax-font); letter-spacing: .06em; text-transform: uppercase; }
.ax-person.is-lead .ax-person-body, .ax-person-body { align-items: center; }
.ax-role, .ax-person.is-lead .ax-role { display: block; margin: 2px 0 0; }
.ax-role span, .ax-person.is-lead .ax-role span { display: block; padding: 0; margin: 2px 0; border: 0; border-radius: 0; background: none; color: var(--ax-body); font: italic 500 14px/1.55 var(--ax-font); letter-spacing: .03em; }
.ax-bio, .ax-person.is-lead .ax-bio { margin: 10px 0 4px; max-width: none; color: var(--ax-body); font-size: 14px; line-height: 1.7; }
.ax-person-links a, .ax-person.is-lead .ax-person-links a { background: transparent; border: 0; color: var(--ax-ink) !important; width: 34px; height: 34px; }
.ax-person-links a:hover { background: var(--ax-tint); color: var(--ax-orange) !important; transform: translateY(-2px); }

/* ---------- contact: reference layout in brand colours ---------- */
.ax-contact2 { padding: 38px 0 20px !important; }
.ax-banner { position: relative; overflow: hidden; padding: 54px 24px 56px; border-radius: 24px; text-align: center; color: #fff; background: var(--ax-btn); }
.ax-banner::before, .ax-banner::after { content: ''; position: absolute; width: 190px; height: 190px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 14px, rgba(255, 255, 255, .22) 14px 18px); pointer-events: none; }
.ax-banner::before { left: -60px; bottom: -70px; } .ax-banner::after { right: -50px; top: -70px; }
.ax-bannertag { position: relative; display: inline-block; padding: 9px 22px; border-radius: var(--ax-pill); background: #fff; color: var(--ax-orange); font: 600 13px/1 var(--ax-font); letter-spacing: .06em; }
.ax-bannertitle { position: relative; margin: 18px 0 0 !important; color: #fff !important; font: 700 clamp(32px, 4.4vw, 52px)/1.1 var(--ax-display) !important; letter-spacing: -.02em; }
.ax-c2grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 26px; margin-top: 30px; align-items: start; }
.ax-card2 { padding: 32px 30px; border: 1px solid var(--ax-line); border-radius: 22px; background: #fff; box-shadow: 0 20px 40px -34px rgba(11, 18, 32, .4); }
.ax-card2 h2 { margin: 0 0 8px; font: 700 clamp(26px, 3vw, 34px)/1.15 var(--ax-display); }
.ax-lead { margin: 0 0 22px; padding-bottom: 20px; border-bottom: 1px solid var(--ax-line); color: var(--ax-body); font-size: 16px; }
.ax-c2side { display: flex; flex-direction: column; gap: 22px; }
.ax-c2img { display: grid; place-items: center; min-height: 270px; padding: 24px; border-radius: 22px; background: repeating-radial-gradient(circle at 50% 100%, transparent 0 40px, rgba(249, 165, 24, .18) 40px 44px), var(--ax-tint-b); overflow: hidden; }
.ax-c2img img { max-width: 100%; max-height: 260px; width: auto; border-radius: 0 !important; }
.ax-qlist { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-direction: column; gap: 20px; }
.ax-qlist li { display: flex; gap: 16px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ax-qlist b { display: block; margin-bottom: 4px; color: var(--ax-ink); font: 700 16px/1.3 var(--ax-display); }
.ax-qlist a, .ax-qlist span { display: block; color: var(--ax-body); font-size: 14.5px; line-height: 1.6; }
.ax-sq, .ax-ico { flex: none; }
.ax-sq { width: 46px; height: 46px; border: 1px solid var(--ax-line); border-radius: 12px; background-color: #fff; background-position: center; background-repeat: no-repeat; background-size: 22px; }
.ax-ico { display: inline-block; width: 16px; height: 16px; background: var(--ax-orange); -webkit-mask: var(--m) center/contain no-repeat; mask: var(--m) center/contain no-repeat; }
.ax-ico-mail { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='5' width='18' height='14' rx='3' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='m4 8 8 6 8-6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ax-ico-tel { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 4h4l2 5-2.500 1.500a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.ax-ico-pin { --m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s7-6.200 7-11a7 7 0 1 0-14 0c0 4.800 7 11 7 11Z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2.500' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E"); }
.ax-sq.ax-ico-mail, .ax-sq.ax-ico-tel, .ax-sq.ax-ico-pin { background: #fff; -webkit-mask: none; mask: none; position: relative; }
.ax-sq::after { content: ''; position: absolute; inset: 12px; background: var(--ax-orange); -webkit-mask: var(--m) center/contain no-repeat; mask: var(--m) center/contain no-repeat; }
.ax-eu { display: inline-flex; align-items: center; gap: 10px; margin-top: 22px; padding: 12px 20px; background: var(--ax-tint); border: 1px solid var(--ax-line); color: var(--ax-ink) !important; font: 600 14px/1 var(--ax-font); }
.ax-eu:hover { color: var(--ax-orange) !important; border-color: var(--ax-orange); }
.ax-check { display: flex; align-items: flex-start; gap: 12px; padding: 4px 0; color: var(--ax-ink); font: 500 14.5px/1.5 var(--ax-font); cursor: pointer; }
.ax-check input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--ax-orange); }
.ax-check i { color: var(--ax-red); font-style: normal; } .ax-check.is-bad { color: var(--ax-red); }
.ax-note { margin: 0; color: var(--ax-body); font-size: 13px; }
.ax-extra-fields[hidden] { display: none; }
.ax-svclist-h { display: block; margin-bottom: 16px; color: var(--ax-ink); font: 700 20px/1.2 var(--ax-display); }
.ax-svclist > div { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ax-svclist a { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 13px 18px; border: 1px solid var(--ax-line); border-radius: var(--ax-pill); background: #fff; color: var(--ax-ink); font: 600 14px/1.2 var(--ax-font); transition: .2s; }
.ax-svclist a:hover { border-color: var(--ax-orange); background: var(--ax-tint); } .ax-svclist a .ax-go { width: 14px; height: 14px; opacity: 1; transform: none; color: var(--ax-orange); }
.ax-offices { padding: 50px 0 70px !important; }
.ax-ofilter { justify-content: center; margin: 0 0 30px; }
.ax-flag-s { width: 20px !important; height: 20px; border-radius: 50%; background-size: cover; }
.ax-offgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 18px; }
.ax-office { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid var(--ax-line); border-radius: 22px; background: #fff; box-shadow: 0 18px 36px -32px rgba(11, 18, 32, .45); transition: transform .3s, border-color .3s, box-shadow .3s; }
.ax-office[hidden] { display: none; }
.ax-office:hover { transform: translateY(-5px); border-color: var(--ax-orange); box-shadow: 0 24px 40px -30px rgba(232, 130, 12, .5); }
.ax-office header { display: flex; align-items: center; gap: 14px; }
.ax-flag { flex: none; width: 46px !important; height: 46px; border-radius: 50%; background-size: cover; box-shadow: 0 0 0 3px #fff, 0 0 0 4px var(--ax-line); }
.ax-office h3 { margin: 0; font: 700 18px/1.2 var(--ax-display); color: var(--ax-ink); } .ax-office small { color: var(--ax-body); font: 500 13px/1.3 var(--ax-font); }
.ax-oaddr { margin: 0; color: var(--ax-body); font-size: 14.5px; line-height: 1.65; }
.ax-orows { display: flex; flex-direction: column; gap: 8px; }
.ax-orow { display: flex; align-items: center; gap: 10px; color: var(--ax-ink); font: 600 14px/1.4 var(--ax-font); word-break: break-word; }
.ax-omap { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: auto; padding: 10px 18px; border: 1px solid var(--ax-line); color: var(--ax-orange) !important; font: 600 13px/1 var(--ax-font); transition: .2s; }
.ax-omap:hover { background: var(--ax-tint); border-color: var(--ax-orange); }
@media (max-width: 900px) { .ax-c2grid { grid-template-columns: 1fr; } .ax-svclist > div { grid-template-columns: 1fr; } .ax-card2 { padding: 26px 22px; } }
.ax-card2 h2 { text-align: left; }
.ax-grid2 > :only-child { grid-column: 1 / -1; }
.ax-chipf { margin: 0; }
@media (max-width: 700px) { .ax-ofilter { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; margin-left: -4px; padding: 4px; scrollbar-width: none; } .ax-ofilter::-webkit-scrollbar { display: none; } .ax-ofilter .ax-chipf { flex: none; } }
.ax-skip { background: #fff !important; color: var(--ax-ink) !important; border: 1px solid var(--ax-line); }

/* ---- v15: slimmer hero banners, map slide ---- */
html.ax-on #Subheader { min-height: clamp(210px, 20vw, 290px); padding: 84px 0 40px !important; }
@media (max-width: 767px) { html.ax-on #Subheader { min-height: 190px; padding: 70px 0 26px !important; } }
@media (min-width: 1600px) { html.ax-on #Subheader { min-height: 320px; } }
.ax-slide-map { background-color: #f2f2f2; background-size: contain; background-repeat: no-repeat; background-position: center; min-height: 600px; }
@media (max-width: 900px) { .ax-slide-map { min-height: 0 !important; aspect-ratio: 2000 / 729; } }

/* ---- v16: slim, aligned header button + simple "direction" links ---- */
.ax-tools { align-items: center; height: 100%; gap: 10px; }
.ax-tools > * { margin: 0 !important; }
.ax-cta { height: 36px; padding: 0 18px !important; gap: 8px; font: 600 12px/1 var(--ax-font); letter-spacing: .1em; text-transform: uppercase; box-shadow: 0 8px 18px -10px rgba(238, 64, 60, .6) !important; }
.ax-cta i { width: 14px; height: 14px; }
.ax-burger { width: 40px; height: 40px; margin: 0 !important; }
.ax-burger b { left: 10px; right: 10px; } .ax-burger b:nth-child(1) { top: 13px; } .ax-burger b:nth-child(2) { top: 19px; } .ax-burger b:nth-child(3) { top: 25px; }
.ax-m-foot .ax-cta { height: 40px; }
.ax-omap { gap: 8px; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--ax-orange) !important; font: 600 12.5px/1 var(--ax-font); letter-spacing: .1em; text-transform: uppercase; }
.ax-omap:hover { background: none !important; color: var(--ax-ink) !important; }
.ax-omap .ax-go { width: 15px; height: 15px; opacity: 1; transform: none; transition: transform .25s; }
.ax-omap:hover .ax-go { transform: translateX(4px); }
.ax-omap .ax-go, .ax-omap:hover .ax-go { color: var(--ax-orange) !important; }

/* ---- v17: enquiry call-to-action band (matches the home "We would love to hear from you" strip) ---- */
.ax-enqband { padding: 72px 0 !important; margin-top: 36px; color: #fff;
  background: linear-gradient(90deg, rgba(240, 84, 84, .96) 0%, rgba(246, 168, 64, .92) 40%, rgba(244, 198, 104, .9) 100%), url(../images/header-bg-1.webp) center / cover no-repeat; }
.ax-enqband-in { max-width: 1040px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; justify-content: space-between; gap: 32px; }
.ax-enqband h2 { margin: 0 0 8px !important; color: #fff !important; font: 700 clamp(24px, 3vw, 32px)/1.15 var(--ax-display) !important; }
.ax-enqband p { margin: 0; max-width: 560px; color: #fff; font-size: 17px; line-height: 1.6; }
.ax-enqband .ax-btn { flex: none; box-shadow: 0 14px 28px -12px rgba(150, 40, 20, .55) !important; }
@media (max-width: 760px) { .ax-enqband { padding: 48px 0 !important; } .ax-enqband-in { flex-direction: column; align-items: flex-start; } }
.ax-btn.ax-btn-primary, .ax-btn.ax-btn-primary i { color: #fff !important; }
.ax-enqband h2, .ax-enqband p { text-align: left; }
/* bento captions sit on a white panel: keep every line dark, also on hover */
.ax-b .ax-b-txt b { color: var(--ax-ink) !important; }
.ax-b .ax-b-txt small, .ax-b:hover .ax-b-txt small { color: var(--ax-body) !important; }
.ax-b:hover .ax-b-txt b { color: var(--ax-orange) !important; }

/* certificates: search + filters on one aligned row */
.ax-docbar { display: flex; flex-wrap: nowrap; align-items: center; gap: 14px; margin-bottom: 28px; }
.ax-docbar .ax-search { flex: 0 1 300px; min-width: 200px; margin: 0; }
.ax-docbar .ax-search input { height: 46px; margin: 0; }
.ax-docbar .ax-chipfs { display: flex; flex: 1 1 auto; flex-wrap: nowrap; align-items: center; gap: 8px; margin: 0; overflow-x: auto; scrollbar-width: none; }
.ax-docbar .ax-chipfs::-webkit-scrollbar { display: none; }
.ax-docbar .ax-chipf { flex: none; height: 46px; margin: 0; padding: 0 16px; white-space: nowrap; }
@media (max-width: 760px) { .ax-docbar { flex-direction: column; align-items: stretch; } .ax-docbar .ax-search { flex: none; } }
/* tabs: no underline, no glow under the active pill, anywhere */
body .ui-tabs .ui-tabs-nav li::after, body .ui-tabs .ui-tabs-nav li:after, body .ui-tabs .ui-tabs-nav li.ui-state-active::after, body .ui-tabs .ui-tabs-nav li.ui-state-active:after { display: none !important; content: none !important; }
body .ui-tabs .ui-tabs-nav li.ui-state-active a, body .ui-tabs .ui-tabs-nav li.ui-state-hover a { box-shadow: none !important; }
body .ui-tabs .ui-tabs-nav li.ui-state-active.ui-state-hover a, body .ui-tabs .ui-tabs-nav li.ui-state-active a, body .ui-tabs .ui-tabs-nav li.ui-state-hover a, body .ui-tabs .ui-tabs-nav li a { box-shadow: none !important; }
/* logo tiles never exceed their card */
.ax-colo, .ax-cobig, .ax-cotile, .ax-famcard-in { box-sizing: border-box; }
.ax-cobig .ax-colo { width: 100%; max-width: 100%; }
.ax-cobig .ax-colo img { max-width: 100%; max-height: 100%; }

/* ---- related-websites strip under the banner ---- */
.ax-relbar { background: var(--ax-tint-b); border-bottom: 1px solid var(--ax-line); }
.ax-relbar-in { max-width: 1220px; margin: 0 auto; padding: 14px 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.ax-relbar-l { margin-right: 6px; color: var(--ax-orange); font: 600 12px/1 var(--ax-font); letter-spacing: .14em; text-transform: uppercase; }
.ax-relchip { display: inline-flex; align-items: center; gap: 10px; padding: 6px 16px 6px 6px; border: 1px solid var(--ax-line); border-radius: 999px; background: #fff; color: var(--ax-ink) !important; text-decoration: none; transition: border-color .2s, box-shadow .2s, transform .2s; }
.ax-relchip:hover { border-color: var(--ax-orange); box-shadow: 0 12px 22px -16px rgba(232, 130, 12, .7); transform: translateY(-2px); }
.ax-relchip:hover b { color: var(--ax-orange); }
.ax-relchip b { font: 600 13.5px/1.2 var(--ax-font); transition: color .2s; }
.ax-relchip .ax-ext { width: 13px; height: 13px; color: var(--ax-orange); }
.ax-relchip-logo { display: grid; place-items: center; flex: none; width: 52px; height: 32px; padding: 3px 6px; border-radius: 999px; background: var(--ax-mist); overflow: hidden; box-sizing: border-box; }
.ax-relchip-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; border-radius: 0 !important; object-fit: contain; }
.ax-relchip-mono { background: var(--ax-tint); color: var(--ax-orange); font: 600 12px/1 var(--ax-font); }
@media (max-width: 600px) { .ax-relbar-in { padding: 12px 16px; } .ax-relchip b { font-size: 12.5px; } }

/* ================= typography system =================
   Headings: Plus Jakarta Sans 700 | Body: Inter 400 | Buttons: Inter 600 | Navigation: Inter 500 */
body { font-family: var(--ax-font); font-weight: 400; }
body h1, body h2, body h3, body h4, body h5, body h6, .ax-hero-title, .ax-slide-title, .ax-bannertitle { font-family: var(--ax-display); font-weight: 700; }
body p, body li, body td, body th, body label, body small, body span { font-weight: inherit; }
body, body p, body li, body a, body td, body th, body label, body input, body textarea, body select, body button, body summary { font-family: var(--ax-font); }
body h1, body h2, body h3, body h4, body h5, body h6 { font-family: var(--ax-display); }
.ax-nav > .ax-item, .ax-m-link, .ax-m-head, .ax-lang, .ax-rail-all { font-family: var(--ax-font); font-weight: 500; }
.ax-m-head, .ax-m-link { font-family: var(--ax-display); font-weight: 700; }
.ax-cta, .ax-btn, .ax-submit, .ax-famgo, .ax-cobig-go, .ax-doc-go, .ax-aside-cta, .ax-omap, .ax-eu, .ax-chipf, .ax-cotab b, .ax-jump a, .ax-extra a, .ax-fam-foot a, .ax-relchip b,
#Content a.button, #Content a.button .button_label, #Content .button_js, input[type=submit], input[type=button], button[type=submit], .btn-primary, .btn-secondary { font-family: var(--ax-font) !important; font-weight: 600 !important; }
strong, b { font-weight: 600; }
#Content h1, #Content h2, #Content h3, #Content h4, #Content h5, #Content h6, #Footer h4, .ax-aside h3, .ax-copanel-side h3 { font-weight: 700 !important; }

/* brand logos sit on plain white: no grey tile behind them */
.ax-colo:not(.ax-mono), .ax-famcard .ax-colo:not(.ax-mono), .ax-cobig .ax-colo:not(.ax-mono), .ax-cotile .ax-colo:not(.ax-mono), .ax-co .ax-colo:not(.ax-mono), .ax-trusts .ax-colo:not(.ax-mono) { background: transparent !important; border: 0 !important; box-shadow: none; }
.ax-relchip-logo:not(.ax-relchip-mono) { background: transparent; }

/* related-website chips: logos shown whole, never clipped by the pill */
.ax-relchip { padding: 8px 18px 8px 14px; gap: 14px; }
.ax-relchip-logo:not(.ax-relchip-mono) { width: auto; height: 42px; min-width: 42px; max-width: 120px; padding: 0; border-radius: 0; overflow: visible; background: transparent; }
.ax-relchip-logo:not(.ax-relchip-mono) img { height: 100%; width: auto; max-width: 120px; object-fit: contain; }
.ax-relchip-mono { width: 42px; height: 42px; border-radius: 50%; }
.ax-relchip b { font-size: 14px; }
.ax-relchip-logo:not(.ax-relchip-mono) { display: flex; align-items: center; justify-content: center; }
.ax-relchip-logo:not(.ax-relchip-mono) img { display: block; height: 42px; width: auto; max-width: 120px; object-fit: contain; }

/* related-website chips: compact size */
.ax-relbar-in { padding: 10px 24px; gap: 8px 10px; }
.ax-relchip { padding: 4px 14px 4px 10px; gap: 9px; }
.ax-relchip-logo:not(.ax-relchip-mono) { height: 28px; min-width: 28px; max-width: 80px; }
.ax-relchip-logo:not(.ax-relchip-mono) img { height: 28px; max-width: 80px; }
.ax-relchip-mono { width: 28px; height: 28px; font-size: 10px; }
.ax-relchip b { font-size: 12.5px; }
.ax-relchip .ax-ext { width: 11px; height: 11px; }
.ax-relbar-l { font-size: 11px; }

/* ---- service pages: opening block (text + photo) ---- */
.ax-svcintro { padding: 60px 0 24px !important; }
.ax-svcintro > .section_wrapper { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 56px; align-items: start; }
.ax-svcintro > .section_wrapper > .wrap { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.ax-svcintro .ax-svcintro-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.ax-svcintro .ax-svcintro-eyebrow::before { content: ''; width: 28px; height: 2px; background: var(--ax-orange); }
.ax-svcintro .column_attr p { margin: 0 0 18px; color: var(--ax-body); font-size: 16.5px; line-height: 1.85; }
.ax-svcintro .column_attr p:first-of-type { color: var(--ax-ink); font-size: 19px; line-height: 1.75; font-weight: 500; }
.ax-svcintro .column_attr strong, .ax-svcintro .column_attr b { color: var(--ax-ink); font-weight: 600; }
.ax-svcintro .column_attr p a { color: var(--ax-orange); font-weight: 600; }
.ax-svcintro > .section_wrapper > .wrap:has(img) { position: sticky; top: 110px; }
.ax-svcintro .wrap:has(img) .mcb-wrap-inner { position: relative; }
.ax-svcintro .wrap:has(img) .mcb-wrap-inner::before { content: ''; position: absolute; z-index: 0; inset: 26px -18px -18px 26px; border-radius: 34px; background: var(--ax-tint); border: 1px solid var(--ax-line); }
.ax-svcintro .wrap:has(img) .column { position: relative; z-index: 1; }
.ax-svcintro .wrap:has(img) img { display: block; width: 100%; height: auto; border-radius: 28px !important; box-shadow: 0 30px 50px -34px rgba(11, 18, 32, .55); }
.ax-svcintro .wrap:has(img) .image_frame, .ax-svcintro .wrap:has(img) .image_wrapper { border-radius: 28px; overflow: visible; }
.ax-facts { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 22px; }
.ax-facts div { display: flex; flex-direction: column; gap: 4px; padding: 14px 12px; border: 1px solid var(--ax-line); border-radius: 18px; background: #fff; text-align: center; box-shadow: 0 16px 28px -24px rgba(11, 18, 32, .5); }
.ax-facts b { color: var(--ax-orange); font: 700 18px/1.1 var(--ax-display); }
.ax-facts span { color: var(--ax-body); font: 500 11.5px/1.2 var(--ax-font); letter-spacing: .08em; text-transform: uppercase; }
@media (max-width: 960px) { .ax-svcintro > .section_wrapper { grid-template-columns: 1fr; gap: 34px; } .ax-svcintro > .section_wrapper > .wrap:has(img) { position: static; margin-right: 18px !important; } }
.ax-svcintro .wrap:has(img) .mcb-wrap-inner, .ax-svcintro .wrap:has(img) .column { display: block; float: none; width: 100%; margin: 0; }
#Content .ax-svcintro .column_attr p a { color: var(--ax-orange); font-weight: 600; } #Content .ax-svcintro .column_attr p a:hover { color: var(--ax-ink); }

/* related-website chips: extra compact */
.ax-relbar-in { padding: 8px 24px; gap: 6px 8px; }
.ax-relchip { padding: 2px 11px 2px 7px; gap: 7px; }
.ax-relchip-logo:not(.ax-relchip-mono) { height: 22px; min-width: 22px; max-width: 62px; }
.ax-relchip-logo:not(.ax-relchip-mono) img { height: 22px; max-width: 62px; }
.ax-relchip-mono { width: 22px; height: 22px; font-size: 8.5px; }
.ax-relchip b { font-size: 11.5px; }
.ax-relchip .ax-ext { width: 10px; height: 10px; }
.ax-relbar-l { margin-right: 4px; font-size: 10.5px; }

html { scroll-padding-top: 110px; }
[id] { scroll-margin-top: 110px; }


/* ---- Companies drawer: Europe + Chairman as small pills pinned to the bottom of the drawer ---- */
.ax-d-divisions .ax-panels { display: flex; flex-direction: column; }
.ax-fam-strip { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; grid-template-columns: none; margin-top: auto; padding-top: 14px; border-top: 1px dashed var(--ax-line); }
.ax-panels .ax-panel { margin-bottom: 14px; }
.ax-fam-strip a { position: relative; display: inline-flex; flex-direction: row; align-items: center; gap: 6px; padding: 3px 12px; border-radius: 999px; background: var(--ax-tint); border: 1px solid var(--ax-line); color: var(--ax-ink) !important; overflow: visible; font: 500 11.5px/1.6 var(--ax-font); }
.ax-fam-strip a::before { display: none; }
.ax-fam-strip b { font: 600 11.5px/1.6 var(--ax-font); }
.ax-fam-strip span { font: 500 11px/1.6 var(--ax-font); color: var(--ax-body); }
.ax-fam-strip .ax-ext { position: static; width: 10px; height: 10px; margin: 0; color: var(--ax-orange); }
.ax-fam-strip a:hover { border-color: var(--ax-orange); color: var(--ax-orange) !important; }
.ax-fam-strip a:hover span { color: var(--ax-orange); }
/* Companies drawer: Europe + Chairman pills aligned to the right */
.ax-d-divisions .ax-fam-strip { justify-content: flex-end; }
@media (max-width: 1100px) { .ax-m-inner .ax-fam-strip { justify-content: flex-start; } }
/* Companies drawer bottom row: ASMACS logo on the left, pills on the right */
.ax-d-divisions .ax-fam-strip.has-logo { justify-content: space-between; }
.ax-fam-strip .ax-fam-logo { display: inline-flex; align-items: center; padding: 0; border: 0; border-radius: 0; background: none; }
.ax-fam-strip .ax-fam-logo:hover { border: 0; }
.ax-fam-strip .ax-fam-logo img { display: block; height: 30px; width: auto; border-radius: 0 !important; }
.ax-fam-pills { display: inline-flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }

/* ---- /asmacs-group-of-companies.html ---- */
.ax-allco-facts { list-style: none !important; margin: 0 auto 50px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 860px; }
.ax-allco-facts li { margin: 0 !important; padding: 20px 16px !important; list-style: none !important; border: 1px solid var(--ax-line); border-radius: 22px; background: var(--ax-tint); text-align: center; display: flex; flex-direction: column; gap: 4px; }
.ax-allco-facts b { color: var(--ax-orange); font: 700 30px/1 var(--ax-display); }
.ax-allco-facts span { color: var(--ax-body); font: 500 12px/1.2 var(--ax-font); letter-spacing: .1em; text-transform: uppercase; }
.ax-allco-group { margin: 0 0 46px; }
.ax-allco-group > header { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 20px; }
.ax-allco-group > header em { flex: none; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--ax-btn); color: #fff; font: 700 15px/1 var(--ax-display); font-style: normal; }
.ax-allco-group h2 { margin: 0 0 4px !important; font: 700 clamp(22px, 2.6vw, 28px)/1.2 var(--ax-display) !important; text-align: left; }
.ax-allco-group header p { margin: 0; color: var(--ax-body); font-size: 15.5px; text-align: left; }
.ax-allco-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 18px; }
.ax-allco-bottom { grid-template-columns: 1fr 1fr; margin-top: 10px; }
@media (max-width: 760px) { .ax-allco-facts { grid-template-columns: 1fr 1fr; } .ax-allco-bottom { grid-template-columns: 1fr; } }

/* easier on the eyes: no blur on reveal, softer movement */
.ax-rv { filter: none !important; opacity: 0; transform: translateY(16px); transition: opacity .7s ease var(--rv-d, 0ms), transform .7s cubic-bezier(.2, .8, .2, 1) var(--rv-d, 0ms); }
.ax-rv.is-in { opacity: 1; transform: none; transition: opacity .7s ease var(--rv-d, 0ms), transform .35s, box-shadow .35s, border-color .3s, background .3s; }

/* ---- careers ---- */
.ax-btn-sm { padding: 10px 20px !important; font-size: 13.5px !important; }
.ax-careers-why { padding-bottom: 20px !important; }
.ax-why-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 18px; }
.ax-why { padding: 28px 24px; border: 1px solid var(--ax-line); border-radius: 24px; background: #fff; box-shadow: 0 20px 38px -32px rgba(11, 18, 32, .5); transition: transform .3s, border-color .3s; }
.ax-why:hover { transform: translateY(-5px); border-color: var(--ax-orange); }
.ax-why em { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border-radius: 50%; background: var(--ax-btn); color: #fff; font: 700 15px/1 var(--ax-display); font-style: normal; }
.ax-why h3 { margin: 0 0 8px; font-size: 19px; text-align: left; }
.ax-why p { margin: 0; color: var(--ax-body); font-size: 15px; line-height: 1.7; }
.ax-openings { padding: 40px 0 60px !important; background: var(--ax-tint-b); border-top: 1px solid var(--ax-line); border-bottom: 1px solid var(--ax-line); }
.ax-jobfilter { display: grid; grid-template-columns: 1fr 1.4fr auto; gap: 14px; align-items: end; max-width: 880px; margin: 0 auto 30px; padding: 18px; border: 1px solid var(--ax-line); border-radius: 22px; background: #fff; box-shadow: 0 20px 38px -32px rgba(11, 18, 32, .45); }
.ax-jobfilter .ax-btn { height: 52px; }
.ax-jobgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 18px; }
.ax-job { display: flex; flex-direction: column; gap: 14px; padding: 24px; border: 1px solid var(--ax-line); border-radius: 24px; background: #fff; box-shadow: 0 20px 38px -32px rgba(11, 18, 32, .5); transition: transform .3s, border-color .3s, box-shadow .3s; }
.ax-job:hover { transform: translateY(-5px); border-color: var(--ax-orange); box-shadow: 0 26px 44px -30px rgba(232, 130, 12, .55); }
.ax-job header { display: flex; flex-direction: column; gap: 4px; }
.ax-job h3 { margin: 0; color: var(--ax-ink); font: 700 19px/1.3 var(--ax-display); text-align: left; }
.ax-job time { color: var(--ax-body); font: 400 12.5px/1.2 var(--ax-font); }
.ax-job-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ax-job-tags li { margin: 0 !important; padding: 5px 12px !important; list-style: none !important; border: 1px solid var(--ax-line); border-radius: 999px; background: var(--ax-mist); color: var(--ax-ink); font: 500 12.5px/1.4 var(--ax-font); }
.ax-job-tags .ax-tag-loc { background: var(--ax-tint); color: var(--ax-orange); font-weight: 600; }
.ax-job-sum { margin: 0; color: var(--ax-body); font-size: 14.5px; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ax-job footer { margin-top: auto; padding-top: 4px; }
.ax-jobs-empty { grid-column: 1 / -1; padding: 46px 28px; border: 1px dashed var(--ax-line); border-radius: 24px; background: #fff; text-align: center; }
.ax-jobs-empty h3 { margin: 0 0 8px; font-size: 22px; } .ax-jobs-empty p { margin: 0 auto 20px; max-width: 520px; color: var(--ax-body); }
.ax-paging { display: flex; justify-content: center; margin-top: 26px; }
.domainPaging .pagination { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; }
.domainPaging .pagination a, .domainPaging .pagination span { float: none; margin: 0; padding: 8px 14px; border: 1px solid var(--ax-line); border-radius: 999px; background: #fff; color: var(--ax-ink); font: 500 13px/1 var(--ax-font); }
.domainPaging .pagination a:hover { border-color: var(--ax-orange); color: var(--ax-orange); }
.domainPaging .pagination .current { background: var(--ax-btn); border-color: transparent; color: #fff; }
.domainPaging .pagination .current.prev, .domainPaging .pagination .current.next { background: #fff; color: var(--ax-body); border-color: var(--ax-line); }
.ax-cvsec { padding: 60px 0 70px !important; }
.ax-cvcard { display: grid; grid-template-columns: auto 1fr auto; gap: 34px; align-items: center; padding: 44px 48px; border: 1px solid var(--ax-line); border-radius: 32px; background: linear-gradient(120deg, var(--ax-tint), #fff 70%); box-shadow: 0 30px 56px -42px rgba(232, 130, 12, .6); }
.ax-cvicon { width: 84px; height: 84px; border-radius: 26px; background: var(--ax-btn); position: relative; }
.ax-cvicon::after { content: ''; position: absolute; inset: 22px; background: #fff; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l5 5v13H7z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h7l5 5v13H7z' fill='none' stroke='%23000' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M14 3v5h5M10 13h6M10 17h6' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat; }
.ax-cvtext h2 { margin: 6px 0 8px !important; font: 700 clamp(24px, 3vw, 32px)/1.15 var(--ax-display) !important; text-align: left; }
.ax-cvtext p { margin: 0 0 8px; color: var(--ax-ink); font-size: 17px; line-height: 1.6; text-align: left; }
.ax-cvtext .ax-cvhint { color: var(--ax-body); font-size: 14.5px; }
.ax-cvtext a { color: var(--ax-orange); font-weight: 600; }
.ax-cvactions { display: flex; flex-direction: column; align-items: flex-end; gap: 12px; }
.ax-cvmail { color: var(--ax-ink) !important; font: 600 14px/1 var(--ax-font); }
.ax-cvmail:hover { color: var(--ax-orange) !important; }
@media (max-width: 900px) { .ax-cvcard { grid-template-columns: 1fr; padding: 32px 26px; gap: 22px; } .ax-cvactions { align-items: flex-start; } .ax-jobfilter { grid-template-columns: 1fr; } .ax-jobfilter .ax-btn { width: 100%; justify-content: center; } }
@media (max-width: 480px) { .ax-jobgrid { grid-template-columns: 1fr; } }
/* companies drawer: first division button no longer needs the removed heading above it */
.ax-d-divisions .ax-rail:not(:has(.ax-eyebrow)) { padding-top: 20px; }

/* Companies menu: social responsibility under a divider, not a numbered division */
.ax-rail-sep { height: 1px; margin: 10px 14px 12px; background: var(--ax-line); }
.ax-rail-h { display: block; margin: 0 14px 6px; color: var(--ax-orange); font: 600 11px/1 var(--ax-font); letter-spacing: .14em; text-transform: uppercase; }
.ax-rail-trust { display: flex; align-items: center; gap: 10px; padding: 6px 14px; border-radius: 999px; color: var(--ax-ink) !important; text-decoration: none; transition: background .2s, color .2s; }
.ax-rail-trust b { flex: 1; font: 500 13px/1.3 var(--ax-font); }
.ax-rail-trust .ax-ext { width: 11px; height: 11px; color: var(--ax-orange); }
.ax-rail-trust:hover { background: #fff; color: var(--ax-orange) !important; }
.ax-rail-tl { display: grid; place-items: center; flex: none; width: 34px; height: 22px; overflow: hidden; }
.ax-rail-tl img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; border-radius: 0 !important; }
.ax-rail-tm { border-radius: 50%; width: 22px; background: var(--ax-tint); color: var(--ax-orange); font: 600 10px/1 var(--ax-font); }
.ax-m-sep { height: 1px; margin: 14px 4px 4px; background: var(--ax-line); }
.ax-m-sub-plain { color: var(--ax-orange); }
.ax-m-trusts { display: flex; flex-direction: column; gap: 4px; }
.ax-m-trusts .ax-rail-trust { padding: 10px 12px; border: 1px solid var(--ax-line); border-radius: 14px; background: #fff; }
/* keep the Companies menu compact with the extra section */
#ax-d-companies .ax-rail { gap: 2px; padding: 18px 16px 16px; }
#ax-d-companies .ax-div { padding: 9px 14px; }
#ax-d-companies .ax-rail-trust { padding: 4px 14px; }
#ax-d-companies .ax-rail-sep { margin: 8px 14px 10px; }
#ax-d-companies .ax-rail-all { margin-top: 6px; padding: 8px 14px; }

/* Social responsibility: a plain (un-numbered) entry under the divider; its panel shows all three trusts */
#ax-d-companies .ax-div-plain { padding-left: 18px; }
#ax-d-companies .ax-div-plain b { font-weight: 600; }
#ax-d-companies .ax-rail-sep { margin: 8px 14px; }

/* team portraits: fill the round frame whatever the photo's proportions */
.ax-arch img { width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: top center; }

/* hero: picture-only slides show the whole artwork (text is baked into the images) */
.ax-slide-full:not(:has(.ax-slide-in)) { background-size: contain !important; background-repeat: no-repeat; background-position: center; background-color: #f4f6fb; }
.ax-slide-full:has(.ax-slide-in) { background-size: cover; }

/* consent checkboxes: compact text */
.ax-check { gap: 10px; padding: 2px 0; font: 400 12.5px/1.5 var(--ax-font); color: var(--ax-body); }
.ax-check input { width: 16px; height: 16px; margin-top: 2px; }
.ax-check a, .ax-note a { color: var(--ax-orange) !important; text-decoration: none !important; font-weight: 500; }
.ax-check a:hover, .ax-note a:hover { text-decoration: underline !important; }
.ax-note { font-size: 12.5px; line-height: 1.5; }

/* footer: policy links next to the copyright */
.ax-legal-links { display: inline-flex; gap: 18px; margin-left: 18px; }
.ax-legal-links a { color: inherit !important; opacity: .85; text-decoration: none !important; }
.ax-legal-links a:hover { opacity: 1; color: var(--ax-orange) !important; }

/* privacy / cookie policy pages */
.ax-legal-head { max-width: 860px; margin: 0 auto 34px; }
.ax-legal-toc { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.ax-legal-toc a { padding: 9px 14px; border-radius: 999px; background: var(--ax-tint, #fff5e6); border: 1px solid #f7e0bf; color: var(--ax-ink) !important; font: 500 13px/1 var(--ax-font); text-decoration: none !important; transition: background .2s, color .2s; }
.ax-legal-toc a:hover { background: var(--ax-btn); color: #fff !important; border-color: transparent; }
.ax-legal-body { max-width: 860px; margin: 0 auto; }
.ax-legal-sec { padding: 28px 0; border-top: 1px solid var(--ax-line); scroll-margin-top: 110px; }
.ax-legal-sec:first-child { border-top: 0; }
.ax-legal-sec h2 { display: flex; align-items: center; gap: 14px; margin: 0 0 14px !important; font: 700 clamp(20px, 2.4vw, 26px)/1.25 var(--ax-display) !important; letter-spacing: -.02em; text-align: left !important; }
.ax-legal-sec h2 em { flex: none; display: inline-flex; align-items: center; justify-content: center; min-width: 38px; height: 38px; border-radius: 12px; background: var(--ax-tint, #fff5e6); color: var(--ax-orange); font: 700 14px/1 var(--ax-display); font-style: normal; }
.ax-legal-sec h2::after { display: none !important; }
.ax-legal-sec p, .ax-legal-sec li { font-size: 16px; line-height: 1.75; color: var(--ax-body); }
.ax-legal-sec ul { margin: 0 0 14px; padding-left: 22px; }
.ax-legal-sec li { margin-bottom: 8px; }
.ax-legal-sec a, .ax-legal-other a { color: var(--ax-orange) !important; text-decoration: none !important; font-weight: 500; }
.ax-legal-sec a:hover, .ax-legal-other a:hover { text-decoration: underline !important; }
.ax-legal-other { margin-top: 18px; padding-top: 22px; border-top: 1px solid var(--ax-line); color: var(--ax-body); }
.ax-legal-table { overflow-x: auto; margin: 6px 0 16px; border: 1px solid var(--ax-line); border-radius: 16px; }
.ax-legal-table table { width: 100%; border-collapse: collapse; margin: 0; }
.ax-legal-table th, .ax-legal-table td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ax-line); font-size: 14.5px; line-height: 1.6; color: var(--ax-body); }
.ax-legal-table th { background: var(--ax-tint-b, #f0f5ff); color: var(--ax-ink); font-weight: 600; }
.ax-legal-table tr:last-child td { border-bottom: 0; }
.ax-legal-table td:first-child { color: var(--ax-ink); font-weight: 600; white-space: nowrap; }
@media (max-width: 640px) { .ax-legal-table td:first-child { white-space: normal; } .ax-legal-links { display: flex; margin: 8px 0 0; } }

/* one size for every section heading (same as "Everything your project needs, under one roof.") */
.ax-sec-head h2, #Content .ax-sec-head h2, .ax-pg-head h2, #Content .ax-pg-head h2, .mx-head h2, .ax-about-head h2, .ax-intro h1, #Content .ax-intro h1 {
  font-size: clamp(26px, 3.2vw, 38px) !important; font-weight: 700 !important; line-height: 1.12 !important; letter-spacing: -.025em !important;
}

/* testimonials: flat cards and arrows, no shadows */
.ax-tcard, .ax-tcard:hover, .ax-testi-wrap .swiper-button-prev, .ax-testi-wrap .swiper-button-next { box-shadow: none !important; filter: none !important; }
.ax-tcard { transform: none !important; }

/* companies section (home + all-companies page): flat, no shadows */
.ax-cohome *, .ax-cohome *:hover, .ax-cohome *:focus, .ax-allco *, .ax-allco *:hover,
.ax-cogroup, .ax-cotile, .ax-cotile:hover, .ax-cotab, .ax-cotab.is-on, .ax-copanel, .ax-cobig, .ax-cobig:hover, .ax-cobig-go, .ax-colo { box-shadow: none !important; filter: none; }
.ax-cotile:hover, .ax-cobig:hover { transform: none !important; }

/* testimonial arrows sit outside the cards so they never cover the card border */
.ax-testi-wrap { padding: 0 66px; }
.ax-testi-wrap .swiper-button-prev { left: 0; }
.ax-testi-wrap .swiper-button-next { right: 0; }
.ax-testi-wrap .ax-testi { margin: 0; padding-left: 4px; padding-right: 4px; }
@media (max-width: 1000px) { .ax-testi-wrap { padding: 0 58px; } }
@media (max-width: 760px) { .ax-testi-wrap { padding: 0; } }
