@charset "UTF-8";

/**
 * Renace Child Theme
 * Main production stylesheet.
 *
 * Project: Renace Salud Holística
 * Parent theme: GeneratePress
 * Official brand colors: #2475B5 and #56ABDE
 * Revision: Hero system v3 through FAQ — balanced actions, trust items and media labels.
 */

/* =========================================================
   01. Design Tokens / Variables
========================================================= */

:root {
  /* Brand colors */
  --renace-color-primary: #56abde;
  --renace-color-primary-hover: #3d9bd0;
  --renace-color-primary-soft: #eaf5fb;
  --renace-color-primary-softest: #f5fbfe;
  --renace-color-brand-dark: #2475b5;
  --renace-color-brand-dark-hover: #1d6398;

  /* Neutrals */
  --renace-color-deep-blue: #173447;
  --renace-color-text: #1f3039;
  --renace-color-text-muted: #5e707a;
  --renace-color-white: #ffffff;
  --renace-color-warm-white: #fafcfb;
  --renace-color-surface: #ffffff;
  --renace-color-surface-alt: #f4efe7;
  --renace-color-border: #d7e5eb;
  --renace-color-border-strong: #b9cfd8;

  /* Supporting colors */
  --renace-color-sage: #9ebba5;
  --renace-color-sage-soft: #edf4ef;
  --renace-color-success: #347a5c;
  --renace-color-success-soft: #eaf5ef;
  --renace-color-warning: #a66423;
  --renace-color-warning-soft: #fff4e8;
  --renace-color-error: #b64343;
  --renace-color-error-soft: #fff0f0;

  /* Typography */
  --renace-font-heading:
    "Manrope", "Avenir Next", "Avenir", "Segoe UI", sans-serif;

  --renace-font-body:
    "Source Sans 3", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --renace-font-mono:
    "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

  --renace-font-size-xs: 0.75rem;
  --renace-font-size-sm: 0.875rem;
  --renace-font-size-base: 1rem;
  --renace-font-size-md: 1.125rem;
  --renace-font-size-lg: 1.25rem;
  --renace-font-size-xl: 1.375rem;

  /* Responsive heading scale */
  --renace-font-size-display: clamp(2.875rem, 4.65vw, 4.5rem);

  --renace-font-size-hero-internal: clamp(2.625rem, 3.7vw, 4rem);

  --renace-font-size-h1: clamp(2.4rem, 4vw, 3.75rem);

  --renace-font-size-h2: clamp(1.9rem, 3.25vw, 2.9rem);

  --renace-font-size-h3: clamp(1.3rem, 2.15vw, 1.7rem);

  --renace-font-size-h4: clamp(1.1rem, 1.5vw, 1.3rem);

  --renace-font-size-lead: clamp(1.0625rem, 1.35vw, 1.25rem);

  --renace-line-height-tight: 1.1;
  --renace-line-height-heading: 1.18;
  --renace-line-height-body: 1.65;

  /* Spacing */
  --renace-space-1: 0.5rem;
  --renace-space-2: 0.75rem;
  --renace-space-3: 1rem;
  --renace-space-4: 1.5rem;
  --renace-space-5: 2rem;
  --renace-space-6: 2.5rem;
  --renace-space-7: 3rem;
  --renace-space-8: 4rem;
  --renace-space-9: 5rem;
  --renace-space-10: 6rem;
  --renace-space-11: 8rem;

  /* Layout */
  --renace-container-width: 77.5rem;
  --renace-container-wide-width: 90rem;
  --renace-content-width: 45rem;
  --renace-gutter: 1.25rem;

  /* Hero density */
  --renace-hero-gap: clamp(2.5rem, 4.5vw, 4.5rem);

  --renace-hero-padding-block: clamp(3rem, 5.5vw, 4.75rem);

  --renace-internal-hero-padding-start: clamp(2rem, 3vw, 2.75rem);

  --renace-internal-hero-padding-end: clamp(3rem, 4.5vw, 4.25rem);

  --renace-hero-title-space: clamp(1.15rem, 1.6vw, 1.5rem);
  --renace-hero-copy-space: clamp(1.25rem, 1.8vw, 1.625rem);
  --renace-hero-actions-space: clamp(1.25rem, 1.7vw, 1.5rem);
  --renace-hero-trust-space: clamp(1.75rem, 2.25vw, 2.125rem);
  --renace-hero-media-label-space: clamp(3.25rem, 4vw, 3.75rem);
  --renace-hero-media-caption-space: clamp(1rem, 1.5vw, 1.25rem);
  --renace-hero-media-width: 28rem;
  --renace-internal-hero-art-size: 25rem;

  /* Borders and radii */
  --renace-border-width: 1px;
  --renace-radius-xs: 0.375rem;
  --renace-radius-sm: 0.625rem;
  --renace-radius-md: 1rem;
  --renace-radius-lg: 1.5rem;
  --renace-radius-xl: 2rem;
  --renace-radius-round: 999px;

  /* Shadows */
  --renace-shadow-sm: 0 0.375rem 1.25rem rgba(23, 52, 71, 0.07);

  --renace-shadow-md: 0 1rem 2.75rem rgba(23, 52, 71, 0.1);

  --renace-shadow-focus: 0 0 0 0.25rem rgba(86, 171, 222, 0.28);

  /* Motion */
  --renace-duration-fast: 150ms;
  --renace-duration-standard: 220ms;
  --renace-duration-slow: 320ms;
  --renace-duration-ambient: 12s;

  --renace-ease-standard: cubic-bezier(0.2, 0.7, 0.2, 1);

  --renace-ease-emphasized: cubic-bezier(0.16, 1, 0.3, 1);

  /* Focus */
  --renace-focus-color: #173447;
  --renace-focus-offset: 0.1875rem;

  /* Layers */
  --renace-z-base: 1;
  --renace-z-header: 100;
  --renace-z-overlay: 200;
  --renace-z-menu: 210;
  --renace-z-modal: 300;
}
/* =========================================================
   02. Reset and Base
========================================================= */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-padding-top: 6rem;
}

body {
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  background: var(--renace-color-warm-white);
  color: var(--renace-color-text);
  font-family: var(--renace-font-body);
  font-size: var(--renace-font-size-base);
  font-weight: 400;
  line-height: var(--renace-line-height-body);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.renace-scroll-locked {
  overflow: hidden;
}

main {
  display: block;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
  margin-top: 0;
}

ul,
ol {
  margin-top: 0;
}

img,
picture,
video,
canvas {
  display: block;
  max-width: 100%;
}

img {
  height: auto;
}

svg {
  display: block;
  max-width: 100%;
}

iframe {
  display: block;
  max-width: 100%;
  border: 0;
}

button,
input,
select,
textarea {
  margin: 0;
  font: inherit;
}

button,
select {
  text-transform: none;
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
}

textarea {
  resize: vertical;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

address {
  font-style: normal;
}

hr {
  height: 1px;
  margin: var(--renace-space-7) 0;
  border: 0;
  background: var(--renace-color-border);
}

[hidden] {
  display: none !important;
}

::selection {
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
}
/* =========================================================
   03. Typography
========================================================= */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-weight: 700;
  line-height: var(--renace-line-height-heading);
  letter-spacing: -0.025em;
  text-wrap: balance;
}

h1 {
  font-size: var(--renace-font-size-h1);
  line-height: 1.06;
  letter-spacing: -0.042em;
}

h2 {
  font-size: var(--renace-font-size-h2);
  line-height: 1.12;
  letter-spacing: -0.034em;
}

h3 {
  font-size: var(--renace-font-size-h3);
}

h4 {
  font-size: var(--renace-font-size-h4);
}

h5,
h6 {
  font-size: 1rem;
}

p {
  margin-bottom: var(--renace-space-4);
}

p:last-child {
  margin-bottom: 0;
}

strong,
b {
  font-weight: 700;
}

small {
  font-size: var(--renace-font-size-sm);
}

blockquote {
  margin-right: 0;
  margin-bottom: var(--renace-space-5);
  margin-left: 0;
  padding-left: var(--renace-space-4);
  border-left: 0.25rem solid var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-lg);
  line-height: 1.55;
}

.renace-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--renace-space-2);
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.renace-eyebrow::before {
  width: 1.75rem;
  height: 0.125rem;
  border-radius: var(--renace-radius-round);
  background: var(--renace-color-primary);
  content: "";
}

.renace-lead {
  max-width: var(--renace-content-width);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-lead);
  line-height: 1.6;
}

.renace-small {
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.renace-text-muted {
  color: var(--renace-color-text-muted);
}

.renace-prose {
  max-width: var(--renace-content-width);
}

.renace-prose > * + * {
  margin-top: var(--renace-space-4);
}

.renace-prose > h2,
.renace-prose > h3,
.renace-prose > h4 {
  margin-top: var(--renace-space-7);
}

.renace-prose ul,
.renace-prose ol {
  padding-left: 1.375rem;
}

.renace-prose li + li {
  margin-top: var(--renace-space-2);
}
/* =========================================================
   04. Layout and Containers
========================================================= */

.renace-site {
  position: relative;
  min-height: 100vh;
  overflow: clip;
}

.renace-main {
  position: relative;
  z-index: var(--renace-z-base);
}

.renace-container,
.renace-container--wide,
.renace-container--narrow {
  width: min(
    100% - calc(var(--renace-gutter) * 2),
    var(--renace-container-width)
  );
  margin-right: auto;
  margin-left: auto;
}

.renace-container--wide {
  max-width: var(--renace-container-wide-width);
}

.renace-container--narrow {
  max-width: var(--renace-content-width);
}

.renace-section {
  position: relative;
  padding-block: clamp(3.5rem, 8vw, 8rem);
}

.renace-section--compact {
  padding-block: clamp(2.75rem, 6vw, 5rem);
}

.renace-section--flush {
  padding-block: 0;
}

.renace-section--white {
  background: var(--renace-color-white);
}

.renace-section--mist {
  background: var(--renace-color-primary-soft);
}

.renace-section--sand {
  background: var(--renace-color-surface-alt);
}

.renace-section--dark {
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
}

.renace-section--dark h1,
.renace-section--dark h2,
.renace-section--dark h3,
.renace-section--dark h4,
.renace-section--dark h5,
.renace-section--dark h6 {
  color: var(--renace-color-white);
}

.renace-grid {
  display: grid;
  gap: var(--renace-space-5);
}

.renace-grid--two,
.renace-grid--three {
  grid-template-columns: minmax(0, 1fr);
}

.renace-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.renace-stack {
  display: flex;
  flex-direction: column;
  gap: var(--renace-stack-gap, var(--renace-space-4));
}

.renace-cluster {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-cluster-gap, var(--renace-space-3));
}

.renace-flow > * + * {
  margin-top: var(--renace-flow-space, var(--renace-space-4));
}

.renace-surface {
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-surface);
}

@media (min-width: 48rem) {
  :root {
    --renace-gutter: 2rem;
  }

  .renace-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .renace-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  :root {
    --renace-gutter: 2.5rem;
  }

  .renace-grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .renace-split {
    grid-template-columns:
      minmax(0, var(--renace-split-text, 1fr))
      minmax(0, var(--renace-split-media, 1fr));
  }

  .renace-split--media-first > :first-child {
    order: 2;
  }

  .renace-split--media-first > :last-child {
    order: 1;
  }
}
/* =========================================================
   05. Accessibility and Utilities
========================================================= */

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

.screen-reader-text:focus,
.renace-visually-hidden:focus {
  top: var(--renace-space-3);
  left: var(--renace-space-3);
  z-index: var(--renace-z-modal);
  width: auto !important;
  height: auto !important;
  padding: var(--renace-space-2) var(--renace-space-3) !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important;
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
}

.renace-skip-link {
  position: fixed;
  top: var(--renace-space-3);
  left: var(--renace-space-3);
  z-index: var(--renace-z-modal);
  padding: var(--renace-space-2) var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
  font-weight: 700;
  text-decoration: none;
  transform: translateY(calc(-100% - 2rem));
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-skip-link:focus {
  transform: translateY(0);
}

:where(
  a,
  button,
  input,
  select,
  textarea,
  [tabindex]:not([tabindex="-1"])
):focus-visible {
  outline: 0.1875rem solid var(--renace-focus-color);
  outline-offset: var(--renace-focus-offset);
}

.renace-text-center {
  text-align: center;
}

.renace-text-left {
  text-align: left;
}

.renace-text-balance {
  text-wrap: balance;
}

.renace-text-pretty {
  text-wrap: pretty;
}

.renace-full-width {
  width: 100%;
}

.renace-no-margin {
  margin: 0 !important;
}

.renace-mobile-only {
  display: block;
}

.renace-desktop-only {
  display: none;
}

@media (min-width: 64rem) {
  .renace-mobile-only {
    display: none;
  }

  .renace-desktop-only {
    display: block;
  }
}
/* =========================================================
   06. Motion System and Microinteractions
========================================================= */

@media (prefers-reduced-motion: no-preference) {
  html:focus-within {
    scroll-behavior: smooth;
  }

  .js .renace-reveal {
    opacity: 0;
    transform: translate3d(
      var(--renace-reveal-x, 0),
      var(--renace-reveal-y, 1.5rem),
      0
    );
    transition:
      opacity var(--renace-duration-slow) var(--renace-ease-standard),
      transform var(--renace-duration-slow) var(--renace-ease-emphasized);
    transition-delay: var(--renace-reveal-delay, 0ms);
  }

  .js .renace-reveal.is-visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  .js .renace-reveal--left {
    --renace-reveal-x: -1.5rem;
    --renace-reveal-y: 0;
  }

  .js .renace-reveal--right {
    --renace-reveal-x: 1.5rem;
    --renace-reveal-y: 0;
  }

  .js .renace-reveal--scale {
    transform: scale(0.975);
  }

  .js .renace-reveal--scale.is-visible {
    transform: scale(1);
  }

  .renace-motion-float {
    animation: renace-ambient-float var(--renace-motion-duration, 12s)
      ease-in-out infinite;
    will-change: transform;
  }

  .renace-motion-breathe {
    animation: renace-ambient-breathe var(--renace-motion-duration, 10s)
      ease-in-out infinite;
    will-change: transform, opacity;
  }

  .renace-motion-path {
    animation: renace-path-drift var(--renace-motion-duration, 16s) linear
      infinite;
    will-change: transform;
  }
}

@keyframes renace-ambient-float {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }

  50% {
    transform: translate3d(0, -0.625rem, 0);
  }
}

@keyframes renace-ambient-breathe {
  0%,
  100% {
    opacity: 0.72;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.035);
  }
}

@keyframes renace-path-drift {
  0% {
    transform: translate3d(-1%, 0, 0);
  }

  50% {
    transform: translate3d(1%, 0.375rem, 0);
  }

  100% {
    transform: translate3d(-1%, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .renace-reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
/* =========================================================
   07. Links and Buttons
========================================================= */

a {
  color: var(--renace-color-deep-blue);
  text-decoration-color: rgba(23, 52, 71, 0.42);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
  transition:
    color var(--renace-duration-fast) var(--renace-ease-standard),
    text-decoration-color var(--renace-duration-fast)
      var(--renace-ease-standard);
}

a:hover {
  color: var(--renace-color-primary-hover);
  text-decoration-color: currentColor;
}

.renace-button-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
}

.renace-button {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: var(--renace-space-2);
  padding: 0.875rem 1.375rem;
  border: var(--renace-border-width) solid transparent;
  border-radius: var(--renace-radius-md);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-button:hover {
  text-decoration: none;
  transform: translateY(-0.125rem);
}

.renace-button:active {
  transform: translateY(0);
}

.renace-button:focus-visible {
  box-shadow: var(--renace-shadow-focus);
}

.renace-button--primary {
  border-color: var(--renace-color-primary);
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-sm);
}

.renace-button--primary:hover {
  border-color: var(--renace-color-primary-hover);
  background: var(--renace-color-primary-hover);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
}

.renace-button--secondary {
  border-color: var(--renace-color-deep-blue);
  background: transparent;
  color: var(--renace-color-deep-blue);
}

.renace-button--secondary:hover {
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
}

.renace-button--dark {
  border-color: var(--renace-color-deep-blue);
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
}

.renace-button--dark:hover {
  border-color: #0e2736;
  background: #0e2736;
  color: var(--renace-color-white);
  box-shadow: var(--renace-shadow-md);
}

.renace-button--light {
  border-color: var(--renace-color-white);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
}

.renace-button--light:hover {
  border-color: var(--renace-color-primary-soft);
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
}

.renace-button--text {
  min-height: auto;
  justify-content: flex-start;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--renace-color-deep-blue);
  box-shadow: none;
}

.renace-button--text:hover {
  color: var(--renace-color-primary-hover);
  transform: none;
}

.renace-button__icon {
  flex: 0 0 auto;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-button:hover .renace-button__icon {
  transform: translateX(0.25rem);
}

.renace-button[aria-disabled="true"],
.renace-button:disabled,
.renace-button.is-disabled {
  pointer-events: none;
  opacity: 0.55;
  transform: none;
}

.renace-inline-link {
  display: inline-flex;
  align-items: center;
  gap: var(--renace-space-1);
  font-family: var(--renace-font-heading);
  font-weight: 700;
  text-decoration: none;
}

.renace-inline-link::after {
  content: "→";
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-inline-link:hover::after {
  transform: translateX(0.25rem);
}

.renace-holistic-popover .renace-inline-link:has(.fa-arrow-right)::after {
  display: none;
}

@media (max-width: 35.999rem) {
  .renace-button-group {
    align-items: stretch;
  }

  .renace-button-group .renace-button:not(.renace-button--text) {
    width: 100%;
  }
}
/* =========================================================
   08. Forms
========================================================= */

.renace-form {
  display: grid;
  gap: var(--renace-space-4);
}

.renace-form__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.renace-field {
  display: grid;
  gap: var(--renace-space-2);
}

.renace-field__label {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.35;
}

.renace-field__required {
  color: var(--renace-color-error);
}

.renace-field__help,
.renace-field__error {
  margin: 0;
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.renace-field__help {
  color: var(--renace-color-text-muted);
}

.renace-field__error {
  color: var(--renace-color-error);
  font-weight: 600;
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ) {
  width: 100%;
  min-height: 3.25rem;
  padding: 0.8125rem 1rem;
  border: var(--renace-border-width) solid var(--renace-color-border-strong);
  border-radius: var(--renace-radius-sm);
  outline: none;
  background: var(--renace-color-white);
  color: var(--renace-color-text);
  font-size: var(--renace-font-size-base);
  line-height: 1.4;
  transition:
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    box-shadow var(--renace-duration-fast) var(--renace-ease-standard),
    background-color var(--renace-duration-fast) var(--renace-ease-standard);
}

.renace-form textarea {
  min-height: 9rem;
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  )::placeholder {
  color: #7b8b93;
  opacity: 1;
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):hover {
  border-color: #94b4c1;
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):focus {
  border-color: var(--renace-color-primary);
  box-shadow: var(--renace-shadow-focus);
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  )[aria-invalid="true"],
.renace-field.is-error :where(input, select, textarea) {
  border-color: var(--renace-color-error);
  background: var(--renace-color-error-soft);
}

.renace-form
  :where(
    input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
    select,
    textarea
  ):disabled {
  border-color: var(--renace-color-border);
  background: #eef3f5;
  color: var(--renace-color-text-muted);
  opacity: 1;
}

.renace-choice {
  display: flex;
  align-items: flex-start;
  gap: var(--renace-space-2);
}

.renace-choice input[type="checkbox"],
.renace-choice input[type="radio"] {
  width: 1.125rem;
  height: 1.125rem;
  flex: 0 0 auto;
  margin-top: 0.2rem;
  accent-color: var(--renace-color-deep-blue);
}

.renace-choice label {
  color: var(--renace-color-text);
  line-height: 1.5;
}

.renace-form-message {
  padding: var(--renace-space-3) var(--renace-space-4);
  border: var(--renace-border-width) solid transparent;
  border-radius: var(--renace-radius-sm);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.renace-form-message--success {
  border-color: rgba(52, 122, 92, 0.28);
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
}

.renace-form-message--warning {
  border-color: rgba(166, 100, 35, 0.28);
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.renace-form-message--error {
  border-color: rgba(182, 67, 67, 0.28);
  background: var(--renace-color-error-soft);
  color: var(--renace-color-error);
}

.renace-form__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
}

@media (min-width: 48rem) {
  .renace-form__grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .renace-form__grid--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* =========================================================
   09. Asset Placeholders
========================================================= */

.renace-media {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: var(--renace-radius-lg);
  aspect-ratio: var(--renace-media-ratio, 16 / 9);
  background: var(--renace-color-primary-soft);
}

.renace-media--has-image {
  background: var(--renace-color-border);
}

.renace-media__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.renace-media__placeholder {
  position: relative;
  display: grid;
  width: 100%;
  height: 100%;
  min-height: 14rem;
  place-items: center;
  overflow: hidden;
  border: 0.125rem dashed rgba(23, 52, 71, 0.22);
  border-radius: inherit;
  background:
    radial-gradient(
      circle at 18% 18%,
      rgba(86, 171, 222, 0.22),
      transparent 36%
    ),
    radial-gradient(
      circle at 85% 82%,
      rgba(158, 187, 165, 0.22),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      var(--renace-color-primary-softest),
      var(--renace-color-primary-soft)
    );
}

.renace-media__placeholder::before,
.renace-media__placeholder::after {
  position: absolute;
  border: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.renace-media__placeholder::before {
  top: -12%;
  right: -8%;
  width: 42%;
  aspect-ratio: 1;
}

.renace-media__placeholder::after {
  bottom: -18%;
  left: -10%;
  width: 52%;
  aspect-ratio: 1;
}

.renace-media__placeholder-content {
  position: relative;
  z-index: 1;
  display: flex;
  width: min(100% - 2rem, 34rem);
  flex-direction: column;
  align-items: center;
  gap: var(--renace-space-3);
  padding: var(--renace-space-5);
  text-align: center;
}

.renace-media__placeholder-badges {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--renace-space-1);
}

.renace-media__placeholder-badge {
  display: inline-flex;
  min-height: 1.75rem;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.625rem;
  border: var(--renace-border-width) solid rgba(23, 52, 71, 0.16);
  border-radius: var(--renace-radius-round);
  background: rgba(255, 255, 255, 0.74);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(0.375rem);
}

.renace-media__placeholder-path {
  display: block;
  max-width: 100%;
  padding: 0.625rem 0.75rem;
  overflow-wrap: anywhere;
  border-radius: var(--renace-radius-xs);
  background: rgba(23, 52, 71, 0.08);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-mono);
  font-size: clamp(0.6875rem, 2vw, 0.8125rem);
  line-height: 1.5;
}

.renace-media__placeholder-description {
  max-width: 30rem;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

@media (max-width: 35.999rem) {
  .renace-media__placeholder {
    min-height: 12rem;
  }

  .renace-media__placeholder-content {
    gap: var(--renace-space-2);
    padding: var(--renace-space-4);
  }
}
/* =========================================================
   10. Utility Topbar and Header
========================================================= */

.renace-header {
  position: sticky;
  top: 0;
  z-index: var(--renace-z-header);
  width: 100%;
  border-bottom: var(--renace-border-width) solid transparent;
  background: rgba(250, 252, 251, 0.96);
  box-shadow: none;
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    background-color var(--renace-duration-standard) var(--renace-ease-standard);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
}

.renace-header.is-scrolled {
  border-bottom-color: rgba(23, 52, 71, 0.1);
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 0.75rem 2.5rem rgba(23, 52, 71, 0.08);
}

body.admin-bar .renace-header {
  top: 46px;
}

.renace-topbar {
  display: none;
}

.renace-header-main {
  position: relative;
}

.renace-header-main__container {
  position: relative;
}

.renace-header-main__inner {
  display: flex;
  min-height: 4.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-3);
  transition: min-height var(--renace-duration-standard)
    var(--renace-ease-standard);
}

.renace-header.is-scrolled .renace-header-main__inner {
  min-height: 4.25rem;
}

.renace-header__brand {
  position: relative;
  z-index: 1;
  display: inline-flex;
  min-width: 0;
  flex: 0 0 auto;
  align-items: center;
  text-decoration: none;
}

.renace-header__brand:hover {
  text-decoration: none;
}

.renace-header__logo-media {
  width: clamp(8rem, 31vw, 10rem);
  height: 3.25rem;
  overflow: visible;
  border-radius: 0;
  aspect-ratio: auto;
  background: transparent;
}

.renace-header__logo-media .renace-media__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

.renace-header__logo-media .renace-media__placeholder {
  min-height: 3.25rem;
  border-width: var(--renace-border-width);
  border-radius: var(--renace-radius-sm);
}

.renace-header__logo-media .renace-media__placeholder-content {
  width: 100%;
  gap: 0.2rem;
  padding: 0.3rem;
}

.renace-header__logo-media .renace-media__placeholder-badges {
  gap: 0.18rem;
}

.renace-header__logo-media .renace-media__placeholder-badge {
  min-height: 1.05rem;
  padding: 0.12rem 0.25rem;
  font-size: 0.45rem;
}

.renace-header__logo-media .renace-media__placeholder-path {
  max-width: 100%;
  padding: 0.12rem 0.2rem;
  font-size: 0.46rem;
  line-height: 1.1;
}

.renace-header__logo-media .renace-media__placeholder-description {
  display: none;
}

.renace-header-mobile-actions {
  display: flex;
  align-items: center;
  gap: var(--renace-space-2);
}

.renace-header-mobile-action,
.renace-menu-toggle {
  display: inline-flex;
  min-width: 3rem;
  min-height: 3rem;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.625rem 0.75rem;
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 0.25rem 1rem rgba(23, 52, 71, 0.04);
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-header-mobile-action:hover,
.renace-menu-toggle:hover {
  border-color: var(--renace-color-primary);
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  transform: translateY(-0.0625rem);
}

.renace-header-mobile-action i,
.renace-menu-toggle i {
  font-size: 1rem;
}

.renace-header__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--renace-space-3);
}

.renace-header__appointment {
  flex: 0 0 auto;
  white-space: nowrap;
}

@media (max-width: 24.999rem) {
  .renace-header-mobile-action span,
  .renace-menu-toggle span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  .renace-header-mobile-action,
  .renace-menu-toggle {
    width: 3rem;
    padding-inline: 0;
  }
}

@media (min-width: 48.9375rem) {
  body.admin-bar .renace-header {
    top: 32px;
  }
}

@media (min-width: 64rem) {
  .renace-topbar {
    display: block;
    max-height: 2.5rem;
    overflow: hidden;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: var(--renace-color-deep-blue);
    color: rgba(255, 255, 255, 0.78);
    opacity: 1;
    transform: translateY(0);
    transition:
      max-height var(--renace-duration-standard) var(--renace-ease-standard),
      opacity var(--renace-duration-fast) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-header.is-scrolled .renace-topbar {
    max-height: 0;
    opacity: 0;
    transform: translateY(-0.5rem);
  }

  .renace-topbar__container {
    display: flex;
    min-height: 2.5rem;
    align-items: center;
    justify-content: space-between;
    gap: var(--renace-space-4);
  }

  .renace-topbar__group {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: clamp(1rem, 2vw, 1.75rem);
  }

  .renace-topbar__link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: rgba(255, 255, 255, 0.74);
    font-size: var(--renace-font-size-sm);
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color var(--renace-duration-fast) var(--renace-ease-standard);
  }

  .renace-topbar__link:hover {
    color: var(--renace-color-white);
    text-decoration: none;
  }

  .renace-topbar__icon {
    width: 1rem;
    color: var(--renace-color-primary);
    text-align: center;
  }

  .renace-topbar__language {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 0.5rem;
    color: rgba(255, 255, 255, 0.8);
    font-family: var(--renace-font-heading);
    font-size: var(--renace-font-size-sm);
    font-weight: 700;
  }

  .renace-topbar__language :where(ul, ol) {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .renace-topbar__language a {
    display: inline-flex;
    min-height: 1.75rem;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.45rem;
    border-radius: var(--renace-radius-xs);
    color: rgba(255, 255, 255, 0.82);
    text-decoration: none;
  }

  .renace-topbar__language a:hover,
  .renace-topbar__language .current-language-item > a,
  .renace-topbar__language
    .trp-language-switcher-container.current-language-menu-item
    > a {
    background: rgba(255, 255, 255, 0.1);
    color: var(--renace-color-white);
  }

  .renace-header-main__inner {
    min-height: 5.5rem;
    gap: clamp(1.5rem, 3vw, 3rem);
  }

  .renace-header.is-scrolled .renace-header-main__inner {
    min-height: 4.75rem;
  }

  .renace-header__logo-media {
    width: 10.75rem;
    height: 3.875rem;
  }

  .renace-header-mobile-actions {
    display: none;
  }
}
/* =========================================================
   11. Desktop Navigation and Holistic Dropdown
========================================================= */

.renace-primary-nav__list,
.renace-primary-nav__list .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.renace-primary-nav__list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.renace-primary-nav__list > li {
  position: relative;
  margin: 0;
}

.renace-primary-nav a {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
}

.renace-primary-nav a:hover {
  color: var(--renace-color-primary-hover);
  text-decoration: none;
}

.renace-primary-nav__list > li > a {
  display: flex;
  min-height: 3.25rem;
  align-items: center;
  padding: 0.75rem 0;
}

.renace-primary-nav .current-menu-item > a,
.renace-primary-nav .current-menu-ancestor > a,
.renace-primary-nav .current_page_item > a,
.renace-primary-nav .current_page_ancestor > a {
  color: var(--renace-color-primary-hover);
}

.renace-primary-nav .menu-item-has-children {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.renace-primary-nav .menu-item-has-children > a {
  min-width: 0;
}

.renace-submenu-toggle {
  position: relative;
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: var(--renace-radius-sm);
  background: transparent;
  color: var(--renace-color-deep-blue);
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-submenu-toggle:hover {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-primary-hover);
}

.renace-submenu-toggle i {
  font-size: 0.75rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.menu-item-has-children.is-submenu-open > .renace-submenu-toggle i,
.renace-submenu-toggle[aria-expanded="true"] i {
  transform: rotate(180deg);
}

.renace-primary-nav .sub-menu {
  grid-column: 1 / -1;
  width: 100%;
}

.renace-primary-nav .sub-menu a {
  display: flex;
  min-height: 2.875rem;
  align-items: center;
  padding: 0.75rem 1rem;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-text);
  font-size: var(--renace-font-size-sm);
}

.renace-primary-nav .sub-menu a:hover,
.renace-primary-nav .sub-menu .current-menu-item > a,
.renace-primary-nav .sub-menu .current_page_item > a {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
}

.renace-primary-nav__notice {
  margin: 0;
  padding: var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
  font-size: var(--renace-font-size-sm);
}

.renace-language-switcher {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
}

.renace-language-switcher :where(ul, ol) {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.renace-language-switcher a {
  display: inline-flex;
  min-width: 2.5rem;
  min-height: 2.5rem;
  align-items: center;
  justify-content: center;
  padding: 0.375rem 0.5rem;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
}

.renace-language-switcher a:hover,
.renace-language-switcher .current-language-item > a,
.renace-language-switcher
  .trp-language-switcher-container.current-language-menu-item
  > a {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-primary-hover);
}

.renace-holistic-popover {
  display: none;
}

@media (min-width: 64rem) {
  .renace-navigation-panel {
    position: static;
    display: flex;
    min-width: 0;
    height: auto;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1.25rem, 2vw, 2.25rem);
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    visibility: visible;
    transform: none;
    transition: none;
  }

  .renace-navigation-panel__header,
  .renace-navigation-panel__mobile-contact {
    display: none;
  }

  .renace-primary-nav {
    min-width: 0;
    margin: 0;
  }

  .renace-primary-nav__list {
    flex-direction: row;
    align-items: center;
    gap: clamp(0.75rem, 1.25vw, 1.5rem);
  }

  .renace-primary-nav__list > li {
    display: flex;
    align-items: center;
  }

  .renace-primary-nav__list > li > a {
    position: relative;
    min-height: 3.25rem;
    padding: 0.75rem 0;
    white-space: nowrap;
  }

  .renace-primary-nav__list > li > a::after {
    position: absolute;
    right: 0;
    bottom: 0.125rem;
    left: 0;
    height: 0.125rem;
    border-radius: var(--renace-radius-round);
    background: var(--renace-color-primary);
    content: "";
    opacity: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition:
      opacity var(--renace-duration-standard) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-primary-nav__list > li:hover > a::after,
  .renace-primary-nav__list > li:focus-within > a::after,
  .renace-primary-nav__list > .current-menu-item > a::after,
  .renace-primary-nav__list > .current-menu-ancestor > a::after,
  .renace-primary-nav__list > .current_page_item > a::after,
  .renace-primary-nav__list > .current_page_ancestor > a::after,
  .renace-primary-nav__list > .is-submenu-open > a::after {
    opacity: 1;
    transform: scaleX(1);
  }

  .renace-primary-nav .menu-item-has-children {
    display: flex;
    align-items: center;
  }

  .renace-primary-nav .menu-item-has-children > a {
    padding-right: 0.2rem;
  }

  .renace-submenu-toggle {
    width: 2rem;
    height: 2rem;
    margin-left: -0.15rem;
  }

  .renace-primary-nav .sub-menu {
    position: absolute;
    top: calc(100% + 0.75rem);
    left: 50%;
    z-index: var(--renace-z-menu);
    display: grid;
    width: 18rem;
    gap: 0.25rem;
    padding: 0.625rem;
    border: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
    border-radius: var(--renace-radius-md);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--renace-shadow-md);
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-50%, 0.75rem, 0);
    transition:
      opacity var(--renace-duration-standard) var(--renace-ease-standard),
      visibility var(--renace-duration-standard) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-primary-nav .sub-menu::before {
    position: absolute;
    top: -0.75rem;
    right: 0;
    left: 0;
    height: 0.75rem;
    content: "";
  }

  .renace-primary-nav
    .menu-item-has-children:not(.renace-menu-item--holistic):hover
    > .sub-menu,
  .renace-primary-nav
    .menu-item-has-children:not(.renace-menu-item--holistic):focus-within
    > .sub-menu,
  .renace-primary-nav
    .menu-item-has-children:not(.renace-menu-item--holistic).is-submenu-open
    > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0);
  }

  .renace-primary-nav .renace-menu-item--holistic > .sub-menu {
    display: none !important;
  }

  .renace-header__actions {
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    gap: var(--renace-space-3);
    margin: 0;
    padding: 0;
  }

  .renace-header__actions .renace-language-switcher {
    display: none;
  }

  .renace-holistic-popover {
    position: absolute;
    top: calc(100% + 0.75rem);
    left: var(--renace-popover-left, 50%);
    z-index: var(--renace-z-menu);
    display: grid;
    width: min(46rem, calc(100vw - (var(--renace-gutter) * 2)));
    grid-template-columns: minmax(15rem, 0.85fr) minmax(20rem, 1.15fr);
    gap: var(--renace-space-5);
    padding: var(--renace-space-5);
    border: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
    border-radius: var(--renace-radius-lg);
    background: rgba(255, 255, 255, 0.985);
    box-shadow: 0 1.5rem 4.5rem rgba(23, 52, 71, 0.16);
    opacity: 0;
    visibility: hidden;
    transform: translate3d(-50%, 0.875rem, 0) scale(0.985);
    transform-origin: top center;
    transition:
      opacity var(--renace-duration-standard) var(--renace-ease-standard),
      visibility var(--renace-duration-standard) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-holistic-popover::before {
    position: absolute;
    top: -0.875rem;
    left: 0;
    width: 100%;
    height: 0.875rem;
    content: "";
  }

  .renace-holistic-popover.is-open {
    opacity: 1;
    visibility: visible;
    transform: translate3d(-50%, 0, 0) scale(1);
  }

  .renace-holistic-popover__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--renace-space-4);
    border-radius: var(--renace-radius-md);
    background:
      radial-gradient(
        circle at 100% 0%,
        rgba(86, 171, 222, 0.2),
        transparent 45%
      ),
      var(--renace-color-primary-softest);
  }

  .renace-holistic-popover__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: var(--renace-space-3);
    color: var(--renace-color-primary-hover);
    font-family: var(--renace-font-heading);
    font-size: var(--renace-font-size-xs);
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .renace-holistic-popover__title {
    margin-bottom: var(--renace-space-3);
    font-size: clamp(1.5rem, 2.2vw, 2rem);
    letter-spacing: -0.03em;
  }

  .renace-holistic-popover__description {
    margin-bottom: var(--renace-space-4);
    color: var(--renace-color-text-muted);
    line-height: 1.55;
  }

  .renace-holistic-popover__links {
    display: grid;
    gap: 0.5rem;
  }

  .renace-holistic-popover__link {
    display: grid;
    grid-template-columns: 2.75rem minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--renace-space-3);
    padding: 1rem;
    border: var(--renace-border-width) solid transparent;
    border-radius: var(--renace-radius-md);
    color: var(--renace-color-deep-blue);
    text-decoration: none;
    transition:
      background-color var(--renace-duration-standard)
        var(--renace-ease-standard),
      border-color var(--renace-duration-standard) var(--renace-ease-standard),
      box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-holistic-popover__link:hover,
  .renace-holistic-popover__link:focus-visible {
    border-color: rgba(86, 171, 222, 0.24);
    background: var(--renace-color-primary-softest);
    color: var(--renace-color-deep-blue);
    box-shadow: var(--renace-shadow-sm);
    text-decoration: none;
    transform: translateX(0.25rem);
  }

  .renace-holistic-popover__link-icon {
    display: inline-grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border-radius: 0.875rem;
    background: var(--renace-color-primary-soft);
    color: var(--renace-color-primary-hover);
    font-size: 1rem;
  }

  .renace-holistic-popover__link-content {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
  }

  .renace-holistic-popover__link-content strong {
    font-family: var(--renace-font-heading);
    font-size: var(--renace-font-size-base);
  }

  .renace-holistic-popover__link-content small {
    color: var(--renace-color-text-muted);
    font-size: var(--renace-font-size-sm);
    line-height: 1.4;
  }

  .renace-holistic-popover__link-arrow {
    color: var(--renace-color-primary-hover);
    transition: transform var(--renace-duration-standard)
      var(--renace-ease-emphasized);
  }

  .renace-holistic-popover__link:hover .renace-holistic-popover__link-arrow,
  .renace-holistic-popover__link:focus-visible
    .renace-holistic-popover__link-arrow {
    transform: translateX(0.25rem);
  }
}
/* =========================================================
   12. Mobile Header, Offcanvas and Docking Navigation
========================================================= */

.renace-navigation-panel {
  position: fixed;
  top: 0;
  right: 0;
  z-index: var(--renace-z-menu);
  display: flex;
  width: min(92vw, 28rem);
  height: 100dvh;
  flex-direction: column;
  padding: 1.25rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-left: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.15),
      transparent 35%
    ),
    var(--renace-color-warm-white);
  box-shadow: -1.5rem 0 4rem rgba(23, 52, 71, 0.2);
  visibility: hidden;
  transform: translate3d(100%, 0, 0);
  transition:
    visibility var(--renace-duration-slow) var(--renace-ease-standard),
    transform var(--renace-duration-slow) var(--renace-ease-emphasized);
}

