/* ServAI navigation + footer UI hardening — 2026-08-16
   Loaded after page CSS so legacy inline rules cannot flatten the new IA. */

/* --- shared header IA --- */
.nav-mega{align-items:center!important;gap:6px!important;overflow:visible!important;}
.nav-group{position:relative!important;display:flex!important;align-items:center!important;}
.nav-trigger,.nav-direct{
  font-family:var(--sans,system-ui,sans-serif)!important;font-size:13px!important;line-height:1.2!important;
  color:var(--ink-dim,#999)!important;background:transparent!important;border:0!important;
  padding:9px 10px!important;border-radius:7px!important;cursor:pointer!important;white-space:nowrap!important;
  text-decoration:none!important;transition:color .2s,background .2s!important;
}
.nav-trigger::after{content:'⌄';font-size:10px;margin-left:5px;color:var(--ink-faint,#666)}
[dir="rtl"] .nav-trigger::after{margin-left:0;margin-right:5px}
.nav-trigger:hover,.nav-trigger:focus-visible,.nav-direct:hover,.nav-direct[aria-current="page"],.nav-group.active>.nav-trigger{
  color:var(--ink,#f5f3ef)!important;background:rgba(255,255,255,.05)!important;outline:none!important;
}
.nav-menu{
  position:absolute!important;top:calc(100% + 14px)!important;left:0!important;width:300px!important;
  padding:10px!important;background:rgba(9,9,9,.985)!important;backdrop-filter:blur(22px)!important;
  border:1px solid var(--line,rgba(255,255,255,.12))!important;border-radius:14px!important;
  box-shadow:0 26px 80px rgba(0,0,0,.58)!important;opacity:0!important;visibility:hidden!important;
  transform:translateY(-7px)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s!important;z-index:100!important;
}
.nav-menu::before{content:'';position:absolute;left:0;right:0;top:-16px;height:16px}
.nav-menu-wide{width:350px!important}.nav-menu-right{left:auto!important;right:0!important}
.nav-group:hover>.nav-menu,.nav-group:focus-within>.nav-menu,.nav-group.open>.nav-menu{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
.nav-menu a{
  display:block!important;padding:12px 13px!important;border:0!important;border-radius:9px!important;
  text-decoration:none!important;white-space:normal!important;line-height:1.25!important;
}
.nav-menu a:hover,.nav-menu a[aria-current="page"]{background:rgba(255,255,255,.06)!important}
.nav-menu b{display:flex!important;align-items:center!important;gap:7px!important;color:var(--ink,#f5f3ef)!important;font-size:13px!important;line-height:1.3!important;font-weight:650!important}
.nav-menu span{display:block!important;margin-top:4px!important;color:var(--ink-faint,#74716c)!important;font-size:11px!important;line-height:1.45!important;font-weight:400!important}
.nav-menu em{font-family:var(--mono,monospace)!important;font-style:normal!important;font-size:8px!important;letter-spacing:.08em!important;color:#070707!important;background:var(--gold,#c8a464)!important;padding:3px 6px!important;border-radius:999px!important;white-space:nowrap!important}
.nav-featured{border:1px solid rgba(200,164,100,.24)!important;background:rgba(200,164,100,.065)!important;margin-bottom:5px!important}

@media(min-width:861px){
  header nav{max-width:1280px!important}
  .nav-mega{flex:1!important;justify-content:center!important;margin:0 12px!important}
}

/* --- mobile drawer: intentionally card/accordion based, not inline text --- */
@media(max-width:860px){
  body.servai-nav-open{overflow:hidden!important;touch-action:none}
  header{z-index:120!important}
  header nav{position:relative!important;z-index:122!important}
  .nav-links.nav-mega{
    display:none!important;position:fixed!important;left:0!important;right:0!important;bottom:0!important;
    width:100%!important;max-width:none!important;margin:0!important;padding:14px 18px calc(118px + env(safe-area-inset-bottom))!important;
    background:#070707!important;backdrop-filter:blur(24px)!important;border-top:1px solid var(--line,rgba(255,255,255,.12))!important;
    border-bottom:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;flex-direction:column!important;
    align-items:stretch!important;gap:10px!important;z-index:121!important;text-align:left!important;
  }
  .nav-links.nav-mega.mobile-open{display:flex!important}
  [dir="rtl"] .nav-links.nav-mega.mobile-open{text-align:right!important}

  .nav-group{
    display:block!important;width:100%!important;border:1px solid var(--line,rgba(255,255,255,.11))!important;
    border-radius:12px!important;background:rgba(255,255,255,.018)!important;overflow:hidden!important;
  }
  .nav-trigger,.nav-direct{
    width:100%!important;min-height:50px!important;display:flex!important;justify-content:space-between!important;align-items:center!important;
    text-align:left!important;padding:14px 15px!important;margin:0!important;font-size:14px!important;font-weight:600!important;
    color:var(--ink,#f5f3ef)!important;border:0!important;border-radius:0!important;background:transparent!important;
  }
  [dir="rtl"] .nav-trigger,[dir="rtl"] .nav-direct{text-align:right!important}
  .nav-trigger::after{content:'+'!important;font-size:18px!important;font-weight:300!important;margin:0!important;color:var(--gold,#c8a464)!important}
  .nav-group.open>.nav-trigger::after{content:'−'!important}
  .nav-direct{border:1px solid var(--line,rgba(255,255,255,.11))!important;border-radius:12px!important;background:rgba(255,255,255,.018)!important}

  .nav-menu,.nav-menu-wide,.nav-menu-right{
    display:none!important;position:static!important;width:100%!important;padding:0 8px 8px!important;margin:0!important;
    background:transparent!important;border:0!important;border-top:1px solid var(--line,rgba(255,255,255,.09))!important;
    border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important;opacity:1!important;visibility:visible!important;
    transform:none!important;transition:none!important;
  }
  [dir="rtl"] .nav-menu{padding:0 8px 8px!important}
  .nav-group.open>.nav-menu{display:block!important}
  /* neutralise sticky :hover on touch devices */
  .nav-group:hover:not(.open)>.nav-menu{display:none!important}
  .nav-menu a{
    display:block!important;width:100%!important;padding:13px 12px!important;margin:7px 0 0!important;
    border:1px solid transparent!important;border-radius:10px!important;background:rgba(255,255,255,.025)!important;
  }
  .nav-menu a:hover,.nav-menu a:focus-visible,.nav-menu a[aria-current="page"]{background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.08)!important}
  .nav-menu b{display:flex!important;font-size:14px!important;line-height:1.3!important}
  .nav-menu span{display:block!important;margin-top:5px!important;font-size:12px!important;line-height:1.45!important;color:#77736d!important}
  .nav-menu em{font-size:8px!important;padding:3px 6px!important}

  body.servai-nav-open .sticky-convert,body.servai-nav-open #sfd-btn,body.servai-nav-open #sfd-panel{display:none!important}
}

@media(max-width:600px){
  header nav{height:78px!important;min-height:78px!important;padding:13px 16px!important;gap:10px!important}
  header nav>div:first-child{min-width:100px!important;max-width:none!important}
  header .logo{font-size:22px!important;line-height:1!important}
  header .nav-product{font-size:8px!important;line-height:1.2!important;margin-top:6px!important}
  header .nav-right{gap:8px!important}
  header .mobile-menu-btn{font-size:24px!important;padding:7px!important;min-width:38px!important;min-height:38px!important;display:grid!important;place-items:center!important}
  header .lang-toggle,header .lang-toggle-link{font-size:10px!important;padding:7px 10px!important}
  .nav-links.nav-mega{padding-left:16px!important;padding-right:16px!important}
}

/* --- footer: proper sitemap columns, never inline run-on text --- */
footer{padding-bottom:max(110px,calc(92px + env(safe-area-inset-bottom)))!important}
.footer-grid{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;gap:44px!important}
.footer-grid>.logo{display:inline-block!important;white-space:nowrap!important}
.footer-links.footer-nav-grid{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:34px 26px!important;
  width:100%!important;min-width:0!important;flex:none!important;color:var(--ink-dim,#999)!important;
}
.footer-nav-group{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;min-width:0!important}
[dir="rtl"] .footer-nav-group{align-items:flex-end!important;text-align:right!important}
.footer-nav-group strong{
  display:block!important;width:100%!important;font-family:var(--mono,monospace)!important;font-size:10px!important;line-height:1.3!important;
  letter-spacing:.08em!important;text-transform:uppercase!important;color:var(--ink-faint,#706d68)!important;margin:0 0 12px!important;
}
.footer-nav-group a{
  display:block!important;width:100%!important;padding:6px 0!important;margin:0!important;font-size:13px!important;line-height:1.4!important;
  color:var(--ink-dim,#999)!important;text-decoration:none!important;white-space:normal!important;border:0!important;
}
.footer-nav-group a:hover,.footer-nav-group a:focus-visible{color:var(--ink,#f5f3ef)!important}
.footer-nav-group a.footer-featured{color:var(--gold,#c8a464)!important;font-weight:650!important}
.footer-nav-group a.footer-featured em{display:inline-block!important;font-family:var(--mono,monospace)!important;font-style:normal!important;font-size:8px!important;letter-spacing:.07em!important;border:1px solid rgba(200,164,100,.45)!important;border-radius:999px!important;padding:2px 5px!important;margin-inline-start:5px!important;vertical-align:1px!important}

@media(max-width:1000px){
  .footer-grid{grid-template-columns:1fr!important;gap:28px!important}
  .footer-links.footer-nav-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:700px){
  footer{padding-top:44px!important}
  .footer-links.footer-nav-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:28px 22px!important}
}
@media(max-width:520px){
  footer .wrap{padding-left:22px!important;padding-right:22px!important}
  .footer-grid{gap:30px!important}
  .footer-grid>.logo{font-size:22px!important}
  .footer-links.footer-nav-grid{grid-template-columns:1fr!important;gap:0!important}
  .footer-nav-group{padding:20px 0!important;border-top:1px solid var(--line,rgba(255,255,255,.1))!important}
  .footer-nav-group:last-child{border-bottom:1px solid var(--line,rgba(255,255,255,.1))!important}
  .footer-nav-group strong{font-size:11px!important;margin-bottom:9px!important;color:var(--ink,#f5f3ef)!important}
  .footer-nav-group a{font-size:14px!important;line-height:1.35!important;padding:7px 0!important}
  footer p{font-size:13px!important;line-height:1.65!important}
  .footer-bottom{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;line-height:1.5!important}
}


/* ServAI mark final size lock — matches dedicated Strategy site compact brand scale */
html body .logo.servai-logo-lock > svg.servai-logo-mark{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  max-width:34px!important;
  max-height:34px!important;
  flex:0 0 34px!important;
}
html body header .logo.servai-logo-lock,
html body footer .logo.servai-logo-lock,
html body .footer-grid > .logo.servai-logo-lock{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  width:auto!important;
  height:auto!important;
  max-width:none!important;
}

/* ===== Mobile navigation + catalogue stabilization v8 — 2026-08-18 ===== */
@media(max-width:860px){
  #siteHeader{background:#050505!important;border-bottom:1px solid rgba(255,255,255,.10)!important;backdrop-filter:blur(18px)!important}
  #siteHeader nav{width:100%!important;max-width:none!important;display:flex!important;align-items:center!important;justify-content:space-between!important;overflow:visible!important}
  #siteHeader .servai-logo-lock{flex:0 0 auto!important;position:relative!important;z-index:124!important}
  #siteHeader .nav-right{margin-left:auto!important;display:flex!important;align-items:center!important;position:relative!important;z-index:124!important}
  [dir="rtl"] #siteHeader .nav-right{margin-left:0!important;margin-right:auto!important}

  #siteHeader .nav-links.nav-mega{
    top:78px; min-height:0!important; max-height:calc(100dvh - 78px)!important;
    padding-top:18px!important; padding-bottom:max(42px,env(safe-area-inset-bottom))!important;
    background:#050505!important;
  }
  #siteHeader .nav-links.nav-mega.mobile-open{display:flex!important}
  #siteHeader .nav-group{min-height:58px!important;height:auto!important;flex:0 0 auto!important;opacity:1!important;visibility:visible!important}
  #siteHeader .nav-trigger,#siteHeader .nav-direct{
    min-height:58px!important;height:auto!important;opacity:1!important;visibility:visible!important;
    color:#f5f3ef!important;font-size:16px!important;line-height:1.25!important;font-weight:650!important;
    padding:17px 18px!important;
  }
  #siteHeader .nav-trigger{display:flex!important}
  #siteHeader .nav-trigger::first-letter{color:inherit!important}
  #siteHeader .nav-menu{min-height:0!important;height:auto!important}
  #siteHeader .nav-group.open>.nav-menu{display:block!important;opacity:1!important;visibility:visible!important}
  #siteHeader .nav-menu a{min-height:0!important;color:#f5f3ef!important}
  #siteHeader .nav-menu b{color:#f5f3ef!important}
  #siteHeader .mobile-menu-btn{order:0!important}
  #siteHeader .lang-toggle,#siteHeader .lang-toggle-link{order:1!important}
  #siteHeader .nav-right .btn{order:2!important}
}
@media(max-width:600px){
  #siteHeader nav{height:78px!important;min-height:78px!important;padding:12px 16px!important}
  #siteHeader .servai-logo-mark{width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important}
  #siteHeader .servai-logo-word{font-size:24px!important}
  #siteHeader .nav-right .btn{font-size:11px!important;padding:11px 12px!important;border-radius:7px!important}
  #siteHeader .lang-toggle,#siteHeader .lang-toggle-link{font-size:9px!important;padding:8px 9px!important}
  #siteHeader .mobile-menu-btn{font-size:22px!important;min-width:38px!important}
}
@media(max-width:420px){
  #siteHeader .nav-right .btn{font-size:10px!important;padding:10px 9px!important}
  #siteHeader .lang-toggle,#siteHeader .lang-toggle-link{padding:7px 8px!important}
}

/* Catalogue pages: strong separation and mobile scanning. */
.role-family-grid{align-items:stretch!important}
.role-family-card{display:flex!important;flex-direction:column!important;min-height:230px!important;padding:24px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:18px!important;background:linear-gradient(145deg,rgba(200,164,100,.045),rgba(255,255,255,.018))!important;text-decoration:none!important;transition:transform .2s ease,border-color .2s ease,background .2s ease!important}
.role-family-card:hover{transform:translateY(-3px)!important;border-color:rgba(200,164,100,.38)!important;background:linear-gradient(145deg,rgba(200,164,100,.085),rgba(255,255,255,.025))!important}
.role-family-card .price-tag{font-family:var(--mono,monospace)!important;font-size:10px!important;line-height:1.45!important;letter-spacing:.04em!important;color:#c8a464!important;margin-bottom:18px!important}
.role-family-card h3{font-size:clamp(1.35rem,2vw,1.75rem)!important;line-height:1.1!important;margin:0 0 12px!important}
.role-family-card p{font-size:.92rem!important;line-height:1.6!important;margin:0 0 22px!important;color:rgba(255,255,255,.62)!important}
.role-family-card>span:last-child{margin-top:auto!important;font-size:.9rem!important;font-weight:600!important}

.role-list-deep{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;margin-top:30px!important}
.role-list-deep a{display:flex!important;flex-direction:column!important;gap:9px!important;padding:22px!important;border:1px solid rgba(255,255,255,.10)!important;border-radius:16px!important;background:rgba(255,255,255,.022)!important;color:inherit!important;text-decoration:none!important;min-width:0!important;transition:border-color .2s ease,background .2s ease,transform .2s ease!important}
.role-list-deep a:hover{border-color:rgba(200,164,100,.34)!important;background:rgba(200,164,100,.045)!important;transform:translateY(-2px)!important}
.role-list-deep b{display:block!important;margin:0!important;font-size:1rem!important;line-height:1.35!important;color:#f5f3ef!important}
.role-list-deep span{display:block!important;margin:0!important;color:rgba(255,255,255,.58)!important;font-size:.82rem!important;line-height:1.6!important}

@media(max-width:700px){
  .role-detail-hero{padding-top:116px!important;padding-bottom:44px!important}
  .role-detail-hero h1{font-size:clamp(2.35rem,10vw,3.35rem)!important;line-height:1.01!important;letter-spacing:-.045em!important;max-width:100%!important}
  .role-purpose{font-size:1rem!important;line-height:1.65!important}
  .mission-band{margin-top:0!important}
  .section{padding-top:62px!important;padding-bottom:62px!important}
  .section-head h2{font-size:clamp(2rem,8vw,2.7rem)!important;line-height:1.05!important;letter-spacing:-.035em!important}
  .role-family-grid,.role-list-deep{grid-template-columns:1fr!important;gap:12px!important}
  .role-family-card{min-height:0!important;padding:20px!important;border-radius:16px!important}
  .role-family-card .price-tag{font-size:9px!important;margin-bottom:13px!important}
  .role-family-card h3{font-size:1.35rem!important}
  .role-family-card p{font-size:.9rem!important;line-height:1.55!important;margin-bottom:17px!important}
  .role-list-deep a{padding:19px!important;border-radius:15px!important;gap:7px!important}
  .role-list-deep b{font-size:1.04rem!important}
  .role-list-deep span{font-size:.83rem!important;line-height:1.55!important}
  body.servai-nav-open #sfd-btn{display:none!important}
}

/* ===== Mobile drawer architecture v9 — body-level Safari-safe layer ===== */
@media(max-width:860px){
  html.servai-nav-open,body.servai-nav-open{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important}
  #siteHeader{z-index:100001!important;isolation:isolate!important}
  #siteHeader .nav-links.nav-mega{display:none!important}
  .servai-mobile-drawer{display:none;position:fixed!important;left:0!important;right:0!important;bottom:0!important;z-index:100000!important;background:#050505!important;color:#f5f3ef!important;overflow:hidden!important;border-top:1px solid rgba(255,255,255,.10)!important;box-shadow:0 -20px 70px rgba(0,0,0,.55)!important}
  .servai-mobile-drawer.open{display:block!important}
  .servai-mobile-drawer-inner{height:100%!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;padding:18px 18px max(42px,env(safe-area-inset-bottom))!important;background:#050505!important}
  .servai-mobile-drawer .nav-links.nav-mega.mobile-drawer-nav{display:flex!important;position:static!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:none!important;min-height:100%!important;margin:0!important;padding:0!important;background:#050505!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .servai-mobile-drawer .nav-group{display:block!important;position:static!important;width:100%!important;min-height:0!important;height:auto!important;margin:0!important;border:1px solid rgba(255,255,255,.11)!important;border-radius:16px!important;background:#0b0b0b!important;overflow:hidden!important;opacity:1!important;visibility:visible!important}
  .servai-mobile-drawer .nav-trigger,.servai-mobile-drawer .nav-direct{display:flex!important;width:100%!important;min-height:64px!important;align-items:center!important;justify-content:space-between!important;margin:0!important;padding:19px 20px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#f5f3ef!important;font-size:17px!important;font-weight:650!important;line-height:1.2!important;text-align:left!important;text-decoration:none!important}
  [dir="rtl"] .servai-mobile-drawer .nav-trigger,[dir="rtl"] .servai-mobile-drawer .nav-direct{text-align:right!important}
  .servai-mobile-drawer .nav-trigger::after{content:'+'!important;margin:0!important;font-size:22px!important;font-weight:300!important;line-height:1!important;color:#d0aa66!important}
  .servai-mobile-drawer .nav-group.open>.nav-trigger::after{content:'−'!important}
  .servai-mobile-drawer .nav-direct{border:1px solid rgba(255,255,255,.11)!important;border-radius:16px!important;background:#0b0b0b!important}
  .servai-mobile-drawer .nav-menu,.servai-mobile-drawer .nav-menu-wide,.servai-mobile-drawer .nav-menu-right{display:none!important;position:static!important;inset:auto!important;width:100%!important;margin:0!important;padding:7px 10px 11px!important;background:#080808!important;border:0!important;border-top:1px solid rgba(255,255,255,.08)!important;border-radius:0!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .servai-mobile-drawer .nav-group.open>.nav-menu{display:block!important}
  .servai-mobile-drawer .nav-group:hover:not(.open)>.nav-menu{display:none!important}
  .servai-mobile-drawer .nav-menu a{display:block!important;width:100%!important;margin:5px 0 0!important;padding:13px 14px!important;border:1px solid transparent!important;border-radius:11px!important;background:rgba(255,255,255,.025)!important;color:#f5f3ef!important;text-decoration:none!important}
  .servai-mobile-drawer .nav-menu a[aria-current="page"],.servai-mobile-drawer .nav-menu a:focus-visible{border-color:rgba(200,164,100,.25)!important;background:rgba(200,164,100,.07)!important}
  .servai-mobile-drawer .nav-menu b{display:block!important;font-size:14px!important;line-height:1.25!important;color:#f5f3ef!important}
  .servai-mobile-drawer .nav-menu span{display:block!important;margin-top:5px!important;font-size:12px!important;line-height:1.45!important;color:#77736d!important}
  .servai-mobile-drawer .nav-menu em{font-size:8px!important}
  body.servai-nav-open #sfd-btn,body.servai-nav-open #sfd-panel,body.servai-nav-open .sticky-convert{display:none!important}
}
@media(min-width:861px){.servai-mobile-drawer{display:none!important}}
