/* HEROSC  */

.health-hero{
  position: relative;
  overflow: hidden;
  padding: 110px 40px;
  background:
    linear-gradient(90deg, rgba(24,98,255,.06) 0%, rgba(24,98,255,0) 18%),
    linear-gradient(180deg,#071226 0%,#071124 100%);
  color: white;
  font-family: Inter, system-ui, sans-serif;
}

/* full section ambient background image */
.health-hero__bg{
  position: absolute;
  inset: 0;
  background:
    url("../images/healthcare/herobg.webp") center center / cover no-repeat;
  opacity: 0.14;
  pointer-events: none;
  z-index: 0;
  transform: scale(1.04);
}
.health-hero p{
  color: #c7d3e7;
}

/* optional extra blue wash */
.health-hero__bg::after{
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 42%, rgba(84,140,255,.10), transparent 34%),
    radial-gradient(circle at 82% 60%, rgba(84,140,255,.08), transparent 30%);
}

/* content stays above bg */
.health-container{
  position: relative;
  z-index: 1;
  max-width: 1300px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.hero-badge{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px solid rgba(68,123,255,.2);
  background: rgba(18,43,87,.45);
  color: #4b8cff;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 25px;
}

.dot{
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4b8cff;
}

.hero-title{
  margin: 0 0 28px;
  font-size: 92px;
  line-height: .94;
  font-weight: 800;
  letter-spacing: -.055em;
}

.hero-title__light{
  color: #f2f6fb;
}

.hero-title__gradient{
  display: inline-block;
  background: linear-gradient(
    90deg,
    #d7e3ff 0%,
    #a8c4ff 30%,
    #6ea1ff 62%,
    #4b87f6 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-desc{
  max-width: 560px;
  color: #c7d3e7;
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 40px;
}

.hero-buttons{
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
}

.btn-primary,
.btn-secondary{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 0 34px;
  border-radius: 14px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 700;
  transition: transform .3s ease, box-shadow .3s ease, background .3s ease;
}

.btn-primary{
  background: #ff7a32;
  color: white;
  box-shadow: 0 12px 32px rgba(255,120,40,.30);
}

.btn-primary:hover{
  transform: translateY(-3px);
  background: #ff8845;
}

.btn-secondary{
  color: #ecf2fb;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.03);
}

.btn-secondary:hover{
  transform: translateY(-3px);
  background: rgba(255,255,255,.06);
}

.hero-image{
  position: relative;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 25px 80px rgba(0,0,0,.42);
}

.hero-image img{
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}

/* responsive */
@media (max-width: 1000px){
  .health-hero{
    padding: 90px 28px;
  }

  .health-container{
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .health-right{
    order: -1;
  }

  .hero-title{
    font-size: 58px;
    line-height: .98;
  }

  .health-hero__bg{
    background-position: center;
    opacity: 0.10;
  }
}

@media (max-width: 600px){
  .health-hero{
    padding: 72px 20px;
  }

  .hero-title{
    font-size: 42px;
  }

  .hero-desc{
    font-size: 16px;
  }

  .hero-buttons{
    flex-direction: column;
  }

  .btn-primary,
  .btn-secondary{
    width: 100%;
    min-height: 60px;
  }
}
/* RELAIBILTIY  */

.health-architecture{

padding:120px 40px;
background:#f5f7fb;

font-family:Inter,system-ui;
color:#0f172a;

overflow:hidden;

}

/* CONTAINER */

.architecture-container{

max-width:1300px;
margin:auto;

display:grid;
grid-template-columns:1fr 560px;
gap:80px;

align-items:center;

}


/* LEFT SIDE */

.architecture-left h2{

font-size:42px;
line-height:1.2;
font-weight:700;

margin-bottom:24px;

animation:fadeUp .9s ease;

}

.arch-desc{

font-size:18px;
line-height:1.7;
color:#6b7a90;

max-width:520px;
margin-bottom:40px;

animation:fadeUp 1.1s ease;

}


/* LIST */

.arch-list{

display:flex;
flex-direction:column;
gap:18px;

font-size:16px;
font-weight:500;

}

.arch-list li{

display:flex;
align-items:center;
gap:14px;

transition:.35s ease;

}

/* hover animation */

.arch-list li:hover{

transform:translateX(6px);

}


/* CHECK ICON */

.check{

width:22px;
height:22px;

border-radius:50%;

border:2px solid #ff7a32;

position:relative;

flex-shrink:0;

}

.check::after{

content:"✓";

position:absolute;

top:50%;
left:50%;

transform:translate(-50%,-55%);

color:#ff7a32;

font-size:12px;
font-weight:700;

}


/* IMAGE SIDE */

.arch-image{
  position:relative;
  border-radius:22px;
  overflow:visible;
  box-shadow:0 30px 80px rgba(0,0,0,.18);
  animation:floatImage 6s ease-in-out infinite;
}

.arch-image img{

width:100%;
height:auto;

display:block;

border-radius:22px;

transition:transform .6s ease;

}

/* hover zoom */

.arch-image:hover img{

transform:scale(1.05);

}


/* DATA CARD */

.data-card{

position:absolute;

bottom:-28px;
left:40px;

background:linear-gradient(
145deg,
#334155,
#64748b
);

color:white;

padding:24px 30px;

border-radius:16px;

box-shadow:
0 20px 40px rgba(0,0,0,.25);

transition:.4s ease;

}

/* hover lift */

.arch-image:hover .data-card{

transform:translateY(-6px);

}

/* NUMBER */

.data-card h3{

font-size:44px;
font-weight:700;

color:#ff7a32;

margin-bottom:4px;

}

.data-card p{

font-size:14px;
letter-spacing:.08em;

opacity:.8;

}


/* FLOATING ANIMATION */

@keyframes floatImage{

0%{transform:translateY(0)}
50%{transform:translateY(-10px)}
100%{transform:translateY(0)}

}


/* FADE UP */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* RESPONSIVE */


/* TABLET */

@media(max-width:1000px){

.architecture-container{

grid-template-columns:1fr;
gap:60px;

}

.arch-image{

max-width:620px;
margin:auto;

}

.data-card{

left:50%;
transform:translateX(-50%);

}

}


/* MOBILE */

@media(max-width:600px){

.health-architecture{

padding:80px 20px;

}

.architecture-left h2{

font-size:32px;

}

.arch-desc{

font-size:16px;

}

.arch-list{

font-size:15px;

}

.data-card{

padding:18px 24px;

}

.data-card h3{

font-size:34px;

}

}
.data-card{
  position:absolute;
  left:-28px;
  bottom:-28px;

  width:182px;
  min-height:146px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:22px 26px 20px;

  border-radius:20px;

  background:
    linear-gradient(145deg, rgba(48,64,92,.96) 0%, rgba(91,108,136,.92) 100%);
  border:1px solid rgba(255,255,255,.10);

  box-shadow:
    0 24px 50px rgba(0,0,0,.22),
    0 6px 18px rgba(32,50,84,.22),
    inset 0 1px 0 rgba(255,255,255,.08);

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  z-index:3;
  transition:
    transform .35s ease,
    box-shadow .35s ease;
}

.data-card__value{
  margin:0 0 10px;
  font-size:60px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#ff7a32;
}

.data-card__label{
  margin:0;
  font-size:12px;
  line-height:1.2;
  letter-spacing:.14em;
  font-weight:700;
  text-transform:uppercase;
  color:rgba(238,244,255,.88);
}

/* subtle hover lift with image */
.arch-image:hover .data-card{
  transform:translateY(-6px);
  box-shadow:
    0 30px 60px rgba(0,0,0,.28),
    0 10px 24px rgba(32,50,84,.24),
    inset 0 1px 0 rgba(255,255,255,.10);
}

/* floating idle motion */
.data-card{
  animation:dataCardFloat 5.5s ease-in-out infinite;
}

@keyframes dataCardFloat{
  0%{transform:translateY(0)}
  50%{transform:translateY(-5px)}
  100%{transform:translateY(0)}
}
@media(max-width:1000px){
  .data-card{
    left:24px;
    bottom:-22px;
    width:170px;
    min-height:132px;
  }

  .data-card__value{
    font-size:52px;
  }
}

@media(max-width:600px){
  .data-card{
    left:16px;
    bottom:-16px;
    width:150px;
    min-height:118px;
    padding:18px 20px 16px;
    border-radius:16px;
  }

  .data-card__value{
    font-size:44px;
  }

  .data-card__label{
    font-size:11px;
    letter-spacing:.12em;
  }
}
.data-card{
  position:absolute;
  left:-18px;
  bottom:-18px;

  width:150px;
  min-height:118px;

  display:flex;
  flex-direction:column;
  justify-content:center;

  padding:18px 20px 16px;

  border-radius:16px;

  background:linear-gradient(
    145deg,
    rgba(48,64,92,.96) 0%,
    rgba(91,108,136,.92) 100%
  );

  border:1px solid rgba(255,255,255,.10);

  box-shadow:
    0 18px 36px rgba(0,0,0,.20),
    0 6px 14px rgba(32,50,84,.18),
    inset 0 1px 0 rgba(255,255,255,.08);

  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);

  z-index:3;
  transition:transform .35s ease, box-shadow .35s ease;
}

.data-card__value{
  margin:0 0 8px;
  font-size:44px;
  line-height:.95;
  font-weight:800;
  letter-spacing:-0.04em;
  color:#ff7a32;
}

.data-card__label{
  margin:0;
  font-size:11px;
  line-height:1.2;
  letter-spacing:.12em;
  font-weight:700;
  text-transform:uppercase;
  color:rgba(238,244,255,.88);
}

/* SOLUTION CARD */

.enterprise-solutions{

background:linear-gradient(
180deg,
#071226 0%,
#071124 100%
);

padding:120px 40px;
font-family:Inter,system-ui;

color:white;
text-align:center;

overflow:hidden;

}


/* CONTAINER */

.solutions-container{

max-width:1300px;
margin:auto;

}


/* TITLE */

.solutions-title{

font-size:42px;
font-weight:700;

margin-bottom:16px;

animation:fadeUp .8s ease;

}


/* SUBTEXT */

.solutions-sub{

color:#8fa2b8;

font-size:18px;

margin-bottom:70px;

max-width:680px;
margin-left:auto;
margin-right:auto;

animation:fadeUp 1s ease;

}


/* GRID */

.solutions-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:32px;

}


/* CARD */

.solution-card{

background:#142a4a;

padding:40px;

border-radius:18px;

text-align:left;

border:1px solid rgba(80,140,255,.15);

transition:
transform .35s ease,
box-shadow .35s ease,
background .35s ease;

position:relative;

overflow:hidden;

/* subtle idle animation */
animation:floatCard 7s ease-in-out infinite;

}

.solution-card:nth-child(2){animation-delay:1s;}
.solution-card:nth-child(3){animation-delay:2s;}
.solution-card:nth-child(4){animation-delay:1.5s;}


/* ICON */

.solution-icon{

width:60px;
height:60px;

border-radius:14px;

background:#1c3c66;

display:flex;
align-items:center;
justify-content:center;

margin-bottom:28px;

transition:.35s ease;

}

.solution-icon img{

width:26px;

}


/* TITLE */

.solution-card h3{

font-size:22px;
font-weight:600;

margin-bottom:14px;

}


/* TEXT */

.solution-card p{

font-size:16px;
line-height:1.6;

color:#9fb1c7;

}


/* HOVER */

.solution-card:hover{

transform:translateY(-10px);

box-shadow:
0 20px 50px rgba(0,0,0,.45),
0 0 30px rgba(70,120,255,.15);

background:#18345b;

}

.solution-card:hover .solution-icon{

transform:scale(1.12);

box-shadow:
0 0 20px rgba(70,120,255,.35);

}


/* SHIMMER EFFECT */

.solution-card::before{

content:"";

position:absolute;

top:0;
left:-100%;

width:200%;
height:100%;

background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,.05),
transparent
);