.renace-navigation-panel.is-open {
  visibility: visible;
  transform: translate3d(0, 0, 0);
}

.renace-navigation-panel__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--renace-space-3);
  padding-bottom: var(--renace-space-4);
  border-bottom: var(--renace-border-width) solid var(--renace-color-border);
}

.renace-navigation-panel__identity {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.renace-navigation-panel__eyebrow {
  color: var(--renace-color-primary-hover);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.renace-navigation-panel__title {
  max-width: 14rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
  font-weight: 700;
  line-height: 1.35;
}

.renace-navigation-panel__close,
.renace-approach-modal__close {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  place-items: center;
  padding: 0;
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  box-shadow: 0 0.25rem 1rem rgba(23, 52, 71, 0.05);
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-navigation-panel__close:hover,
.renace-approach-modal__close:hover {
  border-color: var(--renace-color-primary);
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-primary-hover);
  transform: rotate(4deg);
}

.renace-navigation-panel__close i,
.renace-approach-modal__close i {
  font-size: 1.1rem;
}

.renace-primary-nav {
  margin-top: var(--renace-space-4);
}

.renace-primary-nav .sub-menu {
  display: grid;
  max-height: 0;
  gap: 0.25rem;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition:
    max-height var(--renace-duration-slow) var(--renace-ease-emphasized),
    opacity var(--renace-duration-standard) var(--renace-ease-standard),
    visibility var(--renace-duration-standard) var(--renace-ease-standard),
    padding var(--renace-duration-standard) var(--renace-ease-standard);
}

.renace-primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
  max-height: 28rem;
  padding: 0.25rem 0 0.75rem 0.75rem;
  opacity: 1;
  visibility: visible;
}

.renace-navigation-panel__mobile-contact {
  display: grid;
  gap: var(--renace-space-3);
  margin-top: auto;
  padding-top: var(--renace-space-5);
}

.renace-navigation-panel__mobile-contact-title {
  margin: 0;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
  font-weight: 700;
  line-height: 1.35;
}

.renace-navigation-panel__mobile-contact-actions {
  display: grid;
  gap: var(--renace-space-2);
}

.renace-navigation-panel__mobile-contact-actions .renace-button {
  width: 100%;
}

.renace-navigation-panel .renace-header__actions {
  margin-top: var(--renace-space-4);
  padding-top: var(--renace-space-4);
  border-top: var(--renace-border-width) solid var(--renace-color-border);
}

.renace-navigation-panel .renace-header__appointment {
  display: none;
}

.renace-navigation-panel .renace-language-switcher {
  justify-content: flex-start;
}

.renace-navigation-overlay {
  position: fixed;
  inset: 0;
  z-index: calc(var(--renace-z-header) - 1);
  display: block;
  width: 100vw;
  height: 100dvh;
  margin: 0;
  padding: 0;
  border: 0;
  background: rgba(13, 31, 42, 0.58);
  opacity: 0;
  visibility: hidden;
  cursor: default;
  pointer-events: none;
  transition:
    opacity var(--renace-duration-slow) var(--renace-ease-standard),
    visibility var(--renace-duration-slow) var(--renace-ease-standard);
  backdrop-filter: blur(0.9rem) saturate(0.78);
  -webkit-backdrop-filter: blur(0.9rem) saturate(0.78);
}

.renace-navigation-overlay.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 63.999rem) {
  body.renace-menu-open .renace-header {
    border-bottom-color: transparent;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }

  body.renace-menu-open .renace-header-main,
  body.renace-menu-open .renace-header-main__container,
  body.renace-menu-open .renace-header-main__inner {
    background: transparent;
  }

  body.renace-menu-open .renace-header__brand,
  body.renace-menu-open .renace-header-mobile-actions {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  body.renace-menu-open .renace-navigation-panel {
    pointer-events: auto;
  }
}

@media (max-width: 63.999rem) {
  body.renace-menu-open .renace-header__brand {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

body.admin-bar .renace-navigation-panel {
  top: 46px;
  height: calc(100dvh - 46px);
}

.renace-mobile-dock {
  position: fixed;
  right: 0.75rem;
  bottom: max(0.75rem, env(safe-area-inset-bottom));
  left: 0.75rem;
  z-index: calc(var(--renace-z-overlay) - 5);
  display: block;
  margin: 0 auto;
  max-width: 31rem;
  padding: 0.35rem;
  border: 1px solid rgba(23, 52, 71, 0.1);
  border-radius: 1.35rem;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 1rem 3rem rgba(23, 52, 71, 0.18);
  transition:
    opacity var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized),
    visibility var(--renace-duration-standard) var(--renace-ease-standard);
  backdrop-filter: blur(1rem) saturate(1.2);
  -webkit-backdrop-filter: blur(1rem) saturate(1.2);
}

.renace-mobile-dock__inner {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.25rem;
}

.renace-mobile-dock__item {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 4rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 0.5rem 0.25rem;
  border-radius: 1rem;
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-mobile-dock__item:hover,
.renace-mobile-dock__item:focus-visible,
.renace-mobile-dock__item.is-active {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
}

.renace-mobile-dock__item:active {
  transform: scale(0.96);
}

.renace-mobile-dock__item--primary {
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
  box-shadow: 0 0.5rem 1.25rem rgba(86, 171, 222, 0.28);
}

.renace-mobile-dock__item--primary:hover,
.renace-mobile-dock__item--primary:focus-visible,
.renace-mobile-dock__item--primary.is-active {
  background: var(--renace-color-primary-hover);
  color: var(--renace-color-deep-blue);
}

.renace-mobile-dock__icon {
  font-size: 1rem;
}

body.renace-menu-open .renace-mobile-dock,
body.renace-approach-open .renace-mobile-dock {
  opacity: 0;
  visibility: hidden;
  transform: translateY(1rem) scale(0.96);
  pointer-events: none;
}

.renace-approach-modal {
  position: fixed;
  inset: 0;
  z-index: var(--renace-z-modal);
  display: grid;
  align-items: end;
  overflow: hidden;
}

.renace-approach-modal[hidden] {
  display: none !important;
}

.renace-approach-modal__backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(13, 31, 42, 0.58);
  opacity: 0;
  cursor: default;
  transition: opacity var(--renace-duration-slow) var(--renace-ease-standard);
  backdrop-filter: blur(0.9rem) saturate(0.78);
  -webkit-backdrop-filter: blur(0.9rem) saturate(0.78);
}

.renace-approach-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 42rem);
  max-height: min(88dvh, 52rem);
  margin: 0 auto;
  padding: 0.75rem var(--renace-gutter)
    calc(1.5rem + env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  border: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
  border-bottom: 0;
  border-radius: 1.75rem 1.75rem 0 0;
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.18),
      transparent 38%
    ),
    var(--renace-color-warm-white);
  box-shadow: 0 -1.5rem 4rem rgba(23, 52, 71, 0.2);
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  transition:
    opacity var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-slow) var(--renace-ease-emphasized);
}

.renace-approach-modal.is-open .renace-approach-modal__backdrop {
  opacity: 1;
}

.renace-approach-modal.is-open .renace-approach-modal__dialog {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.renace-approach-modal__handle {
  width: 3rem;
  height: 0.3rem;
  margin: 0 auto var(--renace-space-4);
  border-radius: var(--renace-radius-round);
  background: var(--renace-color-border-strong);
}

.renace-approach-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--renace-space-3);
}

.renace-approach-modal__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--renace-space-2);
  color: var(--renace-color-primary-hover);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.renace-approach-modal__title {
  max-width: 18rem;
  margin-bottom: 0;
  font-size: clamp(1.75rem, 7vw, 2.5rem);
  letter-spacing: -0.04em;
}

.renace-approach-modal__description {
  margin: var(--renace-space-4) 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.renace-approach-modal__links {
  display: grid;
  gap: var(--renace-space-2);
}

.renace-approach-modal__overview,
.renace-approach-modal__link {
  display: grid;
  align-items: center;
  gap: var(--renace-space-3);
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-approach-modal__overview {
  grid-template-columns: auto minmax(0, 1fr) auto;
  padding: 1rem;
  border-color: rgba(86, 171, 222, 0.28);
  background: var(--renace-color-primary-soft);
  font-family: var(--renace-font-heading);
  font-weight: 750;
}

.renace-approach-modal__link {
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  padding: 0.875rem;
  background: var(--renace-color-white);
}

.renace-approach-modal__overview:hover,
.renace-approach-modal__overview:focus-visible,
.renace-approach-modal__link:hover,
.renace-approach-modal__link:focus-visible {
  border-color: var(--renace-color-primary);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-sm);
  text-decoration: none;
  transform: translateY(-0.125rem);
}

.renace-approach-modal__link-icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-primary-hover);
}

.renace-approach-modal__link-content {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.renace-approach-modal__link-content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
}

.renace-approach-modal__link-content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.35;
}

.renace-approach-modal__footer {
  padding-top: var(--renace-space-4);
}

@media (max-width: 24.999rem) {
  .renace-mobile-dock {
    right: 0.5rem;
    left: 0.5rem;
  }

  .renace-mobile-dock__item {
    font-size: 0.625rem;
  }

  .renace-approach-modal__link-content small {
    display: none;
  }
}

@media (min-width: 48rem) and (max-width: 63.999rem) {
  .renace-mobile-dock {
    max-width: 34rem;
  }

  .renace-approach-modal__dialog {
    margin-bottom: 1rem;
    border-bottom: var(--renace-border-width) solid rgba(23, 52, 71, 0.1);
    border-radius: 1.75rem;
  }
}

@media (min-width: 48.9375rem) and (max-width: 63.999rem) {
  body.admin-bar .renace-navigation-panel {
    top: 32px;
    height: calc(100dvh - 32px);
  }
}

@media (max-width: 63.999rem) {
  html {
    scroll-padding-bottom: 6.5rem;
  }

  .renace-footer {
    padding-bottom: calc(5.5rem + env(safe-area-inset-bottom));
  }
}

@media (min-width: 64rem) {
  .renace-mobile-dock,
  .renace-approach-modal,
  .renace-navigation-overlay {
    display: none !important;
  }

  .renace-navigation-panel {
    position: static;
    display: flex;
    width: auto;
    height: auto;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: clamp(1.25rem, 2vw, 2.25rem);
    padding: 0;
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
    visibility: visible;
    transform: none;
    transition: none;
  }

  .renace-navigation-panel__header,
  .renace-navigation-panel__mobile-contact {
    display: none;
  }

  .renace-primary-nav {
    min-width: 0;
    margin: 0;
  }

  .renace-primary-nav .sub-menu {
    max-height: none;
    overflow: visible;
    transition:
      opacity var(--renace-duration-standard) var(--renace-ease-standard),
      visibility var(--renace-duration-standard) var(--renace-ease-standard),
      transform var(--renace-duration-standard) var(--renace-ease-emphasized);
  }

  .renace-header__actions,
  .renace-navigation-panel .renace-header__actions {
    display: flex;
    flex: 0 0 auto;
    flex-direction: row;
    align-items: center;
    gap: var(--renace-space-3);
    margin: 0;
    padding: 0;
    border-top: 0;
  }

  .renace-navigation-panel .renace-header__appointment {
    display: inline-flex;
  }

  .renace-navigation-panel .renace-language-switcher {
    display: none;
  }

  body.admin-bar .renace-navigation-panel {
    top: auto;
    height: auto;
  }
}
/* =========================================================
   13. Footer
========================================================= */

.renace-footer {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 92% 12%,
      rgba(86, 171, 222, 0.14),
      transparent 25rem
    ),
    linear-gradient(145deg, #173447 0%, #102a3a 100%);
  color: rgba(255, 255, 255, 0.76);
}

.renace-footer::before,
.renace-footer::after {
  position: absolute;
  border: 1px solid rgba(86, 171, 222, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.renace-footer::before {
  top: -13rem;
  right: -10rem;
  width: 30rem;
  aspect-ratio: 1;
}

.renace-footer::after {
  bottom: -15rem;
  left: -13rem;
  width: 34rem;
  aspect-ratio: 1;
  background: rgba(36, 117, 181, 0.035);
}

.renace-footer__container {
  position: relative;
  z-index: 1;
  padding-top: clamp(4.5rem, 9vw, 7rem);
}

.renace-footer__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(3rem, 7vw, 6rem);
  padding-bottom: clamp(3.5rem, 7vw, 5.5rem);
}

.renace-footer__brand {
  max-width: 35rem;
}

.renace-footer__logo {
  display: inline-flex;
  margin-bottom: var(--renace-space-4);
  text-decoration: none;
}

.renace-footer__logo:hover {
  text-decoration: none;
}

.renace-footer__logo-media {
  width: clamp(9rem, 28vw, 11.5rem);
  height: 4.5rem;
  overflow: visible;
  border-radius: 0;
  aspect-ratio: auto;
  background: transparent;
}

.renace-footer__logo-media .renace-media__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}

.renace-footer__logo-media .renace-media__placeholder {
  min-height: 4.5rem;
  border-color: rgba(255, 255, 255, 0.25);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.08),
    rgba(86, 171, 222, 0.12)
  );
}

.renace-footer__logo-media .renace-media__placeholder-content {
  width: 100%;
  gap: 0.25rem;
  padding: 0.375rem;
}

.renace-footer__logo-media .renace-media__placeholder-badges {
  gap: 0.2rem;
}

.renace-footer__logo-media .renace-media__placeholder-badge {
  min-height: 1.15rem;
  padding: 0.15rem 0.3rem;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
  font-size: 0.5rem;
}

.renace-footer__logo-media .renace-media__placeholder-path {
  padding: 0.15rem 0.25rem;
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
  font-size: 0.5rem;
  line-height: 1.15;
}

.renace-footer__logo-media .renace-media__placeholder-description {
  display: none;
}

.renace-footer__statement {
  max-width: 30rem;
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 750;
  line-height: 1.3;
  letter-spacing: -0.025em;
  text-wrap: balance;
}

.renace-footer__description {
  max-width: 32rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.66);
  font-size: var(--renace-font-size-md);
  line-height: 1.65;
}

.renace-footer__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2);
  margin-top: var(--renace-space-5);
}

.renace-footer__action {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 0.8rem 1rem;
  border: 1px solid transparent;
  border-radius: var(--renace-radius-md);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-footer__action:hover {
  text-decoration: none;
  transform: translateY(-0.125rem);
}

.renace-footer__action--primary {
  border-color: var(--renace-color-primary);
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
  box-shadow: 0 0.75rem 1.75rem rgba(86, 171, 222, 0.18);
}

.renace-footer__action--primary:hover,
.renace-footer__action--primary:focus-visible {
  border-color: var(--renace-color-primary-hover);
  background: var(--renace-color-primary-hover);
  color: var(--renace-color-deep-blue);
}

.renace-footer__action--secondary {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.06);
  color: var(--renace-color-white);
}

.renace-footer__action--secondary:hover,
.renace-footer__action--secondary:focus-visible {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.11);
  color: var(--renace-color-white);
}

.renace-footer__action-arrow {
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-footer__action:hover .renace-footer__action-arrow {
  transform: translateX(0.25rem);
}

.renace-footer__navigation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-7);
}

.renace-footer__heading {
  display: flex;
  align-items: center;
  gap: var(--renace-space-2);
  margin-bottom: var(--renace-space-4);
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-base);
  line-height: 1.3;
  letter-spacing: 0;
}

.renace-footer__heading-icon {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(86, 171, 222, 0.16);
  border-radius: 0.75rem;
  background: rgba(86, 171, 222, 0.08);
  color: var(--renace-color-primary);
  font-size: 0.875rem;
}

.renace-footer__menu,
.renace-footer__legal-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.renace-footer__menu {
  display: grid;
  gap: 0.4rem;
}

.renace-footer__menu li,
.renace-footer__legal-menu li {
  margin: 0;
}

.renace-footer__menu a {
  display: flex;
  min-height: 2.75rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-2);
  padding: 0.625rem 0.75rem;
  border: 1px solid transparent;
  border-radius: var(--renace-radius-sm);
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-footer__menu a::after {
  color: var(--renace-color-primary);
  font-family: "Font Awesome 7 Free";
  font-size: 0.7rem;
  font-weight: 900;
  content: "\f061";
  opacity: 0;
  transform: translateX(-0.25rem);
  transition:
    opacity var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-footer__menu a:hover,
.renace-footer__menu a:focus-visible,
.renace-footer__menu .current-menu-item > a,
.renace-footer__menu .current_page_item > a {
  border-color: rgba(86, 171, 222, 0.12);
  background: rgba(255, 255, 255, 0.055);
  color: var(--renace-color-white);
  transform: translateX(0.2rem);
}

.renace-footer__menu a:hover::after,
.renace-footer__menu a:focus-visible::after,
.renace-footer__menu .current-menu-item > a::after,
.renace-footer__menu .current_page_item > a::after {
  opacity: 1;
  transform: translateX(0);
}

.renace-footer__contact {
  display: grid;
  gap: var(--renace-space-2);
}

.renace-footer__contact-card {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  min-height: 4.5rem;
  padding: 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.045);
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-footer__contact-card:hover,
.renace-footer__contact-card:focus-visible {
  border-color: rgba(86, 171, 222, 0.26);
  background: rgba(255, 255, 255, 0.075);
  color: var(--renace-color-white);
  box-shadow: 0 0.75rem 2rem rgba(8, 25, 36, 0.14);
  text-decoration: none;
  transform: translateY(-0.125rem);
}

.renace-footer__contact-card--static:hover {
  border-color: rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.045);
  box-shadow: none;
  transform: none;
}

