/* Corporate Wellness Services detail — Lovable /services/corporate-wellness (light) */
.wellness-svc {
  --svc-bg: #fff;
  --svc-ink: rgb(22, 36, 59);
  --svc-muted: hsl(218, 15%, 42%);
  --svc-border: hsl(218, 20%, 88%);
  --svc-navy: hsl(218, 55%, 9%);
  --svc-cyan: rgb(27, 155, 187);
  --svc-cyan-bright: rgb(37, 188, 244);
  --svc-cyan-soft: rgba(27, 155, 187, 0.12);
  --svc-serif: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-family: inherit;
  color: var(--svc-ink);
  background: var(--svc-bg);
}

.wellness-svc .container-s {
  max-width: 1180px;
  margin: 0 auto;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.wellness-svc .visually-hidden {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.page-template-template-valens-wellness-services .inner-banner,
body.page-template-templates-template-valens-wellness-services-php .inner-banner {
  display: none !important;
}

body.page-template-template-valens-wellness-services,
body.page-template-templates-template-valens-wellness-services-php {
  padding-top: 0 !important;
  background: #fff;
}

/* Breadcrumb — kept for a11y/SEO, visually hidden to match Lovable hero */
.wellness-svc__breadcrumb {
  padding: 0;
}

.wellness-svc__breadcrumb ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  color: var(--svc-muted);
}

.wellness-svc__breadcrumb li:not(:last-child)::after {
  content: "/";
  margin-left: 0.4rem;
  opacity: 0.5;
}

.wellness-svc__breadcrumb a {
  color: var(--svc-muted);
  text-decoration: none;
}

.wellness-svc__breadcrumb a:hover {
  color: var(--svc-cyan);
}

/* Hero — review: no Services eyebrow */
.wellness-svc__hero {
  position: relative;
  min-height: 40vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  margin-top: calc(var(--v2-bar-h, 72px) * -1);
  padding-top: var(--v2-bar-h, 72px);
}

.wellness-svc__hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wellness-svc__hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(10, 20, 36, 0.78) 0%,
    rgba(10, 20, 36, 0.35) 35%,
    rgba(10, 20, 36, 0.65) 100%
  );
}

.wellness-svc__hero-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 52rem;
  margin: 0 auto;
  padding: 3rem 0 2.75rem;
  text-align: center;
}

.wellness-svc__title {
  margin: 0;
  font-family: var(--svc-serif);
  font-size: clamp(1.75rem, 5vw, 4rem);
  line-height: 1.05;
  font-weight: 700;
  color: #fff;
}

.wellness-svc__lead {
  margin: 1.15rem auto 0;
  max-width: 40rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(0.95rem, 1.6vw, 1.125rem);
  line-height: 1.6;
}

.wellness-svc__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--svc-cyan);
  font-weight: 500;
}

.wellness-svc__section-title {
  margin: 0;
  font-family: var(--svc-serif);
  font-size: clamp(1.5rem, 3vw, 2.35rem);
  line-height: 1.15;
  font-weight: 500;
  color: var(--svc-ink);
}

/* Intro / Why it Matters */
.wellness-svc__intro,
.wellness-svc__why,
.wellness-svc__offer,
.wellness-svc__impact,
.wellness-svc__specialists,
.wellness-svc__talk,
.wellness-svc__enquiry,
.wellness-svc__cta {
  position: relative;
  overflow: hidden;
  padding: 3rem 0;
  border-top: 1px solid var(--svc-border);
  background: #fff;
}

.wellness-svc__why-grid {
  display: grid;
  gap: 1.25rem;
  margin-top: 0.35rem;
}

