/* CLEANED OZANIX CSS
   Duplicate/contradictory patch blocks removed.
   Desktop hero + nav stabilized first; mobile final rules kept at bottom.
*/
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

:root{
  --navy:    #1B3464;
  --blue:    #1572B6;
  --teal:    #1E8FC1;
  --char:    #2C3038;
  --bg:      #F2F6FB;
  --light:   #EEF3FA;
  --white:   #FFFFFF;
  --text:    #1A1F2E;
  --mid:     #394F6A;
  --slate:   #6A7F98;
  --border:  rgba(27,52,100,0.09);
  --shadow:  0 4px 32px rgba(27,52,100,0.08);
}

html{ scroll-behavior:smooth; }
body{
  font-family:"DM Sans", sans-serif;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
/* Header tagline: desktop hidden, mobile/tablet shown at the menu breakpoint. */
.ozanix-homepage-shell .nav-tagline,
.ozanix-homepage-shell .mobile-tagline{
  display:none !important;
}

@media screen and (max-width:1400px){
  .ozanix-homepage-shell .nav-tagline,
  .ozanix-homepage-shell .mobile-tagline{
    display:flex !important;
    flex:1 !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    min-width:0 !important;
    padding:0 12px !important;
    font-family:"Cormorant Garamond", serif !important;
    font-size:11px !important;
    font-weight:300 !important;
    font-style:italic !important;
    color:var(--navy) !important;
    letter-spacing:0.5px !important;
    line-height:1.15 !important;
  }
  .ozanix-homepage-shell .nav-tagline div{
    white-space:nowrap !important;
  }
  .ozanix-homepage-shell .nav-tagline div:last-child{
    margin-top:2px !important;
  }
  .ozanix-homepage-shell .nav-tagline em{
    color:var(--blue) !important;
    font-style:normal !important;
    font-weight:500 !important;
  }
}
/* ════════════════════
   NAVIGATION
════════════════════ */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:999;
  height:72px;
  display:flex; align-items:center;
  gap:28px;
  padding:0 48px;
  background:rgba(255,255,255,0.96);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border);
  transition:box-shadow 0.3s;
}
.nav.scrolled{ box-shadow:0 2px 28px rgba(27,52,100,0.1); }
.nav-logo img{
  height:58px;
  width:auto;
  display:block;
}
.nav-logo{ flex:0 0 auto; }
.nav-center{
  display:flex;
  flex:1 1 auto;
  justify-content:center;
  align-items:center;
  gap:20px;
  min-width:0;
  margin:0;
  padding:0;
  list-style:none;
  position:static;
  transform:none;
}
.nav-center a{
  font-size:12px; font-weight:400; letter-spacing:0.15px;
  color:var(--mid); text-decoration:none;
  white-space:nowrap;
  padding-bottom:2px;
  border-bottom:1.5px solid transparent;
  transition:color 0.2s, border-color 0.2s;
}
.nav-center a:hover{
  color:var(--navy);
  border-bottom-color:var(--blue);
}
.nav-right{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:18px;
  white-space:nowrap;
}

@media (min-width:1401px) and (max-width:1500px){
  .nav{ gap:18px; padding-left:24px; padding-right:24px; }
  .nav-center{ gap:12px; }
  .nav-center a{ font-size:10.5px; letter-spacing:0; }
  .nav-global-switch{ display:none; }
  .nav-cta{ padding-left:16px; padding-right:16px; }
}
.nav-cta{
  font-family:"Rajdhani", sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:2.5px; text-transform:uppercase;
  color:var(--white); background:var(--navy);
  padding:10px 26px; border-radius:3px;
  text-decoration:none;
  transition:background 0.25s, transform 0.15s;
}
.nav-cta:hover{ background:var(--blue); transform:translateY(-1px); }

/* Burger button — hidden on desktop */
.nav-burger{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:40px;
  min-height:40px;
  margin:0;
  background:transparent;
  border:0;
  border-radius:0;
  cursor:pointer;
  padding:8px;
  z-index:1001;
  color:var(--navy);
  font:inherit;
  line-height:1;
  appearance:none;
  -webkit-appearance:none;
  box-shadow:none;
  touch-action:manipulation;
}
.nav-burger span{
  flex:0 0 2px;
  display:block;
  width:24px;
  max-width:24px;
  height:2px;
  margin:0;
  padding:0;
  background:currentColor;
  border:0;
  border-radius:2px;
  transition:transform 0.3s, opacity 0.3s;
}
.nav-burger.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2){ opacity:0; }
.nav-burger.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.nav-mobile{
  display:block;
  position:fixed;
  top:72px; left:0; right:0; bottom:0;
  background:#fff;
  border-bottom:1px solid var(--border);
  box-shadow:0 8px 32px rgba(27,52,100,0.1);
  z-index:998;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateY(-8px);
  opacity:0;
  pointer-events:none;
  transition:transform 0.3s ease, opacity 0.3s ease;
  visibility:hidden;
}
.nav-mobile.open{
  transform:translateY(0);
  opacity:1;
  pointer-events:all;
  visibility:visible;
}