.renace-footer__contact-icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: rgba(86, 171, 222, 0.1);
  color: var(--renace-color-primary);
  font-size: 0.95rem;
}

.renace-footer__contact-content {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.renace-footer__contact-content small {
  color: rgba(255, 255, 255, 0.46);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 750;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.renace-footer__contact-content strong {
  min-width: 0;
  overflow-wrap: anywhere;
  color: rgba(255, 255, 255, 0.84);
  font-size: var(--renace-font-size-sm);
  font-weight: 600;
  line-height: 1.45;
}

.renace-footer__contact-arrow {
  color: rgba(86, 171, 222, 0.75);
  font-size: 0.75rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-footer__contact-card:hover .renace-footer__contact-arrow,
.renace-footer__contact-card:focus-visible .renace-footer__contact-arrow {
  transform: translateX(0.2rem);
}

.renace-footer__wellness-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.025);
  color: rgba(255, 255, 255, 0.58);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.renace-footer__wellness-icon {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.09);
  color: var(--renace-color-primary);
}

.renace-footer__wellness-note p {
  margin: 0;
}

.renace-footer__wellness-note a {
  grid-column: 2;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--renace-font-heading);
  font-weight: 700;
  text-decoration: none;
}

.renace-footer__wellness-note a:hover {
  color: var(--renace-color-primary);
  text-decoration: none;
}

.renace-footer__bottom {
  display: grid;
  gap: var(--renace-space-3);
  padding-block: var(--renace-space-4);
  color: rgba(255, 255, 255, 0.46);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.renace-footer__copyright,
.renace-footer__credit {
  margin: 0;
}

.renace-footer__legal-menu {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2) var(--renace-space-4);
}

.renace-footer__legal-menu a,
.renace-footer__credit a {
  color: rgba(255, 255, 255, 0.62);
  text-decoration: none;
}

.renace-footer__legal-menu a:hover,
.renace-footer__legal-menu a:focus-visible,
.renace-footer__legal-menu .current-menu-item > a,
.renace-footer__legal-menu .current_page_item > a,
.renace-footer__credit a:hover,
.renace-footer__credit a:focus-visible {
  color: var(--renace-color-white);
}

@media (prefers-reduced-motion: no-preference) {
  .renace-footer::before {
    animation: renace-ambient-float 18s ease-in-out infinite;
  }

  .renace-footer::after {
    animation: renace-ambient-breathe 16s ease-in-out infinite;
  }
}

@media (max-width: 35.999rem) {
  .renace-footer__actions {
    align-items: stretch;
  }

  .renace-footer__action {
    width: 100%;
  }
}

@media (min-width: 40rem) {
  .renace-footer__navigation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .renace-footer__contact-column {
    grid-column: 1 / -1;
  }

  .renace-footer__contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .renace-footer__bottom {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .renace-footer__credit {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .renace-footer__top {
    grid-template-columns: minmax(19rem, 0.95fr) minmax(0, 1.7fr);
    align-items: start;
  }

  .renace-footer__navigation-grid {
    grid-template-columns:
      minmax(9rem, 0.7fr)
      minmax(11rem, 0.9fr)
      minmax(17rem, 1.4fr);
    gap: clamp(2rem, 4vw, 4rem);
  }

  .renace-footer__contact-column {
    grid-column: auto;
  }

  .renace-footer__contact {
    grid-template-columns: minmax(0, 1fr);
  }

  .renace-footer__wellness-note {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
  }

  .renace-footer__wellness-note a {
    grid-column: auto;
  }

  .renace-footer__bottom {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--renace-space-5);
  }

  .renace-footer__credit {
    grid-column: auto;
    text-align: right;
  }
}
/* =========================================================
   13.1. Footer Compact Refinement
========================================================= */

.renace-footer__container {
  padding-top: clamp(3.25rem, 6vw, 5rem);
}

.renace-footer__top {
  gap: clamp(2.25rem, 4.5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

.renace-footer__logo {
  margin-bottom: var(--renace-space-3);
}

.renace-footer__logo-media {
  width: clamp(8.5rem, 24vw, 10.5rem);
  height: 4rem;
}

.renace-footer__statement {
  max-width: 34rem;
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  line-height: 1.25;
}

.renace-footer__description {
  max-width: 34rem;
  font-size: var(--renace-font-size-base);
  line-height: 1.55;
}

.renace-footer__actions {
  gap: 0.625rem;
  margin-top: var(--renace-space-4);
}

.renace-footer__action {
  min-height: 2.875rem;
  padding: 0.7rem 0.9rem;
  white-space: nowrap;
}

.renace-footer__navigation-grid {
  gap: clamp(1.75rem, 3vw, 3rem);
}

.renace-footer__heading {
  gap: 0.625rem;
  margin-bottom: var(--renace-space-3);
}

.renace-footer__heading-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 0.625rem;
  font-size: 0.8rem;
}

.renace-footer__menu {
  gap: 0.2rem;
}

.renace-footer__menu a {
  min-height: 2.35rem;
  padding: 0.4rem 0.55rem;
  white-space: nowrap;
}

.renace-footer__contact {
  gap: 0.5rem;
}

.renace-footer__contact-card {
  grid-template-columns: 2.25rem minmax(0, 1fr) auto;
  gap: 0.75rem;
  min-height: 3.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--renace-radius-sm);
}

.renace-footer__contact-icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.7rem;
  font-size: 0.85rem;
}

.renace-footer__contact-content {
  gap: 0.1rem;
}

.renace-footer__contact-content small {
  font-size: 0.625rem;
}

.renace-footer__contact-content strong {
  font-size: 0.8125rem;
  line-height: 1.3;
}

.renace-footer__contact-card:not(.renace-footer__contact-card--static)
  .renace-footer__contact-content
  strong {
  overflow-wrap: normal;
  white-space: nowrap;
}

.renace-footer__wellness-note {
  gap: var(--renace-space-2);
  padding: 0.875rem 1rem;
  font-size: 0.8125rem;
  line-height: 1.45;
}

.renace-footer__wellness-icon {
  width: 2rem;
  height: 2rem;
}

.renace-footer__bottom {
  gap: var(--renace-space-2);
  padding-block: 0.875rem;
  font-size: 0.8125rem;
}

.renace-footer__legal-menu {
  gap: 0.5rem 1.25rem;
}

/* Tablet */
@media (min-width: 40rem) and (max-width: 63.999rem) {
  .renace-footer__contact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .renace-footer__contact-card--static {
    grid-column: 1 / -1;
  }
}

/* Small desktop */
@media (min-width: 64rem) and (max-width: 74.999rem) {
  .renace-footer__top {
    grid-template-columns: minmax(17rem, 0.8fr) minmax(0, 1.5fr);
    gap: clamp(2rem, 3vw, 3rem);
  }

  .renace-footer__navigation-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.5rem 2rem;
  }

  .renace-footer__contact-column {
    grid-column: 1 / -1;
  }

  .renace-footer__contact {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .renace-footer__bottom {
    gap: var(--renace-space-4);
  }
}

/* Full desktop */
@media (min-width: 75rem) {
  .renace-footer__heading,
  .renace-footer__menu a {
    white-space: nowrap;
  }

  .renace-footer__top {
    grid-template-columns: minmax(20rem, 0.95fr) minmax(0, 1.8fr);
    gap: clamp(2.5rem, 4vw, 4rem);
  }

  .renace-footer__navigation-grid {
    grid-template-columns:
      minmax(8.5rem, 0.72fr)
      minmax(12.5rem, 1fr)
      minmax(18rem, 1.35fr);
    gap: clamp(1.5rem, 2.5vw, 2.75rem);
  }

  .renace-footer__bottom {
    gap: var(--renace-space-4);
  }

  .renace-footer__legal-menu {
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}

/* Wide desktop */
@media (min-width: 78rem) {
  .renace-footer__statement {
    max-width: 24ch;
    white-space: normal;
    text-wrap: balance;
  }

  .renace-footer__wellness-note p {
    white-space: nowrap;
  }
}

/* =========================================================
   14. Global Hero System v4
========================================================= */

/*
 * Shared goals:
 * - Preserve the compact display scale already approved.
 * - Give each content group enough separation to read as an intentional step.
 * - Keep buttons, trust items, image labels and captions visually independent.
 * - Reduce decorative/media scale before compressing text on short desktops.
 */

/* Home hero */
.renace-hero__container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
  min-height: auto;
  padding-block: var(--renace-hero-padding-block);
}

.renace-hero__content {
  max-width: 45rem;
}

.renace-hero__title {
  max-width: 14ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-display);
  line-height: 1.06;
  letter-spacing: -0.047em;
  text-wrap: pretty;
}

.renace-hero__lead {
  max-width: 40rem;
  margin-bottom: var(--renace-hero-copy-space);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-lead);
  line-height: 1.62;
}

.renace-hero__actions {
  margin-bottom: 0;
}

.renace-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem var(--renace-space-4);
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space);
  margin-inline: 0;
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.renace-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.renace-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.renace-hero__media-wrap {
  width: min(100%, var(--renace-hero-media-width));
  margin-inline: auto;
}

.renace-hero__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Internal-page heroes */
:where(
  .about-hero,
  .holistic-health-hero,
  .emotional-health-hero,
  .conscious-nutrition-hero,
  .vibrational-energy-hero,
  .faq-hero
) {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
}

:where(
    .about-hero,
    .holistic-health-hero,
    .emotional-health-hero,
    .conscious-nutrition-hero,
    .vibrational-energy-hero,
    .faq-hero
  )
  > .renace-container {
  position: relative;
}

:where(
  .about-hero__grid,
  .holistic-health-hero__grid,
  .emotional-health-hero__grid,
  .conscious-nutrition-hero__grid,
  .vibrational-energy-hero__grid,
  .faq-hero__grid
) {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

:where(
  .about-hero__content,
  .holistic-health-hero__content,
  .emotional-health-hero__content,
  .conscious-nutrition-hero__content,
  .vibrational-energy-hero__content,
  .faq-hero__content
) {
  max-width: 52rem;
}

:where(
    .about-hero__content,
    .holistic-health-hero__content,
    .emotional-health-hero__content,
    .conscious-nutrition-hero__content,
    .vibrational-energy-hero__content,
    .faq-hero__content
  )
  .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.35vw, 1.25rem);
}

:where(
    .about-hero__content,
    .holistic-health-hero__content,
    .emotional-health-hero__content,
    .conscious-nutrition-hero__content,
    .vibrational-energy-hero__content,
    .faq-hero__content
  )
  h1 {
  max-width: 18ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

:where(
    .about-hero__content,
    .holistic-health-hero__content,
    .emotional-health-hero__content,
    .conscious-nutrition-hero__content,
    .vibrational-energy-hero__content,
    .faq-hero__content
  )
  .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

:where(
    .about-hero__content,
    .holistic-health-hero__content,
    .emotional-health-hero__content,
    .conscious-nutrition-hero__content,
    .vibrational-energy-hero__content,
    .faq-hero__content
  )
  .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

/*
 * All present and future hero trust lists use a shared high-specificity selector.
 * The previous :where() selector had zero specificity and allowed GeneratePress
 * UL margin shorthand rules to collapse the space below the hero buttons.
 */
.renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space);
  margin-inline: 0;
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) li {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) i {
  flex: 0 0 auto;
  color: var(--renace-color-brand-dark);
}

:where(
  .about-hero__visual,
  .holistic-health-hero__visual,
  .emotional-health-hero__visual,
  .conscious-nutrition-hero__visual,
  .vibrational-energy-hero__visual,
  .faq-hero__visual
) {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  place-items: center;
}

/* Shared photographic treatment for internal-page heroes. */
.renace-hero-media {
  position: relative;
  width: min(100%, 30rem);
  margin-inline: auto;
  padding-top: var(--renace-hero-media-label-space);
}

.renace-hero-media__frame {
  position: relative;
  padding: clamp(0.65rem, 1.5vw, 0.9rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: calc(var(--renace-radius-xl) + 0.35rem);
  background: rgba(255, 255, 255, 0.68);
  box-shadow: 0 1.75rem 4.5rem rgba(23, 52, 71, 0.14);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.renace-hero-media__frame > .renace-media {
  border-radius: var(--renace-radius-xl);
  aspect-ratio: var(--renace-hero-media-ratio, 5 / 4);
}

.renace-hero-media--portrait {
  --renace-hero-media-ratio: 4 / 5;
  max-width: 25rem;
}

.renace-hero-media--landscape {
  --renace-hero-media-ratio: 5 / 4;
}

.renace-hero-media__badge {
  position: absolute;
  top: -3rem;
  right: clamp(0.85rem, 2vw, 1.35rem);
  z-index: 2;
  display: inline-flex;
  max-width: calc(100% - 1.7rem);
  min-height: 2.25rem;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-round);
  background: rgba(255, 255, 255, 0.94);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 750;
  line-height: 1.25;
  text-align: left;
  box-shadow: var(--renace-shadow-sm);
  backdrop-filter: blur(0.75rem);
  -webkit-backdrop-filter: blur(0.75rem);
}

.renace-hero-media__badge i {
  flex: 0 0 auto;
  color: var(--renace-color-brand-dark);
}

.renace-hero-media__caption {
  position: relative;
  z-index: 2;
  display: grid;
  width: min(calc(100% - 2rem), 24rem);
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  margin: var(--renace-hero-media-caption-space) auto 0;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.45;
  box-shadow: var(--renace-shadow-md);
}

.renace-hero-media__caption-icon {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

/* Minimal editorial treatment for FAQ and future utility pages. */
.renace-hero-editorial {
  display: grid;
  width: min(100%, 27rem);
  gap: 0.875rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.7);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.renace-hero-editorial__card {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.8rem;
  padding: 0.95rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.94);
  color: var(--renace-color-deep-blue);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
}

.renace-hero-editorial__icon {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.renace-hero-editorial__content {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.renace-hero-editorial__content strong {
  font-family: var(--renace-font-heading);
  line-height: 1.3;
}

.renace-hero-editorial__content small {
  color: var(--renace-color-text-muted);
  line-height: 1.4;
}

@media (max-width: 35.999rem) {
  .renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.7rem;
  }

  .renace-hero-media {
    padding-top: 3.25rem;
  }

  .renace-hero-media__badge {
    top: -2.65rem;
    right: 0.75rem;
    left: 0.75rem;
    width: fit-content;
    max-width: calc(100% - 1.5rem);
    margin-left: auto;
  }

  .renace-hero-media__caption {
    width: 100%;
  }
}

@media (max-width: 63.999rem) {
  :where(
    .about-hero,
    .holistic-health-hero,
    .emotional-health-hero,
    .conscious-nutrition-hero,
    .vibrational-energy-hero,
    .faq-hero
  ) {
    padding-block: 2.25rem 3.5rem;
  }

  :where(
    .about-hero__grid,
    .holistic-health-hero__grid,
    .emotional-health-hero__grid,
    .conscious-nutrition-hero__grid,
    .vibrational-energy-hero__grid,
    .faq-hero__grid
  ) {
    gap: 3rem;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    .renace-lead {
    margin-bottom: 1.5rem;
    line-height: 1.62;
  }

  .renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) {
    margin-top: 1.5rem;
  }
}

@media (min-width: 64rem) {
  .renace-hero__container {
    min-height: clamp(34rem, calc(100svh - 8rem), 42rem);
    grid-template-columns:
      minmax(0, 1.12fr)
      minmax(20rem, 0.88fr);
  }

  :where(
    .about-hero,
    .holistic-health-hero,
    .emotional-health-hero,
    .conscious-nutrition-hero,
    .vibrational-energy-hero,
    .faq-hero
  ) {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  :where(
    .about-hero__grid,
    .holistic-health-hero__grid,
    .emotional-health-hero__grid,
    .conscious-nutrition-hero__grid,
    .vibrational-energy-hero__grid,
    .faq-hero__grid
  ) {
    grid-template-columns:
      minmax(0, 1.16fr)
      minmax(20rem, 0.84fr);
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  :where(
    .about-hero__grid,
    .holistic-health-hero__grid,
    .emotional-health-hero__grid,
    .conscious-nutrition-hero__grid,
    .vibrational-energy-hero__grid,
    .faq-hero__grid
  ) {
    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(18rem, 0.78fr);
    gap: 3rem;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }

  .renace-hero-media {
    width: min(100%, 26rem);
  }

  .renace-hero-editorial {
    width: min(100%, 25rem);
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .renace-hero__container {
    min-height: calc(100svh - 7.5rem);
    gap: 2.75rem;
    padding-block: 2.25rem;
  }

  .renace-hero__title {
    max-width: 15ch;
    font-size: clamp(2.75rem, 4vw, 3.75rem);
    line-height: 1.075;
  }

  .renace-hero__lead {
    margin-bottom: 1.25rem;
    line-height: 1.58;
  }

  .renace-hero__trust-list {
    margin-block-start: 1.5rem;
  }

  .renace-hero__media-wrap {
    width: min(100%, 23rem);
  }

  :where(
    .about-hero,
    .holistic-health-hero,
    .emotional-health-hero,
    .conscious-nutrition-hero,
    .vibrational-energy-hero,
    .faq-hero
  ) {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  :where(
    .about-hero__grid,
    .holistic-health-hero__grid,
    .emotional-health-hero__grid,
    .conscious-nutrition-hero__grid,
    .vibrational-energy-hero__grid,
    .faq-hero__grid
  ) {
    gap: 2.75rem;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    .renace-eyebrow {
    margin-bottom: 1rem;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    h1 {
    max-width: 19ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    .renace-button-group {
    gap: 0.75rem;
  }

  .renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) {
    gap: 0.55rem 1rem;
    margin-block-start: 1.5rem;
  }

  .renace-hero-media {
    width: min(100%, 22.5rem);
    padding-top: 3.25rem;
  }

  .renace-hero-media__badge {
    top: -2.65rem;
  }

  .renace-hero-media__caption {
    width: min(calc(100% - 1rem), 22rem);
    margin-top: 1rem;
  }

  .renace-hero-editorial {
    width: min(100%, 22.5rem);
    gap: 0.65rem;
    padding: 0.8rem;
  }

  .renace-hero-editorial__card {
    padding: 0.75rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  :where(
    .about-hero,
    .holistic-health-hero,
    .emotional-health-hero,
    .conscious-nutrition-hero,
    .vibrational-energy-hero,
    .faq-hero
  ) {
    min-height: auto;
    padding-block: 1.5rem 2.25rem;
  }

  :where(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    )
    h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .renace-main :is(.renace-hero__trust-list, [class*="-hero__trust-list"]) {
    margin-block-start: 1.375rem;
    font-size: 0.8125rem;
  }

  .renace-hero-media {
    width: min(100%, 20.5rem);
    padding-top: 3rem;
  }

  .renace-hero-media__badge {
    top: -2.5rem;
  }

  .renace-hero-media__caption {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    font-size: 0.8125rem;
  }

  .renace-hero-media__caption-icon {
    width: 2.25rem;
    height: 2.25rem;
  }
}

/* =========================================================
   15. Breadcrumbs
========================================================= */

/*
 * On internal pages the breadcrumb is hidden below desktop width so it does
 * not compete with the hero message or create an invisible keyboard stop.
 */
.renace-breadcrumbs {
  display: none;
}

.renace-breadcrumbs__list {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 700;
  line-height: 1;
}

.renace-breadcrumbs__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.renace-breadcrumbs__item + .renace-breadcrumbs__item::before {
  color: var(--renace-color-border-strong);
  content: "/";
}

.renace-breadcrumbs__item a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--renace-color-text-muted);
  text-decoration: none;
}

.renace-breadcrumbs__item a:hover,
.renace-breadcrumbs__item a:focus-visible {
  color: var(--renace-color-brand-dark);
}

.renace-breadcrumbs__item[aria-current="page"] {
  color: var(--renace-color-deep-blue);
}

@media (min-width: 64rem) {
  .renace-breadcrumbs {
    position: absolute;
    top: 0.25rem;
    right: auto;
    left: 0;
    z-index: 3;
    display: block;
    padding: 0.6rem 0.8rem;
    border: 1px solid rgba(36, 117, 181, 0.12);
    border-radius: var(--renace-radius-round);
    background: rgba(255, 255, 255, 0.76);
    box-shadow: 0 0.5rem 1.5rem rgba(23, 52, 71, 0.06);
    backdrop-filter: blur(0.75rem);
    -webkit-backdrop-filter: blur(0.75rem);
  }
}

/* Reserve space between the breadcrumb badge and hero content. */
@media (min-width: 64rem) {
  .renace-main
    :is(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    ) {
    padding-top: 3.5rem;
  }
}

/* Preserve the spacing without pushing CTAs too far on short screens. */
@media (min-width: 64rem) and (max-height: 50rem) {
  .renace-main
    :is(
      .about-hero__content,
      .holistic-health-hero__content,
      .emotional-health-hero__content,
      .conscious-nutrition-hero__content,
      .vibrational-energy-hero__content,
      .faq-hero__content
    ) {
    padding-top: 3rem;
  }
}

/* =========================================================
   16. Global Section Patterns
========================================================= */

.renace-section-heading {
  max-width: 46rem;
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.renace-section-heading--center {
  margin-inline: auto;
  text-align: center;
}

.renace-section-heading--center .renace-eyebrow {
  justify-content: center;
}

.renace-section-heading > p {
  color: var(--renace-color-text-muted);
  font-size: clamp(1.0625rem, 1.7vw, 1.25rem);
}

.renace-feature-list {
  display: grid;
  gap: var(--renace-space-4);
  margin-block: var(--renace-space-5);
}

.renace-feature-list__item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
}

.renace-feature-list__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.renace-feature-list__item h3 {
  margin-bottom: 0.35rem;
  font-size: var(--renace-font-size-md);
  letter-spacing: -0.015em;
}

.renace-feature-list__item p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.renace-check-list {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.renace-check-list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
}

.renace-check-list i {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.75rem;
}
/* =========================================================
   17. Global CTA System
========================================================= */

.renace-cta-card {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: var(--renace-space-5);
  overflow: hidden;
  padding: clamp(2rem, 6vw, 4.5rem);
  border-radius: clamp(1.5rem, 4vw, 2.5rem);
  background: linear-gradient(
    135deg,
    var(--renace-color-brand-dark) 0%,
    var(--renace-color-deep-blue) 72%
  );
  color: rgba(255, 255, 255, 0.78);
  box-shadow: 0 2rem 5rem rgba(23, 52, 71, 0.18);
}

.renace-cta-card__content,
.renace-cta-card__actions {
  position: relative;
  z-index: 2;
}

.renace-cta-card__content {
  max-width: 46rem;
}

.renace-cta-card h2 {
  color: var(--renace-color-white);
}

.renace-cta-card p {
  max-width: 42rem;
  margin: 0;
  font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
}

.renace-cta-card__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-primary);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.renace-cta-card__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
}

.renace-cta-card__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.renace-cta-card__ambient span {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
}

.renace-cta-card__ambient span:first-child {
  top: -9rem;
  right: -6rem;
  width: 22rem;
  height: 22rem;
  background: rgba(86, 171, 222, 0.08);
}

.renace-cta-card__ambient span:last-child {
  bottom: -11rem;
  left: -8rem;
  width: 26rem;
  height: 26rem;
  background: rgba(158, 187, 165, 0.06);
}

@media (min-width: 64rem) {
  .renace-cta-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .renace-cta-card__actions {
    justify-content: flex-end;
  }
}
/* =========================================================
   18. Pillar Components
========================================================= */

.renace-pillar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.renace-pillar-card {
  position: relative;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 4vw, 2rem);
  overflow: hidden;
  border: var(--renace-border-width) solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.86);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-sm);
  text-decoration: none;
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-pillar-card::before {
  position: absolute;
  top: 0;
  right: 0;
  width: 7rem;
  height: 7rem;
  border-radius: 0 0 0 100%;
  background: rgba(86, 171, 222, 0.08);
  content: "";
  transition: transform var(--renace-duration-slow)
    var(--renace-ease-emphasized);
}

.renace-pillar-card:hover,
.renace-pillar-card:focus-visible {
  border-color: rgba(36, 117, 181, 0.32);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  text-decoration: none;
  transform: translateY(-0.35rem);
}

.renace-pillar-card:hover::before,
.renace-pillar-card:focus-visible::before {
  transform: scale(1.18);
}

.renace-pillar-card__number {
  position: absolute;
  top: 1rem;
  right: 1.25rem;
  color: rgba(36, 117, 181, 0.28);
  font-family: var(--renace-font-heading);
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.renace-pillar-card__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1.15rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.25rem;
}

.renace-pillar-card h3 {
  margin-bottom: var(--renace-space-2);
}

.renace-pillar-card p {
  flex: 1 1 auto;
  margin-bottom: var(--renace-space-4);
  color: var(--renace-color-text-muted);
}

.renace-pillar-card__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
}

.renace-pillar-card__link i {
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.renace-pillar-card:hover .renace-pillar-card__link i,
.renace-pillar-card:focus-visible .renace-pillar-card__link i {
  transform: translateX(0.25rem);
}

@media (min-width: 48rem) {
  .renace-pillar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .renace-pillar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
/* =========================================================
   19. Process Components
========================================================= */

.renace-process-list {
  position: relative;
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.renace-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
}

.renace-process-step__number {
  position: absolute;
  top: 0.75rem;
  right: 1rem;
  color: rgba(36, 117, 181, 0.22);
  font-family: var(--renace-font-heading);
  font-size: 1.25rem;
  font-weight: 800;
}

.renace-process-step__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.renace-process-step h3 {
  margin-bottom: 0.35rem;
  padding-right: 2rem;
  font-size: var(--renace-font-size-md);
}

.renace-process-step p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

@media (min-width: 64rem) {
  .renace-process-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
  }

  .renace-process-list::before {
    position: absolute;
    top: 3.25rem;
    right: 8%;
    left: 8%;
    height: 0.125rem;
    background: linear-gradient(
      90deg,
      rgba(36, 117, 181, 0.18),
      var(--renace-color-primary),
      rgba(36, 117, 181, 0.18)
    );
    content: "";
  }

  .renace-process-step {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--renace-space-3);
    padding: 0 var(--renace-space-3);
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
  }

  .renace-process-step__number {
    position: static;
    order: -2;
    color: var(--renace-color-brand-dark);
    font-size: var(--renace-font-size-xs);
    letter-spacing: 0.08em;
  }

  .renace-process-step__icon {
    position: relative;
    z-index: 1;
    width: 4.25rem;
    height: 4.25rem;
    margin-inline: auto;
    border: 0.5rem solid var(--renace-color-white);
    border-radius: 50%;
    box-shadow: 0 0 0 1px var(--renace-color-border);
  }

  .renace-process-step h3 {
    padding-right: 0;
  }
}
/* =========================================================
   20. FAQ Components
========================================================= */

.renace-faq-list {
  display: grid;
  gap: var(--renace-space-2);
}

.renace-faq-item {
  overflow: hidden;
  border: var(--renace-border-width) solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.9);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard);
}

.renace-faq-item.is-open {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-sm);
}

.renace-faq-item h3 {
  margin: 0;
  font-size: inherit;
}

.renace-faq-item__question {
  display: grid;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) 2.5rem;
  align-items: center;
  gap: var(--renace-space-3);
  padding: 1.125rem 1.25rem;
  border: 0;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
  background: transparent;
  box-shadow: none;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 750;
  line-height: 1.4;
  text-align: left;
}

