/* ======= HOME PAGE ======= */

/* HERO */
.hero {
  background: linear-gradient(108deg, var(--navy) 0%, var(--navy-mid) 55%, #3A4170 100%);
  padding: 6rem 6% 5rem;
  position:relative; overflow:hidden;
  display:grid; grid-template-columns:1fr 420px; gap:4rem; align-items:center;
  min-height: 88vh;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 55% 70% at 85% 50%, rgba(212,168,58,0.12) 0%, transparent 65%);
  pointer-events:none;
}
.hero-dots {
  position:absolute; top:0; left:0; right:0; bottom:0; opacity:0.04;
  background-image: radial-gradient(circle, #fff 1px, transparent 1px);
  background-size: 32px 32px;
  pointer-events:none;
}
.hero-content { position:relative; z-index:2; }
.hero-badge {
  display:inline-flex; align-items:center; gap:0.5rem;
  background:rgba(212,168,58,0.15); border:1px solid rgba(212,168,58,0.35);
  color:var(--gold-light); font-size:0.75rem; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase;
  padding:0.4rem 1rem; border-radius:20px; margin-bottom:1.8rem;
  animation: fadeUp 0.7s ease both;
}
.hero-badge span { width:6px;height:6px;border-radius:50%;background:var(--gold-light); }
.hero h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.6rem,5vw,4.2rem);
  font-weight:900; color:#fff; line-height:1.1;
  margin-bottom:1.4rem;
  animation: fadeUp 0.7s 0.1s ease both;
}
.hero h1 em { color:var(--gold-light); font-style:normal; display:block; }
.hero-desc {
  color:rgba(255,255,255,0.7); font-size:1.05rem; line-height:1.8;
  max-width:500px; margin-bottom:2.4rem;
  animation: fadeUp 0.7s 0.2s ease both;
}
.hero-btns {
  display:flex; gap:1rem; flex-wrap:wrap;
  animation: fadeUp 0.7s 0.3s ease both;
}
.hero-btns .btn-gold { box-shadow:0 8px 28px rgba(212,168,58,0.35); }
.hero-btns .btn-white {
  display:inline-block; background:rgba(255,255,255,0.1); color:#fff;
  border:1.5px solid rgba(255,255,255,0.3); padding:0.85rem 2rem;
  border-radius:4px; font-size:0.9rem; font-weight:600; text-decoration:none;
  letter-spacing:0.02em; transition:background 0.2s, border-color 0.2s;
}
.hero-btns .btn-white:hover { background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.6); }

/* HERO CARD PANEL */
.hero-panel { position:relative; z-index:2; animation:fadeIn 1s 0.4s ease both; }
.hero-card {
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.12);
  backdrop-filter:blur(12px); border-radius:16px; padding:2rem;
}
.hero-card-title {
  font-size:0.75rem; font-weight:600; letter-spacing:0.14em;
  text-transform:uppercase; color:var(--gold-light); margin-bottom:1.5rem;
}
.hero-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:rgba(255,255,255,0.1); border-radius:8px; overflow:hidden; }
.hs-item { background:rgba(255,255,255,0.06); padding:1.4rem 1.2rem; }
.hs-num {
  font-family:'Playfair Display',serif;
  font-size:2.2rem; font-weight:700; color:#fff; line-height:1; display:block;
}
.hs-num em { color:var(--gold-light); font-style:normal; }
.hs-label { font-size:0.75rem; color:rgba(255,255,255,0.5); margin-top:0.2rem; display:block; }
.hero-sectors { margin-top:1.5rem; }
.hero-sectors p { font-size:0.75rem; color:rgba(255,255,255,0.4); letter-spacing:0.1em; text-transform:uppercase; margin-bottom:0.7rem; }
.sector-chips { display:flex; flex-wrap:wrap; gap:0.5rem; }
.chip {
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12);
  color:rgba(255,255,255,0.75); font-size:0.75rem; font-weight:500;
  padding:0.3rem 0.8rem; border-radius:20px;
}

/* STATS BAND */
.stats-band {
  background:var(--off-white); border-top:3px solid var(--gold);
  display:grid; grid-template-columns:repeat(4,1fr);
}
.sb-item {
  padding:2.5rem 2rem; text-align:center;
  border-right:1px solid var(--border);
  position:relative;
}
.sb-item:last-child { border-right:none; }
.sb-num {
  font-family:'Playfair Display',serif;
  font-size:2.6rem; font-weight:700; color:var(--navy); display:block; line-height:1;
}
.sb-num em { color:var(--gold); font-style:normal; }
.sb-label { font-size:0.78rem; color:var(--text-light); text-transform:uppercase; letter-spacing:0.1em; margin-top:0.4rem; display:block; font-weight:500; }

