/* =========================================================
   M2A GROUP V8 — FINAL PRODUCTION CLOSURE
   Contact CTA + canonical bilingual infinite ticker engine.
   ========================================================= */

/* ---------- Contact CTA safety ---------- */
a.header-cta{
  position:relative;
  z-index:20;
  pointer-events:auto!important;
  cursor:pointer;
}
a.header-cta:focus-visible{
  outline:2px solid #D4AF37;
  outline-offset:4px;
}
#contact-form-section,#contact{scroll-margin-top:112px}

/* =========================================================
   CANONICAL BILINGUAL INFINITE TICKER
   The page-specific track becomes a stationary viewport.
   Only the injected .m2a-loop-track moves.
   ========================================================= */

[data-m2a-loop-host="true"]{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  direction:ltr!important;
  animation:none!important;
  animation-name:none!important;
  animation-play-state:paused!important;
  transform:none!important;
  will-change:auto!important;
}

.m2a-loop-track{
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  width:max-content!important;
  min-width:max-content!important;
  max-width:none!important;
  gap:0!important;
  direction:ltr!important;
  will-change:transform!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  animation-timing-function:linear!important;
  animation-iteration-count:infinite!important;
  animation-play-state:running!important;
  animation-delay:0s!important;
}

.m2a-loop-track:hover{
  animation-play-state:running!important;
}

.m2a-loop-group{
  display:flex!important;
  flex:0 0 auto!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  gap:var(--m2a-loop-gap,14px)!important;
  padding-inline-end:var(--m2a-loop-gap,14px)!important;
  margin:0!important;
}

html[dir="ltr"] .m2a-loop-track{
  animation-name:m2aLoopEnglishCanonical!important;
}

html[dir="rtl"] .m2a-loop-track{
  animation-name:m2aLoopArabicCanonical!important;
}

html[dir="rtl"] .m2a-loop-group,
html[dir="rtl"] .m2a-loop-group :is(
  .strip-sector,.projects-v8-strip-group,.projects-v8-strip-card,
  .insights-marquee-card,.architecture-rail-card,.sector-signal-card,
  .sector-image-ticker-card
){
  direction:rtl!important;
  text-align:right!important;
}

html[dir="ltr"] .m2a-loop-group,
html[dir="ltr"] .m2a-loop-group :is(
  .strip-sector,.projects-v8-strip-group,.projects-v8-strip-card,
  .insights-marquee-card,.architecture-rail-card,.sector-signal-card,
  .sector-image-ticker-card
){
  direction:ltr!important;
  text-align:left!important;
}

@keyframes m2aLoopEnglishCanonical{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(var(--m2a-loop-negative-distance,-1800px),0,0)}
}

@keyframes m2aLoopArabicCanonical{
  from{transform:translate3d(var(--m2a-loop-negative-distance,-1800px),0,0)}
  to{transform:translate3d(0,0,0)}
}

@media(prefers-reduced-motion:reduce){
  html[dir="ltr"] .m2a-loop-track{
    animation-name:m2aLoopEnglishCanonical!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
    animation-play-state:running!important;
  }
  html[dir="rtl"] .m2a-loop-track{
    animation-name:m2aLoopArabicCanonical!important;
    animation-timing-function:linear!important;
    animation-iteration-count:infinite!important;
    animation-play-state:running!important;
  }
}

/* ---------- Digital Architecture final title lock ---------- */
@media(min-width:901px){
  body.m2a-master-template.architecture-page .architecture-rail-head{
    max-width:none!important;
    width:100%!important;
  }
  body.m2a-master-template.architecture-page .architecture-rail-head h2{
    width:100%!important;
    max-width:none!important;
    white-space:nowrap!important;
    text-wrap:nowrap!important;
    font-size:clamp(40px,4vw,58px)!important;
    line-height:1.22!important;
  }
}

@media(max-width:900px){
  body.m2a-master-template.architecture-page .architecture-rail-head h2{
    white-space:normal!important;
    text-wrap:balance;
  }
}

body.about-page .about-signature-visual{display:none!important}