/* Tagline strip with ECG */
.nav-mobile-brand{
  position:relative;
  background:var(--navy);
  padding:18px 28px;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.nav-mobile-tagline{
  font-family:"Cormorant Garamond", serif;
  font-size:17px;
  font-weight:300;
  font-style:italic;
  color:#fff;
  letter-spacing:0.2px;
  line-height:1.3;
  position:relative;
  z-index:2;
}
.nav-mobile-tagline em{
  font-style:normal;
  color:rgba(30,143,193,0.9);
  font-weight:400;
}
.nav-mobile-sub{
  font-family:"Rajdhani", sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:4px;
  text-transform:uppercase;
  color:rgba(255,255,255,0.35);
  position:relative;
  z-index:2;
}

/* ECG line inside the brand strip */
.nav-ecg{
  position:absolute;
  bottom:0; left:0; right:0;
  height:36px;
  z-index:1;
  opacity:0.4;
}
.nav-ecg-line{
  stroke-dasharray:600;
  stroke-dashoffset:600;
  animation:navEcgLoop 3s linear infinite;
}
@keyframes navEcgLoop{
  0%{ stroke-dashoffset:600; opacity:0.3; }
  20%{ opacity:1; }
  80%{ opacity:1; }
  100%{ stroke-dashoffset:-600; opacity:0.3; }
}

/* Nav mobile links */
.nav-mobile-links{
  padding:8px 0 16px;
}
.nav-mobile-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 28px;
  font-size:15px;
  font-weight:400;
  color:var(--navy);
  text-decoration:none;
  border-bottom:1px solid rgba(27,52,100,0.05);
  transition:background 0.15s, padding-left 0.2s;
}
.nav-mobile-links a:last-child{ border-bottom:none; }
.nav-mobile-links a:hover{
  background:#f7fafd;
  padding-left:34px;
}
.nav-mobile-links a::after{
  content:'→';
  font-size:12px;
  color:var(--blue);
  opacity:0;
  transition:opacity 0.2s;
}
.nav-mobile-links a:hover::after{ opacity:1; }

/* Mobile CTA inside drawer */
.nav-mobile-cta{
  margin:0 28px 20px;
  display:block;
  text-align:center;
  font-family:"Rajdhani", sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:2.5px;
  text-transform:uppercase;
  color:#fff;
  background:var(--navy);
  padding:14px 24px;
  border-radius:3px;
  text-decoration:none;
}

