/* TECHWORLD Header Suite 1.2.1 - scoped presentation, avoids Astra menu CSS. */
body.twih-active #masthead{display:none!important}
body.twih-active{--twih-ink:#0c2c4b;--twih-muted:#60748b}
.twih-header,.twih-header *,.twih-drawer,.twih-drawer *{box-sizing:border-box}
.twih-header{position:sticky;top:0;z-index:99940;width:100%;background:rgba(250,253,255,.98);border-bottom:1px solid #dbeaf7;box-shadow:0 10px 30px rgba(8,49,87,.085);font-family:"Noto Sans","Be Vietnam Pro",Arial,sans-serif;color:var(--twih-ink);-webkit-font-smoothing:antialiased}
body.admin-bar .twih-header{top:32px}
.twih-header a,.twih-drawer a{text-decoration:none!important;box-shadow:none!important}
.twih-header button,.twih-drawer button{font-family:inherit!important;font-style:normal!important;letter-spacing:normal!important;text-transform:none!important;cursor:pointer;line-height:1!important;box-shadow:none!important;text-shadow:none!important;appearance:none!important;-webkit-appearance:none!important}
.twih-header ul,.twih-drawer ul{list-style:none!important;margin:0!important;padding:0!important}
.twih-header li,.twih-drawer li{list-style:none!important;margin:0!important;padding:0!important}
.twih-inner{display:flex;align-items:center;gap:clamp(8px,1.5vw,22px);width:100%;max-width:var(--twih-width);margin:0 auto;min-height:var(--twih-height);padding:6px clamp(12px,1.35vw,24px)}
.twih-brand{flex:0 0 auto;display:inline-flex;align-items:center;gap:9px;color:#083971!important;min-width:0;white-space:nowrap}
.twih-brand-img{height:clamp(38px,3.55vw,57px);width:auto;max-width:60px;object-fit:contain;filter:drop-shadow(0 5px 6px rgba(16,54,91,.18));transition:transform .18s ease}
.twih-brand:hover .twih-brand-img{transform:translateY(-2px) rotate(-2deg)}
.twih-brand-text{position:relative;display:inline-block;overflow:hidden;white-space:nowrap;font-size:clamp(17px,1.58vw,25px);line-height:1.15;font-weight:850;letter-spacing:-.045em;text-shadow:1px 1px #fff,2px 3px 3px rgba(0,39,89,.15)}
.twih-nav{flex:1;min-width:0;display:flex;justify-content:flex-end}
.twih-navlist{display:flex;justify-content:flex-end;align-items:center;gap:3px;min-width:0;max-width:100%;padding:5px!important;border-radius:999px;border:1px solid #e2edf8;background:rgba(255,255,255,.92)}
.twih-root{position:static;flex:0 0 auto;min-width:0}
.twih-root-action{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;min-height:40px;transition:background .16s ease,box-shadow .16s ease}
.twih-root-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 clamp(8px,.9vw,15px)!important;white-space:nowrap;font-size:clamp(11px,.85vw,13.2px)!important;font-weight:750!important;line-height:1.25!important;color:#102c4b!important;border-radius:999px}
.twih-root.twih-has-panel .twih-root-link{padding-right:6px!important}
.twih-chevron{display:block!important;width:15px!important;height:15px!important;flex:none;stroke:currentColor;transition:transform .18s ease}
button.twih-root-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 22px!important;width:22px!important;min-width:22px!important;max-width:22px!important;height:32px!important;min-height:0!important;max-height:32px!important;padding:0!important;margin:0 7px 0 0!important;color:inherit!important;background:transparent!important;border:0!important;border-radius:99px!important;position:static!important;transform:none!important;outline-offset:2px}
.twih-root.is-open button.twih-root-toggle .twih-chevron{transform:rotate(180deg)}
.twih-root.twih-featured>.twih-root-action,.twih-root:hover>.twih-root-action,.twih-root.is-open>.twih-root-action{background:linear-gradient(130deg,var(--twih-accent),var(--twih-accent2));box-shadow:0 6px 16px rgba(0,113,200,.2);color:#fff}
.twih-root.twih-featured>.twih-root-action>.twih-root-link,.twih-root:hover>.twih-root-action>.twih-root-link,.twih-root.is-open>.twih-root-action>.twih-root-link{color:#fff!important}
.twih-root.twih-featured button.twih-root-toggle,.twih-root:hover button.twih-root-toggle,.twih-root.is-open button.twih-root-toggle{color:#fff!important}
.twih-root-action:focus-within{outline:2px solid #ffae27;outline-offset:1px}
.twih-root-link[href*="tw-career-section"]{position:relative}
.twih-root-link[href*="tw-career-section"]::after{content:"🔥 HOT";position:absolute;right:-10px;top:-12px;font-size:8px;color:#fff;background:linear-gradient(110deg,#f94445,#ff9724);padding:3px 7px;border-radius:99px;box-shadow:0 4px 9px #ff772142;pointer-events:none}
.twih-panel[hidden],.twih-overlay[hidden],.twih-language-options[hidden],.twih-mobile-preview[hidden]{display:none!important}
.twih-panel{position:absolute;top:calc(100% + 1px);left:50%;transform:translateX(-50%);width:min(1210px,calc(100vw - 34px));max-height:min(690px,calc(100dvh - var(--twih-height) - 30px));overflow:auto;overscroll-behavior:contain;z-index:99;border-radius:0 0 22px 22px;border:1px solid #d4e7f7;border-top:4px solid var(--twih-accent2);background:linear-gradient(145deg,#fff,#f5faff);box-shadow:0 25px 62px rgba(10,43,83,.2);animation:twih-panel-in .14s ease-out;color:var(--twih-ink)}
.twih-panel-main{display:flex;align-items:flex-start;gap:17px;padding:21px}
.twih-groups{flex:1;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(185px,100%),1fr));align-items:start;gap:15px}
.twih-group{min-width:0}
.twih-group-header{padding:11px 12px;border-radius:12px;background:#e9f5ff;border:1px solid #d5eafd;margin-bottom:9px}
.twih-group-link{display:block!important;font-size:12.8px!important;line-height:1.5!important;font-weight:800!important;color:#092c4e!important;white-space:normal!important;overflow-wrap:anywhere;text-transform:uppercase}
.twih-group-link:before{content:"";display:inline-block;vertical-align:middle;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#00a0f1}
.twih-leaves,.twih-deep-leaves{display:grid;gap:6px}
.twih-leaf{display:flex!important;align-items:center!important;justify-content:space-between;gap:9px;min-height:43px;padding:10px 12px!important;background:#fff!important;border:1px solid #e4eef7!important;border-radius:11px!important;line-height:1.5!important;color:#244059!important;font-size:13px!important;font-weight:600!important;white-space:normal!important;overflow-wrap:anywhere;transition:background .14s ease,border-color .14s ease,color .14s ease}
.twih-leaf span{color:#087ac8;flex:none}
.twih-leaf:hover,.twih-leaf.is-preview-active,.twih-leaf:focus-visible{color:#0068bc!important;background:#eef7ff!important;border-color:#b6dcfa!important}
.twih-deep-leaves{padding:5px 0 0 12px!important;margin-left:7px!important;border-left:2px solid #d4e8f8}
.twih-preview{flex:0 0 265px;max-width:265px;position:sticky;top:0;align-self:flex-start;padding:13px;background:#f2f9ff;border:1px solid #dceaf7;border-radius:16px}
.twih-preview-picture{display:none;height:150px;border-radius:11px;overflow:hidden;background:#e1eff8;margin-bottom:11px}
.twih-preview.has-picture .twih-preview-picture{display:block}
.twih-preview-picture img{display:block;width:100%;height:100%;object-fit:cover}
.twih-preview-kicker{font-size:10px;color:#047cc5;letter-spacing:.1em;font-weight:850;margin:4px 0 8px}
.twih-preview-title{font-size:15.5px!important;line-height:1.45!important;font-weight:800!important;margin:0 0 9px!important;color:#092b4c!important;overflow-wrap:anywhere}
.twih-preview-desc{font-size:12.5px!important;line-height:1.7!important;color:#526c82!important;margin:0 0 10px!important;overflow-wrap:anywhere}
.twih-preview-cta{display:inline-flex;gap:5px;align-items:center;color:#0074c5!important;font-size:12px!important;font-weight:750!important}
.twih-preview.no-detail .twih-preview-desc,.twih-preview.no-detail .twih-preview-cta{display:none}
.twih-extras{display:flex;align-items:center;gap:9px;min-width:0;flex:0 0 auto}
.twih-slot{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;max-width:225px;font-size:12px;z-index:120}
.twih-slot:empty,.twih-slot:has(>.twih-slot-placeholder:only-child){display:none}
.twih-language-native{position:relative;min-width:0}
button.twih-language-toggle{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:41px!important;height:41px!important;max-height:none!important;width:auto!important;min-width:118px!important;padding:0 12px!important;margin:0!important;background:#e8f4ff!important;border:1px solid #d5e9fa!important;border-radius:99px!important;color:#12416a!important;font-size:11.5px!important;font-weight:700!important;white-space:nowrap!important;transition:background .14s ease}
.twih-language-toggle>img,.twih-language-options img{width:20px!important;height:20px!important;min-width:20px!important;object-fit:cover!important;border-radius:50%!important}
.twih-language-toggle .twih-chevron{width:13px!important;height:13px!important}
.twih-language-native.is-open .twih-language-toggle .twih-chevron{transform:rotate(180deg)}
.twih-language-options{position:absolute!important;z-index:140!important;right:0;top:calc(100% + 9px);width:max-content;min-width:177px;background:#fff!important;border:1px solid #d8e9f8!important;border-radius:15px!important;padding:6px!important;box-shadow:0 16px 35px rgba(9,41,73,.19)!important}
.twih-language-options li{display:block!important}
.twih-language-options a{display:flex!important;align-items:center!important;gap:10px!important;min-height:41px!important;padding:9px 11px!important;border-radius:10px!important;color:#103b5f!important;font-weight:700!important;font-size:12px!important;white-space:nowrap}
.twih-language-options a:hover,.twih-language-options a[aria-current]{background:#e9f5ff!important;color:#006ebc!important}
.twih-language-check{margin-left:auto;color:#007bc3}
button.twih-mobile-trigger{display:none;justify-content:center!important;align-items:center!important;flex:0 0 46px!important;width:46px!important;height:46px!important;min-height:46px!important;padding:0!important;margin:0 0 0 auto!important;border:1px solid #b7dbf2!important;border-radius:14px!important;background:#e7f5ff!important;color:#0676bc!important}
.twih-hamburger{display:grid;gap:5px}.twih-hamburger i{display:block;width:22px;height:2px;border-radius:99px;background:currentColor}
.twih-overlay{position:fixed;inset:0;z-index:99945;background:rgba(4,18,34,.52);opacity:0;transition:opacity .23s ease}
.twih-overlay.is-visible{opacity:1}
.twih-drawer{position:fixed;z-index:99946;top:0;right:0;bottom:0;height:100dvh;max-height:100dvh;width:min(100vw,var(--twih-drawer));max-width:100%;display:none;flex-direction:column;overflow:hidden;visibility:hidden;transform:translate3d(102%,0,0);transition:transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s linear .25s;background:linear-gradient(155deg,#f9fcff,#edf7ff);box-shadow:-12px 0 43px rgba(5,31,66,.22);font-family:"Noto Sans","Be Vietnam Pro",Arial,sans-serif;color:#0d304b;overscroll-behavior:contain}
.twih-drawer.is-open{visibility:visible;transform:translate3d(0,0,0);transition:transform .25s cubic-bezier(.2,.8,.2,1),visibility 0s}
.twih-drawer-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 17px 11px;border-bottom:1px solid #d9e9f5;background:rgba(255,255,255,.86)}
.twih-drawer-brand{display:flex!important;align-items:center!important;gap:8px!important;min-width:0;color:#073a76!important}
.twih-drawer-brand img{display:block;object-fit:contain;width:auto!important;height:48px!important;max-width:53px;filter:drop-shadow(0 4px 6px #1c457044)}
.twih-drawer-brand span{font-size:clamp(17px,4.1vw,23px)!important;font-weight:850!important;line-height:1.15!important;white-space:nowrap!important;text-shadow:1px 1px #fff,2px 2px 3px #365b8344}
button.twih-close{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 43px!important;width:43px!important;min-width:43px!important;height:43px!important;min-height:43px!important;padding:0!important;margin:0!important;border:1px solid #cbdff1!important;border-radius:13px!important;background:#fff!important;color:#16527f!important;transform:none!important}
.twih-close svg{display:block!important;width:21px!important;height:21px!important;flex:none}
.twih-drawer-caption{flex:0 0 auto;padding:11px 18px 12px;color:#4d718b;font-size:12px!important;line-height:1.35;font-weight:700;letter-spacing:.01em}
.twih-drawer-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:6px 15px 20px;-webkit-overflow-scrolling:touch}
.twih-mobile-list{display:grid;gap:8px}
.twih-item-line{display:flex;align-items:stretch;min-height:51px;border:1px solid #e2edf8;background:#fff;border-radius:14px;box-shadow:0 4px 10px #1d56800c;overflow:hidden}
.twih-item-link,button.twih-item-link{flex:1 1 auto;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;min-width:0;min-height:50px!important;margin:0!important;padding:11px 15px!important;border:0!important;border-radius:0!important;background:transparent!important;color:#153c5a!important;line-height:1.45!important;text-align:left!important;font-weight:750!important;font-size:14.5px!important;text-transform:none!important;overflow-wrap:anywhere!important;white-space:normal!important}
.twih-item-link[href]:hover,button.twih-item-link:hover{color:#0077c5!important}
button.twih-expand{flex:0 0 48px!important;width:48px!important;min-width:48px!important;min-height:49px!important;margin:0!important;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-left:1px solid #e8eff8!important;border-radius:0!important;background:#f1f8ff!important;color:#0877c1!important}
.twih-expand .twih-chevron{width:17px!important;height:17px!important}
.twih-mobile-item.is-expanded>.twih-item-line button.twih-expand{background:#e0f0fe!important}
.twih-mobile-item.is-expanded>.twih-item-line .twih-chevron{transform:rotate(180deg)}
.twih-mobile-item.current-menu-item>.twih-item-line{border-color:#80c5f0;background:#eaf6ff}
.twih-subtree{display:grid;grid-template-rows:0fr;opacity:.7;visibility:hidden;transition:grid-template-rows .20s ease,opacity .19s ease,visibility .20s}
.twih-mobile-item.is-expanded>.twih-subtree{grid-template-rows:1fr;opacity:1;visibility:visible}
.twih-subtree-inner{min-height:0;overflow:hidden}
.twih-subtree .twih-mobile-list{margin:8px 0 5px 12px!important;padding-left:11px!important;border-left:2px solid #d0e7f8;gap:7px}
.twih-depth-1 .twih-item-link{font-size:13.7px!important;font-weight:720!important}
.twih-depth-2 .twih-item-link{font-size:13.1px!important;font-weight:620!important}
.twih-depth-3 .twih-item-link{font-size:12.7px!important;font-weight:580!important}
.twih-preview-mini-icon{display:inline-flex;color:#1682c9;font-size:15px;flex:none;font-weight:700}
.twih-mobile-item.is-preview-open>.twih-item-line{border-color:#9ad3f5;background:#f5faff}
.twih-mobile-preview{margin:7px 2px 8px 11px;padding:11px;background:#fff;border:1px solid #d9eaf8;border-radius:12px;box-shadow:0 4px 13px #275c840b;animation:twih-fadein .16s ease}
.twih-mobile-preview-picture{overflow:hidden;border-radius:10px;margin-bottom:9px;max-height:170px;background:#eaf3fc}
.twih-mobile-preview-picture img{display:block;width:100%;height:clamp(110px,27vw,170px);object-fit:cover}
.twih-mobile-preview-desc{font-size:12.5px!important;line-height:1.7!important;color:#4b627a!important;margin:3px 2px 10px!important;overflow-wrap:anywhere}
.twih-mobile-read{display:inline-flex!important;align-items:center!important;gap:8px!important;border-radius:999px;padding:10px 14px!important;background:#e9f5ff!important;color:#0069ad!important;font-size:12.2px!important;font-weight:750!important}
.twih-drawer-extras{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap;padding:12px 17px max(16px,env(safe-area-inset-bottom));border-top:1px solid #dbe8f5;background:#fff;min-height:68px}
.twih-drawer-extras .twih-slot{max-width:100%}
.twih-drawer .twih-language-options{top:auto!important;bottom:calc(100% + 9px)!important;right:auto!important;left:0!important}
body.twih-scroll-lock{overflow:hidden!important}
body.twih-scroll-lock .floating-contact{opacity:0!important;pointer-events:none!important}
.twih-header :is(a,button):focus-visible,.twih-drawer :is(a,button):focus-visible{outline:3px solid #ffbb45!important;outline-offset:2px!important}
@keyframes twih-panel-in{from{opacity:.55;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
@keyframes twih-fadein{from{opacity:.5;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1370px){.twih-inner{gap:10px}.twih-brand-text{font-size:20px}.twih-brand-img{height:47px}.twih-root-link{font-size:11.4px!important;padding-inline:9px!important}.twih-root.twih-has-panel .twih-root-link{padding-right:4px!important}.twih-extras{gap:5px}}
@media(max-width:1240px){.twih-inner{gap:7px;padding-inline:11px}.twih-brand-text{font-size:18px}.twih-brand-img{height:43px}.twih-root-link{font-size:10.9px!important;padding-inline:6px!important}.twih-slot{max-width:150px}.twih-panel-main{padding:17px}.twih-preview{flex-basis:230px;max-width:230px}}
@media(max-width:760px){.twih-inner{min-height:65px}.twih-brand-img{height:43px}.twih-brand-text{font-size:22px}}
@media(max-width:430px){.twih-inner{min-height:63px;padding-inline:13px}.twih-brand-img{height:41px}.twih-brand-text{font-size:21px}.twih-drawer{width:100vw}.twih-drawer-brand img{height:43px!important}}
@media(max-width:782px){body.admin-bar .twih-header{top:46px}}
@media(prefers-reduced-motion:reduce){.twih-header *,.twih-drawer *,.twih-overlay,.twih-drawer{animation:none!important;transition:none!important}}

/* ===============================================================
   V1.2: Native TWA Microsoft Workspace account slot.
   Reparents original .twa-mw-header-account-item; no login clone.
   Desktop/mobile placement shares the same original DOM element.
   =============================================================== */
.twih-slot-account{min-width:0!important;z-index:150!important}
.twih-slot-account>.twa-mw-header-account-item,
.twih-slot-account>.twa-mw-header-account-item.menu-item{
  list-style:none!important;position:relative!important;display:flex!important;
  align-items:center!important;width:auto!important;min-width:0!important;
  height:auto!important;max-width:100%!important;margin:0!important;
  padding:0!important;float:none!important;visibility:visible!important;
  opacity:1!important;transform:none!important;
}
.twih-slot-account>.twa-mw-header-account-item>a,
.twih-slot-account>.twa-mw-header-account-item>.menu-link,
.twih-slot-account .twa-mw-login{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;min-width:0!important;max-width:100%!important;
  min-height:41px!important;height:41px!important;padding:0 13px!important;
  margin:0!important;border:1px solid #d2e3f4!important;border-radius:999px!important;
  background:linear-gradient(135deg,#ffffff,#eef5fc)!important;
  color:#143e67!important;box-shadow:0 3px 11px rgba(6,56,107,.08)!important;
  font-family:inherit!important;font-size:11.5px!important;font-weight:750!important;
  line-height:1.2!important;text-decoration:none!important;white-space:nowrap!important;
  overflow:hidden;text-overflow:ellipsis;
}
.twih-slot-account>.twa-mw-header-account-item:hover>a,
.twih-slot-account>.twa-mw-header-account-item:focus-within>a{
  color:#006ab8!important;background:#eaf5ff!important;border-color:#abdaff!important;
}
.twih-slot-account .twa-mw-ms-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}
.twih-slot-account .sub-menu,
.twih-slot-account .twa-mw-account-menu{
  z-index:200!important;max-width:min(285px,calc(100vw - 30px))!important;
}
.twih-slot-account>.twa-mw-header-account-item:focus-within>.sub-menu,
.twih-slot-account>.twa-mw-header-account-item:hover>.sub-menu{
  visibility:visible!important;opacity:1!important;
}
/* Mobile extras: language left, Microsoft account aligned right. */
.twih-drawer .twih-drawer-extras{
  flex-wrap:nowrap!important;justify-content:space-between!important;
  gap:8px!important;padding-inline:clamp(12px,3.5vw,18px)!important;
}
.twih-drawer .twih-slot-language{flex:0 0 auto!important;min-width:0!important;max-width:56%!important}
.twih-drawer .twih-slot-account{
  flex:0 1 160px!important;min-width:0!important;max-width:calc(100% - 126px)!important;
  margin-left:auto!important;justify-content:flex-end!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item{
  width:auto!important;min-width:0!important;max-width:100%!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>a,
.twih-drawer .twih-slot-account .twa-mw-login{
  height:44px!important;min-height:44px!important;max-width:100%!important;
  padding-inline:clamp(8px,2.4vw,13px)!important;
  font-size:clamp(10.5px,2.8vw,12px)!important;
}
.twih-drawer .twih-slot-account .sub-menu,
.twih-drawer .twih-slot-account .twa-mw-account-menu{
  position:absolute!important;top:auto!important;bottom:calc(100% + 9px)!important;
  left:auto!important;right:0!important;
  max-height:min(60dvh,440px)!important;overflow-y:auto!important;
  border-radius:14px!important;
}

/* ===============================================================
   V1.2: Recruitment mega-menu full-height CV application card.
   Uses menu level-2 class tw-cv-cta and level-3 tw-cv-cta-button.
   =============================================================== */
.twih-panel-main.twih-has-cv .twih-groups{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.twih-panel-main.twih-has-cv .twih-group{align-self:stretch;min-width:0}
.twih-panel-main.twih-has-cv .twih-group.twih-cv-group{
  grid-column:3;display:flex;flex-direction:column;align-items:stretch;
  min-width:0;min-height:100%;isolation:isolate;
}
.twih-panel-main.twih-has-cv .twih-cv-group>.twih-group-header{
  flex:none;border:1px solid #f6cf7b!important;
  background:linear-gradient(115deg,#fff3d5,#ffe8a8)!important;
  box-shadow:0 4px 13px rgba(213,135,14,.08);
}
.twih-panel-main.twih-has-cv .twih-cv-group .twih-group-link{
  color:#824900!important;font-weight:850!important;
}
.twih-panel-main.twih-has-cv .twih-cv-group .twih-group-link:before{
  background:#ffae21!important;box-shadow:0 0 0 3px rgba(255,163,32,.16);
}
.twih-panel-main.twih-has-cv .twih-cv-group>.twih-leaves{
  flex:1 1 auto;display:flex!important;flex-direction:column!important;
  min-height:300px!important;gap:0!important;
}
.twih-panel-main.twih-has-cv .twih-cv-group>.twih-leaves>li.twih-cv-leaf{
  flex:1 1 auto;display:flex!important;min-height:100%;min-width:0;
}
.twih-panel .twih-cv-action-link.twih-leaf{
  position:relative!important;isolation:isolate;display:flex!important;
  flex:1 1 auto!important;min-height:300px!important;width:100%!important;
  padding:26px clamp(15px,1.9vw,25px)!important;margin:0!important;
  flex-direction:column!important;align-items:flex-start!important;
  justify-content:center!important;gap:14px!important;
  border-radius:20px!important;overflow:hidden!important;
  border:1px solid #1e7ac9!important;
  background:linear-gradient(150deg,#083873 0%,#005fbd 54%,#0995d7 100%)!important;
  color:#fff!important;text-align:left!important;
  box-shadow:0 16px 34px rgba(0,83,174,.22)!important;
  transition:transform .19s ease,box-shadow .19s ease!important;
}
.twih-panel .twih-cv-action-link:before{
  position:absolute;content:"";width:185px;height:185px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,209,110,.26),transparent 70%);
  right:-72px;top:-82px;z-index:-1;pointer-events:none;
}
.twih-panel .twih-cv-action-link:after{
  position:absolute;content:"";width:220px;height:220px;
  border:1px solid rgba(255,255,255,.14);border-radius:50%;
  right:-100px;bottom:-115px;pointer-events:none;
}
.twih-panel .twih-cv-action-link:hover,
.twih-panel .twih-cv-action-link:focus-visible{
  transform:translateY(-3px)!important;
  background:linear-gradient(150deg,#052e64 0%,#0754b0 52%,#007dc8 100%)!important;
  box-shadow:0 22px 44px rgba(0,71,161,.3)!important;
  border-color:#8bd6ff!important;
}
.twih-panel .twih-cv-action-link :is(.twih-cv-badge,.twih-cv-icon,.twih-cv-title,.twih-cv-subtitle,.twih-cv-primary){
  display:block!important;position:relative;z-index:1;
}
.twih-panel .twih-cv-badge{
  font-size:10px!important;letter-spacing:.115em;color:#ffdf9b!important;
  font-weight:850!important;white-space:normal!important;
}
.twih-panel .twih-cv-icon{
  display:grid!important;place-items:center;width:68px;height:68px;flex:none;
  color:#fff!important;background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.23);border-radius:18px;
}
.twih-panel .twih-cv-title{
  font-size:clamp(22px,2vw,30px)!important;line-height:1.24!important;
  font-weight:900!important;letter-spacing:-.03em!important;
  color:#fff!important;overflow-wrap:anywhere;
}
.twih-panel .twih-cv-subtitle{
  font-size:13px!important;line-height:1.65!important;font-weight:500!important;
  color:#dceeff!important;white-space:normal!important;overflow-wrap:anywhere;
}
.twih-panel .twih-cv-primary{
  margin-top:auto!important;padding:13px 17px!important;
  border-radius:12px!important;border:1px solid #ffd781!important;
  background:linear-gradient(110deg,#ffce67,#fca529)!important;
  color:#132d4f!important;font-weight:850!important;
  line-height:1.25!important;font-size:14px!important;
  box-shadow:0 8px 20px rgba(2,30,67,.16)!important;
}
.twih-panel .twih-cv-primary span{display:inline!important;color:inherit!important;margin-left:6px}
/* Mobile accordion: CV button is a direct, high-contrast page link. */
.twih-drawer .twih-mobile-item.tw-cv-cta>.twih-item-line{
  background:#fff4de!important;border:1px solid #f7d087!important;
}
.twih-drawer .twih-mobile-item.tw-cv-cta>.twih-item-line .twih-item-link{
  color:#7c4b0b!important;font-weight:850!important;
}
.twih-drawer .twih-mobile-item.tw-cv-cta-button>.twih-item-line{
  border:0!important;border-radius:14px!important;
  box-shadow:0 10px 22px rgba(0,88,174,.19)!important;
}
.twih-drawer .twih-mobile-item.tw-cv-cta-button>.twih-item-line>.twih-item-link{
  display:flex!important;min-height:70px!important;
  background:linear-gradient(115deg,#0557ad,#078fd1)!important;
  color:#fff!important;font-size:16px!important;font-weight:850!important;
  padding:16px!important;
}
.twih-drawer .twih-mobile-item.tw-cv-cta-button>.twih-item-line>.twih-item-link:after{
  content:"→";display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:9px;flex:none;
  background:#ffcc64;color:#0b3c73;font-size:21px;
}
@media(max-width:1340px){
  .twih-panel-main.twih-has-cv .twih-groups{gap:11px!important}
  .twih-panel .twih-cv-action-link.twih-leaf{padding:19px 16px!important}
}
@media(prefers-reduced-motion:reduce){.twih-panel .twih-cv-action-link{transition:none!important}}
/* Suppress raw Astra submenu layout after TWA node is moved out of nav <ul>. */
.twih-slot-account>.twa-mw-header-account-item>ul.sub-menu,
.twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu{
  display:none!important;position:absolute!important;top:calc(100% + 9px)!important;
  bottom:auto!important;right:0!important;left:auto!important;
  min-width:190px!important;width:max-content!important;padding:8px!important;margin:0!important;
  list-style:none!important;background:#fff!important;color:#193958!important;
  border:1px solid #d4e6f6!important;border-radius:13px!important;
  box-shadow:0 17px 34px rgba(9,40,78,.16)!important;
  z-index:250!important;opacity:1!important;visibility:visible!important;
  transform:none!important;pointer-events:auto!important;
}
.twih-slot-account>.twa-mw-header-account-item:is(:hover,:focus-within,.is-open,.twa-mw-open)>ul.sub-menu,
.twih-slot-account>.twa-mw-header-account-item:is(:hover,:focus-within,.is-open,.twa-mw-open)>.twa-mw-account-menu{
  display:block!important;
}
.twih-slot-account>.twa-mw-header-account-item>ul.sub-menu li,
.twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu li{
  display:block!important;position:static!important;min-width:0!important;
  padding:0!important;margin:0!important;
}
.twih-slot-account>.twa-mw-header-account-item>ul.sub-menu a,
.twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu a{
  display:block!important;padding:11px 12px!important;white-space:normal!important;
  border-radius:9px!important;color:#173c5e!important;background:transparent!important;
  font-size:12.5px!important;font-weight:650!important;
}
.twih-slot-account>.twa-mw-header-account-item>ul.sub-menu a:hover,
.twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu a:hover{
  color:#006dbc!important;background:#edf6ff!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu,
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu{
  top:auto!important;bottom:calc(100% + 9px)!important;
  max-height:min(55dvh,400px)!important;overflow-y:auto!important;
}


/* ===============================================================
   V1.2.1 – TWA ACCOUNT MOBILE HOTFIX
   Keep the original TWA node, auth state and dropdown JavaScript.
   A transformed drawer is the containing block for the fixed menu:
   panel left/right are relative to the drawer, NOT the tiny account pill.
   =============================================================== */

/* Microsoft four-tile brand symbol for sign-in state only.
   No external image/font/HTTP request; preserve TWA click target. */
.twih-header .twih-slot-account a.twa-mw-login::before,
.twih-drawer .twih-slot-account a.twa-mw-login::before{
  content:""!important;
  display:inline-block!important;
  position:relative!important;
  flex:0 0 17px!important;
  width:17px!important;
  height:17px!important;
  min-width:17px!important;
  margin:0 1px 0 0!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f25022' d='M1 1h10v10H1z'/%3E%3Cpath fill='%237fba00' d='M13 1h10v10H13z'/%3E%3Cpath fill='%2300a4ef' d='M1 13h10v10H1z'/%3E%3Cpath fill='%23ffb900' d='M13 13h10v10H13z'/%3E%3C/svg%3E")!important;
  background-size:contain!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  box-shadow:none!important;
  border:0!important;
  transform:none!important;
}
/* Some TWA releases also include a font icon; use our crisp SVG only when
   that icon is part of the sign-in anchor, not when showing the user avatar. */
.twih-slot-account a.twa-mw-login > .twa-mw-ms-icon{
  display:none!important;
}

/* On mobile, the real account stays on the right of the language picker. */
.twih-drawer .twih-drawer-extras{
  position:relative!important;
  isolation:isolate;
  z-index:400!important;
  overflow:visible!important;
}
.twih-drawer .twih-slot-account{
  position:static!important;
  overflow:visible!important;
  z-index:410!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item{
  position:static!important;
  overflow:visible!important;
}

/* Override the legacy width:max-content and TWA menu width:100% rules.
   CSS fixed is relative to the transformed .twih-drawer (not the pill).
   Right/left reserve a safe tap margin, preventing the vertical text column. */
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu,
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu{
  box-sizing:border-box!important;
  position:fixed!important;
  inset:auto 12px calc(78px + env(safe-area-inset-bottom, 0px)) 12px!important;
  display:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  max-height:min(55dvh,430px)!important;
  margin:0!important;
  padding:12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  border:1px solid #cfe2f2!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 19px 48px rgba(7,34,70,.23)!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  transform:none!important;
  z-index:950!important;
}
/* Click/focus rules remain compatible with TWA's own is-open states. */
.twih-drawer .twih-slot-account>.twa-mw-header-account-item:is(:hover,:focus-within,.is-open,.twa-mw-open)>ul.sub-menu,
.twih-drawer .twih-slot-account>.twa-mw-header-account-item:is(:hover,:focus-within,.is-open,.twa-mw-open)>.twa-mw-account-menu{
  display:block!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu :is(li,a,span),
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu :is(li,a,span){
  max-width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu a,
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu a{
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-height:43px!important;
  padding:10px 12px!important;
  gap:9px!important;
  font-size:13.5px!important;
  line-height:1.5!important;
  text-align:left!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu li,
.twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu li{
  float:none!important;
  clear:both!important;
  width:100%!important;
  margin:0!important;
}
/* Maintain existing profile avatar styling without scaling it to the full panel. */
.twih-drawer .twih-slot-account .sub-menu img,
.twih-drawer .twih-slot-account .twa-mw-account-menu img{
  max-width:64px!important;
  height:auto;
  object-fit:cover;
}
/* Desktop remains anchored below the existing account pill. */
@media (max-width:390px){
  .twih-drawer .twih-slot-account>.twa-mw-header-account-item>ul.sub-menu,
  .twih-drawer .twih-slot-account>.twa-mw-header-account-item>.twa-mw-account-menu{
    inset-inline:10px!important;
    padding:9px!important;
    max-height:min(58dvh,430px)!important;
  }
}

/* Covers TWA versions where the popup is nested inside an account wrapper
   instead of a direct ul.sub-menu sibling of the avatar trigger. */
.twih-drawer .twih-slot-account .twih-account-popup{
  box-sizing:border-box!important;
  position:fixed!important;
  inset:auto 12px calc(78px + env(safe-area-inset-bottom, 0px)) 12px!important;
  display:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  max-height:min(55dvh,430px)!important;
  margin:0!important;
  padding:12px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  border:1px solid #cfe2f2!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 19px 48px rgba(7,34,70,.23)!important;
  white-space:normal!important;
  word-break:normal!important;
  transform:none!important;
  z-index:950!important;
}
.twih-drawer .twih-slot-account .twa-mw-header-account-item:is(:hover,:focus-within,.twih-account-expanded,.is-open,.twa-mw-open) .twih-account-popup{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.twih-drawer .twih-slot-account .twih-account-popup :is(div,ul,li,section){
  box-sizing:border-box!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
.twih-drawer .twih-slot-account .twih-account-popup :is(a,button){
  box-sizing:border-box!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
@media(max-width:390px){
  .twih-drawer .twih-slot-account .twih-account-popup{inset-inline:10px!important;padding:9px!important;max-height:min(58dvh,430px)!important}
}
/* Normalize nested TWA menu wrappers and item spacing, including variants
   with inline narrow widths coming from the original Astra menu slot. */
.twih-drawer .twih-slot-account .twih-account-popup :is(div,section,ul){
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  float:none!important;
}
.twih-drawer .twih-slot-account .twih-account-popup :is(ul,li){
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.twih-drawer .twih-slot-account .twih-account-popup a{
  display:flex!important;
  width:100%!important;
  min-height:42px!important;
  align-items:center!important;
  padding:10px 12px!important;
  margin:2px 0!important;
  color:#173c5e!important;
  background:transparent!important;
  border-radius:9px!important;
  line-height:1.45!important;
  font-size:13px!important;
  font-weight:600!important;
  white-space:normal!important;
  text-decoration:none!important;
}
.twih-drawer .twih-slot-account .twih-account-popup a:hover{
  color:#006dbc!important;
  background:#edf6ff!important;
}