.renace-faq-item__question i {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    color var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.renace-faq-item__question[aria-expanded="true"] i {
  background: var(--renace-color-brand-dark);
  color: var(--renace-color-white);
  transform: rotate(45deg);
}

.renace-faq-item__answer {
  padding: 0 1.25rem 1.25rem;
}

.renace-faq-item__answer p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.renace-faq-item__question,
.renace-faq-item__question:visited,
.renace-faq-item__question:hover,
.renace-faq-item__question:focus,
.renace-faq-item__question:focus-visible,
.renace-faq-item__question:active {
  color: var(--renace-color-deep-blue);
}

.renace-faq-item__question:hover,
.renace-faq-item__question:focus-visible {
  background: var(--renace-color-primary-softest);
}

.renace-faq-item.is-open .renace-faq-item__question {
  background: rgba(86, 171, 222, 0.08);
}
/* =========================================================
   23. Home Page
========================================================= */

.renace-home-hero__orb,
.renace-home-hero__path {
  position: absolute;
  display: block;
}

.renace-home-hero__orb {
  border-radius: 50%;
}

.renace-home-hero__orb--one {
  top: -10rem;
  right: -8rem;
  width: clamp(20rem, 42vw, 38rem);
  aspect-ratio: 1;
  background: radial-gradient(
    circle,
    rgba(86, 171, 222, 0.2),
    rgba(86, 171, 222, 0) 68%
  );
}

.renace-home-hero__orb--two {
  bottom: -12rem;
  left: -9rem;
  width: clamp(18rem, 34vw, 30rem);
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.12);
  background: rgba(158, 187, 165, 0.06);
}

.renace-home-hero__path {
  top: 18%;
  left: 38%;
  width: 24rem;
  height: 12rem;
  border-top: 1px solid rgba(36, 117, 181, 0.12);
  border-radius: 50%;
  transform: rotate(-12deg);
}

.renace-home-hero__media-frame {
  position: relative;
  padding: clamp(0.75rem, 2vw, 1rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: calc(var(--renace-radius-xl) + 0.5rem);
  background: rgba(255, 255, 255, 0.62);
  box-shadow: 0 2rem 5rem rgba(23, 52, 71, 0.14);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
}

.renace-home-hero__media {
  border-radius: var(--renace-radius-xl);
}

.renace-home-hero__floating-note {
  position: absolute;
  right: -0.75rem;
  bottom: 2rem;
  display: grid;
  max-width: 16rem;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-2);
  padding: 0.875rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--renace-shadow-md);
}

.renace-home-hero__floating-icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.renace-home-hero__floating-note span:last-child {
  display: grid;
  gap: 0.1rem;
}

.renace-home-hero__floating-note strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.renace-home-hero__floating-note small {
  color: var(--renace-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.renace-home-whole__image,
.renace-home-guide__portrait {
  box-shadow: var(--renace-shadow-md);
}

.renace-home-process__intro {
  display: grid;
  gap: var(--renace-space-4);
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.renace-home-process__intro .renace-section-heading {
  margin-bottom: 0;
}

.renace-home-guide__values {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2);
  margin-block: var(--renace-space-5);
}

.renace-home-guide__values span {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-round);
  background: rgba(255, 255, 255, 0.72);
  color: var(--renace-color-deep-blue);
  font-size: var(--renace-font-size-sm);
  font-weight: 650;
}

.renace-home-guide__values i {
  color: var(--renace-color-brand-dark);
}

.renace-home-fit__grid,
.renace-home-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.renace-home-fit__card {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.renace-home-fit__note {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--renace-space-2);
  margin-block: var(--renace-space-5);
  padding: var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.renace-home-fit__note i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.renace-home-fit__note p {
  margin: 0;
}

.renace-home-faq__intro {
  position: sticky;
  top: 7rem;
}

.renace-home-cta {
  background: var(--renace-color-warm-white);
}

.renace-home-cta__contact {
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--renace-color-white);
}

.renace-home-cta__contact:hover {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

@media (max-width: 35.999rem) {
  .renace-home-hero__floating-note {
    position: relative;
    right: auto;
    bottom: auto;
    max-width: none;
    margin-top: var(--renace-space-3);
  }

  .renace-home-faq__intro {
    position: static;
  }
}

@media (min-width: 48rem) {
  .renace-home-process__intro {
    grid-template-columns: minmax(0, 1.2fr) minmax(16rem, 0.8fr);
    align-items: end;
  }
}

@media (min-width: 64rem) {
  .renace-home-fit__grid,
  .renace-home-faq__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }
}

.home-guide {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 86% 18%,
      rgba(86, 171, 222, 0.12),
      transparent 32rem
    ),
    linear-gradient(135deg, #f8fcfe 0%, #eef7fc 52%, #f7fbfd 100%);
}

.home-guide::before {
  position: absolute;
  top: -12rem;
  left: -10rem;
  width: 26rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.home-guide > .renace-container {
  position: relative;
  z-index: 1;
}
/* =========================================================
   24. About Page
========================================================= */

.about-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.about-hero {
  background:
    radial-gradient(
      circle at 86% 18%,
      rgba(86, 171, 222, 0.18),
      transparent 30rem
    ),
    radial-gradient(
      circle at 4% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 55%, #edf7fc 100%);
}

.about-hero::before {
  position: absolute;
  top: -14rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.about-orbit {
  position: relative;
  aspect-ratio: 1;
}

.about-orbit__core,
.about-orbit__point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.94);
  color: var(--renace-color-brand-dark);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.75rem);
}

.about-orbit__core {
  top: 50%;
  left: 50%;
  width: 8rem;
  aspect-ratio: 1;
  border-radius: 2.25rem;
  font-size: 2rem;
  transform: translate(-50%, -50%) rotate(-4deg);
}

.about-orbit__ring {
  position: absolute;
  inset: 11%;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.about-orbit__ring--two {
  inset: 24%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.34);
}

.about-orbit__point {
  width: 4.25rem;
  aspect-ratio: 1;
  border-radius: 1.35rem;
  font-size: 1.1rem;
}

.about-orbit__point--one {
  top: 9%;
  left: 18%;
}

.about-orbit__point--two {
  top: 28%;
  right: 2%;
}

.about-orbit__point--three {
  right: 20%;
  bottom: 5%;
}

.about-hero__principles {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 3;
  display: grid;
  gap: 0.625rem;
  width: min(100%, 25rem);
  margin: auto;
  padding: 0;
  list-style: none;
}

.about-hero__principles li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.12);
  border-radius: var(--renace-radius-sm);
  background: rgba(255, 255, 255, 0.9);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  box-shadow: var(--renace-shadow-sm);
  backdrop-filter: blur(0.75rem);
}

.about-hero__principles i {
  width: 1.25rem;
  color: var(--renace-color-brand-dark);
  text-align: center;
}

.about-purpose {
  background: var(--renace-color-white);
}

.about-purpose__grid,
.about-guide__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.about-purpose__image,
.about-guide__portrait {
  box-shadow: var(--renace-shadow-md);
}

.about-purpose__content h2,
.about-guide__content h2 {
  max-width: 14ch;
}

.about-purpose__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.about-purpose__note > i {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.about-purpose__note p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}

.about-purpose__note strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.about-purpose__note span {
  color: var(--renace-color-text-muted);
  line-height: 1.5;
}

.about-pillars {
  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(86, 171, 222, 0.12),
      transparent 24rem
    ),
    var(--renace-color-primary-softest);
}

.about-section-heading {
  max-width: 48rem;
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.about-section-heading h2 {
  max-width: 14ch;
}

.about-pillar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.about-pillar-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  min-height: 11rem;
  padding: var(--renace-space-4);
  overflow: hidden;
  border: 1px solid rgba(36, 117, 181, 0.12);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.about-pillar-card::before {
  position: absolute;
  inset: auto -3rem -4rem auto;
  width: 9rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.08);
  content: "";
}

.about-pillar-card:hover,
.about-pillar-card:focus-visible {
  border-color: rgba(36, 117, 181, 0.28);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.25rem);
}

.about-pillar-card__icon,
.about-principle__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.2rem;
}

.about-pillar-card__content {
  display: grid;
  gap: 0.45rem;
  min-width: 0;
}

.about-pillar-card__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-lg);
}

.about-pillar-card__content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-base);
  line-height: 1.5;
}

.about-pillar-card__arrow {
  position: relative;
  z-index: 1;
  color: var(--renace-color-brand-dark);
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.about-pillar-card:hover .about-pillar-card__arrow,
.about-pillar-card:focus-visible .about-pillar-card__arrow {
  transform: translateX(0.25rem);
}

.about-guide {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 84% 16%,
      rgba(86, 171, 222, 0.14),
      transparent 30rem
    ),
    linear-gradient(135deg, #f8fcfe 0%, #eef7fc 52%, #f7fbfd 100%);
}

.about-guide::before {
  position: absolute;
  bottom: -12rem;
  left: -10rem;
  width: 28rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.about-guide > .renace-container {
  position: relative;
  z-index: 1;
}

.about-guide__qualities {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  margin: var(--renace-space-5) 0 0;
  padding: 0;
  list-style: none;
}

.about-guide__qualities li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-round);
  background: rgba(255, 255, 255, 0.78);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
}

.about-guide__qualities i {
  color: var(--renace-color-brand-dark);
}

.about-principles {
  background: var(--renace-color-white);
}

.about-principles__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.about-principle {
  padding: var(--renace-space-5);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 2rem rgba(23, 52, 71, 0.05);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.about-principle:hover {
  border-color: rgba(36, 117, 181, 0.2);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.about-principle__icon {
  margin-bottom: var(--renace-space-4);
}

.about-principle h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.about-principle p {
  color: var(--renace-color-text-muted);
}

.about-scope {
  background: var(--renace-color-primary-softest);
}

.about-scope__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.about-scope__panel {
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: var(--renace-shadow-sm);
}

.about-scope__panel h3 {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.about-scope__panel h3 i {
  color: var(--renace-color-brand-dark);
}

.about-scope__panel--not h3 i {
  color: var(--renace-color-text-muted);
}

.about-scope__panel ul {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.about-scope__panel li {
  position: relative;
  padding-left: 1.5rem;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.about-scope__panel li::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 0.45rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--renace-color-primary);
  content: "";
  transform: translateY(-50%);
}

.about-scope__panel--not li::before {
  background: var(--renace-color-border-strong);
}

.about-cta {
  padding-block: clamp(4rem, 9vw, 7rem);
  background: var(--renace-color-white);
}

.about-cta__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-5);
  padding: clamp(2rem, 6vw, 4rem);
  overflow: hidden;
  border-radius: var(--renace-radius-xl);
  background:
    radial-gradient(
      circle at 92% 12%,
      rgba(86, 171, 222, 0.26),
      transparent 22rem
    ),
    linear-gradient(140deg, var(--renace-color-brand-dark), #173447);
  color: rgba(255, 255, 255, 0.78);
  box-shadow: 0 1.5rem 4.5rem rgba(23, 52, 71, 0.18);
}

.about-cta__card::after {
  position: absolute;
  right: -8rem;
  bottom: -10rem;
  width: 24rem;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  content: "";
}

.about-cta__content,
.about-cta__actions {
  position: relative;
  z-index: 1;
}

.about-cta__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-primary);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.about-cta h2 {
  max-width: 12ch;
  color: var(--renace-color-white);
}

.about-cta p {
  max-width: 42rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.7);
  font-size: var(--renace-font-size-md);
}

.about-cta__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
}

.about-cta__contact {
  display: inline-flex;
  min-height: 3.25rem;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.5rem;
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
  font-weight: 700;
  text-decoration: none;
}

.about-cta__contact:hover {
  color: var(--renace-color-primary);
  text-decoration: none;
}

@media (prefers-reduced-motion: no-preference) {
  .about-orbit__ring--one {
    animation: about-orbit-spin 22s linear infinite;
  }

  .about-orbit__ring--two {
    animation: about-orbit-spin 16s linear infinite reverse;
  }
}

@keyframes about-orbit-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (min-width: 48rem) {
  .about-pillar-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-pillar-card:last-child {
    grid-column: 1 / -1;
  }

  .about-principles__grid,
  .about-scope__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .about-cta__card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .about-cta__actions {
    justify-content: flex-end;
  }
}

@media (min-width: 64rem) {
  .about-purpose__grid,
  .about-guide__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .about-guide__content {
    order: 1;
  }

  .about-guide__media {
    order: 2;
  }

  .about-pillar-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .about-pillar-card:last-child {
    grid-column: auto;
  }

  .about-principles__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 35.999rem) {
  .about-pillar-card {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .about-pillar-card__arrow {
    display: none;
  }

  .about-purpose__note {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* =========================================================
   25. Holistic Health Page
========================================================= */

.holistic-health-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.holistic-health-hero {
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(86, 171, 222, 0.19),
      transparent 31rem
    ),
    radial-gradient(
      circle at 8% 90%,
      rgba(36, 117, 181, 0.08),
      transparent 25rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f5fbfe 52%, #edf7fc 100%);
}

.holistic-health-hero::before {
  position: absolute;
  top: -14rem;
  right: -11rem;
  width: 34rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.holistic-health-map {
  position: relative;
  aspect-ratio: 1;
}

.holistic-health-map::before {
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(86, 171, 222, 0.11),
    rgba(86, 171, 222, 0) 68%
  );
  content: "";
}

.holistic-health-map__ring {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.holistic-health-map__ring--outer {
  inset: 3%;
}

.holistic-health-map__ring--inner {
  inset: 22%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.34);
}

.holistic-health-map__center,
.holistic-health-map__point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.94);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.85rem);
  -webkit-backdrop-filter: blur(0.85rem);
}

.holistic-health-map__center {
  top: 50%;
  left: 50%;
  width: 9rem;
  aspect-ratio: 1;
  border-radius: 2.25rem;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.holistic-health-map__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.75rem;
}

.holistic-health-map__center strong {
  max-width: 7rem;
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  line-height: 1.3;
}

.holistic-health-map__point {
  width: 8.25rem;
  min-height: 6rem;
  gap: 0.4rem;
  padding: 0.75rem;
  border-radius: 1.35rem;
  text-align: center;
}

.holistic-health-map__point i {
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.holistic-health-map__point span {
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 750;
  line-height: 1.3;
}

.holistic-health-map__point--emotional {
  top: 5%;
  left: 12%;
}

.holistic-health-map__point--nutrition {
  top: 31%;
  right: -1%;
}

.holistic-health-map__point--energy {
  right: 16%;
  bottom: 3%;
}

.holistic-health-meaning {
  background: var(--renace-color-white);
}

.holistic-health-meaning__grid,
.holistic-health-connections__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.holistic-health-meaning__media {
  position: relative;
}

.holistic-health-meaning__image {
  box-shadow: var(--renace-shadow-md);
}

.holistic-health-meaning__caption {
  position: relative;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-2);
  width: min(calc(100% - 2rem), 25rem);
  margin: -2.25rem auto 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.4;
  box-shadow: var(--renace-shadow-md);
}

.holistic-health-meaning__caption i {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.holistic-health-meaning__content h2,
.holistic-health-connections__content h2 {
  max-width: 14ch;
}

.holistic-health-pillars {
  background:
    radial-gradient(
      circle at 10% 12%,
      rgba(86, 171, 222, 0.12),
      transparent 25rem
    ),
    var(--renace-color-primary-softest);
  scroll-margin-top: 7rem;
}

.holistic-health-connections {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(
      circle at 88% 18%,
      rgba(86, 171, 222, 0.14),
      transparent 30rem
    ),
    linear-gradient(135deg, #f9fcfe 0%, #eef7fc 55%, #f8fbfd 100%);
}

.holistic-health-connections::before {
  position: absolute;
  bottom: -13rem;
  left: -11rem;
  width: 29rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.holistic-health-connections > .renace-container {
  position: relative;
  z-index: 1;
}

.holistic-health-connections__note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.78);
}

.holistic-health-connections__note > i {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.holistic-health-connections__note p {
  display: grid;
  gap: 0.25rem;
  margin: 0;
}

.holistic-health-connections__note strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.holistic-health-connections__note span {
  color: var(--renace-color-text-muted);
  line-height: 1.5;
}

.holistic-health-connections__visual {
  display: grid;
  min-height: 32rem;
  place-items: center;
}

.holistic-health-context-map {
  position: relative;
  width: min(88vw, 32rem);
  aspect-ratio: 1;
}

.holistic-health-context-map::before,
.holistic-health-context-map::after {
  position: absolute;
  inset: 12%;
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: 50%;
  content: "";
}

.holistic-health-context-map::after {
  inset: 28%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.3);
}

.holistic-health-context-map__center,
.holistic-health-context-map__item {
  position: absolute;
  z-index: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--renace-shadow-sm);
}

.holistic-health-context-map__center {
  top: 50%;
  left: 50%;
  width: 10rem;
  aspect-ratio: 1;
  gap: 0.25rem;
  padding: 1rem;
  border-radius: 2.5rem;
  text-align: center;
  transform: translate(-50%, -50%);
}

.holistic-health-context-map__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.5rem;
}

.holistic-health-context-map__center strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.holistic-health-context-map__center small {
  color: var(--renace-color-text-muted);
  font-size: 0.75rem;
  line-height: 1.35;
}

.holistic-health-context-map__item {
  width: 8.5rem;
  min-height: 4.75rem;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.5rem;
  padding: 0.7rem;
  border-radius: 1rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
}

.holistic-health-context-map__item i {
  color: var(--renace-color-brand-dark);
}

.holistic-health-context-map__item--one {
  top: 2%;
  left: 13%;
}

.holistic-health-context-map__item--two {
  top: 22%;
  right: -1%;
}

.holistic-health-context-map__item--three {
  right: 9%;
  bottom: 3%;
}

.holistic-health-context-map__item--four {
  bottom: 14%;
  left: -1%;
}

.holistic-health-explore {
  background: var(--renace-color-white);
}

.holistic-health-explore__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.holistic-health-explore__card {
  padding: var(--renace-space-5);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 2rem rgba(23, 52, 71, 0.045);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.holistic-health-explore__card:hover {
  border-color: rgba(36, 117, 181, 0.22);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.holistic-health-explore__card > i {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.holistic-health-explore__card h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.holistic-health-explore__card p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.holistic-health-start {
  background: var(--renace-color-primary-softest);
}

.holistic-health-start__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2.5rem, 7vw, 5rem);
  padding: clamp(2rem, 6vw, 4rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background:
    radial-gradient(
      circle at 94% 10%,
      rgba(86, 171, 222, 0.14),
      transparent 22rem
    ),
    var(--renace-color-white);
  box-shadow: var(--renace-shadow-md);
}

.holistic-health-start__content h2 {
  max-width: 14ch;
}

.holistic-health-start__content > p {
  max-width: 40rem;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
}

.holistic-health-start__summary {
  align-self: center;
  padding: var(--renace-space-5);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
}

.holistic-health-start__summary-icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.holistic-health-start__summary h3 {
  margin-bottom: var(--renace-space-2);
}

.holistic-health-start__summary p {
  color: var(--renace-color-text-muted);
}

.holistic-health-start__summary ul {
  display: grid;
  gap: var(--renace-space-2);
  margin: var(--renace-space-4) 0 0;
  padding: 0;
  list-style: none;
}

.holistic-health-start__summary li {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: 0.5rem;
  color: var(--renace-color-deep-blue);
  font-size: var(--renace-font-size-sm);
}

.holistic-health-start__summary li i {
  display: grid;
  width: 1.5rem;
  height: 1.5rem;
  place-items: center;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.65rem;
}

.holistic-health-scope {
  padding-block: var(--renace-space-5);
  background: var(--renace-color-deep-blue);
  color: rgba(255, 255, 255, 0.72);
}

.holistic-health-scope__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
}

.holistic-health-scope__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.12);
  color: var(--renace-color-primary);
}

.holistic-health-scope h2 {
  margin-bottom: 0.2rem;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-base);
  letter-spacing: 0;
}

.holistic-health-scope p {
  margin: 0;
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.holistic-health-scope .renace-inline-link {
  grid-column: 2;
  width: fit-content;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-sm);
}

.holistic-health-scope .renace-inline-link:hover {
  color: var(--renace-color-primary);
}

.holistic-health-cta {
  background: var(--renace-color-warm-white);
}

@media (prefers-reduced-motion: no-preference) {
  .holistic-health-map__ring--outer {
    animation: holistic-health-orbit 24s linear infinite;
  }

  .holistic-health-map__ring--inner {
    animation: holistic-health-orbit 17s linear infinite reverse;
  }

  .holistic-health-context-map::after {
    animation: holistic-health-orbit 20s linear infinite;
  }
}

@keyframes holistic-health-orbit {
  to {
    transform: rotate(360deg);
  }
}

@media (min-width: 48rem) {
  .holistic-health-explore__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .holistic-health-scope__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .holistic-health-scope .renace-inline-link {
    grid-column: auto;
  }
}

@media (min-width: 64rem) {
  .holistic-health-meaning__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .holistic-health-connections__grid {
    grid-template-columns: minmax(0, 0.94fr) minmax(25rem, 1.06fr);
  }

  .holistic-health-explore__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .holistic-health-start__card {
    grid-template-columns: minmax(0, 1.15fr) minmax(19rem, 0.85fr);
    align-items: center;
  }
}

@media (max-width: 35.999rem) {
  .holistic-health-connections__visual {
    min-height: 23rem;
  }

  .holistic-health-map__point {
    width: 7.25rem;
    min-height: 5.25rem;
    padding: 0.6rem;
  }

  .holistic-health-map__center {
    width: 7.75rem;
  }

  .holistic-health-map__point--emotional {
    left: 3%;
  }

  .holistic-health-map__point--nutrition {
    right: -3%;
  }

  .holistic-health-context-map {
    width: min(94vw, 27rem);
  }

  .holistic-health-context-map__center {
    width: 8.5rem;
  }

  .holistic-health-context-map__item {
    width: 7.25rem;
    grid-template-columns: 1.25rem minmax(0, 1fr);
    font-size: 0.6875rem;
  }

  .holistic-health-context-map__item--one {
    left: 3%;
  }

  .holistic-health-context-map__item--two {
    right: -3%;
  }

  .holistic-health-context-map__item--four {
    left: -3%;
  }

  .holistic-health-connections__note {
    grid-template-columns: minmax(0, 1fr);
  }

  .holistic-health-start__summary {
    padding: var(--renace-space-4);
  }
}

/* =========================================================
   26. Emotional Health Page
========================================================= */

.emotional-health-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.emotional-health-hero {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.18),
      transparent 28rem
    ),
    radial-gradient(
      circle at 8% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 23rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.emotional-health-hero::before {
  position: absolute;
  top: -13rem;
  right: -10rem;
  width: 31rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.emotional-health-compass {
  position: relative;
  aspect-ratio: 1;
}

.emotional-health-compass::before {
  position: absolute;
  inset: 6%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(86, 171, 222, 0.13),
    rgba(86, 171, 222, 0) 68%
  );
  content: "";
}

.emotional-health-compass__ring {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.emotional-health-compass__ring--outer {
  inset: 3%;
}

.emotional-health-compass__ring--inner {
  inset: 23%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.34);
}

.emotional-health-compass__center,
.emotional-health-compass__point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.95);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.85rem);
  -webkit-backdrop-filter: blur(0.85rem);
}

.emotional-health-compass__center {
  top: 50%;
  left: 50%;
  width: 8.25rem;
  aspect-ratio: 1;
  gap: 0.45rem;
  border-radius: 2.15rem;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.emotional-health-compass__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.65rem;
}

.emotional-health-compass__center strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.emotional-health-compass__point {
  width: 7.25rem;
  min-height: 5.25rem;
  gap: 0.35rem;
  padding: 0.7rem;
  border-radius: 1.25rem;
  text-align: center;
}

.emotional-health-compass__point i {
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.emotional-health-compass__point span {
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 750;
}

.emotional-health-compass__point--patterns {
  top: 4%;
  left: 12%;
}

.emotional-health-compass__point--context {
  top: 31%;
  right: -2%;
}

.emotional-health-compass__point--direction {
  right: 17%;
  bottom: 3%;
}

.emotional-health-meaning {
  background: var(--renace-color-white);
}

.emotional-health-meaning__grid,
.emotional-health-conversation__grid,
.emotional-health-fit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.emotional-health-meaning__media {
  position: relative;
}

.emotional-health-meaning__image {
  box-shadow: var(--renace-shadow-md);
}

.emotional-health-meaning__caption {
  position: relative;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-2);
  width: min(calc(100% - 2rem), 25rem);
  margin: -2.25rem auto 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.4;
  box-shadow: var(--renace-shadow-md);
}

.emotional-health-meaning__caption i {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.emotional-health-meaning__content h2,
.emotional-health-conversation__content h2,
.emotional-health-fit__content h2 {
  max-width: 14ch;
}

.emotional-health-explore {
  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(86, 171, 222, 0.12),
      transparent 24rem
    ),
    var(--renace-color-primary-softest);
  scroll-margin-top: 7rem;
}