transition:.6s;

}

.solution-card:hover::before{

left:100%;

}


/* FLOAT ANIMATION */

@keyframes floatCard{

0%{transform:translateY(0)}
50%{transform:translateY(-4px)}
100%{transform:translateY(0)}

}


/* FADE */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(20px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* RESPONSIVE */


/* TABLET */

@media(max-width:1000px){

.solutions-grid{

grid-template-columns:repeat(2,1fr);

}

}


/* MOBILE */

@media(max-width:600px){

.enterprise-solutions{

padding:80px 20px;

}

.solutions-title{

font-size:32px;

}

.solutions-sub{

font-size:16px;

}

.solutions-grid{

grid-template-columns:1fr;

gap:26px;

}

.solution-card{

padding:32px;

}

}

/* ARCHITECTURE */

.eco-section{

background:#f3f5f7;

padding:120px 40px;

font-family:Inter,system-ui;

text-align:center;

}


/* container */

.eco-container{
max-width:1300px;
margin:auto;
}


/* title */

.eco-title{

font-size:42px;
font-weight:700;

color:#0f172a;

margin-bottom:16px;

animation:fadeUp .8s ease;

}


/* subtitle */

.eco-sub{

font-size:18px;
color:#7f93a8;

max-width:720px;

margin:auto;
margin-bottom:70px;

animation:fadeUp 1s ease;

}


/* outer architecture container */

.eco-outer{

background:#3c5375;

border-radius:34px;

padding:60px;

box-shadow:
0 25px 60px rgba(0,0,0,.12);

}


/* grid */

.eco-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:40px;

}


