/* AxiLayer AI site navigation: drop-down mega-menus (pairs with /site-nav.js) */
.sn-nav, .sn-nav * { box-sizing: border-box; }
.sn-nav { --sn-navy: var(--navy, #0D1B3E); --sn-gold: var(--gold, #B8882A); --sn-gold-l: var(--gold-light, #D4A84B);
  --sn-h: 64px; font-family: var(--font-body, 'Barlow', system-ui, -apple-system, 'Segoe UI', sans-serif); flex: 1 1 0; min-width: 0; display: flex; justify-content: center; }
.sn-host-std .sn-nav { --sn-h: 56px; flex: 0 1 auto; margin-left: auto; }
.sn-nav nav { max-width: 100%; }
.sn-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; justify-content: center; gap: .1rem; width: max-content; }
.sn-item { list-style: none; margin: 0; padding: 0; display: block; }

/* top-level labels */
.sn-trigger { appearance: none; -webkit-appearance: none; background: none; border: 0; margin: 0; cursor: pointer; font: inherit;
  display: inline-flex; align-items: center; gap: .4rem; height: var(--sn-h); padding: 0 .8rem; font-weight: 500; font-size: .84rem;
  letter-spacing: .04em; white-space: nowrap; color: var(--sn-navy); position: relative; transition: color .18s; }
.sn-trigger::after { content: ''; width: 5px; height: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: translateY(-2px) rotate(45deg); transition: transform .18s; opacity: .7; }
.sn-trigger::before { content: ''; position: absolute; left: .8rem; right: .8rem; bottom: 0; height: 3px; background: var(--sn-gold);
  transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.sn-item.is-open > .sn-trigger::before, .sn-trigger:hover::before, .sn-trigger:focus-visible::before { transform: scaleX(1); }
.sn-item.is-open > .sn-trigger::after { transform: translateY(1px) rotate(225deg); }
.sn-trigger:hover, .sn-item.is-open > .sn-trigger { color: var(--sn-gold); }
.sn-trigger:focus-visible, .sn-link:focus-visible, .sn-card:focus-visible, .sn-more:focus-visible, .sn-cta:focus-visible, .sn-burger:focus-visible, .sn-acc-btn:focus-visible, .sn-acc-link:focus-visible {
  outline: 2px solid var(--sn-gold-l); outline-offset: 2px; }
.sn-dark .sn-trigger { color: rgba(255,255,255,.9); }
.sn-dark .sn-trigger:hover, .sn-dark .sn-item.is-open > .sn-trigger { color: var(--sn-gold-l); }
.sn-dark .sn-trigger::before { background: var(--sn-gold-l); }

/* the one action button */
.sn-ctaitem { margin-left: .5rem; }
.sn-cta { display: inline-flex; align-items: center; padding: .6rem 1.05rem; background: var(--sn-gold); color: #fff !important; text-decoration: none;
  font-family: var(--font-cond, 'Barlow Condensed', 'Barlow', sans-serif); font-weight: 600; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
  border: 1px solid var(--sn-gold); border-radius: 2px; white-space: nowrap; transition: background .18s, border-color .18s; }
.sn-cta:hover { background: var(--sn-gold-l); border-color: var(--sn-gold-l); }

/* panels */
.sn-panel { position: fixed; left: 0; right: 0; top: 64px; z-index: 5; background: #fff; color: var(--sn-navy);
  border-top: 3px solid var(--sn-gold); box-shadow: 0 28px 48px -16px rgba(13,27,62,.3); max-height: calc(100vh - 100px); overflow-y: auto;
  visibility: hidden; opacity: 0; transform: translateY(-6px);
  transition: opacity .16s ease, transform .16s ease, visibility 0s linear .16s; text-align: left; }
.sn-panel::before { content: ''; position: absolute; left: 0; right: 0; top: -30px; height: 30px; }
.sn-item.is-open > .sn-panel { visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.sn-panel-inner { max-width: 1180px; margin: 0 auto; padding: 2.1rem 2.5rem 1.9rem; display: grid; gap: 2.4rem; align-items: start; }
.sn-t-cols { grid-template-columns: minmax(0, 1.15fr) repeat(auto-fit, minmax(0, 1fr)); }
.sn-t-cols:not(:has(.sn-intro)) { grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); max-width: 880px; }
.sn-t-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sn-t-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.2rem; }

