/* SLAC Global Landing Page — accessibility-first */
:root{
  --navy:#0D1B2A;
  --navy-deep:#08131F;
  --gold:#D4AF37;
  --blue:#1E5FAF;
  --silver:#C0C4CC;
  --white:#FFFFFF;
  --muted:#D7DBE0;
  --border:rgba(255,255,255,.24);
  --surface:rgba(255,255,255,.07);
  --focus:#F4D35E;
}
*{box-sizing:border-box}
html{background:var(--navy);color-scheme:dark}
body{
  margin:0;
  min-width:320px;
  background:var(--navy);
  color:var(--white);
  font-family:Inter,Arial,"Segoe UI",system-ui,sans-serif;
  font-style:normal;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
em,i{font-style:normal}
a{color:inherit}
.skip-link{
  position:absolute;left:12px;top:12px;z-index:100;
  transform:translateY(-160%);
  padding:12px 16px;border-radius:8px;
  background:var(--gold);color:var(--navy-deep);
  font-weight:800;text-decoration:none
}
.skip-link:focus{transform:none;outline:3px solid #fff;outline-offset:3px}
.gateway{
  position:relative;isolation:isolate;min-height:100vh;overflow:hidden;
  background:var(--navy)
}
.map-layer{position:absolute;inset:0;z-index:-3}
.world-map{width:100%;height:100%;min-height:680px;display:block}
.map-overlay{
  position:absolute;inset:0;z-index:-2;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,27,42,.99) 0%,rgba(13,27,42,.96) 28%,rgba(13,27,42,.79) 52%,rgba(13,27,42,.34) 78%,rgba(13,27,42,.12) 100%),
    linear-gradient(180deg,rgba(8,19,31,.08),rgba(8,19,31,.44))
}
.top-line{position:absolute;top:0;left:0;right:0;height:2px;z-index:-1;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.9}
.hero{
  width:min(1180px,100%);margin:0 auto;min-height:100vh;
  display:flex;align-items:center;padding:72px 28px
}
.hero-inner{width:min(650px,100%)}
.eyebrow{
  margin:0 0 18px;color:var(--gold);font-size:.88rem;line-height:1.4;
  font-weight:800;letter-spacing:.18em;text-transform:uppercase
}
h1{
  margin:0;color:#fff;font-size:clamp(2.65rem,7vw,5.5rem);
  line-height:1;letter-spacing:-.04em;font-weight:800;text-wrap:balance
}
.intro{
  margin:26px 0 0;max-width:610px;color:var(--muted);
  font-size:clamp(1.08rem,2vw,1.3rem);line-height:1.7;font-weight:500
}
.market-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:34px}
.market-card{
  min-height:78px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;
  padding:16px 18px;border:1px solid var(--border);border-radius:14px;
  background:var(--surface);text-decoration:none;
  backdrop-filter:blur(10px);
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease
}
.market-card:hover{border-color:var(--gold);background:rgba(212,175,55,.11);transform:translateY(-2px)}
.market-card:focus-visible{outline:3px solid var(--focus);outline-offset:4px;border-color:#fff}
.flag{font-size:1.75rem;line-height:1}
.market-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
.market-name{font-size:1.08rem;line-height:1.3;font-weight:800}
.market-subtitle{font-size:.92rem;line-height:1.45;font-weight:500;color:var(--silver)}
.arrow{font-size:1.4rem;font-weight:800;color:var(--gold)}
.status{margin:22px 0 0;color:var(--silver);font-size:.94rem;line-height:1.6;font-weight:500}
.world-line{fill:none;vector-effect:non-scaling-stroke}
.country-hit{cursor:pointer;outline:none}
.country-hit:focus .pin-core,.country-hit:hover .pin-core{stroke:var(--focus);stroke-width:5}
.country-hit:focus .map-label,.country-hit:hover .map-label{fill:var(--focus)}
.pin-ring{transform-box:fill-box;transform-origin:center;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.55);opacity:.52}72%{transform:scale(1.85);opacity:0}100%{transform:scale(1.85);opacity:0}}
.map-label{
  font-family:Inter,Arial,sans-serif;font-size:16px;font-weight:800;font-style:normal;
  paint-order:stroke;stroke:var(--navy);stroke-width:5px;stroke-linejoin:round
}
@media(max-width:820px){
  .hero{align-items:flex-start;padding-top:94px}
  .map-layer{opacity:.58;transform:scale(1.1) translateX(6%);transform-origin:center}
  .map-overlay{background:linear-gradient(180deg,rgba(13,27,42,.99),rgba(13,27,42,.89) 55%,rgba(13,27,42,.73))}
}
@media(max-width:640px){
  .hero{padding-inline:20px;padding-bottom:64px}
  h1{font-size:clamp(2.65rem,15vw,4.2rem);line-height:1.02}
  .intro{font-size:1.05rem}
  .market-grid{grid-template-columns:1fr}
  .market-card{min-height:74px}
  .map-layer{opacity:.38;transform:scale(1.2) translateX(10%)}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .pin-ring{animation:none}
}


