/* ==========================================================================
   SKINFIT WELLNESS — DESIGN SYSTEM LAYER
   Visual-only: this file changes typography, colour, spacing and component
   styling. It never hides, adds or rewrites any copy.
   Install: see README.md (Elementor > Site Settings > Custom CSS, or child theme).
   ========================================================================== */

/* ---------- 1. Tokens ---------- */
:root {
  /* Colour */
  --sf-ink: #14172e;          /* primary dark (unifies 4 previous navies) */
  --sf-ink-2: #1f2348;        /* secondary dark, for depth inside dark sections */
  --sf-text: #2b2e45;         /* body text on light */
  --sf-muted: #63677d;        /* secondary text on light */
  --sf-rose: #b06a76;         /* brand accent (diagnosis rose) */
  --sf-rose-soft: #e9c9ce;    /* accent on dark backgrounds */
  --sf-ivory: #f8f5f1;        /* warm light section */
  --sf-mist: #f3f4f8;         /* cool light section */
  --sf-white: #ffffff;
  --sf-line: rgba(20, 23, 46, 0.11);
  --sf-line-dark: rgba(255, 255, 255, 0.16);

  /* Type */
  --sf-serif: "Newsreader", "Noto Serif", Georgia, "Times New Roman", serif;
  --sf-sans: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;

  --sf-fs-display: clamp(2.5rem, 1.6rem + 3.2vw, 4.25rem);
  --sf-fs-h1: clamp(2.125rem, 1.55rem + 2.2vw, 3.375rem);
  --sf-fs-h2: clamp(1.75rem, 1.35rem + 1.45vw, 2.5rem);
  --sf-fs-h3: clamp(1.375rem, 1.18rem + 0.7vw, 1.75rem);
  --sf-fs-h4: clamp(1.1875rem, 1.1rem + 0.3vw, 1.3125rem);
  --sf-fs-h5: 1.0625rem;
  --sf-fs-lead: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --sf-fs-body: 1rem;
  --sf-fs-small: 0.9375rem;
  --sf-fs-eyebrow: 0.75rem;
  --sf-ls-eyebrow: 0.16em;

  /* Shape & motion */
  --sf-radius-sm: 10px;
  --sf-radius: 18px;
  --sf-radius-lg: 28px;
  --sf-shadow: 0 1px 2px rgba(20, 23, 46, 0.04), 0 12px 32px -12px rgba(20, 23, 46, 0.14);
  --sf-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --sf-gutter: clamp(20px, 4vw, 40px);
}

/* ---------- 2. Base ---------- */
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body {
  background-color: var(--sf-white) !important;   /* theme default was demo lavender #DBD3FF, visible under footer */
  color: var(--sf-text);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern", "liga";
}
::selection { background: var(--sf-rose-soft); color: var(--sf-ink); }
img { image-rendering: auto; }

/* ---------- 3. Type families (2 families site-wide, was 5) ---------- */
body,
body p,
body li,
body input, body textarea, body select, body button,
.elementor-widget-text-editor,
.elementor-icon-list-text,
.elementor-icon-box-description,
.elementor-image-box-description,
.elementor-cta__description,
.elementor-field-label,
.elementor-button,
.elementor-item,
.elementor-sub-item,
.elementor-counter,
.elementor-tab-title,
.elementor-tab-content,
.e-n-accordion-item-title-text,
.skinfit-table {
  font-family: var(--sf-sans) !important;
}

h1, h2, h3, h4,
.elementor-heading-title,
.elementor-icon-box-title,
.elementor-image-box-title,
.elementor-cta__title,
.elementor-headline {
  font-family: var(--sf-serif) !important;
  font-weight: 400 !important;
  letter-spacing: -0.012em;
  font-optical-sizing: auto;
  text-wrap: balance;
}
h5, h6 { font-family: var(--sf-sans) !important; text-wrap: balance; }

/* Readable paragraphs: no orphans, comfortable measure */
.elementor-widget-text-editor p,
.elementor-icon-box-description,
.elementor-image-box-description { text-wrap: pretty; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* Accent words inside headlines (e.g. "diagnosis.") — editorial italic in brand rose */
.elementor-headline-dynamic-text,
.elementor-headline-dynamic-wrapper {
  font-family: var(--sf-serif) !important;
  font-style: italic;
  font-weight: 400 !important;
}

/* ---------- 4. Buttons (one component, all CTAs) ---------- */
.elementor-button,
.elementor-cta__button,
.elementor-field-type-submit .elementor-button,
.e-form__buttons .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 0 28px !important;
  border-radius: 999px !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em !important;
  line-height: 1 !important;
  text-transform: none;
  box-shadow: none !important;
  transition: background-color .3s var(--sf-ease), color .3s var(--sf-ease),
              border-color .3s var(--sf-ease), transform .3s var(--sf-ease) !important;
}
.elementor-button:hover { transform: translateY(-1px); }
.elementor-button .elementor-button-content-wrapper { align-items: center; gap: 10px; }
.elementor-button .elementor-button-icon svg { width: 0.95em; height: 0.95em; transition: transform .3s var(--sf-ease); }
.elementor-button:hover .elementor-button-icon svg { transform: translateX(3px); }

/* Visible keyboard focus everywhere */
a:focus-visible,
button:focus-visible,
.elementor-button:focus-visible,
input:focus-visible, select:focus-visible, textarea:focus-visible,
[role="button"]:focus-visible {
  outline: 2px solid var(--sf-rose) !important;
  outline-offset: 3px !important;
}

