
/* =========================================================
   GoAware Mobile v2 — new branding + dropdown navigation
   ========================================================= */
:root{
  --m-bg:#f5f8f6;
  --m-panel:#ffffff;
  --m-text:#151917;
  --m-muted:#68746e;
  --m-line:#e3e9e5;
  --m-green:#25b978;
  --m-blue:#4f82f3;
  --m-shadow:0 18px 55px rgba(29,48,38,.10);
  --m-page:calc(100% - 28px);
}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{overflow-x:hidden!important;min-width:0!important}
*,*::before,*::after{box-sizing:border-box}
img,svg,canvas{max-width:100%}
button,a,input,select,textarea{
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.shell,.content-shell,.method-shell,.map-shell{
  width:min(var(--m-page),1060px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* New mobile header */
.mobile-topbar{
  position:sticky!important;
  top:0!important;
  z-index:999!important;
  background:rgba(249,251,249,.91)!important;
  border-bottom:1px solid rgba(220,229,223,.88)!important;
  backdrop-filter:saturate(180%) blur(22px)!important;
  -webkit-backdrop-filter:saturate(180%) blur(22px)!important;
  box-shadow:0 8px 28px rgba(28,46,36,.055)!important;
}
.mobile-nav-shell{
  position:relative!important;
  min-height:68px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 0!important;
}
.mobile-brand{
  display:flex!important;
  align-items:center!important;
  text-decoration:none!important;
  min-width:0!important;
}
.mobile-brand .brand-logo-img{
  display:block!important;
  width:154px!important;
  max-width:47vw!important;
  height:auto!important;
  object-fit:contain!important;
}
.mobile-menu-toggle{
  width:46px!important;
  height:46px!important;
  min-width:46px!important;
  min-height:46px!important;
  border:1px solid #dfe7e2!important;
  border-radius:15px!important;
  background:rgba(255,255,255,.94)!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  box-shadow:0 7px 20px rgba(27,45,36,.06)!important;
}
.mobile-menu-toggle:active{transform:scale(.97)}
.mobile-menu-icon{
  width:20px!important;
  height:16px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
}
.mobile-menu-icon i{
  display:block!important;
  width:20px!important;
  height:2px!important;
  border-radius:999px!important;
  background:#29332e!important;
  transition:transform .2s ease,opacity .2s ease!important;
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:nth-child(1){
  transform:translateY(7px) rotate(45deg)!important;
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:nth-child(2){
  opacity:0!important;
}
.mobile-menu-toggle[aria-expanded="true"] .mobile-menu-icon i:nth-child(3){
  transform:translateY(-7px) rotate(-45deg)!important;
}
.mobile-menu{
  position:absolute!important;
  top:60px!important;
  left:0!important;
  right:0!important;
  z-index:1000!important;
  padding:12px!important;
  border:1px solid rgba(218,227,221,.95)!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 24px 70px rgba(21,38,29,.18)!important;
  animation:mobileMenuIn .16s ease-out!important;
}
.mobile-menu[hidden]{display:none!important}
@keyframes mobileMenuIn{
  from{opacity:0;transform:translateY(-6px) scale(.985)}
  to{opacity:1;transform:none}
}
.mobile-menu-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:8px 8px 12px!important;
  border-bottom:1px solid #edf1ee!important;
}
.mobile-menu-head span{
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  color:#637069!important;
}
.mobile-menu-head small{
  font-size:8px!important;
  line-height:1.2!important;
  letter-spacing:.07em!important;
  color:#8b9690!important;
  text-align:right!important;
}
.mobile-menu-links{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:4px!important;
  padding-top:8px!important;
}
.mobile-menu-link{
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 14px!important;
  border-radius:14px!important;
  color:#3f4b45!important;
  text-decoration:none!important;
  font-size:15px!important;
  font-weight:700!important;
}
.mobile-menu-link span{
  color:#9aa49f!important;
  font-size:22px!important;
  font-weight:400!important;
}
.mobile-menu-link:hover,.mobile-menu-link:active,
.mobile-menu-link.current-page{
  color:#151917!important;
  background:linear-gradient(90deg,rgba(37,185,120,.10),rgba(79,130,243,.08))!important;
}
.mobile-menu-link.current-page::before{
  content:""!important;
  width:7px!important;
  height:7px!important;
  border-radius:50%!important;
  background:#2ecf88!important;
  box-shadow:0 0 0 4px rgba(46,207,136,.10)!important;
  margin-right:10px!important;
}
.mobile-menu-link.current-page{
  justify-content:flex-start!important;
}
.mobile-menu-link.current-page span{margin-left:auto!important}

/* Hide any legacy desktop navigation/header remnants */
.mobile-topbar .navlinks,
.mobile-topbar .tag,
.mobile-topbar .mark,
.mobile-topbar .brandname{display:none!important}

/* General mobile layout */
.hero,.hero.compact{
  padding:42px 0 24px!important;
}
.hero h1{
  font-size:clamp(40px,12vw,58px)!important;
  line-height:.98!important;
  letter-spacing:-.055em!important;
  margin-top:12px!important;
  overflow-wrap:anywhere!important;
}
.hero p{
  font-size:16px!important;
  line-height:1.6!important;
  max-width:100%!important;
}
.eyebrow,.page-kicker{
  font-size:11px!important;
  letter-spacing:.12em!important;
}
.metrics{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
.metrics > *{min-width:0!important;padding:12px!important}
.country-directory-cta,
.independent-warning-inner,
.toolbar,.section-head,.methodgrid,.summary,.statusbar{
  grid-template-columns:1fr!important;
  flex-direction:column!important;
  align-items:stretch!important;
}
.independent-warning,.notice,.disclaimer-strip,.card,.rule,.source,
.info-card,.assessment,.weight-panel,.formula-box,.detailstat,.change,
.summary,.map-card,.map-aside-card{
  border-radius:20px!important;
}
.toolbar{
  display:flex!important;
  gap:10px!important;
}
.toolbar input,.toolbar select,.search input,.sort{
  width:100%!important;
  min-height:48px!important;
  font-size:16px!important;
}
.warning-action,.softlink,.chip,.btn,button,select,input{
  min-height:44px;
}
table,.scale{
  display:block!important;
  width:100%!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
}
.drawer,.modal{
  width:min(100% - 16px,760px)!important;
  max-height:92dvh!important;
  overflow:auto!important;
  border-radius:24px 24px 16px 16px!important;
}
.overlay{
  padding:8px!important;
  align-items:flex-end!important;
}
.close{min-width:44px!important;min-height:44px!important}

/* Mobile map: large, edge-efficient, touch friendly */
.map-section .shell,
section:has(#worldMap) .shell{
  width:min(100% - 18px,1060px)!important;
}
.map-layout{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:12px!important;
}
.map-card{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#eef3ef!important;
  box-shadow:0 18px 50px rgba(35,52,43,.10)!important;
}
.world-map,#worldMap{
  width:100%!important;
  height:55dvh!important;
  min-height:390px!important;
  max-height:520px!important;
  touch-action:pan-x pan-y!important;
}
.map-aside{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.map-legend{overflow-x:auto!important;-webkit-overflow-scrolling:touch!important}
.map-band-grid{
  min-width:620px!important;
}
.mobile-map-controls{
  position:absolute!important;
  top:10px!important;
  left:10px!important;
  right:10px!important;
  z-index:30!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:8px!important;
  pointer-events:none!important;
}
.mobile-map-hint,
.mobile-map-reset{
  pointer-events:auto!important;
  border:1px solid rgba(218,227,221,.95)!important;
  background:rgba(255,255,255,.93)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 8px 24px rgba(35,52,43,.10)!important;
}
.mobile-map-hint{
  padding:8px 10px!important;
  border-radius:12px!important;
  font-size:11px!important;
  line-height:1.25!important;
  color:#5d6963!important;
  max-width:190px!important;
}
.mobile-map-reset{
  min-height:38px!important;
  height:38px!important;
  padding:0 12px!important;
  border-radius:12px!important;
  color:#37443d!important;
  font-size:12px!important;
  font-weight:800!important;
}
.map-tooltip{
  max-width:calc(100% - 20px)!important;
  font-size:12px!important;
}

/* Footer mobile */
.footer{padding:28px 0 34px!important}
.footer .shell{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:16px!important;
}
.footerlinks,.sociallinks{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:9px 12px!important;
}
.sociallink{min-height:44px!important}

@media(max-width:420px){
  :root{--m-page:calc(100% - 22px)}
  .metrics{grid-template-columns:1fr!important}
  .mobile-brand .brand-logo-img{width:144px!important;max-width:50vw!important}
  .world-map,#worldMap{height:52dvh!important;min-height:350px!important}
  .mobile-menu-head small{display:none!important}
}