/* Strong interactive affordance for map locations */
.country-hit {
  cursor: pointer;
}

.country-hit .pin-core,
.country-hit .pin-ring,
.country-hit .map-label {
  transition:
    transform .18s ease,
    fill .18s ease,
    stroke .18s ease,
    opacity .18s ease;
  transform-box: fill-box;
  transform-origin: center;
}

.country-hit .map-action {
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.country-hit:hover .pin-core,
.country-hit:focus .pin-core,
.country-hit:focus-visible .pin-core {
  transform: scale(1.32);
  stroke: var(--focus);
  stroke-width: 4px;
}

.country-hit:hover .pin-ring,
.country-hit:focus .pin-ring,
.country-hit:focus-visible .pin-ring {
  opacity: .72;
  transform: scale(1.18);
  animation: none;
}

.country-hit:hover .map-label,
.country-hit:focus .map-label,
.country-hit:focus-visible .map-label {
  fill: var(--focus);
}

.country-hit:hover .map-action,
.country-hit:focus .map-action,
.country-hit:focus-visible .map-action {
  opacity: 1;
  transform: translateY(-2px);
}

.country-hit:focus-visible {
  outline: none;
}

.map-action-bg {
  fill: rgba(8,19,31,.96);
  stroke: var(--gold);
  stroke-width: 1.4px;
}

.map-action-text {
  fill: #FFFFFF;
  font-family: Inter, Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  font-style: normal;
  letter-spacing: .01em;
}

@media (hover: hover) and (pointer: fine) {
  .country-hit:hover {
    filter: drop-shadow(0 0 9px rgba(212,175,55,.34));
  }
}

/* Global Gateway IA */
.global-header{
  position:absolute;
  top:0;left:0;right:0;
  z-index:20;
  padding:22px 28px;
}
.global-header-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}
.brand-lockup{min-width:0}
.brand-name{
  color:#FFFFFF;
  font-size:1.02rem;
  line-height:1.2;
  font-weight:800;
  letter-spacing:.08em;
}
.brand-subline{
  margin-top:5px;
  color:var(--silver);
  font-size:.72rem;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.12em;
}
.market-pair{
  color:var(--silver);
  font-size:.9rem;
  line-height:1.4;
  font-weight:600;
  white-space:nowrap;
}
.hero{
  padding-top:128px;
  padding-bottom:110px;
}
.hero-inner{
  width:min(760px,100%);
}
.gateway-grid{
  margin-top:36px;
}
.global-footer{
  position:absolute;
  left:0;right:0;bottom:0;
  z-index:20;
  padding:18px 28px 22px;
  color:var(--silver);
  font-size:.84rem;
}
.global-footer-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.14);
  padding-top:16px;
}
.global-footer nav{
  display:flex;
  align-items:center;
  gap:10px;
}
.global-footer a{
  color:var(--silver);
  text-decoration:none;
}
.global-footer a:hover,
.global-footer a:focus-visible{
  color:#FFFFFF;
}
@media(max-width:640px){
  .global-header{
    padding:18px 20px;
  }
  .global-header-inner{
    gap:12px;
  }
  .brand-name{font-size:.92rem}
  .brand-subline{font-size:.63rem;letter-spacing:.08em}
  .market-pair{font-size:.76rem}
  .hero{
    padding-top:118px;
    padding-bottom:138px;
  }
  .global-footer{
    padding-inline:20px;
  }
  .global-footer-inner{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
}

/* v4 — direct map interaction + text links */
.map-hit-area{
  cursor:pointer;
  pointer-events:all;
}

.gateway-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  margin-top:18px;
}

