:root {
  --navy:        #0B2550;
  --blue:        #1A56A0;
  --blue-mid:    #2371C8;
  --sky:         #4A9FE0;
  --sky-light:   #7BBFEE;
  --pale:        #EBF4FB;
  --pale2:       #F4F9FD;
  --white:       #FFFFFF;
  --dark:        #0B1E3A;
  --text:        #2C3E5A;
  --text-light:  #6B7FA0;
  --border:      rgba(26,86,160,0.14);
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family:'DM Sans',sans-serif;
  background:var(--pale2);
  color:var(--text);
  overflow-x:hidden;
}

/* ─── HERO ────────────────────────────── */
.hero {
  display:grid; grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 74px - 44px);
  overflow:hidden;
}

.hero-left {
  display:flex; flex-direction:column; justify-content:center;
  padding:80px 60px 80px 80px;
}

.hero-tag {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--pale); border:1px solid rgba(26,86,160,.2);
  color:var(--blue); font-size:11px; font-weight:500;
  letter-spacing:.12em; text-transform:uppercase;
  padding:7px 16px; border-radius:100px;
  margin-bottom:30px; width:fit-content;
  animation:fadeUp .7s ease both;
}
.hero-tag::before {
  content:''; width:6px; height:6px;
  background:var(--blue-mid); border-radius:50%;
  animation:pulse 2s infinite;
}
@keyframes pulse {
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:.4;transform:scale(.7)}
}

.hero-h1 {
  font-family:'Playfair Display',serif;
  font-size:clamp(40px,4.2vw,60px);
  font-weight:700; line-height:1.1; color:var(--navy);
  margin-bottom:22px;
  animation:fadeUp .7s .1s ease both;
}
.hero-h1 em { font-style:italic; color:var(--blue-mid); }

.hero-sub {
  font-size:16px; font-weight:300; line-height:1.75;
  color:var(--text-light); max-width:430px;
  margin-bottom:44px;
  animation:fadeUp .7s .2s ease both;
}

.hero-btns {
  display:flex; gap:14px; flex-wrap:wrap;
  animation:fadeUp .7s .3s ease both;
}
.btn-primary {
  background:var(--blue); color:var(--white);
  padding:15px 34px; border-radius:100px;
  font-size:14px; font-weight:500; text-decoration:none;
  letter-spacing:.03em; transition:all .25s;
  box-shadow:0 8px 28px rgba(26,86,160,.3);
  border:none; cursor:pointer; font-family:inherit;
}
.btn-primary:hover {
  background:var(--blue-mid);
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(26,86,160,.38);
}
.btn-secondary {
  display:flex; align-items:center; gap:10px;
  color:var(--text); font-size:14px; font-weight:500;
  text-decoration:none; padding:15px 22px;
  border-radius:100px; border:1.5px solid var(--border);
  transition:all .25s;
}
.btn-secondary:hover { border-color:var(--blue); color:var(--blue); transform:translateY(-2px); }
.btn-arrow {
  width:28px; height:28px; background:var(--pale);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:12px; transition:background .25s;
}
.btn-secondary:hover .btn-arrow { background:var(--blue); color:white; }

.hero-stats {
  display:flex; gap:40px; margin-top:56px; padding-top:36px;
  border-top:1px solid var(--border);
  animation:fadeUp .7s .4s ease both;
}
.stat-num {
  font-family:'Playfair Display',serif;
  font-size:30px; font-weight:700; color:var(--navy); line-height:1;
}
.stat-label { font-size:12px; color:var(--text-light); margin-top:4px; }

/* Hero right */
.hero-right {
  background:var(--navy);
  position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.hero-right img {
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; object-position:center top;
  opacity:0.92;
}
.hero-bg-ring {
  position:absolute; border-radius:50%;
  border:1px solid rgba(255,255,255,.06);
}
.hero-bg-ring:nth-child(1){width:560px;height:560px}
.hero-bg-ring:nth-child(2){width:380px;height:380px}
.hero-bg-ring:nth-child(3){width:200px;height:200px}

.hero-eye-wrap {
  position:relative; z-index:2;
  animation:fadeIn 1s .3s ease both;
}

.float-card {
  position:absolute; z-index:3;
  background:white; border-radius:16px;
  padding:16px 22px;
  box-shadow:0 16px 48px rgba(0,0,0,.2);
  min-width:210px;
}
.float-card.c1 { bottom:52px; left:-28px; animation:fadeUp .8s .6s ease both; }
.float-card.c2 { top:56px; right:-20px; animation:fadeUp .8s .8s ease both;
  background:var(--blue); color:white; min-width:180px; }

.float-card-icon {
  width:40px; height:40px; border-radius:10px;
  background:var(--pale); display:flex; align-items:center; justify-content:center;
  font-size:18px; margin-right:14px; flex-shrink:0;
}
.float-card-row { display:flex; align-items:center; }
.float-card-title { font-weight:600; font-size:13px; color:var(--navy); }
.float-card-sub { font-size:11px; color:var(--text-light); margin-top:2px; }
.float-card.c2 .float-card-title { font-size:11px; color:rgba(255,255,255,.65); font-weight:400; margin-bottom:3px; }
.float-card.c2 .float-card-val {
  font-family:'Playfair Display',serif;
  font-size:20px; font-weight:700; color:white;
}

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

/* ─── SHARED SECTION ─────────────────── */
section { padding:96px 80px; }

.section-tag {
  font-size:11px; font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--blue-mid);
  margin-bottom:14px; display:flex; align-items:center; gap:10px;
}
.section-tag::before { content:''; width:26px; height:2px; background:var(--blue-mid); flex-shrink:0; }
.section-h2 {
  font-family:'Playfair Display',serif;
  font-size:clamp(30px,2.8vw,42px); font-weight:700;
  line-height:1.2; color:var(--navy); margin-bottom:14px;
}
.section-sub {
  font-size:16px; color:var(--text-light);
  line-height:1.75; max-width:520px; margin-bottom:52px;
}

