:root {
  --care-gold: #BE9255;
  --care-gold-light: #CCAA7A;
  --care-gold-dark: #A87B41;
  --care-gold-text: #8A6231;
  --care-navy: #2A3B4D;
  --care-slate: #37444D;
  --care-steel: #627E94;
  --care-cream: #F7EEE1;
  --care-cream-pale: #FCF9F4;
  --care-white: #FFFFFF;
  --care-border: #E2D3BE;
  --care-error: #B4553F;

  --font-display: "Lora", Georgia, "Times New Roman", serif;
  --font-text: "Poppins", Helvetica, Arial, sans-serif;

  --space-xs: 12px;
  --space-sm: 24px;
  --space-md: 48px;
  --space-lg: 96px;
  --space-xl: 144px;

  --radius: 4px;
  --radius-pill: 999px;
  --container: 1200px;
  --measure: 68ch;

  --ease: cubic-bezier(.22,.61,.36,1);
}

@media (max-width: 1024px) {
  :root { --space-lg: 64px; --space-xl: 96px; }
}
@media (max-width: 767px) {
  :root { --space-lg: 48px; --space-xl: 72px; }
}

/* Reset kept at zero specificity so component rules always win */
:where(*, *::before, *::after) { box-sizing: border-box; }
:where(body, h1, h2, h3, h4, p, figure, blockquote, dl, dd, ul, ol) { margin: 0; padding: 0; }
:where(ul[class], ol[class]) { list-style: none; }
:where(img, svg) { max-width: 100%; display: block; }
:where(a) { color: inherit; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

body {
  background: var(--care-cream-pale);
  color: var(--care-slate);
  font-family: var(--font-text);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

:focus-visible {
  outline: 2px solid var(--care-gold-text);
  outline-offset: 3px;
  border-radius: 2px;
}

.care-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  background: var(--care-navy);
  color: #fff;
  padding: 12px 20px;
  z-index: 100;
}
.care-skip:focus { left: 8px; top: 8px; }

/* Layout */
.care-wrap {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--space-sm);
}
@media (min-width: 768px) { .care-wrap { padding-inline: 40px; } }

.care-section { padding-block: var(--space-lg); }
.care-section--cream { background: var(--care-cream); }
.care-section--white { background: var(--care-white); }
.care-section--tight { padding-block: var(--space-md); }

/* Typography */
h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--care-navy);
  font-weight: 700;
}

.care-h1 {
  font-size: clamp(34px, 5.2vw, 56px);
  line-height: 1.08;
  letter-spacing: -.022em;
}
.care-h2 {
  font-size: clamp(28px, 3.8vw, 44px);
  line-height: 1.15;
  letter-spacing: -.018em;
  color: var(--care-gold);
}
.care-h2--navy { color: var(--care-navy); }
.care-h3 {
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.25;
  letter-spacing: -.012em;
  font-weight: 600;
}
.care-h4 {
  font-family: var(--font-text);
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0;
}

.care-lead {
  font-size: clamp(17px, 1.6vw, 19px);
  line-height: 1.6;
  color: var(--care-steel);
  max-width: 58ch;
}
.care-body { max-width: var(--measure); }
.care-body + .care-body { margin-top: var(--space-sm); }

.care-eyebrow {
  font-family: var(--font-text);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--care-gold-text);
  margin-bottom: var(--space-xs);
}

.care-small {
  font-size: 14px;
  line-height: 1.5;
  color: var(--care-steel);
}

/* Buttons */
.care-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 52px;
  padding: 15px 30px;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  font-family: var(--font-text);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .14em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease);
}
.care-btn--primary {
  background: var(--care-gold);
  color: var(--care-navy);
}
.care-btn--secondary {
  background: transparent;
  border-color: var(--care-navy);
  color: var(--care-navy);
}
@media (hover: hover) {
  .care-btn--primary:hover {
    background: var(--care-gold-light);
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(168,123,65,.28);
  }
  .care-btn--secondary:hover {
    background: var(--care-navy);
    color: var(--care-cream);
    transform: translateY(-3px);
  }
}

.care-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-top: var(--space-md);
}
@media (max-width: 520px) {
  .care-actions { flex-direction: column; align-items: stretch; }
  .care-btn { width: 100%; }
}

/* Header */
.care-header {
  background: var(--care-cream-pale);
  border-bottom: 1px solid var(--care-border);
  position: sticky;
  top: 0;
  z-index: 40;
}
.care-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  min-height: 76px;
}
.care-brand {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -.01em;
  color: var(--care-navy);
  text-decoration: none;
}
.care-brand span { color: var(--care-gold-text); }
.care-header__meta {
  font-size: 13px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--care-steel);
}
@media (max-width: 640px) { .care-header__meta { display: none; } }