.gateway-text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  color:#FFFFFF;
  font-size:.98rem;
  line-height:1.4;
  font-weight:750;
  text-decoration:none;
  border-bottom:1px solid rgba(212,175,55,.65);
  padding:8px 0 6px;
}

.gateway-text-link:hover{
  color:var(--focus);
  border-bottom-color:var(--focus);
}

.gateway-text-link:focus-visible{
  outline:3px solid var(--focus);
  outline-offset:5px;
  border-radius:3px;
}

@media(max-width:640px){
  .gateway-links{
    flex-direction:column;
    align-items:flex-start;
    gap:2px;
  }
}

/* v5 — responsive layout architecture
   Desktop >= 1024
   Tablet 768–1023
   Mobile < 768
*/

.market-detail{
  display:none;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.45;
  font-weight:500;
}

@media (min-width:1024px){
  .gateway{
    min-height:760px;
  }

  .hero{
    min-height:760px;
    align-items:center;
    padding-top:132px;
    padding-bottom:116px;
  }

  .hero-inner{
    width:min(680px,56vw);
  }

  .map-layer{
    inset:0;
    opacity:1;
    transform:none;
  }

  .world-map{
    min-height:760px;
  }

  .market-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:650px;
  }

  .global-footer{
    position:absolute;
  }
}

@media (min-width:768px) and (max-width:1023px){
  .gateway{
    min-height:780px;
  }

  .global-header{
    padding:20px 24px;
  }

  .hero{
    min-height:780px;
    align-items:flex-start;
    padding:118px 24px 120px;
  }

  .hero-inner{
    width:min(640px,76vw);
  }

  h1{
    font-size:clamp(3rem,7vw,4.6rem);
    max-width:620px;
  }

  .intro{
    max-width:560px;
  }

  .map-layer{
    opacity:.50;
    transform:none;
  }

  .world-map{
    min-height:780px;
  }

  .map-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(13,27,42,.99) 0%,
        rgba(13,27,42,.95) 42%,
        rgba(13,27,42,.68) 72%,
        rgba(13,27,42,.38) 100%
      ),
      linear-gradient(
        180deg,
        rgba(8,19,31,.08),
        rgba(8,19,31,.42)
      );
  }

  .market-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    max-width:620px;
  }

  .global-footer{
    position:absolute;
  }
}

@media (max-width:767px){
  .gateway{
    min-height:0;
    overflow:hidden;
    padding-bottom:0;
  }

  .global-header{
    position:relative;
    padding:18px 20px 10px;
    background:var(--navy);
  }

  .global-header-inner{
    align-items:flex-start;
    gap:14px;
  }

  .brand-name{
    font-size:.9rem;
  }

  .brand-subline{
    margin-top:4px;
    font-size:.61rem;
    line-height:1.35;
    letter-spacing:.07em;
  }

  .market-pair{
    font-size:.72rem;
    line-height:1.35;
    white-space:normal;
    text-align:right;
  }

  .hero{
    min-height:0;
    display:block;
    padding:42px 20px 28px;
  }

  .hero-inner{
    width:100%;
    max-width:none;
  }

  h1{
    max-width:100%;
    font-size:clamp(2.55rem,13.5vw,4rem);
    line-height:1.03;
    letter-spacing:-.035em;
  }

  .intro{
    margin-top:20px;
    max-width:100%;
    font-size:1rem;
    line-height:1.65;
  }

  .market-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }

  .market-card{
    min-height:96px;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    padding:16px;
    background:rgba(255,255,255,.055);
    border-color:rgba(255,255,255,.20);
    backdrop-filter:none;
  }

  .market-card:hover{
    transform:none;
  }

  .flag{
    font-size:1.6rem;
  }

  .market-name{
    font-size:1.04rem;
  }

  .market-subtitle{
    font-size:.9rem;
    color:#FFFFFF;
    font-weight:700;
  }

  .market-detail{
    display:block;
    margin-top:2px;
  }

  .gateway-links{
    margin-top:10px;
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .gateway-text-link{
    width:max-content;
    min-height:44px;
    padding:10px 0 7px;
    font-size:.95rem;
  }

  .map-status{
    margin-top:18px;
    font-size:.84rem;
  }

  /* Map becomes a secondary supporting visual on mobile.
     No scaling/translation: marker geometry stays aligned with the SVG. */
  .map-layer{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    margin-top:8px;
    opacity:.66;
    transform:none !important;
    z-index:0;
    overflow:hidden;
    order:3;
  }

  .world-map{
    width:100%;
    height:auto;
    min-height:0;
    aspect-ratio:1200 / 680;
    display:block;
  }

  .map-overlay{
    position:absolute;
    inset:auto 0 0 0;
    height:43%;
    z-index:1;
    background:linear-gradient(180deg,rgba(13,27,42,0),rgba(13,27,42,.72));
    pointer-events:none;
  }

  .top-line{
    display:none;
  }

  .global-footer{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    padding:20px;
    background:var(--navy);
  }

  .global-footer-inner{
    width:100%;
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
    padding-top:16px;
  }

  /* Mobile navigation should not depend on tiny map targets */
  .country-hit{
    pointer-events:none;
  }

  .map-action{
    display:none;
  }
}