.wellness-svc__why-p {
  margin: 0;
  color: var(--svc-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}

.wellness-svc__why-p--lead {
  font-family: var(--svc-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  line-height: 1.3;
  color: var(--svc-ink);
  font-weight: 500;
}

.wellness-svc__pattern {
  position: absolute;
  right: -6%;
  bottom: 0;
  width: min(600px, 55vw);
  max-width: none;
  pointer-events: none;
  user-select: none;
  opacity: 0.35;
}

.wellness-svc__pattern--left {
  right: auto;
  left: -8%;
  top: 10%;
  bottom: auto;
  opacity: 0.28;
}

.wellness-svc__pattern--offer {
  right: -8%;
  top: 35%;
  bottom: auto;
}

.wellness-svc__intro-copy {
  display: grid;
  gap: 1rem;
  max-width: 48rem;
}

.wellness-svc__intro-copy p {
  margin: 0;
  color: var(--svc-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}

/* Partners — auto-scrolling marquee */
.wellness-svc__partners {
  padding: 3rem 0;
  border-top: 1px solid var(--svc-border);
  background: #fff;
  overflow: hidden;
}

.wellness-svc__partners-title {
  margin: 0 auto 2rem;
  max-width: 36rem;
  text-align: center;
  font-family: var(--svc-serif);
  font-size: clamp(1.35rem, 2.6vw, 1.85rem);
  font-weight: 500;
  line-height: 1.25;
  color: var(--svc-ink);
}

.wellness-svc__partner-marquee {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.wellness-svc__partner-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: wellness-svc-marquee 28s linear infinite;
  will-change: transform;
}

.wellness-svc__partner-marquee:hover .wellness-svc__partner-track {
  animation-play-state: paused;
}

.wellness-svc__partner-card {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 10.5rem;
  min-height: 4.25rem;
  padding: 1rem 1.5rem;
  border: 1px solid var(--svc-border);
  border-radius: 0.85rem;
  background: #fbfcfd;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: rgba(31, 53, 83, 0.55);
  white-space: nowrap;
}

@keyframes wellness-svc-marquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .wellness-svc__partner-track {
    animation: none;
  }
}

.wellness-svc__service-icon {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.65rem;
  background: rgba(37, 188, 244, 0.12);
  color: var(--svc-cyan);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

/* Organizational Impact */
.wellness-svc__impact-grid {
  display: grid;
  gap: 2rem;
  align-items: center;
}

.wellness-svc__impact-copy .wellness-svc__section-title {
  margin-top: 0.75rem;
}

.wellness-svc__impact-copy > p:last-child {
  margin: 1.15rem 0 0;
  color: var(--svc-muted);
  line-height: 1.75;
  font-size: 1.05rem;
  max-width: 36rem;
}

.wellness-svc__impact-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.wellness-svc__impact-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem 1.05rem;
  border: 1px solid var(--svc-border);
  border-radius: 0.85rem;
  background: #fbfcfd;
  color: var(--svc-ink);
  font-size: 0.98rem;
  line-height: 1.45;
}

.wellness-svc__check {
  color: var(--svc-cyan);
  width: 1.25rem;
  height: 1.25rem;
  margin-top: 0.1rem;
  flex-shrink: 0;
  display: inline-flex;
}

.wellness-svc__check .valens-icon {
  width: 1.25rem;
  height: 1.25rem;
}

/* Talk to the Team */
.wellness-svc__talk-card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 1.5rem;
  border: 1px solid var(--svc-border);
  border-radius: 1.25rem;
  background: #f8fbfc;
}

.wellness-svc__talk-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.wellness-svc__talk-label .wellness-svc__eyebrow {
  margin: 0;
}

.wellness-svc__talk-copy p {
  margin: 0.75rem 0 0;
  color: var(--svc-muted);
  line-height: 1.65;
}

.wellness-svc__talk-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

/* What we offer — 2-col cards, equal height per row */
.wellness-svc__offer-head {
  margin-bottom: 2rem;
  max-width: 40rem;
  text-align: left;
}

.wellness-svc__offer-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: stretch;
  justify-items: stretch;
  width: 100%;
}

.wellness-svc__offer-card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--svc-border);
  border-radius: 1rem;
  padding: 1.6rem 1.45rem;
  background: #fff;
  text-align: left;
  box-sizing: border-box;
}

.wellness-svc__offer-card .wellness-svc__service-icon {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  margin-bottom: 1.1rem;
}

.wellness-svc__offer-card [itemprop="description"] {
  flex: 1 1 auto;
}