.sn-intro-t { font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif); font-weight: 600; font-size: 1.65rem; line-height: 1.15; color: var(--sn-navy); margin-bottom: .6rem; }
.sn-intro p { margin: 0 0 1rem; font-size: .92rem; line-height: 1.55; color: #5b6478; }
.sn-stack { display: grid; gap: 1.5rem; align-content: start; }
.sn-col { min-width: 0; }
.sn-h { font-family: var(--font-cond, 'Barlow Condensed', 'Barlow', sans-serif); font-weight: 600; font-size: .74rem; letter-spacing: .15em; text-transform: uppercase;
  color: var(--sn-gold); padding-bottom: .5rem; margin-bottom: .45rem; border-bottom: 1px solid #e6e9f0; }
.sn-link { display: block; padding: .3rem 0; font-size: .93rem; line-height: 1.35; color: var(--sn-navy); text-decoration: none; transition: color .15s, transform .15s; }
.sn-link:hover { color: var(--sn-gold); transform: translateX(2px); }
.sn-more { display: inline-block; font-weight: 600; font-size: .88rem; color: var(--sn-gold); text-decoration: none; letter-spacing: .02em; }
.sn-more::after { content: ' \2192'; }
.sn-more:hover { color: var(--sn-navy); }
.sn-foot { grid-column: 1 / -1; display: flex; gap: 2rem; flex-wrap: wrap; border-top: 1px solid #e6e9f0; padding-top: 1.05rem; }

.sn-card { display: block; padding: 1.25rem 1.3rem; border: 1px solid #e6e9f0; border-radius: 3px; text-decoration: none; color: var(--sn-navy); background: #fafbfd;
  transition: border-color .16s, box-shadow .16s, transform .16s; }
.sn-card:hover { border-color: var(--sn-gold); box-shadow: 0 10px 24px -14px rgba(13,27,62,.4); transform: translateY(-2px); }
.sn-card-k { display: block; font-family: var(--font-cond, 'Barlow Condensed', 'Barlow', sans-serif); font-weight: 600; font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--sn-gold); margin-bottom: .35rem; }
.sn-card-t { display: block; font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif); font-weight: 600; font-size: 1.35rem; line-height: 1.15; margin-bottom: .4rem; }
.sn-card-d { display: block; font-size: .88rem; line-height: 1.5; color: #5b6478; }

/* modes set by the fit script */
.sn-host.sn-compact .sn-ctaitem { display: none; }
.sn-host.sn-off .sn-nav { display: none; }
.sn-host-spa .sn-nav { display: none; }
@media (min-width: 1100px) { .sn-host-spa .sn-nav { display: flex; } }
.sn-host-spa.sn-off .sn-nav { display: none !important; }
.sn-host-std .topnav { display: none !important; }

/* standalone pages: burger + drawer */
.sn-burger { display: none; appearance: none; -webkit-appearance: none; background: none; border: 1px solid rgba(212,168,75,.5); border-radius: 3px; width: 44px; height: 40px; margin-left: auto;
  cursor: pointer; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 0; }
.sn-burger span { display: block; width: 20px; height: 2px; background: #fff; border-radius: 1px; }
.sn-host.sn-off .sn-burger { display: inline-flex; }
.sn-drawer { position: fixed; left: 0; right: 0; bottom: 0; top: 56px; z-index: 5; background: var(--navy, #0D1B3E); color: #fff; overflow-y: auto;
  padding: .6rem 1.4rem 2.4rem; -webkit-overflow-scrolling: touch; font-family: var(--font-body, 'Barlow', system-ui, sans-serif); }
.sn-drawer[hidden], .sn-acc-body[hidden] { display: none; }
.sn-acc { border-bottom: 1px solid rgba(255,255,255,.14); }
.sn-acc-btn { appearance: none; -webkit-appearance: none; width: 100%; display: flex; align-items: center; justify-content: space-between; background: none; border: 0; color: #fff; cursor: pointer;
  font: 600 1.02rem/1.2 var(--font-body, 'Barlow', sans-serif); padding: 1.05rem 0; text-align: left; }
.sn-acc-btn i { width: 8px; height: 8px; border-right: 2px solid var(--sn-gold-l, #D4A84B); border-bottom: 2px solid var(--sn-gold-l, #D4A84B); transform: rotate(45deg); transition: transform .18s; margin-right: .2rem; }
.sn-acc-btn[aria-expanded="true"] i { transform: rotate(225deg); }
.sn-acc-body { padding: 0 0 1rem; }
.sn-acc-h { font: 600 .72rem/1 var(--font-cond, 'Barlow Condensed', sans-serif); letter-spacing: .15em; text-transform: uppercase; color: var(--sn-gold-l, #D4A84B); margin: 1rem 0 .3rem; }
.sn-acc-link { display: block; padding: .55rem 0 .55rem .6rem; font-size: .97rem; line-height: 1.35; color: rgba(255,255,255,.88); text-decoration: none; }
.sn-acc-link:hover { color: var(--sn-gold-l, #D4A84B); }
.sn-acc-strong { font-weight: 600; color: var(--sn-gold-l, #D4A84B); }
.sn-cta-drawer { display: flex; justify-content: center; margin-top: 1.4rem; padding: .85rem 1rem; font-size: .9rem; }
html.sn-lock { overflow: hidden; }

/* main-site slide-out menu: grouped Industries */
.mobile-dropdown .sn-mgroup { padding: 1.1rem 2rem .25rem 3rem; font-family: var(--font-cond, 'Barlow Condensed', sans-serif); font-weight: 600; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; color: var(--gold, #B8882A); }
.mobile-dropdown a.sn-mall { font-weight: 600; color: var(--gold, #B8882A); }

@media (max-width: 1280px) {
  .sn-trigger { padding: 0 .65rem; font-size: .82rem; }
  .sn-trigger::before { left: .65rem; right: .65rem; }
  .sn-panel-inner { padding-left: 1.6rem; padding-right: 1.6rem; gap: 1.8rem; }
}
@media (prefers-reduced-motion: reduce) {
  .sn-panel, .sn-trigger, .sn-trigger::before, .sn-trigger::after, .sn-link, .sn-card, .sn-acc-btn i { transition: none !important; }
}

/* pages that carry their own old header: a clean shell replaces it once the menu script is running */
.sn-shell { display: none; }
html.sn-shell-on .sn-shell { display: block; position: sticky; top: 0; z-index: 100; background: #0D1B3E; border-bottom: 1px solid rgba(212,168,75,.28); }
html.sn-shell-on nav.nav, html.sn-shell-on nav.topbar, html.sn-shell-on ul.mobile-menu { display: none !important; }
.sn-shell-in { max-width: 1180px; margin: 0 auto; padding: .8rem 2.5rem; display: flex; align-items: center; gap: 1.6rem; flex-wrap: wrap; }
.sn-brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; }
.sn-brand img { width: 34px; height: 34px; border-radius: 50%; display: block; }
.sn-brand-name { font-family: var(--font-display, 'Cormorant Garamond', Georgia, serif); font-weight: 700; font-size: 1.35rem; color: #fff; letter-spacing: .01em; }
.sn-brand-name span { color: #D4A84B; }
@media (max-width: 640px) { .sn-shell-in { padding: .8rem 1.4rem; } }

/* Asia Pacific announcement banner */
#axi-announce{position:fixed;top:0;left:0;right:0;z-index:10001;height:40px;background:#001F4D;color:#fff;display:flex;align-items:center;justify-content:center;gap:.9rem;padding:0 3rem;font-family:var(--font-cond,'Barlow Condensed',sans-serif);font-size:.85rem;letter-spacing:.06em;border-bottom:1px solid rgba(184,134,11,.5)}
#axi-announce a{color:#D4A84B;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}
#axi-announce button{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);background:none;border:0;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;padding:.3rem .5rem}
@media(max-width:560px){#axi-announce{font-size:.72rem;padding:0 2.4rem 0 .8rem;gap:.5rem}#axi-announce span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}}
#axi-announce.axi-inflow{position:relative;z-index:5}
@media(max-width:720px){#axi-announce:not(.axi-inflow){height:64px;flex-wrap:wrap;align-content:center;row-gap:.15rem}}
