/* =========================================================
   NEO INDIA LIFELINE â€” CORE STYLESHEET
   Brand source: Neo Group Brand Style Guide (Nov 2025 v11)
   Purple  #5C2F83  (Pantone 7680C) â€” primary
   Teal    #10A486  (Pantone 3268C) â€” accent
   Font    Montserrat (400/500/600/700)
   ========================================================= */

:root{
  /* ---- Brand core (locked to brand guide) ---- */
  --neo-purple:        #5C2F83;
  --neo-purple-dark:    #3E1F5B;
  --neo-purple-deeper:  #2A1440;
  --neo-teal:            #10A486;
  --neo-teal-dark:       #0C7C67;
  --neo-teal-light:      #E4F6F1;

  /* ---- Proposed neutrals (not in brand guide â€” flagged for approval) ---- */
  --neo-ink:             #241A33;   /* purple-tinted near-black for body text */
  --neo-ink-soft:        #5B5468;   /* secondary text */
  --neo-bg:              #FFFFFF;
  --neo-bg-alt:          #F7F5FA;   /* soft section alternation */
  --neo-line:            #E7E2EE;

  /* ---- Signature device ---- */
  --neo-radius-signature: 64px;     /* single-corner rounded panel, from Graphic Device page */
  --neo-radius-card:      20px;
  --neo-radius-pill:      999px;

  /* ---- Type scale ---- */
  --neo-font: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* ---- Shadow ---- */
  --neo-shadow-card: 0 8px 30px rgba(42, 20, 64, 0.08);
  --neo-shadow-lift: 0 16px 40px rgba(42, 20, 64, 0.14);

  /* ---- Spacing rhythm ---- */
  --neo-section-pad: clamp(64px, 8vw, 112px);
}

/* =========================================================
   RESET / BASE
   ========================================================= */