/* Show burger, hide desktop nav on mobile */
@media(max-width:1400px){
  .ozanix-homepage-shell .nav{ padding:0 20px; }
  .ozanix-homepage-shell .nav-center{ display:none !important; }
  .ozanix-homepage-shell .nav-right{ display:none !important; }
  .ozanix-homepage-shell .nav-burger{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .ozanix-homepage-shell .nav-mobile{ display:block !important; }
}

/* ════════════════════
   HERO
════════════════════ */
.hero{
  min-height:100vh;
  display:grid;
  grid-template-columns:46% 54%;
  position:relative;
  overflow:hidden;
  background:#fff;
}
.hero-left{
  padding:120px 44px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fff;
  border-right:1px solid #edf2f9;
  position:relative;
  z-index:2;
}
.hero-tag{
  font-family:"Rajdhani",sans-serif;
  font-size:9px;
  font-weight:700;
  letter-spacing:5px;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:18px;
  display:flex;
  align-items:center;
  gap:8px;
  animation:hFadeUp 0.6s ease both 0.1s;
}
.hero-tag::before{
  content:'';
  width:16px;
  height:1px;
  background:var(--blue);
}
.hero-h1{
  font-family:"Cormorant Garamond",serif;
  font-size:clamp(30px,3.2vw,46px);
  font-weight:300;
  line-height:1.18;
  letter-spacing:-0.3px;
  color:var(--navy);
  margin-bottom:14px;
  animation:hFadeUp 0.6s ease both 0.2s;
}
.hero-h1 em{
  font-style:italic;
  color:var(--blue);
}
.hero-rule{
  width:28px;
  height:2px;
  background:linear-gradient(to right,var(--navy),var(--blue));
  margin-bottom:14px;
  animation:hFadeUp 0.6s ease both 0.25s;
}
.hero-sub{
  font-size:14px;
  font-weight:300;
  line-height:1.88;
  color:var(--mid);
  max-width:340px;
  margin-bottom:28px;
  animation:hFadeUp 0.6s ease both 0.3s;
}
.hero-actions{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  animation:hFadeUp 0.6s ease both 0.35s;
}
/* ── CHANGED: match recruitment page bg ── */
.hero-right{
  background:var(--bg);
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:120px 36px 60px 32px;
}
.hero-type-stack{
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
}
.hero-right-logo{
  display:none;
}
.hero-right-logo img{
  width:100%;
  height:auto;
  display:block;
}
.hero-divider{
  width:100%;
  height:1px;
  background:linear-gradient(to right,rgba(21,114,182,0.25),transparent);
  margin-bottom:22px;
  animation:hFadeUp 0.6s ease both 0.2s;
}
.hero-type-stack{
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:stretch;  
  width:100%;
}
/* ── CHANGED: pill chip style matching recruit-chip exactly ── */
.h-row{
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 18px;
  margin-bottom:0;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 2px 12px rgba(27,52,100,0.05);
  opacity:0;
  animation:hSlideIn 0.5s ease forwards;
  transition:background 0.2s ease, padding-left 0.2s ease;
  cursor:default;
  width:100%;
}
.h-row:hover{
  background:var(--light);
  padding-left:22px;
  transform:none;
}
.h-row:hover .h-row-name,
.h-row:hover .h-row-num{ color:var(--navy); }
.h-row:last-child{ border-bottom:none; }
.h-row:nth-child(1){ animation-delay:0.3s; }
.h-row:nth-child(2){ animation-delay:0.4s; }
.h-row:nth-child(3){ animation-delay:0.5s; }
.h-row:nth-child(4){ animation-delay:0.6s; }
.h-row:nth-child(5){ animation-delay:0.7s; }
.h-row:nth-child(6){ animation-delay:0.8s; }
.h-row:nth-child(7){ animation-delay:0.9s; }
.h-row-num{
  font-family:"Rajdhani",sans-serif;
  font-size:9px;
  font-weight:700;
  color:#c8d8ec;
  letter-spacing:1px;
  min-width:18px;
  flex-shrink:0;
  transition:color 0.25s ease;
}
.h-row-icon{
  font-size:15px;
  flex-shrink:0;
  width:22px;
  text-align:center;
}
.h-row-name{
  font-family:"Cormorant Garamond",serif;
  font-size:17px;
  font-weight:300;
  color:var(--navy);
  line-height:1.1;
  flex:1;
}
.h-row:nth-child(2) .h-row-name,
.h-row:nth-child(4) .h-row-name,
.h-row:nth-child(6) .h-row-name{
  color:var(--blue);
  font-style:italic;
  font-size:16px;
}
/* ── CHANGED: hide badges — pills are self-contained ── */
.h-row-tag{
  font-size:8px;
  font-weight:600;
  letter-spacing:1px;
  padding:3px 10px;
  border-radius:20px;
  white-space:nowrap;
  flex-shrink:0;
  background:transparent;
  border:1px solid currentColor;
  margin-left:auto;
}
.tag-blue{ color:var(--blue); }
.tag-green{ color:#16A34A; }
.tag-navy{ color:var(--navy); }
.tag-amber{ color:#D97706; }
.tag-teal{ color:var(--teal); }
.hero-bottom-note{
  margin-top:18px;
  font-size:9px;
  font-weight:400;
  color:#94a3b8;
  letter-spacing:0.3px;
  display:flex;
  align-items:center;
  gap:6px;
  opacity:0;
  animation:hFadeUp 0.5s ease forwards 1.1s;
}
.hero-bottom-dot{
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--teal);
  flex-shrink:0;
  animation:heroBlink 2.2s ease-in-out infinite;
}
@keyframes heroBlink{
  0%,100%{ opacity:1; }
  50%{ opacity:0.2; }
}
@keyframes hSlideIn{
  from{ opacity:0; transform:translateX(14px); }
  to{ opacity:1; transform:translateX(0); }
}
@keyframes hFadeUp{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

/* ── Mobile ── */
@media(max-width:960px){
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .hero-left{
    padding:100px 28px 40px;
    border-right:none;
    border-bottom:1px solid #edf2f9;
  }
  .hero-sub{ max-width:100%; }
  .hero-right{
    padding:36px 28px 48px;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px;
    align-content:flex-start;
  }
  .hero-right-logo{ display:none; }
  .hero-divider{ display:none; }
  .hero-type-stack{
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px;
  }
  .h-row{ margin-bottom:0; }
  .h-row-name{ font-size:13px; }
}
@media(max-width:600px){
  .hero-left{ padding:90px 20px 36px; }
  .hero-right{ padding:24px 20px 36px; }
  .h-row{ padding:9px 14px; }
  .h-row-name{ font-size:12px; }
  .h-row-num{ display:none; }
}


/* ════════════════════
   SECTION: WHO WE ARE
════════════════════ */
.s2{
  padding:120px 72px;
  background:var(--white);
  border-top:1px solid var(--border);
}
.wrap{ max-width:1180px; margin:0 auto; }
.grid-2{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:96px; align-items:start;
}

.s-label{
  font-family:"Rajdhani", sans-serif;
  font-size:10px; font-weight:700;
  letter-spacing:5px; text-transform:uppercase;
  color:var(--blue); margin-bottom:16px;
  display:flex; align-items:center; gap:12px;
}
.s-label::after{
  content:""; display:block;
  width:32px; height:1px; background:var(--blue);
}

.s-h2{
  font-family:"Cormorant Garamond", serif;
  font-size:clamp(32px, 3vw, 48px);
  font-weight:300; line-height:1.18;
  color:var(--navy); margin-bottom:28px;
  letter-spacing:-0.3px;
}
.s-h2 em{ font-style:italic; color:var(--blue); }

.s-p{
  font-size:15.5px; font-weight:300;
  line-height:1.92; color:var(--mid);
  margin-bottom:20px;
}

.pillars{
  margin-top:40px;
  border:1px solid var(--border);
  border-radius:6px; overflow:hidden;
}
.pillar{
  display:flex; gap:20px; align-items:flex-start;
  padding:22px 24px;
  background:var(--white);
  border-bottom:1px solid var(--border);
  transition:background 0.2s;
}
.pillar:last-child{ border-bottom:none; }
.pillar:hover{ background:var(--light); }
.p-icon{
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:17px; flex-shrink:0; margin-top:2px;
}
.pi-a{ background:rgba(21,114,182,0.1); }
.pi-b{ background:rgba(27,52,100,0.08); }
.pi-c{ background:rgba(30,143,193,0.1); }
.p-title{
  font-size:14px; font-weight:600;
  color:var(--navy); margin-bottom:6px;
  letter-spacing:0.2px;
}
.p-text{
  font-size:13.5px; font-weight:300;
  color:var(--mid); line-height:1.75;
}

.visual-col{ position:sticky; top:100px; }
.logo-card{
  background:linear-gradient(140deg, var(--light) 0%, #e2eaf5 100%);
  border:1px solid var(--border); border-radius:8px;
  padding:48px 40px; text-align:center;
  position:relative; overflow:hidden;
  margin-bottom:20px;
}
.logo-card-pulse{ position:absolute; inset:0; opacity:0.08; pointer-events:none; }
.logo-card img{
  width:100%; max-width:360px;
  height:auto; display:block;
  margin:0 auto; position:relative; z-index:1;
}
.logo-card-sub{
  font-family:"Rajdhani", sans-serif;
  font-size:9px; font-weight:700;
  letter-spacing:4px; text-transform:uppercase;
  color:var(--slate); margin-top:20px;
  position:relative; z-index:1;
}

.stats-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.s-card{
  background:var(--white);
  border:1px solid var(--border); border-radius:6px;
  padding:22px 24px;
  transition:border-color 0.2s, transform 0.2s;
}
.s-card:hover{ border-color:var(--blue); transform:translateY(-2px); }
.s-card.dk{ background:var(--navy); border-color:var(--navy); }
.sn{
  font-family:"Rajdhani", sans-serif;
  font-size:34px; font-weight:700;
  color:var(--navy); line-height:1; margin-bottom:6px;
}
.sn b{ color:var(--blue); font-weight:700; }
.s-card.dk .sn{ color:var(--white); }
.sl{ font-size:11px; font-weight:400; color:var(--slate); line-height:1.45; letter-spacing:0.3px; }
.s-card.dk .sl{ color:rgba(255,255,255,0.45); }

/* ════════════════════
   PLACEHOLDER
════════════════════ */
.ph{
  height:88px; background:var(--light);
  display:flex; align-items:center; justify-content:center;
  border-top:1px solid var(--border);
  font-family:"Rajdhani", sans-serif;
  font-size:10px; font-weight:700;
  letter-spacing:4px; text-transform:uppercase;
  color:var(--slate);
}

/* ════════════════════
   ANIMATIONS
════════════════════ */
@keyframes fadeUp{
  from{ opacity:0; transform:translateY(24px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes logoReveal{
  from{ opacity:0; transform:scale(0.96) translateY(18px); }
  to{ opacity:1; transform:scale(1) translateY(0); }
}
@keyframes blinkp{0%,100%{opacity:1;}50%{opacity:0.2;}}
@keyframes blinks9{0%,100%{opacity:1;}50%{opacity:0.2;}}

.rv{ opacity:0; transform:translateY(24px); transition:opacity 0.75s ease, transform 0.75s ease; }
.rv.in{ opacity:1; transform:translateY(0); }
.d1{ transition-delay:0.1s; }
.d2{ transition-delay:0.2s; }
.d3{ transition-delay:0.32s; }
.d4{ transition-delay:0.44s; }

/* ════════════════════
   SERVICES / PORTFOLIO PILLARS
════════════════════ */
.svc-pillars{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-bottom:4px;
}

.svc-pillar-btn{
  background:var(--white);
  border:1.5px solid var(--border);
  border-radius:10px;
  padding:22px 14px 18px;
  text-align:center;
  cursor:pointer;
  transition:all 0.25s;
  overflow:hidden;
}

.svc-pillar-btn svg{
  width:46px;
  height:46px;
  max-width:46px;
  max-height:46px;
  display:block;
  margin:0 auto 10px;
  overflow:hidden;
}

.svc-pillar-btn .svc-pillar-name{
  font-family:'Rajdhani',sans-serif;
  font-size:12px; font-weight:700; letter-spacing:0.5px;
  color:var(--navy);
}
.svc-pillar-btn .svc-pillar-count{ font-size:10.5px; color:var(--slate); margin-top:3px; }
.svc-pillar-btn:hover{ border-color:var(--blue); transform:translateY(-2px); }
.svc-pillar-btn.active{
  border-color:var(--navy); background:var(--navy);
  box-shadow:0 8px 24px rgba(27,52,100,0.25);
}
.svc-pillar-btn.active .svc-pillar-name{ color:#fff; }
.svc-pillar-btn.active .svc-pillar-count{ color:rgba(255,255,255,0.5); }

.svc-panel{
  background:var(--white);
  border:1.5px solid var(--navy);
  border-top:none;
  border-radius:0 0 12px 12px;
  padding:20px 24px 6px;
  margin-bottom:32px;
  display:none;
}
.svc-panel.show{ display:block; }

.svc-row{
  display:flex; align-items:baseline; gap:14px;
  padding:11px 0; border-bottom:1px solid var(--light);
}
.svc-row:last-child{ border-bottom:none; }
.svc-row .svc-dot{ width:6px; height:6px; border-radius:50%; background:var(--blue); flex-shrink:0; }
.svc-row .svc-name{ font-size:13.5px; font-weight:600; color:var(--navy); min-width:170px; }
.svc-row .svc-desc{ font-size:12.5px; font-weight:300; color:var(--mid); line-height:1.6; }

/* ════════════════════
   PARTNERS STACK CARDS
════════════════════ */
.pn-stage{ position:relative; height:300px; max-width:760px; margin:0 auto; perspective:1200px; }
.pn-card{
  position:absolute; top:0; left:50%; width:300px;
  background:var(--white); border:1px solid var(--border); border-radius:14px;
  padding:28px 26px 24px; box-sizing:border-box; cursor:pointer;
  transition:transform 0.6s cubic-bezier(0.65,0,0.35,1), opacity 0.6s ease, box-shadow 0.6s ease;
}
.pn-card .pn-icon{ width:46px; height:46px; border-radius:10px; background:var(--light); display:flex; align-items:center; justify-content:center; font-size:20px; margin-bottom:14px; }
.pn-card .pn-title{ font-size:16px; font-weight:700; color:var(--navy); margin-bottom:8px; }
.pn-card .pn-desc{ font-size:13px; font-weight:300; color:var(--mid); line-height:1.65; }
.pn-card .pn-badge{ display:inline-block; margin-top:12px; font-family:'Rajdhani',sans-serif; font-size:9.5px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--blue); }
.pn-progress-track{ height:3px; background:var(--border); border-radius:2px; margin:26px auto 0; max-width:300px; overflow:hidden; }
.pn-progress-fill{ height:100%; width:0%; background:linear-gradient(90deg,var(--navy),#1E8FC1); }
.pn-progress-fill.running{ transition:width 4s linear; width:100%; }
.pn-dots{ display:flex; justify-content:center; gap:8px; margin-top:22px; }
.pn-dot{ width:7px; height:7px; border-radius:50%; background:var(--border); cursor:pointer; transition:background 0.25s, width 0.25s; }
.pn-dot.active{ background:var(--navy); width:20px; border-radius:4px; }

/* ════════════════════
   WORDPRESS SHELL
════════════════════ */
.ozanix-homepage-shell{
  width:100vw !important;
  max-width:100vw !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  padding:0 !important;
  overflow-x:hidden;
}
.ozanix-homepage-shell .nav{
  top:var(--wp-admin--admin-bar--height, 0px);
}
body.home .wp-site-blocks,
body.home main,
body.home .entry-content,
body.home .wp-block-post-content,
body.home .is-layout-constrained,
body.home .wp-block-group{
  max-width:none !important; width:100% !important;
  margin-left:0 !important; margin-right:0 !important;
  padding-left:0 !important; padding-right:0 !important;
}
body.home .wp-block-post-title{ display:none !important; }

/* ════════════════════
   RESPONSIVE — TABLET
════════════════════ */
@media(max-width:960px){
  .hero{
    grid-template-columns:1fr;
    min-height:auto;
  }

  .hero-left{
    padding:95px 24px 36px;
  }

  .hero-right{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px;
    padding:28px 22px 34px;
    align-content:flex-start;
  }

  .hero-right-logo{
    display:none;
  }

  .hero-divider{ display:none; }

  .hero-type-stack{
    flex-direction:row;
    flex-wrap:wrap;
    gap:10px;
  }

  .h-row{
    margin-bottom:0;
  }

  .h-row-name{
    font-size:13px;
  }

  .h-row-tag{ display:none; }
}

/* ════════════════════
   RESPONSIVE — MOBILE
════════════════════ */
@media screen and (max-width:768px){

  .ozanix-homepage-shell{ overflow-x:hidden !important; }
  .ozanix-homepage-shell .nav{ padding:0 16px !important; }

  .ozanix-homepage-shell .nav-right,
  .ozanix-homepage-shell .nav-cta,
  .ozanix-homepage-shell .nav-actions{ display:none !important; }

  .ozanix-homepage-shell .hero{
    min-height:auto !important;
    padding:32px 16px 52px !important;
  }
  .ozanix-homepage-shell .hero-logo-wrap{
    width:92vw !important;
    max-width:360px !important;
  }
  .ozanix-homepage-shell .hero-h1{
    font-size:32px !important;
    line-height:1.14 !important;
  }
  .ozanix-homepage-shell .hero-actions{
    flex-direction:column !important;
    align-items:center !important;
    width:100% !important;
  }
  .ozanix-homepage-shell .btn-p{
    width:100% !important;
    max-width:280px !important;
    text-align:center !important;
  }
  .ozanix-homepage-shell .btn-s{
    width:100% !important;
    max-width:280px !important;
    display:flex !important;
    justify-content:center !important;
    text-align:center !important;
    margin:0 auto !important;
  }

  .ozanix-homepage-shell section{
    padding-left:16px !important;
    padding-right:16px !important;
  }

  .ozanix-homepage-shell [style*="grid-template-columns:repeat(3,1fr)"],
  .ozanix-homepage-shell [style*="grid-template-columns:repeat(4,1fr)"],
  .ozanix-homepage-shell [style*="grid-template-columns:1fr 1fr"],
  .ozanix-homepage-shell [style*="grid-template-columns:1fr 320px"]{
    grid-template-columns:1fr !important;
  }

  .ozanix-homepage-shell [style*="justify-content:space-between"]{ flex-wrap:wrap !important; }
  .ozanix-homepage-shell [style*="position:sticky"]{ position:static !important; }

  .ozanix-homepage-shell .pulse-sweep{ top:48% !important; }

  /* Services pillars — mobile */
  .svc-pillars{ grid-template-columns:repeat(2,1fr); gap:10px; }

  .svc-pillar-btn{
    padding:16px 10px 12px;
  }
  .svc-pillar-btn svg{
    width:36px !important;
    height:36px !important;
    max-width:36px !important;
    max-height:36px !important;
  }

  .svc-row{ flex-direction:column; gap:4px; }
  .svc-row .svc-name{ min-width:0; }

  /* Partners stack — mobile */
  .pn-stage{ height:340px; }
  .pn-card{ width:240px; padding:24px 20px 20px; }

  /* Ecosystem diagram — constrain on mobile */
  #ecosystem svg{ max-height:320px !important; }
}

/* ════════════════════
   RESPONSIVE — DESKTOP ONLY
════════════════════ */
/* [removed: homepage-only forced-desktop-nav override that broke tablet/iPad widths 769-960px] */

@media screen and (max-width: 768px) {
/* FINAL CLEAN HERO + NAV OVERRIDE */
a, a:hover{
  text-decoration:none !important;
}

.nav-logo img{
  height:52px !important;
  width:auto !important;
  display:block !important;
}
}

@media(min-width:961px){
  .hero{
    display:grid !important;
    grid-template-columns:46% 54% !important;
    min-height:100vh !important;
    padding:0 !important;
  }

  .hero-left{
    width:auto !important;
    padding:52px 42px 48px !important;
  }

  .hero-right{
    display:flex !important;
    width:auto !important;
    padding:40px 36px 40px 32px !important;
  }
}

@media(max-width:960px){
  .hero{
    display:block !important;
    min-height:auto !important;
    padding:0 !important;
  }

  .hero-left{
    width:100% !important;
    padding:95px 24px 34px !important;
    text-align:left !important;
  }

  .hero-logo-top{
    width:110px !important;
    margin-bottom:18px !important;
  }

  .hero-right{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:10px !important;
    width:100% !important;
    padding:28px 22px 34px !important;
  }

  .hero-right-logo{
    display:none !important;
  }

  .hero-h1{
    font-size:38px !important;
    line-height:1.08 !important;
  }

  .hero-sub{
    max-width:360px !important;
    margin-bottom:24px !important;
  }
}
/* MOBILE FIX — SECOND SECTION / WHO WE ARE */
@media(max-width:768px){

  .s2{
    padding:54px 18px !important;
  }

  .wrap{
    max-width:100% !important;
  }

  .grid-2{
    display:block !important;
  }

  .s-label{
    font-size:9px !important;
    letter-spacing:3px !important;
    margin-bottom:14px !important;
  }

  .s-h2{
    font-size:31px !important;
    line-height:1.15 !important;
    margin-bottom:22px !important;
  }

  .s-p{
    font-size:14.5px !important;
    line-height:1.75 !important;
    margin-bottom:18px !important;
  }

  .pillars{
    margin-top:28px !important;
  }

  .pillar{
    padding:18px 16px !important;
    gap:14px !important;
  }

  .p-icon{
    width:34px !important;
    height:34px !important;
    font-size:15px !important;
  }

  .p-title{
    font-size:13.5px !important;
  }

  .p-text{
    font-size:12.8px !important;
    line-height:1.6 !important;
  }

  .visual-col{
    position:static !important;
    margin-top:32px !important;
  }

  .logo-card{
    padding:28px 20px !important;
  }

  .logo-card img{
    max-width:230px !important;
  }

  .stats-grid{
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .s-card{
    padding:16px 14px !important;
  }

  .sn{
    font-size:26px !important;
  }

  .sl{
    font-size:10px !important;
  }
}
/* FORCE HERO BUTTON TO MATCH TOP CTA */
.hero-left .hero-actions{
  margin-top:24px !important;
  margin-bottom:0 !important;
  display:flex !important;
  justify-content:flex-start !important;
  align-items:center !important;
  width:auto !important;
}

.hero-left .hero-actions .nav-cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  max-width:none !important;
  padding:10px 26px !important;
  font-family:"Rajdhani", sans-serif !important;
  font-size:11px !important;
  font-weight:700 !important;
  letter-spacing:2.5px !important;
  text-transform:uppercase !important;
  color:#fff !important;
  background:var(--navy) !important;
  border-radius:3px !important;
}

@media(max-width:768px){
  .hero-left .hero-actions{
    justify-content:flex-start !important;
  }
}
/* FIX ACCIDENTAL UNDERLINES */
a{
  text-decoration:none;
}

a:hover{
  text-decoration:none;
}

/* OZANIX PULSE FINAL CLEAN FIX */

/* Desktop */
#pulse {
  overflow-x: hidden !important;
}

#pulse .oxp-pulse-wrap {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
}

#pulse .oxp-pulse-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 56px !important;
  align-items: center !important;
}

/* OZANIX PULSE MOBILE CLEAN CENTERED */

@media screen and (max-width: 600px) {
  #pulse {
    padding: 34px 14px !important;
    overflow: hidden !important;
  }

  #pulse .oxp-pulse-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    align-items: center !important;
  }

  #pulse .oxp-pulse-content {
    text-align: center !important;
    width: 100% !important;
  }

  #pulse h2,
  #pulse .oxp-pulse-title {
    font-size: 26px !important;
    line-height: 1.08 !important;
    margin-bottom: 10px !important;
  }

  #pulse .oxp-pulse-text {
    display: none !important;
  }

  #pulse .oxp-pulse-boxes {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px 0 !important;
    padding-bottom: 5px !important;
  }

  #pulse .oxp-pulse-box {
    flex: 0 0 112px !important;
    min-width: 112px !important;
    padding: 9px !important;
  }

  #pulse .oxp-pulse-box p {
    display: none !important;
  }

  #pulse .oxp-pulse-box b {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  #pulse .oxp-pulse-device {
    width: 230px !important;
    max-width: 230px !important;
    margin: 4px auto 0 !important;
  }

  #pulse .oxp-screen {
    width: 230px !important;
    max-width: 230px !important;
    padding: 12px !important;
    border-radius: 22px !important;
  }

  #pulse .oxp-chart,
  #pulse .oxp-alert,
  #pulse .oxp-device-label {
    display: none !important;
  }

  #pulse .oxp-main-metric strong {
    font-size: 22px !important;
  }
}
/* FORCE PULSE MOBILE CENTER - STOP RIGHT CUTTING */