.wellness-svc__offer-title {
  margin: 0 0 0.7rem;
  font-family: var(--svc-serif);
  font-size: clamp(1.2rem, 1.8vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25;
  color: var(--svc-ink);
}

.wellness-svc__offer-card p {
  margin: 0 0 0.75rem;
  color: var(--svc-muted);
  font-size: 0.98rem;
  line-height: 1.7;
  text-align: left;
}

.wellness-svc__offer-card p:last-child {
  margin-bottom: 0;
}

/* Specialists — even aligned row */
.wellness-svc__specialist-grid {
  display: grid;
  gap: 1.75rem;
  margin-top: 2.5rem;
  align-items: start;
}

.wellness-svc__specialist {
  display: block;
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.wellness-svc__specialist-photo {
  display: block;
  width: 100%;
  max-width: 280px;
  margin: 0 auto;
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: #eef3f6;
  transition: transform 0.35s ease;
}

.wellness-svc__specialist:hover .wellness-svc__specialist-photo {
  transform: translateY(-4px);
}

.wellness-svc__specialist-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
  transition: transform 0.5s ease;
}

.wellness-svc__specialist:hover .wellness-svc__specialist-photo img {
  transform: scale(1.04);
}

.wellness-svc__specialist-name {
  display: block;
  margin-top: 1.25rem;
  font-family: var(--svc-serif);
  font-size: clamp(1.4rem, 2.4vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--svc-ink);
}

/* Enquiry — aside + bordered form panel */
.wellness-svc__enquiry-grid {
  display: grid;
  gap: 2rem;
  align-items: start;
}

.wellness-svc__enquiry-aside .wellness-svc__section-title {
  margin-bottom: 1.25rem;
}

.wellness-svc__enquiry-media {
  border-radius: 1rem;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: #eef3f6;
}

.wellness-svc__enquiry-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wellness-svc__enquiry-contacts {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.15rem;
}

.wellness-svc__enquiry-contacts a {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--svc-muted);
  text-decoration: none;
  font-size: 0.95rem;
}

.wellness-svc__enquiry-contacts a:hover {
  color: var(--svc-cyan);
}

.wellness-svc__contact-icon {
  color: var(--svc-cyan);
  display: inline-flex;
  flex-shrink: 0;
}

.wellness-svc__enquiry-panel {
  border: 1px solid var(--svc-border);
  border-radius: 1.25rem;
  padding: 1.5rem;
  background: #fff;
}

.wellness-svc__form {
  display: grid;
  gap: 0.85rem;
}

.wellness-svc__form-row {
  display: grid;
  gap: 0.85rem;
}

.wellness-svc__enquiry-panel .wpcf7 {
  margin: 0;
}

.wellness-svc__enquiry-panel .generic--form__wrapper .custom-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.wellness-svc__enquiry-panel .input-container {
  width: 100%;
  max-width: none;
  flex: none;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: visible;
}