.emotional-health-topic-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.emotional-health-topic {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.emotional-health-topic:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.emotional-health-topic__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.emotional-health-topic h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.emotional-health-topic p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.emotional-health-conversation {
  background: var(--renace-color-white);
}

.emotional-health-conversation__grid {
  align-items: start;
}

.emotional-health-conversation__content {
  position: sticky;
  top: 7rem;
}

.emotional-health-conversation__steps {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.emotional-health-conversation__step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
}

.emotional-health-conversation__step-number {
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  color: rgba(36, 117, 181, 0.24);
  font-family: var(--renace-font-heading);
  font-size: 1.1rem;
  font-weight: 800;
}

.emotional-health-conversation__step-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.emotional-health-conversation__step h3 {
  margin-bottom: 0.35rem;
  padding-right: 2rem;
  font-size: var(--renace-font-size-md);
}

.emotional-health-conversation__step p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.emotional-health-connections {
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(86, 171, 222, 0.12),
      transparent 26rem
    ),
    linear-gradient(135deg, #f8fcfe 0%, #eef7fc 52%, #f7fbfd 100%);
}

.emotional-health-connection-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.emotional-health-connection {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.emotional-health-connection:hover,
.emotional-health-connection:focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.emotional-health-connection__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.emotional-health-connection__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.emotional-health-connection__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.emotional-health-connection__content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.emotional-health-connection__arrow {
  color: var(--renace-color-brand-dark);
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.emotional-health-connection:hover .emotional-health-connection__arrow,
.emotional-health-connection:focus-visible .emotional-health-connection__arrow {
  transform: translateX(0.25rem);
}

.emotional-health-fit {
  background: var(--renace-color-white);
}

.emotional-health-fit__card {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.emotional-health-fit__note {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--renace-space-2);
  margin-top: var(--renace-space-5);
  padding: var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.emotional-health-fit__note i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.emotional-health-fit__note p {
  margin: 0;
}

.emotional-health-scope {
  padding-block: clamp(2.75rem, 6vw, 5rem);
  background: var(--renace-color-primary-softest);
}

.emotional-health-scope__card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-4);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.emotional-health-scope__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.emotional-health-scope__content h2 {
  max-width: 18ch;
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.emotional-health-scope__content p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.emotional-health-scope__card > .renace-inline-link {
  grid-column: 2;
  width: fit-content;
}

.emotional-health-cta {
  background: var(--renace-color-white);
}

.emotional-health-cta__contact {
  border-color: rgba(255, 255, 255, 0.48);
  color: var(--renace-color-white);
}

.emotional-health-cta__contact:hover,
.emotional-health-cta__contact:focus-visible {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

@media (min-width: 48rem) {
  .emotional-health-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .emotional-health-connection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .emotional-health-connection:first-child {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .emotional-health-meaning__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .emotional-health-topic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .emotional-health-conversation__grid,
  .emotional-health-fit__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .emotional-health-connection-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .emotional-health-connection:first-child {
    grid-column: auto;
  }
}

@media (max-width: 35.999rem) {
  .emotional-health-compass__point {
    width: 6.5rem;
    min-height: 4.75rem;
  }

  .emotional-health-conversation__content {
    position: static;
  }

  .emotional-health-connection {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    padding: var(--renace-space-3);
  }

  .emotional-health-connection__icon {
    width: 3rem;
    height: 3rem;
  }

  .emotional-health-scope__card {
    grid-template-columns: minmax(0, 1fr);
  }

  .emotional-health-scope__card > .renace-inline-link {
    grid-column: auto;
  }
}

/* =========================================================
   27. Conscious Nutrition Page
========================================================= */

.conscious-nutrition-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.conscious-nutrition-hero {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.17),
      transparent 28rem
    ),
    radial-gradient(
      circle at 10% 92%,
      rgba(158, 187, 165, 0.12),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f7fbfd 54%, #eef7f4 100%);
}

.conscious-nutrition-hero::before {
  position: absolute;
  top: -13rem;
  right: -10rem;
  width: 31rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.conscious-nutrition-rhythm {
  position: relative;
  aspect-ratio: 1;
}

.conscious-nutrition-rhythm::before {
  position: absolute;
  inset: 6%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(158, 187, 165, 0.17),
    rgba(86, 171, 222, 0) 68%
  );
  content: "";
}

.conscious-nutrition-rhythm__ring {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.conscious-nutrition-rhythm__ring--outer {
  inset: 3%;
}

.conscious-nutrition-rhythm__ring--inner {
  inset: 23%;
  border-style: dashed;
  border-color: rgba(158, 187, 165, 0.52);
}

.conscious-nutrition-rhythm__center,
.conscious-nutrition-rhythm__point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.95);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.85rem);
  -webkit-backdrop-filter: blur(0.85rem);
}

.conscious-nutrition-rhythm__center {
  top: 50%;
  left: 50%;
  width: 8.25rem;
  aspect-ratio: 1;
  gap: 0.45rem;
  border-radius: 2.15rem;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.conscious-nutrition-rhythm__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.65rem;
}

.conscious-nutrition-rhythm__center strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.conscious-nutrition-rhythm__point {
  width: 7.25rem;
  min-height: 5.25rem;
  gap: 0.35rem;
  padding: 0.7rem;
  border-radius: 1.25rem;
  text-align: center;
}

.conscious-nutrition-rhythm__point i {
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.conscious-nutrition-rhythm__point span {
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 750;
}

.conscious-nutrition-rhythm__point--choices {
  top: 4%;
  left: 12%;
}

.conscious-nutrition-rhythm__point--routines {
  top: 31%;
  right: -2%;
}

.conscious-nutrition-rhythm__point--context {
  right: 17%;
  bottom: 3%;
}

.conscious-nutrition-meaning {
  background: var(--renace-color-white);
}

.conscious-nutrition-meaning__grid,
.conscious-nutrition-conversation__grid,
.conscious-nutrition-fit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.conscious-nutrition-meaning__media {
  position: relative;
}

.conscious-nutrition-meaning__image {
  box-shadow: var(--renace-shadow-md);
}

.conscious-nutrition-meaning__caption {
  position: relative;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-2);
  width: min(calc(100% - 2rem), 25rem);
  margin: -2.25rem auto 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.4;
  box-shadow: var(--renace-shadow-md);
}

.conscious-nutrition-meaning__caption i {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-sage-soft);
  color: var(--renace-color-success);
}

.conscious-nutrition-meaning__content h2,
.conscious-nutrition-conversation__content h2,
.conscious-nutrition-fit__content h2 {
  max-width: 14ch;
}

.conscious-nutrition-explore {
  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(158, 187, 165, 0.16),
      transparent 24rem
    ),
    var(--renace-color-primary-softest);
  scroll-margin-top: 7rem;
}

.conscious-nutrition-topic-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.conscious-nutrition-topic {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.conscious-nutrition-topic:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.conscious-nutrition-topic__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 1rem;
  background: var(--renace-color-sage-soft);
  color: var(--renace-color-success);
  font-size: 1.1rem;
}

.conscious-nutrition-topic h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.conscious-nutrition-topic p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.conscious-nutrition-conversation {
  background: var(--renace-color-white);
}

.conscious-nutrition-conversation__grid {
  align-items: start;
}

.conscious-nutrition-conversation__content {
  position: sticky;
  top: 7rem;
}

.conscious-nutrition-conversation__steps {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.conscious-nutrition-conversation__step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
}

.conscious-nutrition-conversation__step-number {
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  color: rgba(36, 117, 181, 0.24);
  font-family: var(--renace-font-heading);
  font-size: 1.1rem;
  font-weight: 800;
}

.conscious-nutrition-conversation__step-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-sage-soft);
  color: var(--renace-color-success);
}

.conscious-nutrition-conversation__step h3 {
  margin-bottom: 0.35rem;
  padding-right: 2rem;
  font-size: var(--renace-font-size-md);
}

.conscious-nutrition-conversation__step p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.conscious-nutrition-connections {
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(86, 171, 222, 0.12),
      transparent 26rem
    ),
    linear-gradient(135deg, #f8fcfe 0%, #eef7fc 52%, #f7fbfd 100%);
}

.conscious-nutrition-connection-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.conscious-nutrition-connection {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.conscious-nutrition-connection:hover,
.conscious-nutrition-connection:focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.conscious-nutrition-connection__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.conscious-nutrition-connection__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.conscious-nutrition-connection__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.conscious-nutrition-connection__content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.conscious-nutrition-connection__arrow {
  color: var(--renace-color-brand-dark);
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.conscious-nutrition-connection:hover .conscious-nutrition-connection__arrow,
.conscious-nutrition-connection:focus-visible
  .conscious-nutrition-connection__arrow {
  transform: translateX(0.25rem);
}

.conscious-nutrition-fit {
  background: var(--renace-color-white);
}

.conscious-nutrition-fit__card {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.conscious-nutrition-fit__note {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--renace-space-2);
  margin-top: var(--renace-space-5);
  padding: var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.conscious-nutrition-fit__note i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.conscious-nutrition-fit__note p {
  margin: 0;
}

.conscious-nutrition-scope {
  padding-block: clamp(2.75rem, 6vw, 5rem);
  background: var(--renace-color-primary-softest);
}

.conscious-nutrition-scope__card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-4);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.conscious-nutrition-scope__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-sage-soft);
  color: var(--renace-color-success);
  font-size: 1.15rem;
}

.conscious-nutrition-scope__content h2 {
  max-width: 20ch;
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.conscious-nutrition-scope__content p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.conscious-nutrition-scope__card > .renace-inline-link {
  grid-column: 2;
  width: fit-content;
}

.conscious-nutrition-cta {
  background: var(--renace-color-white);
}

.conscious-nutrition-cta__contact {
  border-color: rgba(255, 255, 255, 0.48);
  color: var(--renace-color-white);
}

.conscious-nutrition-cta__contact:hover,
.conscious-nutrition-cta__contact:focus-visible {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

@media (min-width: 48rem) {
  .conscious-nutrition-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .conscious-nutrition-connection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .conscious-nutrition-connection:first-child {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .conscious-nutrition-meaning__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .conscious-nutrition-topic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .conscious-nutrition-conversation__grid,
  .conscious-nutrition-fit__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .conscious-nutrition-connection-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .conscious-nutrition-connection:first-child {
    grid-column: auto;
  }
}

@media (max-width: 35.999rem) {
  .conscious-nutrition-rhythm__point {
    width: 6.5rem;
    min-height: 4.75rem;
  }

  .conscious-nutrition-conversation__content {
    position: static;
  }

  .conscious-nutrition-connection {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    padding: var(--renace-space-3);
  }

  .conscious-nutrition-connection__icon {
    width: 3rem;
    height: 3rem;
  }

  .conscious-nutrition-scope__card {
    grid-template-columns: minmax(0, 1fr);
  }

  .conscious-nutrition-scope__card > .renace-inline-link {
    grid-column: auto;
  }
}

/* =========================================================
   28. Vibrational Energy Page
========================================================= */

.vibrational-energy-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.vibrational-energy-hero {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.18),
      transparent 28rem
    ),
    radial-gradient(
      circle at 8% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 52%, #eef6fb 100%);
}

.vibrational-energy-hero::before {
  position: absolute;
  top: -13rem;
  right: -10rem;
  width: 31rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.vibrational-energy-field {
  position: relative;
  aspect-ratio: 1;
}

.vibrational-energy-field::before {
  position: absolute;
  inset: 5%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(86, 171, 222, 0.17),
    rgba(86, 171, 222, 0) 68%
  );
  content: "";
}

.vibrational-energy-field__ring {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.vibrational-energy-field__ring--outer {
  inset: 2%;
}

.vibrational-energy-field__ring--middle {
  inset: 16%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.38);
}

.vibrational-energy-field__ring--inner {
  inset: 31%;
  border-color: rgba(36, 117, 181, 0.16);
}

.vibrational-energy-field__center,
.vibrational-energy-field__point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.95);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.85rem);
  -webkit-backdrop-filter: blur(0.85rem);
}

.vibrational-energy-field__center {
  top: 50%;
  left: 50%;
  width: 8.25rem;
  aspect-ratio: 1;
  gap: 0.45rem;
  border-radius: 2.15rem;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.vibrational-energy-field__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.65rem;
}

.vibrational-energy-field__center strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.vibrational-energy-field__point {
  width: 7.25rem;
  min-height: 5.25rem;
  gap: 0.35rem;
  padding: 0.7rem;
  border-radius: 1.25rem;
  text-align: center;
}

.vibrational-energy-field__point i {
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.vibrational-energy-field__point span {
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 750;
}

.vibrational-energy-field__point--rhythm {
  top: 4%;
  left: 12%;
}

.vibrational-energy-field__point--environment {
  top: 31%;
  right: -2%;
}

.vibrational-energy-field__point--response {
  right: 17%;
  bottom: 3%;
}

.vibrational-energy-meaning {
  background: var(--renace-color-white);
}

.vibrational-energy-meaning__grid,
.vibrational-energy-conversation__grid,
.vibrational-energy-fit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.vibrational-energy-meaning__media {
  position: relative;
}

.vibrational-energy-meaning__image {
  box-shadow: var(--renace-shadow-md);
}

.vibrational-energy-meaning__caption {
  position: relative;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-2);
  width: min(calc(100% - 2rem), 26rem);
  margin: -2.25rem auto 0;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.4;
  box-shadow: var(--renace-shadow-md);
}

.vibrational-energy-meaning__caption i {
  display: grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.vibrational-energy-meaning__content h2,
.vibrational-energy-conversation__content h2,
.vibrational-energy-fit__content h2 {
  max-width: 15ch;
}

.vibrational-energy-explore {
  background:
    radial-gradient(
      circle at 10% 10%,
      rgba(86, 171, 222, 0.13),
      transparent 24rem
    ),
    var(--renace-color-primary-softest);
  scroll-margin-top: 7rem;
}

.vibrational-energy-topic-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.vibrational-energy-topic {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.vibrational-energy-topic:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.vibrational-energy-topic__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.vibrational-energy-topic h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.vibrational-energy-topic p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.vibrational-energy-conversation {
  background: var(--renace-color-white);
}

.vibrational-energy-conversation__grid {
  align-items: start;
}

.vibrational-energy-conversation__content {
  position: sticky;
  top: 7rem;
}

.vibrational-energy-conversation__steps {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.vibrational-energy-conversation__step {
  position: relative;
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
}

.vibrational-energy-conversation__step-number {
  position: absolute;
  top: 0.8rem;
  right: 1rem;
  color: rgba(36, 117, 181, 0.24);
  font-family: var(--renace-font-heading);
  font-size: 1.1rem;
  font-weight: 800;
}

.vibrational-energy-conversation__step-icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.vibrational-energy-conversation__step h3 {
  margin-bottom: 0.35rem;
  padding-right: 2rem;
  font-size: var(--renace-font-size-md);
}

.vibrational-energy-conversation__step p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.vibrational-energy-connections {
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(86, 171, 222, 0.12),
      transparent 26rem
    ),
    linear-gradient(135deg, #f8fcfe 0%, #eef7fc 52%, #f7fbfd 100%);
}

.vibrational-energy-connection-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.vibrational-energy-connection {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.vibrational-energy-connection:hover,
.vibrational-energy-connection:focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.vibrational-energy-connection__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.vibrational-energy-connection__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.vibrational-energy-connection__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.vibrational-energy-connection__content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.vibrational-energy-connection__arrow {
  color: var(--renace-color-brand-dark);
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.vibrational-energy-connection:hover .vibrational-energy-connection__arrow,
.vibrational-energy-connection:focus-visible
  .vibrational-energy-connection__arrow {
  transform: translateX(0.25rem);
}

.vibrational-energy-fit {
  background: var(--renace-color-white);
}

.vibrational-energy-fit__card {
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.vibrational-energy-fit__note {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: var(--renace-space-2);
  margin-top: var(--renace-space-5);
  padding: var(--renace-space-3);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-white);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.vibrational-energy-fit__note i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.vibrational-energy-fit__note p {
  margin: 0;
}

.vibrational-energy-scope {
  padding-block: clamp(2.75rem, 6vw, 5rem);
  background: var(--renace-color-primary-softest);
}

.vibrational-energy-scope__card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-4);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.vibrational-energy-scope__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.vibrational-energy-scope__content h2 {
  max-width: 22ch;
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.vibrational-energy-scope__content p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.vibrational-energy-scope__card > .renace-inline-link {
  grid-column: 2;
  width: fit-content;
}

.vibrational-energy-cta {
  background: var(--renace-color-white);
}

.vibrational-energy-cta__contact {
  border-color: rgba(255, 255, 255, 0.48);
  color: var(--renace-color-white);
}

.vibrational-energy-cta__contact:hover,
.vibrational-energy-cta__contact:focus-visible {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

@media (prefers-reduced-motion: no-preference) {
  .vibrational-energy-field__ring--outer {
    animation: vibrational-energy-orbit 24s linear infinite;
  }

  .vibrational-energy-field__ring--middle {
    animation: vibrational-energy-orbit 18s linear infinite reverse;
  }
}

@keyframes vibrational-energy-orbit {
  to {
    transform: rotate(360deg);
  }
}

@media (min-width: 48rem) {
  .vibrational-energy-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vibrational-energy-connection-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vibrational-energy-connection:first-child {
    grid-column: 1 / -1;
  }
}

@media (min-width: 64rem) {
  .vibrational-energy-meaning__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .vibrational-energy-topic-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vibrational-energy-conversation__grid,
  .vibrational-energy-fit__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }

  .vibrational-energy-connection-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .vibrational-energy-connection:first-child {
    grid-column: auto;
  }
}

@media (max-width: 35.999rem) {
  .vibrational-energy-field__point {
    width: 6.5rem;
    min-height: 4.75rem;
  }

  .vibrational-energy-conversation__content {
    position: static;
  }

  .vibrational-energy-connection {
    grid-template-columns: 3rem minmax(0, 1fr) auto;
    padding: var(--renace-space-3);
  }

  .vibrational-energy-connection__icon {
    width: 3rem;
    height: 3rem;
  }

  .vibrational-energy-scope__card {
    grid-template-columns: minmax(0, 1fr);
  }

  .vibrational-energy-scope__card > .renace-inline-link {
    grid-column: auto;
  }
}

/* =========================================================
   29. FAQ Page
========================================================= */

.faq-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

.faq-hero {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.18),
      transparent 28rem
    ),
    radial-gradient(
      circle at 8% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 23rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.faq-hero::before {
  position: absolute;
  top: -13rem;
  right: -10rem;
  width: 31rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.faq-question-map {
  position: relative;
  aspect-ratio: 1;
}

.faq-question-map::before {
  position: absolute;
  inset: 6%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(86, 171, 222, 0.14),
    rgba(86, 171, 222, 0) 68%
  );
  content: "";
}

.faq-question-map__ring {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.2);
  border-radius: 50%;
}

.faq-question-map__ring--outer {
  inset: 3%;
}

.faq-question-map__ring--inner {
  inset: 23%;
  border-style: dashed;
  border-color: rgba(86, 171, 222, 0.34);
}

.faq-question-map__center,
.faq-question-map__card {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 1px solid rgba(36, 117, 181, 0.14);
  background: rgba(255, 255, 255, 0.95);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.85rem);
  -webkit-backdrop-filter: blur(0.85rem);
}

.faq-question-map__center {
  top: 50%;
  left: 50%;
  width: 8.25rem;
  aspect-ratio: 1;
  gap: 0.4rem;
  border-radius: 2.15rem;
  text-align: center;
  transform: translate(-50%, -50%) rotate(-3deg);
}

.faq-question-map__center i {
  color: var(--renace-color-brand-dark);
  font-size: 1.75rem;
}

.faq-question-map__center strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.faq-question-map__card {
  width: 7.5rem;
  min-height: 5.25rem;
  gap: 0.35rem;
  padding: 0.7rem;
  border-radius: 1.25rem;
  text-align: center;
}

.faq-question-map__card i {
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.faq-question-map__card span {
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 750;
}

.faq-question-map__card--understand {
  top: 4%;
  left: 10%;
}

.faq-question-map__card--prepare {
  top: 31%;
  right: -2%;
}

.faq-question-map__card--decide {
  right: 15%;
  bottom: 3%;
}

.faq-directory {
  background: var(--renace-color-white);
}

.faq-quick-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.faq-quick-nav__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  min-height: 5rem;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.faq-quick-nav__item:hover,
.faq-quick-nav__item:focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.faq-quick-nav__icon {
  display: grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.faq-quick-nav__content {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.faq-quick-nav__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
}

.faq-quick-nav__content small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-xs);
}

.faq-quick-nav__arrow {
  color: var(--renace-color-brand-dark);
  font-size: 0.75rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.faq-quick-nav__item:hover .faq-quick-nav__arrow,
.faq-quick-nav__item:focus-visible .faq-quick-nav__arrow {
  transform: translateY(0.2rem);
}

.faq-category-list {
  display: grid;
  gap: var(--renace-space-5);
}

.faq-category {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-5);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  scroll-margin-top: 7rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-xl);
  background: var(--renace-color-white);
  box-shadow: 0 0.75rem 2.5rem rgba(23, 52, 71, 0.05);
}

.faq-category:nth-child(even) {
  background: var(--renace-color-primary-softest);
}

.faq-category__header {
  align-self: start;
}

.faq-category__icon {
  display: grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.faq-category__eyebrow {
  display: block;
  margin-bottom: 0.5rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.faq-category__header h2 {
  max-width: 13ch;
  margin-bottom: var(--renace-space-3);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.faq-category__header p {
  max-width: 30rem;
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.faq-category .renace-faq-item {
  background: rgba(255, 255, 255, 0.94);
}

.faq-category .renace-faq-item__question {
  min-height: 4.5rem;
}

.faq-category .renace-faq-item__answer {
  padding-right: clamp(1.25rem, 4vw, 2rem);
  padding-bottom: 1.35rem;
  padding-left: clamp(1.25rem, 4vw, 2rem);
}

.faq-category .renace-faq-item__answer p {
  max-width: 52rem;
  line-height: 1.65;
}

.faq-explore {
  position: relative;
  overflow: hidden;
}

.faq-explore__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.faq-explore__content h2 {
  max-width: 14ch;
}

.faq-pillar-links {
  display: grid;
  gap: var(--renace-space-3);
}

.faq-pillar-link {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  min-height: 5.25rem;
  padding: 0.875rem 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.88);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.faq-pillar-link:hover,
.faq-pillar-link:focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  box-shadow: var(--renace-shadow-md);
  transform: translateX(0.25rem);
}

.faq-pillar-link__icon {
  display: grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.faq-pillar-link > span:nth-child(2) {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.faq-pillar-link strong {
  font-family: var(--renace-font-heading);
}

.faq-pillar-link small {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.35;
}

.faq-pillar-link > i {
  color: var(--renace-color-brand-dark);
  font-size: 0.75rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.faq-pillar-link:hover > i,
.faq-pillar-link:focus-visible > i {
  transform: translateX(0.2rem);
}

.faq-support {
  background: var(--renace-color-white);
}

.faq-support__card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-5);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background:
    radial-gradient(
      circle at 96% 5%,
      rgba(86, 171, 222, 0.16),
      transparent 20rem
    ),
    var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.faq-support__content {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-4);
}

.faq-support__icon {
  display: grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.2rem;
}

.faq-support__content .renace-eyebrow {
  margin-bottom: var(--renace-space-2);
}

.faq-support__content h2 {
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.faq-support__content p {
  max-width: 42rem;
  margin: 0;
  color: var(--renace-color-text-muted);
}

.faq-support__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
}

.faq-scope-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-4);
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.faq-scope-note > i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.faq-scope-note p {
  margin: 0;
}

.faq-scope-note a {
  margin-left: 0.35rem;
  font-family: var(--renace-font-heading);
  font-weight: 700;
}

.faq-final-cta {
  background: var(--renace-color-warm-white);
}

@media (prefers-reduced-motion: no-preference) {
  .faq-question-map__ring--outer {
    animation: faq-map-spin 24s linear infinite;
  }

  .faq-question-map__ring--inner {
    animation: faq-map-spin 17s linear infinite reverse;
  }
}

@keyframes faq-map-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (min-width: 40rem) {
  .faq-quick-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 48rem) {
  .faq-support__card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .faq-support__actions {
    justify-content: flex-end;
  }
}

@media (min-width: 64rem) {
  .faq-quick-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .faq-category {
    grid-template-columns: minmax(15rem, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(2rem, 5vw, 5rem);
  }

  .faq-category__header {
    position: sticky;
    top: 7rem;
  }

  .faq-explore__grid {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }
}

@media (max-width: 35.999rem) {
  .faq-question-map__card {
    width: 6.5rem;
    min-height: 4.75rem;
  }

  .faq-category {
    padding: var(--renace-space-4);
    border-radius: var(--renace-radius-lg);
  }

  .faq-category .renace-faq-item__question {
    grid-template-columns: minmax(0, 1fr) 2.25rem;
    padding: 1rem;
  }

  .faq-category .renace-faq-item__question i {
    width: 2.25rem;
    height: 2.25rem;
  }

  .faq-support__content {
    grid-template-columns: minmax(0, 1fr);
  }

  .faq-support__actions {
    align-items: stretch;
  }

  .faq-support__actions .renace-button {
    width: 100%;
  }

  .faq-scope-note a {
    display: block;
    margin-top: 0.35rem;
    margin-left: 0;
  }
}

/* =========================================================
   30. Book an Appointment Page
========================================================= */

.book-appointment-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

/* ---------------------------------------------------------
   30.1. Hero
--------------------------------------------------------- */

.book-appointment-hero {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.2),
      transparent 29rem
    ),
    radial-gradient(
      circle at 7% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.book-appointment-hero::before {
  position: absolute;
  top: -13rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.book-appointment-hero > .renace-container {
  position: relative;
}

.book-appointment-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

.book-appointment-hero__content {
  max-width: 52rem;
}

.book-appointment-hero__content .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.3vw, 1.25rem);
}

.book-appointment-hero__content h1 {
  max-width: 17ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

.book-appointment-hero__content .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

.book-appointment-hero__content .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

.book-appointment-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.125rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space, 1.75rem);
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.book-appointment-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.book-appointment-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.book-appointment-hero__visual {
  position: relative;
  display: grid;
  min-height: 24.5rem;
  place-items: center;
}

.book-appointment-preview {
  position: relative;
  width: min(100%, 28rem);
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 1.75rem 4.5rem rgba(23, 52, 71, 0.14);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.book-appointment-preview::before {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: 5rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.12);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.book-appointment-preview__header {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-3);
  margin-bottom: var(--renace-space-3);
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(36, 117, 181, 0.12);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-brand-dark);
}

.book-appointment-preview__status {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
  line-height: 1.35;
}

.book-appointment-preview__status--embed i,
.book-appointment-preview__status--link i,
.book-appointment-preview__status--form i {
  color: var(--renace-color-success);
}

.book-appointment-preview__status--pending i {
  color: var(--renace-color-warning);
}

.book-appointment-preview__steps {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.book-appointment-preview__steps li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: center;
  gap: 0.75rem;
  padding: 0.9rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
}

.book-appointment-preview__steps li > span {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: 0.75rem;
  font-weight: 800;
}

.book-appointment-preview__steps div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.book-appointment-preview__steps strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  line-height: 1.3;
}

.book-appointment-preview__steps small {
  color: var(--renace-color-text-muted);
  line-height: 1.4;
}

/* ---------------------------------------------------------
   30.2. Scheduler and integration states
--------------------------------------------------------- */

.book-appointment-scheduler {
  background: var(--renace-color-white);
  scroll-margin-top: 7rem;
}

.book-appointment-scheduler__heading {
  max-width: 52rem;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.book-appointment-scheduler__heading h2 {
  max-width: 19ch;
}

.book-appointment-scheduler__heading > p {
  max-width: 46rem;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
}

.book-appointment-scheduler__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
}

.book-appointment-scheduler__main {
  min-width: 0;
}

.book-appointment-form-shell,
.book-appointment-calendar-shell {
  overflow: hidden;
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-xl);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-md);
}

.book-appointment-shell-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--renace-space-4);
  padding: clamp(1.5rem, 4vw, 2.25rem);
  border-bottom: 1px solid var(--renace-color-border);
  background:
    radial-gradient(
      circle at 96% 0%,
      rgba(86, 171, 222, 0.14),
      transparent 18rem
    ),
    var(--renace-color-primary-softest);
}

.book-appointment-shell-header > div {
  min-width: 0;
}

.book-appointment-shell-header__eyebrow {
  display: inline-flex;
  margin-bottom: 0.55rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.book-appointment-shell-header h3 {
  max-width: 25ch;
  margin: 0;
  font-size: clamp(1.4rem, 2.4vw, 1.85rem);
  line-height: 1.25;
}

.book-appointment-shell-header__badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(52, 122, 92, 0.18);
  border-radius: var(--renace-radius-round);
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 750;
  line-height: 1.3;
  white-space: nowrap;
}

.book-appointment-shell-header__badge--notice {
  border-color: rgba(166, 100, 35, 0.18);
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.book-appointment-embed {
  position: relative;
  min-height: 44rem;
  background: var(--renace-color-primary-softest);
}

.book-appointment-embed iframe {
  width: 100%;
  min-height: 44rem;
  border: 0;
  background: var(--renace-color-white);
}

.book-appointment-embed__fallback {
  margin: 0;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--renace-color-border);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  text-align: center;
}

.book-appointment-link-shell,
.book-appointment-pending-shell {
  position: relative;
  display: flex;
  min-height: 31rem;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 6vw, 4rem);
  overflow: hidden;
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: var(--renace-radius-xl);
  background:
    radial-gradient(
      circle at 92% 10%,
      rgba(86, 171, 222, 0.18),
      transparent 22rem
    ),
    var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-md);
}

.book-appointment-link-shell::after,
.book-appointment-pending-shell::after {
  position: absolute;
  right: -8rem;
  bottom: -10rem;
  width: 24rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.book-appointment-link-shell__icon,
.book-appointment-pending-shell__icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  width: 4rem;
  height: 4rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1.25rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.35rem;
}

.book-appointment-pending-shell__icon {
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.book-appointment-link-shell__eyebrow,
.book-appointment-pending-shell__eyebrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  margin-bottom: 0.75rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.book-appointment-link-shell h3,
.book-appointment-pending-shell h3 {
  position: relative;
  z-index: 1;
  max-width: 20ch;
  margin-bottom: var(--renace-space-3);
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
}

.book-appointment-link-shell p,
.book-appointment-pending-shell p {
  position: relative;
  z-index: 1;
  max-width: 40rem;
  margin-bottom: var(--renace-space-5);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
}

.book-appointment-link-shell .renace-button,
.book-appointment-pending-shell__actions {
  position: relative;
  z-index: 1;
}

.book-appointment-pending-shell__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-3);
}

/* ---------------------------------------------------------
   30.3. Contact Form 7 appointment wizard
--------------------------------------------------------- */

