/*
Theme Name: saludfutura-template
Description: Tema hijo editorial de Twenty Twenty-Five para Salud Futura.
Template: twentytwentyfive
Version: 1.1.0
Text Domain: saludfutura-template
*/
:root {
  --cream: #f7f6ef;
  --olive: #394638;
  --dark: #23362b;
  --muted: #72776b;
  --line: #dcded2;
  --serif: "Fraunces", Georgia, serif;
  --sans: "Onest", Arial, sans-serif;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
body {
  margin: 0;
  background: var(--cream);
  color: var(--olive);
  font: 14px/1.65 var(--sans);
  -webkit-font-smoothing: antialiased;
}
button,
input,
select {
  font: inherit;
}
button,
a {
  touch-action: manipulation;
}
button {
  cursor: pointer;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  display: block;
  max-width: 100%;
}
:focus-visible {
  outline: 3px solid #a88645;
  outline-offset: 5px;
}
::selection {
  background: #dce5c5;
  color: #23362b;
}
h1,
h2,
h3,
p {
  margin: 0;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

body {
  display: block;
}
.skip-link {
  position: fixed;
  top: -80px;
  left: 20px;
  background: white;
  padding: 12px;
  z-index: 100;
  &:focus {
    top: 10px;
  }
}
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: #a8b480;
  transform: scaleX(0);
  transform-origin: left;
  z-index: 60;
}
.header {
  height: 100px;
  padding: 0 5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--cream);
  position: relative;
  z-index: 30;
}
.brand {
  display: block;
  flex-shrink: 0;
  img {
    width: 100%;
    height: auto;
    mix-blend-mode: multiply;
  }
}
.brand--header {
  width: 106px;
}
.brand--footer {
  width: 260px;
  aspect-ratio: 9 / 10;
  overflow: hidden;
  img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
.desktop-nav {
  display: flex;
  gap: 33px;
  font-size: 12px;
  a {
    padding: 10px 0;
    border-bottom: 1px solid transparent;
    &:hover {
      border-color: var(--olive);
    }
  }
}
.button {
  display: inline-flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  padding: 16px 25px;
  border: 1px solid transparent;
  border-radius: 3px;
  font-size: 12px;
  font-weight: 500;
  transition:
    background 0.25s,
    transform 0.25s;
  span {
    font-size: 20px;
    line-height: 1;
  }
  &:hover {
    transform: translateY(-3px);
  }
}
.button-dark {
  background: var(--olive);
  color: var(--cream);
  &:hover {
    background: #203526;
  }
}
.button-light {
  background: var(--cream);
  color: var(--olive);
  &:hover {
    background: #e3e8d7;
  }
}
.menu-toggle {
  display: none;
  border: 0;
  background: transparent;
  color: var(--olive);
}
.mobile-nav {
  position: absolute;
  z-index: 40;
  left: 0;
  right: 0;
  background: var(--cream);
  padding: 20px 6%;
  display: grid;
  gap: 18px;
  border-top: 1px solid var(--line);
}
.hero {
  margin: 0 20px;
  min-height: 680px;
  height: calc(100svh - 120px);
  max-height: 920px;
  position: relative;
  overflow: hidden;
  color: #fffdf4;
  border-radius: 4px;
}
.hero-photo {
  width: 100%;
  height: 112%;
  object-fit: cover;
  position: absolute;
  top: -5%;
  object-position: center 54%;
}
.hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(19, 36, 26, 0.72),
      rgba(19, 36, 26, 0.32) 46%,
      rgba(19, 36, 26, 0.04) 75%
    ),
    linear-gradient(0deg, rgba(15, 31, 21, 0.45), transparent 35%);
}
.hero-copy {
  position: relative;
  padding: 66px 5.2% 100px;
}
.eyebrow {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.little-star {
  font-size: 20px;
}
h1 {
  font-family: var(--serif);
  font-size: clamp(62px, 6.9vw, 106px);
  line-height: 1.04;
  letter-spacing: -4px;
  font-weight: 300;
  margin: 24px 0;
}
em {
  font-family: var(--serif);
  font-weight: 300;
}
.hero-description {
  font-size: 13px;
  line-height: 1.8;
  color: #eeeee4;
  margin-bottom: 28px;
}
.hero-seal {
  position: absolute;
  right: 6%;
  top: 16%;
  border: 1px solid #ffffff70;
  border-radius: 50%;
  width: 120px;
  height: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: rotate(14deg);
  span {
    font-size: 7px;
    letter-spacing: 2px;
  }
  b {
    font-size: 46px;
    font-weight: 300;
    line-height: 1.4;
  }
}
.hero-bottom {
  position: absolute;
  bottom: 26px;
  left: 5.2%;
  right: 5.2%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  gap: 20px;
  color: #fffdf4;
  text-shadow: 0 1px 6px #14271ecc;
  > span,
  a {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  a {
    letter-spacing: 0.3px;
    color: #eeeede;
  }
  a span {
    margin-left: 18px;
    font-size: 20px;
  }
  i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #d5dbb0;
  }
}
.slide-line {
  width: 64px;
  height: 1px;
  background: #ffffff55;
  &::before {
    content: "";
    display: block;
    width: 24px;
    height: 1px;
    background: white;
  }
}
.wellness-strip {
  padding: 28px 7%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  font-weight: 500;
  b {
    font-size: 22px;
    font-weight: 300;
    color: #899073;
  }
}
.section-pad {
  padding: 95px 7%;
}
.intro-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 37px;
}
.small-note {
  font-size: 15px;
  color: var(--muted);
}
.intro-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 10%;
}
h2 {
  font: 300 clamp(34px, 3.4vw, 52px)/1.22 var(--serif);
  letter-spacing: -1.7px;
}
h2 em {
  color: #78825f;
}
.intro-text p {
  font-size: 13px;
  color: var(--muted);
  margin-bottom: 15px;
}
.text-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  font-size: 11px;
  border-bottom: 1px solid #a6ae97;
  padding: 12px 0;
  font-weight: 500;
  span {
    font-size: 19px;
  }
  &:hover {
    color: #798050;
  }
}
.values {
  display: flex;
  margin-top: 50px;
  padding-top: 25px;
  border-top: 1px solid var(--line);
  > span {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 15px;
    font-size: 22px;
  }
  b {
    font-size: 15px;
    font-weight: 400;
  }
}
.services {
  background: #eceee4;
}
.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 35px;
  margin-bottom: 40px;
  .eyebrow {
    margin-bottom: 24px;
  }
  > p {
    font-size: 12px;
    color: var(--muted);
  }
}
.service-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #cbd0bf;
  margin-bottom: 36px;
  button {
    border: 0;
    border-bottom: 2px solid transparent;
    padding: 21px 12px;
    background: transparent;
    text-align: left;
    color: #68715e;
    display: flex;
    align-items: center;
    gap: 18px;
    font-size: 14px;
    span {
      font-size: 10px;
    }
    b {
      margin-left: auto;
      font-weight: 400;
      font-size: 19px;
    }
    &.active {
      color: #263c2a;
      border-color: #3d5037;
    }
    &:hover {
      background: #e3e7d9;
    }
  }
}
.service-panel {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 425px;
  gap: 8%;
  align-items: center;
}
.service-image {
  position: relative;
  height: 430px;
  overflow: hidden;
  border-radius: 3px;
  img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s;
  }
  &:hover img {
    transform: scale(1.035);
  }
  > span {
    position: absolute;
    bottom: 20px;
    left: 20px;
    font-size: 8px;
    letter-spacing: 1.4px;
    background: #f7f6efdd;
    padding: 8px 12px;
  }
}
.service-number {
  font-size: 11px;
  color: #6c755b;
}
.service-copy {
  h3 {
    white-space: pre-line;
    font: 300 43px/1.2 var(--serif);
    letter-spacing: -1.4px;
    margin: 22px 0;
  }
  > p {
    color: #6b7461;
    font-size: 12px;
    max-width: 350px;
  }
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 23px 0;
  span {
    font-size: 9px;
    padding: 6px 11px;
    border: 1px solid #cbd1bc;
    border-radius: 30px;
  }
}
.yoga {
  min-height: 610px;
  position: relative;
  overflow: hidden;
  color: var(--cream);
  > img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 56%;
  }
}
.yoga-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #192c21c9, #192c2140 65%, transparent);
}
.yoga-copy {
  position: relative;
  padding: 110px 7%;
  h2 {
    font-size: clamp(45px, 5vw, 75px);
    margin: 30px 0 23px;
    em {
      color: #e7e6ce;
    }
  }
  > p:not(.eyebrow) {
    font-size: 15px;
    margin-bottom: 28px;
  }
}
.yoga-footnote {
  position: absolute;
  bottom: 25px;
  right: 7%;
  font-size: 15px;
  letter-spacing: 1.5px;
}
.journey-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5%;
  margin-top: 55px;
  article {
    border-top: 1px solid var(--line);
    padding-top: 25px;
  }
  span {
    font-size: 11px;
    color: #727b5d;
  }
  h3 {
    font: 300 27px var(--serif);
    margin: 20px 0 15px;
  }
  p {
    font-size: 12px;
    max-width: 280px;
    color: var(--muted);
  }
}
.contact {
  background: #e7eadf;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 12%;
  .eyebrow {
    margin-bottom: 30px;
  }
  h2 {
    font-size: clamp(42px, 4.4vw, 66px);
  }
}
.contact-copy {
  > p:not(.eyebrow) {
    margin: 25px 0;
    color: var(--muted);
    font-size: 13px;
  }
  > .contact-phone {
    display: block;
    font-size: 17px;
    color: var(--olive);
    margin-bottom: 15px;
  }
  > span {
    display: block;
    font-size: 11px;
    color: var(--muted);
  }
}
.contact-form {
  align-self: center;
  background: var(--cream);
  padding: 38px;
  border-radius: 4px;
  h3 {
    font: 300 28px var(--serif);
    margin-bottom: 12px;
  }
  > p {
    font-size: 11px;
    color: var(--muted);
  }
  label {
    display: block;
    font-size: 10px;
    margin: 25px 0 8px;
  }
  input,
  select {
    width: 100%;
    padding: 13px 0;
    color: var(--olive);
    background: transparent;
    border: 0;
    border-bottom: 1px solid #c8cebd;
    border-radius: 0;
    font-size: 12px;
  }
  .button {
    margin-top: 30px;
    width: 100%;
  }
  .form-note {
    font-size: 9px;
    margin-top: 12px;
    text-align: center;
  }
  .field-error {
    color: #a1372f;
    margin-top: 8px;
  }
}
.faq {
  max-width: 1050px;
  margin: auto;
  h2 {
    margin: 22px 0 40px;
  }
  details {
    border-bottom: 1px solid var(--line);
    padding: 20px 0;
  }
  summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    list-style: none;
    font-size: 13px;
    &::-webkit-details-marker {
      display: none;
    }
    span {
      font-size: 21px;
    }
  }
  details[open] summary span {
    transform: rotate(45deg);
  }
  details p {
    font-size: 12px;
    max-width: 620px;
    color: var(--muted);
    padding: 16px 0 5px;
  }
}
.footer {
  padding: 35px 7% 23px;
  background: #e9ecdf;
}
.footer-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 30px;
  p {
    font: 300 25px var(--serif);
  }
}
.back-top {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  border: 1px solid #bac3ab;
  border-radius: 50%;
  font-size: 21px;
}
.footer-bottom {
  border-top: 1px solid #ced5c2;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-size: 9px;
  color: #626c55;
}
@media (min-width: 1600px) {
  .header,
  .section-pad,
  .footer {
    padding-left: max(7%, calc((100vw - 1400px) / 2));
    padding-right: max(7%, calc((100vw - 1400px) / 2));
  }
}
@media (max-width: 1000px) {
  .desktop-nav {
    gap: 18px;
    font-size: 10px;
  }
  .header {
    padding: 0 4%;
  }
  .nav-cta {
    padding: 13px 17px;
    gap: 20px;
  }
  .hero {
    min-height: 650px;
  }
  .hero-copy {
    padding-top: 75px;
  }
  .intro-grid {
    gap: 6%;
  }
  .service-copy h3 {
    font-size: 35px;
  }
  .service-panel {
    gap: 5%;
  }
  .contact {
    gap: 6%;
  }
  .contact-form {
    padding: 28px;
  }
}
@media (max-width: 700px) {
  .header {
    height: 82px;
    padding: 0 5%;
  }
  .brand--header {
    width: 82px;
  }
  .brand--footer {
    width: min(220px, calc(100% - 65px));
  }
  .desktop-nav,
  .nav-cta {
    display: none;
  }
  .menu-toggle {
    display: block;
    font-size: 12px;
    min-height: 44px;
  }
  .hero {
    margin: 0 10px;
    min-height: 665px;
    height: calc(100svh - 92px);
    max-height: 820px;
  }
  .hero-photo {
    object-position: 59% center;
  }
  .hero-shade {
    background:
      linear-gradient(90deg, #172c21c9, #172c2145),
      linear-gradient(0deg, #172c2180, transparent);
  }
  .hero-copy {
    padding: 65px 7% 100px;
  }
  .eyebrow {
    font-size: 8px;
    letter-spacing: 1.4px;
  }
  h1 {
    font-size: clamp(59px, 11.5vw, 80px);
    letter-spacing: -2.8px;
    margin: 30px 0;
  }
  .hero-description {
    font-size: 12px;
  }
  .hero-seal {
    width: 75px;
    height: 75px;
    right: 6%;
    top: auto;
    bottom: 100px;
    span {
      font-size: 4px;
      letter-spacing: 1px;
    }
    b {
      font-size: 29px;
    }
  }
  .hero-bottom {
    left: 7%;
    right: 7%;
    position: relative;
    inset: auto;
    margin: auto 7% 30px;
    display: grid;
    gap: 12px;
    font-size: 13px;
    > a {
      font-size: 13px;
      gap: 12px;
      span {
        font-size: 22px;
        margin-left: 0;
      }
    }
    > span:last-child {
      display: flex;
    }
  }
  .wellness-strip {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px 20px;
    padding: 25px 7%;
    font-size: 13px;
    b {
      display: none;
    }
    span::before {
      content: "✳";
      margin-right: 10px;
      color: #8b9677;
    }
  }
  .section-pad {
    padding: 65px 7%;
  }
  .intro-top {
    margin-bottom: 28px;
  }
  .intro-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .small-note {
    display: block;
    font-size: 13px;
  }
  .intro-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  h2 {
    font-size: 36px;
    letter-spacing: -1.1px;
  }
  .values {
    gap: 20px;
    margin-top: 30px;
    flex-wrap: wrap;
    > span {
      min-width: 125px;
      font-size: 18px;
      gap: 8px;
    }
    b {
      font-size: 13px;
    }
  }
  .section-heading {
    display: block;
    > p {
      margin-top: 20px;
    }
  }
  .service-tabs button {
    font-size: 10px;
    padding: 15px 5px;
    gap: 7px;
    span {
      display: none;
    }
    b {
      font-size: 14px;
    }
  }
  .service-panel {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .service-image {
    height: 330px;
  }
  .service-copy h3 {
    font-size: 36px;
    margin: 14px 0;
  }
  .yoga {
    min-height: 590px;
    > img {
      object-position: 62% center;
    }
  }
  .yoga-overlay {
    background: linear-gradient(90deg, #192c21cd, #192c214d);
  }
  .yoga-copy {
    padding: 80px 7%;
    > p:not(.eyebrow) {
      font-size: 13px;
    }
    h2 {
      font-size: 49px;
    }
  }
  .yoga-footnote {
    left: 7%;
    right: 7%;
    font-size: 13px;
  }
  .journey-grid {
    grid-template-columns: 1fr;
    gap: 28px;
    margin-top: 30px;
    article {
      display: grid;
      grid-template-columns: 32px 1fr;
      gap: 10px;
    }
    h3 {
      margin: 0;
      font-size: 26px;
    }
    p {
      grid-column: 2;
      max-width: none;
    }
  }
  .contact {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .contact-copy h2 {
    font-size: 49px;
  }
  .contact-form {
    padding: 28px 22px;
  }
  .footer-top {
    gap: 20px;
    flex-wrap: wrap;
    p {
      font-size: 22px;
      order: 3;
      width: 100%;
    }
  }
  .footer-bottom {
    flex-wrap: wrap;
    font-size: 8px;
  }
}

.contact-copy > .map-link {
  display: inline-flex;
  font-size: 11px;
  margin-top: 12px;
}
.footer {
  padding-bottom: 100px;
}
/* WordPress integration and additional editable modules. */
body{padding:0}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}body .wp-site-blocks main{margin-top:0}[hidden]{display:none!important}.sf-prose{font-size:13px;color:var(--muted);margin-bottom:15px}.faq .sf-prose{padding:16px 0 5px;margin:0;max-width:620px}.contact-copy>.contact-phone{display:block;font-size:17px;margin:24px 0 15px}.sf-section-image{width:100%;max-height:420px;object-fit:cover;border-radius:4px;margin:30px 0}.sf-card-image{width:100%;height:180px;object-fit:cover;margin-top:15px;border-radius:4px}.sf-testimonials{background:#eceee4}.sf-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.sf-testimonial{background:var(--cream);border:1px solid var(--line);border-radius:5px;overflow:hidden}.sf-testimonial-photo,.sf-testimonial video,.sf-testimonial iframe{width:100%;aspect-ratio:16/10;object-fit:cover;display:block;border:0}.sf-testimonial-body{padding:28px}.sf-quote{font:60px/1 var(--serif);color:var(--sf-accent)}.sf-testimonial blockquote{margin:0 0 25px;font:300 21px/1.5 var(--serif)}.sf-testimonial h3{font-size:13px}.sf-testimonial-body>p{font-size:11px;color:var(--muted);margin-top:6px}.sf-empty{padding:30px;border-block:1px solid var(--line);color:var(--muted)}.sf-footer-links{display:flex;flex-wrap:wrap;gap:24px;padding-bottom:24px}.sf-footer-links img{height:50px;width:auto;max-width:150px;object-fit:contain}.service-tabs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.service-panel+.service-panel{margin-top:30px}.service-panel[hidden]+.service-panel{margin-top:0}.wellness-strip{flex-wrap:wrap}.values{flex-wrap:wrap;gap:20px}.hero,.yoga{background:#23362b}.contact-form input,.contact-form select{font-size:16px}h2 em{color:var(--sf-accent)}.yoga h2 em{color:#e7e6ce}body{overflow-wrap:break-word}.service-copy,.intro-text,.contact-copy,.contact-form{min-width:0}.sf-testimonial video{background:#23362b}.footer-bottom .text-link{padding:0;border:0;font-size:9px}.admin-bar .skip-link:focus{top:40px}@media(max-width:900px){.sf-testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.sf-testimonial-grid{grid-template-columns:1fr}.service-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.service-tabs button{overflow-wrap:anywhere}.sf-card-image{grid-column:2}.hero-copy{padding-bottom:140px}.hero-seal{bottom:65px}.sf-testimonial-body{padding:24px}.header{gap:15px}.contact-copy>.contact-phone{font-size:18px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}

@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'Onest';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}

.sf-menu-image{width:24px;height:24px;object-fit:cover;border-radius:50%}.desktop-nav a,.mobile-nav a{display:flex;gap:8px;align-items:center}

/* Give the larger footer labels their own space on small screens. */
@media (max-width: 700px) {
  .hero { display: flex; flex-direction: column; height: auto; min-height: max(760px, calc(100svh - 92px)); max-height: none; }
  .hero-seal { bottom: 190px; }
}

/* Readable treatment descriptions, tab names and item labels. */
.services .section-heading > p,
.services .service-copy > p,
.services .service-tabs button,
.services .tags span {
  font-size: 15px;
}
@media (max-width: 700px) {
  .services .section-heading > p,
  .services .service-copy > p,
  .services .service-tabs button,
  .services .tags span {
    font-size: 13px;
  }
}
@media (max-width: 420px) {
  .services .service-tabs button b { display: none; }
}

/* Readable process details, contact address and footer information. */
.journey-grid article > span,
.journey-grid article > p,
.contact-copy > span,
.contact-copy > .map-link,
.footer-bottom > span,
.footer-bottom > .text-link {
  font-size: 15px;
}
.footer-bottom { flex-wrap: wrap; }
@media (max-width: 700px) {
  .journey-grid article > span,
  .journey-grid article > p,
  .contact-copy > span,
  .contact-copy > .map-link,
  .footer-bottom > span,
  .footer-bottom > .text-link {
    font-size: 13px;
  }
}

/* Testimonial section copy follows the requested reading sizes. */
.sf-testimonials .section-heading > p { font-size: 15px; }
@media (max-width: 700px) {
  .sf-testimonials .section-heading > p { font-size: 13px; }
}

/* Detalles de tratamientos: páginas editoriales y carrusel. */



.sf-detail-header,.sf-detail-footer{padding:24px max(6vw,20px);display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border-bottom:1px solid #39463825}
.sf-detail-header .brand img{width:90px;height:84px;object-fit:contain}
.sf-detail-page{max-width:1440px;margin:auto!important}
.sf-detail-hero{display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:64px max(6vw,24px) 80px}
.sf-detail-hero h1{font-family:Fraunces,serif;font-size:clamp(42px,5.5vw,82px);font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:24px 0}
.sf-detail-intro{font-size:18px;line-height:1.8;margin-bottom:30px;max-width:560px}
.sf-detail-photo{width:100%;height:580px;object-fit:cover;border-radius:180px 180px 12px 12px}
.sf-detail-page .wp-block-post-content{padding:0 max(6vw,24px) 80px}
.sf-detail-page .wp-block-post-content h2{font-family:Fraunces,serif;font-size:clamp(32px,4vw,52px);font-weight:400;line-height:1.2;margin:56px 0 24px}
.sf-detail-page .wp-block-post-content h3{font-family:Fraunces,serif;font-size:26px;font-weight:400;margin:0 0 20px}
.sf-detail-page .wp-block-post-content p{font-size:17px;line-height:1.85;max-width:820px}
.sf-detail-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:32px 0 64px}
.sf-detail-card{padding:32px;border:1px solid #39463830;border-radius:8px;background:#fff6}
.sf-detail-card p{margin-bottom:0}
.sf-detail-footer{background:var(--olive);color:var(--cream);font-size:15px}
.sf-detail-footer a{color:inherit}
@media(max-width:700px){.sf-detail-hero{grid-template-columns:1fr;padding-top:32px;gap:36px}.sf-detail-photo{height:380px;border-radius:140px 140px 8px 8px}.sf-detail-intro{font-size:16px}.sf-detail-cards{grid-template-columns:1fr;gap:16px}.sf-detail-header{gap:16px}.sf-detail-header .text-link{font-size:13px}.sf-detail-page .wp-block-post-content p{font-size:16px}}
