:root {
  --bs-primary: #ff5a1f;
  --bs-primary-rgb: 255, 90, 31;
  --bs-body-bg: #f6f3ef;
  --bs-body-color: #1c2838;
  --bs-link-color: #14315c;
  --bs-link-hover-color: #e04612;
  --bs-border-radius: 1rem;
  --kd-navy: #14315c;
}

body { font-family: Outfit, system-ui, sans-serif; }
h1, h2, h3, .display-5, .display-6 { font-family: Fraunces, Georgia, serif; color: var(--kd-navy); }
.skip-link {
  position: absolute;
  left: 12px;
  top: -40px;
  background: #fff;
  color: #000;
  padding: 8px 12px;
  z-index: 1080;
}
.skip-link:focus { top: 12px; }
.topbar { background: var(--kd-navy); color: #efe8df; font-size: 0.92rem; }
.topbar a { color: #ffc2a4; text-decoration: none; }
.navbar { background: #fff; }
.navbar-brand img {
  height: 54px;
  width: auto;
  background: #fff;
  display: block;
}
.btn-primary {
  --bs-btn-bg: #ff5a1f;
  --bs-btn-border-color: #ff5a1f;
  --bs-btn-hover-bg: #e04612;
  --bs-btn-hover-border-color: #e04612;
  --bs-btn-active-bg: #c73d0e;
  --bs-btn-active-border-color: #c73d0e;
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
}
.btn-outline-navy {
  --bs-btn-color: var(--kd-navy);
  --bs-btn-border-color: var(--kd-navy);
  --bs-btn-hover-bg: var(--kd-navy);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: var(--kd-navy);
}
.hero-card { background: var(--kd-navy); color: #f4f1ea; }
.hero-card a { color: #fff; text-decoration: none; }
.hero-card a:hover { color: #ffc2a4; }
.shot, .feature-shot {
  border-radius: 1rem;
  border: 1px solid var(--bs-border-color);
}
.hero-shot {
  display: block;
  width: 100%;
  height: auto;
  background: #eef0f4;
}
.front-shot {
  display: block;
  width: 100%;
  height: 210px;
  object-fit: cover;
  object-position: top center;
  background: #111;
}
.client-stat {
  display: inline-flex;
  align-items: center;
  gap: 0.9rem;
  background: #fff;
  border-radius: 1.25rem;
  padding: 0.7rem 1.25rem 0.7rem 1rem;
  margin: 0.25rem 0 1.25rem;
  box-shadow: 0 10px 28px rgba(20, 49, 92, 0.08);
}
.client-stat-num {
  margin: 0;
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(3.2rem, 6vw, 4.4rem);
  line-height: 0.9;
  font-weight: 680;
  color: #ff5a1f;
  letter-spacing: -0.03em;
}
.client-stat-plus { font-size: 0.62em; }
.client-stat-label {
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.82rem;
  line-height: 1.25;
  color: var(--kd-navy);
}
.shot-open {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #111;
  cursor: zoom-in;
}
.shot-open-label {
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
  background: rgba(20, 49, 92, 0.9);
  color: #fff;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  border-radius: 999px;
  padding: 0.28rem 0.7rem;
  opacity: 0;
  transition: opacity 0.15s ease;
}
.shot-open:hover .shot-open-label,
.shot-open:focus-visible .shot-open-label {
  opacity: 1;
}
.shot-full {
  display: block;
  width: 100%;
  height: auto;
}
.offer-piece {
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
  box-shadow: 0 8px 22px rgba(20, 49, 92, 0.07);
}
.offer-piece-kicker {
  margin: 0 0 0.2rem;
  color: #ff5a1f;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.price-best { border: 2px solid #ff5a1f !important; }
.save-pill { background: #e7f6ee; color: #0d7a46; }
footer a { color: #ffc2a4; text-decoration: none; }
