@font-face { font-family: "DM Sans"; src: url("/assets/fonts/dm-sans-latin.woff2") format("woff2"); font-style: normal; font-weight: 400 700; font-display: swap; }
/* Complete service pages and their supporting editorial guides. */
.expanded-intro { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.8fr); gap:64px; align-items:start; }
.expanded-intro:has(>div:only-child) { display:block; max-width:900px; }
.expanded-intro p { font-size:18px; color:var(--muted); }
.professional-note { padding:28px; border:1px solid var(--line); border-radius:24px; background:var(--paper); }
.professional-note h3 { margin:18px 0; font-size:22px; line-height:1.4; }
.professional-note p { font-size:15px; }
.professional-note a { display:block; margin:12px 0; font-weight:700; }
.expanded-band { background:var(--paper); border-block:1px solid var(--line); }
.expanded-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.expanded-grid article { border:1px solid var(--line); border-radius:24px; padding:30px; background:white; }
.expanded-grid article .eyebrow { border:0; padding:0; background:none; color:var(--orange); }
.expanded-grid h3 { margin:20px 0 16px; font-size:25px; line-height:1.25; }
.expanded-grid p { color:var(--muted); }
.expanded-grid a { display:inline-block; margin-top:8px; font-weight:700; }
.expanded-sections { max-width:1000px; padding-block:30px; }
.expanded-section { display:grid; grid-template-columns:64px minmax(0,1fr); gap:26px; padding-block:42px; border-bottom:1px solid var(--line); }
.expanded-section h2 { font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.23; }
.expanded-section p,.expanded-section li { font-size:18px; color:var(--muted); }
.expanded-number { color:var(--orange); font-size:22px; font-weight:700; padding-top:3px; }
.expanded-section ul { padding-left:24px; }
.expanded-section li { margin-block:10px; }
.expanded-pricing { margin-block:50px; padding:36px; border-radius:28px; background:var(--mint); display:grid; grid-template-columns:1.5fr 1fr; gap:32px; align-items:center; }
.expanded-pricing h2 { font-size:30px; margin-top:20px; }
.expanded-pricing .actions { flex-direction:column; align-items:flex-start; }
.experience-panel { display:grid; grid-template-columns:1.5fr 1fr; gap:35px; padding:40px; border-radius:26px; background:var(--deep); color:white; }
.experience-panel h2 { font-size:30px; }
.experience-panel a { display:block; margin:18px 0; font-weight:700; }
.expanded-faq { max-width:1000px; }
.expanded-faq details { border-bottom:1px solid var(--line); padding:21px 0; }
.expanded-faq summary { cursor:pointer; font-size:19px; font-weight:700; line-height:1.5; padding-right:12px; }
.expanded-faq details p { max-width:800px; color:var(--muted); margin:18px 0 8px; }
.article-sources { max-width:1000px; padding:28px; background:var(--paper); border-radius:18px; }
.article-sources h2 { font-size:20px; }
.article-byline { color:var(--muted); font-size:14px; }
.hero-expanded figure img.editorial-art { object-fit:contain; background:#eff6ef; }
.hero-expanded figure:has(.photo-nutricion) { background:#eff6ef; }
.hero-expanded figure .photo-nutricion { object-fit:contain; object-position:center bottom; }
.hero-expanded figure .photo-irene { object-position:center 32%; }
.content-card img.editorial-art,.service-card img.editorial-art { object-fit:contain; background:#eff6ef; }
@media(max-width:760px) {
 .expanded-intro { grid-template-columns:1fr; gap:28px; }
 .expanded-grid { grid-template-columns:1fr; }
 .expanded-grid article { padding:24px; }
 .expanded-grid h3 { font-size:23px; }
 .expanded-section { grid-template-columns:30px minmax(0,1fr); gap:13px; padding-block:30px; }
 .expanded-section p,.expanded-section li,.expanded-intro p { font-size:16px; }
 .expanded-pricing,.experience-panel { grid-template-columns:1fr; gap:20px; padding:25px; }
 .expanded-faq summary { font-size:17px; }
 .professional-note { padding:24px; }
 .expanded-pricing .actions { align-items:stretch; }
}
@font-face { font-family: "Plus Jakarta Sans"; src: url("/assets/fonts/plus-jakarta-sans-latin.woff2") format("woff2"); font-style: normal; font-weight: 700 800; font-display: swap; }
:root {
  --green: #335947;
  --deep: #1c3f31;
  --orange: #ca582c;
  --ink: #213e31;
  --muted: #53665b;
  --line: #dce8df;
  --mint: #eff9f2;
  --paper: #f7faf7;
  --white: #fff;
  color: var(--ink);
  font-family: "DM Sans", "Helvetica Neue", Arial, sans-serif;
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #fff; font-size: 16px; line-height: 1.7; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 4px; }
a:focus-visible, summary:focus-visible { outline: 3px solid var(--orange); outline-offset: 4px; }
h1, h2, h3, p, figure { margin-top: 0; }
h1, h2, h3 { font-family: "Plus Jakarta Sans", "DM Sans", Arial, sans-serif; line-height: 1.1; letter-spacing: -.035em; }
h1 { font-size: clamp(2.5rem, 4.15vw, 3.7rem); font-weight: 800; }
h2 { font-size: clamp(2rem, 3vw, 3rem); font-weight: 750; }
h3 { font-size: 1.45rem; }
p { margin-bottom: 1.2em; }
.wrap { width: min(1200px, calc(100% - 64px)); margin-inline: auto; }
.skip { position: absolute; top: -100px; left: 12px; padding: 10px 15px; background: white; z-index: 100; }
.skip:focus { top: 12px; }
.topbar { display: none; }
.header { position: sticky; top: 0; z-index: 40; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); box-shadow: 0 1px 3px #183c2e0d; backdrop-filter: blur(15px); }
.nav { display: flex; align-items: center; gap: 24px; min-height: 78px; }
.brand { flex: none; width: 172px; }
.brand img { width: 172px; }
.desktop-nav { position: relative; display: flex; align-items: center; justify-content: center; gap: clamp(14px, 1.8vw, 29px); margin-left: auto; font-size: 14px; font-weight: 650; white-space: nowrap; }
.desktop-nav a { text-decoration: none; transition: color .18s ease; }
.desktop-nav a:hover { color: var(--orange); }
.nav-group { display: inline-flex; align-items: center; gap: 2px; }
.nav-group > a { padding-block: 4px; }
.nav-group .nav-dropdown > summary { display: grid; place-items: center; width: 24px; height: 28px; border-radius: 6px; }
.nav-group .nav-dropdown > summary:hover { background: var(--mint); }
.nav-dropdown > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; list-style: none; transition: color .18s ease; }
.nav-dropdown > summary::-webkit-details-marker { display: none; }
.nav-dropdown > summary span { color: var(--orange); font-size: 17px; transition: transform .2s ease; }
.nav-dropdown[open] > summary span { transform: rotate(180deg); }
.nav-dropdown > summary:hover, .nav-dropdown[open] > summary { color: var(--orange); }
.nav-panel { position: absolute; top: calc(100% + 26px); left: 0; z-index: 60; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 25px; width: min(690px, calc(100vw - 70px)); padding: 16px; border: 1px solid var(--line); border-radius: 22px; background: white; box-shadow: 0 25px 60px #1c3f3126; white-space: normal; }
.nav-complementary .nav-panel { right: 0; left: auto; }
.nav-panel-lead { padding: 27px; border-radius: 16px; background: linear-gradient(145deg, #e8f4eb, #f7fbf8); }
.nav-panel-lead strong { display: block; margin: 14px 0 12px; color: var(--deep); font-family: "Plus Jakarta Sans", sans-serif; font-size: 22px; line-height: 1.25; }
.nav-panel-lead p { margin-bottom: 20px; color: var(--muted); font-size: 13px; line-height: 1.6; }
.nav-panel-lead > a { color: var(--green); font-size: 13px; font-weight: 800; }
.nav-panel-lead > a::after { content: ' →'; color: var(--orange); }
.nav-kicker { display: block; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.nav-subheading { margin-top: 14px; }
.nav-panel-column { padding: 9px 4px 6px; }
.nav-panel-column > a { display: block; padding: 8px 12px; border-radius: 8px; color: var(--deep); font-size: 14px; }
.nav-panel-column > a:hover, .nav-panel-column > a:focus-visible { background: var(--mint); color: var(--deep); }
.nav-panel-column > .nav-kicker { padding: 8px 12px 4px; }
.nav-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.nav-actions .button { min-height: 38px; padding: 8px 15px; font-size: 13px; white-space: nowrap; box-shadow: none; }
.nav-actions .button svg { width: 16px; height: 16px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 13px 25px; border: 1px solid var(--green); border-radius: 999px; background: var(--green); box-shadow: 0 12px 22px #3359472e; color: white; font: inherit; font-size: 15px; font-weight: 750; line-height: 1.25; text-align: center; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.button svg { flex: none; }
.button:hover { background: var(--deep); border-color: var(--deep); box-shadow: 0 14px 24px #3359473d; transform: translateY(-2px); }
.button:active { transform: translateY(0); box-shadow: 0 4px 10px #3359472e; }
.button-outline { color: var(--green); background: rgba(255,255,255,.8); border-color: #c4d5c8; box-shadow: none; }
.button-outline:hover { color: var(--deep); background: white; border-color: var(--green); box-shadow: 0 8px 18px #33594717; }
.mobile-menu { display: none; position: relative; }
.breadcrumb { padding-block: 15px; color: var(--muted); font-size: 13px; }
.breadcrumb ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumb li:not(:last-child)::after { content: '›'; margin-left: 8px; color: var(--orange); }
.breadcrumb a { color: var(--green); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current] { font-weight: 750; color: var(--deep); }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(38px, 5vw, 80px); min-height: 660px; padding: 75px max(32px, calc((100vw - 1200px)/2)); background: radial-gradient(circle at 84% 13%, #d9f2e3 0, transparent 38%), linear-gradient(122deg, #eef9f1 0%, #f4faf5 61%, #f9fbfa 100%); }
.hero-copy { min-width: 0; }
.hero h1 { max-width: 680px; margin: 22px 0 23px; color: var(--deep); }
.hero .lead { max-width: 580px; color: #4c6055; font-size: 18px; line-height: 1.75; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; width: fit-content; padding: 7px 15px; border: 1px solid #d4e5d8; border-radius: 999px; background: rgba(255,255,255,.83); color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--orange); }
.actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 34px 0 25px; }
.hero-note { display: flex; flex-wrap: wrap; gap: 22px; color: #486253; font-size: 13px; font-weight: 650; }
.hero-note span::before { content: "•"; margin-right: 8px; color: var(--orange); font-size: 18px; vertical-align: -.06em; }
.hero figure { position: relative; height: 430px; margin: 0; overflow: hidden; border: 5px solid white; border-radius: 26px; background: #e5eee8; box-shadow: 0 23px 46px #1c3f3124; }
.hero figure > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero figcaption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.hero-home + .wrap { display: none; }
.hero .photo-nutricion { object-fit: contain; }
.hero .photo-fachada { object-position: center 38%; }
.hero .photo-equipo-consulta { object-position: center 28%; }
.section { padding-block: 90px; }
.section-head { max-width: 830px; margin-bottom: 38px; }
.section-head h2 { margin: 18px 0; }
.section-head p { max-width: 67ch; color: var(--muted); font-size: 18px; }
.cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.cards.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.service-card { overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: white; box-shadow: 0 7px 24px #1c3f310a; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.service-card:hover { transform: translateY(-3px); border-color: #b6d0bc; box-shadow: 0 19px 38px #1c3f3118; }
.service-card > img { width: 100%; height: 245px; object-fit: cover; }
.service-card > img.photo-nutricion { object-fit: contain; background: #eef6f0; }
.service-card > div { padding: 28px 30px 32px; }
.service-card .eyebrow { padding: 0; border: 0; background: none; }
.service-card h3 { margin: 14px 0; color: var(--deep); font-size: 1.55rem; }
.service-card p { color: var(--muted); }
.service-card a { color: var(--green); font-size: 15px; font-weight: 750; text-decoration: none; }
.service-card a:hover { color: var(--orange); }
.service-card a::after { content: " →"; color: var(--orange); }
.method { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; padding-block: 25px 100px; scroll-margin-top: 110px; }
.home-method { padding-block: 95px; }
.method > div > img { width: 100%; height: 580px; object-fit: cover; border-radius: 24px; box-shadow: 0 18px 40px #1c3f3115; }
.method h2 { margin: 22px 0; }
.method p, .method li { color: var(--muted); }
.method ol { padding-left: 24px; margin-block: 28px; }
.method li { padding: 13px 0 13px 6px; border-bottom: 1px solid var(--line); }
.method strong { color: var(--deep); }
.method a { color: var(--green); font-weight: 750; }
.method-related { margin: 20px 0 23px; font-size: 14px; }
.method-related a { text-decoration-color: #a8c7b0; }
.method h3 { margin: 0; color: var(--deep); font-size: 1.07rem; }
.method-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.method-links a { padding: 9px 14px; border: 1px solid #c4d5c8; border-radius: 999px; font-size: 14px; text-decoration: none; }
.method-links a:hover { background: var(--mint); border-color: var(--green); }
.home-trust { background: linear-gradient(145deg, #f1f8f2, #fcfdfb); border-block: 1px solid var(--line); }
.trust-heading { display: flex; align-items: end; justify-content: space-between; gap: 36px; margin-bottom: 34px; }
.trust-heading > div { max-width: 750px; }
.trust-heading h2 { margin: 14px 0 12px; }
.trust-heading p { margin: 0; color: var(--muted); }
.trust-heading .button { flex: none; min-height: 46px; padding: 10px 20px; font-size: 14px; }
.reviews-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #b8cbbf transparent; }
.reviews-viewport:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.trust-grid { display: flex; gap: 18px; }
.trust-grid .trust-review { flex: 0 0 calc((100% - 18px) / 2); scroll-snap-align: start; }
.trust-controls { display: flex; justify-content: flex-end; align-items: center; gap: 9px; margin-top: 18px; }
.trust-controls button { min-height: 38px; border: 1px solid #c4d5c8; background: white; color: var(--deep); cursor: pointer; font: inherit; font-size: 13px; font-weight: 750; transition: background .2s ease, border-color .2s ease; }
.trust-controls button:hover { border-color: var(--green); background: var(--mint); }
.trust-controls button:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.trust-nav { width: 38px; border-radius: 50%; font-size: 21px !important; line-height: 1; }
.trust-pause { padding-inline: 16px; border-radius: 999px; }
.trust-review { display: flex; flex-direction: column; min-height: 410px; margin: 0; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 12px 34px #1c3f310b; }
.trust-review-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.trust-platform { color: #4285f4; font-size: 13px; font-weight: 800; letter-spacing: -.02em; }
.trust-stars { color: #e6a23c; font-size: 18px; letter-spacing: .08em; white-space: nowrap; }
.trust-review blockquote { flex: 1; margin: 0 0 24px; color: var(--deep); font-family: "Plus Jakarta Sans", sans-serif; font-size: 1.02rem; font-weight: 650; line-height: 1.58; }
.review-expand { display: none; }
.trust-review figcaption { display: flex; align-items: center; gap: 11px; padding-top: 18px; border-top: 1px solid var(--line); line-height: 1.35; }
.trust-review figcaption strong, .trust-review figcaption small { display: block; }
.trust-review figcaption strong { font-size: 13px; }
.trust-review figcaption strong a { text-decoration-color: #a8c7b0; }
.trust-review figcaption strong a:hover { color: var(--orange); }
.trust-review figcaption small { margin-top: 3px; color: var(--muted); font-size: 11px; }
.trust-avatar { display: grid; place-items: center; width: 38px; height: 38px; flex: none; border-radius: 50%; background: #e4efe7; color: var(--deep); font-weight: 800; }
.trust-team { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.7fr); gap: 20px 42px; align-items: center; margin-top: 40px; padding: 31px 34px; border-radius: 22px; background: var(--deep); color: white; }
.trust-team .eyebrow { color: #eaa27c; }
.trust-team h3 { margin: 10px 0 8px; font-size: 1.4rem; }
.trust-team p { margin: 0; color: #dcebe0; font-size: 13px; }
.trust-people { display: grid; gap: 12px; }
.trust-person { display: flex; align-items: center; gap: 11px; }
.trust-person img, .trust-person-initial { width: 44px; height: 44px; flex: none; border-radius: 50%; background: white; }
.trust-person img { object-fit: cover; object-position: center 15%; }
.trust-person-initial { display: grid; place-items: center; color: var(--deep); font-size: 12px; font-weight: 800; }
.trust-person strong, .trust-person small { display: block; line-height: 1.3; }
.trust-person strong { font-size: 13px; }
.trust-person small { margin-top: 3px; color: #dcebe0; font-size: 11px; }
.trust-team > a { grid-column: 1 / -1; width: fit-content; color: white; font-size: 13px; font-weight: 750; }
.trust-team > a::after { content: " →"; color: #eaa27c; }
.trust-disclaimer { margin: 16px 0 0; color: var(--muted); font-size: 12px; }
.home-insights { background: white; }
.content-viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #b8cbbf transparent; }
.content-viewport:focus-visible { outline: 3px solid var(--orange); outline-offset: -3px; }
.content-track { display: flex; gap: 18px; }
.content-card { display: flex; flex: 0 0 calc((100% - 18px) / 2); flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 21px; background: white; box-shadow: 0 12px 30px #1c3f310a; scroll-snap-align: start; }
.content-card > img { width: 100%; height: 230px; object-fit: cover; }
.content-card-body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 28px 30px 30px; }
.content-type { color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.content-card h3 { margin: 13px 0 10px; color: var(--deep); }
.content-card p { color: var(--muted); }
.content-card small { margin-top: auto; color: var(--muted); }
.content-card a { margin-top: 13px; color: var(--green); font-size: 14px; font-weight: 750; text-decoration: none; }
.content-card a::after { content: ' →'; color: var(--orange); }
.content-card a:hover { color: var(--orange); }
.content-controls { display: flex; justify-content: flex-end; gap: 9px; margin-top: 17px; }
.content-nav { width: 39px; height: 39px; border: 1px solid #c4d5c8; border-radius: 50%; background: white; color: var(--deep); cursor: pointer; font: inherit; font-size: 21px; line-height: 1; }
.content-nav:hover { border-color: var(--green); background: var(--mint); }
.content-nav:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
.home-specialties { border-top: 1px solid var(--line); background: var(--paper); }
.specialty-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.specialty-grid article { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.specialty-number { color: var(--orange); font-size: 12px; font-weight: 800; letter-spacing: .14em; }
.specialty-grid h3 { margin: 14px 0; color: var(--deep); }
.specialty-grid h3 small { display: inline-block; margin-left: 6px; padding: 4px 8px; border-radius: 999px; background: #fff2e8; color: #a24828; font-family: "DM Sans", sans-serif; font-size: 11px; font-weight: 800; vertical-align: middle; }
.specialty-grid p { flex: 1; color: var(--muted); font-size: 14px; }
.specialty-grid article > div { display: grid; gap: 9px; padding-top: 17px; border-top: 1px solid var(--line); }
.specialty-grid a { color: var(--green); font-size: 14px; font-weight: 750; text-decoration: none; }
.specialty-grid a::after { content: ' →'; color: var(--orange); }
.specialty-grid a:hover { text-decoration: underline; }
.business-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.business-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.business-grid article > img { width: 100%; aspect-ratio: 16 / 10; margin: 16px 0 4px; border-radius: 12px; object-fit: cover; }
.business-grid article > span { color: var(--orange); font-size: 12px; font-weight: 800; }
.business-grid h3 { margin: 15px 0 12px; color: var(--deep); }
.business-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.business-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 32px; padding: 30px 34px; border-radius: 18px; background: var(--deep); color: white; }
.business-cta h2 { margin: 0 0 8px; color: white; font-size: 1.6rem; }
.business-cta p { max-width: 65ch; margin: 0; color: #dcebe0; font-size: 14px; }
.business-cta a { flex: none; padding: 12px 18px; border-radius: 999px; background: white; color: var(--deep); font-size: 14px; font-weight: 800; text-decoration: none; }
.business-cta a:hover { background: #edaa87; }
.blog-discover { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-top: 48px; }
.blog-discover article { display: flex; flex-direction: column; align-items: flex-start; padding: 28px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.blog-discover h2 { margin: 0 0 10px; font-size: clamp(1.35rem, 2vw, 1.7rem); }
.blog-discover p { margin: 0 0 16px; color: var(--muted); }
.blog-discover a { display: block; margin-top: 9px; color: var(--green); font-size: 14px; font-weight: 750; }
.blog-discover a:hover { color: var(--orange); }
.related { padding-block: 66px; border-top: 1px solid var(--line); }
.related h2 { margin: 16px 0 30px; }
.related-intro { max-width: 68ch; margin: -12px 0 28px; color: var(--muted); }
.rehab-needs-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.rehab-needs-grid article { padding: 26px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.rehab-needs-grid article > span { color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .1em; }
.rehab-needs-grid h3 { margin: 13px 0 10px; color: var(--deep); font-size: 1.2rem; }
.rehab-needs-grid p { color: var(--muted); font-size: 14px; }
.rehab-needs-grid a { color: var(--green); font-size: 14px; font-weight: 750; text-decoration: none; }
.rehab-needs-grid a::after { content: ' →'; color: var(--orange); }
.rehab-needs-grid a:hover { text-decoration: underline; }
.rehab-modalities { scroll-margin-top: 105px; }
.rehab-modality-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rehab-modality-grid article { padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }
.rehab-modality-grid article > span { color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.rehab-modality-grid h3 { margin: 14px 0 10px; color: var(--deep); font-size: 1.25rem; }
.rehab-modality-grid p { margin: 0; color: var(--muted); font-size: 14px; }
.rehab-photo-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: 38px; margin-top: 38px; }
.rehab-photo-row figure { overflow: hidden; height: 290px; margin: 0; border-radius: 18px; background: var(--mint); }
.rehab-photo-row img { width: 100%; height: 100%; object-fit: cover; }
.rehab-photo-row h3 { color: var(--deep); font-size: 1.45rem; }
.rehab-photo-row p { color: var(--muted); }
.rehab-faq { max-width: 960px; }
.rehab-faq .section-head { margin-bottom: 24px; }
.rehab-faq details { margin-top: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.rehab-faq summary { position: relative; padding: 18px 48px 18px 22px; color: var(--deep); cursor: pointer; font-weight: 750; list-style: none; }
.rehab-faq summary::-webkit-details-marker { display: none; }
.rehab-faq summary::after { content: '+'; position: absolute; right: 20px; color: var(--orange); font-size: 22px; line-height: 1; }
.rehab-faq details[open] summary::after { content: '−'; }
.rehab-faq details p { margin: 0; padding: 0 22px 20px; color: var(--muted); }
.link-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.link-grid > a { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 22px 23px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--deep); font-weight: 700; text-decoration: none; transition: background .2s ease, border-color .2s ease, transform .2s ease; }
.link-grid > a:hover { transform: translateY(-2px); border-color: var(--green); background: white; }
.link-grid > a::after { content: "→"; flex: none; color: var(--orange); font-size: 20px; }
.visit { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 45px; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--paper); }
.visit > img { width: 100%; height: 470px; object-fit: cover; }
.visit > div { padding: 35px 40px 35px 0; }
.visit h3 { color: var(--deep); }
.visit .button { margin-top: 22px; }
.visit a:not(.button) { color: var(--green); font-weight: 700; }
.cta { margin-top: 60px; background: linear-gradient(115deg, #e6f4ea, #f4faf4); border-top: 1px solid var(--line); }
.cta > .wrap { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding-block: 60px; }
.cta .eyebrow { background: white; }
.cta h2 { margin: 17px 0 10px; }
.cta p { margin: 0; color: var(--muted); }
.cta .button { flex: none; }
.content-layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(230px, 1fr); gap: 70px; }
.prose { max-width: 780px; }
.prose h2 { margin: 38px 0 20px; color: var(--deep); font-size: 1.85rem; }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin: 33px 0 12px; color: var(--deep); font-size: 1.3rem; }
.prose p { color: #3e5548; overflow-wrap: anywhere; }
.prose li { margin-bottom: 12px; }
.prose a { color: var(--green); font-weight: 700; }
.sidebar > div { position: sticky; top: 110px; padding: 28px; border: 1px solid var(--line); border-radius: 19px; background: var(--paper); }
.sidebar .eyebrow { padding: 0; border: 0; background: none; }
.sidebar h2 { margin: 17px 0; font-size: 1.6rem; }
.sidebar p { color: var(--muted); font-size: 14px; }
.sidebar .button { width: 100%; padding-inline: 12px; font-size: 13px; }
.sidebar p a { overflow-wrap: normal; }
.team-box { display: flex; align-items: center; gap: 28px; margin-block: 30px; padding: 29px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.team-box > img { width: 150px; height: 170px; flex: none; object-fit: cover; object-position: center 8%; border-radius: 13px; }
.team-box > img.photo-nutricion { object-fit: contain; background: #eaf2eb; }
.team-box .eyebrow { padding: 0; border: 0; background: none; }
.team-box h2 { margin: 13px 0 8px; font-size: 1.5rem; }
.team-box p { margin: 5px 0; }
.team-box a { display: inline-block; margin-top: 8px; color: var(--green); font-size: 14px; font-weight: 700; }
.registration { color: var(--deep); font-weight: 750; }
.team-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.team-grid .team-box { align-items: flex-start; flex-direction: column; margin: 0; }
.team-grid .team-box > img { width: 100%; height: 270px; object-position: center 0; }
.team-grid .team-box > img.photo-nutricion { object-fit: contain; }
.resource-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-block: 34px; }
.resource-list > a { display: flex; flex-direction: column; justify-content: space-between; padding: 23px; border: 1px solid var(--line); border-radius: 13px; background: var(--paper); font-weight: 700; text-decoration: none; transition: border-color .2s ease, background .2s ease; }
.resource-list > a:hover { border-color: var(--green); background: white; }
.resource-list small { display: block; margin-top: 9px; color: var(--muted); font-size: 13px; font-weight: 400; }
.accreditation { display: inline-flex; align-items: center; gap: 10px; margin: 24px 0 0; padding: 10px 16px; border: 1px solid #cfdfd2; border-radius: 999px; background: #e7f3e9; color: var(--deep); font-size: 13px; font-weight: 700; }
.accreditation::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; flex: none; border-radius: 50%; background: var(--green); color: white; }
footer { padding-top: 70px; background: var(--deep); color: #eef7ef; }
.footer-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr; gap: 75px; font-size: 14px; }
.footer-grid img { width: 230px; margin-bottom: 22px; }
.footer-grid h2 { margin-bottom: 22px; color: white; font-size: 17px; letter-spacing: 0; }
.footer-grid a { display: block; margin-bottom: 9px; text-decoration: none; }
.footer-grid a:hover, .footer-bottom a:hover { color: #f8b391; }
.footer-grid p { color: #cad9ce; }
footer .accreditation { margin: 0 0 18px; border-color: #5d7e68; background: #2b503e; color: white; }
footer .accreditation::before { background: var(--orange); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-block: 22px; border-top: 1px solid #58735f; color: #cad9ce; font-size: 13px; }
.footer-bottom nav { display: flex; gap: 20px; flex-wrap: wrap; }
.footer-bottom p { margin: 0; }
.footer-bottom a { text-decoration: none; }
address { font-style: normal; }
.prose.section { padding-block: 75px; }
.problem-hero { min-height: 570px; }
.problem-note { max-width: 55ch; color: var(--muted); font-size: 13px; }
.draft-notice { margin-top: 24px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 10px; color: var(--muted); font-size: .9rem; }
.problem-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 65px; }
.problem-grid h2, .problem-approach h2, .problem-faq h2 { margin: 18px 0 25px; }
.problem-grid p { color: var(--muted); }
.problem-symptoms { margin: 0; padding: 30px 35px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); list-style: none; }
.problem-symptoms li { position: relative; padding: 15px 0 15px 30px; border-bottom: 1px solid var(--line); }
.problem-symptoms li:last-child { border-bottom: 0; }
.problem-symptoms li::before { content: '✓'; position: absolute; left: 0; color: var(--orange); font-weight: 800; }
.problem-approach { background: var(--paper); }
.problem-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.problem-steps article { padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: white; }
.problem-steps h3 { margin: 16px 0 12px; color: var(--deep); }
.problem-steps p { margin: 0; color: var(--muted); }
.problem-sections { max-width: 960px; }
.problem-sections article { padding: 26px 0; border-bottom: 1px solid var(--line); }
.problem-sections article:first-child { padding-top: 0; }
.problem-sections h2 { margin: 0 0 12px; color: var(--deep); }
.problem-sections p { max-width: 76ch; margin: 0; color: var(--muted); }
.problem-number { color: var(--orange); font-size: 13px; font-weight: 800; }
.problem-faq { max-width: 960px; }
.problem-faq details { margin-top: 12px; border: 1px solid var(--line); border-radius: 14px; background: white; }
.problem-faq summary { padding: 18px 22px; color: var(--deep); cursor: pointer; font-weight: 750; }
.problem-faq details p { margin: 0; padding: 0 22px 20px; color: var(--muted); }
.problem-appointment { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 38px; border-radius: 22px; background: var(--mint); }
.problem-appointment h2 { margin: 18px 0 10px; }
.problem-appointment p { max-width: 58ch; margin: 0; color: var(--muted); }
.problem-actions { display: flex; flex-direction: column; gap: 10px; min-width: 245px; }
.problem-author { display: flex; align-items: center; gap: 24px; margin-block: 70px; padding: 24px; border: 1px solid var(--line); border-radius: 20px; }
.problem-author img { width: 110px; height: 110px; flex: none; object-fit: cover; border-radius: 14px; }
.problem-author h2 { margin: 14px 0 8px; font-size: 1.5rem; }
.problem-author p { margin: 5px 0; }
.text-link { color: var(--green); font-weight: 750; }

@media (max-width: 1190px) {
  .nav { gap: 14px; }
  .brand, .brand img { width: 145px; }
  .desktop-nav { gap: 13px; font-size: 13px; }
  .nav-actions .button { padding-inline: 11px; }
  .hero { gap: 42px; }
  .content-layout { gap: 36px; }
  .footer-grid { gap: 38px; }
}
@media (max-width: 1020px) {
  .trust-grid .trust-review { flex-basis: 68%; }
  .trust-team { grid-template-columns: 1fr; }
  .content-card { flex-basis: 68%; }
  .business-grid { grid-template-columns: 1fr 1fr; }
  .business-cta { align-items: flex-start; flex-direction: column; }
  .problem-grid { gap: 30px; }
  .problem-steps { gap: 12px; }
  .problem-steps article { padding: 22px; }
  .problem-appointment { flex-direction: column; align-items: stretch; }
  .desktop-nav, .nav-actions { display: none; }
  .brand, .brand img { width: 165px; }
  .mobile-menu { display: block; margin-left: auto; }
  .mobile-menu > summary { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 50%; color: var(--deep); cursor: pointer; list-style: none; font-size: 22px; line-height: 1; }
  .mobile-menu > summary::-webkit-details-marker, .mobile-section > summary::-webkit-details-marker { display: none; }
  .mobile-menu[open] > summary { background: var(--mint); }
  .mobile-menu nav { position: absolute; top: 54px; right: 0; z-index: 50; width: min(350px, calc(100vw - 36px)); max-height: 75vh; overflow-y: auto; padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: white; box-shadow: 0 22px 48px #1c3f3129; }
  .mobile-menu nav > a:not(.button), .mobile-section a { display: block; padding: 10px 12px; border-radius: 7px; font-size: 15px; font-weight: 650; text-decoration: none; }
  .mobile-menu nav a:hover { background: var(--mint); }
  .mobile-menu nav .button { width: 100%; margin-top: 12px; }
  .mobile-section { margin-top: 6px; padding-top: 7px; border-top: 1px solid var(--line); }
  .mobile-section summary { padding: 11px 12px; color: var(--green); cursor: pointer; font-size: 15px; font-weight: 750; list-style: none; }
  .mobile-section summary::after { content: "⌄"; float: right; color: var(--orange); }
  .mobile-section[open] summary::after { content: "⌃"; }
  .mobile-section > div { padding: 4px 8px 10px; }
  .mobile-section .nav-kicker { padding: 12px 12px 3px; }
  .mobile-section a { padding-left: 20px; color: var(--deep); }
  .hero { min-height: 580px; padding: 70px 32px; }
  .hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.3rem); }
  .hero figure { height: 390px; }
  .content-layout { grid-template-columns: 1fr; }
  .sidebar > div { position: static; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .home-method { padding-block: 65px; }
  .trust-heading { align-items: start; flex-direction: column; gap: 20px; }
  .trust-grid .trust-review { flex-basis: 88%; min-height: 0; padding: 23px; }
  .trust-review blockquote { display: -webkit-box; flex: 0 0 auto; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 6; font-size: .96rem; line-height: 1.5; }
  .trust-review.is-expanded blockquote { display: block; overflow: visible; }
  .review-expand { display: block; width: fit-content; margin: -5px 0 18px; padding: 0; border: 0; background: transparent; color: var(--green); cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
  .review-expand:focus-visible { outline: 3px solid var(--orange); outline-offset: 3px; }
  .trust-team { padding: 25px; }
  .specialty-grid, .blog-discover, .business-grid, .rehab-needs-grid, .rehab-modality-grid, .rehab-photo-row { grid-template-columns: 1fr; }
  .rehab-photo-row figure { height: 260px; }
  .content-card { flex-basis: 88%; }
  .content-card > img { height: 195px; }
  .content-card-body { padding: 24px; }
  .business-cta { padding: 25px; }
  .breadcrumb { padding-block: 12px; font-size: 12px; }
  .problem-grid, .problem-steps { grid-template-columns: 1fr; }
  .problem-symptoms { padding: 20px 24px; }
  .problem-appointment { padding: 24px; }
  .problem-actions { min-width: 0; }
  .problem-author { align-items: flex-start; margin-block: 45px; padding: 20px; }
  .problem-author img { width: 82px; height: 82px; }
  body { font-size: 16px; }
  .wrap { width: calc(100% - 40px); }
  .nav { min-height: 76px; }
  .brand, .brand img { width: 144px; }
  .hero { grid-template-columns: 1fr; gap: 42px; min-height: 0; padding: 52px 20px 64px; }
  .hero h1 { margin: 22px 0; font-size: clamp(2.2rem, 10vw, 2.8rem); }
  .hero .lead { font-size: 16px; line-height: 1.72; }
  .hero .eyebrow { font-size: 10px; letter-spacing: .09em; }
  .actions { align-items: flex-start; flex-direction: column; gap: 14px; margin: 32px 0 25px; }
  .actions .button { min-width: 190px; }
  .hero-note { gap: 5px 18px; font-size: 12px; }
  .hero figure { width: 100%; height: 300px; border-width: 4px; border-radius: 21px; }
  .section { padding-block: 63px; }
  .section-head p { font-size: 16px; }
  .cards, .cards.two, .team-grid, .resource-list { grid-template-columns: 1fr; }
  .service-card > img { height: 220px; }
  .method { grid-template-columns: 1fr; gap: 30px; padding-block: 10px 65px; }
  .method > div > img { height: 320px; }
  .related { padding-block: 48px; }
  .link-grid { grid-template-columns: 1fr; }
  .visit { grid-template-columns: 1fr; gap: 0; }
  .visit > img { height: 280px; }
  .visit > div { padding: 25px; }
  .cta > .wrap { align-items: flex-start; flex-direction: column; padding-block: 48px; }
  .cta h2 { font-size: 2rem; }
  .team-box { flex-wrap: wrap; gap: 20px; padding: 22px; }
  .team-box > img { width: 110px; height: 130px; }
  .team-grid .team-box > img { height: 220px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-grid > div:first-child { grid-column: auto; }
  .footer-bottom { display: block; }
  .footer-bottom nav { margin-top: 17px; gap: 12px; }
  footer { padding-top: 55px; }
  .accreditation { font-size: 12px; }
}
.answer-summary{margin:1.25rem 0;padding:1rem 1.1rem;border-left:4px solid #335947;background:#f4f8f5;color:#244235;line-height:1.6}
.trust-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:32px auto 12px;padding-block:8px}.trust-facts p{min-width:0;margin:0;padding:16px;background:#f4f8f5;border-left:3px solid #335947;font-weight:600;overflow-wrap:anywhere}@media(max-width:760px){.trust-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:24px}.trust-facts p{padding:14px}}
/* Infografías */
.infographic-wrap{margin-block:2.5rem}.infographic{margin:0;padding:clamp(1.25rem,3vw,2.25rem);border:1px solid #cdded0;border-radius:18px;background:#eff6ef;color:#173429;overflow:hidden}.infographic h3{margin:0 0 1.25rem;color:#335947;font-family:"Plus Jakarta Sans",sans-serif;font-size:clamp(1.2rem,2vw,1.55rem)}.infographic h4{margin:.1rem 0 .65rem;color:#335947;font-size:1rem}.infographic figcaption{margin-top:1rem;font-size:.9rem;color:#476154}.infographic-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none;counter-reset:info}.infographic--postquirurgica .infographic-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.infographic-steps li{position:relative;min-width:0;padding:1rem;background:#fff;border-radius:12px;list-style:none;overflow-wrap:anywhere}.infographic-steps li::before{counter-increment:info;content:counter(info);display:grid;place-items:center;width:1.75rem;height:1.75rem;margin-bottom:.65rem;border-radius:50%;background:#335947;color:#fff;font-weight:800}.infographic-steps strong,.infographic-steps span,.infographic-steps em{display:block}.infographic-steps span{margin-top:.45rem}.infographic-steps em{margin-top:.8rem;color:#456452;font-size:.9rem;font-style:normal}.infographic-decision{display:grid;gap:14px;max-width:920px;margin:auto}.decision-start,.decision-question,.decision-end{position:relative;justify-self:center;max-width:620px;padding:14px 18px;border:2px solid #335947;border-radius:14px;background:#fff;text-align:center;font-weight:700;overflow-wrap:anywhere}.decision-start::after,.decision-question::after{content:"↓";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);color:#335947;font-size:22px}.decision-question{margin-top:12px;background:#335947;color:#fff}.decision-branches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;position:relative;margin-top:12px}.decision-branches::before{content:"";position:absolute;top:-12px;left:25%;right:25%;border-top:2px solid #335947}.decision-branches section{min-width:0;padding:16px;border:1px solid #b9cdbd;border-radius:12px;background:#fff;overflow-wrap:anywhere}.decision-branches h4{display:inline-block;padding:2px 10px;border-radius:999px;background:#e2efe4}.decision-branches p{margin:0}.decision-end{margin-top:12px}.infographic-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}.infographic-columns section{min-width:0;padding:1rem;border-left:4px solid #335947;background:#fff;overflow-wrap:anywhere}.infographic-columns ul,.infographic-context ul{margin:.5rem 0;padding-left:1.1rem}.infographic-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:center}.infographic-context>*{min-width:0}.infographic-context p{grid-column:1/-1;margin:0;padding:1rem;text-align:center;border:2px solid #335947;border-radius:999px;background:#fff;color:#335947}.infographic-note{margin:1.25rem 0 0;padding:.9rem;border-left:4px solid #ca582c;background:#fff}.infographic-light{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0;padding:0;list-style:none}.infographic-light li{min-width:0;padding:1rem;border-radius:12px;background:#fff;overflow-wrap:anywhere}.infographic-light strong,.infographic-light span{display:block}.light-green{border-top:6px solid #4f8a55}.light-amber{border-top:6px solid #b8791d}.light-red{border-top:6px solid #ca582c}.infographic-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}.infographic-team li{min-width:0;padding:.9rem;background:#fff;border-radius:10px;overflow-wrap:anywhere}.infographic-team strong,.infographic-team span{display:block}.infographic-team span{font-size:.9rem}.infographic svg,.infographic img{max-width:100%;height:auto}.infographic a:focus-visible{outline:3px solid #ca582c;outline-offset:4px}@media(max-width:900px){.infographic--postquirurgica .infographic-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.infographic-steps,.infographic--postquirurgica .infographic-steps,.infographic-light,.infographic-context,.infographic-team,.infographic-columns,.decision-branches{grid-template-columns:1fr}.infographic-context p{grid-column:auto}.decision-branches::before{display:none}.decision-branches section{position:relative}.decision-branches section+section::before{content:"↓";position:absolute;top:-27px;left:50%;transform:translateX(-50%);color:#335947;font-size:22px}}
.article-layout .prose>section,.article-layout .prose>.article-disclaimer,.article-layout .prose>.article-related,.article-layout .prose>.article-cta{margin-top:3rem}.article-layout .article-general-note{margin:2rem 0;color:var(--muted);font-size:.94rem}.article-layout .article-faq details{padding:1rem 0;border-bottom:1px solid var(--line)}