@media (max-width:380px){
  .global-header{
    padding-inline:16px;
  }

  .hero{
    padding-inline:16px;
  }

  h1{
    font-size:clamp(2.35rem,13vw,3.35rem);
  }

  .market-card{
    padding:14px;
    gap:11px;
  }

  .market-detail{
    font-size:.8rem;
  }

  .global-footer{
    padding-inline:16px;
  }
}

@media (max-width:320px){
  .global-header-inner{
    flex-direction:column;
  }

  .market-pair{
    text-align:left;
  }

  h1{
    font-size:2.3rem;
  }
}

/* ==========================================================
   v6 LUXURY VISUAL SYSTEM
   ========================================================== */
:root{
  --navy:#0D1B2A;
  --navy-deep:#050B12;
  --navy-lux:#07111B;
  --navy-panel:#0A1622;
  --gold:#D4AF37;
  --gold-soft:#E1C56A;
  --blue:#1E5FAF;
  --silver:#C0C4CC;
  --white:#FFFFFF;
  --muted:#B8C0C9;
  --border:rgba(212,175,55,.22);
  --surface:rgba(9,20,31,.62);
  --focus:#E7CA68;
}

html,body{background:#050B12}

.gateway{
  background:
    radial-gradient(circle at 76% 43%,rgba(30,95,175,.08),transparent 28%),
    radial-gradient(circle at 58% 58%,rgba(212,175,55,.035),transparent 30%),
    linear-gradient(135deg,#050B12 0%,#07111B 46%,#0A1622 100%);
}

.global-header{padding-top:28px}
.global-header-inner{
  padding-bottom:18px;
  border-bottom:1px solid rgba(212,175,55,.16);
}
.brand-name{font-size:1.04rem;font-weight:700;letter-spacing:.12em}
.brand-subline{
  color:rgba(192,196,204,.78);
  letter-spacing:.16em;
  font-weight:600;
}
.market-pair{color:rgba(192,196,204,.84);letter-spacing:.04em}

.hero-inner{position:relative}
.hero-inner::before{
  content:"";
  display:block;
  width:56px;height:1px;
  margin-bottom:28px;
  background:linear-gradient(90deg,var(--gold),rgba(212,175,55,.12));
}

h1{
  max-width:780px;
  color:#fff;
  font-weight:700;
  letter-spacing:-.046em;
  line-height:.99;
  text-shadow:0 1px 26px rgba(0,0,0,.18);
}
.intro{
  max-width:620px;
  color:rgba(225,228,233,.80);
  font-weight:400;
  line-height:1.78;
}

.map-layer{
  opacity:.88;
  filter:saturate(.74) contrast(1.05);
}
.world-line{opacity:.18!important}
.map-overlay{
  background:
    linear-gradient(90deg,
      rgba(5,11,18,.995) 0%,
      rgba(5,11,18,.97) 30%,
      rgba(5,11,18,.84) 52%,
      rgba(5,11,18,.48) 77%,
      rgba(5,11,18,.25) 100%),
    linear-gradient(180deg,rgba(5,11,18,.08),rgba(5,11,18,.52));
}
.top-line{
  height:1px;
  opacity:.55;
  background:linear-gradient(90deg,
    transparent 3%,
    rgba(212,175,55,.22) 30%,
    rgba(212,175,55,.72) 50%,
    rgba(212,175,55,.22) 70%,
    transparent 97%);
}

.market-grid{gap:12px;margin-top:38px}
.market-card{
  min-height:84px;
  border:1px solid rgba(212,175,55,.18);
  border-radius:4px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.008)),
    rgba(7,17,27,.62);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.025),
    0 18px 42px rgba(0,0,0,.16);
  backdrop-filter:blur(14px);
}
.market-card:hover{
  border-color:rgba(212,175,55,.52);
  background:
    linear-gradient(135deg,rgba(212,175,55,.07),rgba(255,255,255,.008)),
    rgba(7,17,27,.82);
  transform:translateY(-1px);
}
.market-name{font-weight:700;letter-spacing:.01em}
.market-subtitle{color:rgba(225,228,233,.76);font-weight:500}
.market-detail{color:rgba(184,192,201,.72)}
.arrow{color:var(--gold-soft);font-weight:500}