/* layer cards */

.eco-layer{

background:#2f4463;

border-radius:22px;

padding:34px;

transition:.35s ease;

position:relative;

animation:floatLayer 7s ease-in-out infinite;

}

.eco-layer:nth-child(2){animation-delay:1s;}
.eco-layer:nth-child(3){animation-delay:2s;}


/* hover */

.eco-layer:hover{

transform:translateY(-6px);

box-shadow:
0 20px 40px rgba(0,0,0,.25),
0 0 30px rgba(70,120,255,.2);

}


/* titles */

.layer-title{

font-size:14px;

letter-spacing:.16em;

text-transform:uppercase;

margin-bottom:26px;

font-weight:600;

}

.layer-title.client{color:#ff8a3c;}
.layer-title.integration{color:#6ea8ff;}
.layer-title.core{color:#b4c4d7;}


/* items */

.layer-list{

display:flex;
flex-direction:column;

gap:16px;

}

.layer-item{

background:#1f3a61;

border-radius:12px;

padding:16px;

font-size:16px;

color:#c9d6e6;

transition:.25s ease;

}


/* hover */

.layer-item:hover{

background:#264a7b;

transform:translateY(-2px);

box-shadow:
0 10px 20px rgba(0,0,0,.25);

}


/* float animation */

@keyframes floatLayer{

0%{transform:translateY(0)}
50%{transform:translateY(-4px)}
100%{transform:translateY(0)}

}


/* fade */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(20px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* responsive */

/* tablet */

@media(max-width:1000px){

.eco-grid{

grid-template-columns:1fr;

}

.eco-outer{

padding:40px;

}

}


/* mobile */

@media(max-width:600px){

.eco-section{
padding:80px 20px;
}

.eco-title{
font-size:32px;
}

.eco-sub{
font-size:16px;
}

.eco-layer{
padding:26px;
}

.layer-item{
font-size:15px;
}

}

/* EXCELLENCE  */

.operations-section{

background:linear-gradient(
180deg,
#071226 0%,
#08172c 100%
);

padding:120px 40px;

font-family:Inter,system-ui;

color:white;

overflow:hidden;

}


/* container */

.operations-container{

max-width:1300px;
margin:auto;

}


/* layout */

.operations-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:80px;

align-items:center;

}


/* image */

.operations-image{

border-radius:10px;

overflow:hidden;

position:relative;

box-shadow:
0 30px 80px rgba(0,0,0,.45);

animation:floatImage 7s ease-in-out infinite;

}

.operations-image img{

width:100%;
display:block;

border-radius:10px;

transition:transform .6s ease;

}

/* hover zoom */

.operations-image:hover img{

transform:scale(1.05);

}


/* content */

.operations-content h2{

font-size:42px;

font-weight:700;

margin-bottom:20px;

animation:fadeUp .8s ease;

}

.operations-content p{

font-size:18px;

line-height:1.7;

color:#9fb1c7;

max-width:520px;

animation:fadeUp 1s ease;

}


/* floating animation */

@keyframes floatImage{

0%{transform:translateY(0)}
50%{transform:translateY(-10px)}
100%{transform:translateY(0)}

}


/* fade animation */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(20px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* responsive */


/* tablet */

@media(max-width:1000px){

.operations-grid{

grid-template-columns:1fr;

gap:50px;

}

.operations-content{

text-align:center;

}

.operations-content p{

margin:auto;

}

}


/* mobile */

@media(max-width:600px){

.operations-section{

padding:80px 20px;

}

.operations-content h2{

font-size:32px;

}

.operations-content p{

font-size:16px;

}

}
.operations-image::after{
content:"";
position:absolute;
inset:0;

background:
radial-gradient(circle at 30% 40%, rgba(80,140,255,.15), transparent 60%);

pointer-events:none;
}
/* Quantifiable Impact */

.impact-section{

background:#f3f5f7;

padding:120px 40px;

font-family:Inter,system-ui;

text-align:center;

}


/* container */

.impact-container{

max-width:1300px;
margin:auto;

}


/* title */

.impact-title{

font-size:42px;
font-weight:700;

color:#111827;

margin-bottom:16px;

animation:fadeUp .8s ease;

}


/* subtitle */

.impact-sub{

font-size:18px;
color:#7b8fa6;

margin-bottom:70px;

animation:fadeUp 1s ease;

}


/* grid */

.impact-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:40px;

}


/* card */

.impact-card{

background:#354e73;

border-radius:26px;

padding:50px 40px;

color:white;

transition:
transform .35s ease,
box-shadow .35s ease,
background .35s ease;

animation:floatCard 7s ease-in-out infinite;

}

.impact-card:nth-child(2){animation-delay:1s;}
.impact-card:nth-child(3){animation-delay:2s;}


/* hover */

.impact-card:hover{

transform:translateY(-8px);

box-shadow:
0 20px 40px rgba(0,0,0,.25),
0 0 20px rgba(80,140,255,.25);

background:#3c5880;

}


/* numbers */

.impact-number{

font-size:64px;

font-weight:700;

margin-bottom:12px;

}

.impact-number.blue{
color:#6ea8ff;
}

.impact-number.orange{
color:#ff8a3c;
}

.impact-number.white{
color:white;
}


/* headings */

.impact-card h4{

font-size:22px;

margin-bottom:10px;

font-weight:600;

}


/* text */

.impact-card p{

font-size:16px;

line-height:1.6;

color:#c5d3e6;

max-width:420px;
margin:auto;

}


/* floating animation */

@keyframes floatCard{

0%{transform:translateY(0)}
50%{transform:translateY(-4px)}
100%{transform:translateY(0)}

}


/* fade animation */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(20px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* responsive */


/* tablet */

@media(max-width:1000px){

.impact-grid{

grid-template-columns:1fr;

}

}


/* mobile */

@media(max-width:600px){

.impact-section{

padding:80px 20px;

}

.impact-title{

font-size:32px;

}

.impact-sub{

font-size:16px;

}

.impact-number{

font-size:52px;

}

.impact-card{

padding:36px;

}

}.impact-section::before{

content:"";
position:absolute;

left:0;
right:0;
top:0;
bottom:0;

background:
radial-gradient(circle at 30% 40%, rgba(80,140,255,.10), transparent 60%),
radial-gradient(circle at 70% 60%, rgba(80,140,255,.08), transparent 60%);

pointer-events:none;

}

/* FORM  */

.consultation-section{

background:linear-gradient(
180deg,
#071226 0%,
#081c34 100%
);

padding:120px 40px;

font-family:Inter,system-ui;

display:flex;
justify-content:center;

}


/* MAIN CARD */

.consult-card{

max-width:1300px;
width:100%;

display:grid;
grid-template-columns:1fr 1fr;

border-radius:32px;

overflow:hidden;

background:#0e2646;

box-shadow:
0 30px 80px rgba(0,0,0,.5);

}


/* LEFT SIDE */

.consult-left{

padding:80px 70px;

background:linear-gradient(
135deg,
#323c55,
#2a334c
);

color:white;

display:flex;
flex-direction:column;
justify-content:center;

animation:fadeUp .8s ease;

}

.consult-left h2{

font-size:42px;
font-weight:700;

line-height:1.2;

margin-bottom:20px;

}

.consult-left p{

font-size:18px;

color:#b8c6d9;

line-height:1.7;

margin-bottom:40px;

max-width:420px;

}


/* FEATURES */

.consult-features{

display:flex;
flex-direction:column;
gap:18px;

font-size:16px;

color:#d1deef;

}

.icon{

margin-right:12px;
color:#ff7a32;

}


/* RIGHT FORM */

.consult-right{

padding:70px;

background:#0b2342;

}


/* FORM */

.consult-form{

display:flex;
flex-direction:column;
gap:22px;

}

.form-group{

display:flex;
flex-direction:column;

}

.form-group label{

font-size:14px;
color:#c4d2e4;

margin-bottom:8px;

}

.form-group input,
.form-group select,
.form-group textarea{

background:#1f3a61;

border:1px solid rgba(255,255,255,.08);

border-radius:12px;

padding:16px;

font-size:16px;

color:white;

outline:none;

transition:.25s ease;

}

/* textarea height */

textarea{

min-height:110px;

resize:none;

}


/* INPUT HOVER */

.form-group input:hover,
.form-group select:hover,
.form-group textarea:hover{

border-color:#4e88ff;

}


/* INPUT FOCUS */

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus{

border-color:#4e88ff;

box-shadow:
0 0 0 2px rgba(78,136,255,.2);

}


/* BUTTON */

.consult-btn{

margin-top:10px;

background:#ff7a32;

color:white;

border:none;

border-radius:14px;

padding:18px;

font-size:18px;
font-weight:600;

cursor:pointer;

transition:.3s ease;

box-shadow:
0 10px 25px rgba(255,122,50,.35);

}


/* BUTTON HOVER */

.consult-btn:hover{

transform:translateY(-3px);

background:#ff8c47;

box-shadow:
0 20px 40px rgba(255,122,50,.5);

}


/* ANIMATION */

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(30px);
}

100%{
opacity:1;
transform:translateY(0);
}

}


/* RESPONSIVE */


/* TABLET */

@media(max-width:1000px){

.consult-card{

grid-template-columns:1fr;

}

.consult-left,
.consult-right{

padding:50px;

}

.consult-left{

text-align:center;

}

.consult-left p{

margin:auto;
margin-bottom:30px;

}

}


/* MOBILE */

@media(max-width:600px){

.consultation-section{

padding:80px 20px;

}

.consult-left h2{

font-size:32px;

}

.consult-left p{

font-size:16px;

}

.consult-btn{

font-size:16px;

}

}

/* ================================
GLOBAL BUTTON EFFECT UPGRADE
================================ */

/* =================================
   BUTTON EFFECTS MATCHED TO THIS PAGE
   ================================= */

.btn-primary,
.btn-secondary,
.consult-btn {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  text-decoration: none;
  transition:
    color .45s ease,
    background-color .45s ease,
    background .45s ease,
    border-color .45s ease,
    transform .3s ease,
    box-shadow .3s ease;
}

/* animated layers */
.btn-primary::before,
.btn-secondary::before,
.consult-btn::before,
.btn-primary::after,
.btn-secondary::after,
.consult-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  transition:
    transform .45s cubic-bezier(.22,1,.36,1),
    opacity .35s ease,
    background .45s ease;
}

/* base fill sweep */
.btn-primary::before,
.btn-secondary::before,
.consult-btn::before {
  transform: translateX(-102%);
}

/* gloss sweep */
.btn-primary::after,
.btn-secondary::after,
.consult-btn::after {
  background: linear-gradient(
    120deg,
    transparent 0%,
    rgba(255,255,255,.08) 35%,
    rgba(255,255,255,.20) 50%,
    rgba(255,255,255,.08) 65%,
    transparent 100%
  );
  transform: translateX(-130%) skewX(-20deg);
  opacity: 0;
}

.btn-primary:hover,
.btn-secondary:hover,
.consult-btn:hover {
  transform: translateY(-3px);
}

.btn-primary:hover::before,
.btn-secondary:hover::before,
.consult-btn:hover::before {
  transform: translateX(0);
}

.btn-primary:hover::after,
.btn-secondary:hover::after,
.consult-btn:hover::after {
  transform: translateX(130%) skewX(-20deg);
  opacity: 1;
}

.btn-primary:active,
.btn-secondary:active,
.consult-btn:active {
  transform: translateY(-1px);
}

/* keep label above layers */
.btn-primary,
.btn-secondary,
.consult-btn {
  z-index: 1;
}

/* ---------------------------------
   PRIMARY BUTTON
   orange solid -> transparent orange
   --------------------------------- */
.btn-primary {
  background: #ff7a32;
  color: #fff !important;
  border: 1px solid #ff7a32;
  box-shadow: 0 12px 32px rgba(255,120,40,.30);
}

.btn-primary::before {
  background: rgba(255,122,50,.12);
}

.btn-primary:hover {
  background: transparent;
  color: #ff7a32 !important;
  border-color: #ff7a32;
  box-shadow:
    0 0 0 1px rgba(255,122,50,.18),
    0 18px 40px rgba(255,122,50,.18);
}

/* ---------------------------------
   SECONDARY BUTTON
   translucent -> slightly brighter translucent
   --------------------------------- */
.btn-secondary {
  background: rgba(255,255,255,.03);
  color: #ecf2fb !important;
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

.btn-secondary::before {
  background: rgba(255,255,255,.08);
}

.btn-secondary:hover {
  background: rgba(255,255,255,.06);
  color: #ffffff !important;
  border-color: rgba(255,255,255,.24);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.08),
    0 14px 30px rgba(0,0,0,.18);
}

/* ---------------------------------
   CONSULT BUTTON
   orange solid -> transparent orange
   --------------------------------- */
.consult-btn {
  background: #ff7a32;
  color: #fff !important;
  border: 1px solid #ff7a32;
  box-shadow: 0 10px 25px rgba(255,122,50,.35);
}

.consult-btn::before {
  background: rgba(255,122,50,.12);
}

.consult-btn:hover {
  background: transparent;
  color: #ff7a32 !important;
  border-color: #ff7a32;
  box-shadow:
    0 0 0 1px rgba(255,122,50,.18),
    0 20px 40px rgba(255,122,50,.18);
}

/* accessibility */
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.consult-btn:focus-visible {
  outline: 2px solid #4b8cff;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  .btn-primary,
  .btn-secondary,
  .consult-btn,
  .btn-primary::before,
  .btn-secondary::before,
  .consult-btn::before,
  .btn-primary::after,
  .btn-secondary::after,
  .consult-btn::after {
    transition: none !important;
  }
}
/* ==========================================
   PREMIUM SCROLL ANIMATION ENHANCEMENTS
   Additive only — safe for existing layout
========================================== */

html.js .reveal-fade-up,
html.js .reveal-left,
html.js .reveal-right,
html.js .reveal-scale,
html.js .reveal-stagger > * {
  opacity: 0;
  transform: translate3d(0, 30px, 0);
}

html.js .reveal-left {
  transform: translate3d(-36px, 0, 0);
}

html.js .reveal-right {
  transform: translate3d(36px, 0, 0);
}

html.js .reveal-scale {
  transform: translate3d(0, 24px, 0) scale(0.965);
}

html.js .hero-title .title-line {
  display: block;
  overflow: hidden;
}

html.js .hero-title .title-line-inner {
  display: inline-block;
  transform: translate3d(0, 110%, 0);
  opacity: 0;
  will-change: transform, opacity;
}

.health-hero__bg,
.hero-image,
.arch-image,
.operations-image,
.solution-card,
.eco-layer,
.impact-card,
.data-card {
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}

/* smoother hover motion without breaking existing CSS */
.solution-card,
.impact-card,
.eco-layer,
.btn-primary,
.btn-secondary,
.consult-btn {
  transform-origin: center center;
}

/* subtle cursor-safe hover enhancement on devices that support hover */
@media (hover: hover) and (pointer: fine) {
  .solution-card,
  .impact-card,
  .eco-layer,
  .btn-primary,
  .btn-secondary,
  .consult-btn {
    transition:
      transform 0.35s ease,
      box-shadow 0.35s ease,
      background 0.35s ease,
      border-color 0.35s ease;
  }
}

/* reduce heavy idle CSS motion when JS cinematic motion is active */
html.js .solution-card,
html.js .eco-layer,
html.js .impact-card,
html.js .arch-image,
html.js .data-card,
html.js .operations-image {
  animation-duration: 9s;
}

/* accessibility */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  html.js .reveal-fade-up,
  html.js .reveal-left,
  html.js .reveal-right,
  html.js .reveal-scale,
  html.js .reveal-stagger > *,
  html.js .hero-title .title-line-inner {
    opacity: 1 !important;
    transform: none !important;
  }

  .health-hero__bg,
  .hero-image,
  .arch-image,
  .operations-image,
  .solution-card,
  .eco-layer,
  .impact-card,
  .data-card {
    will-change: auto;
  }
}

