/* V14.1 production hotfix: menu consistency, contrast, timeline marker, partner section polish.
   This file is intentionally loaded last so the existing design remains unchanged. */

/* ── 1) Global navigation: Services is the only mega menu ───────────── */
.nav-links > li:not(#servicesMega) > .nav-mega{display:none!important}
.nav-links > li:not(#servicesMega).nav-mega-parent{position:relative!important}

#servicesMega{position:relative!important}
#servicesMega .nav-mega-trigger{
  border:0!important;
  cursor:pointer!important;
  font:600 .84rem/1.2 var(--sans,'Plus Jakarta Sans',system-ui,sans-serif)!important;
  color:var(--muted,#9FB3C8)!important;
  background:transparent!important;
  padding:8px 13px!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
#servicesMega .nav-mega-trigger:hover,
#servicesMega .nav-mega-trigger:focus-visible,
#servicesMega .nav-mega-trigger.active,
#servicesMega.open .nav-mega-trigger{
  color:var(--teal-2,#15C5D8)!important;
  background:var(--teal-soft,rgba(15,163,177,.12))!important;
  outline:none!important;
}
#servicesMega.open .nav-mega,
#servicesMega:hover .nav-mega,
#servicesMega:focus-within .nav-mega{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateX(-50%) translateY(0)!important;
}

/* Services mega menu: smaller cards, icon on the left, readable CTA */
#servicesMega .nav-mega--services{
  width:min(900px,calc(100vw - 48px))!important;
  padding:0!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(14,36,64,.98),rgba(7,18,33,.98))!important;
  border:1px solid rgba(15,163,177,.22)!important;
  box-shadow:0 28px 90px rgba(0,0,0,.50),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
#servicesMega .nav-mega-header{
  padding:13px 18px 10px!important;
}
#servicesMega .nav-mega-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  padding:12px!important;
}
#servicesMega .nav-mega-item{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  min-height:76px!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.028)!important;
  border:1px solid rgba(159,179,200,.11)!important;
  text-align:left!important;
}
#servicesMega .nav-mega-item:hover,
#servicesMega .nav-mega-item:focus-visible{
  background:rgba(15,163,177,.09)!important;
  border-color:rgba(15,197,216,.32)!important;
  transform:translateY(-1px)!important;
  box-shadow:inset 0 0 0 1px rgba(15,197,216,.08),0 12px 28px rgba(0,0,0,.18)!important;
}
#servicesMega .nmi-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  flex:0 0 38px!important;
  margin:0!important;
  border-radius:11px!important;
  font-size:1.05rem!important;
}
#servicesMega .nmi-text{min-width:0!important;gap:2px!important}
#servicesMega .nmi-title{font-size:.86rem!important;line-height:1.25!important;color:#F8F6F0!important}
#servicesMega .nmi-desc{font-size:.72rem!important;line-height:1.42!important;color:#AFC0D4!important}
#servicesMega .nav-mega-footer{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  padding:12px 18px!important;
}
#servicesMega .nav-mega-cta-btn,
#servicesMega .nav-mega-cta-btn:visited{
  /* Match the main top-nav “Engage us →” CTA colour exactly. */
  color:#0B1F3A!important;
  background:var(--wc-grad-primary,linear-gradient(135deg,#0FA3B1 0%,#15C5D8 50%,#1AD4E8 100%))!important;
  border:1px solid var(--teal-border,rgba(15,163,177,.32))!important;
  text-shadow:none!important;
  font-weight:900!important;
  letter-spacing:-.01em!important;
  box-shadow:0 8px 28px rgba(15,163,177,.32)!important;
}
#servicesMega .nav-mega-cta-btn:hover,
#servicesMega .nav-mega-cta-btn:focus-visible{
  color:#0B1F3A!important;
  background:var(--wc-grad-primary,linear-gradient(135deg,#0FA3B1 0%,#15C5D8 50%,#1AD4E8 100%))!important;
  filter:none!important;
  transform:translateY(-2px)!important;
  box-shadow:0 14px 40px rgba(15,163,177,.45)!important;
  outline:2px solid rgba(21,197,216,.42)!important;
  outline-offset:3px!important;
}

@media(max-width:980px){
  #servicesMega .nav-mega--services{width:min(720px,calc(100vw - 32px))!important}
  #servicesMega .nav-mega-grid{grid-template-columns:1fr!important}
}
@media(max-width:860px){
  #servicesMega .nav-mega--services{display:none!important}
}

/* ── 2) Career timeline marker: prevent left-side clipping ─────────── */
#career{overflow:hidden!important}
#career .container{overflow:visible!important;max-width:var(--max,1180px)!important}
#career .timeline{
  max-width:min(100%,1000px)!important;
  margin-inline:auto!important;
  padding-left:48px!important;
  border-left:1px solid rgba(159,179,200,.20)!important;
  overflow:visible!important;
}
#career .tl-item{overflow:visible!important;isolation:isolate!important}
#career .tl-item::before{
  left:-56px!important;
  z-index:3!important;
}
#career .tl-item:hover{transform:translateX(2px)!important}
#career .section-title{max-width:940px!important;margin-left:auto!important;margin-right:auto!important;overflow-wrap:normal!important;text-wrap:balance!important}
#career .section-copy{max-width:760px!important;text-wrap:balance!important}
@media(max-width:760px){
  #career .timeline{padding-left:32px!important;margin-left:10px!important}
  #career .tl-item::before{left:-40px!important;width:12px!important;height:12px!important}
  #career .tl-item{padding:22px 20px!important}
}