/* ─── CONTACT INFO BLOCKS ─────────────── */
.info-block {
  display:flex; align-items:flex-start; gap:16px;
  margin-bottom:22px; padding:22px;
  border-radius:14px; border:1.5px solid var(--border);
  background:var(--pale2); transition:border-color .2s;
}
.info-block:hover { border-color:rgba(26,86,160,.28); }
.info-icon {
  width:44px; height:44px; flex-shrink:0;
  background:var(--pale); border-radius:11px;
  display:flex; align-items:center; justify-content:center; font-size:19px;
}
.info-label { font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--text-light); margin-bottom:3px; }
.info-value { font-size:15px; font-weight:500; color:var(--navy); }
.info-value a { color:inherit; text-decoration:none; }
.info-value a:hover { color:var(--blue-mid); }

/* ─── PAGE HERO / CONTENT ─────────────── */
.page-hero{background:var(--navy);padding:80px 80px 68px;color:white;margin-top:74px;}
.page-hero .section-tag{color:var(--sky-light);}
.page-hero .section-tag::before{background:var(--sky-light);}
.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(36px,4vw,52px);font-weight:700;line-height:1.15;color:white;margin-bottom:18px;}
.page-hero p{font-size:17px;color:rgba(255,255,255,.6);line-height:1.75;max-width:600px;}
.cond{padding:80px;}
.cond:nth-of-type(even){background:var(--pale2);}
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.slist{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;margin-bottom:28px;}
.slist li{display:flex;gap:12px;font-size:15px;color:var(--text-light);line-height:1.6;}
.slist li span{color:var(--blue);font-weight:700;flex-shrink:0;}
.tbox{background:var(--pale);border-radius:20px;padding:32px;margin-bottom:20px;}
.titem{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;}
.titem:last-child{margin-bottom:0;}
.ticon{width:42px;height:42px;background:var(--blue);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;}
.ttitle{font-size:15px;font-weight:600;color:var(--navy);display:block;margin-bottom:4px;}
.tdesc{font-size:14px;color:var(--text-light);line-height:1.65;}
.cbox{border-radius:20px;padding:28px;background:var(--navy);color:white;}
.cbox p{font-size:15px;line-height:1.75;color:rgba(255,255,255,.72);margin:0;}
.cbox strong{color:white;}
.divider{height:2px;background:var(--border);margin:0 80px;}
.cta-strip{background:var(--blue);padding:60px 80px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;}
.cta-strip h2{font-family:'Playfair Display',serif;font-size:30px;font-weight:700;color:white;margin-bottom:10px;}
.cta-strip p{font-size:16px;color:rgba(255,255,255,.7);max-width:480px;margin:0;}

/* ── MOBILE RESPONSIVE ─────────────────────────── */
@media (max-width: 768px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-left { padding: 40px 24px 32px; }
  .hero-right { min-height: 280px; }
  .hero-h1 { font-size: 34px; }
  .hero-sub { font-size: 15px; }
  .hero-stats { gap: 24px; }
  .float-card.c1 { left: 12px; bottom: 16px; min-width: 180px; }
  .float-card.c2 { right: 8px; top: 16px; min-width: 160px; }

  section { padding: 56px 24px; }
  .contact { grid-template-columns: 1fr; padding: 56px 24px; gap: 40px; }

  .page-hero { padding: 56px 24px 48px; }
  .cgrid { grid-template-columns: 1fr !important; gap: 36px !important; }
  .cond { padding: 56px 24px !important; }
  .divider { margin: 0 24px !important; }
  .cta-strip { padding: 48px 24px; flex-direction: column; text-align: center; }
  .cta-strip h2 { font-size: 24px; }
}
@media (max-width: 480px) {
  .hero-h1 { font-size: 28px; }
  .section-h2 { font-size: 26px; }
  .hero-btns { flex-direction: column; }
  .btn-primary, .btn-secondary { text-align: center; justify-content: center; }
}