@media screen and (max-width: 900px) {
  #pulse,
  #pulse.oxp-pulse {
    padding: 36px 16px !important;
    overflow-x: hidden !important;
  }

  #pulse .oxp-pulse-grid,
  #pulse .grid-2,
  #pulse [style*="grid-template-columns"] {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
    align-items: center !important;
  }

  #pulse .oxp-pulse-content {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    order: 1 !important;
  }

  #pulse .oxp-pulse-boxes {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    overflow-x: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 12px auto !important;
    padding-bottom: 6px !important;
  }

  #pulse .oxp-pulse-box {
    flex: 0 0 112px !important;
    min-width: 112px !important;
    padding: 9px !important;
  }

  #pulse .oxp-pulse-box p {
    display: none !important;
  }

  #pulse .oxp-pulse-device {
    order: 2 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 240px !important;
    max-width: 240px !important;
    margin: 0 auto !important;
  }

  #pulse .oxp-screen {
    width: 240px !important;
    max-width: 240px !important;
    margin: 0 auto !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  #pulse .oxp-chart,
  #pulse .oxp-alert,
  #pulse .oxp-device-label {
    display: none !important;
  }
}
/* PULSE PHONE FINAL - TARGETS CURRENT F12 HTML */

#pulse .oxp-pulse-device {
  width: 310px !important;
  max-width: 310px !important;
  margin: 0 auto !important;
  display: block !important;
}