/* ── 3) AWS Consulting Partners section: same width, rhythm, palette ─ */
.premium-2026 .partners-section,
.partners-section{
  padding-block:clamp(72px,8vw,112px)!important;
  overflow:hidden!important;
  background:linear-gradient(180deg,rgba(11,31,58,.20),rgba(15,39,72,.28),rgba(11,31,58,.18))!important;
}
.premium-2026 .partners-section::before,
.partners-section::before{
  content:""!important;
  position:absolute!important;
  top:24px!important;
  bottom:24px!important;
  left:max(18px,calc((100vw - 1260px)/2))!important;
  right:max(18px,calc((100vw - 1260px)/2))!important;
  border-radius:32px!important;
  border:1px solid rgba(15,197,216,.16)!important;
  background:linear-gradient(180deg,rgba(8,24,43,.56),rgba(7,18,33,.34))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
  pointer-events:none!important;
}
.premium-2026 .partners-section::after,
.partners-section::after{opacity:.28!important;right:max(10px,calc((100vw - 1260px)/2))!important;color:rgba(15,197,216,.38)!important}
.premium-2026 .partners-section .container,
.partners-section .container{max-width:var(--max,1180px)!important;overflow:visible!important}
.premium-2026 .partners-head,
.partners-head{max-width:820px!important;margin-inline:auto!important;text-align:center!important}
.premium-2026 .partners-lead,
.partners-lead{max-width:760px!important;color:rgba(175,192,212,.94)!important}
.premium-2026 .partner-proofbar,
.partner-proofbar{
  max-width:920px!important;
  margin:26px auto 0!important;
  justify-content:center!important;
  background:rgba(5,14,26,.48)!important;
  border:1px solid rgba(15,197,216,.18)!important;
  border-radius:18px!important;
}
.premium-2026 .partners-problem,
.partners-problem{
  max-width:1080px!important;
  margin:0 auto 42px!important;
  grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr)!important;
  background:linear-gradient(135deg,rgba(7,20,35,.82),rgba(11,31,58,.70))!important;
  border:1px solid rgba(15,197,216,.20)!important;
  border-radius:24px!important;
  box-shadow:0 24px 70px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