/* Beat theme .lightblue-bg { color:#fff } — typed text must stay dark */
.wellness-svc__enquiry-panel .wpcf7 input,
.wellness-svc__enquiry-panel .wpcf7 textarea,
.wellness-svc__enquiry-panel .wpcf7 select,
.wellness-svc__enquiry-panel .wpcf7 .form-control,
.wellness-svc__enquiry-panel .wpcf7 .lightblue-bg,
.wellness-svc__enquiry-panel .wpcf7 input.lightblue-bg,
.wellness-svc__enquiry-panel .wpcf7 textarea.lightblue-bg,
.wellness-svc__enquiry-panel .wpcf7 select.lightblue-bg,
.wellness-svc__enquiry-panel .wpcf7 input:focus,
.wellness-svc__enquiry-panel .wpcf7 textarea:focus,
.wellness-svc__enquiry-panel .wpcf7 select:focus,
.wellness-svc__enquiry-panel .wpcf7 input:active,
.wellness-svc__enquiry-panel .wpcf7 textarea:active,
.wellness-svc__enquiry-panel .wpcf7 input:hover,
.wellness-svc__enquiry-panel .wpcf7 textarea:hover,
.wellness-svc__form input,
.wellness-svc__form textarea,
.wellness-svc__form select {
  width: 100% !important;
  border: 1px solid var(--svc-border) !important;
  border-radius: 0.75rem !important;
  padding: 0.85rem 1rem !important;
  font-family: inherit !important;
  font-size: 0.9375rem !important;
  line-height: 1.45 !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #16243b !important; /* dark navy — never white */
  -webkit-text-fill-color: #16243b !important;
  caret-color: #16243b !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.wellness-svc__enquiry-panel .wpcf7 input:-webkit-autofill,
.wellness-svc__enquiry-panel .wpcf7 input:-webkit-autofill:hover,
.wellness-svc__enquiry-panel .wpcf7 input:-webkit-autofill:focus,
.wellness-svc__enquiry-panel .wpcf7 textarea:-webkit-autofill {
  -webkit-text-fill-color: #16243b !important;
  caret-color: #16243b !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  transition: background-color 9999s ease-in-out 0s;
}

/* Force visible placeholders (theme CSS sometimes hides them) */
.wellness-svc__enquiry-panel .wpcf7 input::placeholder,
.wellness-svc__enquiry-panel .wpcf7 textarea::placeholder,
.wellness-svc__enquiry-panel .wpcf7 .lightblue-bg::placeholder,
.wellness-svc__enquiry-panel .wpcf7 input::-webkit-input-placeholder,
.wellness-svc__enquiry-panel .wpcf7 textarea::-webkit-input-placeholder {
  color: #8a97a8 !important;
  -webkit-text-fill-color: #8a97a8 !important;
  opacity: 1 !important;
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
}

.wellness-svc__enquiry-panel .wpcf7 input::-moz-placeholder,
.wellness-svc__enquiry-panel .wpcf7 textarea::-moz-placeholder {
  color: #8a97a8 !important;
  opacity: 1 !important;
}

.wellness-svc__form textarea,
.wellness-svc__enquiry-panel .wpcf7 textarea {
  resize: vertical;
  min-height: 140px;
}

/* Hide number spinners on phone field */
.wellness-svc__enquiry-panel .wpcf7 input[type="number"]::-webkit-outer-spin-button,
.wellness-svc__enquiry-panel .wpcf7 input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.wellness-svc__enquiry-panel .wpcf7 input[type="number"] {
  -moz-appearance: textfield;
  appearance: textfield;
}

/* Only show invalid state after CF7 marks the field — never style empty :invalid */
.wellness-svc__enquiry-panel .wpcf7 input:invalid,
.wellness-svc__enquiry-panel .wpcf7 textarea:invalid,
.wellness-svc__enquiry-panel .wpcf7 select:invalid {
  border-color: var(--svc-border) !important;
  box-shadow: none !important;
}

.wellness-svc__enquiry-panel .wpcf7 .wpcf7-not-valid {
  border-color: #c0392b !important;
}

.wellness-svc__enquiry-panel .wpcf7-form-control-wrap {
  display: block;
  position: relative;
  overflow: visible;
}

.wellness-svc__enquiry-panel .wpcf7-not-valid-tip {
  position: static !important;
  display: block !important;
  float: none !important;
  clear: both;
  width: 100%;
  max-width: 100%;
  margin: 0.4rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  font-size: 0.8rem;
  line-height: 1.35;
  color: #c0392b;
  z-index: auto;
}

.wellness-svc__enquiry-panel .secpara,
.wellness-svc__enquiry-panel .secpara p {
  margin: 0.75rem 0 0.25rem !important;
  padding: 0 !important;
  position: relative;
  z-index: 0;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  font-weight: 400 !important;
  color: var(--svc-muted) !important;
  letter-spacing: normal !important;
}

.wellness-svc__enquiry-panel .wpcf7-submit,
.wellness-svc__enquiry-panel .round-anchor.submit-button-contact {
  min-height: 46px;
  margin-top: 0.35rem;
  padding: 0.72rem 1.35rem !important;
  border-radius: 999px !important;
  border: 1px solid var(--svc-cyan) !important;
  background: var(--svc-cyan) !important;
  background-image: none !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  cursor: pointer;
  width: auto !important;
  max-width: 100%;
}

.wellness-svc__enquiry-panel .wpcf7-submit:hover,
.wellness-svc__enquiry-panel .round-anchor.submit-button-contact:hover {
  background: rgb(23, 138, 168) !important;
  border-color: rgb(23, 138, 168) !important;
}

.wellness-svc__enquiry-panel .wpcf7-response-output {
  display: block !important;
  margin: 0.9rem 0 0 !important;
  padding: 0.85rem 1rem !important;
  border-radius: 0.75rem !important;
  border: 1px solid transparent !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  clear: both;
  position: relative;
  z-index: 2;
}

/* Hidden only while idle / submitting */
.wellness-svc__enquiry-panel .wpcf7-form.init .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-form.resetting .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-form.submitting .wpcf7-response-output {
  display: none !important;
}

/* Success */
.wellness-svc__enquiry-panel .wpcf7-form.sent .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-mail-sent-ok {
  display: block !important;
  background: #198754 !important;
  border-color: #198754 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Failed send / aborted / spam */
.wellness-svc__enquiry-panel .wpcf7-form.failed .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-form.aborted .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-form.spam .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-mail-sent-ng,
.wellness-svc__enquiry-panel .wpcf7-aborted,
.wellness-svc__enquiry-panel .wpcf7-spam {
  display: block !important;
  background: #f8d7da !important;
  border-color: #f1aeb5 !important;
  color: #842029 !important;
  -webkit-text-fill-color: #842029 !important;
}

/* Validation errors */
.wellness-svc__enquiry-panel .wpcf7-form.invalid .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-form.unaccepted .wpcf7-response-output,
.wellness-svc__enquiry-panel .wpcf7-validation-errors,
.wellness-svc__enquiry-panel .wpcf7-acceptance-missing {
  display: block !important;
  background: #fff3cd !important;
  border-color: #ffecb5 !important;
  color: #664d03 !important;
  -webkit-text-fill-color: #664d03 !important;
}

.wellness-svc__btn {
  min-height: 46px;
  padding: 0.72rem 1.35rem;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.92rem;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  border: none;
  cursor: pointer;
  transition: 0.2s ease;
}

.wellness-svc__btn--primary {
  background: var(--svc-cyan);
  background-image: none;
  border: 1px solid var(--svc-cyan);
  color: #fff;
}

.wellness-svc__btn--primary:hover {
  background: rgb(23, 138, 168);
  border-color: rgb(23, 138, 168);
  color: #fff;
}

.wellness-svc__btn--ghost {
  border: 1px solid var(--svc-border);
  color: var(--svc-ink);
  background: #fff;
}

.wellness-svc__btn--ghost:hover {
  border-color: rgba(27, 155, 187, 0.55);
  color: var(--svc-cyan);
}

/* Bottom CTA — wide white card, soft blue wash */
.wellness-svc__cta {
  background: #f7fafb;
  border-top: 1px solid var(--svc-border);
}

.wellness-svc__cta-card {
  width: 100%;
  max-width: none;
  margin: 0 auto;
  text-align: center;
  padding: 3rem 2rem;
  border-radius: 1.75rem;
  background:
    radial-gradient(ellipse 55% 85% at 6% -5%, rgba(106, 222, 251, 0.35), transparent 52%),
    #fff;
  border: 1px solid #e8eef2;
  box-shadow: none;
}

.wellness-svc__cta-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--svc-cyan-bright);
  margin-bottom: 1.25rem;
}