*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior: smooth; scroll-padding-top: 96px; }
body{
  margin:0;
  font-family: var(--neo-font);
  color: var(--neo-ink);
  background: var(--neo-bg);
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
img{ max-width:100%; display:block; }
a{ color: inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; }

h1,h2,h3,h4,h5{
  font-family: var(--neo-font);
  font-weight: 700;
  color: var(--neo-ink);
  margin: 0 0 .5em;
  line-height: 1.15;
  letter-spacing: -0.01em;
}
h1{ font-size: clamp(2.4rem, 4vw, 3.6rem); font-weight: 700; }
h2{ font-size: clamp(1.9rem, 3vw, 2.6rem); }
h3{ font-size: 1.3rem; font-weight: 600; }
p{ margin: 0 0 1em; color: var(--neo-ink-soft); }

.container-neo{
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding-left: 24px;
  padding-right: 24px;
}

.section{ padding: var(--neo-section-pad) 0; }
.section-alt{ background: var(--neo-bg-alt); }
#vision-mission.section-alt{
  background-image: url('../img/vision-mission-bg.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--neo-teal-dark);
  margin-bottom: 14px;
}
.eyebrow::before{
  content:"";
  width: 22px; height: 2px;
  background: var(--neo-teal);
  display:inline-block;
}

.section-head{ max-width: 680px; margin: 0 auto 48px; text-align:center; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head-wide{ max-width: none; }
.section-head .eyebrow{
  display:block;
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight:700;
  letter-spacing:-0.01em;
  text-transform:none;
  color: var(--neo-ink);
  margin-bottom:.5em;
  line-height:1.15;
}
.section-head .eyebrow::before{ display:none; }
.section-head h2{
  font-size:1.05rem;
  font-weight:500;
  color: var(--neo-ink-soft);
  margin:0 0 .6em;
  line-height:1.65;
}
.section-head p{ font-size: 1.05rem; }

/* =========================================================
   BUTTONS
   ========================================================= */
.btn-neo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 14px 30px;
  border-radius: var(--neo-radius-pill);
  font-weight: 600;
  font-size: .95rem;
  border: 2px solid transparent;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  cursor:pointer;
  white-space: nowrap;
}
.btn-neo:hover{ transform: translateY(-2px); }

.btn-primary-neo{ background: var(--neo-teal); color:#fff; }
.btn-primary-neo:hover{ background: var(--neo-teal-dark); color:#fff; box-shadow: var(--neo-shadow-lift); }

.btn-outline-neo{ border-color: rgba(255,255,255,.55); color:#fff; }
.btn-outline-neo:hover{ background: rgba(255,255,255,.12); color:#fff; }

.btn-ghost-neo{ border-color: var(--neo-purple); color: var(--neo-purple); }
.btn-ghost-neo:hover{ background: var(--neo-purple); color:#fff; }

.btn-neo svg{ width:16px; height:16px; flex:none; transition: transform .18s ease; }
.btn-neo:hover svg{ transform: translateX(3px); }

/* =========================================================
   SIGNATURE SHAPE â€” single-corner rounded panel
   (recurring motif drawn from the brand's Graphic Device page)
   ========================================================= */
.neo-corner-tl{ border-radius: var(--neo-radius-signature) 12px 12px 12px; }
.neo-corner-tr{ border-radius: 12px var(--neo-radius-signature) 12px 12px; }
.neo-corner-bl{ border-radius: 12px 12px 12px var(--neo-radius-signature); }
.neo-corner-br{ border-radius: 12px 12px var(--neo-radius-signature) 12px; }

/* =========================================================
   HEADER / NAV
   ========================================================= */
.neo-header{
  position: sticky; top:0; z-index: 1000;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--neo-line);
}
.neo-header .navbar{ padding: 14px 0; }

.neo-logo{
  display:flex; align-items:center;
  flex:none;
}
.neo-logo-img{
  height: 40px;
  width: auto;
  display:block;
}
@media (max-width: 991px){
  .neo-logo-img{ height: 32px; }
}

/* Nav row: must be allowed to WRAP on mobile so the opened menu
   drops to a new line below the logo/toggler instead of squeezing
   into the same row (this was the cause of the broken mobile menu). */
.neo-header .container-neo{ row-gap: 14px; }
.neo-header .navbar-collapse{ flex-basis: 100%; }
@media (min-width: 992px){
  .neo-header .navbar-collapse{ flex-basis: auto; }
}

.neo-nav .nav-link{
  font-weight: 600;
  font-size: .93rem;
  color: var(--neo-ink);
  padding: 10px 16px !important;
  border-radius: var(--neo-radius-pill);
  transition: background .15s ease, color .15s ease;
}
.neo-nav .nav-link:hover,
.neo-nav .nav-link.active{ background: var(--neo-teal-light); color: var(--neo-teal-dark); }

.neo-header .btn-neo{ padding: 11px 24px; font-size: .88rem; }

/* =========================================================
   NAV SUBMENUS
   ========================================================= */
.has-dropdown{ position:relative; }
.nav-link-wrap{
  display:flex; align-items:center;
  border-radius: var(--neo-radius-pill);
  transition: background .15s ease;
}
.nav-link-wrap .nav-link{ padding-right:2px !important; }
.nav-link-wrap:hover,
.nav-link-wrap.is-active{ background: var(--neo-teal-light); }
.nav-link-wrap:hover .nav-link,
.nav-link-wrap.is-active .nav-link{ background:transparent; color: var(--neo-teal-dark); }
.dropdown-caret{
  border:none; background:none;
  padding: 8px 14px 8px 2px;
  display:flex; align-items:center; justify-content:center;
  color: var(--neo-ink-soft);
  cursor:pointer;
}
.nav-link-wrap:hover .dropdown-caret,
.nav-link-wrap.is-active .dropdown-caret{ color: var(--neo-teal-dark); }
.dropdown-caret svg{ width:14px; height:14px; transition: transform .2s ease; }

/* Panel â€” shared base styles */
.dropdown-panel{
  list-style:none; margin:0; padding:10px;
  background:#fff;
  border-radius: 16px;
  box-shadow: var(--neo-shadow-card);
  border: 1px solid var(--neo-line);
}
.dropdown-panel a{
  display:block;
  padding: 10px 14px;
  border-radius: 10px;
  font-size:.88rem; font-weight:600;
  color: var(--neo-ink);
  white-space:nowrap;
}
.dropdown-panel a:hover{ background: var(--neo-teal-light); color: var(--neo-teal-dark); }

/* Desktop: hover to open, caret is decorative only */
@media (min-width: 992px){
  .dropdown-caret{ pointer-events:none; }
  .dropdown-panel{
    position:absolute; top:100%; left:0;
    min-width: 240px;
    opacity:0; visibility:hidden;
    transform: translateY(6px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s;
    z-index: 1001;
  }
  .has-dropdown:hover .dropdown-panel{
    opacity:1; visibility:visible; transform: translateY(0);
  }
  .has-dropdown:hover .dropdown-caret svg{ transform: rotate(180deg); }
  .dropdown-panel--wide{ min-width: 320px; }
  .dropdown-panel--wide a{ white-space:normal; }
  .dropdown-panel--right{ left:auto; right:0; }
}

/* Mobile: caret is a real toggle button, panel is an inline accordion */
@media (max-width: 991px){
  .nav-link-wrap{ justify-content:space-between; }
  .dropdown-caret{ pointer-events:auto; }
  .dropdown-panel{
    max-height:0; overflow:hidden;
    padding: 0 10px;
    border:none; box-shadow:none;
    margin-left: 14px;
    transition: max-height .25s ease, padding .25s ease;
  }
  .has-dropdown.is-open .dropdown-panel{
    max-height: 900px;
    padding: 8px 10px;
  }
  .has-dropdown.is-open .dropdown-caret svg{ transform: rotate(180deg); }
}

/* =========================================================
   HERO SLIDER
   ========================================================= */
.neo-hero{
  position: relative;
  overflow: hidden;
  background: linear-gradient(155deg, var(--neo-purple-deeper) 0%, var(--neo-purple) 52%, var(--neo-teal-dark) 130%);
  color:#fff;
  padding: 76px 0 0;
}
.neo-hero-pattern{
  position:absolute; inset:0;
  opacity:.16;
  pointer-events:none;
  background-image:
    radial-gradient(circle, rgba(255,255,255,.9) 1.4px, transparent 1.4px);
  background-size: 26px 26px;
  mask-image: radial-gradient(ellipse 60% 60% at 75% 30%, black 10%, transparent 70%);
}
.neo-hero-inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 48px;
  align-items:center;
  min-height: 560px;
}
.neo-hero-eyebrow{ display:none; }

.neo-hero-slide{ display:none; animation: neoFade .6s ease; }
.neo-hero-slide.active{ display:block; }
@keyframes neoFade{ from{ opacity:0; transform: translateY(10px);} to{opacity:1; transform:translateY(0);} }

.neo-hero h1{ color:#fff; max-width: 720px; }
.neo-hero .lede{ color: rgba(255,255,255,.82); font-size:1.08rem; max-width:600px; }

.neo-hero-actions{ display:flex; gap:14px; margin-top:32px; flex-wrap:wrap; }

.neo-hero-dots{ display:flex; gap:10px; margin-top:56px; }
.neo-hero-dots button{
  width: 34px; height:4px; border-radius:2px; border:none;
  background: rgba(255,255,255,.3); cursor:pointer; padding:0;
  transition: background .2s ease, width .2s ease;
}
.neo-hero-dots button.active{ background: var(--neo-teal); width:52px; }

.neo-hero-visual{
  position:relative;
  aspect-ratio: 4/5;
}
.neo-hero-visual-slide{
  position:absolute;
  inset:0;
  overflow:hidden;
  opacity:0;
  transform: scale(1.03);
  transition: opacity .8s ease, transform .8s ease;
  border: 1px solid rgba(255,255,255,.22);
  background: linear-gradient(150deg, rgba(255,255,255,.14), rgba(255,255,255,.02));
  pointer-events:none;
}
.neo-hero-visual-slide.active{
  opacity:1;
  transform: scale(1);
  z-index:2;
  pointer-events:auto;
}
.neo-hero-visual-slide img{
  width:100%; height:100%;
  object-fit:cover;
  display:block;
}

.neo-hero-wave{ height: 64px; }

/* =========================================================
   WHY CHOOSE US
   ========================================================= */
.pillar-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.pillar-card{
  padding: 32px 26px 50px 40px;
  border-radius: 6px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.pillar-card:hover{ transform: translateY(-6px); box-shadow: var(--neo-shadow-lift); }

/* Alternating brand-colour fills, odd = teal, even = purple */
.pillar-card:nth-child(odd){ background: var(--neo-teal); }
.pillar-card:nth-child(even){ background: var(--neo-purple); }
.pillar-card h3, .pillar-card p{ color:#fff; }
.pillar-card p{ opacity:.92; }

/* Signature rounded corner: card 1 bottom-left, card 4 top-right. 2 & 3 stay sharp. */
.pillar-card:nth-child(1){ border-radius: 6px 6px 6px var(--neo-radius-signature); }
.pillar-card:nth-child(4){ border-radius: 6px var(--neo-radius-signature) 6px 6px; }

.pillar-num{
  font-size:.78rem; font-weight:800; color:#fff;
  background: rgba(255,255,255,.22);
  width:32px; height:32px; border-radius:9px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.pillar-card h3{ margin-bottom:8px; }
.pillar-card p{ font-size:.92rem; margin:0; }

/* =========================================================
   STAGE ICON â€” reusable badge (used on Services page headers)
   ========================================================= */
.stage-icon{
  width: 72px; height:72px; flex:none;
  border-radius: 18px 18px 18px 6px;
  background: linear-gradient(140deg, var(--neo-purple), var(--neo-teal));
  display:flex; align-items:center; justify-content:center;
  color:#fff;
}
.stage-icon svg{ width:34px; height:34px; }

/* =========================================================
   STAGE PILLS â€” layered capsule cards (inspired by neohealth.com.au
   "concept to shelf" section), each links straight into services.php
   ========================================================= */
.stage-pills{
  --pill-w: 196px;
  --pill-h: calc(var(--pill-w) * 1.4);
  --pill-label-h: 58px;
  /* Shift = capsule height minus label height, so every label lands on
     one shared horizontal line with no image peeking past it. */
  --pill-shift: calc(var(--pill-h) - var(--pill-label-h));
  display:flex;
  justify-content:center;
  align-items:flex-start;
  gap: 18px;
  flex-wrap:wrap;
  padding: 8px 0 24px;
}
.stage-pill{
  display:block;
  position:relative;
  width: var(--pill-w);
  text-decoration:none;
}
/* Odd pills hang entirely below the label line, even pills sit entirely above it. */
.stage-pill:nth-child(odd){ margin-top: var(--pill-shift); }
.stage-pill-img{
  width:100%;
  height: var(--pill-h);
  overflow:hidden;
  transition: transform .25s ease;
}
.stage-pill:nth-child(odd) .stage-pill-img{
  border-radius: 0;
  border-bottom-left-radius: 999px;
  border-bottom-right-radius: 999px;
  border-top-left-radius: 250px;
  border-top-right-radius: 250px;
  position: relative;
  top: 30px;
}
.stage-pill:nth-child(even) .stage-pill-img{
  border-radius: 0;
  border-top-left-radius: 999px;
  border-top-right-radius: 999px;
  border-bottom-left-radius: 250px;
  border-bottom-right-radius: 250px;
  position: relative;
  top: -20px;
}
.stage-pill-img img{
  width:100%; height:100%;
  object-fit:cover;
  object-position: center;
  display:block;
}
.stage-pill:hover .stage-pill-img{ transform: translateY(-6px); }

.stage-pill-label{
  position:absolute;
  left:50%;
  top:0;
  transform: translateX(-50%);
  z-index:2;
  width: calc(100% + 8px);
  height: var(--pill-label-h);
  background: var(--neo-purple);
  color:#fff;
  border-radius: 999px;
  padding: 0 18px;
  display:flex; align-items:center; justify-content:center; gap:10px;
  font-weight:700; font-size:.98rem; text-align:center; line-height:1.2;
  transition: background .2s ease;
}
/* Even pills: label pinned to the bottom edge instead of the top */
.stage-pill:nth-child(even) .stage-pill-label{ top:auto; bottom:0; }
.stage-pill-label::after{
  content:"";
  width:0; height:0;
  flex:none;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #fff;
  transition: transform .2s ease;
}
.stage-pill:hover .stage-pill-label{ background: var(--neo-teal-dark); }
.stage-pill:hover .stage-pill-label::after{ transform: translateX(3px); }

/* =========================================================
   TEAL SECTION â€” solid teal background + dot pattern
   ========================================================= */
.section-teal{
  position:relative;
  overflow:hidden;
  background-color: var(--neo-teal);
}

.section-teal-au-dots-bg{
        background-image: url(../img/cool-dots.svg);
    background-repeat: no-repeat;
    background-position: right;
    background-attachment: fixed;
}

.section-teal .dot-pattern-full{
  position:absolute; inset:0;
  opacity:.22;
  pointer-events:none;
  background-image: radial-gradient(circle, rgba(255,255,255,.9) 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}
.section-teal .container-neo{ position:relative; z-index:1; }
.section-teal .eyebrow{ color:#fff; opacity:.9; }
.section-teal .eyebrow::before{ background:#fff; }
.section-teal h2{ color:#fff; }
.section-teal .section-head p{ color: rgba(255,255,255,.85); }
.section-teal .slider-arrow{ border-color: rgba(255,255,255,.5); }
.section-teal .btn-ghost-neo{
  background:#fff;
  color: var(--neo-purple);
  border-color:#fff;
}
.section-teal .btn-ghost-neo:hover{
  background: var(--neo-purple);
  color:#fff;
  border-color: var(--neo-purple);
}

/* =========================================================
   PURPLE SECTION â€” solid purple background + dot pattern
   ========================================================= */
.section-purple{
  position:relative;
  overflow:hidden;
  background: var(--neo-purple);
}
.section-purple .dot-pattern-full{
  position:absolute; inset:0;
  opacity:.15;
  pointer-events:none;
  background-image: radial-gradient(circle, rgba(255,255,255,.9) 1.6px, transparent 1.6px);
  background-size: 22px 22px;
}
.section-purple .container-neo{ position:relative; z-index:1; }
.section-purple .eyebrow{ color:#fff; opacity:.9; }
.section-purple .eyebrow::before{ background: var(--neo-teal); }
.section-purple h2{ color:#fff; }
.section-purple .section-head p{ color: rgba(255,255,255,.82); }

/* =========================================================
   SLIDER â€” used for Industries We Support (and reusable elsewhere)
   ========================================================= */
.slider-wrap{ position:relative; display:flex; align-items:center; gap:14px; }
.slider-track{
  display:flex; gap:20px;
  overflow-x:auto;
  scroll-snap-type: x mandatory;
  scroll-behavior:smooth;
  padding: 4px 4px 12px;
  flex:1;
  scrollbar-width:none;
}
.slider-track::-webkit-scrollbar{ display:none; }
.slide-card{
  flex: 0 0 calc((100% - 40px) / 3);
  scroll-snap-align:start;
  background: transparent;
  transition: transform .2s ease;
}
.slide-card:hover{ transform: translateY(-6px); }
.slide-card-media{
  aspect-ratio: 3/4;
  border-radius: 4px var(--neo-radius-signature) 4px 4px;
  overflow:hidden;
}
.slide-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.slide-card-body{
  background:#fff;
  padding: 20px 18px 24px;
}
.slide-card-body h3{ font-size:1.3rem; line-height:1.3; margin:0; color: var(--neo-purple); }
.slide-card-body h3 a{
  color: inherit;
  text-decoration: none;
  transition: opacity .18s ease;
}
.slide-card-body h3 a:hover{ opacity:.75; }

.slider-arrow{
  flex:none;
  width:44px; height:44px;
  border-radius:50%;
  border: 1px solid var(--neo-line);
  background:#fff;
  color: var(--neo-purple);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.slider-arrow:hover{ background: var(--neo-teal); border-color: var(--neo-teal); color:#fff; }
.slider-arrow svg{ width:16px; height:16px; }
.slider-arrow--prev svg{ transform: rotate(180deg); }

/* =========================================================
   INDUSTRIES GRID (used on Proven Model / discipline listings)
   ========================================================= */
.industry-grid{display:grid;grid-template-columns: repeat(3, 1fr);gap:16px;}
.industry-card{
  text-align:center;
  padding: 26px 14px;
  border-radius: 18px;
  background: var(--neo-bg-alt);
  border: 1px solid transparent;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.industry-card:hover{ background:#fff; border-color: var(--neo-teal); transform: translateY(-4px); }
.industry-card .ic{
  width: 86px;
  height: 86px;
  margin: 0 auto 14px;
  border-radius:50%;
  background: var(--neo-teal-light);
  color: var(--neo-teal-dark);
  display:flex;
  align-items:center;
  justify-content:center;
}
.industry-card .ic svg{width: 62px;height: 62px;}
.industry-card span{ font-size:.85rem; font-weight:600; color: var(--neo-ink); }

/* =========================================================
   HOW WE SUPPORT YOUR GROWTH â€” flip cards
   ========================================================= */
.growth-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:24px; }

.flip-card{
  background: transparent;
  perspective: 1200px;
  height: 270px;
}
.flip-card-inner{
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
  transition: transform .6s;
  transform-style: preserve-3d;
}
.flip-card:hover .flip-card-inner{ transform: rotateY(180deg); }
.flip-card.is-flipped .flip-card-inner{ transform: rotateY(180deg); }

.flip-card-front,
.flip-card-back{
  position: absolute;
  inset: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  border-radius: var(--neo-radius-signature) 0 var(--neo-radius-signature) 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding: 28px;
}

.flip-card-front{
  background:#fff;
  border: 1px solid var(--neo-line);
  box-shadow: var(--neo-shadow-card);
}
.flip-card:hover .flip-card-front{ box-shadow: none; }
.growth-card-icon{
  width: 62px; height:62px;
  border-radius: 16px 16px 16px 4px;
  background: var(--neo-purple);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  margin-bottom: 18px;
}
.growth-card-icon svg{ width:28px; height:28px; }
.flip-card-front h4{ font-size:1.05rem; font-weight:700; margin:0; color: var(--neo-ink); }
#values .flip-card-front h4{ font-size:1.35rem; }

.flip-card-back{
  background:#fff;
  border: 1px solid var(--neo-line);
  box-shadow: var(--neo-shadow-card);
  color: var(--neo-ink);
  transform: rotateY(180deg);
  padding: 32px;
}
.flip-card-back h4{ font-size:1.05rem; font-weight:700; margin:0 0 14px; color: var(--neo-purple); }.flip-card-back h4::after{
  content:"";
  width: 60px; height: 4px;
  background: var(--neo-teal);
  border-radius: 2px;
  display:block;
  margin: 14px auto 0;
}
.flip-card-back p{ font-size:.9rem; margin:0; color: var(--neo-ink-soft); line-height:1.65; }
#values .flip-card-back h4{ font-size:1.25rem; }
#values .flip-card-back p{ font-size:1rem; line-height:1.6; }
#growth .flip-card-back h4{ font-size:1.25rem; }
#growth .flip-card-back p{ font-size:1rem; line-height:1.6; }

/* =========================================================
   CTA BAND
   ========================================================= */
.cta-band{
  background: linear-gradient(120deg, var(--neo-purple-deeper), var(--neo-purple) 65%, var(--neo-purple-dark));
  border-radius: var(--neo-radius-signature) 0 var(--neo-radius-signature) 0;
  padding: 64px;
  color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  flex-wrap:wrap;
}
.cta-band h2{ color:#fff; margin-bottom:8px; }
.cta-band p{ color: rgba(255,255,255,.78); margin:0; max-width: 480px; }

/* =========================================================
   FOOTER
   ========================================================= */
.neo-footer{ background: var(--neo-purple-deeper); color: rgba(255,255,255,.72); padding: 72px 0 0; }
.neo-footer h5{ color:#fff; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:20px; }
.neo-footer p{ color: rgba(255,255,255,.72); }
.neo-footer a{ color: rgba(255,255,255,.72); font-size:.92rem; transition: color .15s ease; }
.neo-footer a:hover{ color:#fff; }
.neo-footer .f-grid{ display:grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 40px; padding-bottom: 48px; }
.neo-footer .f-links li{ margin-bottom:12px; }
.neo-footer .f-logo{ display:block; margin-bottom:16px; }
.neo-footer .f-logo img{ height:34px; width:auto; display:block; }
.neo-footer .f-desc{ font-size:.9rem; max-width: 320px; }
.neo-footer .social-ic{
  width: 38px; height:38px; border-radius:10px;
  background: rgba(255,255,255,.08);
  display:inline-flex; align-items:center; justify-content:center;
  margin-top: 10px;
}
.social-ic svg{ width:18px;height:18px; }
.neo-footer .f-bottom{
  border-top: 1px solid rgba(255,255,255,.12);
  padding: 22px 0;
  display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:12px;
  font-size:.82rem;
}
.neo-footer .f-bottom a{ font-size:.82rem; }
.neo-footer .f-bottom-links{ display:flex; gap:22px; }

/* WhatsApp floating button */
.wa-float{
  position:fixed; bottom:26px; right:26px; z-index:999;
  width:58px; height:58px; border-radius:50%;
  background: var(--neo-teal);
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 30px rgba(16,164,134,.4);
  color:#fff;
  transition: transform .2s ease;
}
.wa-float:hover{ transform: scale(1.08); color:#fff; }
.wa-float svg{ width:28px; height:28px; }

/* =========================================================
   INNER PAGE HERO (About / Markets / Services / Blog / Contact)
   ========================================================= */
.page-hero{
  position: relative;
  overflow: hidden;
  background: linear-gradient(155deg, var(--neo-purple-deeper) 0%, var(--neo-purple) 60%, var(--neo-teal-dark) 140%);
  color:#fff;
  padding: 68px 0 84px;
}
.page-hero .neo-hero-pattern{ opacity:.14; }
.page-hero-inner{ position:relative; /*max-width: 760px;*/ margin:0 auto; text-align:center; }
.page-hero h1 .hero-highlight{ color: var(--neo-teal); /*white-space: nowrap;*/ }
.text-teal-accent{ color: var(--neo-teal-dark); }
.text-teal-badge{ background-color:#1ca487; padding:5px 20px; border-top-left-radius:22px; border-bottom-right-radius:22px; color:#fff; }
.text-blu-badge{ background-color:#5b3280; padding:5px 20px; border-top-left-radius:22px; border-bottom-right-radius:22px; color:#fff; }
.page-hero-inner .eyebrow{ color:#fff; opacity:.85; }
.page-hero-inner .eyebrow::before{ background: var(--neo-teal); }
.page-hero h1{ color:#fff; margin-bottom: 14px; }
.page-hero p{ color: rgba(255,255,255,.82); font-size:1.05rem; margin: 0 auto; }
.page-hero-crumb{ font-size:.82rem; color: rgba(255,255,255,.6); margin-bottom:18px; display:flex; gap:8px; align-items:center; justify-content:center; }
.page-hero-crumb a{ color: rgba(255,255,255,.85); font-weight:600; }

/* =========================================================
   PHOTO FRAME â€” reusable photography placeholder
   (signature single-corner shape + gradient + note)
   ========================================================= */
.neo-photo-frame{
  position:relative;
  overflow:hidden;
  background: linear-gradient(150deg, var(--neo-purple), var(--neo-teal-dark));
  display:flex; align-items:center; justify-content:center;
  min-height: 320px;
}
.neo-photo-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.neo-photo-frame .glow{
  position:absolute; width:55%; aspect-ratio:1; border-radius:50%;
  background: radial-gradient(circle, rgba(255,255,255,.28), transparent 70%);
  filter: blur(6px);
}
.neo-photo-frame .note{
  position:relative; z-index:2; text-align:center; padding:0 28px;
  color: rgba(255,255,255,.78); font-size:.8rem; font-weight:600; line-height:1.5;
}
.neo-photo-frame.square{ aspect-ratio: 1/1; }
.neo-photo-frame.portrait{ aspect-ratio: 4/5; }
.neo-photo-frame.wide{ aspect-ratio: 16/10; }

/* =========================================================
   STORY SECTION â€” text + photo split
   ========================================================= */
.story-grid{ display:grid; grid-template-columns: 1.1fr .9fr; gap: 56px; align-items:center; }
.story-grid p{ font-size:1.02rem; }
.story-grid p:last-of-type{ margin-bottom:0; }

/* =========================================================
   VISION / MISSION â€” split purple pull-quote panels
   ========================================================= */
.split-panels{ display:grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.quote-panel{
  background: var(--neo-purple);
  color:#fff;
  padding: 65px 50px 50px 60px;
  border-radius: var(--neo-radius-signature) 0px 0px 0px;
}
.quote-panel:nth-child(2){
  background: var(--neo-teal);
  border-radius: 0px var(--neo-radius-signature) 0px 0px;
}
.quote-panel .eyebrow{
  display:block;
  font-size: 1.9rem;
  font-weight:700;
  letter-spacing:-0.01em;
  text-transform:none;
  color:#fff;
  opacity:1;
  margin-bottom:.4em;
  line-height:1.2;
}
.quote-panel .eyebrow::before{ display:none; }

#story .eyebrow{
  display:block;
  font-size: clamp(1.9rem, 3vw, 2.6rem);
  font-weight:700;
  letter-spacing:-0.01em;
  text-transform:none;
  color: var(--neo-ink);
  margin-bottom:.5em;
  line-height:1.15;
}
#story .eyebrow::before{ display:none; }
#story h2{
  font-size:1.05rem;
  font-weight:500;
  color: var(--neo-ink-soft);
  margin:0 0 .6em;
  line-height:1.65;
}
.quote-panel p{ color: rgba(255,255,255,.9); font-size:1.08rem; margin:0; line-height:1.6; }

/* =========================================================
   VALUES GRID â€” 9-letter NEOHEALTH acronym
   ========================================================= */
.value-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.value-letter{
  width: 44px; height:44px;
  border-radius: 12px 12px 12px 4px;
  background: linear-gradient(140deg, var(--neo-purple), var(--neo-teal));
  color:#fff; font-weight:800; font-size:1.15rem;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:18px;
}

/* =========================================================
   LEADERSHIP SPOTLIGHT
   ========================================================= */
.leader-grid{ display:grid; grid-template-columns: .78fr 1.22fr; gap: 0; align-items:stretch; }
.leader-bio-card{
  background: var(--neo-teal);
  color:#fff;
  padding: 44px 48px;
  border-radius: 0;
  border-top-right-radius: 200px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
/* Leadership-only radius overrides â€” scoped so the shared .neo-corner-bl
   utility and .neo-photo-frame img rule stay untouched everywhere else. */
#leadership .neo-photo-frame{
  background: #1ca487;
}
#leadership .neo-corner-bl{
  border-radius: 0;
  border-bottom-left-radius: 200px;
}
#leadership .neo-photo-frame img{
  border-radius: 0;
  border-top-right-radius: 200px;
}
.leader-bio-card .leader-name{ color:#fff; }
.leader-bio-card .leader-title{ color: rgba(255,255,255,.85); }
.leader-bio-card p{ color: rgba(255,255,255,.92); }
.leader-name{ font-size:1.5rem; font-weight:800; margin-bottom:2px; }
.leader-title{ color: var(--neo-teal-dark); font-weight:700; font-size:.95rem; margin-bottom:20px; display:block; }
.leader-grid p{ font-size:.98rem; }

/* =========================================================
   DETAIL CARD (Why Choose Us â€” full panels)
   ========================================================= */
.detail-grid{ display:grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.detail-card{
  background: #fff;
  border-radius: var(--neo-radius-card);
  padding: 32px;
}
.detail-card h3{ margin-bottom:10px; }
.detail-card p{ font-size:.92rem; margin:0; }

/* =========================================================
   MARKET CORRIDOR VISUAL (India \u2192 Australia \u2192 New Zealand \u2192 Global)
   ========================================================= */
.corridor{
  display:flex; align-items:center; justify-content:space-between;
  gap: 8px;
  padding: 36px 28px;
  background: var(--neo-bg-alt);
  border-radius: var(--neo-radius-signature) 20px 20px 20px;
}
.corridor-node{
  display:flex; flex-direction:column; align-items:center; gap:10px;
  text-align:center;
  flex:none;
}
.corridor-node .dot{
  width:56px; height:56px; border-radius:50%;
  background: linear-gradient(140deg, var(--neo-purple), var(--neo-teal));
  color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.corridor-node .dot svg{ width:26px; height:26px; }
.corridor-node span{ font-size:.85rem; font-weight:700; color: var(--neo-ink); }
.corridor-node.is-global .dot{ background: rgba(92,47,131,.12); color: var(--neo-purple); }
.corridor-node.is-global span{ color: var(--neo-ink-soft); }
.corridor-line{
  flex:1 1 auto;
  height: 2px;
  min-width: 24px;
  background: repeating-linear-gradient(90deg, var(--neo-teal) 0 8px, transparent 8px 16px);
}

/* Globe image panel â€” replaces the corridor timeline on markets.php */
.corridor-image-panel{
  border-radius: var(--neo-radius-signature) 20px 20px 20px;
  min-height: 320px;
  background-color: var(--neo-bg-alt);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media (max-width: 640px){
  .corridor-image-panel{ min-height: 220px; }
}

/* =========================================================
   MARKET / INDUSTRY DETAIL CARDS (Markets We Support page)
   ========================================================= */
.market-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.market-card{
  background:#fff;
  border: 1px solid var(--neo-line);
  border-radius: var(--neo-radius-card);
  padding: 30px 26px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.market-card:hover{ transform: translateY(-6px); box-shadow: var(--neo-shadow-card); border-color: transparent; }
.market-card .ic{
  width:52px; height:52px; margin-bottom:18px;
  border-radius: 14px 14px 14px 4px;
  display:flex; align-items:center; justify-content:center;
}
.market-card .ic svg{ width:26px; height:26px; }
.market-card:nth-child(odd) .ic{ background: var(--neo-teal); color:#fff; }
.market-card:nth-child(even) .ic{ background: var(--neo-purple); color:#fff; }
.market-card h3{ font-size:1.08rem; margin-bottom:8px; }
.market-card p{ font-size:.92rem; margin:0; }

/* =========================================================
   INDUSTRIES WE SUPPORT â€” uniform image cards
   Used on index.php (slider), markets.php and services.php (grid)
   ========================================================= */
.industries-grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.industries-card{
  background:#fff;
  border: 1px solid var(--neo-line);
  border-radius: var(--neo-radius-card);
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.industries-card:hover{ transform: translateY(-6px); box-shadow: var(--neo-shadow-card); border-color: transparent; }
.industries-card-media{ aspect-ratio: 4/3; overflow:hidden; }
.industries-card-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.industries-card-body{ padding: 22px 22px 26px; }
.industries-card-body h3{ font-size:1.05rem; margin-bottom:8px; }
.industries-card-body p{ font-size:.88rem; margin:0; color: var(--neo-ink-soft); line-height:1.55; }

/* =========================================================
   BROCHURE PANEL
   ========================================================= */
.brochure-panel{
  background: linear-gradient(120deg, var(--neo-purple-deeper), var(--neo-purple) 60%, var(--neo-teal-dark));
  border-radius: var(--neo-radius-signature) 0 var(--neo-radius-signature) 0;
  padding: 72px 64px;
  color:#fff;
  display:flex; align-items:center; justify-content:center;
}

/* =========================================================
   SERVICES PAGE â€” stage explorer (tabs + accordion)
   ========================================================= */
.svc-tabs-bar{
  position: sticky;
  top: 73px;
  z-index: 500;
  background: var(--neo-teal);
  box-shadow: 0 4px 16px rgba(16,164,134,.25);
}
.svc-tabs{
  display:flex; gap:10px;
  justify-content:center;
  flex-wrap:wrap;
  padding: 16px 0;
}
.svc-tab{
  display:flex; align-items:center; gap:10px;
  padding: 12px 24px;
  border-radius: var(--neo-radius-pill);
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(255,255,255,.12);
  font-weight:700; font-size:.92rem;
  color:#fff;
  cursor:pointer;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}
.svc-tab svg{ width:18px; height:18px; }
.svc-tab:hover{ transform: translateY(-2px); background: rgba(255,255,255,.24); border-color:#fff; }
.svc-tab.active{
  background: #fff;
  border-color: #fff;
  color: var(--neo-teal-dark);
}

.svc-panel{ display:none; }
.svc-panel.active{ display:block; animation: svcFade .45s ease; }
@keyframes svcFade{ from{ opacity:0; transform: translateY(14px); } to{ opacity:1; transform:none; } }

.svc-panel-grid{
  display:grid; grid-template-columns: .82fr 1.18fr;
  gap: 44px; align-items:start;
}

/* Left visual column */
.svc-panel-visual{ position:sticky; top:150px; }
.svc-panel-media{
  position:relative;
  aspect-ratio: 3/4;
  border-radius: 4px var(--neo-radius-signature) 4px var(--neo-radius-signature);
  overflow:hidden;
}
.svc-panel-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.svc-panel-media::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(42,20,64,.4) 0%, rgba(42,20,64,.5) 45%, rgba(42,20,64,.94) 100%);
}
.svc-panel-caption{
  position:absolute; left:0; right:0; bottom:0;
  z-index:2;
  padding: 28px 26px;
  color:#fff;
}
.svc-panel-caption .stg{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color: var(--neo-teal);
  margin-bottom:8px;
}
.svc-panel-caption h3{ color:#fff; font-size:1.6rem; margin:0 0 8px; }
.svc-panel-caption p{ color: rgba(255,255,255,.85); font-size:.9rem; margin:0; }

/* Right accordion column */
.svc-acc-item{
  border: 1px solid var(--neo-line);
  border-radius: var(--neo-radius-card) 0 var(--neo-radius-card) 0;
  background:#fff;
  overflow:hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.svc-acc-item + .svc-acc-item{ margin-top:16px; }
.svc-acc-item.open{ background: var(--neo-purple); border-color: transparent; box-shadow: var(--neo-shadow-lift); }

.svc-acc-head{
  width:100%;
  display:flex; align-items:center; gap:18px;
  padding: 24px 28px;
  background:none; border:none;
  text-align:left; cursor:pointer;
}
.svc-acc-ic{
  width:48px; height:48px; flex:none;
  border-radius: 13px 13px 13px 4px;
  background: var(--neo-teal-light);
  color: var(--neo-teal-dark);
  display:flex; align-items:center; justify-content:center;
  transition: background .2s ease, color .2s ease;
}
.svc-acc-ic svg{ width:22px; height:22px; }
.svc-acc-item.open .svc-acc-ic{ background: #fff; color: var(--neo-purple); }
.svc-acc-item.open .svc-acc-head h4{ color:#fff; }
.svc-acc-head h4{
  flex:1; margin:0;
  font-size:1.08rem; font-weight:700; color: var(--neo-ink);
  line-height:1.35;
}
.svc-acc-toggle{
  width:30px; height:30px; flex:none;
  border-radius:50%;
  border:1px solid var(--neo-teal);
  background: var(--neo-teal);
  display:flex; align-items:center; justify-content:center;
  color:#fff;
  transition: transform .25s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.svc-acc-toggle svg{ width:14px; height:14px; }
.svc-acc-item.open .svc-acc-toggle{
  transform: rotate(180deg);
  background: #fff; border-color: #fff; color: var(--neo-purple);
}

.svc-acc-body{
  max-height:0; overflow:hidden;
  transition: max-height .35s ease;
}
.svc-acc-item.open .svc-acc-body{ max-height: 800px; }
.svc-acc-body-inner{ padding: 0 28px 28px 94px; }
.svc-acc-lede{ font-size:.98rem; color: var(--neo-ink-soft); margin:0 0 20px; line-height:1.6; }

.svc-do-label{
  font-size:.72rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color: var(--neo-teal-dark);
  display:flex; align-items:center; gap:12px;
  margin-bottom:16px;
}
.svc-do-label::after{ content:""; flex:1; height:1px; background: var(--neo-line); }

.svc-do-list{ margin:0 0 22px; display:grid; gap:12px; }
.svc-do-list li{
  display:flex; gap:12px; align-items:flex-start;
  font-size:.92rem; color: var(--neo-ink); line-height:1.55;
}
.svc-do-list li svg{
  width:20px; height:20px; flex:none; margin-top:1px;
  padding:4px; border-radius:50%;
  background: var(--neo-teal-light); color: var(--neo-teal-dark);
}

.svc-quote{
  margin:0;
  padding: 16px 22px;
  border-left: 4px solid var(--neo-teal);
  background: var(--neo-bg-alt);
  border-radius: 0 12px 12px 0;
  font-weight:600; font-style:italic; font-size:.96rem;
  color: var(--neo-purple);
}

/* Expanded state â€” flip all body text/icons to read on purple */
.svc-acc-item.open .svc-acc-lede{ color: rgba(255,255,255,.88); }
.svc-acc-item.open .svc-do-label{ color:#fff; }
.svc-acc-item.open .svc-do-label::after{ background: rgba(255,255,255,.3); }
.svc-acc-item.open .svc-do-list li{ color:#fff; }
.svc-acc-item.open .svc-do-list li svg{ background: rgba(255,255,255,.18); color:#fff; }
.svc-acc-item.open .svc-quote{
  background: rgba(255,255,255,.12);
  border-left-color:#fff;
  color:#fff;
}

/* =========================================================
   BLOG
   ========================================================= */
.blog-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blog-card{
  background:#fff;
  border: 1px solid var(--neo-line);
  border-radius: var(--neo-radius-card);
  overflow:hidden;
  transition: transform .2s ease, box-shadow .2s ease;
  display:flex; flex-direction:column;
}
.blog-card:hover{ transform: translateY(-6px); box-shadow: var(--neo-shadow-card); }
.blog-card-img{
  aspect-ratio: 16/10;
  background: linear-gradient(150deg, var(--neo-purple), var(--neo-teal-dark));
}
.blog-card-body{ padding: 24px; flex:1; display:flex; flex-direction:column; }
.blog-tag{
  display:inline-block; align-self:flex-start;
  font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color: var(--neo-teal-dark); background: var(--neo-teal-light);
  padding:5px 12px; border-radius: var(--neo-radius-pill); margin-bottom:12px;
}
.blog-card h3{ font-size:1.05rem; margin-bottom:8px; }
.blog-card p{ font-size:.9rem; margin:0; }
.blog-meta{ font-size:.8rem; color: var(--neo-ink-soft); margin-top:16px; padding-top:16px; border-top:1px solid var(--neo-line); }

.blog-empty{
  text-align:center; padding: 90px 24px;
  background: var(--neo-bg-alt);
  border-radius: var(--neo-radius-signature) 20px 20px 20px;
}
.blog-empty .ic{
  width:64px; height:64px; margin:0 auto 24px;
  border-radius:50%;
  background: var(--neo-teal-light); color: var(--neo-teal-dark);
  display:flex; align-items:center; justify-content:center;
}
.blog-empty .ic svg{ width:28px; height:28px; }
.blog-empty h3{ margin-bottom:10px; }
.blog-empty p{ max-width:420px; margin:0 auto; }

/* =========================================================
   CONTACT
   ========================================================= */
.contact-grid{ display:grid; grid-template-columns: 1.15fr .85fr; gap: 48px; align-items:start; }

.contact-form .form-label{ font-weight:600; font-size:.86rem; color: var(--neo-ink); margin-bottom:6px; }
.contact-form .form-control,
.contact-form .form-select{
  border: 1px solid var(--neo-line);
  border-radius: 12px;
  padding: 12px 16px;
  font-size:.94rem;
}
.contact-form .form-control:focus,
.contact-form .form-select:focus{
  border-color: var(--neo-teal);
  box-shadow: 0 0 0 3px rgba(16,164,134,.15);
}
.contact-form textarea.form-control{ min-height: 130px; }

.contact-whatsapp-card{
  background: linear-gradient(120deg, var(--neo-teal-dark), var(--neo-teal));
  color: #fff;
  border-radius: var(--neo-radius-signature) 0px 0px 0px;
  padding: 32px 44px 12px 92px;
  margin-bottom: 0;
}
.contact-whatsapp-card h3{ color:#fff; margin-bottom:8px; }
.contact-whatsapp-card p{ color: rgba(255,255,255,.85); font-size:.92rem; }
.contact-whatsapp-card .btn-neo{ background:#fff; color: var(--neo-teal-dark); margin-top:14px; }
.contact-whatsapp-card .btn-neo:hover{ background: rgba(255,255,255,.9); }

.contact-info-card{
  background: var(--neo-purple);
  border-radius: 0;
  border-bottom-right-radius: var(--neo-radius-signature);
  padding: 40px 52px 48px;
}
.contact-info-row{ display:flex; gap:14px; align-items:flex-start; }
.contact-info-row + .contact-info-row{ margin-top:20px; }
.contact-info-row .ic{
  width:40px; height:40px; flex:none;
  border-radius: 11px 11px 11px 3px;
  background: rgba(255,255,255,.16); color:#fff;
  display:flex; align-items:center; justify-content:center;
}
.contact-info-row .ic svg{ width:18px; height:18px; }
.contact-info-row h4{ font-size:.92rem; font-weight:700; margin:0 0 4px; color:#fff; }
.contact-info-row p{ font-size:.88rem; margin:0; color: rgba(255,255,255,.82); }
.contact-info-row p a{ color:#fff; }

.map-frame{
  border-radius: var(--neo-radius-card);
  overflow:hidden;
  border: 1px solid var(--neo-line);
}
.map-frame iframe{ width:100%; height:400px; border:0; display:block; }

.map-frame-full{
  width:100%;
  margin-top: 40px;
  overflow:hidden;
}
.map-frame-full iframe{ width:100%; height:450px; border:0; display:block; }

.alert-success-neo{
  background: var(--neo-teal-light); color: var(--neo-teal-dark);
  border-radius: 14px; padding: 16px 22px;
  font-weight:600; font-size:.92rem;
  margin-bottom: 28px;
  display:flex; align-items:center; gap:10px;
}
.alert-success-neo svg{ width:18px; height:18px; flex:none; }

/* =========================================================
   LEGAL PAGES
   ========================================================= */
.legal-layout{
  display:grid;
  grid-template-columns: 256px 1fr;
  gap: 64px;
  align-items:start;
}

/* ---- Sticky "On this page" nav ---- */
.legal-toc{
  position:sticky;
  top: 112px;
  background: var(--neo-bg-alt);
  border: 1px solid var(--neo-line);
  border-radius: var(--neo-radius-card);
  padding: 22px 20px;
}
.legal-toc-label{
  font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color: var(--neo-ink-soft); margin: 0 0 12px;
}
.legal-toc nav{
  display:flex; flex-direction:column;
  max-height: calc(100vh - 170px);
  overflow-y:auto;
}
.legal-toc a{
  font-size:.85rem; line-height:1.35; color: var(--neo-ink-soft);
  padding: 7px 0 7px 14px;
  border-left: 2px solid var(--neo-line);
  transition: color .15s ease, border-color .15s ease;
}
.legal-toc a:hover{ color: var(--neo-purple); }
.legal-toc a.is-active{ color: var(--neo-teal-dark); border-color: var(--neo-teal); font-weight:600; }

/* ---- Body copy ---- */
.legal-content{ max-width: 760px; }
.legal-content h2{ font-size:1.22rem; margin-top:48px; }
.legal-content h2:first-of-type{ margin-top:0; }
.legal-content h3{font-size:1rem;margin-top:26px;/* color: var(--neo-purple); */}
.legal-content p{ font-size:.96rem; color: var(--neo-ink-soft); }
.legal-content p strong{ color: var(--neo-ink); font-weight:700; }
.legal-content a{
  color: var(--neo-teal-dark); font-weight:600; text-decoration:underline;
  text-decoration-color: rgba(16,164,134,.35); text-underline-offset:2px;
}
.legal-content a:hover{ text-decoration-color: currentColor; }

.legal-updated{
  font-size:.85rem; color: var(--neo-ink-soft); margin-bottom:32px;
  display:inline-flex; align-items:center; gap:8px;
  background: var(--neo-teal-light); color: var(--neo-teal-dark);
  padding: 8px 16px; border-radius: var(--neo-radius-pill); font-weight:600;
}

.legal-notice{
  background: var(--neo-teal-light);
  border-left: 4px solid var(--neo-teal);
  padding: 16px 22px;
  border-radius: 10px;
  font-size:.9rem;
  margin-bottom: 44px;
}
.legal-notice p{ margin:0; font-size:.9rem; color: var(--neo-teal-dark); }

.legal-lead{
  padding-bottom: 30px;
  margin-bottom: 6px;
  border-bottom: 1px solid var(--neo-line);
}
.legal-lead p{ font-size:1rem; }
.legal-lead p:last-child{ margin-bottom:0; }

/* Inline clause numbers, e.g. "3.1." before a sub-clause paragraph */
.clause-num{font-weight:700;/* color: var(--neo-purple); */margin-right: 5px;}

/* Definitions list (2.1 Definitions) */
dl.legal-defs{ margin: 16px 0; }
.legal-defs dt{
  font-weight:700; color: var(--neo-ink);
  margin-top:18px; font-size:.96rem;
}
.legal-defs dt:first-child{ margin-top:0; }
.legal-defs dd{
  margin: 4px 0 0; font-size:.96rem; color: var(--neo-ink-soft);
}
.legal-defs dd p{ margin: 6px 0; font-size:.96rem; }

/* Lettered (a)(b)(c) and roman (i)(ii)(iii) sub-clause lists */
.legal-list-alpha,
.legal-list-roman,
.legal-list-plain{
  margin: 12px 0 18px; padding:0; list-style:none;
}
.legal-list-alpha li,
.legal-list-roman li,
.legal-list-plain li{
  position:relative; margin-bottom:10px; font-size:.96rem; color: var(--neo-ink-soft);
}
.legal-list-alpha li:last-child,
.legal-list-roman li:last-child,
.legal-list-plain li:last-child{ margin-bottom:0; }

.legal-list-alpha{ counter-reset: alpha; }
.legal-list-alpha > li{ counter-increment: alpha; padding-left:30px; }
.legal-list-alpha > li::before{
  content: "(" counter(alpha, lower-alpha) ")";
  position:absolute;
  left:0;
  top:0;
  font-weight:700;
  /* color: var(--neo-purple); */
  font-size:.9rem;
}

.legal-list-roman{ counter-reset: roman; margin-top:10px; }
.legal-list-roman > li{ counter-increment: roman; padding-left:32px; }
.legal-list-roman > li::before{
  content: "(" counter(roman, lower-roman) ")";
  position:absolute;
  left:0;
  top:0;
  font-weight:700;
  /* color: var(--neo-teal-dark); */
  font-size:.9rem;
}

.legal-list-plain li{ padding-left:20px; }
.legal-list-plain li::before{
  content:""; position:absolute; left:0; top:.55em;
  width:5px; height:5px; border-radius:50%;
  background: var(--neo-teal);
}

.legal-footnote{
  margin-top: 56px;
  padding-top: 22px;
  border-top: 1px solid var(--neo-line);
  font-size:.82rem;
  font-style: italic;
  color: var(--neo-ink-soft);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991px){
  #vision-mission.section-alt{
    background-attachment: scroll;
    background-size: cover;
  }
  .neo-hero-inner{ grid-template-columns:1fr; min-height:auto; padding-bottom:48px; }
  .neo-hero-visual{ aspect-ratio: 16/10; }
  .pillar-grid{ grid-template-columns: repeat(2,1fr); }
  .slide-card{ flex: 0 0 calc((100% - 20px) / 2); }
  .stage-pills{ --pill-w: 150px; --pill-label-h: 50px; gap:14px; }
  .stage-pill-label{ font-size:.85rem; padding:0 12px; }
  .industry-grid{ grid-template-columns: repeat(3,1fr); }
  .industries-grid{ grid-template-columns: repeat(2,1fr); }
  .growth-grid{ grid-template-columns: 1fr; }
  .neo-footer .f-grid{ grid-template-columns: 1fr 1fr; }
  .cta-band{ padding: 44px; }
  .story-grid{ grid-template-columns: 1fr; gap:32px; }
  .story-grid .neo-photo-frame{ order:-1; }
  .split-panels{ grid-template-columns: 1fr; }
  .value-grid{ grid-template-columns: repeat(2,1fr); }
  .leader-grid{ grid-template-columns: 1fr; gap:32px; }
  .detail-grid{ grid-template-columns: 1fr; }
  .market-grid{ grid-template-columns: repeat(2,1fr); }
  .corridor{ flex-wrap:wrap; justify-content:center; row-gap:20px; }
  .corridor-line{ min-width:16px; }
  .brochure-panel{ padding: 40px; }
  .svc-panel-grid{ grid-template-columns: 1fr; gap:32px; }
  .svc-panel-visual{ position:static; }
  .svc-panel-media{ aspect-ratio: 16/9; }
  .blog-grid{ grid-template-columns: repeat(2,1fr); }
  .contact-grid{ grid-template-columns: 1fr; gap:32px; }
  .legal-layout{ grid-template-columns: 1fr; gap: 28px; }
  .legal-toc{ position:static; }
  .legal-toc nav{ max-height:none; }
}
@media (max-width: 575px){
  .pillar-grid{ grid-template-columns: 1fr; }
  .stage-pills{ --pill-w: 140px; --pill-label-h: 46px; gap:12px; }
  .stage-pill:nth-child(odd){ margin-top: 0; }
  .stage-pill-label,
  .stage-pill:nth-child(even) .stage-pill-label{
    top:50%; bottom:auto;
    transform: translate(-50%, -50%);
  }
  .stage-pill-label{ font-size:.82rem; padding:0 10px; }
  .industry-grid{ grid-template-columns: repeat(2,1fr); }
  .industries-grid{ grid-template-columns: 1fr; }
  .neo-footer .f-grid{ grid-template-columns: 1fr; }
  .cta-band{ flex-direction:column; align-items:flex-start; }
  .value-grid{ grid-template-columns: 1fr; }
  .market-grid{ grid-template-columns: 1fr; }
  .corridor{ padding: 28px 18px; }
  .corridor-node span{ font-size:.76rem; }
  .svc-tab{ padding: 11px 18px; font-size:.85rem; }
  .svc-acc-head{ padding: 20px; gap:14px; }
  .svc-acc-body-inner{ padding: 0 20px 24px 20px; }
  .blog-grid{ grid-template-columns: 1fr; }
  .slider-arrow{ width:36px; height:36px; }
  .slide-card{ flex: 0 0 100%; }
}


.text-color-teal{
    color: var(--neo-teal);;
}
.text-color-blu{
    color: var(--neo-purple);
}
.font-bolder{
    font-weight: bolder;
}


.text-justify{
    text-align: justify;
}








@media only screen and (max-width: 768px) {
    .stage-pill:nth-child(even) .stage-pill-img {
        border-radius: 0;
        border-top-left-radius: 999px;
        border-top-right-radius: 999px;
        border-bottom-left-radius: 250px;
        border-bottom-right-radius: 250px;
        position: relative;
        top: 0px; 
    }
    .stage-pill:nth-child(odd) .stage-pill-img {
        border-radius: 0;
        border-top-left-radius: 999px;
        border-top-right-radius: 999px;
        border-bottom-left-radius: 250px;
        border-bottom-right-radius: 250px;
        position: relative;
        top: 0px;
    }
    .stage-pill-label, .stage-pill:nth-child(even) .stage-pill-label {
        top: 100%;
    }
    .stage-pill{
        margin-bottom: 35px;
        
    }
}