/* GMI homepage — redesign layer. Scoped to <main class="page-home">. */

.page-home .hero{
  min-height:clamp(600px,92vh,860px);
  background:
    radial-gradient(1200px 600px at 85% -10%, rgba(0,169,183,.22), transparent 60%),
    var(--navy-900);
}
.page-home .hero::after{
  background:
    linear-gradient(100deg, rgba(10,28,43,.96) 0%, rgba(10,28,43,.82) 42%, rgba(10,28,43,.30) 100%),
    linear-gradient(0deg, rgba(10,28,43,.85) 0%, rgba(10,28,43,0) 40%);
}
.page-home .hero-inner{padding:150px 0 220px}
.page-home .hero-copy{max-width:760px}
.page-home .h-hero{
  font-size:clamp(44px,6.4vw,84px);
  line-height:1.02;
  letter-spacing:-.025em;
  background:linear-gradient(180deg,#fff 40%,#BFEFF3 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.page-home .hero p{font-size:clamp(17px,1.6vw,20px); line-height:1.6; max-width:620px; color:#D5E0E9}
.page-home .hero .eyebrow.on-dark{
  display:inline-flex; align-items:center; gap:10px;
  padding:8px 14px; border-radius:999px;
  background:rgba(127,224,232,.12); border:1px solid rgba(127,224,232,.35);
  color:var(--teal-200); margin-bottom:22px;
}
.page-home .hero .eyebrow.on-dark::before{display:none}
.page-home .hero-actions .btn-lg-gmi{padding:16px 28px; font-size:16px}
.page-home .btn-outline-light-gmi{
  background:rgba(255,255,255,.04); color:#fff; border:1.5px solid rgba(255,255,255,.55);
}
.page-home .btn-outline-light-gmi:hover{background:#fff; color:var(--navy-900); border-color:#fff}
.page-home .btn-primary-gmi{box-shadow:0 10px 30px rgba(0,169,183,.35)}
.page-home .hero-caption{background:linear-gradient(0deg,rgba(10,28,43,.9),rgba(10,28,43,0))}
.page-home .hero-caption span{color:#B8C7D3}

/* Floating glass cards overlapping the hero edge */
.page-home .quick-cards{margin-top:-120px; padding-bottom:8px}
@media(max-width:991.98px){.page-home .quick-cards{margin-top:-60px}}
.page-home .hm-glass{
  display:block; height:100%; padding:30px 30px 28px; border-radius:20px;
  background:rgba(255,255,255,.97);
  border:1px solid rgba(15,42,64,.08);
  box-shadow:0 24px 60px rgba(10,28,43,.22);
  color:inherit; position:relative; overflow:hidden;
}
.page-home .hm-glass::before{
  content:""; position:absolute; left:0; top:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--teal-500),var(--navy-600));
}
.page-home .hm-glass .qc-icon{
  width:52px; height:52px; border-radius:14px; margin-bottom:18px;
  display:inline-flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--teal-500),var(--teal-600)); color:#fff; font-size:20px;
  box-shadow:0 8px 20px rgba(0,169,183,.3);
}
.page-home .hm-glass h2{font-size:23px; margin-bottom:10px}
.page-home .hm-glass p{font-size:15.5px; line-height:1.6; margin-bottom:18px}
.page-home .hm-glass:hover{transform:translateY(-5px); box-shadow:0 30px 70px rgba(10,28,43,.28)}

/* Proposition + chips */
.page-home .hm-intro{padding-top:88px}
.page-home .hm-intro-grid{display:grid; grid-template-columns:1.25fr 1fr; gap:56px; align-items:center}
@media(max-width:991.98px){.page-home .hm-intro-grid{grid-template-columns:1fr; gap:32px}}
.page-home .hm-lede{
  font-family:'Manrope',sans-serif; font-weight:700; font-size:clamp(22px,2.6vw,30px);
  line-height:1.35; color:var(--navy-900); margin:16px 0 24px; letter-spacing:-.01em;
}
.page-home .hm-badges{display:flex; flex-wrap:wrap; gap:12px}
.page-home .hm-chip{
  display:inline-flex; align-items:center; gap:10px; padding:12px 18px; border-radius:999px;
  background:var(--teal-050); color:var(--navy-900); font-weight:600; font-size:15px;
  border:1px solid rgba(0,128,140,.18);
}
.page-home .hm-chip i{color:var(--teal-600)}