.wellness-svc__cta-card .wellness-svc__section-title {
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
}

.wellness-svc__cta-card > p {
  margin: 1rem auto 1.65rem;
  max-width: 36rem;
  color: var(--svc-muted);
  line-height: 1.7;
  font-size: 1.05rem;
}

.wellness-svc__cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  justify-content: center;
}

@media (min-width: 640px) {
  .wellness-svc__hero {
    min-height: 44vh;
  }

  .wellness-svc__offer-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: stretch;
  }

  .wellness-svc__specialist-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem;
  }

  .wellness-svc__specialist-photo {
    max-width: none;
  }

  .wellness-svc__form-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wellness-svc__enquiry-panel .generic--form__wrapper .custom-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wellness-svc__enquiry-panel .input-container.col_md_12 {
    grid-column: 1 / -1;
  }

  .wellness-svc__enquiry-panel,
  .wellness-svc__talk-card {
    padding: 2rem;
  }

  .wellness-svc__talk-card {
    border-radius: 2rem;
    padding: 2.5rem;
  }
}

@media (min-width: 992px) {
  .wellness-svc__hero {
    min-height: 52vh;
  }

  .wellness-svc__hero-inner {
    padding: 5rem 0 4.5rem;
  }

  .wellness-svc__intro,
  .wellness-svc__why,
  .wellness-svc__offer,
  .wellness-svc__impact,
  .wellness-svc__specialists,
  .wellness-svc__talk,
  .wellness-svc__enquiry,
  .wellness-svc__cta {
    padding: 4.5rem 0;
  }

  .wellness-svc__why-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.5rem;
  }

  .wellness-svc__impact-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 3.5rem;
  }

  .wellness-svc__talk-card {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .wellness-svc__talk-copy {
    max-width: 40rem;
  }

  .wellness-svc__enquiry-grid {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    gap: 3rem;
    align-items: start;
  }

  .wellness-svc__enquiry-panel {
    padding: 2.25rem;
  }

  .wellness-svc__cta-card {
    padding: 3.75rem 3rem;
    border-radius: 2rem;
  }
}