.gateway-links{margin-top:18px;gap:16px 34px}
.gateway-text-link{
  min-height:40px;
  padding:7px 0 5px;
  border-bottom:1px solid rgba(212,175,55,.40);
  color:rgba(255,255,255,.92);
  font-size:.92rem;
  font-weight:600;
  letter-spacing:.015em;
}
.gateway-text-link:hover{
  color:var(--gold-soft);
  border-bottom-color:var(--gold-soft);
}

.pin-ring{opacity:.26!important}
.pin-core{stroke-width:1.7px!important}
.country-hit:hover .pin-core,
.country-hit:focus .pin-core,
.country-hit:focus-visible .pin-core{
  stroke:var(--gold-soft);
  stroke-width:3px!important;
}
.map-label{font-weight:600;letter-spacing:.025em}
.map-action-bg{
  fill:rgba(5,11,18,.96);
  stroke:rgba(212,175,55,.55);
  stroke-width:1px;
}
.map-action-text{font-size:12px;font-weight:600;letter-spacing:.03em}

.global-footer{color:rgba(192,196,204,.64)}
.global-footer-inner{border-top:1px solid rgba(212,175,55,.12)}
.global-footer a{color:rgba(192,196,204,.72)}
.global-footer a:hover,
.global-footer a:focus-visible{color:var(--gold-soft)}

.market-card-lux{
  grid-template-columns:minmax(0,1fr) auto;
  padding-left:20px;
}