/* =========================================================
   HOMEPAGE INTRO — MOLTEN GOLD × EMBER CHARCOAL
   ========================================================= */
body.home-page .m2a-intro{
  background:transparent!important;
  overflow:hidden!important;
  isolation:isolate!important;
  animation:m2aEmberIntroAway .28s ease forwards 3.08s!important;
}

body.home-page .m2a-intro::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  opacity:1!important;
  background:
    radial-gradient(circle at 50% 42%,rgba(255,232,151,.42) 0%,rgba(255,184,58,.27) 19%,transparent 43%),
    radial-gradient(ellipse at 50% 110%,rgba(255,93,37,.78) 0%,rgba(196,51,27,.58) 31%,transparent 68%),
    radial-gradient(circle at 14% 18%,rgba(196,56,35,.46),transparent 35%),
    radial-gradient(circle at 86% 20%,rgba(175,43,29,.46),transparent 36%),
    linear-gradient(145deg,#37100e 0%,#5a1712 26%,#7a2417 54%,#591812 78%,#32100e 100%)!important;
  box-shadow:
    inset 0 0 105px rgba(0,0,0,.22),
    inset 0 -80px 155px rgba(195,48,23,.46)!important;
  animation:
    m2aEmberBreath 1.55s ease-in-out infinite alternate,
    m2aEmberBackdropAway .82s cubic-bezier(.22,.61,.36,1) forwards 2.12s!important;
}

body.home-page .m2a-intro::after{
  content:""!important;
  position:absolute!important;
  inset:-25% -15%!important;
  z-index:1!important;
  pointer-events:none!important;
  opacity:.86!important;
  background:
    linear-gradient(112deg,transparent 34%,rgba(255,195,74,.08) 42%,rgba(255,239,171,.42) 49%,rgba(255,178,43,.14) 55%,transparent 64%)!important;
  transform:translate3d(-46%,0,0) rotate(-2deg)!important;
  mix-blend-mode:screen!important;
  animation:
    m2aMoltenSweep 1.28s cubic-bezier(.2,.76,.2,1) forwards .46s,
    m2aEmberBackdropAway .72s ease forwards 2.08s!important;
}

body.home-page .m2a-intro-brand{
  z-index:5!important;
  width:min(610px,78vw)!important;
  gap:2px!important;
  opacity:0!important;
  transform:translateY(18px) scale(.94)!important;
  animation:
    m2aMoltenBrandIn .72s cubic-bezier(.16,1,.3,1) forwards .18s,
    m2aMoltenBrandOut .42s cubic-bezier(.4,0,1,1) forwards 2.02s!important;
}

body.home-page .m2a-intro-brand img{
  width:min(510px,100%)!important;
  height:auto!important;
  object-fit:contain!important;
  filter:
    brightness(1.22)
    contrast(1.05)
    saturate(1.20)
    drop-shadow(0 0 16px rgba(255,235,162,1))
    drop-shadow(0 0 44px rgba(255,185,55,.82))
    drop-shadow(0 20px 54px rgba(160,42,19,.42))!important;
  animation:m2aMoltenLogoPulse 1.15s ease-in-out infinite alternate!important;
}

body.home-page .m2a-intro-tagline{
  color:#fff0c6!important;
  font-weight:800!important;
  letter-spacing:.015em!important;
  text-shadow:
    0 0 14px rgba(255,222,126,.60),
    0 8px 26px rgba(111,26,12,.58)!important;
}

body.home-page .m2a-intro-tagline span{
  color:#ffd36d!important;
  text-shadow:0 0 18px rgba(255,193,60,1)!important;
}

body.home-page .m2a-intro-panels{
  z-index:3!important;
  perspective:1200px!important;
}

