:root {
  --osteo-bg: #F8FAFC;
  --osteo-surface: #FFFFFF;
  --osteo-tone: #059669;
  --osteo-tone-hover: #047857;
  --osteo-ink: #1E293B;
  --osteo-gradient: linear-gradient(135deg, #059669 0%, #10B981 100%);
  --font-display: 'Oswald', sans-serif;
  --font-body: 'Lato', sans-serif;
}

body {
  background-color: var(--osteo-bg);
  color: var(--osteo-ink);
  font-family: var(--font-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.osteo-headline {
  font-family: var(--font-display);
}

/* Header style (Preset A: accent strip bottom) */
.osteo-top-bar {
  background-color: var(--osteo-surface);
  border-bottom: 4px solid var(--osteo-tone);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

/* Gallery functionality (CSS only) */
input[name="osteo-gallery"] {
  display: none;
}

.osteo-main-slide {
  display: none;
  border-radius: 16px;
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -2px rgba(0,0,0,0.05);
}

#pic1:checked ~ .osteo-stage .osteo-main-slide:nth-child(1),
#pic2:checked ~ .osteo-stage .osteo-main-slide:nth-child(2),
#pic3:checked ~ .osteo-stage .osteo-main-slide:nth-child(3),
#pic4:checked ~ .osteo-stage .osteo-main-slide:nth-child(4) {
  display: block;
}

.osteo-thumb-deck label {
  border: 2px solid transparent;
  border-radius: 12px;
  opacity: 0.6;
  background-color: var(--osteo-surface);
}

.osteo-thumb-deck label:hover {
  opacity: 0.9;
}

#pic1:checked ~ .osteo-thumb-deck label[for="pic1"],
#pic2:checked ~ .osteo-thumb-deck label[for="pic2"],
#pic3:checked ~ .osteo-thumb-deck label[for="pic3"],
#pic4:checked ~ .osteo-thumb-deck label[for="pic4"] {
  border-color: var(--osteo-tone);
  opacity: 1;
  box-shadow: 0 4px 6px -1px rgba(5, 150, 105, 0.2);
}

/* CTA Button (Preset A: Pill shape + hover shadow) */
.osteo-primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--osteo-gradient);
  color: #ffffff;
  padding: 1.25rem 3.5rem;
  border-radius: 999px;
  font-family: var(--font-display);
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 14px rgba(5, 150, 105, 0.4);
}

.osteo-primary-action:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(5, 150, 105, 0.6);
  background: var(--osteo-tone-hover);
}

/* Reviews (Preset A: Left colored border 4px) */
.osteo-feedback-item {
  background-color: var(--osteo-surface);
  border-left: 4px solid var(--osteo-tone);
  border-top-right-radius: 16px;
  border-bottom-right-radius: 16px;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
  transition: transform 0.2s ease;
}

.osteo-feedback-item:hover {
  transform: translateX(4px);
}

/* Footer styling */
.osteo-base-plate {
  background-color: #E2E8F0; /* slight contrast from bg */
  color: var(--osteo-ink);
  border-top: 1px solid #CBD5E1;
}

.osteo-base-plate a {
  color: var(--osteo-tone);
}

.osteo-base-plate a:hover {
  color: var(--osteo-tone-hover);
}