/* ===============================
3D PARALLAX DEPTH SYSTEM
================================ */

.health-hero,
.health-architecture,
.enterprise-solutions,
.eco-section,
.operations-section,
.impact-section {
  perspective: 1200px;
  transform-style: preserve-3d;
}

/* depth layers */

.parallax-back{
  transform: translateZ(-120px) scale(1.15);
}

.parallax-mid{
  transform: translateZ(-40px) scale(1.05);
}

.parallax-front{
  transform: translateZ(40px);
}

/* GPU acceleration */

.hero-image,
.arch-image,
.operations-image,
.solution-card,
.eco-layer,
.impact-card,
.data-card{
  transform-style: preserve-3d;
  will-change: transform;
}

/* cinematic smoothness */

.health-hero__bg{
  will-change: transform;
}

/* reduce motion accessibility */

@media (prefers-reduced-motion: reduce){
  .parallax-back,
  .parallax-mid,
  .parallax-front{
    transform:none !important;
  }
}
.mask-line{
display:block;
overflow:hidden;
}

.mask-line span{
display:block;
transform:translateY(120%);
}
.depth-scene{
perspective:1400px;
transform-style:preserve-3d;
}

.depth-back{
transform:translateZ(-200px) scale(1.2);
}

.depth-mid{
transform:translateZ(-80px);
}