/* Statistics band */
.page-home .hm-band{
  background:
    radial-gradient(900px 400px at 0% 0%, rgba(0,169,183,.18), transparent 60%),
    linear-gradient(135deg,var(--navy-900),var(--navy-700));
  position:relative; overflow:hidden;
}
.page-home .stat-band{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
}
@media(max-width:991.98px){.page-home .stat-band{grid-template-columns:repeat(2,1fr); row-gap:36px}}
@media(max-width:575.98px){.page-home .stat-band{grid-template-columns:1fr}}
.page-home .stat-band .stat{padding:12px 24px; text-align:left; border-left:1px solid rgba(255,255,255,.12)}
.page-home .stat-band .stat:first-child{border-left:none}
@media(max-width:991.98px){.page-home .stat-band .stat:nth-child(3){border-left:none}}
.page-home .stat-band .stat-num{
  font-family:'Manrope',sans-serif; font-weight:800; font-size:clamp(48px,6vw,72px); line-height:1;
  background:linear-gradient(180deg,#fff,var(--teal-200)); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.page-home .stat-band .stat-num sup{-webkit-text-fill-color:var(--teal-500); color:var(--teal-500)}
.page-home .stat-band .stat-label{font-size:15px; max-width:230px}

/* How we work */
.page-home .hm-how{background:#fff}
.page-home .hm-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative}
@media(max-width:991.98px){.page-home .hm-steps{grid-template-columns:1fr}}
.page-home .hm-step{
  position:relative; padding:40px 34px 36px; border-radius:24px; background:var(--mist);
  border:1px solid rgba(15,42,64,.06); transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease);
}
.page-home .hm-step:hover{transform:translateY(-6px); box-shadow:var(--shadow-lg); background:#fff}
.page-home .hm-step-num{
  position:absolute; top:26px; right:30px; font-family:'Manrope',sans-serif; font-weight:800;
  font-size:44px; line-height:1; color:rgba(0,128,140,.14);
}
.page-home .hm-step-icon{
  width:60px; height:60px; border-radius:18px; display:flex; align-items:center; justify-content:center;
  background:var(--navy-900); color:var(--teal-200); font-size:22px; margin-bottom:24px;
}
.page-home .hm-step h3{font-size:24px; margin-bottom:12px}
.page-home .hm-step p{color:var(--slate); font-size:16px; line-height:1.65; margin:0}

/* Pillar cards — slightly richer */
.page-home .pillar-card{border-radius:24px}
.page-home .pillar-num{letter-spacing:.12em}

/* Alt rows — rounded media with depth */
.page-home .alt-media img{border-radius:24px; box-shadow:0 30px 60px rgba(10,28,43,.16)}
.page-home .alt-body h3{font-size:clamp(24px,2.6vw,32px)}

/* Credentials band */
.page-home .hm-cred{
  background:
    radial-gradient(800px 380px at 100% 0%, rgba(0,169,183,.2), transparent 60%),
    var(--navy-900);
}
.page-home .hm-cred .cred-tile{
  background:rgba(255,255,255,.04); border:1px solid rgba(127,224,232,.18); border-radius:20px;
  transition:background .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease);
}
.page-home .hm-cred .cred-tile:hover{background:rgba(127,224,232,.08); border-color:rgba(127,224,232,.4); transform:translateY(-3px)}

/* CTA card */
.page-home .hm-cta{
  padding:44px 40px; border-radius:28px; color:#D5E0E9;
  background:
    radial-gradient(500px 260px at 100% 0%, rgba(0,169,183,.35), transparent 60%),
    linear-gradient(145deg,var(--navy-900),var(--navy-700));
  box-shadow:0 30px 70px rgba(10,28,43,.3);
}
.page-home .hm-cta h3{font-size:clamp(24px,2.4vw,30px); color:#fff; margin:6px 0 14px; line-height:1.2}
.page-home .hm-cta p{color:#C4D2DD; margin-bottom:6px}
.page-home .hm-cta .eyebrow.on-dark::before{display:none}
.page-home .hm-cta .eyebrow.on-dark{color:var(--teal-200)}

@media(max-width:767.98px){
  .page-home .hero-inner{padding:120px 0 200px}
  .page-home .hm-glass{padding:26px 24px}
  .page-home .hm-cta{padding:32px 26px}
  .page-home .hm-step{padding:32px 26px}
}