#pulse .oxp-screen {
  width: 310px !important;
  max-width: 310px !important;
  background: #17182b !important;
  border-radius: 42px !important;
  padding: 18px 14px 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  height: auto !important;
  max-height: none !important;
}

/* Inner phone screen */
#pulse .oxp-screen > div[style*="border-radius:34px"] {
  border-radius: 30px !important;
  background: #f2f6fb !important;
  padding-top: 44px !important;
  overflow: hidden !important;
}

/* Header card */
#pulse .oxp-screen > div > div:nth-of-type(1) {
  margin: 12px !important;
  padding: 16px 18px !important;
  border-radius: 16px !important;
}

/* KPI 2x2 cards */
#pulse .oxp-screen > div > div:nth-of-type(2) {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin: 0 12px !important;
}

/* Revenue Mix card */
#pulse .oxp-screen > div > div:nth-of-type(3) {
  margin: 8px 12px !important;
  border-radius: 12px !important;
}

/* Bottom Business / Compliance / HR / Marketing row */
#pulse .oxp-screen > div > div:nth-of-type(4) {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 8px !important;
  padding: 10px 0 14px !important;
}

/* Pulse label below phone */
#pulse .oxp-device-label,
#pulse .oxp-pulse-label {
  display: block !important;
  width: fit-content !important;
  margin: 24px auto 0 !important;
}