/* Hero */
.care-hero {
  padding-block: clamp(56px, 8vw, 112px) var(--space-lg);
  background:
    radial-gradient(120% 80% at 88% 0%, rgba(247,238,225,.9) 0%, rgba(252,249,244,0) 62%),
    var(--care-cream-pale);
}
.care-hero__grid {
  display: grid;
  gap: var(--space-md);
  align-items: end;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .care-hero__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: var(--space-lg); }
}
.care-hero__aside {
  border-top: 2px solid var(--care-gold);
  padding-top: var(--space-sm);
}
.care-hero__aside p { font-size: 15px; line-height: 1.6; color: var(--care-slate); }
.care-hero__aside strong { color: var(--care-navy); font-weight: 600; }

/* Steps */
.care-steps {
  display: grid;
  gap: 1px;
  background: var(--care-border);
  border: 1px solid var(--care-border);
  border-radius: var(--radius);
  overflow: hidden;
  grid-template-columns: 1fr;
}
@media (min-width: 760px) { .care-steps { grid-template-columns: repeat(3, 1fr); } }
.care-step { background: var(--care-white); padding: var(--space-sm); }
.care-step__n {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 700;
  color: var(--care-gold-text);
  display: block;
  margin-bottom: 6px;
}
.care-step h3 { font-size: 19px; line-height: 1.3; margin-bottom: 6px; letter-spacing: 0; }
.care-step p { font-size: 15px; line-height: 1.55; color: var(--care-steel); }

/* Figures row */
.care-figures {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}
.care-figure__n {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(44px, 6vw, 68px);
  line-height: 1;
  letter-spacing: -.03em;
  color: var(--care-gold);
}
.care-figure p { margin-top: 8px; font-size: 15px; color: var(--care-slate); max-width: 26ch; }

/* Split content */
.care-split {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .care-split { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-lg); align-items: start; }
}
.care-split__head { position: sticky; top: 108px; }
@media (max-width: 899px) { .care-split__head { position: static; } }

/* Definition rows */
.care-rows { border-top: 1px solid var(--care-border); }
.care-row {
  border-bottom: 1px solid var(--care-border);
  padding-block: var(--space-sm);
  display: grid;
  gap: 6px var(--space-sm);
  grid-template-columns: 1fr;
}
@media (min-width: 620px) { .care-row { grid-template-columns: 200px minmax(0, 1fr); } }
.care-row dt {
  font-family: var(--font-text);
  font-size: 15px;
  font-weight: 600;
  color: var(--care-navy);
}
.care-row dd { font-size: 16px; line-height: 1.6; color: var(--care-slate); }

/* Calculation table */
.care-calc {
  background: var(--care-white);
  border: 1px solid var(--care-border);
  border-radius: var(--radius);
  padding: var(--space-sm);
}
@media (min-width: 620px) { .care-calc { padding: var(--space-md); } }
.care-calc__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
  padding-block: 14px;
  border-bottom: 1px solid var(--care-border);
}
.care-calc__line:last-child { border-bottom: 0; }
.care-calc__label { font-size: 15px; color: var(--care-slate); }
.care-calc__label b { display: block; font-weight: 600; color: var(--care-navy); font-size: 16px; }
.care-calc__val {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 600;
  color: var(--care-navy);
  white-space: nowrap;
}
.care-calc__line--total { border-top: 2px solid var(--care-gold); padding-top: 20px; margin-top: 6px; }
.care-calc__line--total .care-calc__val { font-size: 30px; color: var(--care-gold-text); }

/* Service list */
.care-services {
  display: grid;
  gap: 1px;
  background: var(--care-border);
  border-block: 1px solid var(--care-border);
  grid-template-columns: 1fr;
}
@media (min-width: 700px) { .care-services { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1060px) { .care-services { grid-template-columns: repeat(4, 1fr); } }
.care-service { background: var(--care-cream-pale); padding: var(--space-sm); }
.care-service h3 {
  font-family: var(--font-text);
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0;
  color: var(--care-navy);
  margin-bottom: 8px;
}
.care-service p { font-size: 15px; line-height: 1.55; color: var(--care-steel); }

/* Footer */
.care-footer {
  background: var(--care-navy);
  color: rgba(247,238,225,.80);
  padding-block: var(--space-lg) var(--space-md);
  font-size: 15px;
}
.care-footer a { color: rgba(247,238,225,.80); text-decoration: none; }
@media (hover: hover) { .care-footer a:hover { color: var(--care-gold); text-decoration: underline; text-underline-offset: 3px; } }
.care-footer__grid {
  display: grid;
  gap: var(--space-md);
  grid-template-columns: 1fr;
}
@media (min-width: 760px) { .care-footer__grid { grid-template-columns: repeat(3, 1fr); } }
.care-footer h2 {
  font-family: var(--font-text);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: var(--care-gold);
  margin-bottom: var(--space-xs);
}
.care-legal {
  margin-top: var(--space-md);
  padding-top: var(--space-sm);
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
  color: rgba(247,238,225,.55);
}

.care-stack > * + * { margin-top: var(--space-sm); }
.care-mt-md { margin-top: var(--space-md); }
.care-mt-lg { margin-top: var(--space-lg); }