.premium-2026 .partners-grid,
.partners-grid{max-width:1080px!important;margin-inline:auto!important}
@media(max-width:900px){
  .premium-2026 .partners-section::before,
  .partners-section::before{inset:16px 10px!important;border-radius:24px!important}
  .premium-2026 .partners-problem,
  .partners-problem{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  .premium-2026 .partners-head,
  .partners-head{text-align:left!important}
  .premium-2026 .partner-proofbar,
  .partner-proofbar{justify-content:flex-start!important}
}

/* ── 4) Footer/subcontracting language contrast ────────────────────── */
.sf14-cta,
.sf14-cta:visited{color:#04111E!important;font-weight:900!important}

/* Complete Services mega support for pages that do not load homepage CSS */
#servicesMega .nav-mega-header{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  border-bottom:1px solid rgba(255,255,255,.055)!important;
}
#servicesMega .nav-mega-label{
  font-family:var(--mono,'DM Mono',monospace)!important;
  font-size:.60rem!important;
  font-weight:800!important;
  letter-spacing:.20em!important;
  text-transform:uppercase!important;
  color:#15C5D8!important;
}
#servicesMega .nav-mega-see-all,
#servicesMega .nav-mega-see-all:visited{
  color:#7DE7EF!important;
  font-size:.78rem!important;
  font-weight:800!important;
  text-decoration:none!important;
  opacity:.88!important;
}
#servicesMega .nav-mega-see-all:hover,
#servicesMega .nav-mega-see-all:focus-visible{opacity:1!important;outline:none!important}
#servicesMega .nav-mega-cred{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
}
#servicesMega .nav-mega-badge{
  display:inline-flex!important;
  align-items:center!important;
  min-height:25px!important;
  padding:4px 10px!important;
  border-radius:999px!important;
  background:rgba(15,163,177,.085)!important;
  border:1px solid rgba(15,197,216,.20)!important;
  color:#7DE7EF!important;
  font-family:var(--mono,'DM Mono',monospace)!important;
  font-size:.60rem!important;
  font-weight:800!important;
  letter-spacing:.045em!important;
  white-space:nowrap!important;
}
@media(max-width:700px){
  #servicesMega .nav-mega-footer{align-items:stretch!important;flex-direction:column!important}
  #servicesMega .nav-mega-cta-btn{display:flex!important;justify-content:center!important;width:100%!important}
}

/* ──────────────────────────────────────────────────────────────────────
   V14.2 visual correction: fixes reported production screenshots.
   Scope: homepage partner section spacing + career timeline marker only.
   Loaded last. Does not change header, footer, core colours, or nav layout.
   ────────────────────────────────────────────────────────────────────── */

/* Remove the large empty visual box above the AWS partner content and keep the
   section rhythm consistent with the other homepage sections. */
body.premium-2026 #faq.section{
  padding-bottom:clamp(44px,5vw,72px)!important;
}
body.premium-2026 #partners.partners-section{
  isolation:isolate!important;
  padding-top:clamp(56px,6vw,84px)!important;
  padding-bottom:clamp(72px,7vw,104px)!important;
  margin-top:0!important;
  overflow:hidden!important;
  background:
    radial-gradient(760px 420px at 12% 10%,rgba(15,163,177,.105),transparent 66%),
    radial-gradient(620px 360px at 88% 24%,rgba(232,201,122,.060),transparent 68%),
    linear-gradient(180deg,rgba(8,23,42,.46),rgba(10,29,52,.30) 48%,rgba(8,20,38,.46))!important;
  border-top:1px solid rgba(15,197,216,.16)!important;
  border-bottom:1px solid rgba(15,197,216,.12)!important;
}
body.premium-2026 #partners.partners-section::before{
  display:none!important;
  content:none!important;
}
body.premium-2026 #partners.partners-section::after{
  opacity:.18!important;
  top:clamp(28px,4vw,52px)!important;
  right:max(20px,calc((100vw - 1180px)/2))!important;
}
body.premium-2026 #partners.partners-section > .container{
  max-width:1180px!important;
  padding-left:28px!important;
  padding-right:28px!important;
}
body.premium-2026 #partners .partners-head{
  max-width:920px!important;
  margin:0 auto clamp(32px,4.5vw,50px)!important;
  text-align:center!important;
}
body.premium-2026 #partners .partners-head .eyebrow{
  margin-bottom:18px!important;
}
body.premium-2026 #partners .partners-head .section-title{
  max-width:900px!important;
  margin:0 auto 18px!important;
  font-size:clamp(2.35rem,4.8vw,4.85rem)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
  text-wrap:balance!important;
  overflow-wrap:normal!important;
}
body.premium-2026 #partners .partners-lead{
  max-width:790px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  color:rgba(224,231,240,.80)!important;
}
body.premium-2026 #partners .partner-proofbar{
  max-width:980px!important;
  margin-top:24px!important;
  padding:10px!important;
}
body.premium-2026 #partners .partners-problem{
  max-width:1080px!important;
  margin-top:0!important;
  margin-bottom:clamp(34px,4.5vw,52px)!important;
  padding:clamp(24px,3.2vw,40px)!important;
  border-radius:26px!important;
  background:
    linear-gradient(135deg,rgba(10,29,52,.88),rgba(7,24,42,.78)),
    radial-gradient(460px 240px at 0 0,rgba(79,229,240,.10),transparent 70%)!important;
  border:1px solid rgba(79,229,240,.18)!important;
  box-shadow:0 22px 60px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.055)!important;
}
body.premium-2026 #partners .partners-grid,
body.premium-2026 #partners .partners-commits,
body.premium-2026 #partners .partners-cta,
body.premium-2026 #partners .partners-sub-title{
  max-width:1080px!important;
}