/* Mobile size */
@media screen and (max-width: 600px) {
  #pulse .oxp-pulse-device {
    width: 292px !important;
    max-width: 292px !important;
    margin: 14px auto 0 !important;
  }

  #pulse .oxp-screen {
    width: 292px !important;
    max-width: 292px !important;
    border-radius: 38px !important;
    padding: 14px 12px 10px !important;
  }

  #pulse .oxp-screen > div[style*="border-radius:34px"] {
    border-radius: 28px !important;
    padding-top: 38px !important;
  }
}
/* PULSE PHONE - DIRECT F12 HTML TARGET */

#pulse div[style*="border-radius:34px"][style*="F2F6FB"] {
  width: 100% !important;
  max-width: 276px !important;
  margin: 0 auto !important;
  border-radius: 34px !important;
  background: #f2f6fb !important;
  padding-top: 44px !important;
  overflow: hidden !important;
}

/* Header card */
#pulse div[style*="border-radius:34px"][style*="F2F6FB"] > div:nth-child(1) {
  margin: 12px !important;
  padding: 16px 18px !important;
}

/* Revenue / Direct Cost / Gross Profit / Margin */
#pulse div[style*="border-radius:34px"][style*="F2F6FB"] > div:nth-child(2) {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin: 0 12px !important;
}