.book-appointment-request-form {
  padding: clamp(1rem, 3vw, 1.75rem);
}

.book-appointment-request-form .wpcf7,
.book-appointment-request-form .wpcf7-form {
  margin: 0;
}

.book-appointment-request-form .wpcf7-form > p,
.book-appointment-request-form .wpcf7-form > p:empty {
  margin: 0;
}

/* Fallback only. The preferred fix remains WPCF7_AUTOP = false. */
.book-appointment-request-form .wpcf7-form > br {
  display: none;
}

.book-appointment-request-form .book-appointment-form,
.book-appointment-wizard {
  display: grid;
  gap: clamp(1rem, 2.5vw, 1.5rem);
}

.book-appointment-form__privacy-note {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.book-appointment-form__privacy-icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.book-appointment-form__privacy-content {
  min-width: 0;
}

.book-appointment-form__privacy-content strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  line-height: 1.4;
}

.book-appointment-form__privacy-content p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

/* Wizard progress */
.book-appointment-wizard__progress {
  display: grid;
  gap: 0.875rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.12),
      transparent 15rem
    ),
    var(--renace-color-primary-softest);
}

.book-appointment-wizard__progress-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-3);
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  line-height: 1.35;
}

.book-appointment-wizard__progress-meta > span:first-child {
  color: var(--renace-color-deep-blue);
  font-weight: 750;
}

.book-appointment-wizard__progress-status strong {
  color: var(--renace-color-brand-dark);
}

.book-appointment-wizard__progress-track {
  position: relative;
  height: 0.375rem;
  overflow: hidden;
  border-radius: var(--renace-radius-round);
  background: rgba(36, 117, 181, 0.12);
}

.book-appointment-wizard__progress-bar {
  display: block;
  width: 33.333%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(
    90deg,
    var(--renace-color-brand-dark),
    var(--renace-color-primary)
  );
  transition: width var(--renace-duration-slow) var(--renace-ease-emphasized);
}

.book-appointment-wizard__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.625rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.book-appointment-wizard__step {
  display: grid;
  grid-template-columns: 2.25rem minmax(0, 1fr);
  align-items: center;
  gap: 0.625rem;
  min-width: 0;
  padding: 0.7rem;
  border: 1px solid transparent;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-text-muted);
  opacity: 0.72;
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    color var(--renace-duration-standard) var(--renace-ease-standard),
    opacity var(--renace-duration-standard) var(--renace-ease-standard);
}

.book-appointment-wizard__step.is-active {
  border-color: rgba(36, 117, 181, 0.18);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  opacity: 1;
  box-shadow: 0 0.4rem 1.4rem rgba(23, 52, 71, 0.05);
}

.book-appointment-wizard__step.is-complete {
  color: var(--renace-color-deep-blue);
  opacity: 1;
}

.book-appointment-wizard__step-number {
  display: inline-grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 0.75rem;
  background: rgba(36, 117, 181, 0.1);
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  transition:
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    color var(--renace-duration-standard) var(--renace-ease-standard);
}

.book-appointment-wizard__step.is-active .book-appointment-wizard__step-number {
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
}

.book-appointment-wizard__step.is-complete
  .book-appointment-wizard__step-number {
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
}

.book-appointment-wizard__step-copy {
  display: grid;
  gap: 0.08rem;
  min-width: 0;
}

.book-appointment-wizard__step-copy strong {
  overflow: hidden;
  font-family: var(--renace-font-heading);
  font-size: 0.8125rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.book-appointment-wizard__step-copy small {
  overflow: hidden;
  color: inherit;
  font-size: 0.6875rem;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Wizard panels */
.book-appointment-wizard__panel {
  display: grid;
  gap: clamp(1.25rem, 3vw, 1.75rem);
  padding: clamp(1.25rem, 3vw, 1.8rem);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.045);
}

.js .book-appointment-wizard__panel:not(.is-active) {
  display: none;
}

.book-appointment-wizard__panel.is-active {
  display: grid;
}

@media (prefers-reduced-motion: no-preference) {
  .book-appointment-wizard__panel.is-active {
    animation: renace-booking-panel-enter 260ms var(--renace-ease-emphasized)
      both;
  }
}

@keyframes renace-booking-panel-enter {
  from {
    opacity: 0;
    transform: translateY(0.5rem);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.book-appointment-form__section-heading {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding-bottom: var(--renace-space-3);
  border-bottom: 1px solid var(--renace-color-border);
}

.book-appointment-form__step {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
}

.book-appointment-form__section-heading h3 {
  margin-bottom: 0.2rem;
  font-size: clamp(1.15rem, 2vw, 1.35rem);
  letter-spacing: -0.02em;
}

.book-appointment-form__section-heading p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.book-appointment-form .renace-form__grid {
  gap: var(--renace-space-4);
}

.book-appointment-form .renace-field {
  min-width: 0;
}

.book-appointment-form .renace-field.is-error {
  padding: 0.75rem;
  border: 1px solid rgba(182, 67, 67, 0.18);
  border-radius: var(--renace-radius-sm);
  background: rgba(255, 240, 240, 0.52);
}

.book-appointment-form .renace-field__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
}

.renace-field__optional {
  display: inline-flex;
  align-items: center;
  padding: 0.2rem 0.45rem;
  border-radius: var(--renace-radius-round);
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.625rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.book-appointment-request-form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.book-appointment-request-form
  :where(
    input.wpcf7-text,
    input.wpcf7-email,
    input.wpcf7-tel,
    input.wpcf7-date,
    select.wpcf7-select,
    textarea.wpcf7-textarea
  ) {
  width: 100%;
  min-height: 3.35rem;
  margin: 0;
  padding: 0.85rem 1rem;
  border: 1px solid var(--renace-color-border-strong);
  border-radius: var(--renace-radius-sm);
  outline: 0;
  background: var(--renace-color-white);
  color: var(--renace-color-text);
  font-family: var(--renace-font-body);
  font-size: var(--renace-font-size-base);
  line-height: 1.4;
  box-shadow: none;
  transition:
    border-color var(--renace-duration-fast) var(--renace-ease-standard),
    box-shadow var(--renace-duration-fast) var(--renace-ease-standard),
    background-color var(--renace-duration-fast) var(--renace-ease-standard);
}

.book-appointment-request-form textarea.wpcf7-textarea {
  min-height: 9rem;
  resize: vertical;
}

.book-appointment-request-form select.wpcf7-select {
  padding-right: 2.75rem;
  appearance: none;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--renace-color-deep-blue) 50%),
    linear-gradient(135deg, var(--renace-color-deep-blue) 50%, transparent 50%);
  background-position:
    calc(100% - 1.15rem) 50%,
    calc(100% - 0.85rem) 50%;
  background-size:
    0.35rem 0.35rem,
    0.35rem 0.35rem;
  background-repeat: no-repeat;
}

.book-appointment-request-form
  :where(
    input.wpcf7-text,
    input.wpcf7-email,
    input.wpcf7-tel,
    input.wpcf7-date,
    select.wpcf7-select,
    textarea.wpcf7-textarea
  )::placeholder {
  color: #7b8b93;
  opacity: 1;
}

.book-appointment-request-form
  :where(
    input.wpcf7-text,
    input.wpcf7-email,
    input.wpcf7-tel,
    input.wpcf7-date,
    select.wpcf7-select,
    textarea.wpcf7-textarea
  ):hover {
  border-color: #94b4c1;
}

.book-appointment-request-form
  :where(
    input.wpcf7-text,
    input.wpcf7-email,
    input.wpcf7-tel,
    input.wpcf7-date,
    select.wpcf7-select,
    textarea.wpcf7-textarea
  ):focus {
  border-color: var(--renace-color-primary);
  box-shadow: var(--renace-shadow-focus);
}

.book-appointment-request-form
  :where(
    input.wpcf7-text,
    input.wpcf7-email,
    input.wpcf7-tel,
    input.wpcf7-date,
    select.wpcf7-select,
    textarea.wpcf7-textarea
  ).wpcf7-not-valid,
.book-appointment-form .renace-field.is-error :where(input, select, textarea) {
  border-color: var(--renace-color-error);
  background: var(--renace-color-error-soft);
}

.book-appointment-request-form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 0.45rem;
  color: var(--renace-color-error);
  font-size: var(--renace-font-size-sm);
  font-weight: 650;
  line-height: 1.4;
}

.book-appointment-form__counter {
  display: flex;
  justify-content: flex-end;
  gap: 0.3rem;
  margin-top: 0.45rem;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-xs);
  line-height: 1.4;
}

.book-appointment-form__counter .wpcf7-character-count {
  color: var(--renace-color-brand-dark);
  font-weight: 750;
}

/* Wizard navigation */
.book-appointment-wizard__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-3);
  padding-top: var(--renace-space-2);
  border-top: 1px solid var(--renace-color-border);
}

.book-appointment-wizard__actions--end {
  justify-content: flex-end;
}

.book-appointment-wizard__actions .renace-button {
  min-width: 9rem;
}

/* Review summary */
.book-appointment-wizard__review {
  display: grid;
  gap: var(--renace-space-4);
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.book-appointment-wizard__review-heading {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
}

.book-appointment-wizard__review-icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.book-appointment-wizard__review-heading h4 {
  margin-bottom: 0.15rem;
  font-size: var(--renace-font-size-md);
  letter-spacing: -0.015em;
}

.book-appointment-wizard__review-heading p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.book-appointment-wizard__review-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.625rem;
  margin: 0;
}

.book-appointment-wizard__review-item {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  padding: 0.8rem 0.9rem;
  border: 1px solid rgba(36, 117, 181, 0.11);
  border-radius: var(--renace-radius-sm);
  background: rgba(255, 255, 255, 0.88);
}

.book-appointment-wizard__review-item dt {
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.book-appointment-wizard__review-item dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--renace-color-deep-blue);
  font-weight: 650;
  line-height: 1.4;
}

.book-appointment-form__acceptance {
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.book-appointment-form__acceptance .wpcf7-form-control-wrap,
.book-appointment-form__acceptance .wpcf7-acceptance,
.book-appointment-form__acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
}

.book-appointment-form__acceptance label {
  display: grid;
  grid-template-columns: 1.2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.75rem;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
  cursor: pointer;
}

.book-appointment-form__acceptance input[type="checkbox"] {
  width: 1.2rem;
  height: 1.2rem;
  margin: 0.2rem 0 0;
  accent-color: var(--renace-color-brand-dark);
}

.book-appointment-form__acceptance .wpcf7-list-item-label {
  min-width: 0;
}

.book-appointment-form__acceptance a {
  color: var(--renace-color-brand-dark);
  font-weight: 700;
}

.book-appointment-form__submit-area {
  display: grid;
  gap: var(--renace-space-4);
  padding: clamp(1rem, 2.5vw, 1.4rem);
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: var(--renace-radius-md);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.13),
      transparent 18rem
    ),
    var(--renace-color-primary-softest);
}

.book-appointment-form__submit-copy {
  display: grid;
  gap: 0.2rem;
}

.book-appointment-form__submit-copy strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  line-height: 1.4;
}

.book-appointment-form__submit-copy span {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.book-appointment-form__submit-area .book-appointment-wizard__actions {
  padding-top: var(--renace-space-3);
}

.book-appointment-form__submit-area .renace-form__actions {
  position: relative;
  margin: 0;
}

.book-appointment-request-form input.wpcf7-submit.renace-button {
  width: auto;
  min-height: 3.35rem;
  margin: 0;
  padding: 0.9rem 1.4rem;
  border: 1px solid var(--renace-color-primary);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  font-weight: 750;
  line-height: 1.2;
  text-transform: none;
  box-shadow: var(--renace-shadow-sm);
}

.book-appointment-request-form input.wpcf7-submit.renace-button:hover,
.book-appointment-request-form input.wpcf7-submit.renace-button:focus-visible {
  border-color: var(--renace-color-primary-hover);
  background: var(--renace-color-primary-hover);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
}

.book-appointment-request-form input.wpcf7-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.book-appointment-request-form .wpcf7-spinner {
  margin: 0 0 0 0.75rem;
  vertical-align: middle;
}

.book-appointment-request-form .wpcf7-response-output {
  margin: var(--renace-space-4) 0 0;
  padding: 1rem 1.1rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.book-appointment-request-form form.sent .wpcf7-response-output {
  border-color: rgba(52, 122, 92, 0.28);
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
}

.book-appointment-request-form
  form:is(.invalid, .unaccepted, .payment-required)
  .wpcf7-response-output {
  border-color: rgba(166, 100, 35, 0.28);
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.book-appointment-request-form form.failed .wpcf7-response-output,
.book-appointment-request-form form.aborted .wpcf7-response-output,
.book-appointment-request-form form.spam .wpcf7-response-output {
  border-color: rgba(182, 67, 67, 0.28);
  background: var(--renace-color-error-soft);
  color: var(--renace-color-error);
}

@media (max-width: 35.999rem) {
  .book-appointment-request-form {
    padding: 0.75rem;
  }

  .book-appointment-form__privacy-note,
  .book-appointment-form__section-heading,
  .book-appointment-wizard__review-heading {
    grid-template-columns: minmax(0, 1fr);
  }

  .book-appointment-form__privacy-icon,
  .book-appointment-form__step,
  .book-appointment-wizard__review-icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .book-appointment-wizard__progress-meta {
    align-items: flex-start;
  }

  .book-appointment-wizard__step {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 0.35rem;
    padding: 0.55rem 0.25rem;
    text-align: center;
  }

  .book-appointment-wizard__step-copy small {
    display: none;
  }

  .book-appointment-wizard__step-copy strong {
    max-width: 100%;
    font-size: 0.6875rem;
  }

  .book-appointment-wizard__panel {
    padding: 1rem;
  }

  .book-appointment-wizard__actions,
  .book-appointment-wizard__actions--end {
    align-items: stretch;
    justify-content: stretch;
  }

  .book-appointment-wizard__actions .renace-button,
  .book-appointment-wizard__actions .renace-form__actions,
  .book-appointment-request-form input.wpcf7-submit.renace-button {
    width: 100%;
  }

  .book-appointment-form__acceptance label {
    gap: 0.625rem;
  }

  .book-appointment-request-form .wpcf7-spinner {
    position: absolute;
    right: 0.75rem;
    bottom: 0.75rem;
  }
}

@media (min-width: 48rem) {
  .book-appointment-wizard__review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .book-appointment-form__submit-area {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* ---------------------------------------------------------
   30.4. Sidebar guidance
--------------------------------------------------------- */

.book-appointment-scheduler__aside {
  display: grid;
  gap: var(--renace-space-3);
  scroll-margin-top: 7rem;
}

.book-appointment-info-card,
.book-appointment-details,
.book-appointment-support-card {
  padding: var(--renace-space-5);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  box-shadow: var(--renace-shadow-sm);
}

.book-appointment-info-card__icon,
.book-appointment-support-card__icon {
  display: inline-grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.book-appointment-info-card h2,
.book-appointment-details h3 {
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.3rem, 2.4vw, 1.65rem);
}

.book-appointment-info-card .renace-check-list {
  gap: var(--renace-space-3);
}

.book-appointment-info-card .renace-check-list li {
  color: var(--renace-color-text-muted);
  line-height: 1.5;
}

.book-appointment-privacy-note {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(166, 100, 35, 0.18);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-warning-soft);
}

.book-appointment-privacy-note__icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: rgba(166, 100, 35, 0.1);
  color: var(--renace-color-warning);
}

.book-appointment-privacy-note strong,
.book-appointment-support-card strong {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  line-height: 1.4;
}

.book-appointment-privacy-note p,
.book-appointment-support-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.book-appointment-details {
  background: var(--renace-color-white);
}

.book-appointment-details dl {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
}

.book-appointment-details dl > div {
  display: grid;
  gap: 0.2rem;
  padding-bottom: var(--renace-space-3);
  border-bottom: 1px solid var(--renace-color-border);
}

.book-appointment-details dl > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.book-appointment-details dt {
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 750;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.book-appointment-details dd {
  margin: 0;
  color: var(--renace-color-deep-blue);
  font-weight: 650;
}

.book-appointment-support-card {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  background: var(--renace-color-white);
}

.book-appointment-support-card__icon {
  margin: 0;
}

.book-appointment-support-card .renace-inline-link {
  margin-top: var(--renace-space-3);
  font-size: var(--renace-font-size-sm);
}

/* ---------------------------------------------------------
   30.5. Process
--------------------------------------------------------- */

.book-appointment-process {
  background:
    radial-gradient(
      circle at 88% 14%,
      rgba(86, 171, 222, 0.12),
      transparent 28rem
    ),
    var(--renace-color-primary-softest);
}

.book-appointment-process__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.book-appointment-process__step {
  position: relative;
  min-height: 100%;
  padding: clamp(1.5rem, 4vw, 2rem);
  overflow: hidden;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.book-appointment-process__step::after {
  position: absolute;
  right: -3rem;
  bottom: -4rem;
  width: 9rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.08);
  content: "";
  pointer-events: none;
}

.book-appointment-process__number {
  position: absolute;
  top: 1.1rem;
  right: 1.25rem;
  color: rgba(36, 117, 181, 0.25);
  font-family: var(--renace-font-heading);
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1;
}

.book-appointment-process__icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.book-appointment-process__step h3,
.book-appointment-process__step p {
  position: relative;
  z-index: 1;
}

.book-appointment-process__step h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.book-appointment-process__step p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

/* ---------------------------------------------------------
   30.6. FAQ
--------------------------------------------------------- */

.book-appointment-faq {
  background: var(--renace-color-white);
}

.book-appointment-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2.5rem, 7vw, 6rem);
}

.book-appointment-faq__intro h2 {
  max-width: 15ch;
}

.book-appointment-faq__intro .renace-lead {
  margin-bottom: var(--renace-space-4);
}

/* ---------------------------------------------------------
   30.7. Scope and final CTA
--------------------------------------------------------- */

.book-appointment-scope {
  padding-block: var(--renace-space-5);
  background: var(--renace-color-deep-blue);
  color: rgba(255, 255, 255, 0.74);
}

.book-appointment-scope__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
}

.book-appointment-scope__icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.12);
  color: var(--renace-color-primary);
}

.book-appointment-scope h2 {
  margin-bottom: 0.2rem;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-base);
  letter-spacing: 0;
}

.book-appointment-scope p {
  margin: 0;
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.book-appointment-scope .renace-inline-link {
  grid-column: 2;
  width: fit-content;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-sm);
}

.book-appointment-scope .renace-inline-link:hover {
  color: var(--renace-color-primary);
}

.book-appointment-final-cta {
  background: var(--renace-color-warm-white);
}

.book-appointment-final-cta__approach {
  border-color: rgba(255, 255, 255, 0.42);
  color: var(--renace-color-white);
}

.book-appointment-final-cta__approach:hover,
.book-appointment-final-cta__approach:focus-visible {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

/* ---------------------------------------------------------
   30.8. Responsive behavior
--------------------------------------------------------- */

@media (max-width: 35.999rem) {
  .book-appointment-preview {
    padding: 0.75rem;
  }

  .book-appointment-preview__header {
    align-items: flex-start;
  }

  .book-appointment-preview__header > i {
    display: none;
  }

  .book-appointment-preview__steps li {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    padding: 0.8rem;
  }

  .book-appointment-preview__steps li > span {
    width: 2.25rem;
    height: 2.25rem;
  }

  .book-appointment-shell-header {
    flex-direction: column;
  }

  .book-appointment-shell-header__badge {
    white-space: normal;
  }

  .book-appointment-support-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .book-appointment-support-card__icon {
    width: 2.5rem;
    height: 2.5rem;
  }

  .book-appointment-pending-shell__actions {
    width: 100%;
  }

  .book-appointment-pending-shell__actions .renace-button {
    width: 100%;
  }
}

@media (min-width: 48rem) {
  .book-appointment-process__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .book-appointment-scope__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .book-appointment-scope .renace-inline-link {
    grid-column: auto;
  }
}

@media (max-width: 63.999rem) {
  .book-appointment-hero {
    padding-block: 2rem 3rem;
  }

  .book-appointment-hero__grid {
    gap: 2.5rem;
  }

  .book-appointment-hero__content h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  .book-appointment-hero__content .renace-lead {
    margin-bottom: 1.375rem;
    line-height: 1.62;
  }

  .book-appointment-hero__visual {
    min-height: 22rem;
  }

  .book-appointment-scheduler__aside {
    scroll-margin-top: 6rem;
  }
}

@media (min-width: 64rem) {
  .book-appointment-hero {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  .book-appointment-hero__grid {
    grid-template-columns:
      minmax(0, 1.14fr)
      minmax(20rem, 0.86fr);
  }

  .book-appointment-hero__content {
    padding-top: 3.5rem;
  }

  .book-appointment-scheduler__grid {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.38fr);
  }

  .book-appointment-scheduler__aside {
    position: sticky;
    top: 7rem;
  }

  .book-appointment-faq__grid {
    grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  }

  .book-appointment-faq__intro {
    position: sticky;
    top: 7rem;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .book-appointment-hero__grid {
    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(18rem, 0.78fr);
    gap: 3rem;
  }

  .book-appointment-hero__content h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }

  .book-appointment-hero__visual {
    min-height: 22.5rem;
  }

  .book-appointment-scheduler__grid {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.42fr);
    gap: 2.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .book-appointment-hero {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  .book-appointment-hero__grid {
    gap: 2.75rem;
  }

  .book-appointment-hero__content {
    padding-top: 3rem;
  }

  .book-appointment-hero__content h1 {
    max-width: 18ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  .book-appointment-hero__content .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  .book-appointment-hero__visual {
    min-height: 19.5rem;
  }

  .book-appointment-preview {
    width: min(100%, 25rem);
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .book-appointment-hero {
    min-height: auto;
    padding-block: 1.5rem 2rem;
  }

  .book-appointment-hero__content {
    padding-top: 2.75rem;
  }

  .book-appointment-hero__content h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .book-appointment-hero__visual {
    min-height: 18rem;
  }
}

/* =========================================================
   31. Contact Page
========================================================= */

.contact-page {
  overflow: hidden;
  background: var(--renace-color-white);
}

/* Contact hero */
.contact-hero {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
  background:
    radial-gradient(
      circle at 88% 16%,
      rgba(86, 171, 222, 0.18),
      transparent 29rem
    ),
    radial-gradient(
      circle at 7% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.contact-hero::before {
  position: absolute;
  top: -14rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.contact-hero > .renace-container {
  position: relative;
}

.contact-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

.contact-hero__content {
  max-width: 52rem;
}

.contact-hero__content .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.3vw, 1.25rem);
}

.contact-hero__content h1 {
  max-width: 18ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

.contact-hero__content .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

.contact-hero__content .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

.contact-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.125rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space, 1.875rem);
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.contact-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.contact-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.contact-hero__visual {
  position: relative;
  display: grid;
  min-height: 25rem;
  place-items: center;
}

.contact-hero-directory {
  display: grid;
  width: min(100%, 30rem);
  gap: 0.75rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.contact-hero-directory__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  padding: 1rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.95);
  color: var(--renace-color-deep-blue);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
  text-decoration: none;
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    background-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.contact-hero-directory__item--primary {
  border-color: rgba(36, 117, 181, 0.22);
  background: var(--renace-color-primary-softest);
}

.contact-hero-directory__item:hover,
.contact-hero-directory__item:focus-visible {
  border-color: rgba(36, 117, 181, 0.32);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  text-decoration: none;
  transform: translateY(-0.2rem);
}

.contact-hero-directory__icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.contact-hero-directory__content {
  display: grid;
  gap: 0.16rem;
  min-width: 0;
}

.contact-hero-directory__content small {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.contact-hero-directory__content strong {
  overflow-wrap: anywhere;
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  line-height: 1.35;
}

.contact-hero-directory__content > span {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.4;
}

.contact-hero-directory__arrow {
  color: var(--renace-color-brand-dark);
  font-size: 0.8rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.contact-hero-directory__item:hover .contact-hero-directory__arrow,
.contact-hero-directory__item:focus-visible .contact-hero-directory__arrow {
  transform: translateX(0.2rem);
}

/* Contact method cards */
.contact-options {
  background: var(--renace-color-white);
}

.contact-options__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.contact-option-card {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  min-height: 10rem;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-sm);
  text-decoration: none;
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.contact-option-card:not(.contact-option-card--static):hover,
.contact-option-card:not(.contact-option-card--static):focus-visible {
  border-color: rgba(36, 117, 181, 0.3);
  color: var(--renace-color-deep-blue);
  box-shadow: var(--renace-shadow-md);
  text-decoration: none;
  transform: translateY(-0.25rem);
}

.contact-option-card__icon {
  display: inline-grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.05rem;
}

.contact-option-card__content {
  display: grid;
  gap: 0.25rem;
  min-width: 0;
}

.contact-option-card__content small {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-option-card__content strong {
  overflow-wrap: anywhere;
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
  line-height: 1.35;
}

.contact-option-card__content span {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
}

.contact-option-card__arrow {
  color: var(--renace-color-brand-dark);
  font-size: 0.8rem;
  transition: transform var(--renace-duration-standard)
    var(--renace-ease-emphasized);
}

.contact-option-card:not(.contact-option-card--static):hover
  .contact-option-card__arrow,
.contact-option-card:not(.contact-option-card--static):focus-visible
  .contact-option-card__arrow {
  transform: translateX(0.2rem);
}

/* Main contact form area */
.contact-form-section {
  scroll-margin-top: 7rem;
}

.contact-form-section__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 6vw, 4.5rem);
}

.contact-form-section__intro {
  max-width: 48rem;
  margin-bottom: var(--renace-space-5);
}

.contact-form-section__intro h2 {
  max-width: 15ch;
}

.contact-form-section__intro > p {
  max-width: 42rem;
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
  line-height: 1.6;
}

.contact-form-shell {
  scroll-margin-top: 7rem;
}

.contact-form-shell--ready {
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--renace-shadow-md);
}

.contact-form-shell--pending {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-4);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border: 1px solid rgba(36, 117, 181, 0.17);
  border-radius: var(--renace-radius-xl);
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.14),
      transparent 22rem
    ),
    rgba(255, 255, 255, 0.94);
  box-shadow: var(--renace-shadow-md);
}

.contact-form-shell__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.contact-form-shell__content {
  min-width: 0;
}

.contact-form-shell__eyebrow {
  display: inline-block;
  margin-bottom: var(--renace-space-2);
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.contact-form-shell__content h3 {
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.4rem, 3vw, 1.8rem);
}

.contact-form-shell__content > p {
  max-width: 42rem;
  color: var(--renace-color-text-muted);
}

.contact-form-shell__content .renace-button-group {
  margin-top: var(--renace-space-5);
}

.contact-form-section__aside {
  display: grid;
  gap: var(--renace-space-3);
}

.contact-guidance-card {
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.86);
  box-shadow: var(--renace-shadow-sm);
}

.contact-guidance-card__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.contact-guidance-card h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-md);
}

.contact-guidance-card p {
  margin-bottom: var(--renace-space-3);
  color: var(--renace-color-text-muted);
  line-height: 1.55;
}

.contact-guidance-card--response {
  border-color: rgba(166, 100, 35, 0.16);
  background: var(--renace-color-warning-soft);
}

.contact-guidance-card--response .contact-guidance-card__icon {
  background: rgba(166, 100, 35, 0.1);
  color: var(--renace-color-warning);
}

/* Future Contact Form 7 form root */
.renace-contact-form {
  display: grid;
  gap: var(--renace-space-5);
}

.renace-contact-form__section {
  display: grid;
  gap: var(--renace-space-4);
}

.renace-contact-form__section + .renace-contact-form__section {
  padding-top: var(--renace-space-5);
  border-top: 1px solid var(--renace-color-border);
}