@media(max-width:767px){
  .global-header{background:#050B12}
  .global-header-inner{padding-bottom:14px}
  .hero{padding-top:38px}
  .hero-inner::before{width:42px;margin-bottom:22px}
  h1{font-weight:700;line-height:1.02}
  .intro{color:rgba(225,228,233,.78)}
  .market-card{
    border-radius:3px;
    background:rgba(7,17,27,.90);
    box-shadow:none;
  }
  .map-layer{
    opacity:.48;
    filter:saturate(.55) contrast(1.04);
  }
  .global-footer{background:#050B12}
  .market-card-lux{
    grid-template-columns:minmax(0,1fr) auto;
    padding-left:17px;
  }
}

/* v7 — Editorial Luxury Map */
.editorial-map{
  overflow:visible;
}

.luxury-pin .pin-core{
  transition:transform .18s ease,stroke .18s ease,fill .18s ease;
  transform-box:fill-box;
  transform-origin:center;
}

.luxury-pin:hover .pin-core,
.luxury-pin:focus .pin-core,
.luxury-pin:focus-visible .pin-core{
  transform:scale(1.28);
  stroke:#E1C56A !important;
}

.luxury-pin .map-label{
  font-size:15px;
  font-weight:600;
  letter-spacing:.045em;
}

.luxury-pin:hover .map-label,
.luxury-pin:focus .map-label,
.luxury-pin:focus-visible .map-label{
  fill:#E1C56A;
}

@media(min-width:1024px){
  .map-layer{
    width:112%;
    left:8%;
    right:auto;
  }

  .world-map{
    object-position:62% center;
  }
}

@media(min-width:768px) and (max-width:1023px){
  .map-layer{
    width:108%;
    left:4%;
  }
}

@media(max-width:767px){
  .map-layer{
    margin-top:14px;
    opacity:.62;
    overflow:hidden;
  }

  .world-map{
    width:168%;
    max-width:none;
    margin-left:-61%;
    aspect-ratio:1200 / 680;
  }

  .luxury-pin .map-label{
    font-size:18px;
  }
}

/* ==========================================================
   v7.1 TYPOGRAPHY FIX
   Goal: deterministic non-italic rendering across Vercel,
   Plesk, Chrome, Safari, Edge and system font fallbacks.
   ========================================================== */

html,
body,
.gateway,
.gateway *,
.global-header,
.global-header *,
.hero,
.hero *,
.market-card,
.market-card *,
.global-footer,
.global-footer *,
.world-map text {
  font-style: normal !important;
  font-synthesis: none !important;
  font-variation-settings: "ital" 0, "slnt" 0 !important;
}

/* Stable system stack — no remote font dependency */
html,
body {
  font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif !important;
}

/* Explicit typography roles */
.brand-name {
  font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
}

.brand-subline,
.market-pair {
  font-style: normal !important;
  font-weight: 600 !important;
}

h1 {
  font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-synthesis: none !important;
  font-variation-settings: "ital" 0, "slnt" 0 !important;
}

.intro {
  font-style: normal !important;
  font-weight: 400 !important;
}

.market-name {
  font-style: normal !important;
  font-weight: 700 !important;
}

.market-subtitle {
  font-style: normal !important;
  font-weight: 600 !important;
}

.market-detail,
.status,
.global-footer,
.global-footer a {
  font-style: normal !important;
  font-weight: 400 !important;
}

.gateway-text-link {
  font-style: normal !important;
  font-weight: 600 !important;
}

.map-label,
.map-action-text {
  font-family:
    "Segoe UI",
    Arial,
    Helvetica,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    sans-serif !important;
  font-style: normal !important;
  font-weight: 600 !important;
  font-synthesis: none !important;
  font-variation-settings: "ital" 0, "slnt" 0 !important;
}

/* Prevent inherited italic from any host/theme stylesheet */
h1, h2, h3, h4, h5, h6,
p, span, a, div, button, label, nav, header, footer, section {
  font-style: normal !important;
}

/* Optional cache-bust marker for inspection */
:root {
  --slac-typography-version: "7.1";
}

/* ==========================================================
   v7.2 MAP COMPOSITION FIX
   Keeps v7.1 typography/luxury styling unchanged.
   ========================================================== */

/* Desktop: keep Asia and both SLAC markers safely inside frame */
@media (min-width:1024px){
  .map-layer{
    width:100% !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    overflow:hidden;
  }

  .world-map{
    width:100% !important;
    height:100% !important;
    min-height:760px;
    transform:translateX(-1.5%) scale(.96);
    transform-origin:center center;
    overflow:visible;
  }

  /* Slightly more transparent behind hero copy, but retain Asia */
  .map-overlay{
    background:
      linear-gradient(
        90deg,
        rgba(5,11,18,.995) 0%,
        rgba(5,11,18,.97) 29%,
        rgba(5,11,18,.83) 49%,
        rgba(5,11,18,.44) 72%,
        rgba(5,11,18,.16) 100%
      ),
      linear-gradient(180deg,rgba(5,11,18,.06),rgba(5,11,18,.44));
  }
}

/* Tablet: avoid clipping labels at right edge */
@media (min-width:768px) and (max-width:1023px){
  .map-layer{
    width:100% !important;
    left:0 !important;
    right:0 !important;
    transform:none !important;
    overflow:hidden;
  }

  .world-map{
    width:100% !important;
    height:100% !important;
    transform:translateX(-2%) scale(.94);
    transform-origin:center center;
    overflow:visible;
  }
}

/* Mobile keeps v7.1 navigation-first architecture,
   but gives the Asia crop a little more breathing room. */
@media (max-width:767px){
  .map-layer{
    width:100% !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }

  .world-map{
    width:154% !important;
    max-width:none !important;
    height:auto !important;
    margin-left:-49% !important;
    transform:none !important;
  }
}

/* ==========================================================
   v7.3 LUXURY PULSE
   Subtle interaction cue for Thailand / Singapore markers.
   ========================================================== */

.luxury-pulse-ring{
  transform-box:fill-box;
  transform-origin:center;
  animation:slacLuxuryPulse 2.8s ease-out infinite;
  pointer-events:none;
}

.luxury-pulse-ring.is-secondary{
  animation-delay:1.4s;
}

@keyframes slacLuxuryPulse{
  0%{
    transform:scale(.55);
    opacity:.34;
  }
  55%{
    opacity:.14;
  }
  82%{
    transform:scale(1.85);
    opacity:0;
  }
  100%{
    transform:scale(1.85);
    opacity:0;
  }
}

.country-hit:hover .luxury-pulse-ring,
.country-hit:focus .luxury-pulse-ring,
.country-hit:focus-visible .luxury-pulse-ring{
  animation-duration:2.2s;
}

@media(prefers-reduced-motion:reduce){
  .luxury-pulse-ring{
    animation:none !important;
    opacity:.18;
    transform:none;
  }
}

/* ==========================================================
   v7.3.2 MOBILE FIX
   Fixes overlay stacking, contrast, small-screen cropping.
   ========================================================== */

@media (max-width:767px){

  /* Establish predictable mobile stacking */
  .gateway{
    display:flex;
    flex-direction:column;
    min-height:100%;
    overflow-x:hidden;
    background:#050B12;
  }

  .global-header{
    position:relative !important;
    z-index:20 !important;
    order:1;
  }

  .hero{
    position:relative !important;
    z-index:10 !important;
    order:2;
    width:100%;
    padding-top:32px !important;
    padding-bottom:22px !important;
    background:
      linear-gradient(
        180deg,
        rgba(5,11,18,1) 0%,
        rgba(5,11,18,.99) 78%,
        rgba(5,11,18,.96) 100%
      );
  }

  .hero-inner{
    position:relative;
    z-index:11;
  }

  /* Ensure headline always starts fully inside viewport */
  h1{
    margin-top:0 !important;
    padding-top:0 !important;
    max-width:100%;
    font-size:clamp(2.35rem,12.5vw,3.65rem) !important;
    line-height:1.03 !important;
    overflow:visible !important;
  }

  .intro{
    color:rgba(242,244,246,.84) !important;
  }

  /* Market navigation must remain fully readable */
  .market-grid{
    position:relative;
    z-index:12;
  }

  .market-card,
  .market-card-lux{
    position:relative;
    z-index:12;
    background:#09131E !important;
    border-color:rgba(212,175,55,.28) !important;
    opacity:1 !important;
    filter:none !important;
  }

  .market-name{
    color:#FFFFFF !important;
  }

  .market-subtitle{
    color:rgba(238,240,243,.82) !important;
  }

  .market-detail{
    color:rgba(196,202,209,.72) !important;
  }

  .arrow{
    color:#E1C56A !important;
  }

  .gateway-links,
  .map-status{
    position:relative;
    z-index:12;
  }

  .gateway-text-link{
    color:#F7F7F5 !important;
  }

  .map-status{
    color:rgba(203,209,216,.74) !important;
  }

  /* Map is a genuine supporting section below hero */
  .map-layer{
    position:relative !important;
    order:3;
    z-index:1 !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    opacity:.56 !important;
    filter:saturate(.58) contrast(1.04);
    overflow:hidden;
    pointer-events:none;
  }

  .world-map{
    display:block;
    width:154% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    margin-left:-49% !important;
    transform:none !important;
  }

  /* Critical fix: overlay can no longer cover hero/cards */
  .map-overlay{
    display:none !important;
  }

  .top-line{
    display:none !important;
  }

  .global-footer{
    position:relative !important;
    order:4;
    z-index:10 !important;
    margin:0;
    background:#050B12 !important;
  }

  .global-footer-inner{
    border-top:1px solid rgba(212,175,55,.16);
  }
}

/* Extra-tight iPhone SE / narrow-phone tuning */
@media (max-width:390px){
  .global-header{
    padding:16px 16px 10px !important;
  }

  .hero{
    padding:28px 16px 20px !important;
  }

  .hero-inner::before{
    margin-bottom:18px !important;
  }

  h1{
    font-size:clamp(2.25rem,12vw,3.15rem) !important;
    line-height:1.02 !important;
  }

  .intro{
    margin-top:18px !important;
    font-size:.98rem !important;
    line-height:1.62 !important;
  }

  .market-grid{
    margin-top:24px !important;
    gap:10px !important;
  }

  .market-card{
    min-height:90px !important;
    padding:14px !important;
  }

  .gateway-links{
    margin-top:8px !important;
  }

  .global-footer{
    padding:18px 16px !important;
  }
}

@media (max-width:320px){
  h1{
    font-size:2.15rem !important;
  }

  .brand-name{
    font-size:.86rem !important;
  }

  .brand-subline{
    font-size:.58rem !important;
  }
}