/* INTRO */
.intro { padding:6rem 6%; display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }
.intro-img {
  background:linear-gradient(135deg, var(--light-gray) 0%, var(--off-white) 100%);
  border-radius:12px; aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  border:1px solid var(--border); position:relative; overflow:hidden;
}
.intro-img .img-accent {
  position:absolute; bottom:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg, var(--gold), var(--gold-light));
}
.intro-img .big-icon { font-size:7rem; opacity:0.15; }
.intro-badge-float {
  position:absolute; top:1.5rem; right:1.5rem;
  background:var(--navy); color:#fff;
  padding:0.8rem 1.2rem; border-radius:8px; text-align:center;
  box-shadow:var(--shadow-md);
}
.intro-badge-float .bf-num { font-family:'Playfair Display',serif; font-size:1.6rem; font-weight:700; color:var(--gold-light); display:block; }
.intro-badge-float .bf-txt { font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.6); }

/* WHY CHOOSE */
.why { background:var(--off-white); padding:6rem 6%; }
.why-inner { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.why-cards { display:flex; flex-direction:column; gap:1rem; }
.wc {
  background:var(--white); border:1px solid var(--border);
  border-radius:10px; padding:1.8rem;
  display:flex; gap:1.2rem; align-items:flex-start;
  transition:box-shadow 0.25s, transform 0.25s, border-color 0.25s;
}
.wc:hover { box-shadow:var(--shadow-md); transform:translateX(4px); border-color:var(--gold); }
.wc-icon {
  width:48px; height:48px; border-radius:10px; flex-shrink:0;
  background:var(--navy); display:flex; align-items:center; justify-content:center;
  font-size:1.3rem;
}
.wc h4 { font-size:1rem; font-weight:600; color:var(--navy); margin-bottom:0.3rem; }
.wc p { font-size:0.85rem; color:var(--text-body); line-height:1.6; }

/* SERVICES STRIP */
.svc-strip { padding:6rem 6%; background:var(--white); }
.svc-strip-head { text-align:center; margin-bottom:3.5rem; }
.svc-strip-head .section-sub { margin:0 auto; }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.svc-card {
  background:var(--off-white); border:1px solid var(--border);
  border-radius:12px; padding:2.5rem 2rem;
  position:relative; overflow:hidden;
  transition:box-shadow 0.25s, transform 0.25s, border-color 0.25s;
  cursor:default;
}
.svc-card::after {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform 0.3s;
}
.svc-card:hover { box-shadow:var(--shadow-lg); transform:translateY(-5px); border-color:transparent; }
.svc-card:hover::after { transform:scaleX(1); }
.svc-num {
  font-family:'Playfair Display',serif; font-size:3rem; font-weight:700;
  color:var(--gold); opacity:0.2; position:absolute; top:1.2rem; right:1.5rem; line-height:1;
}
.svc-card .svc-icon { font-size:2.2rem; margin-bottom:1.2rem; display:block; }
.svc-card h3 { font-size:1.15rem; font-weight:700; color:var(--navy); margin-bottom:0.8rem; }
.svc-card p { font-size:0.87rem; color:var(--text-body); line-height:1.75; }
.svc-link { display:inline-flex; align-items:center; gap:0.4rem; color:var(--gold); font-size:0.82rem; font-weight:600; text-decoration:none; margin-top:1.2rem; letter-spacing:0.06em; transition:gap 0.2s; }
.svc-link:hover { gap:0.8rem; }

/* CTA */
.cta-section {
  background: var(--navy); padding:5.5rem 6%; text-align:center;
  position:relative; overflow:hidden;
}
.cta-section::before {
  content:''; position:absolute; inset:0;
  background: radial-gradient(ellipse 70% 80% at 50% 50%, rgba(212,168,58,0.1) 0%, transparent 65%);
  pointer-events:none;
}
.cta-section h2 { font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3rem); font-weight:700; color:#fff; margin-bottom:1rem; position:relative; }
.cta-section p { color:rgba(255,255,255,0.65); font-size:1.05rem; margin-bottom:2.5rem; position:relative; }
.cta-btns { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; position:relative; }

@keyframes fadeUp {
  from { opacity:0; transform:translateY(22px); }
  to   { opacity:1; transform:translateY(0); }
}
@keyframes fadeIn {
  from { opacity:0; } to { opacity:1; }
}

@media(max-width:1000px){
  .hero { grid-template-columns:1fr; min-height:auto; padding:5rem 5% 4rem; }
  .hero-panel { display:none; }
  .intro { grid-template-columns:1fr; gap:3rem; }
  .why-inner { grid-template-columns:1fr; gap:3rem; }
  .svc-grid { grid-template-columns:1fr; }
  .stats-band { grid-template-columns:1fr 1fr; }
  .sb-item { border-right:none; border-bottom:1px solid var(--border); }
}
@media(max-width:480px){
  .stats-band { grid-template-columns: 1fr; }
  .sb-item { padding: 1.8rem 1rem; }
  .hero h1 { font-size: 2.2rem; }
}
