/* LifeNik internal-page foundation — not loaded by index.html */
:root {
  --ip-navy: #0b1731;
  --ip-navy-raised: #132440;
  --ip-gold: #d8ae35;
  --ip-gold-soft: #e7c866;
  --ip-white: #fffefa;
  --ip-ivory: #f6f2e9;
  --ip-blue: #eaf1f6;
  --ip-ink: #1a263d;
  --ip-muted: #657185;
  --ip-border: rgba(19, 36, 64, .12);
  --ip-shadow: 0 18px 48px -38px rgba(11, 23, 49, .38);
  --ip-shadow-hover: 0 24px 56px -38px rgba(11, 23, 49, .48);
}

body { color: var(--ip-ink); background: var(--ip-white); }
.wrap { width: min(100% - 48px, 1180px); }

.page-hero {
  min-height: clamp(360px, 46svh, 520px) !important;
  background: var(--ip-navy);
}
.page-hero .hero-inner { max-width: 900px; padding-block: 120px 80px; }
.page-hero .h-display {
  max-width: 860px;
  font-family: var(--f-semibold);
  font-size: clamp(32px, 4.2vw, 52px) !important;
  font-weight: 650;
  line-height: 1.5;
}
.page-hero .hero-sub { max-width: 720px; font-size: 16px; line-height: 2; }
.page-hero .hero-waves { opacity: .65; }

.sec { padding-block: 96px; }
.sec-head { margin-bottom: 48px; }
.h-section {
  font-family: var(--f-semibold);
  font-weight: 650;
  line-height: 1.55;
}
.t-body, .t-lead { color: var(--ip-muted); line-height: 2; }
.eyebrow { font-family: var(--f-medium); font-weight: 500; }

.btn {
  min-height: 48px;
  padding: 12px 24px;
  border-radius: 14px;
  font-family: var(--f-semibold);
  font-weight: 600;
  transition: transform 280ms var(--ease), background 280ms var(--ease), color 280ms var(--ease), border-color 280ms var(--ease), box-shadow 280ms var(--ease);
}
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }
.btn:focus-visible { outline: 2px solid var(--ip-gold); outline-offset: 3px; }
.btn-sm { min-height: 40px; padding: 8px 16px; border-radius: 12px; }

.cta-band { padding-block: 64px; }
.cta-band .wrap { max-width: 820px; }
.cta-band .h-section { font-size: clamp(25px, 3vw, 36px); }

.reveal { transition-duration: 500ms; }

@media (max-width: 920px) {
  .page-hero .hero-inner { padding-block: 112px 64px; }
  .sec { padding-block: 64px; }
  .sec-head { margin-bottom: 32px; }
}

@media (max-width: 560px) {
  .wrap { width: min(100% - 32px, 1180px); }
  .page-hero { min-height: 400px !important; }
  .page-hero .hero-inner { padding-block: 104px 48px; }
  .page-hero .h-display { font-size: clamp(28px, 9vw, 38px) !important; }
  .page-hero .hero-sub { font-size: 15px; line-height: 1.9; }
  .sec { padding-block: 64px; }
  .cta-band { padding-block: 48px; }
  .btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .reveal, .btn { transition-duration: .01ms !important; animation: none !important; }
}