/* Each metric card */
#pulse div[style*="border-radius:34px"][style*="F2F6FB"] > div:nth-child(2) > div {
  min-width: 0 !important;
  padding: 12px 10px !important;
}

/* Revenue Mix */
#pulse div[style*="border-radius:34px"][style*="F2F6FB"] > div:nth-child(3) {
  margin: 8px 12px !important;
}

/* Bottom Business / Compliance / HR / Marketing */
#pulse div[style*="border-radius:34px"][style*="F2F6FB"] > div:nth-child(4) {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  margin-top: 8px !important;
}

/* Mobile phone size */
@media screen and (max-width: 600px) {
  #pulse div[style*="border-radius:34px"][style*="F2F6FB"] {
    max-width: 276px !important;
    padding-top: 38px !important;
  }
}
@media (max-width: 768px) {
  .pulse-section,
  .app-section,
  .platform-section,
  .dashboard-section {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
    min-height: auto !important;
  }

  .phone-mockup,
  .app-phone,
  .pulse-phone {
    margin-top: 20px !important;
  }

  .section-spacer,
  .mobile-spacer,
  .hero-spacer {
    height: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
}
/* FIX HUGE MOBILE GAP ABOVE PULSE PHONE */
@media screen and (max-width: 600px) {
  #pulse {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    min-height: auto !important;
  }

  #pulse .oxp-pulse-wrap {
    min-height: auto !important;
  }

  #pulse .oxp-pulse-grid {
    gap: 0 !important;
  }

  #pulse .oxp-pulse-content {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}
/* REDUCE MOBILE GAP AFTER PULSE SECTION */
@media screen and (max-width: 600px) {
  #pulse {
    padding-bottom: 0 !important;
    margin-bottom: -180px !important;
  }

  #pulse .oxp-device-label,
  #pulse .oxp-pulse-label {
    margin-bottom: 0 !important;
  }

  #ecosystem,
  #who-we-serve,
  .who-we-serve {
    padding-top: 30px !important;
  }
}
/* ===== DESKTOP ===== */
#pulse .pulse-phone-wrap{
    position:relative;
    width:320px;
    margin:40px auto 0;
    transform:scale(.82);
    transform-origin:center top;
}

/* ===== MOBILE ===== */
@media (max-width:600px){

    #pulse .pulse-phone-wrap{
        width:300px;
        margin:0 auto;
        transform:scale(.70);
        transform-origin:top center;
        left:-18px;
    }

}
/* Homepage Recruitment Teaser Chips */
.home-recruit-chips{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:0 !important;
  max-width:620px !important;
  align-content:center !important;
  align-items:flex-start !important;
}

.home-recruit-chip{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:10px 16px !important;
  background:#fff !important;
  border:1px solid rgba(27,52,100,0.09) !important;
  border-radius:999px !important;
  color:#1B3464 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  box-shadow:0 4px 18px rgba(27,52,100,.05) !important;
}

.home-recruit-chip:hover{
  background:#1B3464 !important;
  color:#fff !important;
}
/* Mobile fix for Careers / Recruitment CTA cards */

@media(max-width:768px){

  /* Careers teaser card mobile fix */
  section[style*="padding:70px 72px"] > div > div{
    display:block !important;
    padding:32px 24px !important;
    text-align:left !important;
  }

  section[style*="padding:70px 72px"] .btn-p{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    margin-top:22px !important;
    box-sizing:border-box !important;
    text-align:center !important;
    white-space:normal !important;
  }

}
/* ===== OzaniX Footer ===== */

.oxp-footer{
    background:#0A1628;
    color:#fff;
}

.oxp-footer a{
    color:rgba(255,255,255,.72) !important;
    text-decoration:none;
}

.oxp-footer a:hover{
    color:#fff !important;
}

.oxp-footer-title{
    color:#1E8FC1 !important;
}

.oxp-footer-tag{
    color:#fff !important;
}

.oxp-footer-sub{
    color:rgba(255,255,255,.55) !important;
}