.depth-front{
transform:translateZ(60px);
}
/* SAFE HERO TITLE REVEAL FIX */
.hero-title {
  perspective: 1000px;
}

.hero-title .mask-line {
  display: block;
  overflow: hidden;
  line-height: inherit;
}

.hero-title .mask-line > span {
  display: inline-block;
  transform: translateY(0);
  opacity: 1;
  will-change: transform, opacity;
}

html.js .hero-title.is-animating .mask-line > span {
  transform: translateY(110%);
  opacity: 0;
}

/* NEW: Design tokens for consistency */
:root{
  --radius-lg: 22px;
  --radius-md: 14px;

  --text-primary: #0f172a;
  --text-secondary: #6b7a90;

  --bg-dark: #071226;
  --bg-light: #f5f7fb;

  --accent: #4b8cff;
  --accent-soft: rgba(75,140,255,.12);

  --transition-smooth: cubic-bezier(.22,1,.36,1);
}

/* NEW: Better typography scaling */
h1,h2,h3{
  letter-spacing: -0.02em;
}

p{
  max-width: 65ch;
}
/* UPDATED: better responsive scaling */
.hero-title{
  font-size: clamp(42px, 6vw, 92px);
  line-height: .95;
}

/* NEW: better text balance */
.hero-desc{
  font-size: clamp(15px, 1.2vw, 18px);
}

