: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;
}

/* ─── BUTTONS ─────────────────────────── */
.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);
}

/* ─── 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;
}

/* ─── SERVICE / CONDITION CARDS ──────── */
.svc-card {
  border:1.5px solid var(--border); border-radius:20px;
  padding:34px; background:var(--pale2);
  transition:all .3s; position:relative; overflow:hidden; cursor:default;
}
.svc-card::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--blue),var(--sky));
  transform:scaleX(0); transform-origin:left; transition:transform .3s;
}
.svc-card:hover {
  border-color:rgba(26,86,160,.28);
  box-shadow:0 14px 44px rgba(26,86,160,.1);
  transform:translateY(-4px);
}
.svc-card:hover::after { transform:scaleX(1); }

.svc-icon {
  width:50px; height:50px; background:var(--pale);
  border-radius:13px; display:flex; align-items:center;
  justify-content:center; margin-bottom:22px; font-size:21px;
  transition:background .3s;
}
.svc-card:hover .svc-icon { background:var(--blue); }
.svc-title {
  font-family:'Playfair Display',serif;
  font-size:19px; font-weight:600; color:var(--navy); margin-bottom:10px;
}
.svc-desc { font-size:14px; color:var(--text-light); line-height:1.7; }

/* ─── 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 + CTA STRIP ──────────── */
.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;}
.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) {
  section { padding: 56px 24px; }
  .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) {
  .section-h2 { font-size: 26px; }
}