.oxp-footer-bottom span{
    color:rgba(255,255,255,.35) !important;
}
@media (max-width: 768px) {
  footer {
    padding: 35px 24px 25px !important;
    text-align: left;
  }

  footer .footer-logo,
  footer img {
    max-width: 170px !important;
    height: auto !important;
    margin-bottom: 25px !important;
  }

  footer h2,
  footer .footer-title {
    font-size: 34px !important;
    line-height: 1.15 !important;
    margin-bottom: 18px !important;
  }

  footer .footer-subtitle,
  footer p {
    font-size: 18px !important;
    line-height: 1.5 !important;
  }

  footer .footer-grid,
  footer .footer-columns {
    display: block !important;
  }

  footer .footer-column {
    margin-bottom: 32px !important;
  }

  footer h4 {
    font-size: 14px !important;
    letter-spacing: 6px !important;
    margin-bottom: 20px !important;
  }

  footer a {
    font-size: 20px !important;
    line-height: 2.1 !important;
  }
}
footer a:hover{
    color:#1E8FC1 !important;
}

footer .fab:hover{
    transform:translateY(-2px);
    transition:0.25s ease;
}
footer a[aria-label]{
    transition:all .3s ease;
}

footer a[aria-label]:hover{
    border-color:#1E8FC1 !important;
    color:#1E8FC1 !important;
    transform:translateY(-3px);
    box-shadow:0 0 18px rgba(30,143,193,.25);
}
footer a[aria-label]:hover{
  background:#1E8FC1 !important;
  border-color:#1E8FC1 !important;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(30,143,193,.25);
}
/* =========================================================
   OZANIX FINAL MOBILE POLISH — CAREERS / RECRUITMENT / FORMS
   Add this at the very bottom of ozanix-homepage.css
========================================================= */

@media screen and (max-width: 768px){

  /* Global section breathing */
  .ozanix-homepage-shell section{
    padding-top:72px !important;
    padding-bottom:72px !important;
  }

  /* Reduce awkward large inline gaps on mobile */
  .ozanix-homepage-shell [style*="gap:96px"],
  .ozanix-homepage-shell [style*="gap:80px"],
  .ozanix-homepage-shell [style*="gap:72px"],
  .ozanix-homepage-shell [style*="gap:60px"],
  .ozanix-homepage-shell [style*="gap:48px"]{
    gap:28px !important;
  }

  /* Reduce huge inline margins */
  .ozanix-homepage-shell [style*="margin-bottom:72px"],
  .ozanix-homepage-shell [style*="margin-bottom:64px"],
  .ozanix-homepage-shell [style*="margin-bottom:60px"]{
    margin-bottom:34px !important;
  }

  /* Mobile headings */
  .ozanix-homepage-shell h2,
  .ozanix-homepage-shell .s-h2{
    font-size:34px !important;
    line-height:1.15 !important;
  }

  /* Career / recruitment form cards */
  #careers form,
  #career form,
  #recruitment form,
  #contact form{
    width:100% !important;
    max-width:100% !important;
    padding:24px 18px !important;
    border-radius:12px !important;
    box-sizing:border-box !important;
  }

  /* Inputs */
  #careers input,
  #careers select,
  #careers textarea,
  #career input,
  #career select,
  #career textarea,
  #recruitment input,
  #recruitment select,
  #recruitment textarea,
  #contact input,
  #contact select,
  #contact textarea{
    width:100% !important;
    max-width:100% !important;
    min-height:46px !important;
    font-size:14px !important;
    box-sizing:border-box !important;
  }

  #careers textarea,
  #career textarea,
  #recruitment textarea,
  #contact textarea{
    min-height:110px !important;
  }

  /* Buttons */
  #careers button,
  #career button,
  #recruitment button,
  #contact button{
    width:100% !important;
    min-height:48px !important;
    justify-content:center !important;
    text-align:center !important;
  }

  /* Cards and grids */
  #careers [style*="display:grid"],
  #career [style*="display:grid"],
  #recruitment [style*="display:grid"]{
    grid-template-columns:1fr !important;
  }

  #careers [style*="display:flex"],
  #career [style*="display:flex"],
  #recruitment [style*="display:flex"]{
    flex-wrap:wrap !important;
  }

  /* Prevent right-side overflow from inline fixed widths */
  #careers *,
  #career *,
  #recruitment *,
  #contact *{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Cleaner mobile card spacing */
  #careers .rv,
  #career .rv,
  #recruitment .rv{
    margin-bottom:0 !important;
  }

  /* Remove visual empty bottom feeling */
  #careers,
  #career,
  #recruitment{
    min-height:auto !important;
    overflow:hidden !important;
  }
}
/* HOMEPAGE FOOTER — MOBILE ONLY */
@media screen and (max-width:768px){

  .home-footer{
    padding:52px 24px 28px !important;
    text-align:left !important;
  }

  .home-footer-wrap{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
    margin:0 auto !important;
  }

  .home-footer-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:34px !important;
    width:100% !important;
  }

  .home-footer-grid > div{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }

  .home-footer-grid img{
    height:62px !important;
    width:auto !important;
    max-width:180px !important;
    margin-bottom:22px !important;
  }

  .home-footer-grid a{
    font-size:14px !important;
    line-height:1.6 !important;
  }

  .home-footer-bottom{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:8px !important;
    margin-top:42px !important;
    padding-top:22px !important;
    text-align:left !important;
  }
}
@media screen and (max-width: 960px) {
  .nav-mobile.open {
    max-height: calc(100dvh - 72px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  .nav-mobile-links {
    padding-bottom: 20px !important;
  }

  .nav-mobile-links > a {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .nav-mobile-links .nav-mobile-cta {
    display: block !important;
    margin: 14px 28px 8px !important;
    padding: 14px 20px !important;
    color: #fff !important;
    background: #0a1628 !important;
    border-radius: 4px !important;
    text-align: center !important;
  }
}