body.home-page .m2a-intro-panels span{
  transform:scaleY(1)!important;
  background:
    linear-gradient(180deg,#7a2417 0%,#5f1a14 35%,#4b1410 58%,#6b2016 100%)!important;
  border-inline-end:1px solid rgba(255,209,99,.18)!important;
  box-shadow:
    inset 1px 0 0 rgba(255,232,164,.07),
    inset -1px 0 0 rgba(130,30,15,.20),
    inset 0 -22px 58px rgba(219,61,26,.27)!important;
  animation:m2aEmberPanelOpen .88s cubic-bezier(.77,0,.18,1) forwards!important;
}

body.home-page .m2a-intro-panels span:nth-child(odd){transform-origin:center top!important}
body.home-page .m2a-intro-panels span:nth-child(even){transform-origin:center bottom!important}
body.home-page .m2a-intro-panels span:nth-child(1){animation-delay:2.18s!important}
body.home-page .m2a-intro-panels span:nth-child(2){animation-delay:2.22s!important}
body.home-page .m2a-intro-panels span:nth-child(3){animation-delay:2.26s!important}
body.home-page .m2a-intro-panels span:nth-child(4){animation-delay:2.30s!important}
body.home-page .m2a-intro-panels span:nth-child(5){animation-delay:2.34s!important}
body.home-page .m2a-intro-panels span:nth-child(6){animation-delay:2.38s!important}
body.home-page .m2a-intro-panels span:nth-child(7){animation-delay:2.42s!important}
body.home-page .m2a-intro-panels span:nth-child(8){animation-delay:2.46s!important}
body.home-page .m2a-intro-panels span:nth-child(9){animation-delay:2.50s!important}

@keyframes m2aMoltenBrandIn{
  0%{opacity:0;transform:translateY(18px) scale(.94);filter:blur(5px)}
  60%{opacity:1;transform:translateY(-2px) scale(1.018);filter:blur(0)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}

@keyframes m2aMoltenBrandOut{
  to{opacity:0;transform:translateY(-10px) scale(1.035);filter:blur(3px)}
}

@keyframes m2aMoltenLogoPulse{
  from{transform:scale(.995)}
  to{transform:scale(1.012)}
}

@keyframes m2aMoltenSweep{
  0%{transform:translate3d(-46%,0,0) rotate(-2deg);opacity:0}
  18%{opacity:.88}
  100%{transform:translate3d(48%,0,0) rotate(-2deg);opacity:0}
}

@keyframes m2aEmberBreath{
  from{filter:saturate(.98) brightness(1)}
  to{filter:saturate(1.20) brightness(1.10)}
}

@keyframes m2aEmberPanelOpen{
  0%{transform:scaleY(1);filter:brightness(1)}
  45%{filter:brightness(1.24)}
  100%{transform:scaleY(0);filter:brightness(.90)}
}

@keyframes m2aEmberBackdropAway{
  to{opacity:0;visibility:hidden}
}

@keyframes m2aEmberIntroAway{
  to{opacity:0;visibility:hidden;pointer-events:none}
}

@media(max-width:720px){
  body.home-page .m2a-intro-brand{
    width:calc(100% - 34px)!important;
  }
  body.home-page .m2a-intro-brand img{
    width:min(330px,86vw)!important;
  }
  body.home-page .m2a-intro-tagline{
    max-width:335px!important;
    font-size:15px!important;
    line-height:1.9!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.home-page .m2a-intro,
  body.home-page .m2a-intro::before,
  body.home-page .m2a-intro::after,
  body.home-page .m2a-intro-brand,
  body.home-page .m2a-intro-brand img,
  body.home-page .m2a-intro-panels span{
    animation-duration:.01ms!important;
    animation-delay:.01ms!important;
  }
}

/* =========================================================
   HOMEPAGE PARTNER — MOBILE HARD LOCK
   High-specificity production guard that wins over both the master dark skin
   and the runtime home theme. It affects only phones <= 430px.
   ========================================================= */
@media(max-width:430px){
  html body.m2a-master-template.home-page section.partners .partner-showcase{
    display:block!important;
    overflow:hidden!important;
    border:1px solid rgba(0,101,47,.16)!important;
    border-radius:24px!important;
    background:#ffffff!important;
    box-shadow:0 22px 56px rgba(9,50,29,.13)!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-panel{
    display:block!important;
    min-height:0!important;
    padding:18px 16px 20px!important;
    overflow:hidden!important;
    color:#ffffff!important;
    background:
      radial-gradient(circle at 88% 8%,rgba(101,203,59,.30),transparent 31%),
      radial-gradient(circle at 8% 95%,rgba(181,203,197,.14),transparent 34%),
      linear-gradient(145deg,#063A1C 0%,#00652F 58%,#0A4927 100%)!important;
    border:0!important;
    box-shadow:none!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-panel::before{
    opacity:.18!important;
    background-image:
      linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
      linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px)!important;
    background-size:46px 46px!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-panel::after{
    right:-92px!important;
    bottom:-122px!important;
    width:230px!important;
    height:230px!important;
    opacity:.24!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-top{
    position:relative!important;
    z-index:2!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:stretch!important;
    gap:12px!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-country-badge{
    width:auto!important;
    max-width:100%!important;
    min-height:36px!important;
    justify-self:start!important;
    justify-content:flex-start!important;
    padding:7px 10px!important;
    border:1px solid rgba(255,255,255,.20)!important;
    background:rgba(255,255,255,.10)!important;
    color:#F4FFF0!important;
    box-shadow:none!important;
    font-size:11px!important;
    line-height:1.35!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-country-badge>span{
    background:#65CB3B!important;
    color:#083419!important;
    box-shadow:0 0 14px rgba(101,203,59,.42)!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-logo-shell{
    width:100%!important;
    min-height:68px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:10px 14px!important;
    border:1px solid rgba(255,255,255,.56)!important;
    border-radius:16px!important;
    background:#ffffff!important;
    box-shadow:0 14px 32px rgba(0,36,16,.22)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-logo-shell img{
    width:min(165px,70vw)!important;
    max-width:100%!important;
    max-height:50px!important;
    height:auto!important;
    object-fit:contain!important;
    filter:none!important;
    opacity:1!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-copy{
    position:relative!important;
    z-index:2!important;
    max-width:none!important;
    margin-block:18px 16px!important;
    color:#ffffff!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-eyebrow{
    display:block!important;
    max-width:100%!important;
    margin-bottom:8px!important;
    color:#BDF99F!important;
    font-size:10px!important;
    line-height:1.55!important;
    letter-spacing:.01em!important;
    overflow-wrap:anywhere!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-copy h3{
    margin-bottom:9px!important;
    color:#ffffff!important;
    font-size:21px!important;
    line-height:1.42!important;
    text-shadow:none!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-brand-copy p{
    color:#DCECDF!important;
    font-size:13px!important;
    line-height:1.8!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-capabilities{
    position:relative!important;
    z-index:2!important;
    gap:7px!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-capabilities span{
    min-height:34px!important;
    padding:6px 10px!important;
    border:1px solid rgba(255,255,255,.17)!important;
    background:rgba(255,255,255,.09)!important;
    color:#F2FFED!important;
    box-shadow:none!important;
    font-size:10.5px!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-panel{
    min-height:0!important;
    padding:18px 16px 20px!important;
    color:#173423!important;
    background:
      radial-gradient(circle at 100% 0,rgba(101,203,59,.10),transparent 34%),
      linear-gradient(180deg,#FFFDF8 0%,#F2F9F6 100%)!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-head>span{
    color:#00652F!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-head h4{
    color:#083D20!important;
    font-size:19px!important;
    line-height:1.45!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-head p{
    color:#607268!important;
    font-size:13px!important;
    line-height:1.8!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-list{
    gap:9px!important;
    margin-block:16px!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-item{
    padding:11px!important;
    border:1px solid rgba(0,101,47,.12)!important;
    background:rgba(255,255,255,.88)!important;
    color:#173423!important;
    box-shadow:0 8px 20px rgba(18,68,35,.05)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-item span{
    color:#748278!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-contact-item strong{
    color:#173D25!important;
  }

  html body.m2a-master-template.home-page section.partners .partner-site-cta{
    width:100%!important;
    min-height:52px!important;
    padding:11px 13px!important;
    background:linear-gradient(135deg,#65CB3B,#98E674)!important;
    color:#092F18!important;
    box-shadow:0 14px 32px rgba(101,203,59,.20)!important;
  }
}