.renace-contact-form__notice {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.renace-contact-form__notice > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.renace-contact-form__notice p {
  margin: 0;
  color: var(--renace-color-text-muted);
}

.renace-contact-form__notice strong {
  display: block;
  margin-bottom: 0.2rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.contact-form-shell .wpcf7 form .wpcf7-response-output {
  margin: var(--renace-space-4) 0 0;
  padding: var(--renace-space-3) var(--renace-space-4);
  border-width: 1px;
  border-radius: var(--renace-radius-sm);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.contact-form-shell .wpcf7 form.sent .wpcf7-response-output {
  border-color: rgba(52, 122, 92, 0.28);
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
}

.contact-form-shell .wpcf7 form.invalid .wpcf7-response-output,
.contact-form-shell .wpcf7 form.unaccepted .wpcf7-response-output,
.contact-form-shell .wpcf7 form.payment-required .wpcf7-response-output {
  border-color: rgba(166, 100, 35, 0.28);
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.contact-form-shell .wpcf7 form.failed .wpcf7-response-output,
.contact-form-shell .wpcf7 form.aborted .wpcf7-response-output,
.contact-form-shell .wpcf7 form.spam .wpcf7-response-output {
  border-color: rgba(182, 67, 67, 0.28);
  background: var(--renace-color-error-soft);
  color: var(--renace-color-error);
}

.contact-form-shell .wpcf7-not-valid-tip {
  margin-top: 0.35rem;
  color: var(--renace-color-error);
  font-size: var(--renace-font-size-sm);
  font-weight: 650;
}

.contact-form-shell .wpcf7-spinner {
  margin: 0 0 0 var(--renace-space-2);
}

/* Visit section */
.contact-visit {
  background: var(--renace-color-white);
}

.contact-visit__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: clamp(3rem, 8vw, 7rem);
}

.contact-visit__image {
  box-shadow: var(--renace-shadow-md);
}

.contact-visit__fallback {
  display: grid;
  min-height: 22rem;
  place-items: center;
  gap: var(--renace-space-2);
  border: 0.125rem dashed rgba(23, 52, 71, 0.18);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-weight: 750;
}

.contact-visit__fallback i {
  font-size: 2rem;
}

.contact-visit__content h2 {
  max-width: 14ch;
}

.contact-visit__details {
  display: grid;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
}

.contact-visit__detail {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.contact-visit__detail-icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.contact-visit__detail > div {
  display: grid;
  gap: 0.25rem;
}

.contact-visit__detail strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.contact-visit__detail address,
.contact-visit__detail > div > span {
  display: grid;
  color: var(--renace-color-text-muted);
  line-height: 1.5;
}

/* Scope strip */
.contact-scope {
  padding-block: var(--renace-space-5);
  background: var(--renace-color-deep-blue);
  color: rgba(255, 255, 255, 0.72);
}

.contact-scope__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
}

.contact-scope__icon {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 50%;
  background: rgba(86, 171, 222, 0.12);
  color: var(--renace-color-primary);
}

.contact-scope h2 {
  margin-bottom: 0.2rem;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-base);
  letter-spacing: 0;
}

.contact-scope p {
  margin: 0;
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.contact-scope .renace-inline-link {
  grid-column: 2;
  width: fit-content;
  color: var(--renace-color-white);
  font-size: var(--renace-font-size-sm);
}

.contact-scope .renace-inline-link:hover {
  color: var(--renace-color-primary);
}

.contact-final-cta {
  background: var(--renace-color-warm-white);
}

.contact-final-cta__faq {
  border-color: rgba(255, 255, 255, 0.45);
  color: var(--renace-color-white);
}

.contact-final-cta__faq:hover,
.contact-final-cta__faq:focus-visible {
  border-color: var(--renace-color-white);
  background: rgba(255, 255, 255, 0.1);
  color: var(--renace-color-white);
}

@media (max-width: 35.999rem) {
  .contact-hero-directory__item,
  .contact-option-card {
    grid-template-columns: 2.75rem minmax(0, 1fr);
  }

  .contact-hero-directory__arrow,
  .contact-option-card__arrow {
    display: none;
  }

  .contact-form-shell--pending {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-form-shell__content .renace-button-group {
    align-items: stretch;
  }

  .contact-form-shell__content .renace-button {
    width: 100%;
  }

  .renace-contact-form__notice {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 63.999rem) {
  .contact-hero {
    padding-block: 2rem 3rem;
  }

  .contact-hero__grid {
    gap: 2.5rem;
  }

  .contact-hero__content h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  .contact-hero__content .renace-lead {
    margin-bottom: 1.375rem;
    line-height: 1.62;
  }

  .contact-hero__visual {
    min-height: auto;
  }

  .contact-form-section,
  .contact-form-shell {
    scroll-margin-top: 6rem;
  }
}

@media (min-width: 48rem) {
  .contact-options__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contact-option-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .contact-scope__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .contact-scope .renace-inline-link {
    grid-column: auto;
  }
}

@media (min-width: 64rem) {
  .contact-hero {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  .contact-hero__grid {
    grid-template-columns:
      minmax(0, 1.12fr)
      minmax(21rem, 0.88fr);
  }

  .contact-hero__content {
    padding-top: 3.5rem;
  }

  .contact-options__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .contact-option-card:last-child:nth-child(odd) {
    grid-column: auto;
  }

  .contact-form-section__grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, 0.65fr);
  }

  .contact-form-section__aside {
    position: sticky;
    top: 7rem;
  }

  .contact-visit__grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .contact-hero__grid {
    grid-template-columns:
      minmax(0, 1.2fr)
      minmax(19rem, 0.8fr);
    gap: 3rem;
  }

  .contact-hero__content h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .contact-hero {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  .contact-hero__grid {
    gap: 2.75rem;
  }

  .contact-hero__content {
    padding-top: 3rem;
  }

  .contact-hero__content .renace-eyebrow {
    margin-bottom: 1rem;
  }

  .contact-hero__content h1 {
    max-width: 19ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  .contact-hero__content .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  .contact-hero__visual {
    min-height: 20rem;
  }

  .contact-hero__trust-list {
    margin-block-start: 1.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .contact-hero {
    min-height: auto;
    padding-block: 1.5rem 2rem;
  }

  .contact-hero__content h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .contact-hero__trust-list {
    margin-block-start: 1.375rem;
    font-size: 0.8125rem;
  }

  .contact-hero__visual {
    min-height: 18rem;
  }
}

/* =========================================================
   32. Privacy Policy Page
========================================================= */

.privacy-policy-page {
  overflow: visible;
  background: var(--renace-color-white);
}

/* Privacy policy hero */
.privacy-policy-hero {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
  background:
    radial-gradient(
      circle at 87% 15%,
      rgba(86, 171, 222, 0.18),
      transparent 29rem
    ),
    radial-gradient(
      circle at 6% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.privacy-policy-hero::before {
  position: absolute;
  top: -14rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.privacy-policy-hero > .renace-container {
  position: relative;
}

.privacy-policy-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

.privacy-policy-hero__content {
  max-width: 52rem;
}

.privacy-policy-hero__content .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.3vw, 1.25rem);
}

.privacy-policy-hero__content h1 {
  max-width: 18ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

.privacy-policy-hero__content .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

.privacy-policy-hero__content .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

.privacy-policy-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.125rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space, 1.875rem);
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.privacy-policy-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.privacy-policy-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.privacy-policy-hero__visual {
  position: relative;
  display: grid;
  min-height: 25rem;
  place-items: center;
}

.privacy-policy-hero-summary {
  display: grid;
  width: min(100%, 29rem);
  gap: 0.75rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.privacy-policy-hero-summary__header,
.privacy-policy-hero-summary__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
  padding: 1rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
}

.privacy-policy-hero-summary__header {
  border-color: rgba(36, 117, 181, 0.22);
  background: var(--renace-color-primary-softest);
}

.privacy-policy-hero-summary__icon,
.privacy-policy-hero-summary__item > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.privacy-policy-hero-summary__header > div,
.privacy-policy-hero-summary__item > span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.privacy-policy-hero-summary small {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.privacy-policy-hero-summary strong {
  overflow-wrap: anywhere;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  line-height: 1.35;
}

/* At-a-glance cards */
.privacy-overview {
  background: var(--renace-color-white);
  scroll-margin-top: 7rem;
}

.privacy-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.privacy-overview-card {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.privacy-overview-card:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.privacy-overview-card__icon {
  display: inline-grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.privacy-overview-card h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.privacy-overview-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.58;
}

/* Policy document layout */
.privacy-policy-content {
  overflow: visible;
}

.privacy-policy-layout {
  grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 0.68fr);
  align-items: start;
}

.privacy-policy-toc__inner {
  padding: 1.25rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.privacy-policy-toc__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.privacy-policy-toc h2 {
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
}

.privacy-policy-toc__list {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.privacy-policy-toc__list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.privacy-policy-toc__list a span {
  color: rgba(36, 117, 181, 0.56);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
}

.privacy-policy-toc__list a:hover,
.privacy-policy-toc__list a:focus-visible {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  transform: translateX(0.15rem);
}

.privacy-policy-document {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-md);
}

.privacy-policy-document__header {
  padding-bottom: clamp(1.75rem, 4vw, 2.75rem);
  border-bottom: 1px solid var(--renace-color-border);
}

.privacy-policy-document__header > p:last-child {
  max-width: 50rem;
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
  line-height: 1.7;
}

.privacy-policy-document__updated {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.65rem;
  width: fit-content;
  margin-bottom: var(--renace-space-4);
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-round);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.35;
}

.privacy-policy-document__updated i,
.privacy-policy-document__updated strong {
  color: var(--renace-color-brand-dark);
}

.privacy-policy-section {
  position: relative;
  padding-block: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--renace-color-border);
  scroll-margin-top: 7rem;
}

.privacy-policy-section:last-of-type {
  border-bottom: 0;
}

.privacy-policy-section__number {
  display: inline-flex;
  margin-bottom: 0.65rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.privacy-policy-section h2 {
  max-width: 24ch;
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.privacy-policy-section h3 {
  margin-top: var(--renace-space-6);
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}

.privacy-policy-section p,
.privacy-policy-section li {
  color: var(--renace-color-text-muted);
  line-height: 1.72;
}

.privacy-policy-section ul:not(.privacy-policy-check-list) {
  display: grid;
  gap: var(--renace-space-2);
  padding-left: 1.25rem;
}

.privacy-policy-section strong {
  color: var(--renace-color-deep-blue);
}

/* Responsive data table */
.privacy-policy-table-wrap {
  width: 100%;
  margin-block: var(--renace-space-5);
  overflow-x: auto;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-white);
  box-shadow: 0 0.5rem 1.75rem rgba(23, 52, 71, 0.04);
}

.privacy-policy-table {
  min-width: 42rem;
  margin: 0;
}

.privacy-policy-table th,
.privacy-policy-table td {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid var(--renace-color-border);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
  text-align: left;
  vertical-align: top;
}

.privacy-policy-table thead th {
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
  font-weight: 750;
}

.privacy-policy-table tbody th {
  width: 24%;
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-weight: 750;
}

.privacy-policy-table tr:last-child th,
.privacy-policy-table tr:last-child td {
  border-bottom: 0;
}

/* Policy callouts and lists */
.privacy-policy-callout {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.privacy-policy-callout--warning {
  border-color: rgba(166, 100, 35, 0.2);
  background: var(--renace-color-warning-soft);
}

.privacy-policy-callout__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.privacy-policy-callout--warning .privacy-policy-callout__icon {
  background: rgba(166, 100, 35, 0.1);
  color: var(--renace-color-warning);
}

.privacy-policy-callout strong {
  display: block;
  margin-bottom: 0.3rem;
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.privacy-policy-callout p {
  margin: 0;
  line-height: 1.6;
}

.privacy-policy-check-list {
  display: grid;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: 0;
  list-style: none;
}

.privacy-policy-check-list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
}

.privacy-policy-check-list i {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  margin-top: 0.08rem;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.7rem;
}

.privacy-rights-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
}

.privacy-right-card {
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.privacy-right-card > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.privacy-right-card h3 {
  margin: 0 0 0.35rem;
  font-size: var(--renace-font-size-md);
}

.privacy-right-card p {
  margin: 0;
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

/* Privacy contact card */
.privacy-policy-contact__card {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-4);
  margin-top: var(--renace-space-5);
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
}

.privacy-policy-contact__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.privacy-policy-contact__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.privacy-policy-contact__content strong {
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.privacy-policy-contact__content a {
  width: fit-content;
  overflow-wrap: anywhere;
  color: var(--renace-color-brand-dark);
  font-weight: 700;
}

.privacy-policy-contact__content address {
  display: grid;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.privacy-policy-contact__card .renace-button {
  grid-column: 1 / -1;
  width: fit-content;
}

/* Document footer */
.privacy-policy-document__footer {
  padding-top: clamp(2rem, 4vw, 3rem);
}

.privacy-policy-document__footer > p {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.privacy-policy-document__footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2) var(--renace-space-4);
}

.privacy-policy-document__footer-links a {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
}

.privacy-policy-final-cta {
  background: var(--renace-color-warm-white);
}

@media (max-width: 35.999rem) {
  .privacy-policy-callout,
  .privacy-policy-contact__card {
    grid-template-columns: minmax(0, 1fr);
  }

  .privacy-policy-contact__card .renace-button {
    width: 100%;
  }

  .privacy-policy-document {
    padding: 1.25rem;
    border-radius: var(--renace-radius-lg);
  }
}

@media (min-width: 48rem) {
  .privacy-overview__grid,
  .privacy-rights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .privacy-policy-contact__card {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
  }

  .privacy-policy-contact__card .renace-button {
    grid-column: auto;
  }
}

@media (max-width: 63.999rem) {
  .privacy-policy-hero {
    padding-block: 2rem 3rem;
  }

  .privacy-policy-hero__grid {
    gap: 2.5rem;
  }

  .privacy-policy-hero__content h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  .privacy-policy-hero__visual {
    min-height: auto;
  }
}

@media (min-width: 64rem) {
  .privacy-policy-hero {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  .privacy-policy-hero__grid {
    grid-template-columns:
      minmax(0, 1.16fr)
      minmax(20rem, 0.84fr);
  }

  .privacy-policy-hero__content {
    padding-top: 3.5rem;
  }

  .privacy-policy-layout {
    grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 0.68fr);
    align-items: start;
  }

  .privacy-policy-toc {
    position: sticky;
    top: 7rem;
    align-self: start;
    min-width: 0;
  }

  .privacy-policy-toc__inner {
    position: static;
    max-height: calc(100dvh - 8.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .privacy-policy-toc.renace-reveal.is-visible {
    transform: none;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .privacy-policy-hero__grid {
    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(18rem, 0.78fr);
    gap: 3rem;
  }

  .privacy-policy-hero__content h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }

  .privacy-policy-layout {
    grid-template-columns: minmax(13rem, 0.3fr) minmax(0, 0.7fr);
    gap: 2.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .privacy-policy-hero {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  .privacy-policy-hero__content {
    padding-top: 3rem;
  }

  .privacy-policy-hero__content h1 {
    max-width: 19ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  .privacy-policy-hero__content .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  .privacy-policy-hero__trust-list {
    margin-block-start: 1.5rem;
  }

  .privacy-policy-hero__visual {
    min-height: 19.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .privacy-policy-hero {
    min-height: auto;
    padding-block: 1.5rem 2rem;
  }

  .privacy-policy-hero__content h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .privacy-policy-hero__trust-list {
    margin-block-start: 1.375rem;
    font-size: 0.8125rem;
  }
}

/* =========================================================
   33. Terms and Conditions Page
========================================================= */

.terms-conditions-page {
  overflow: visible;
  background: var(--renace-color-white);
}

/* Terms hero */
.terms-conditions-hero {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
  background:
    radial-gradient(
      circle at 87% 15%,
      rgba(86, 171, 222, 0.18),
      transparent 29rem
    ),
    radial-gradient(
      circle at 6% 92%,
      rgba(36, 117, 181, 0.08),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.terms-conditions-hero::before {
  position: absolute;
  top: -14rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.terms-conditions-hero > .renace-container {
  position: relative;
}

.terms-conditions-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

.terms-conditions-hero__content {
  max-width: 52rem;
}

.terms-conditions-hero__content .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.3vw, 1.25rem);
}

.terms-conditions-hero__content h1 {
  max-width: 18ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

.terms-conditions-hero__content .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

.terms-conditions-hero__content .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

.terms-conditions-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.125rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space, 1.875rem);
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.terms-conditions-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.terms-conditions-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.terms-conditions-hero__visual {
  position: relative;
  display: grid;
  min-height: 25rem;
  place-items: center;
}

.terms-conditions-hero-summary {
  display: grid;
  width: min(100%, 29rem);
  gap: 0.75rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.terms-conditions-hero-summary__header,
.terms-conditions-hero-summary__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
  padding: 1rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
}

.terms-conditions-hero-summary__header {
  border-color: rgba(36, 117, 181, 0.22);
  background: var(--renace-color-primary-softest);
}

.terms-conditions-hero-summary__icon,
.terms-conditions-hero-summary__item > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.terms-conditions-hero-summary__header > div,
.terms-conditions-hero-summary__item > span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.terms-conditions-hero-summary small {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.terms-conditions-hero-summary strong {
  overflow-wrap: anywhere;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  line-height: 1.35;
}

/* At-a-glance cards */
.terms-overview {
  background: var(--renace-color-white);
  scroll-margin-top: 7rem;
}

.terms-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.terms-overview-card {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.terms-overview-card:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.terms-overview-card__icon {
  display: inline-grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.terms-overview-card h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.terms-overview-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.58;
}

/* Terms document layout */
.terms-conditions-content {
  overflow: visible;
}

.terms-conditions-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.terms-conditions-toc__inner {
  padding: 1.25rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.terms-conditions-toc__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.terms-conditions-toc h2 {
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
}

.terms-conditions-toc__list {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-conditions-toc__list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.terms-conditions-toc__list a span {
  color: rgba(36, 117, 181, 0.56);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
}

.terms-conditions-toc__list a:hover,
.terms-conditions-toc__list a:focus-visible {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  transform: translateX(0.15rem);
}

.terms-conditions-document {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-sm);
}

.terms-conditions-document__header {
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--renace-color-border);
}

.terms-conditions-document__header > p:last-child {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
  line-height: 1.68;
}

.terms-conditions-document__updated {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: var(--renace-space-4);
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.terms-conditions-document__updated i {
  color: var(--renace-color-brand-dark);
}

.terms-conditions-document__updated strong {
  color: var(--renace-color-deep-blue);
}

.terms-conditions-section {
  position: relative;
  padding-block: clamp(2.25rem, 5vw, 3.75rem);
  scroll-margin-top: 7rem;
}

.terms-conditions-section + .terms-conditions-section {
  border-top: 1px solid var(--renace-color-border);
}

.terms-conditions-section__number {
  display: block;
  margin-bottom: 0.35rem;
  color: rgba(36, 117, 181, 0.54);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.terms-conditions-section h2 {
  max-width: 22ch;
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.terms-conditions-section > p,
.terms-conditions-section li {
  color: var(--renace-color-text-muted);
  line-height: 1.68;
}

.terms-conditions-section > p + p {
  margin-top: var(--renace-space-4);
}

/* Callouts and lists */
.terms-conditions-callout {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.terms-conditions-callout--warning {
  border-color: rgba(166, 100, 35, 0.2);
  background: var(--renace-color-warning-soft);
}

.terms-conditions-callout__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.terms-conditions-callout--warning .terms-conditions-callout__icon {
  background: rgba(166, 100, 35, 0.1);
  color: var(--renace-color-warning);
}

.terms-conditions-callout strong {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.terms-conditions-callout p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.6;
}

.terms-conditions-check-list {
  display: grid;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: 0;
  list-style: none;
}

.terms-conditions-check-list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
}

.terms-conditions-check-list i {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  margin-top: 0.08rem;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.7rem;
}

/* Appointment and prohibited-use cards */
.terms-appointment-grid,
.terms-prohibited-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
}

.terms-appointment-card,
.terms-prohibited-card {
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.terms-appointment-card > i,
.terms-prohibited-card > span {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.terms-appointment-card h3 {
  margin: 0 0 0.35rem;
  font-size: var(--renace-font-size-md);
}

.terms-appointment-card p,
.terms-prohibited-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.58;
}

.terms-prohibited-card {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
}

.terms-prohibited-card > span {
  margin-bottom: 0;
}

/* Terms contact card */
.terms-conditions-contact__card {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-4);
  margin-top: var(--renace-space-5);
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
}

.terms-conditions-contact__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.terms-conditions-contact__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.terms-conditions-contact__content strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.terms-conditions-contact__content a {
  width: fit-content;
  overflow-wrap: anywhere;
  color: var(--renace-color-brand-dark);
  font-weight: 700;
}

.terms-conditions-contact__content address {
  display: grid;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.terms-conditions-contact__card .renace-button {
  grid-column: 1 / -1;
  width: fit-content;
}

/* Document footer */
.terms-conditions-document__footer {
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--renace-color-border);
}

.terms-conditions-document__footer > p {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.terms-conditions-document__footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2) var(--renace-space-4);
}

.terms-conditions-document__footer-links a {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
}

.terms-conditions-final-cta {
  background: var(--renace-color-warm-white);
}

@media (max-width: 35.999rem) {
  .terms-conditions-callout,
  .terms-conditions-contact__card,
  .terms-prohibited-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-conditions-contact__card .renace-button {
    width: 100%;
  }

  .terms-conditions-document {
    padding: 1.25rem;
    border-radius: var(--renace-radius-lg);
  }
}

@media (min-width: 48rem) {
  .terms-overview__grid,
  .terms-prohibited-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .terms-appointment-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .terms-conditions-contact__card {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
  }

  .terms-conditions-contact__card .renace-button {
    grid-column: auto;
  }
}

@media (max-width: 63.999rem) {
  .terms-conditions-hero {
    padding-block: 2rem 3rem;
  }

  .terms-conditions-hero__grid {
    gap: 2.5rem;
  }

  .terms-conditions-hero__content h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  .terms-conditions-hero__visual {
    min-height: auto;
  }
}

@media (min-width: 64rem) {
  .terms-conditions-hero {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  .terms-conditions-hero__grid {
    grid-template-columns:
      minmax(0, 1.16fr)
      minmax(20rem, 0.84fr);
  }

  .terms-conditions-hero__content {
    padding-top: 3.5rem;
  }

  .terms-conditions-layout {
    grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 0.68fr);
    align-items: start;
  }

  .terms-conditions-toc {
    position: sticky;
    top: 7rem;
    align-self: start;
    min-width: 0;
  }

  .terms-conditions-toc__inner {
    position: static;
    max-height: calc(100dvh - 8.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }

  .terms-conditions-toc.renace-reveal.is-visible {
    transform: none;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .terms-conditions-hero__grid {
    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(18rem, 0.78fr);
    gap: 3rem;
  }

  .terms-conditions-hero__content h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }

  .terms-conditions-layout {
    grid-template-columns: minmax(13rem, 0.3fr) minmax(0, 0.7fr);
    gap: 2.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .terms-conditions-hero {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  .terms-conditions-hero__content {
    padding-top: 3rem;
  }

  .terms-conditions-hero__content h1 {
    max-width: 19ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  .terms-conditions-hero__content .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  .terms-conditions-hero__trust-list {
    margin-block-start: 1.5rem;
  }

  .terms-conditions-hero__visual {
    min-height: 19.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .terms-conditions-hero {
    min-height: auto;
    padding-block: 1.5rem 2rem;
  }

  .terms-conditions-hero__content h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .terms-conditions-hero__trust-list {
    margin-block-start: 1.375rem;
    font-size: 0.8125rem;
  }
}

/* =========================================================
   34. Wellness Disclaimer Page
========================================================= */

.wellness-disclaimer-page {
  overflow: visible;
  background: var(--renace-color-white);
}

/* Wellness disclaimer hero */
.wellness-disclaimer-hero {
  position: relative;
  display: flex;
  min-height: auto;
  align-items: center;
  overflow: hidden;
  padding-block: var(--renace-internal-hero-padding-start)
    var(--renace-internal-hero-padding-end);
  background:
    radial-gradient(
      circle at 87% 15%,
      rgba(86, 171, 222, 0.18),
      transparent 29rem
    ),
    radial-gradient(
      circle at 6% 92%,
      rgba(158, 187, 165, 0.12),
      transparent 24rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f6fbfe 54%, #edf7fc 100%);
}

.wellness-disclaimer-hero::before {
  position: absolute;
  top: -14rem;
  right: -10rem;
  width: 32rem;
  aspect-ratio: 1;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.wellness-disclaimer-hero > .renace-container {
  position: relative;
}

.wellness-disclaimer-hero__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-hero-gap);
}

.wellness-disclaimer-hero__content {
  max-width: 52rem;
}

.wellness-disclaimer-hero__content .renace-eyebrow {
  margin-bottom: clamp(1rem, 1.3vw, 1.25rem);
}

.wellness-disclaimer-hero__content h1 {
  max-width: 18ch;
  margin-bottom: var(--renace-hero-title-space);
  font-size: var(--renace-font-size-hero-internal);
  line-height: 1.075;
  letter-spacing: -0.045em;
  text-wrap: pretty;
}

.wellness-disclaimer-hero__content .renace-lead {
  max-width: 43rem;
  margin-bottom: var(--renace-hero-copy-space);
  line-height: 1.65;
}

.wellness-disclaimer-hero__content .renace-button-group {
  gap: 0.875rem;
  margin: 0;
}

.wellness-disclaimer-hero__trust-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.125rem;
  margin: 0;
  margin-block-start: var(--renace-hero-trust-space, 1.875rem);
  padding: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.45;
  list-style: none;
}

.wellness-disclaimer-hero__trust-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.wellness-disclaimer-hero__trust-list i {
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-hero__visual {
  position: relative;
  display: grid;
  min-height: 25rem;
  place-items: center;
}

.wellness-disclaimer-hero-summary {
  display: grid;
  width: min(100%, 29rem);
  gap: 0.75rem;
  margin-inline: auto;
  padding: 1rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-xl);
  background: rgba(255, 255, 255, 0.74);
  box-shadow: var(--renace-shadow-md);
  backdrop-filter: blur(0.9rem);
  -webkit-backdrop-filter: blur(0.9rem);
}

.wellness-disclaimer-hero-summary__header,
.wellness-disclaimer-hero-summary__item {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
  padding: 1rem;
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 0.4rem 1.5rem rgba(23, 52, 71, 0.05);
}

.wellness-disclaimer-hero-summary__header {
  border-color: rgba(36, 117, 181, 0.22);
  background: var(--renace-color-primary-softest);
}

.wellness-disclaimer-hero-summary__icon,
.wellness-disclaimer-hero-summary__item > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-hero-summary__header > div,
.wellness-disclaimer-hero-summary__item > span {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.wellness-disclaimer-hero-summary small {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  line-height: 1.2;
  text-transform: uppercase;
}

.wellness-disclaimer-hero-summary strong {
  overflow-wrap: anywhere;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-base);
  line-height: 1.35;
}

/* At-a-glance cards */
.wellness-disclaimer-overview {
  background: var(--renace-color-white);
  scroll-margin-top: 7rem;
}

.wellness-disclaimer-overview__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-4);
}

.wellness-disclaimer-overview-card {
  padding: clamp(1.35rem, 3vw, 1.8rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-sm);
  transition:
    border-color var(--renace-duration-standard) var(--renace-ease-standard),
    box-shadow var(--renace-duration-standard) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.wellness-disclaimer-overview-card:hover {
  border-color: rgba(36, 117, 181, 0.28);
  box-shadow: var(--renace-shadow-md);
  transform: translateY(-0.2rem);
}

.wellness-disclaimer-overview-card__icon {
  display: inline-grid;
  width: 3.25rem;
  height: 3.25rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.1rem;
}

.wellness-disclaimer-overview-card h3 {
  margin-bottom: var(--renace-space-2);
  font-size: var(--renace-font-size-lg);
}

.wellness-disclaimer-overview-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.58;
}

/* Legal document layout */
.wellness-disclaimer-content {
  overflow: visible;
}

.wellness-disclaimer-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 4.5rem);
}

.wellness-disclaimer-toc__inner {
  padding: 1.25rem;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-lg);
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--renace-shadow-sm);
}

.wellness-disclaimer-toc__eyebrow {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.wellness-disclaimer-toc h2 {
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
}

.wellness-disclaimer-toc__list {
  display: grid;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wellness-disclaimer-toc__list a {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.65rem;
  border-radius: var(--renace-radius-sm);
  color: var(--renace-color-text-muted);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none;
  transition:
    background-color var(--renace-duration-fast) var(--renace-ease-standard),
    color var(--renace-duration-fast) var(--renace-ease-standard),
    transform var(--renace-duration-standard) var(--renace-ease-emphasized);
}

.wellness-disclaimer-toc__list a span {
  color: rgba(36, 117, 181, 0.56);
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
}

.wellness-disclaimer-toc__list a:hover,
.wellness-disclaimer-toc__list a:focus-visible {
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-deep-blue);
  text-decoration: none;
  transform: translateX(0.15rem);
}

.wellness-disclaimer-document {
  min-width: 0;
  padding: clamp(1.5rem, 4vw, 3rem);
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: var(--renace-radius-xl);
  background: var(--renace-color-white);
  box-shadow: var(--renace-shadow-sm);
}

.wellness-disclaimer-document__header {
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--renace-color-border);
}

.wellness-disclaimer-document__header > p:last-child {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-md);
  line-height: 1.68;
}

.wellness-disclaimer-document__updated {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: var(--renace-space-4);
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(36, 117, 181, 0.13);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.wellness-disclaimer-document__updated i {
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-document__updated strong {
  color: var(--renace-color-deep-blue);
}

.wellness-disclaimer-section {
  position: relative;
  padding-block: clamp(2.25rem, 5vw, 3.75rem);
  scroll-margin-top: 7rem;
}

.wellness-disclaimer-section + .wellness-disclaimer-section {
  border-top: 1px solid var(--renace-color-border);
}

.wellness-disclaimer-section__number {
  display: block;
  margin-bottom: 0.35rem;
  color: rgba(36, 117, 181, 0.54);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  letter-spacing: 0.1em;
}

.wellness-disclaimer-section h2 {
  max-width: 22ch;
  margin-bottom: var(--renace-space-4);
  font-size: clamp(1.65rem, 3vw, 2.35rem);
}

.wellness-disclaimer-section > p,
.wellness-disclaimer-section li {
  color: var(--renace-color-text-muted);
  line-height: 1.68;
}

.wellness-disclaimer-section > p + p {
  margin-top: var(--renace-space-4);
}

/* Callouts and lists */
.wellness-disclaimer-callout {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.wellness-disclaimer-callout--warning {
  border-color: rgba(166, 100, 35, 0.2);
  background: var(--renace-color-warning-soft);
}

.wellness-disclaimer-callout__icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-callout--warning .wellness-disclaimer-callout__icon {
  background: rgba(166, 100, 35, 0.1);
  color: var(--renace-color-warning);
}

.wellness-disclaimer-callout strong {
  display: block;
  margin-bottom: 0.3rem;
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.wellness-disclaimer-callout p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.6;
}

.wellness-disclaimer-check-list {
  display: grid;
  gap: var(--renace-space-3);
  margin-block: var(--renace-space-5);
  padding: 0;
  list-style: none;
}

.wellness-disclaimer-check-list li {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
}

.wellness-disclaimer-check-list i {
  display: inline-grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  margin-top: 0.08rem;
  border-radius: 50%;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 0.7rem;
}

/* Emergency cards */
.wellness-disclaimer-emergency-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
}

.wellness-disclaimer-emergency-card {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.wellness-disclaimer-emergency-card--urgent {
  border-color: rgba(182, 67, 67, 0.22);
  background: var(--renace-color-error-soft);
}

.wellness-disclaimer-emergency-card > span {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  place-items: center;
  border-radius: 1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-emergency-card--urgent > span {
  background: rgba(182, 67, 67, 0.1);
  color: var(--renace-color-error);
}

.wellness-disclaimer-emergency-card h3 {
  margin: 0 0 0.25rem;
  font-size: var(--renace-font-size-md);
}

.wellness-disclaimer-emergency-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.wellness-disclaimer-emergency-card > a {
  display: inline-grid;
  min-width: 3.5rem;
  min-height: 2.75rem;
  place-items: center;
  padding-inline: 0.75rem;
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-brand-dark);
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
  font-weight: 800;
  text-decoration: none;
}

.wellness-disclaimer-emergency-card > a:hover,
.wellness-disclaimer-emergency-card > a:focus-visible {
  background: var(--renace-color-deep-blue);
  color: var(--renace-color-white);
  text-decoration: none;
}

/* Responsibility cards */
.wellness-disclaimer-responsibility-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
}

.wellness-disclaimer-responsibility-card {
  padding: var(--renace-space-4);
  border: 1px solid var(--renace-color-border);
  border-radius: var(--renace-radius-md);
  background: var(--renace-color-primary-softest);
}

.wellness-disclaimer-responsibility-card > i {
  display: inline-grid;
  width: 2.75rem;
  height: 2.75rem;
  place-items: center;
  margin-bottom: var(--renace-space-3);
  border-radius: 0.875rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.wellness-disclaimer-responsibility-card h3 {
  margin: 0 0 0.35rem;
  font-size: var(--renace-font-size-md);
}

.wellness-disclaimer-responsibility-card p {
  margin: 0;
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.58;
}

/* Contact card */
.wellness-disclaimer-contact__card {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-4);
  margin-top: var(--renace-space-5);
  padding: clamp(1.25rem, 3vw, 1.75rem);
  border: 1px solid rgba(36, 117, 181, 0.16);
  border-radius: var(--renace-radius-lg);
  background: var(--renace-color-primary-softest);
}

.wellness-disclaimer-contact__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.15rem;
}

.wellness-disclaimer-contact__content {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
}

.wellness-disclaimer-contact__content strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-md);
}

.wellness-disclaimer-contact__content a {
  width: fit-content;
  overflow-wrap: anywhere;
  color: var(--renace-color-brand-dark);
  font-weight: 700;
}

.wellness-disclaimer-contact__card .renace-button {
  grid-column: 1 / -1;
  width: fit-content;
}

/* Document footer */
.wellness-disclaimer-document__footer {
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--renace-color-border);
}

.wellness-disclaimer-document__footer > p {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

.wellness-disclaimer-document__footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-2) var(--renace-space-4);
}

.wellness-disclaimer-document__footer-links a {
  color: var(--renace-color-brand-dark);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 750;
}

.wellness-disclaimer-final-cta {
  background: var(--renace-color-warm-white);
}

@media (max-width: 35.999rem) {
  .wellness-disclaimer-callout,
  .wellness-disclaimer-emergency-card,
  .wellness-disclaimer-contact__card {
    grid-template-columns: minmax(0, 1fr);
  }

  .wellness-disclaimer-emergency-card > a,
  .wellness-disclaimer-contact__card .renace-button {
    width: 100%;
  }

  .wellness-disclaimer-document {
    padding: 1.25rem;
    border-radius: var(--renace-radius-lg);
  }
}

@media (min-width: 48rem) {
  .wellness-disclaimer-overview__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .wellness-disclaimer-responsibility-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .wellness-disclaimer-contact__card {
    grid-template-columns: 3.5rem minmax(0, 1fr) auto;
  }

  .wellness-disclaimer-contact__card .renace-button {
    grid-column: auto;
  }
}

@media (max-width: 63.999rem) {
  .wellness-disclaimer-hero {
    padding-block: 2rem 3rem;
  }

  .wellness-disclaimer-hero__grid {
    gap: 2.5rem;
  }

  .wellness-disclaimer-hero__content h1 {
    max-width: 18ch;
    font-size: clamp(2.5rem, 8vw, 3.5rem);
    line-height: 1.08;
  }

  .wellness-disclaimer-hero__visual {
    min-height: auto;
  }
}

@media (min-width: 64rem) {
  .wellness-disclaimer-hero {
    min-height: clamp(36rem, 64svh, 43rem);
  }

  .wellness-disclaimer-hero__grid {
    grid-template-columns:
      minmax(0, 1.16fr)
      minmax(20rem, 0.84fr);
  }

  .wellness-disclaimer-hero__content {
    padding-top: 3.5rem;
  }

  .wellness-disclaimer-layout {
    grid-template-columns: minmax(14rem, 0.32fr) minmax(0, 0.68fr);
    align-items: start;
  }

  .wellness-disclaimer-toc {
    position: sticky;
    top: 7rem;
    align-self: start;
    min-width: 0;
  }

  .wellness-disclaimer-toc__inner {
    position: static;
    max-height: calc(100dvh - 8.5rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
  }
}

@media (min-width: 64rem) and (max-width: 79.999rem) {
  .wellness-disclaimer-hero__grid {
    grid-template-columns:
      minmax(0, 1.22fr)
      minmax(18rem, 0.78fr);
    gap: 3rem;
  }

  .wellness-disclaimer-hero__content h1 {
    font-size: clamp(2.75rem, 4.25vw, 3.5rem);
  }

  .wellness-disclaimer-layout {
    grid-template-columns: minmax(13rem, 0.3fr) minmax(0, 0.7fr);
    gap: 2.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .wellness-disclaimer-hero {
    min-height: calc(100svh - 8.125rem);
    padding-block: 1.75rem 2.5rem;
  }

  .wellness-disclaimer-hero__content {
    padding-top: 3rem;
  }

  .wellness-disclaimer-hero__content h1 {
    max-width: 19ch;
    margin-bottom: 1.125rem;
    font-size: clamp(2.5rem, 3.4vw, 3.35rem);
    line-height: 1.08;
  }

  .wellness-disclaimer-hero__content .renace-lead {
    margin-bottom: 1.25rem;
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.58;
  }

  .wellness-disclaimer-hero__trust-list {
    margin-block-start: 1.5rem;
  }

  .wellness-disclaimer-hero__visual {
    min-height: 19.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .wellness-disclaimer-hero {
    min-height: auto;
    padding-block: 1.5rem 2rem;
  }

  .wellness-disclaimer-hero__content h1 {
    font-size: clamp(2.35rem, 3.15vw, 3.05rem);
  }

  .wellness-disclaimer-hero__trust-list {
    margin-block-start: 1.375rem;
    font-size: 0.8125rem;
  }
}

/* =========================================================
   35. Login Page
========================================================= */

.renace-login-screen .renace-mobile-dock {
  display: none !important;
}

.renace-login-screen .renace-footer {
  padding-bottom: 0;
}

.login-page {
  overflow: visible;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(86, 171, 222, 0.18),
      transparent 31rem
    ),
    radial-gradient(
      circle at 8% 88%,
      rgba(36, 117, 181, 0.08),
      transparent 26rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f4fafe 52%, #eaf5fb 100%);
}

.renace-login {
  position: relative;
  display: grid;
  min-height: calc(100svh - 5rem);
  align-items: center;
  overflow: hidden;
  padding-block: clamp(2.5rem, 7vw, 6rem);
}

.renace-login::before,
.renace-login::after {
  position: absolute;
  border: 1px solid rgba(36, 117, 181, 0.08);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.renace-login::before {
  top: -15rem;
  right: -11rem;
  width: 35rem;
  aspect-ratio: 1;
}

.renace-login::after {
  bottom: -17rem;
  left: -13rem;
  width: 38rem;
  aspect-ratio: 1;
  background: rgba(158, 187, 165, 0.035);
}

.renace-login > .renace-container {
  position: relative;
  z-index: 1;
}

.renace-login-shell {
  display: grid;
  width: min(100%, 68rem);
  margin-inline: auto;
  overflow: hidden;
  border: 1px solid rgba(36, 117, 181, 0.14);
  border-radius: clamp(1.5rem, 4vw, 2.25rem);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 2rem 5.5rem rgba(23, 52, 71, 0.15);
  backdrop-filter: blur(1rem);
  -webkit-backdrop-filter: blur(1rem);
}

.renace-login-intro,
.renace-login-panel {
  min-width: 0;
  padding: clamp(1.75rem, 5vw, 3.75rem);
}

.renace-login-intro {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--renace-space-7);
  overflow: hidden;
  background:
    radial-gradient(
      circle at 100% 0%,
      rgba(86, 171, 222, 0.28),
      transparent 23rem
    ),
    linear-gradient(145deg, var(--renace-color-brand-dark), #173447 76%);
  color: rgba(255, 255, 255, 0.76);
}

.renace-login-intro::before,
.renace-login-intro::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.renace-login-intro::before {
  top: -10rem;
  right: -8rem;
  width: 24rem;
  aspect-ratio: 1;
}

.renace-login-intro::after {
  bottom: -13rem;
  left: -10rem;
  width: 28rem;
  aspect-ratio: 1;
  background: rgba(86, 171, 222, 0.04);
}

.renace-login-intro__content {
  position: relative;
  z-index: 1;
}

.renace-login-intro__eyebrow,
.renace-login-panel__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: var(--renace-space-3);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-xs);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.renace-login-intro__eyebrow {
  color: var(--renace-color-primary);
}

.renace-login-intro h1 {
  max-width: 10ch;
  margin-bottom: var(--renace-space-4);
  color: var(--renace-color-white);
  font-size: clamp(2.35rem, 5vw, 3.75rem);
  line-height: 1.05;
  letter-spacing: -0.045em;
}

.renace-login-intro__content > p {
  max-width: 32rem;
  margin-bottom: var(--renace-space-5);
  color: rgba(255, 255, 255, 0.72);
  font-size: var(--renace-font-size-md);
  line-height: 1.65;
}

.renace-login-intro__list {
  display: grid;
  gap: var(--renace-space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.renace-login-intro__list li {
  display: grid;
  grid-template-columns: 2.35rem minmax(0, 1fr);
  align-items: center;
  gap: var(--renace-space-3);
  color: rgba(255, 255, 255, 0.82);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  line-height: 1.4;
}

.renace-login-intro__list i {
  display: inline-grid;
  width: 2.35rem;
  height: 2.35rem;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.07);
  color: var(--renace-color-primary);
}

.renace-login-intro__support {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-4);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: var(--renace-radius-md);
  background: rgba(255, 255, 255, 0.065);
}

.renace-login-intro__support > i {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: rgba(86, 171, 222, 0.12);
  color: var(--renace-color-primary);
}

.renace-login-intro__support p {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}

.renace-login-intro__support strong {
  color: var(--renace-color-white);
  font-family: var(--renace-font-heading);
}

.renace-login-intro__support span {
  color: rgba(255, 255, 255, 0.64);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.renace-login-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255, 255, 255, 0.96);
}

.renace-login-panel__header {
  margin-bottom: var(--renace-space-5);
}

.renace-login-panel__icon {
  display: inline-grid;
  width: 3.5rem;
  height: 3.5rem;
  place-items: center;
  margin-bottom: var(--renace-space-4);
  border-radius: 1.1rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
  font-size: 1.2rem;
}

.renace-login-panel__eyebrow {
  display: flex;
  width: fit-content;
  margin-bottom: var(--renace-space-2);
  color: var(--renace-color-brand-dark);
}

.renace-login-panel h2 {
  margin-bottom: var(--renace-space-2);
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  letter-spacing: -0.035em;
}

.renace-login-panel__header > p,
.renace-login-authenticated > p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.6;
}

.renace-login-message {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
  margin-bottom: var(--renace-space-4);
  padding: var(--renace-space-3);
  border: 1px solid transparent;
  border-radius: var(--renace-radius-sm);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.renace-login-message p {
  margin: 0;
}

.renace-login-message i {
  margin-top: 0.2rem;
}

.renace-login-message--success {
  border-color: rgba(52, 122, 92, 0.2);
  background: var(--renace-color-success-soft);
  color: var(--renace-color-success);
}

.renace-login-message--error {
  border-color: rgba(182, 67, 67, 0.2);
  background: var(--renace-color-error-soft);
  color: var(--renace-color-error);
}

.renace-login-form {
  gap: var(--renace-space-4);
}

.renace-login-field {
  gap: 0.625rem;
}

.renace-login-field__label-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--renace-space-3);
}

.renace-login-field__label-row a {
  flex: 0 0 auto;
  color: var(--renace-color-brand-dark);
  font-size: var(--renace-font-size-sm);
  font-weight: 700;
  text-decoration: none;
}

.renace-login-field__label-row a:hover {
  color: var(--renace-color-primary-hover);
}

.renace-login-field__control {
  position: relative;
}

.renace-login-field__control > i {
  position: absolute;
  top: 50%;
  left: 1rem;
  z-index: 1;
  color: var(--renace-color-brand-dark);
  font-size: 0.9rem;
  pointer-events: none;
  transform: translateY(-50%);
}

.renace-login-form .renace-login-field__control input {
  min-height: 3.5rem;
  padding-left: 3rem;
}

.renace-login-form__remember {
  align-items: flex-start;
  padding: 0.25rem 0;
  cursor: pointer;
}

.renace-login-form__remember span {
  display: grid;
  gap: 0.1rem;
}

.renace-login-form__remember strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
  font-size: var(--renace-font-size-sm);
}

.renace-login-form__remember small {
  color: var(--renace-color-text-muted);
  line-height: 1.4;
}

.renace-login-form__submit {
  width: 100%;
  margin-top: 0.25rem;
}

.renace-login-panel__footer {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-2);
  margin-top: var(--renace-space-5);
  padding-top: var(--renace-space-4);
  border-top: 1px solid var(--renace-color-border);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.55;
}

.renace-login-panel__footer i {
  margin-top: 0.2rem;
  color: var(--renace-color-brand-dark);
}

.renace-login-panel__footer p {
  margin: 0;
}

.renace-login-authenticated {
  text-align: left;
}

.renace-login-authenticated__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
}

.renace-login-back-link {
  width: min(100%, 68rem);
  margin: var(--renace-space-4) auto 0;
  text-align: center;
}

.renace-login-back-link .renace-inline-link {
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
}

@media (max-width: 35.999rem) {
  .renace-login {
    padding-block: 1.5rem 2.5rem;
  }

  .renace-login-shell {
    border-radius: var(--renace-radius-lg);
  }

  .renace-login-intro,
  .renace-login-panel {
    padding: 1.5rem;
  }

  .renace-login-intro h1 {
    font-size: clamp(2.15rem, 11vw, 2.9rem);
  }

  .renace-login-field__label-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .renace-login-authenticated__actions {
    align-items: stretch;
  }

  .renace-login-authenticated__actions .renace-button {
    width: 100%;
  }
}

@media (min-width: 64rem) {
  .renace-login-shell {
    grid-template-columns: minmax(22rem, 0.9fr) minmax(25rem, 1.1fr);
  }

  .renace-login-panel {
    min-height: 42rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .renace-login {
    padding-block: 2rem;
  }

  .renace-login-intro,
  .renace-login-panel {
    padding-block: 2.25rem;
  }

  .renace-login-panel {
    min-height: 36rem;
  }

  .renace-login-intro h1 {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }
}

/* =========================================================
   35.1. Standalone Auth Viewport — Compact Static Desktop
========================================================= */

/*
 * Desktop auth screens are constrained to the viewport so the login card,
 * support copy and return link remain visible without page scrolling.
 * Small screens keep natural document scrolling for accessibility.
 */
@media (min-width: 64rem) {
  html:has(body.renace-login-screen),
  html:has(body.renace-reset-password-screen) {
    height: 100%;
    overflow: hidden;
  }

  body.renace-login-screen,
  body.renace-reset-password-screen {
    height: 100svh;
    min-height: 0;
    overflow: hidden;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-auth-site,
  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(.login-page, .reset-password-page) {
    height: 100svh;
    min-height: 0;
    overflow: hidden;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login {
    height: 100svh;
    min-height: 0;
    align-items: center;
    padding-block: clamp(0.75rem, 1.8vh, 1.25rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login
    > .renace-container {
    display: grid;
    max-height: 100%;
    grid-template-rows: minmax(0, auto) auto;
    align-content: center;
    gap: 0.625rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-shell {
    width: min(100%, 62rem);
    height: min(42rem, calc(100svh - 4rem));
    max-height: calc(100svh - 4rem);
    grid-template-columns: minmax(21rem, 0.92fr) minmax(25rem, 1.08fr);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(.renace-login-intro, .renace-login-panel) {
    min-height: 0;
    padding: clamp(1.75rem, 3.2vh, 2.5rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-intro {
    gap: clamp(1.25rem, 2.5vh, 2rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro
    h1 {
    margin-bottom: 1rem;
    font-size: clamp(2.45rem, 3.25vw, 3.35rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__content
    > p {
    margin-bottom: 1.25rem;
    font-size: 1rem;
    line-height: 1.55;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__list {
    gap: 0.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__support {
    padding: 1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-panel {
    justify-content: center;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__header {
    margin-bottom: 1.5rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__icon {
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 0.95rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel
    h2 {
    font-size: clamp(1.75rem, 2.5vw, 2.15rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-form {
    gap: 1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-form
    .renace-login-field__control
    input {
    min-height: 3.125rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__footer {
    margin-top: 1.25rem;
    padding-top: 1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-back-link {
    width: min(100%, 62rem);
    margin: 0 auto;
    line-height: 1.25;
  }
}

/* Common laptop heights: 1280×720, 1366×768 and similar. */
@media (min-width: 64rem) and (max-height: 50rem) {
  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login {
    padding-block: 0.625rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login
    > .renace-container {
    gap: 0.4rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-shell {
    height: calc(100svh - 2.75rem);
    max-height: calc(100svh - 2.75rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(.renace-login-intro, .renace-login-panel) {
    padding: 1.5rem 2rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-intro {
    gap: 1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(.renace-login-intro__eyebrow, .renace-login-panel__eyebrow) {
    margin-bottom: 0.6rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro
    h1 {
    margin-bottom: 0.75rem;
    font-size: clamp(2.2rem, 3vw, 2.75rem);
    line-height: 1.02;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__content
    > p {
    margin-bottom: 0.9rem;
    font-size: 0.9375rem;
    line-height: 1.45;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__list {
    gap: 0.55rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__list
    li {
    grid-template-columns: 2rem minmax(0, 1fr);
    gap: 0.75rem;
    font-size: 0.8125rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__list
    i {
    width: 2rem;
    height: 2rem;
    border-radius: 0.625rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__support {
    grid-template-columns: 2.1rem minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__support
    > i {
    width: 2.1rem;
    height: 2.1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__support
    span {
    font-size: 0.75rem;
    line-height: 1.4;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__header {
    margin-bottom: 1rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__icon {
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 0.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel
    h2 {
    margin-bottom: 0.45rem;
    font-size: 1.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(
      .renace-login-panel__header > p,
      .renace-login-authenticated > p,
      .renace-reset-state > p
    ) {
    font-size: 0.875rem;
    line-height: 1.45;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-message {
    margin-bottom: 0.75rem;
    padding: 0.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-form {
    gap: 0.8rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-field {
    gap: 0.45rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-form
    .renace-login-field__control
    input {
    min-height: 2.875rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-form__remember
    small {
    font-size: 0.75rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-form__submit {
    min-height: 2.875rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__footer {
    margin-top: 0.85rem;
    padding-top: 0.8rem;
    font-size: 0.75rem;
    line-height: 1.4;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-back-link {
    font-size: 0.75rem;
  }
}

/* Very short desktop windows: remove secondary copy before allowing clipping. */
@media (min-width: 64rem) and (max-height: 43rem) {
  :is(.renace-login-screen, .renace-reset-password-screen) .renace-login-shell {
    height: calc(100svh - 2.25rem);
    max-height: calc(100svh - 2.25rem);
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    :is(.renace-login-intro, .renace-login-panel) {
    padding-block: 1.15rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__support,
  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-panel__footer {
    display: none;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro
    h1 {
    font-size: 2rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__content
    > p {
    margin-bottom: 0.7rem;
  }

  :is(.renace-login-screen, .renace-reset-password-screen)
    .renace-login-intro__list {
    gap: 0.4rem;
  }
}

/* =========================================================
   36. Reset Password Page
========================================================= */

.renace-reset-password-screen
  :is(.renace-header, .renace-footer, .renace-mobile-dock) {
  display: none !important;
}

.renace-reset-password-screen .renace-auth-site {
  min-height: 100svh;
}

.reset-password-page {
  overflow: visible;
  background:
    radial-gradient(
      circle at 88% 12%,
      rgba(86, 171, 222, 0.18),
      transparent 31rem
    ),
    radial-gradient(
      circle at 8% 88%,
      rgba(36, 117, 181, 0.08),
      transparent 26rem
    ),
    linear-gradient(145deg, #ffffff 0%, #f4fafe 52%, #eaf5fb 100%);
}

.renace-reset-password {
  min-height: 100svh;
}

.renace-reset-form {
  gap: var(--renace-space-4);
}

.renace-reset-requirements {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  align-items: start;
  gap: var(--renace-space-3);
  padding: var(--renace-space-3);
  border: 1px solid rgba(36, 117, 181, 0.15);
  border-radius: var(--renace-radius-sm);
  background: var(--renace-color-primary-softest);
  color: var(--renace-color-text-muted);
  font-size: var(--renace-font-size-sm);
  line-height: 1.5;
}

.renace-reset-requirements > i {
  display: inline-grid;
  width: 2.5rem;
  height: 2.5rem;
  place-items: center;
  border-radius: 0.8rem;
  background: var(--renace-color-primary-soft);
  color: var(--renace-color-brand-dark);
}

.renace-reset-requirements > div {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.renace-reset-requirements strong {
  color: var(--renace-color-deep-blue);
  font-family: var(--renace-font-heading);
}

.renace-reset-requirements span {
  color: var(--renace-color-text-muted);
}

.renace-reset-state {
  text-align: left;
}

.renace-reset-state > p {
  margin: 0;
  color: var(--renace-color-text-muted);
  line-height: 1.6;
}

.renace-reset-state__icon--warning {
  background: var(--renace-color-warning-soft);
  color: var(--renace-color-warning);
}

.renace-reset-state__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--renace-space-3);
  margin-top: var(--renace-space-5);
}

.renace-reset-request-success {
  margin-bottom: 0;
}

.renace-reset-password-screen .renace-login-back-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem 0.75rem;
}

.renace-reset-password-screen .renace-login-back-link > span {
  color: var(--renace-color-border-strong);
}

@media (max-width: 35.999rem) {
  .renace-reset-state__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .renace-reset-state__actions .renace-button {
    width: 100%;
  }

  .renace-reset-password-screen .renace-login-back-link {
    align-items: center;
    flex-direction: column;
  }

  .renace-reset-password-screen .renace-login-back-link > span {
    display: none;
  }
}

/* =========================================================
   36.1. Reset Password — Compact Viewport Refinement
========================================================= */

@media (min-width: 64rem) {
  .renace-reset-password-screen .renace-reset-form {
    gap: 1rem;
  }

  .renace-reset-password-screen .renace-reset-requirements {
    padding: 0.875rem;
  }

  .renace-reset-password-screen .renace-reset-state__actions {
    margin-top: 1.5rem;
  }
}

@media (min-width: 64rem) and (max-height: 50rem) {
  .renace-reset-password-screen .renace-reset-form {
    gap: 0.8rem;
  }

  .renace-reset-password-screen .renace-reset-requirements {
    grid-template-columns: 2.1rem minmax(0, 1fr);
    gap: 0.7rem;
    padding: 0.7rem;
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .renace-reset-password-screen .renace-reset-requirements > i {
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 0.65rem;
  }

  .renace-reset-password-screen .renace-reset-state__actions {
    gap: 0.75rem;
    margin-top: 1rem;
  }

  .renace-reset-password-screen .renace-reset-state__actions .renace-button {
    min-height: 2.875rem;
  }

  .renace-reset-password-screen .renace-login-back-link {
    gap: 0.25rem 0.6rem;
  }
}

@media (min-width: 64rem) and (max-height: 43rem) {
  .renace-reset-password-screen .renace-reset-requirements span {
    display: none;
  }

  .renace-reset-password-screen .renace-reset-state__actions {
    margin-top: 0.8rem;
  }
}