/* NEW: subtle glass effect */
.hero-badge{
  backdrop-filter: blur(10px);
}

/* UPDATED: smoother image rendering */
.hero-image{
  border-radius: var(--radius-lg);
  box-shadow:
    0 30px 90px rgba(0,0,0,.45),
    inset 0 1px 0 rgba(255,255,255,.05);
}

/* NEW: mobile fix (prevents overflow) */
@media(max-width:600px){
  .hero-title br{
    display:none;
  }
}
/* UPDATED: better readability */
.architecture-left h2{
  font-size: clamp(28px, 3vw, 42px);
}

/* NEW: smoother list interaction */
.arch-list li{
  padding: 6px 0;
  border-radius: 8px;
}

.arch-list li:hover{
  background: rgba(0,0,0,.03);
  transform: translateX(6px);
}

/* UPDATED: refined image card */
.arch-image{
  border-radius: var(--radius-lg);
}

/* NEW: fix overflow on small screens */
@media(max-width:600px){
  .arch-desc{
    max-width: 100%;
  }
}
/* UPDATED: grid improvement */
.solutions-grid{
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

/* UPDATED: premium card */
.solution-card{
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg,#142a4a 0%, #162f54 100%);
}

/* NEW: subtle border glow */
.solution-card:hover{
  border-color: rgba(80,140,255,.3);
}

/* NEW: icon polish */
.solution-icon{
  backdrop-filter: blur(6px);
}
/* UPDATED: outer container */
.eco-outer{
  border-radius: 32px;
  background:
    linear-gradient(180deg,#3c5375 0%, #344a6b 100%);
}

/* UPDATED: layer cards */
.eco-layer{
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg,#2f4463 0%, #2a3e5a 100%);
}

/* NEW: subtle hover polish */
.eco-layer:hover{
  transform: translateY(-6px) scale(1.01);
}

/* UPDATED: items */
.layer-item{
  border: 1px solid rgba(255,255,255,.05);
}
/* UPDATED: layout spacing */
.operations-grid{
  gap: clamp(40px, 6vw, 80px);
}

/* NEW: heading scaling */
.operations-content h2{
  font-size: clamp(28px, 3vw, 42px);
}

/* NEW: better text wrapping */
.operations-content p{
  max-width: 60ch;
}
/* UPDATED: responsive grid */
.impact-grid{
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
}

/* UPDATED: card polish */
.impact-card{
  border-radius: var(--radius-lg);
  background:
    linear-gradient(180deg,#354e73 0%, #3b5680 100%);
}

/* NEW: number scaling */
.impact-number{
  font-size: clamp(42px, 5vw, 64px);
}
/* UPDATED: container */
.consult-card{
  border-radius: 28px;
}

/* UPDATED: form spacing */
.consult-form{
  gap: 18px;
}

/* NEW: input polish */
.form-group input,
.form-group select,
.form-group textarea{
  transition:
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

/* NEW: subtle glass effect */
.consult-right{
  background:
    linear-gradient(180deg,#0b2342 0%, #0c274a 100%);
}

/* UPDATED: button feel */
.consult-btn{
  letter-spacing: .02em;
}
/* NEW: prevent horizontal scroll issues */
body{
  overflow-x: hidden;
}

/* NEW: consistent section padding */
@media(max-width:600px){
  section{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* NEW: image scaling safety */
img{
  max-width:100%;
  height:auto;
}
/* NEW: optimize heavy elements */
.solution-card,
.eco-layer,
.impact-card,
.arch-image,
.operations-image{
  will-change: transform;
}

/* NEW: reduce animation load on mobile */
@media(max-width:768px){
  .solution-card,
  .eco-layer,
  .impact-card{
    animation:none !important;
  }
}