/* ---------- 5. Header & navigation ---------- */
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item,
[data-elementor-type="header"] .e-n-menu-title-text,
[data-elementor-type="header"] .e-n-menu-title {
  font-family: var(--sf-sans) !important;
  font-size: 0.9375rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.005em !important;
}
[data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item,
[data-elementor-type="header"] .elementor-sub-item {
  font-family: var(--sf-sans) !important;
  font-size: 0.9375rem !important;
}
/* Header CTA keeps pill shape but slimmer */
[data-elementor-type="header"] .elementor-button { min-height: 46px; padding: 0 22px !important; }

/* ---------- 6. Forms ---------- */
.elementor-form .elementor-field-textual,
.elementor-form select,
.elementor-form textarea,
.elementor-field-group input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
form input[type="email"],
form input[type="text"],
form input[type="tel"] {
  font-family: var(--sf-sans) !important;
  font-size: 0.9375rem !important;
  min-height: 48px;
  padding: 12px 16px !important;
  border-radius: var(--sf-radius-sm) !important;
  border: 1px solid var(--sf-line) !important;
  background-color: var(--sf-white) !important;
  color: var(--sf-ink) !important;
  box-shadow: none !important;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.elementor-form textarea { min-height: 112px; line-height: 1.5 !important; }
.elementor-form .elementor-field-textual:focus,
.elementor-form select:focus,
.elementor-form textarea:focus,
form input[type="email"]:focus {
  border-color: var(--sf-rose) !important;
  box-shadow: 0 0 0 3px rgba(176, 106, 118, 0.16) !important;
  outline: none !important;
}
.elementor-form ::placeholder, form ::placeholder { color: #8a8da0 !important; opacity: 1; }
.elementor-field-label {
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  margin-bottom: 6px !important;
}
.elementor-form .elementor-field-group { margin-bottom: 14px; }

/* ---------- 7. Icon lists, dividers, small UI ---------- */
.elementor-icon-list-items .elementor-icon-list-item { align-items: flex-start !important; }
.elementor-icon-list-items .elementor-icon-list-icon { margin-top: 0.28em; }
.elementor-icon-list-text { line-height: 1.55 !important; }
.elementor-divider-separator { border-color: var(--sf-line); }

/* Social icons: consistent, calm */
.elementor-social-icon { transition: background-color .25s ease, transform .25s ease !important; }
.elementor-social-icon:hover { transform: translateY(-2px); }

/* ---------- 8. Images ---------- */
.elementor-widget-image img { height: auto; }
.elementor-widget-image a img { transition: opacity .3s ease; }

/* ---------- 9. Homepage comparison table (HTML widget) ---------- */
.skinfit-table { color: var(--sf-text) !important; }
.skinfit-table thead th { font-family: var(--sf-sans) !important; font-weight: 500 !important; font-size: 1rem !important; background: var(--sf-white) !important; }
.skinfit-table thead th:nth-child(2),
.skinfit-table tbody td:nth-child(2) { background-color: #fbf3f4 !important; }
.skinfit-table tbody td { font-size: 0.9375rem !important; }
.skinfit-table tbody td:first-child { font-size: 0.75rem !important; letter-spacing: 0.12em !important; color: var(--sf-muted) !important; }
.skinfit-table tbody td:nth-child(2) { color: var(--sf-ink) !important; }

@media (max-width: 640px) {
  /* Restack the 3-column table so nothing is clipped on phones (was a hidden 620px horizontal scroll) */
  .skinfit-table-wrapper { overflow: visible !important; }
  .skinfit-table, .skinfit-table thead, .skinfit-table tbody, .skinfit-table tr { display: block; width: 100% !important; min-width: 0 !important; }
  .skinfit-table colgroup { display: none; }
  .skinfit-table thead tr,
  .skinfit-table tbody tr { display: grid !important; grid-template-columns: 1fr 1fr; }
  .skinfit-table thead th { height: auto !important; padding: 16px 12px !important; font-size: 0.875rem !important; display: flex; align-items: center; justify-content: center; text-align: center !important; }
  .skinfit-table thead th:first-child { grid-column: 1 / -1; justify-content: flex-start; text-align: left !important; padding: 0 4px 10px !important; font-size: 0.8125rem !important; background: transparent !important; }
  .skinfit-table tbody td { display: block; height: auto !important; padding: 12px !important; font-size: 0.9375rem !important; text-align: center; }
  .skinfit-table tbody td:first-child {
    grid-column: 1 / -1; text-align: left !important; background: transparent !important;
    padding: 18px 4px 8px !important; font-size: 0.6875rem !important; border-top: 1px solid var(--sf-line);
  }
  .skinfit-table tbody tr:first-child td:first-child { border-top: 0; }
  .skinfit-table tbody td::after { display: none !important; }
  .skinfit-table tbody td:nth-child(2) { border-radius: var(--sf-radius-sm) 0 0 var(--sf-radius-sm); }
  .skinfit-table tbody td:nth-child(3) { background: var(--sf-mist) !important; border-radius: 0 var(--sf-radius-sm) var(--sf-radius-sm) 0; }
  .skinfit-logo { width: 96px !important; }
}

/* ---------- 10. Motion & accessibility ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .elementor-invisible { visibility: visible !important; }
}

/* ---------- 11. Mobile polish ---------- */
@media (max-width: 767px) {
  :root { --sf-ls-eyebrow: 0.09em; --sf-fs-eyebrow: 0.6875rem; }
  html, body { overflow-x: clip; }
  .elementor-button { min-height: 48px; }
  .elementor-widget-text-editor, .elementor-icon-box-description { hyphens: manual; }
}
/* ==========================================================================
   SKINFIT — TYPE ROLES (generated from a measurement of every heading/text
   element on the live site; each element keeps its relative rank but snaps
   to one shared scale). Element IDs are Elementor's stable IDs.
   ========================================================================== */
/* display: 23 elements */
.elementor-element.elementor-element-3ef6ec7 .elementor-heading-title,
.elementor-element.elementor-element-4029a24 .elementor-heading-title,
.elementor-element.elementor-element-416d357 .elementor-headline,
.elementor-element.elementor-element-42b1420 .elementor-heading-title,
.elementor-element.elementor-element-55d5184 .elementor-heading-title,
.elementor-element.elementor-element-80995bb .elementor-headline,
.elementor-element.elementor-element-9c82fa5 .elementor-headline,
.elementor-element.elementor-element-a436a98 .elementor-widget-container,
.elementor-element.elementor-element-a436a98 p,
.elementor-element.elementor-element-a436a98 p span,
.elementor-element.elementor-element-a8fd4ef .elementor-headline,
.elementor-element.elementor-element-c161ef3 .elementor-heading-title,
.elementor-element.elementor-element-d2b782a .elementor-headline,
.elementor-element.elementor-element-d2be25e .elementor-widget-container,
.elementor-element.elementor-element-d2be25e p,
.elementor-element.elementor-element-d2be25e p span,
.elementor-element.elementor-element-d55e221 .elementor-heading-title,
.page-id-988304 .elementor-element.elementor-element-19d0bc7 .elementor-headline,
.page-id-988511 .elementor-element.elementor-element-19d0bc7 .elementor-headline,
.page-id-988588 .elementor-element.elementor-element-19d0bc7 .elementor-headline,
.page-id-988588 .elementor-element.elementor-element-aae04e3 .elementor-widget-container,
.page-id-988588 .elementor-element.elementor-element-aae04e3 p,
.page-id-988588 .elementor-element.elementor-element-aae04e3 p span {font-family:var(--sf-serif)!important;font-size:var(--sf-fs-display)!important;line-height:1.04!important;font-weight:400!important;letter-spacing:-0.022em!important;}
/* h1: 23 elements */
.elementor-element.elementor-element-1167d8c .elementor-heading-title,
.elementor-element.elementor-element-2c4d18f .elementor-heading-title,
.elementor-element.elementor-element-4699683 .elementor-heading-title,
.elementor-element.elementor-element-49cedd8 .elementor-heading-title,
.elementor-element.elementor-element-568e6ba .elementor-heading-title,
.elementor-element.elementor-element-56da6834 .elementor-heading-title,
.elementor-element.elementor-element-5927864 .elementor-heading-title,
.elementor-element.elementor-element-6c6f76d .elementor-heading-title,
.elementor-element.elementor-element-6e76598 .elementor-heading-title,
.elementor-element.elementor-element-751c0a6 .elementor-heading-title,
.elementor-element.elementor-element-a392c79 .elementor-heading-title,
.elementor-element.elementor-element-a778d6c .elementor-heading-title,
.elementor-element.elementor-element-cc97c34 .elementor-headline,
.elementor-element.elementor-element-d999b9f .elementor-heading-title,
.elementor-element.elementor-element-dfc043b .elementor-heading-title,
.elementor-element.elementor-element-e76fefe .elementor-heading-title,
.elementor-element.elementor-element-fa121d8 .elementor-heading-title,
.elementor-element.elementor-element-faa70b6 .elementor-heading-title,
.page-id-988511 .elementor-element.elementor-element-51fab56 .elementor-heading-title,
.page-id-988588 .elementor-element.elementor-element-51fab56 .elementor-heading-title,
.page-id-988646 .elementor-element.elementor-element-19d0bc7 .elementor-headline,
.page-id-988646 .elementor-element.elementor-element-51fab56 .elementor-heading-title,
.page-id-988646 .elementor-element.elementor-element-a068864 .elementor-headline {font-family:var(--sf-serif)!important;font-size:var(--sf-fs-h1)!important;line-height:1.08!important;font-weight:400!important;letter-spacing:-0.018em!important;}
/* h2: 118 elements */
.elementor-element.elementor-element-0152fef .elementor-heading-title,
.elementor-element.elementor-element-01d8ffa .elementor-heading-title,
.elementor-element.elementor-element-021fe87 .elementor-heading-title,
.elementor-element.elementor-element-0279c29 .elementor-heading-title,
.elementor-element.elementor-element-02e3a4e .elementor-widget-container,
.elementor-element.elementor-element-02e3a4e p,
.elementor-element.elementor-element-02e3a4e p span,
.elementor-element.elementor-element-0739da0 .elementor-heading-title,
.elementor-element.elementor-element-0d0ac3e .elementor-heading-title,
.elementor-element.elementor-element-0d9606f .elementor-heading-title,
.elementor-element.elementor-element-0e0eaee .elementor-heading-title,
.elementor-element.elementor-element-0ed02de .elementor-widget-container,
.elementor-element.elementor-element-0ed02de p,
.elementor-element.elementor-element-0ed02de p span,
.elementor-element.elementor-element-0f4415b .elementor-widget-container,
.elementor-element.elementor-element-0f4415b p,
.elementor-element.elementor-element-0f4415b p span,
.elementor-element.elementor-element-165c74a .elementor-heading-title,
.elementor-element.elementor-element-1818c6f .elementor-heading-title,
.elementor-element.elementor-element-1af7ad6 .elementor-widget-container,
.elementor-element.elementor-element-1af7ad6 p,
.elementor-element.elementor-element-1af7ad6 p span,
.elementor-element.elementor-element-1e1c20c .elementor-heading-title,
.elementor-element.elementor-element-1e9664d .elementor-heading-title,
.elementor-element.elementor-element-1f6c1af .elementor-icon-box-title,
.elementor-element.elementor-element-1fe123e .elementor-heading-title,
.elementor-element.elementor-element-20df4d0 .elementor-icon-box-title,
.elementor-element.elementor-element-2166ea0 .elementor-heading-title,
.elementor-element.elementor-element-2992fda .elementor-widget-container,
.elementor-element.elementor-element-2992fda p,
.elementor-element.elementor-element-2992fda p span,
.elementor-element.elementor-element-2f9de71 .elementor-heading-title,
.elementor-element.elementor-element-3151b5a .elementor-heading-title,
.elementor-element.elementor-element-32795a2 .elementor-heading-title,
.elementor-element.elementor-element-36589cb .elementor-widget-container,
.elementor-element.elementor-element-36589cb p,
.elementor-element.elementor-element-36589cb p span,
.elementor-element.elementor-element-375c154 .elementor-heading-title,
.elementor-element.elementor-element-3cee085 .elementor-heading-title,
.elementor-element.elementor-element-40f9e9f .elementor-heading-title,
.elementor-element.elementor-element-4c5afcf .elementor-heading-title,
.elementor-element.elementor-element-4fe6178 .elementor-heading-title,
.elementor-element.elementor-element-510cd8e .elementor-heading-title,
.elementor-element.elementor-element-5a5518d .elementor-heading-title,
.elementor-element.elementor-element-5a6af27 .elementor-heading-title,
.elementor-element.elementor-element-5e98e66 .elementor-widget-container,
.elementor-element.elementor-element-5e98e66 p,
.elementor-element.elementor-element-5e98e66 p span,
.elementor-element.elementor-element-608162b .elementor-widget-container,
.elementor-element.elementor-element-608162b p,
.elementor-element.elementor-element-608162b p span,
.elementor-element.elementor-element-62d26cb .elementor-heading-title,
.elementor-element.elementor-element-634f116 .elementor-heading-title,
.elementor-element.elementor-element-6709018 .elementor-widget-container,
.elementor-element.elementor-element-6709018 p,
.elementor-element.elementor-element-6709018 p span,
.elementor-element.elementor-element-77fcb92 .elementor-heading-title,
.elementor-element.elementor-element-7e29ef6 .elementor-heading-title,
.elementor-element.elementor-element-7eb9942 .elementor-widget-container,
.elementor-element.elementor-element-7eb9942 p,
.elementor-element.elementor-element-7eb9942 p span,
.elementor-element.elementor-element-84319ca .elementor-heading-title,
.elementor-element.elementor-element-8455f5d .elementor-heading-title,
.elementor-element.elementor-element-90fad95 .elementor-heading-title,
.elementor-element.elementor-element-91a8a2a .elementor-heading-title,
.elementor-element.elementor-element-9bb4f43 .elementor-widget-container,
.elementor-element.elementor-element-9bb4f43 p,
.elementor-element.elementor-element-9bb4f43 p span,
.elementor-element.elementor-element-9da518b .elementor-heading-title,
.elementor-element.elementor-element-a28ff96 .elementor-heading-title,
.elementor-element.elementor-element-a2bd885 .elementor-widget-container,
.elementor-element.elementor-element-a2bd885 p,
.elementor-element.elementor-element-a2bd885 p span,
.elementor-element.elementor-element-a3a15de .elementor-widget-container,
.elementor-element.elementor-element-a3a15de p,
.elementor-element.elementor-element-a3a15de p span,
.elementor-element.elementor-element-ab777c0 .elementor-heading-title,
.elementor-element.elementor-element-b06fdb6 .elementor-image-box-title,
.elementor-element.elementor-element-b600963 .elementor-widget-container,
.elementor-element.elementor-element-b600963 p,
.elementor-element.elementor-element-b600963 p span,
.elementor-element.elementor-element-b946899 .elementor-heading-title,
.elementor-element.elementor-element-bb85212 .elementor-icon-box-title,
.elementor-element.elementor-element-be6390a .elementor-heading-title,
.elementor-element.elementor-element-c03dd20 .elementor-heading-title,
.elementor-element.elementor-element-c07d530 .elementor-heading-title,
.elementor-element.elementor-element-c1a214f .elementor-heading-title,
.elementor-element.elementor-element-c2de032 .elementor-heading-title,
.elementor-element.elementor-element-c4b9a3a .elementor-image-box-title,
.elementor-element.elementor-element-d30b867 .elementor-heading-title,
.elementor-element.elementor-element-d62a4f6 .elementor-widget-container,
.elementor-element.elementor-element-d62a4f6 p,
.elementor-element.elementor-element-d62a4f6 p span,
.elementor-element.elementor-element-d816e1a .elementor-heading-title,
.elementor-element.elementor-element-da40558 .elementor-widget-container,
.elementor-element.elementor-element-da40558 p,
.elementor-element.elementor-element-da40558 p span,
.elementor-element.elementor-element-da6c201 .elementor-heading-title,
.elementor-element.elementor-element-da7e22f .elementor-heading-title,
.elementor-element.elementor-element-ddcc8be .elementor-heading-title,
.elementor-element.elementor-element-e4b4d75 .elementor-heading-title,
.elementor-element.elementor-element-ee3edfd .elementor-widget-container,
.elementor-element.elementor-element-ee3edfd p,
.elementor-element.elementor-element-ee3edfd p span,
.elementor-element.elementor-element-ee43dc2 .elementor-heading-title,
.elementor-element.elementor-element-f1848b1 .elementor-widget-container,
.elementor-element.elementor-element-f1848b1 p,
.elementor-element.elementor-element-f1848b1 p span,
.elementor-element.elementor-element-f54c009 .elementor-heading-title,
.elementor-element.elementor-element-f7a01f3 .elementor-heading-title,
.elementor-element.elementor-element-fac92a0 .elementor-heading-title,
.elementor-element.elementor-element-fb0df5c .elementor-heading-title,
.elementor-element.elementor-element-fbe3fd8 .elementor-heading-title,
.page-id-988304 .elementor-element.elementor-element-51fab56 .elementor-heading-title,
.page-id-988304 .elementor-element.elementor-element-bb40713 .elementor-heading-title,
.page-id-988588 .elementor-element.elementor-element-3443418 .elementor-widget-container,
.page-id-988588 .elementor-element.elementor-element-3443418 p,
.page-id-988588 .elementor-element.elementor-element-3443418 p span {font-family:var(--sf-serif)!important;font-size:var(--sf-fs-h2)!important;line-height:1.14!important;font-weight:400!important;letter-spacing:-0.014em!important;}
/* h3: 29 elements */
.elementor-element.elementor-element-05e025f .elementor-icon-box-title,
.elementor-element.elementor-element-0b2e7d6 .elementor-headline,
.elementor-element.elementor-element-1f6c1af .elementor-icon-box-description,
.elementor-element.elementor-element-20df4d0 .elementor-icon-box-description,
.elementor-element.elementor-element-39acec7 .elementor-heading-title,
.elementor-element.elementor-element-3a961c1 .elementor-icon-box-title,
.elementor-element.elementor-element-46a1ab6 .elementor-headline,
.elementor-element.elementor-element-5678d3b .elementor-icon-box-title,
.elementor-element.elementor-element-662b5c3 .elementor-icon-box-title,
.elementor-element.elementor-element-782b697 .elementor-icon-list-text,
.elementor-element.elementor-element-7a4019dc .elementor-heading-title,
.elementor-element.elementor-element-7ab1876 .elementor-headline,
.elementor-element.elementor-element-86182e6 .elementor-icon-box-title,
.elementor-element.elementor-element-8b51547 .elementor-headline,
.elementor-element.elementor-element-9f6e9d7 .elementor-icon-list-text,
.elementor-element.elementor-element-b81030d .elementor-heading-title,
.elementor-element.elementor-element-ba01317 .elementor-icon-list-text,
.elementor-element.elementor-element-bb85212 .elementor-icon-box-description,
.elementor-element.elementor-element-ca109fd .elementor-headline,
.elementor-element.elementor-element-d9fd951 .elementor-heading-title,
.elementor-element.elementor-element-e0347bb .elementor-icon-box-title,
.elementor-element.elementor-element-f53d9e4 .elementor-heading-title,
.elementor-element.elementor-element-f794dda .elementor-icon-box-title,
.elementor-element.elementor-element-ffd52e4 .elementor-headline,
.page-id-988304 .elementor-element.elementor-element-a068864 .elementor-headline,
.page-id-988646 .elementor-element.elementor-element-a62e793 .elementor-widget-container,
.page-id-988646 .elementor-element.elementor-element-a62e793 p,
.page-id-988646 .elementor-element.elementor-element-a62e793 p span,
.page-id-988646 .elementor-element.elementor-element-bb40713 .elementor-heading-title {font-family:var(--sf-serif)!important;font-size:var(--sf-fs-h3)!important;line-height:1.22!important;font-weight:400!important;letter-spacing:-0.008em!important;}
/* h4: 37 elements */
.elementor-element.elementor-element-0329baa .elementor-heading-title,
.elementor-element.elementor-element-051a892 .elementor-heading-title,
.elementor-element.elementor-element-0934ffe .elementor-heading-title,
.elementor-element.elementor-element-1019d8d .elementor-heading-title,
.elementor-element.elementor-element-179543a .elementor-icon-box-title,
.elementor-element.elementor-element-1a26784 .elementor-heading-title,
.elementor-element.elementor-element-25624f8 .elementor-heading-title,
.elementor-element.elementor-element-27fc78a .elementor-icon-box-title,
.elementor-element.elementor-element-4302b0a .elementor-heading-title,
.elementor-element.elementor-element-435b88a .elementor-heading-title,
.elementor-element.elementor-element-4b40da8 .elementor-heading-title,
.elementor-element.elementor-element-559459f .elementor-heading-title,
.elementor-element.elementor-element-55f138c .elementor-heading-title,
.elementor-element.elementor-element-573c719 .elementor-image-box-title,
.elementor-element.elementor-element-658c562 .elementor-heading-title,
.elementor-element.elementor-element-675c651 .elementor-heading-title,
.elementor-element.elementor-element-6c32c05 .elementor-heading-title,
.elementor-element.elementor-element-6d0e67a .elementor-heading-title,
.elementor-element.elementor-element-6d6ec18 .elementor-heading-title,
.elementor-element.elementor-element-70c023d .elementor-heading-title,
.elementor-element.elementor-element-71ea451 .elementor-icon-box-title,
.elementor-element.elementor-element-74ea5c9 .elementor-icon-box-title,
.elementor-element.elementor-element-76c73ee .elementor-image-box-title,
.elementor-element.elementor-element-8170028 .elementor-image-box-title,
.elementor-element.elementor-element-8833ac4 .elementor-image-box-title,
.elementor-element.elementor-element-8dbcd42 .elementor-heading-title,
.elementor-element.elementor-element-8eac18b .elementor-heading-title,
.elementor-element.elementor-element-8f16a53 .elementor-heading-title,
.elementor-element.elementor-element-993519a .elementor-heading-title,
.elementor-element.elementor-element-a5d471e .elementor-icon-box-title,
.elementor-element.elementor-element-ad7316c .elementor-image-box-title,
.elementor-element.elementor-element-c595eb9 .elementor-icon-box-title,
.elementor-element.elementor-element-d3cb332 .elementor-heading-title,
.elementor-element.elementor-element-dc74f4d .elementor-image-box-title,
.elementor-element.elementor-element-ddd553f .elementor-heading-title,
.elementor-element.elementor-element-e2699b5 .elementor-heading-title,
.elementor-element.elementor-element-e4276f7 .elementor-heading-title {font-family:var(--sf-serif)!important;font-size:var(--sf-fs-h4)!important;line-height:1.3!important;font-weight:400!important;letter-spacing:0!important;}
/* h5: 22 elements */
.elementor-element.elementor-element-00fc4c6 .elementor-heading-title,
.elementor-element.elementor-element-0e98df7 .elementor-heading-title,
.elementor-element.elementor-element-1d076d3 .elementor-heading-title,
.elementor-element.elementor-element-20657ca .elementor-heading-title,
.elementor-element.elementor-element-2a440d0 .elementor-heading-title,
.elementor-element.elementor-element-3c6a29b .elementor-heading-title,
.elementor-element.elementor-element-4dca8a9 .elementor-heading-title,
.elementor-element.elementor-element-687ee6a .elementor-heading-title,
.elementor-element.elementor-element-8496613 .elementor-heading-title,
.elementor-element.elementor-element-8618176 .elementor-icon-box-title,
.elementor-element.elementor-element-8881fec .elementor-heading-title,
.elementor-element.elementor-element-898b43d .elementor-heading-title,
.elementor-element.elementor-element-8db7609 .elementor-heading-title,
.elementor-element.elementor-element-9533ca5 .elementor-heading-title,
.elementor-element.elementor-element-95eb111 .elementor-heading-title,
.elementor-element.elementor-element-996b9bc .elementor-heading-title,
.elementor-element.elementor-element-bed3291 .elementor-heading-title,
.elementor-element.elementor-element-cf1fa39 .elementor-heading-title,
.elementor-element.elementor-element-d2bb320 .elementor-heading-title,
.elementor-element.elementor-element-f2c4295 .elementor-icon-box-title,
.elementor-element.elementor-element-f79f85b .elementor-icon-box-title,
.elementor-element.elementor-element-fdceca7 .elementor-heading-title {font-family:var(--sf-sans)!important;font-size:var(--sf-fs-h5)!important;line-height:1.35!important;font-weight:600!important;letter-spacing:-0.003em!important;}
/* lead: 82 elements */
.elementor-element.elementor-element-04c2b37 .elementor-widget-container,
.elementor-element.elementor-element-04c2b37 p,
.elementor-element.elementor-element-04c2b37 p span,
.elementor-element.elementor-element-06584cd .elementor-icon-list-text,
.elementor-element.elementor-element-0a9ceb3 .elementor-widget-container,
.elementor-element.elementor-element-0a9ceb3 p,
.elementor-element.elementor-element-0a9ceb3 p span,
.elementor-element.elementor-element-1132d76 .elementor-widget-container,
.elementor-element.elementor-element-1132d76 p,
.elementor-element.elementor-element-1132d76 p span,
.elementor-element.elementor-element-1d42160 .elementor-widget-container,
.elementor-element.elementor-element-1d42160 p,
.elementor-element.elementor-element-1d42160 p span,
.elementor-element.elementor-element-1e7c3fb .elementor-icon-list-text,
.elementor-element.elementor-element-2662c98 .elementor-widget-container,
.elementor-element.elementor-element-2662c98 p,
.elementor-element.elementor-element-2662c98 p span,
.elementor-element.elementor-element-2f5ec13 .elementor-widget-container,
.elementor-element.elementor-element-2f5ec13 p,
.elementor-element.elementor-element-2f5ec13 p span,
.elementor-element.elementor-element-3176c8d .elementor-widget-container,
.elementor-element.elementor-element-3176c8d p,
.elementor-element.elementor-element-3176c8d p span,
.elementor-element.elementor-element-32c7b1b .elementor-widget-container,
.elementor-element.elementor-element-32c7b1b p,
.elementor-element.elementor-element-32c7b1b p span,
.elementor-element.elementor-element-5f8a236 .elementor-widget-container,
.elementor-element.elementor-element-5f8a236 p,
.elementor-element.elementor-element-5f8a236 p span,
.elementor-element.elementor-element-629c560 .elementor-widget-container,
.elementor-element.elementor-element-629c560 p,
.elementor-element.elementor-element-629c560 p span,
.elementor-element.elementor-element-68eac65 .elementor-icon-list-text,
.elementor-element.elementor-element-7a5541a .elementor-widget-container,
.elementor-element.elementor-element-7a5541a p,
.elementor-element.elementor-element-7a5541a p span,
.elementor-element.elementor-element-9cc2173 .elementor-widget-container,
.elementor-element.elementor-element-9cc2173 p,
.elementor-element.elementor-element-9cc2173 p span,
.elementor-element.elementor-element-9d70310 .elementor-widget-container,
.elementor-element.elementor-element-9d70310 p,
.elementor-element.elementor-element-9d70310 p span,
.elementor-element.elementor-element-a85b0ef .elementor-icon-list-text,
.elementor-element.elementor-element-bbec053 .elementor-widget-container,
.elementor-element.elementor-element-bbec053 p,
.elementor-element.elementor-element-bbec053 p span,
.elementor-element.elementor-element-c1f2864 .elementor-widget-container,
.elementor-element.elementor-element-c1f2864 p,
.elementor-element.elementor-element-c1f2864 p span,
.elementor-element.elementor-element-d249139 .elementor-widget-container,
.elementor-element.elementor-element-d249139 p,
.elementor-element.elementor-element-d249139 p span,
.elementor-element.elementor-element-d2c7ec7 .elementor-widget-container,
.elementor-element.elementor-element-d2c7ec7 p,
.elementor-element.elementor-element-d2c7ec7 p span,
.elementor-element.elementor-element-d6390f6 .elementor-icon-list-text,
.elementor-element.elementor-element-db914a9 .elementor-icon-list-text,
.elementor-element.elementor-element-e05159c .elementor-widget-container,
.elementor-element.elementor-element-e05159c p,
.elementor-element.elementor-element-e05159c p span,
.elementor-element.elementor-element-e3cec0b .elementor-widget-container,
.elementor-element.elementor-element-e3cec0b p,
.elementor-element.elementor-element-e3cec0b p span,
.elementor-element.elementor-element-e57e0f3 .elementor-widget-container,
.elementor-element.elementor-element-e57e0f3 p,
.elementor-element.elementor-element-e57e0f3 p span,
.elementor-element.elementor-element-e66f5e2 .elementor-icon-list-text,
.elementor-element.elementor-element-eaf3e90 .elementor-widget-container,
.elementor-element.elementor-element-eaf3e90 p,
.elementor-element.elementor-element-eaf3e90 p span,
.elementor-element.elementor-element-f160511 .elementor-widget-container,
.elementor-element.elementor-element-f160511 p,
.elementor-element.elementor-element-f160511 p span,
.elementor-element.elementor-element-f1d8f55 .elementor-widget-container,
.elementor-element.elementor-element-f1d8f55 p,
.elementor-element.elementor-element-f1d8f55 p span,
.elementor-element.elementor-element-f50209e .elementor-widget-container,
.elementor-element.elementor-element-f50209e p,
.elementor-element.elementor-element-f50209e p span,
.elementor-element.elementor-element-f6bf310 .elementor-widget-container,
.elementor-element.elementor-element-f6bf310 p,
.elementor-element.elementor-element-f6bf310 p span {font-family:var(--sf-sans)!important;font-size:var(--sf-fs-lead)!important;line-height:1.6!important;}
/* body: 267 elements */
.elementor-element.elementor-element-00daa54 .elementor-widget-container,
.elementor-element.elementor-element-00daa54 p,
.elementor-element.elementor-element-00daa54 p span,
.elementor-element.elementor-element-04aad85 .elementor-icon-box-description,
.elementor-element.elementor-element-05e025f .elementor-icon-box-description,
.elementor-element.elementor-element-06b2a27 .elementor-widget-container,
.elementor-element.elementor-element-06b2a27 p,
.elementor-element.elementor-element-06b2a27 p span,
.elementor-element.elementor-element-0a6b9ee .elementor-icon-box-description,
.elementor-element.elementor-element-0fe434e .elementor-widget-container,
.elementor-element.elementor-element-0fe434e p,
.elementor-element.elementor-element-0fe434e p span,
.elementor-element.elementor-element-10c6890 .elementor-widget-container,
.elementor-element.elementor-element-10c6890 p,
.elementor-element.elementor-element-10c6890 p span,
.elementor-element.elementor-element-121efe4 .elementor-widget-container,
.elementor-element.elementor-element-121efe4 p,
.elementor-element.elementor-element-121efe4 p span,
.elementor-element.elementor-element-179543a .elementor-icon-box-description,
.elementor-element.elementor-element-21973cf .elementor-widget-container,
.elementor-element.elementor-element-21973cf p,
.elementor-element.elementor-element-21973cf p span,
.elementor-element.elementor-element-2596346 .elementor-widget-container,
.elementor-element.elementor-element-2596346 p,
.elementor-element.elementor-element-2596346 p span,
.elementor-element.elementor-element-27eb273 .elementor-widget-container,
.elementor-element.elementor-element-27eb273 p,
.elementor-element.elementor-element-27eb273 p span,
.elementor-element.elementor-element-27fc78a .elementor-icon-box-description,
.elementor-element.elementor-element-2a8cf31 .elementor-widget-container,
.elementor-element.elementor-element-2a8cf31 p,
.elementor-element.elementor-element-2a8cf31 p span,
.elementor-element.elementor-element-2d481b6 .elementor-widget-container,
.elementor-element.elementor-element-2d481b6 p,
.elementor-element.elementor-element-2d481b6 p span,
.elementor-element.elementor-element-30e6330 .elementor-widget-container,
.elementor-element.elementor-element-30e6330 p,
.elementor-element.elementor-element-30e6330 p span,
.elementor-element.elementor-element-31e6023 .elementor-widget-container,
.elementor-element.elementor-element-31e6023 p,
.elementor-element.elementor-element-31e6023 p span,
.elementor-element.elementor-element-3206374 .elementor-widget-container,
.elementor-element.elementor-element-3206374 p,
.elementor-element.elementor-element-3206374 p span,
.elementor-element.elementor-element-34faa96 .elementor-widget-container,
.elementor-element.elementor-element-34faa96 p,
.elementor-element.elementor-element-34faa96 p span,
.elementor-element.elementor-element-3847a57 .elementor-widget-container,
.elementor-element.elementor-element-3847a57 p,
.elementor-element.elementor-element-3847a57 p span,
.elementor-element.elementor-element-40842e1 .elementor-icon-list-text,
.elementor-element.elementor-element-40b248f .elementor-widget-container,
.elementor-element.elementor-element-40b248f p,
.elementor-element.elementor-element-40b248f p span,
.elementor-element.elementor-element-4396918 .elementor-widget-container,
.elementor-element.elementor-element-4396918 p,
.elementor-element.elementor-element-4396918 p span,
.elementor-element.elementor-element-474644d .elementor-widget-container,
.elementor-element.elementor-element-474644d p,
.elementor-element.elementor-element-474644d p span,
.elementor-element.elementor-element-4746dbf .elementor-widget-container,
.elementor-element.elementor-element-4746dbf p,
.elementor-element.elementor-element-4746dbf p span,
.elementor-element.elementor-element-4884e30 .elementor-widget-container,
.elementor-element.elementor-element-4884e30 p,
.elementor-element.elementor-element-4884e30 p span,
.elementor-element.elementor-element-49b31fa .elementor-widget-container,
.elementor-element.elementor-element-49b31fa p,
.elementor-element.elementor-element-49b31fa p span,
.elementor-element.elementor-element-4f8f123 .elementor-widget-container,
.elementor-element.elementor-element-4f8f123 p,
.elementor-element.elementor-element-4f8f123 p span,
.elementor-element.elementor-element-513915b .elementor-widget-container,
.elementor-element.elementor-element-513915b p,
.elementor-element.elementor-element-513915b p span,
.elementor-element.elementor-element-51e96dd .elementor-widget-container,
.elementor-element.elementor-element-51e96dd p,
.elementor-element.elementor-element-51e96dd p span,
.elementor-element.elementor-element-5678d3b .elementor-icon-box-description,
.elementor-element.elementor-element-572ec79 .elementor-icon-list-text,
.elementor-element.elementor-element-5883ddc .elementor-widget-container,
.elementor-element.elementor-element-5883ddc p,
.elementor-element.elementor-element-5883ddc p span,
.elementor-element.elementor-element-58c5c25 .elementor-icon-list-text,
.elementor-element.elementor-element-5afd875 .elementor-widget-container,
.elementor-element.elementor-element-5afd875 p,
.elementor-element.elementor-element-5afd875 p span,
.elementor-element.elementor-element-5b1fa95 .elementor-widget-container,
.elementor-element.elementor-element-5b1fa95 p,
.elementor-element.elementor-element-5b1fa95 p span,
.elementor-element.elementor-element-5cdd9e1 .elementor-widget-container,
.elementor-element.elementor-element-5cdd9e1 p,
.elementor-element.elementor-element-5cdd9e1 p span,
.elementor-element.elementor-element-5d1248e .elementor-widget-container,
.elementor-element.elementor-element-5d1248e p,
.elementor-element.elementor-element-5d1248e p span,
.elementor-element.elementor-element-63ae9d3 .elementor-widget-container,
.elementor-element.elementor-element-63ae9d3 p,
.elementor-element.elementor-element-63ae9d3 p span,
.elementor-element.elementor-element-66bbf74 .elementor-widget-container,
.elementor-element.elementor-element-66bbf74 p,
.elementor-element.elementor-element-66bbf74 p span,
.elementor-element.elementor-element-674d5b2 .elementor-widget-container,
.elementor-element.elementor-element-674d5b2 p,
.elementor-element.elementor-element-674d5b2 p span,
.elementor-element.elementor-element-6876969 .elementor-widget-container,
.elementor-element.elementor-element-6876969 p,
.elementor-element.elementor-element-6876969 p span,
.elementor-element.elementor-element-6dcb3a6 .elementor-widget-container,
.elementor-element.elementor-element-6dcb3a6 p,
.elementor-element.elementor-element-6dcb3a6 p span,
.elementor-element.elementor-element-6ee7d97 .elementor-widget-container,
.elementor-element.elementor-element-6ee7d97 p,
.elementor-element.elementor-element-6ee7d97 p span,
.elementor-element.elementor-element-71d0b7f .elementor-widget-container,
.elementor-element.elementor-element-71d0b7f p,
.elementor-element.elementor-element-71d0b7f p span,
.elementor-element.elementor-element-71ea451 .elementor-icon-box-description,
.elementor-element.elementor-element-73078fc .elementor-widget-container,
.elementor-element.elementor-element-73078fc p,
.elementor-element.elementor-element-73078fc p span,
.elementor-element.elementor-element-74ea5c9 .elementor-icon-box-description,
.elementor-element.elementor-element-753e744 .elementor-widget-container,
.elementor-element.elementor-element-753e744 p,
.elementor-element.elementor-element-753e744 p span,
.elementor-element.elementor-element-7891ac93 .elementor-widget-container,
.elementor-element.elementor-element-7891ac93 p,
.elementor-element.elementor-element-7891ac93 p span,
.elementor-element.elementor-element-836c156 .elementor-widget-container,
.elementor-element.elementor-element-836c156 p,
.elementor-element.elementor-element-836c156 p span,
.elementor-element.elementor-element-84738f8 .elementor-widget-container,
.elementor-element.elementor-element-84738f8 p,
.elementor-element.elementor-element-84738f8 p span,
.elementor-element.elementor-element-84d2d47 .elementor-widget-container,
.elementor-element.elementor-element-84d2d47 p,
.elementor-element.elementor-element-84d2d47 p span,
.elementor-element.elementor-element-8618176 .elementor-icon-box-description,
.elementor-element.elementor-element-8f1517c .elementor-widget-container,
.elementor-element.elementor-element-8f1517c p,
.elementor-element.elementor-element-8f1517c p span,
.elementor-element.elementor-element-8f530c1 .elementor-widget-container,
.elementor-element.elementor-element-8f530c1 p,
.elementor-element.elementor-element-8f530c1 p span,
.elementor-element.elementor-element-91f08ee .elementor-widget-container,
.elementor-element.elementor-element-91f08ee p,
.elementor-element.elementor-element-91f08ee p span,
.elementor-element.elementor-element-9214bc7 .elementor-widget-container,
.elementor-element.elementor-element-9214bc7 p,
.elementor-element.elementor-element-9214bc7 p span,
.elementor-element.elementor-element-924457d .elementor-widget-container,
.elementor-element.elementor-element-924457d p,
.elementor-element.elementor-element-924457d p span,
.elementor-element.elementor-element-92f244a .elementor-widget-container,
.elementor-element.elementor-element-92f244a p,
.elementor-element.elementor-element-92f244a p span,
.elementor-element.elementor-element-a3b8d00 .elementor-widget-container,
.elementor-element.elementor-element-a3b8d00 p,
.elementor-element.elementor-element-a3b8d00 p span,
.elementor-element.elementor-element-a5d471e .elementor-icon-box-description,
.elementor-element.elementor-element-a7370de .elementor-widget-container,
.elementor-element.elementor-element-a7370de p,
.elementor-element.elementor-element-a7370de p span,
.elementor-element.elementor-element-a7d1978 .elementor-widget-container,
.elementor-element.elementor-element-a7d1978 p,
.elementor-element.elementor-element-a7d1978 p span,
.elementor-element.elementor-element-ab5e561 .elementor-widget-container,
.elementor-element.elementor-element-ab5e561 p,
.elementor-element.elementor-element-ab5e561 p span,
.elementor-element.elementor-element-b06fdb6 .elementor-image-box-description,
.elementor-element.elementor-element-b11203f .elementor-widget-container,
.elementor-element.elementor-element-b11203f p,
.elementor-element.elementor-element-b11203f p span,
.elementor-element.elementor-element-ba63328 .elementor-widget-container,
.elementor-element.elementor-element-ba63328 p,
.elementor-element.elementor-element-ba63328 p span,
.elementor-element.elementor-element-bdebbef .elementor-widget-container,
.elementor-element.elementor-element-bdebbef p,
.elementor-element.elementor-element-bdebbef p span,
.elementor-element.elementor-element-bfdd587 .elementor-widget-container,
.elementor-element.elementor-element-bfdd587 p,
.elementor-element.elementor-element-bfdd587 p span,
.elementor-element.elementor-element-c10a6d4 .elementor-widget-container,
.elementor-element.elementor-element-c10a6d4 p,
.elementor-element.elementor-element-c10a6d4 p span,
.elementor-element.elementor-element-c1c6ea7 .elementor-widget-container,
.elementor-element.elementor-element-c1c6ea7 p,
.elementor-element.elementor-element-c1c6ea7 p span,
.elementor-element.elementor-element-c4b9a3a .elementor-image-box-description,
.elementor-element.elementor-element-c595eb9 .elementor-icon-box-description,
.elementor-element.elementor-element-cff2564 .elementor-widget-container,
.elementor-element.elementor-element-cff2564 p,
.elementor-element.elementor-element-cff2564 p span,
.elementor-element.elementor-element-d1869cf .elementor-widget-container,
.elementor-element.elementor-element-d1869cf p,
.elementor-element.elementor-element-d1869cf p span,
.elementor-element.elementor-element-d49e999 .elementor-widget-container,
.elementor-element.elementor-element-d49e999 p,
.elementor-element.elementor-element-d49e999 p span,
.elementor-element.elementor-element-d53e715 .elementor-widget-container,
.elementor-element.elementor-element-d53e715 p,
.elementor-element.elementor-element-d53e715 p span,
.elementor-element.elementor-element-d66fc77 .elementor-widget-container,
.elementor-element.elementor-element-d66fc77 p,
.elementor-element.elementor-element-d66fc77 p span,
.elementor-element.elementor-element-d7a9736 .elementor-widget-container,
.elementor-element.elementor-element-d7a9736 p,
.elementor-element.elementor-element-d7a9736 p span,
.elementor-element.elementor-element-d8efc65 .elementor-widget-container,
.elementor-element.elementor-element-d8efc65 p,
.elementor-element.elementor-element-d8efc65 p span,
.elementor-element.elementor-element-e0347bb .elementor-icon-box-description,
.elementor-element.elementor-element-e11c343 .elementor-widget-container,
.elementor-element.elementor-element-e11c343 p,
.elementor-element.elementor-element-e11c343 p span,
.elementor-element.elementor-element-e1d479c .elementor-icon-list-text,
.elementor-element.elementor-element-e6a7e74 .elementor-widget-container,
.elementor-element.elementor-element-e6a7e74 p,
.elementor-element.elementor-element-e6a7e74 p span,
.elementor-element.elementor-element-e706135 .elementor-widget-container,
.elementor-element.elementor-element-e706135 p,
.elementor-element.elementor-element-e706135 p span,
.elementor-element.elementor-element-e803ca3 .elementor-widget-container,
.elementor-element.elementor-element-e803ca3 p,
.elementor-element.elementor-element-e803ca3 p span,
.elementor-element.elementor-element-ea13615 .elementor-widget-container,
.elementor-element.elementor-element-ea13615 p,
.elementor-element.elementor-element-ea13615 p span,
.elementor-element.elementor-element-eb087cc .elementor-widget-container,
.elementor-element.elementor-element-eb087cc p,
.elementor-element.elementor-element-eb087cc p span,
.elementor-element.elementor-element-ecbf822 .elementor-widget-container,
.elementor-element.elementor-element-ecbf822 p,
.elementor-element.elementor-element-ecbf822 p span,
.elementor-element.elementor-element-ecc33d7 .elementor-widget-container,
.elementor-element.elementor-element-ecc33d7 p,
.elementor-element.elementor-element-ecc33d7 p span,
.elementor-element.elementor-element-ee68d1a .elementor-widget-container,
.elementor-element.elementor-element-ee68d1a p,
.elementor-element.elementor-element-ee68d1a p span,
.elementor-element.elementor-element-ef8e929 .elementor-widget-container,
.elementor-element.elementor-element-ef8e929 p,
.elementor-element.elementor-element-ef8e929 p span,
.elementor-element.elementor-element-f2c4295 .elementor-icon-box-description,
.elementor-element.elementor-element-f2cfc39 .elementor-widget-container,
.elementor-element.elementor-element-f2cfc39 p,
.elementor-element.elementor-element-f2cfc39 p span,
.elementor-element.elementor-element-f794dda .elementor-icon-box-description,
.elementor-element.elementor-element-f79f85b .elementor-icon-box-description,
.elementor-element.elementor-element-f8f80d2 .elementor-widget-container,
.elementor-element.elementor-element-f8f80d2 p,
.elementor-element.elementor-element-f8f80d2 p span,
.elementor-element.elementor-element-fddb871 .elementor-widget-container,
.elementor-element.elementor-element-fddb871 p,
.elementor-element.elementor-element-fddb871 p span,
.elementor-element.elementor-element-feb83d4 .elementor-widget-container,
.elementor-element.elementor-element-feb83d4 p,
.elementor-element.elementor-element-feb83d4 p span,
.page-id-988304 .elementor-element.elementor-element-a62e793 .elementor-widget-container,
.page-id-988304 .elementor-element.elementor-element-a62e793 p,
.page-id-988304 .elementor-element.elementor-element-a62e793 p span,
.page-id-988511 .elementor-element.elementor-element-3443418 .elementor-widget-container,
.page-id-988511 .elementor-element.elementor-element-3443418 p,
.page-id-988511 .elementor-element.elementor-element-3443418 p span,
.page-id-988511 .elementor-element.elementor-element-aae04e3 .elementor-widget-container,
.page-id-988511 .elementor-element.elementor-element-aae04e3 p,
.page-id-988511 .elementor-element.elementor-element-aae04e3 p span {font-family:var(--sf-sans)!important;font-size:var(--sf-fs-body)!important;line-height:1.65!important;}
/* small: 61 elements */
.elementor-element.elementor-element-017ac77 .elementor-widget-container,
.elementor-element.elementor-element-017ac77 p,
.elementor-element.elementor-element-017ac77 p span,
.elementor-element.elementor-element-062481d .elementor-widget-container,
.elementor-element.elementor-element-062481d p,
.elementor-element.elementor-element-062481d p span,
.elementor-element.elementor-element-0d144da .elementor-icon-box-description,
.elementor-element.elementor-element-14c7a21 .elementor-widget-container,
.elementor-element.elementor-element-14c7a21 p,
.elementor-element.elementor-element-14c7a21 p span,
.elementor-element.elementor-element-15033ad .elementor-icon-box-description,
.elementor-element.elementor-element-196cd46 .elementor-icon-box-description,
.elementor-element.elementor-element-19bf012 .elementor-widget-container,
.elementor-element.elementor-element-19bf012 p,
.elementor-element.elementor-element-19bf012 p span,
.elementor-element.elementor-element-1b69cb7 .elementor-icon-box-description,
.elementor-element.elementor-element-1c84368 .elementor-icon-list-text,
.elementor-element.elementor-element-1eaba29 .elementor-icon-box-description,
.elementor-element.elementor-element-2800c07 .elementor-icon-box-description,
.elementor-element.elementor-element-29248f3 .elementor-widget-container,
.elementor-element.elementor-element-29248f3 p,
.elementor-element.elementor-element-29248f3 p span,
.elementor-element.elementor-element-2d95517 .elementor-icon-box-description,
.elementor-element.elementor-element-303041c .elementor-widget-container,
.elementor-element.elementor-element-303041c p,
.elementor-element.elementor-element-303041c p span,
.elementor-element.elementor-element-3408221 .elementor-icon-box-description,
.elementor-element.elementor-element-4074805 .elementor-icon-list-text,
.elementor-element.elementor-element-4a99cbf .elementor-icon-box-description,
.elementor-element.elementor-element-4e3ac1c .elementor-icon-list-text,
.elementor-element.elementor-element-54cb0bf .elementor-icon-list-text,
.elementor-element.elementor-element-64443b6 .elementor-icon-box-description,
.elementor-element.elementor-element-790fa0e .elementor-icon-box-description,
.elementor-element.elementor-element-8c8eb28 .elementor-widget-container,
.elementor-element.elementor-element-8c8eb28 p,
.elementor-element.elementor-element-8c8eb28 p span,
.elementor-element.elementor-element-a06c293 .elementor-icon-list-text,
.elementor-element.elementor-element-a54b21a .elementor-icon-box-description,
.elementor-element.elementor-element-b14d968 .elementor-widget-container,
.elementor-element.elementor-element-b14d968 p,
.elementor-element.elementor-element-b14d968 p span,
.elementor-element.elementor-element-b2d3e24 .elementor-icon-list-text,
.elementor-element.elementor-element-b48d3a4 .elementor-icon-list-text,
.elementor-element.elementor-element-b5363c8 .elementor-widget-container,
.elementor-element.elementor-element-b5363c8 p,
.elementor-element.elementor-element-b5363c8 p span,
.elementor-element.elementor-element-b786185 .elementor-widget-container,
.elementor-element.elementor-element-b786185 p,
.elementor-element.elementor-element-b786185 p span,
.elementor-element.elementor-element-c2f5467 .elementor-icon-list-text,
.elementor-element.elementor-element-c6cf99f .elementor-icon-list-text,
.elementor-element.elementor-element-d0922fb .elementor-icon-box-description,
.elementor-element.elementor-element-d2b56e4 .elementor-icon-list-text,
.elementor-element.elementor-element-d32e795 .elementor-widget-container,
.elementor-element.elementor-element-d32e795 p,
.elementor-element.elementor-element-d32e795 p span,
.elementor-element.elementor-element-d46c573 .elementor-icon-list-text,
.elementor-element.elementor-element-e9593b3 .elementor-icon-box-description,
.elementor-element.elementor-element-f4748e1 .elementor-widget-container,
.elementor-element.elementor-element-f4748e1 p,
.elementor-element.elementor-element-f4748e1 p span {font-family:var(--sf-sans)!important;font-size:var(--sf-fs-small)!important;line-height:1.6!important;}
/* eyebrow: 91 elements */
.elementor-element.elementor-element-01eec0f .elementor-heading-title,
.elementor-element.elementor-element-0251593 .elementor-heading-title,
.elementor-element.elementor-element-0dc6df8 .elementor-heading-title,
.elementor-element.elementor-element-1261a51 .elementor-heading-title,
.elementor-element.elementor-element-12af355 .elementor-heading-title,
.elementor-element.elementor-element-1a3f7b5 .elementor-heading-title,
.elementor-element.elementor-element-21219fa .elementor-heading-title,
.elementor-element.elementor-element-28383e4 .elementor-heading-title,
.elementor-element.elementor-element-2a0e387 .elementor-widget-container,
.elementor-element.elementor-element-2a0e387 p,
.elementor-element.elementor-element-2a0e387 p span,
.elementor-element.elementor-element-2a5eb34 .elementor-heading-title,
.elementor-element.elementor-element-2cb540a .elementor-heading-title,
.elementor-element.elementor-element-2df67a1 .elementor-heading-title,
.elementor-element.elementor-element-2fca32b .elementor-widget-container,
.elementor-element.elementor-element-2fca32b p,
.elementor-element.elementor-element-2fca32b p span,
.elementor-element.elementor-element-303ab25 .elementor-heading-title,
.elementor-element.elementor-element-356a984 .elementor-heading-title,
.elementor-element.elementor-element-380ebf0 .elementor-widget-container,
.elementor-element.elementor-element-380ebf0 p,
.elementor-element.elementor-element-380ebf0 p span,
.elementor-element.elementor-element-38818d6 .elementor-heading-title,
.elementor-element.elementor-element-3991b02 .elementor-heading-title,
.elementor-element.elementor-element-3a961c1 .elementor-icon-box-description,
.elementor-element.elementor-element-3d2e9f4 .elementor-heading-title,
.elementor-element.elementor-element-425b3dd .elementor-heading-title,
.elementor-element.elementor-element-4c97272 .elementor-heading-title,
.elementor-element.elementor-element-4ed63ae .elementor-widget-container,
.elementor-element.elementor-element-4ed63ae p,
.elementor-element.elementor-element-4ed63ae p span,
.elementor-element.elementor-element-51a198d .elementor-heading-title,
.elementor-element.elementor-element-63891d7 .elementor-heading-title,
.elementor-element.elementor-element-662b5c3 .elementor-icon-box-description,
.elementor-element.elementor-element-6c6e6f7 .elementor-heading-title,
.elementor-element.elementor-element-6cb1527 .elementor-heading-title,
.elementor-element.elementor-element-6f94cb4 .elementor-heading-title,
.elementor-element.elementor-element-76ed70e .elementor-widget-container,
.elementor-element.elementor-element-76ed70e p,
.elementor-element.elementor-element-76ed70e p span,
.elementor-element.elementor-element-7c8e41e .elementor-heading-title,
.elementor-element.elementor-element-818b708 .elementor-widget-container,
.elementor-element.elementor-element-818b708 p,
.elementor-element.elementor-element-818b708 p span,
.elementor-element.elementor-element-86182e6 .elementor-icon-box-description,
.elementor-element.elementor-element-87fbf2c .elementor-heading-title,
.elementor-element.elementor-element-8a224d2 .elementor-heading-title,
.elementor-element.elementor-element-8a3397c .elementor-heading-title,
.elementor-element.elementor-element-8be004f .elementor-heading-title,
.elementor-element.elementor-element-8da06c1 .elementor-heading-title,
.elementor-element.elementor-element-905a28c .elementor-heading-title,
.elementor-element.elementor-element-92fc5f6 .elementor-heading-title,
.elementor-element.elementor-element-9447ad0 .elementor-heading-title,
.elementor-element.elementor-element-9a55076 .elementor-heading-title,
.elementor-element.elementor-element-a0d40ef .elementor-widget-container,
.elementor-element.elementor-element-a0d40ef p,
.elementor-element.elementor-element-a0d40ef p span,
.elementor-element.elementor-element-a393835 .elementor-widget-container,
.elementor-element.elementor-element-a393835 p,
.elementor-element.elementor-element-a393835 p span,
.elementor-element.elementor-element-a56fefd .elementor-widget-container,
.elementor-element.elementor-element-a56fefd p,
.elementor-element.elementor-element-a56fefd p span,
.elementor-element.elementor-element-a913305 .elementor-heading-title,
.elementor-element.elementor-element-ab39faf .elementor-heading-title,
.elementor-element.elementor-element-acf867b .elementor-widget-container,
.elementor-element.elementor-element-acf867b p,
.elementor-element.elementor-element-acf867b p span,
.elementor-element.elementor-element-b072c0c .elementor-heading-title,
.elementor-element.elementor-element-b23bd33 .elementor-widget-container,
.elementor-element.elementor-element-b23bd33 p,
.elementor-element.elementor-element-b23bd33 p span,
.elementor-element.elementor-element-b4af21d .elementor-heading-title,
.elementor-element.elementor-element-b7cd4a8 .elementor-heading-title,
.elementor-element.elementor-element-bf4289e .elementor-heading-title,
.elementor-element.elementor-element-c92a107 .elementor-widget-container,
.elementor-element.elementor-element-c92a107 p,
.elementor-element.elementor-element-c92a107 p span,
.elementor-element.elementor-element-d3887b9 .elementor-heading-title,
.elementor-element.elementor-element-df42a19 .elementor-heading-title,
.elementor-element.elementor-element-e40e9d8 .elementor-heading-title,
.elementor-element.elementor-element-e80a97f .elementor-widget-container,
.elementor-element.elementor-element-e80a97f p,
.elementor-element.elementor-element-e80a97f p span,
.elementor-element.elementor-element-ea7538e .elementor-heading-title,
.elementor-element.elementor-element-f047461 .elementor-widget-container,
.elementor-element.elementor-element-f047461 p,
.elementor-element.elementor-element-f047461 p span,
.elementor-element.elementor-element-fbb0b7a .elementor-widget-container,
.elementor-element.elementor-element-fbb0b7a p,
.elementor-element.elementor-element-fbb0b7a p span {font-family:var(--sf-sans)!important;font-size:var(--sf-fs-eyebrow)!important;line-height:1.4!important;font-weight:500!important;letter-spacing:var(--sf-ls-eyebrow)!important;}

/* ---------- Section backgrounds unified to tokens ---------- */
/* ink */
.page-id-26 .elementor-element.elementor-element-b7121a0,
.page-id-56 .elementor-element.elementor-element-55a1d88,
.page-id-56 .elementor-element.elementor-element-9ab8398,
.page-id-987944 .elementor-element.elementor-element-c274d0e,
.page-id-988304 .elementor-element.elementor-element-036ed30,
.page-id-988511 .elementor-element.elementor-element-01fdf61,
.page-id-988511 .elementor-element.elementor-element-98b35fb,
.page-id-988511 .elementor-element.elementor-element-bbe6b20,
.page-id-988588 .elementor-element.elementor-element-01fdf61,
.page-id-988588 .elementor-element.elementor-element-3763ad7,
.page-id-988588 .elementor-element.elementor-element-98b35fb,
.page-id-988646 .elementor-element.elementor-element-3f8e657,
.page-id-988646 .elementor-element.elementor-element-98b35fb,
.page-id-988646 .elementor-element.elementor-element-efd46c1 {background-color:var(--sf-ink)!important;}
/* grad-footer */
.page-id-56 .elementor-element.elementor-element-8b0eaa3,
.page-id-72 .elementor-element.elementor-element-8b0eaa3,
.page-id-987944 .elementor-element.elementor-element-8b0eaa3,
.page-id-987980 .elementor-element.elementor-element-8b0eaa3,
.page-id-988304 .elementor-element.elementor-element-8b0eaa3,
.page-id-988511 .elementor-element.elementor-element-8b0eaa3,
.page-id-988588 .elementor-element.elementor-element-8b0eaa3,
.page-id-988646 .elementor-element.elementor-element-8b0eaa3 {background-image:none!important;background-color:var(--sf-ivory)!important;}
/* mist */
.page-id-26 .elementor-element.elementor-element-14ffb37,
.page-id-988304 .elementor-element.elementor-element-b73d4d3,
.page-id-988511 .elementor-element.elementor-element-b73d4d3,
.page-id-988588 .elementor-element.elementor-element-b73d4d3 {background-color:var(--sf-mist)!important;}
/* ivory */
.page-id-987980 .elementor-element.elementor-element-a2d311e,
.page-id-988304 .elementor-element.elementor-element-68931fc,
.page-id-988511 .elementor-element.elementor-element-68931fc,
.page-id-988588 .elementor-element.elementor-element-68931fc,
.page-id-988646 .elementor-element.elementor-element-68931fc {background-color:var(--sf-ivory)!important;}
/* grad-soft */
.page-id-987980 .elementor-element.elementor-element-36a58cd {background-image:linear-gradient(180deg,#fff 0%,var(--sf-mist) 100%)!important;}
/* ==========================================================================
   SKINFIT — LAYOUT & ALIGNMENT FIXES (page-specific)
   ========================================================================== */

/* ---------- Home ---------- */
/* Hero headline is the single largest line on the page */
.page-id-987980 .elementor-element-cc97c34 .elementor-headline {
  font-size: clamp(2.625rem, 1.5rem + 3.9vw, 4.75rem) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.022em !important;
}
/* Hero copy column aligns to the 1280px content grid used by every other section */
@media (min-width: 1025px) {
  .page-id-987980 .elementor-element-0456deb {
    padding-left: max(30px, calc((100vw - 1280px) / 2)) !important;
    padding-right: 48px !important;
  }
}
/* Service cards: number on top, titles on one shared baseline (was vertically centred, so titles drifted) */
.page-id-987980 .e-con:has(> .e-con > .elementor-widget-heading h6.elementor-heading-title) {
  justify-content: flex-start !important;
  gap: 40px !important;
}
.page-id-987980 .e-con:has(> .e-con > .elementor-widget-heading h6.elementor-heading-title) > .e-con { gap: 8px !important; }

/* ---------- Footer (all pages) ---------- */
.elementor-element-20657ca .elementor-heading-title { font-weight: 400 !important; font-size: 0.875rem !important; }

/* ---------- About: "Every visit includes / What we won't do" (HTML widget) ---------- */
.skinfit-info-wrap { gap: clamp(20px, 3vw, 32px) !important; padding: 8px 0 !important; flex-wrap: wrap; }
.skinfit-info-card {
  max-width: 520px !important; flex: 1 1 340px;
  border-radius: var(--sf-radius) !important;
  border: 1px solid var(--sf-line);
  box-shadow: var(--sf-shadow) !important;
  background: var(--sf-white) !important;
}
.skinfit-info-header {
  min-height: 0 !important; padding: 22px 28px !important; border-radius: 0 !important;
  justify-content: flex-start !important; text-align: left !important;
  background: var(--sf-ink) !important;
}
.skinfit-info-header h3 {
  font-family: var(--sf-sans) !important; font-size: var(--sf-fs-eyebrow) !important;
  font-weight: 500 !important; letter-spacing: 0.16em !important; line-height: 1.4 !important;
}
.skinfit-info-content { padding: 26px 28px 28px !important; }
.skinfit-info-item { grid-template-columns: 22px 1fr !important; column-gap: 14px !important; margin-bottom: 20px !important; }
.skinfit-info-item:empty { display: none !important; }
.skinfit-info-icon { width: 22px !important; height: 22px !important; margin-top: 2px !important; border-radius: 50%; }
.skinfit-check { background: rgba(176, 106, 118, 0.12); }
.skinfit-check::before {
  width: 5px !important; height: 10px !important; left: 8px !important; top: 4px !important;
  border-right: 1.6px solid var(--sf-rose) !important; border-bottom: 1.6px solid var(--sf-rose) !important;
  filter: none !important;
}
.skinfit-cross { background: rgba(20, 23, 46, 0.07); }
.skinfit-cross::before, .skinfit-cross::after {
  width: 10px !important; height: 1.6px !important; left: 6px !important; top: 10px !important;
  background: var(--sf-ink) !important; box-shadow: none !important;
}
.skinfit-info-text { color: var(--sf-text) !important; font-family: var(--sf-sans) !important; }
.skinfit-info-text strong { font-family: var(--sf-serif) !important; font-size: 1.125rem !important; font-weight: 400 !important; line-height: 1.3 !important; margin-bottom: 4px !important; color: var(--sf-ink); }
.skinfit-info-text p { font-size: 0.9375rem !important; line-height: 1.55 !important; color: var(--sf-muted) !important; }

/* ---------- Mobile (all pages) ---------- */
@media (max-width: 767px) {
  /* Parallax background layers slide photos out of their frame on phones (e.g. Dr. Ruby portrait). Static on mobile. */
  .elementor-motion-effects-layer { transform: none !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }

  /* Home service cards: compact stack instead of tall boxes */
  .page-id-987980 .e-con:has(> .e-con > .elementor-widget-heading h6.elementor-heading-title) {
    gap: 14px !important; min-height: 0 !important; padding-top: 22px !important; padding-bottom: 22px !important;
  }


}

/* ---------- Animated headlines (all pages) ----------
   Every one rotates a single word, so the effect only made the accent word blink out and back in on a loop,
   and its JS-measured fixed width broke line wrapping on tablets. Show the word statically. */
.elementor-headline--style-rotate .elementor-headline-dynamic-wrapper {
  display: inline !important; width: auto !important; height: auto !important; overflow: visible !important;
  text-align: inherit !important;
}
.elementor-headline--style-rotate .elementor-headline-dynamic-text {
  position: static !important; display: inline !important; opacity: 1 !important; visibility: visible !important;
  white-space: normal !important;
}
.elementor-headline--style-rotate .elementor-headline-dynamic-letter {
  display: inline !important; opacity: 1 !important; transform: none !important; animation: none !important;
}

/* ---------- Tablet (768–1024px) ---------- */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Photo layers stay static on tablet too (parallax cropped Dr. Ruby's portrait to the hands) */
  .elementor-motion-effects-layer { transform: none !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important; }

  /* Home "The Artifact": the iPad is a background overlay pinned top-left, so on tablets it sat under the list.
     Give it its own band above the text. */
  .page-id-987980 .elementor-element-fb74828 { padding-top: 400px !important; }
  .page-id-987980 .elementor-element-fb74828::before {
    bottom: auto !important; height: 380px !important; top: 20px !important;
    background-position: center top !important; background-size: contain !important;
  }
  .page-id-987980 .elementor-element-fb74828 > .e-con-inner { flex-direction: column !important; }
  .page-id-987980 .elementor-element-7fe6f6e { width: 100% !important; max-width: 640px !important; margin-inline: auto !important; }

  /* Dr. Ruby portrait: tall narrow frame on tablet cropped to the centre (hands) — keep the face in frame */
  .elementor-element-c2cb82a, .elementor-element-29dabbf { background-position: 50% 12% !important; }

  /* Treatment-page heroes (all four share this layout): the booking form was squeezed into a 150px column — stack it under the intro */
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 { flex-direction: column !important; flex-wrap: nowrap !important; align-items: stretch !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 > .e-con { width: 100% !important; max-width: 560px !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 { padding-top: 120px !important; background-position: 78% top !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 > .e-con:first-child { max-width: 400px !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-85ff2c8 { margin: 24px 0 40px !important; height: auto !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-99ffd87 { width: 100% !important; height: auto !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-99ffd87 > * { width: 100% !important; }

  /* Laser closing CTA: headline column was 205px wide and ran into the form */
  .page-id-988304 .elementor-element-fd943cf { flex-wrap: wrap !important; }
  .page-id-988304 .elementor-element-4c76fe9 { width: 45% !important; min-width: 280px; }
}
@media (max-width: 767px) {
  /* Stacked cards: size to content (a flex-basis would become a fixed height in a column) */
  .skinfit-info-wrap { flex-direction: column !important; align-items: stretch !important; }
  .skinfit-info-card { flex: none !important; max-width: none !important; }
}
/* ==========================================================================
   SKINFIT — GRID ALIGNMENT PASS + CLIENT FEEDBACK (Nov 2026)
   Grid (desktop): content 1280px centred → edges at 80 / 1360 on a 1440 screen.
   Rule 1: framed surfaces (header pill, cards, footer card) sit on the grid edges.
   Rule 2: two-column sections split at the centre; left text starts on the grid edge,
           right-column text starts 40px right of centre.
   ========================================================================== */
:root {
  --sf-grid: 1280px;
  --sf-edge: max(20px, calc((100vw - var(--sf-grid)) / 2)); /* distance from screen edge to grid edge */
  --sf-col-gap: 40px;                                          /* half the gutter between two columns */
  --sf-frame-pad: 40px;                                        /* inset of content inside framed boxes */
}

@media (min-width: 1025px) {
  /* ---------- Header (all pages) ---------- */
  /* Logo and button sit exactly on the grid lines; the pill extends just beyond them */
  .elementor-element-daf3b60 { padding-left: calc(var(--sf-edge) - 28px) !important; padding-right: calc(var(--sf-edge) - 12px) !important; }
  .elementor-element-8737862 { padding-left: 28px !important; padding-right: 12px !important; position: relative; }
  /* Menu centred on the page, not between logo and button */
  .elementor-element-b6ff56c { position: absolute !important; left: 50% !important; top: 50% !important;
    transform: translate(-50%, -50%) !important; width: auto !important; margin: 0 !important; }
  .elementor-element-2b5739b { margin-left: auto !important; }

  /* ---------- Footer (all pages) ---------- */
  .elementor-element-8b0eaa3 { padding-left: var(--sf-edge) !important; padding-right: var(--sf-edge) !important; }
  .elementor-element-fb49826 { padding: 56px var(--sf-frame-pad) 32px !important; }
  .elementor-element-94c0f6d { gap: 28px !important; justify-content: flex-start !important; }
  .elementor-element-48a311a { justify-content: flex-start !important; gap: 28px !important; }
  .elementor-element-1b72258 .elementor-nav-menu { justify-content: flex-end !important; gap: 36px !important; }
  .elementor-element-1b72258 .elementor-nav-menu > li { flex: 0 0 auto !important; }
  .elementor-element-1b72258 .elementor-item { padding-left: 0 !important; padding-right: 0 !important; }

  /* ---------- Home: booking band ---------- */
  .page-id-987980 .elementor-element-6388c32c { padding-left: 0 !important; padding-right: var(--sf-col-gap) !important; }
  .page-id-987980 .elementor-element-47730c22 { padding-left: var(--sf-col-gap) !important; padding-right: 0 !important; }
  .page-id-987980 .elementor-element-f9721d2 { padding: var(--sf-frame-pad) !important; }

  /* ---------- Home: Dr. Ruby card — exact 50/50 split ---------- */
  .page-id-987980 .elementor-element-fd31590 { gap: 0 !important; --gap: 0px !important; column-gap: 0 !important; }
  .page-id-987980 .elementor-element-c2cb82a { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important; }
  .page-id-987980 .elementor-element-230cd53 { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important;
    padding-left: var(--sf-frame-pad) !important; padding-right: var(--sf-frame-pad) !important; }
  .page-id-987980 .elementor-element-da7e22f, .page-id-987980 .elementor-element-536e3d2 { --width: 100% !important; width: 100% !important; }

  /* ---------- Home: The Artifact — right column on the 760 line, to the grid edge ---------- */
  .page-id-987980 .elementor-element-7fe6f6e { padding-left: var(--sf-col-gap) !important; padding-right: 0 !important; }
}

/* ---------- Footer: legal row + spacing (all widths) ---------- */
.elementor-element-20657ca.elementor-element .elementor-heading-title { font-weight: 400 !important; font-size: 0.875rem !important; }

/* ==========================================================================
   FEEDBACK — GENERAL
   ========================================================================== */

/* Mobile sticky contact bar: Call · WhatsApp · Book */
.sf-mbar { display: none; }
@media (max-width: 767px) {
  .sf-mbar {
    display: grid; grid-template-columns: 0.9fr 1.25fr 1fr; gap: 8px;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999;
    padding: 10px max(12px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-right, 0px));
    background: rgba(255, 255, 255, 0.96);
    -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px);
    border-top: 1px solid var(--sf-line);
    box-shadow: 0 -8px 24px -16px rgba(20, 23, 46, 0.35);
  }
  .sf-mbar__item {
    display: flex; align-items: center; justify-content: center; gap: 8px;
    height: 48px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--sf-line); white-space: nowrap; min-width: 0;
    font: 500 0.875rem/1 var(--sf-sans); color: var(--sf-ink) !important; text-decoration: none !important;
    background: var(--sf-white);
  }
  .sf-mbar__item svg { width: 18px; height: 18px; flex: none; }
  .sf-mbar__item--primary { background: var(--sf-ink); border-color: var(--sf-ink); color: #fff !important; }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* Numbered steps ("01. …"): number in its own column, text indented */
.sf-step { display: grid !important; grid-template-columns: 2.75rem minmax(0, 1fr); column-gap: 0.75rem; align-items: baseline; }
.sf-step__n {
  font-family: var(--sf-serif) !important; font-size: 1.5rem; line-height: 1; font-weight: 400;
  color: var(--sf-rose); font-variant-numeric: lining-nums tabular-nums; letter-spacing: -0.01em;
}
.sf-step__t { min-width: 0; }

/* Credentials (Dr. Ruby): same size as the paragraph text, bold */
.sf-credential .elementor-icon-box-description {
  font-family: var(--sf-sans) !important;
  font-size: var(--sf-fs-body) !important; line-height: 1.5 !important;
  font-weight: 600 !important; color: #fff !important; letter-spacing: 0 !important;
}
.sf-credential--lg .elementor-icon-box-description { font-size: var(--sf-fs-lead) !important; }

/* Preview-only form message */
.sf-preview-msg { margin: 12px 0 0 !important; font: 500 0.875rem/1.4 var(--sf-sans); color: var(--sf-rose); }

/* ==========================================================================
   FEEDBACK — HOME
   ========================================================================== */

/* "Your skin, in one place": phone + four phase cards, real text */
.page-id-987980 .elementor-element-a09221e { --width: 100% !important; width: 100% !important; max-width: var(--sf-grid) !important; margin-inline: auto !important; }
.page-id-987980 .elementor-element-693b2d7 { width: 100% !important; }
.page-id-987980 .elementor-element-693b2d7 > .elementor-widget-container { margin: 56px 0 0 !important; }
.sf-phases {
  position: relative; display: grid; align-items: center;
  grid-template-columns: minmax(0, 1fr) clamp(240px, 24vw, 320px) minmax(0, 1fr);
  column-gap: clamp(24px, 4vw, 64px);
  max-width: 1120px; margin: 8px auto 0;
}
.sf-phases__phone {
  grid-column: 2; grid-row: 1; width: 100%; height: auto; display: block;
  filter: drop-shadow(0 30px 40px rgba(20, 23, 46, 0.22)) drop-shadow(0 8px 12px rgba(20, 23, 46, 0.10));
}
.sf-phases__list {
  grid-column: 1 / -1; grid-row: 1; list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: minmax(0, 1fr) clamp(240px, 24vw, 320px) minmax(0, 1fr);
  column-gap: clamp(24px, 4vw, 64px); row-gap: clamp(48px, 7vw, 120px); align-content: center;
}
.sf-phase { position: relative; padding: 0; margin: 0; max-width: 340px; }
.sf-phase--01, .sf-phase--03 { grid-column: 1; justify-self: end; text-align: right; }
.sf-phase--02, .sf-phase--04 { grid-column: 3; justify-self: start; text-align: left; }
.sf-phase--01 { grid-row: 1; } .sf-phase--02 { grid-row: 1; transform: translateY(48px); }
.sf-phase--03 { grid-row: 2; } .sf-phase--04 { grid-row: 2; transform: translateY(48px); }
.sf-phase__n {
  display: block; font-family: var(--sf-serif); font-weight: 300; font-size: clamp(2.5rem, 2rem + 1.6vw, 3.5rem);
  line-height: 1; color: var(--sf-rose); letter-spacing: -0.02em; margin-bottom: 14px; font-variant-numeric: lining-nums;
}
.sf-phase__t { font-family: var(--sf-serif) !important; font-weight: 400 !important; font-size: var(--sf-fs-h4) !important;
  line-height: 1.3 !important; color: var(--sf-ink) !important; margin: 0 0 6px !important; letter-spacing: 0 !important; }
.sf-phase__d { font-family: var(--sf-sans) !important; font-size: var(--sf-fs-small) !important; line-height: 1.6 !important;
  color: var(--sf-muted) !important; margin: 0 !important; }
@media (max-width: 767px) {
  .sf-phases { grid-template-columns: 1fr; row-gap: 32px; }
  .sf-phases__phone { grid-column: 1; grid-row: 1; width: min(62vw, 260px); justify-self: center; }
  .sf-phases__list { grid-column: 1; grid-row: 2; grid-template-columns: 1fr 1fr; column-gap: 20px; row-gap: 28px; }
  .sf-phase { grid-column: auto !important; grid-row: auto !important; justify-self: stretch !important; text-align: left !important; transform: none !important; }
  .sf-phase__n { font-size: 2.25rem; margin-bottom: 8px; }
}

/* ==========================================================================
   FEEDBACK — CONTACT
   ========================================================================== */
.page-id-72 .elementor-element-f30ccc8 { margin-top: 0 !important; padding-top: 0 !important; }
.sf-scan-card {
  margin-top: 28px; padding: 28px 32px; border-radius: var(--sf-radius);
  background: var(--sf-ivory); border: 1px solid var(--sf-line); max-width: 520px;
}
.sf-scan-card__eyebrow { margin: 0 0 6px !important; font: 500 var(--sf-fs-eyebrow)/1.4 var(--sf-sans) !important; letter-spacing: var(--sf-ls-eyebrow) !important; text-transform: uppercase; color: var(--sf-rose) !important; }
.sf-scan-card__price { margin: 0 0 10px !important; font: 400 var(--sf-fs-h2)/1.1 var(--sf-serif) !important; color: var(--sf-ink) !important; }
.sf-scan-card__body { margin: 0 0 14px !important; font-size: var(--sf-fs-small) !important; line-height: 1.6 !important; color: var(--sf-text) !important; }
.sf-scan-card__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.sf-scan-card__list li { position: relative; padding-left: 22px; font-size: var(--sf-fs-small); line-height: 1.5; color: var(--sf-text); }
.sf-scan-card__list li::before { content: ""; position: absolute; left: 0; top: 0.72em; width: 10px; height: 1.5px; background: var(--sf-rose); }

/* ==========================================================================
   ALIGNMENT — ABOUT (desktop)
   ========================================================================== */
@media (min-width: 1025px) {
  /* Hero: headline on the 80 line, intro on the 760 line */
  .page-id-56 .elementor-element-9c902ad { padding-right: 0 !important; }
  .page-id-56 .elementor-element-ddc3574 { --width: 100% !important; width: 100% !important; gap: 0 !important; }
  .page-id-56 .elementor-element-20a9293 { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important; padding: 0 var(--sf-col-gap) 0 0 !important; }
  .page-id-56 .elementor-element-f81bc7a { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important; padding: 0 0 0 var(--sf-col-gap) !important; justify-content: center !important; }
  /* Dr. Ruby: exact 50/50, portrait to the grid edge, text on the 760 line */
  .page-id-56 .elementor-element-298be57 { padding-left: 0 !important; padding-right: 0 !important; gap: 0 !important; --gap: 0px !important; }
  .page-id-56 .elementor-element-298be57 > .e-con { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important; }
  .page-id-56 .elementor-element-e62e0f0 { padding-left: var(--sf-col-gap) !important; padding-right: 0 !important; }
  .page-id-56 .elementor-element-cdfb67f, .page-id-56 .elementor-element-3cee085 { --width: 100% !important; width: 100% !important; }
  /* Two clinics: on the grid, two equal cards with a 40px gutter */
  .page-id-56 .elementor-element-1196b24 { padding-left: var(--sf-edge) !important; padding-right: var(--sf-edge) !important; }
  .page-id-56 .elementor-element-7b2af26 { padding-left: 0 !important; padding-right: 0 !important; }
  .page-id-56 .elementor-element-398b8f9 { --width: 100% !important; width: 100% !important; gap: calc(var(--sf-col-gap) * 2) !important; --gap: 0px !important; }
  .page-id-56 .elementor-element-398b8f9 > .e-con { --width: 50% !important; flex: 1 1 0 !important; padding-left: 0 !important; padding-right: 0 !important; }
}
/* Hero intro: both paragraphs the same family and size; the second stays the emphasis */
.page-id-56 .elementor-element-b786185 :is(p, .elementor-widget-container) { font-size: var(--sf-fs-lead) !important; line-height: 1.6 !important; color: var(--sf-text) !important; }
.page-id-56 .elementor-element-c1f2864 :is(p, .elementor-widget-container) { font-size: var(--sf-fs-lead) !important; line-height: 1.6 !important; font-weight: 600 !important; color: var(--sf-ink) !important; }

/* About + treatment pages: clinic collage → clean grid (wide photo, then three equal photos with captions underneath) */
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-e7d5212 {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 16px !important;
  width: 100% !important; max-width: var(--sf-grid) !important; margin-inline: auto !important; padding: 0 !important;
}
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-5992f81 { grid-column: 1 / -1; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-33ac162, :is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-e688693 { display: contents !important; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-29d1917, .elementor-element-fba4e24, .elementor-element-359d491):not(:has(.elementor-widget)) { display: none !important; } /* empty spacer boxes only */
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-0e98203, .elementor-element-485db35, .elementor-element-9e95a1e, .elementor-element-29d1917:has(.elementor-widget)) {
  grid-row: 2; width: 100% !important; --width: 100% !important; margin: 0 !important; padding: 0 !important;
  transform: none !important; position: static !important; display: flex !important; flex-direction: column !important; gap: 14px !important;
}
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-0e98203 { grid-column: 1; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-485db35, .elementor-element-29d1917) { grid-column: 2; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-9e95a1e { grid-column: 3; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-e7d5212 .elementor-widget-image { margin: 0 !important; width: 100% !important; transform: none !important; position: static !important; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-e7d5212 .elementor-widget-image img {
  display: block; width: 100% !important; height: auto !important; aspect-ratio: 4 / 3; object-fit: cover;
  border: 0 !important; border-radius: var(--sf-radius-sm) !important; box-shadow: none !important;
}
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-5992f81 img { aspect-ratio: 21 / 9 !important; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-6cb1527, .elementor-element-d3887b9, .elementor-element-2a5eb34) { margin: 0 !important; transform: none !important; position: static !important; }
:is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-6cb1527, .elementor-element-d3887b9, .elementor-element-2a5eb34) .elementor-heading-title { text-align: left !important; }
@media (max-width: 767px) {
  :is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-e7d5212 { grid-template-columns: 1fr; }
  :is(.page-id-56,.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-0e98203, .elementor-element-485db35, .elementor-element-9e95a1e, .elementor-element-29d1917) { grid-row: auto !important; grid-column: 1 !important; }
}

/* ==========================================================================
   ALIGNMENT — TREATMENT PAGE HEROES (desktop). One layout for all four pages.
   ========================================================================== */
@media (min-width: 1025px) {
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 {
    padding-left: var(--sf-edge) !important; padding-right: var(--sf-edge) !important;
    min-height: 780px !important; background-size: cover !important; background-repeat: no-repeat !important; align-items: center !important;
  }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-aa2ae14 {
    --width: auto !important; width: auto !important; flex: 0 0 min(520px, 40%) !important; max-width: 520px !important;
    padding-left: 0 !important; padding-right: 0 !important; margin: 0 !important;
  }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-85ff2c8 {
    --width: auto !important; width: auto !important; flex: 1 1 auto !important; align-items: flex-end !important; padding: 0 !important; margin: 0 !important; height: auto !important;
  }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-99ffd87 {
    --width: 440px !important; width: 440px !important; max-width: 440px !important; padding: 36px !important; margin: 0 !important;
  }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-99ffd87 .elementor-widget { --width: 100% !important; width: 100% !important; max-width: 100% !important; }
  /* Same headline size on all four heroes (specific enough to beat the per-element type roles) */
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor .elementor-element.elementor-element-aa2ae14 :is(h1, .elementor-headline) {
    font-size: var(--sf-fs-h1) !important; line-height: 1.08 !important;
  }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-aa2ae14 { flex: 0 0 460px !important; max-width: 460px !important; }
  /* Fixed hero height (was 100vh, so it changed with every window) — photos are sized to match */
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-2c2a2a4 { min-height: 0 !important; height: 760px !important; --min-height: 0px !important; }
  /* Photos: fixed height, positioned from the page centre so the face sits right of the headline.
     Face centres measured on the source images; the band's centre is 40px right of the page centre. */
  .page-id-988304 .elementor-element-2c2a2a4 { background-size: auto 760px !important; background-position: calc(50vw - 553px) top !important; } /* 1200×800, face ≈ 0.52 */
  .page-id-988511 .elementor-element-2c2a2a4 { background-size: auto 760px !important; background-position: calc(50vw - 885px) top !important; } /* 1383×664, head ≈ 0.55, nudged so the texture callouts clear the form */
  .page-id-988588 .elementor-element-2c2a2a4 { background-size: auto 760px !important; background-position: calc(50vw - 854px) top !important; } /* 1170×497, head ≈ 0.50 */
  /* Hair: room photo fills; the couple (separate cut-out) stands between headline and form */
  .page-id-988646 .elementor-element-2c2a2a4::before {
    background-size: auto 430px !important; background-position: calc(50vw - 300px) 100% !important; background-repeat: no-repeat !important;
  }
}
}

/* Stat strips (25+ / 1L+ / 50+): keep number and "+" together, labels wrap only between words */
@media (max-width: 767px) {
  .elementor-widget-heading .elementor-heading-title, .elementor-widget-text-editor p { word-break: normal !important; overflow-wrap: normal !important; }
}
/* Dr. Ruby stat box: let numbers and labels size to their content ("25+" was boxed into 33px, pushing "+" out) */
.elementor-element-b534fc0 .elementor-widget { width: auto !important; max-width: 100% !important; --container-widget-width: auto !important; }
.elementor-element-b534fc0 :is(.elementor-element-7eb9942, .elementor-element-9bb4f43, .elementor-element-ee3edfd) .elementor-heading-title { white-space: nowrap !important; }
/* Gradient-filled numbers: the fill only covers the element's box, so the box must fit the text (else "+" turns invisible) */
.vamtam-has-text-gradient :is(p, .elementor-heading-title) { width: max-content !important; max-width: none !important; }
.elementor-element-b534fc0 .e-con { flex: 1 1 0 !important; min-width: 0 !important; }

/* KAI: process cards and the pigmentation panel sat 30px inside the grid on both sides */
@media (min-width: 1025px) {
  .page-id-987944 :is(.elementor-element-1b4ad76, .elementor-element-a669a64) { padding-left: 0 !important; padding-right: 0 !important; }
}
/* Contact: with the title band gone, the photo's interlocking wave cut and the body gradient behind it go too */
body.page-id-72 { background-image: none !important; }
.page-id-72 .elementor-element-f30ccc8 { clip-path: none !important; }

/* ==========================================================================
   ALIGNMENT — stray side padding on invisible wrappers (found by measurement at 1440px)
   Full-width wrappers: no side padding. Two-column pairs: outer edges on the grid, inner 30px gutter kept.
   ========================================================================== */
@media (min-width: 1025px) {
  .page-id-56 .elementor-element-f7933c7 { padding-left: 0 !important; padding-right: 0 !important; }

  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(
    .elementor-element-007399f, .elementor-element-3387220, .elementor-element-e7d5212,
    .elementor-element-2a4fa2d, .elementor-element-7d439f0, .elementor-element-d9edd1e) { padding-left: 0 !important; padding-right: 0 !important; }

  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-ad33649, .elementor-element-e55cfe6) { padding-left: 0 !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-07f1193, .elementor-element-5b3751e) { padding-right: 0 !important; }

  /* Dr. Ruby card on treatment pages: same exact 50/50 split as the homepage */
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-f50ab28 { gap: 0 !important; --gap: 0px !important; column-gap: 0 !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-f50ab28 > .e-con { --width: 50% !important; width: 50% !important; flex: 0 0 50% !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-f23a8e2 { padding-left: var(--sf-frame-pad) !important; padding-right: var(--sf-frame-pad) !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-ab777c0, .elementor-element-ee11e23) { --width: 100% !important; width: 100% !important; }

  /* Closing CTA band: on the grid (its inner box was 1400px wide) */
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-9d900dc { padding-left: var(--sf-edge) !important; padding-right: var(--sf-edge) !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-9d900dc > .e-con-inner { max-width: var(--sf-grid) !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-14f5101 { padding-left: 0 !important; }
}

/* Closing CTA: the line under the headline had a -45px pull written for a smaller headline */
:is(.page-id-988511,.page-id-988588) .elementor-element-d1869cf > .elementor-widget-container,
.page-id-988646 .elementor-element-a7370de > .elementor-widget-container { margin-top: 16px !important; }
@media (min-width: 1025px) {
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) :is(.elementor-element-05ccfd1, .elementor-element-155d101, .elementor-element-dc596e5, .elementor-element-d402425) { padding-right: 0 !important; }
  :is(.page-id-988304,.page-id-988511,.page-id-988588,.page-id-988646) .elementor-element-8424c92 { padding-left: 0 !important; padding-right: 0 !important; }
}
@media (min-width: 1025px) {
  .page-id-988304 :is(.elementor-element-c9e75c6, .elementor-element-19c5fa6, .elementor-element-6f1164c) { padding-right: 0 !important; }
  /* Session cards: four equal columns edge to edge on the grid, one even gap */
  .page-id-988304 .elementor-element-8424c92 { gap: 24px !important; --gap: 24px !important; }
  .page-id-988304 .elementor-element-8424c92 > .e-con { padding-left: 0 !important; padding-right: 0 !important; flex: 1 1 0 !important; --width: auto !important; width: auto !important; }
}
@media (min-width: 1025px) {
  .page-id-988304 :is(.elementor-element-35d8f46, .elementor-element-64fc60c, .elementor-element-35add4d, .elementor-element-5284d01) { padding-left: 0 !important; padding-right: 0 !important; }
}
/* About "Two clinics": row was a fixed 1400px wide — on tablets the whole page zoomed out (also on the live site) */
@media (max-width: 1024px) {
  .page-id-56 .elementor-element-398b8f9 { --width: 100% !important; width: 100% !important; max-width: 100% !important; }
}

/* ==========================================================================
   FEEDBACK — Treatment line icons (home "What we treat")
   ========================================================================== */
.sf-tile { position: relative !important; }
.sf-tile__icon {
  position: absolute; top: 22px; right: 22px; display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(176, 106, 118, 0.08); color: var(--sf-rose);
}
.sf-tile__icon svg { width: 26px; height: 26px; }
@media (max-width: 767px) { .sf-tile__icon { top: 18px; right: 18px; width: 40px; height: 40px; } .sf-tile__icon svg { width: 24px; height: 24px; } }

/* ==========================================================================
   FEEDBACK — CTA banners on treatment pages (Dr. Ruby · kAI)
   ========================================================================== */
.sf-cta { padding: clamp(56px, 7vw, 96px) var(--sf-edge); }
.sf-cta__card {
  max-width: var(--sf-grid); margin: 0 auto; display: grid;
  grid-template-columns: minmax(0, 340px) minmax(0, 1fr); align-items: stretch;
  border-radius: var(--sf-radius-lg); overflow: hidden;
}
.sf-cta--ruby .sf-cta__card { background: var(--sf-ink); color: #fff; }
.sf-cta--kai .sf-cta__card { background: var(--sf-ivory); color: var(--sf-ink); border: 1px solid var(--sf-line); }
.sf-cta__img { display: block; width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.sf-cta--ruby .sf-cta__img { object-position: 50% 18%; }
.sf-cta--kai .sf-cta__img { object-position: 30% 50%; }
.sf-cta__body { padding: clamp(32px, 4vw, 56px); display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.sf-cta__eyebrow { margin: 0 !important; font: 500 var(--sf-fs-eyebrow)/1.4 var(--sf-sans) !important; letter-spacing: var(--sf-ls-eyebrow) !important; text-transform: uppercase; }
.sf-cta--ruby .sf-cta__eyebrow { color: var(--sf-rose-soft) !important; }
.sf-cta--kai .sf-cta__eyebrow { color: var(--sf-rose) !important; }
.sf-cta__title {
  margin: 0 !important; padding: 0; border: 0; max-width: 30ch;
  font: 400 var(--sf-fs-h2)/1.18 var(--sf-serif) !important; letter-spacing: -0.012em; text-wrap: balance; color: inherit !important;
}
.sf-cta--ruby .sf-cta__title { font-style: italic; }
.sf-cta__text { margin: 0 !important; max-width: 52ch; font: 400 var(--sf-fs-body)/1.6 var(--sf-sans) !important; opacity: .82; color: inherit !important; }
.sf-cta__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; margin-top: 8px; }
.sf-cta__btn {
  display: inline-flex; align-items: center; gap: 10px; min-height: 50px; padding: 0 26px; border-radius: 999px;
  font: 500 0.9375rem/1 var(--sf-sans); text-decoration: none !important; transition: transform .3s var(--sf-ease), background-color .3s var(--sf-ease);
}
.sf-cta__btn:hover { transform: translateY(-1px); }
.sf-cta--ruby .sf-cta__btn { background: #fff; color: var(--sf-ink) !important; }
.sf-cta--kai .sf-cta__btn { background: var(--sf-ink); color: #fff !important; }
.sf-cta__price { padding: 4px 9px; border-radius: 999px; font-size: 0.8125rem; background: rgba(255,255,255,.16); }
.sf-cta__link { font: 500 0.9375rem/1 var(--sf-sans); color: inherit !important; text-decoration: underline !important; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (max-width: 767px) {
  .sf-cta__card { grid-template-columns: 1fr; }
  .sf-cta__img { min-height: 0; aspect-ratio: 16 / 11; height: auto; }
  .sf-cta__body { padding: 28px 24px 32px; }
}
@media (min-width: 768px) and (max-width: 1024px) { .sf-cta__card { grid-template-columns: minmax(0, 260px) minmax(0, 1fr); } }

/* Forms: honeypot (hidden from people) and the result message */
.sf-hp { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; }
.sf-form-msg { flex-basis: 100%; margin: 12px 0 0 !important; font: 500 0.9375rem/1.5 var(--sf-sans); color: #2f6b4f; }
.sf-form-msg.is-error { color: #a23b3b; }
.elementor-element-19342da .sf-form-msg { color: inherit; }