/* Career timeline: keep the marker fully inside the card so it cannot be
   clipped by collapsed-state masks, viewport overflow, or browser scaling. */
body.premium-2026 #career{
  overflow:hidden!important;
}
body.premium-2026 #career .section-head{
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow:hidden!important;
}
body.premium-2026 #career .section-title{
  max-width:960px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  font-size:clamp(2.25rem,4.45vw,4.35rem)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
  text-wrap:balance!important;
  overflow-wrap:anywhere!important;
}
body.premium-2026 #career .section-copy{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.premium-2026 #career .timeline{
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  border-left:0!important;
  overflow:hidden!important;
  display:grid!important;
  gap:22px!important;
}
body.premium-2026 #career .tl-item{
  position:relative!important;
  overflow:hidden!important;
  padding-left:clamp(54px,5vw,70px)!important;
  margin-left:0!important;
  border-radius:24px!important;
}
body.premium-2026 #career .tl-item::before{
  left:24px!important;
  top:34px!important;
  transform:none!important;
  width:14px!important;
  height:14px!important;
  border-radius:999px!important;
  z-index:2!important;
}
body.premium-2026 #career .tl-item::after{
  content:""!important;
  position:absolute!important;
  left:30px!important;
  top:54px!important;
  bottom:18px!important;
  width:1px!important;
  background:linear-gradient(180deg,rgba(15,197,216,.26),rgba(15,197,216,0))!important;
  pointer-events:none!important;
}
body.premium-2026 #career .tl-item:hover{
  transform:translateY(-2px)!important;
}
body.premium-2026 #career .tl-head,
body.premium-2026 #career .tl-co,
body.premium-2026 #career .tl-desc,
body.premium-2026 #career .tl-tags{
  position:relative!important;
  z-index:3!important;
}
body.premium-2026 #career .section-collapse-toggle{
  max-width:calc(100vw - 40px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:760px){
  body.premium-2026 #partners.partners-section > .container,
  body.premium-2026 #career .container{padding-left:18px!important;padding-right:18px!important}
  body.premium-2026 #partners .partners-head{text-align:left!important;margin-bottom:30px!important}
  body.premium-2026 #partners .partners-head .section-title{font-size:clamp(2.05rem,10vw,3.05rem)!important;line-height:1.06!important}
  body.premium-2026 #partners .partner-proofbar{justify-content:flex-start!important}
  body.premium-2026 #career .section-title{font-size:clamp(2.05rem,10vw,3.15rem)!important;line-height:1.08!important}
  body.premium-2026 #career .timeline{max-width:100%!important}
  body.premium-2026 #career .tl-item{padding:22px 18px 22px 52px!important}
  body.premium-2026 #career .tl-item::before{left:20px!important;top:28px!important;width:12px!important;height:12px!important}
  body.premium-2026 #career .tl-item::after{left:25px!important;top:46px!important;bottom:16px!important}
}
