[hidden] { display: none !important; }

@font-face {
  font-family: "Instrument Sans";
  src: url("/assets/fonts/instrument-sans.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

@font-face {
  font-family: "Instrument Sans";
  src: url("/assets/fonts/instrument-sans-italic.woff2") format("woff2");
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
}

:root {
  --black: #000;
  --ink: #121212;
  --paper: #f2f0eb;
  --white: #fff;
  --green: #8fbd18;
  --green-bright: #a8d21b;
  --green-dark: #4d6c00;
  --pink: #ec1986;
  --pink-dark: #a80b61;
  --muted: #767676;
  --line: rgba(255,255,255,.16);
  --line-dark: rgba(18,18,18,.18);
  --container: 1480px;
  --pad: clamp(22px, 4vw, 72px);
  --font: "Instrument Sans", Arial, Helvetica, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 12px; left: 12px; transform: translateY(-150%); padding: 10px 16px; background: var(--white); color: var(--black); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; top: 0; z-index: 50; height: 106px; background: rgba(5,5,5,.97); color: var(--white); border-bottom: 1px solid var(--line); transition: height .25s ease; }
.site-header.is-compact { height: 82px; }
.header-inner { width: min(100%, var(--container)); height: 100%; margin: auto; padding: 0 var(--pad); display: flex; align-items: center; gap: 22px; }
.brand img { width: auto; object-fit: contain; }
.brand-clinic img { height: 50px; }
.brand-studio img { height: 44px; width: 122px; object-fit: cover; object-position: center; }
.brand-divider { width: 1px; height: 42px; background: var(--line); }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: clamp(20px, 2.2vw, 42px); font-size: .92rem; }
.main-nav > a { position: relative; padding: 12px 0; }
.main-nav > a:not(.nav-cta)::after { content: ""; position: absolute; left: 0; bottom: 5px; width: 100%; height: 1px; background: var(--green); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.main-nav > a:hover::after { transform: scaleX(1); transform-origin: left; }
.nav-cta, .button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 48px; border: 1px solid currentColor; border-radius: 999px; padding: 10px 16px 10px 20px; transition: color .2s ease, background .2s ease, transform .2s ease; }
.nav-cta { color: var(--green-bright); }
.nav-cta:hover, .button-primary:hover { background: var(--green); color: var(--black); transform: translateY(-2px); }
.menu-toggle { display: none; margin-left: auto; color: var(--white); background: none; border: 0; padding: 10px 0; }

.section-dark { color: var(--white); background: var(--black); }
.hero { position: relative; min-height: calc(100svh - 106px); overflow: hidden; border-bottom: 1px solid var(--line); }
.hero-stage { position: relative; min-height: calc(100svh - 106px); }
.hero-slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(360px, .82fr) minmax(500px, 1.18fr); min-height: calc(100svh - 106px); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .7s ease, visibility .7s ease; }
.hero-slide.is-active { position: relative; z-index: 1; opacity: 1; visibility: visible; pointer-events: auto; }
.hero-copy { padding: clamp(72px, 8vw, 138px) var(--pad) 152px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.eyebrow, .label { margin: 0 0 18px; color: var(--green-dark); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.section-dark .eyebrow, .section-dark .label { color: var(--green); }
.hero .eyebrow span { display: inline-block; min-width: 72px; color: #8c8c8c; }
.hero h1, .hero h2 { margin: 0; max-width: 680px; font-size: clamp(4rem, 6.7vw, 8.4rem); line-height: .88; letter-spacing: -.07em; }
.accent-line { width: 58px; height: 3px; margin: 38px 0 26px; background: var(--green); }
.accent-line-dual { background: linear-gradient(90deg, var(--green) 0 50%, var(--pink) 50%); }
.hero-intro { margin: 0; max-width: 460px; font-size: clamp(1.2rem, 1.6vw, 1.75rem); line-height: 1.35; color: #e8e8e8; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 36px; }
.button-primary { color: var(--green-bright); }
.button-studio { color: var(--pink); }
.button-studio:hover { color: var(--black); background: var(--pink); transform: translateY(-2px); }
.hero-slide-studio .eyebrow { color: var(--pink); }
.hero-slide-studio .accent-line { background: var(--pink); }
.hero-choice-actions { align-items: stretch; flex-direction: column; width: min(100%, 330px); gap: 12px; }
.hero-choice-actions .button { width: 100%; }
.text-link { display: inline-flex; gap: 12px; align-items: center; border-bottom: 1px solid transparent; }
.text-link:hover { border-bottom-color: currentColor; }
.hero-media { position: relative; min-height: 720px; margin: 0; overflow: hidden; }
.hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.65), transparent 28%), linear-gradient(0deg, rgba(0,0,0,.42), transparent 40%); pointer-events: none; }
.hero-media > img, .hero-media-split span img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.06); }
.hero-media-facade > img { object-position: center 18%; }
.hero-media-clinic > img { object-position: center 44%; }
.hero-media-studio > img { object-position: 66% center; }
.hero-media-split { display: grid; grid-template-columns: 1fr 1fr; }
.hero-media-split span { min-width: 0; overflow: hidden; }
.hero-media-split span:first-child { clip-path: polygon(0 0, 100% 0, 82% 100%, 0 100%); margin-right: -10%; z-index: 1; }
.hero-media-split span:first-child img { object-position: center 42%; }
.hero-media-split span:last-child img { object-position: 66% center; }
.hero-media figcaption, .treatment-image figcaption { position: absolute; z-index: 1; right: 28px; bottom: 24px; color: rgba(255,255,255,.8); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.hero-controls { position: absolute; z-index: 5; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px 52px; align-items: stretch; gap: 10px; min-height: 112px; padding: 22px var(--pad); background: linear-gradient(0deg, rgba(5,5,5,.98), rgba(5,5,5,.7), transparent); }
.hero-controls button { color: #a7a7a7; background: transparent; border: 0; cursor: pointer; }
.hero-arrow, .hero-pause { align-self: center; width: 46px; height: 46px; border: 1px solid rgba(255,255,255,.45) !important; border-radius: 50%; font-size: 1.2rem; transition: color .2s ease, border-color .2s ease; }
.hero-arrow:hover, .hero-pause:hover { color: var(--green-bright); border-color: var(--green-bright) !important; }
.hero-pagination { display: grid; grid-template-columns: repeat(4, 1fr); align-items: stretch; gap: 0; }
.hero-pagination button { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; min-width: 0; padding: 18px 12px 0; border-top: 1px solid rgba(255,255,255,.42); text-align: left; }
.hero-pagination button::before { content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 3px; background: transparent; transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.hero-pagination button.is-active { color: var(--green-bright); }
.hero-pagination button.is-active::before { background: var(--green-bright); transform: scaleX(1); }
.hero-pagination button:nth-child(3).is-active, .hero-pagination button:nth-child(3):hover { color: var(--pink); }
.hero-pagination button:nth-child(3).is-active::before { background: var(--pink); }
.hero-pagination small { font-size: .67rem; }

.treatment-browser { padding: clamp(54px, 6vw, 92px) var(--pad); }
.treatment-browser > * { width: min(100%, var(--container)); margin-left: auto; margin-right: auto; }
.section-kicker { display: flex; justify-content: space-between; color: #aaa; padding-bottom: 18px; border-bottom: 1px solid var(--line); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.treatment-explorer-heading { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); align-items: end; gap: clamp(34px, 7vw, 120px); margin-bottom: clamp(30px, 3.8vw, 54px); }
.treatment-explorer-heading h2 { max-width: 820px; margin: 0; font-size: clamp(2.25rem, 3.55vw, 4.45rem); line-height: .96; letter-spacing: -.052em; text-wrap: balance; }
.treatment-explorer-heading > p { max-width: 470px; margin: 0; color: #a8a8a8; line-height: 1.65; }
.treatment-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); gap: clamp(34px, 4.8vw, 82px); align-items: stretch; }
.treatment-list { align-self: stretch; border-top: 1px solid var(--line); }
.treatment-item { display: grid; grid-template-columns: 50px minmax(0, 1fr) 28px; align-items: center; min-height: 57px; border-bottom: 1px solid var(--line); font-size: clamp(1rem, 1.28vw, 1.35rem); line-height: 1.18; transition: color .22s ease, transform .22s ease; }
.treatment-item:hover, .treatment-item.is-active { color: var(--green-bright); transform: translateX(7px); }
.treatment-item-index { color: #858585; font-size: .68rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.treatment-item.is-active .treatment-item-index { color: inherit; }
.treatment-item-arrow { justify-self: end; font-size: 1.15rem; transition: transform .22s ease; }
.treatment-item:hover .treatment-item-arrow, .treatment-item.is-active .treatment-item-arrow { transform: translate(2px,-2px); }
.treatment-item-thumb { display: none; }
.treatment-all { min-height: 54px; margin-top: 8px; font-size: .88rem; }
.treatment-image { position: relative; min-height: 500px; margin: 0; overflow: hidden; background: #111; }
.treatment-image::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.88)); pointer-events: none; }
.treatment-image > img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.02); transition: opacity .2s ease, transform .55s cubic-bezier(.2,.72,.2,1), filter .35s ease; }
.treatment-image:hover > img { filter: saturate(1) contrast(1.01); transform: scale(1.025); }
.treatment-image.is-changing > img { opacity: .25; transform: scale(1.035); }
.treatment-image figcaption { position: absolute; z-index: 2; right: auto; bottom: 0; left: 0; display: grid; grid-template-columns: 72px minmax(0, 1fr); width: 100%; padding: 28px 30px; color: var(--white); text-transform: none; }
.treatment-image figcaption > span { grid-row: 1 / 3; color: var(--green-bright); font-size: .7rem; letter-spacing: .08em; }
.treatment-image figcaption > strong { font-size: clamp(1.35rem, 2vw, 2.25rem); line-height: 1; letter-spacing: -.035em; }
.treatment-image figcaption > p { max-width: 580px; margin: 9px 0 0; color: #d0d0d0; font-size: .84rem; line-height: 1.5; letter-spacing: 0; }

.treatment-catalog { padding-top: clamp(42px, 5vw, 74px); }
.treatment-catalog .treatment-explorer-heading { grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); }
.treatment-catalog .treatment-explorer-heading h2 { font-size: clamp(2.15rem, 3vw, 3.7rem); }
.treatment-catalog .treatment-layout { grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr); align-items: start; }
.treatment-catalog .treatment-image { position: sticky; top: 112px; height: min(620px, calc(100svh - 142px)); min-height: 480px; }
.treatment-catalog .treatment-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(22px, 3vw, 48px); }
.treatment-catalog .treatment-item { min-height: 76px; font-size: clamp(.98rem, 1.15vw, 1.2rem); }

.editorial-section { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(480px, 1.28fr); width: min(100% - (var(--pad) * 2), var(--container)); margin: auto; padding: 70px 0; gap: clamp(46px, 8vw, 130px); border-bottom: 1px solid var(--line-dark); }
.editorial-copy { align-self: center; max-width: 520px; }
.editorial-copy h2, .section-heading-row h2 { margin: 0 0 24px; font-size: clamp(2.4rem, 4vw, 5rem); line-height: .98; letter-spacing: -.055em; }
.editorial-copy p:not(.label) { margin: 0 0 34px; max-width: 500px; font-size: 1.08rem; color: #414141; }
.button-light { color: var(--green-dark); padding-left: 20px; }
.section-dark .button-light { color: var(--green-bright); }
.button-light:hover { color: var(--black); background: var(--green-bright); transform: translateY(-2px); }
.editorial-media { min-height: 500px; margin: 0; overflow: hidden; background: #ddd; }
.editorial-media > img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.team-section { grid-template-columns: .86fr 1.14fr; }
.team-section .editorial-copy { order: 2; }
.team-portrait { position: relative; background: #d8d8d8; }
.team-portrait img { filter: grayscale(1); object-fit: contain; object-position: center bottom; }
.team-portrait figcaption { position: absolute; inset: auto 0 0; display: flex; justify-content: space-between; gap: 16px; padding: 18px 22px; color: var(--white); background: linear-gradient(transparent, rgba(0,0,0,.88)); }
.team-portrait figcaption span { color: #d6d6d6; }

.blog-preview { width: min(100% - (var(--pad) * 2), var(--container)); margin: auto; padding: 76px 0 92px; }
.section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.section-heading-row h2 { max-width: 800px; margin-bottom: 0; }
.label-pink { color: var(--pink-dark); }
.section-dark .label-pink { color: var(--pink); }
.dark-link { flex: 0 0 auto; padding-bottom: 5px; color: #444; }
.article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 3vw, 48px); }
.article-card { position: relative; padding-bottom: 26px; border-bottom: 1px solid var(--line-dark); }
.article-image { display: block; aspect-ratio: 16/9; margin-bottom: 20px; overflow: hidden; background: #ddd; }
.article-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform .45s ease, filter .3s ease; }
.article-card:hover .article-image img { transform: scale(1.025); filter: saturate(1); }
.article-card p { margin: 0 0 8px; color: var(--pink-dark); font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.article-card h3 { margin: 0; padding-right: 42px; font-size: clamp(1.2rem, 1.6vw, 1.65rem); line-height: 1.2; letter-spacing: -.025em; }
.article-card h3 a::after { content: ""; position: absolute; inset: 0; }
.card-arrow { position: absolute; z-index: 1; right: 2px; bottom: 24px; color: var(--pink); font-size: 1.8rem; }

.appointment-section { display: grid; grid-template-columns: 1fr 1fr 2fr; align-items: stretch; gap: 24px; padding: 62px max(var(--pad), calc((100% - var(--container)) / 2)); }
.appointment-copy { grid-column: 1 / -1; padding-bottom: 14px; }
.appointment-copy h2 { max-width: 900px; margin: 0; font-size: clamp(2.2rem, 3.5vw, 4rem); line-height: 1; }
.appointment-copy p { max-width: 760px; margin: 14px 0 0; color: #b9b9b9; font-size: 1.05rem; }
.space-card { min-height: 240px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px; border: 1px solid var(--green); transition: background .25s ease, transform .25s ease; }
.space-card img { width: auto; height: 68px; object-fit: contain; }
.space-card span { color: var(--green); font-size: 2.3rem; }
.space-card:hover { background: rgba(143,189,24,.09); transform: translateY(-3px); }
.studio-card { border-color: var(--pink); }
.studio-card img { width: 190px; object-fit: cover; }
.studio-card span { color: var(--pink); }
.studio-card:hover { background: rgba(236,25,134,.08); }
.herbalist-card { position: relative; min-height: 240px; overflow: hidden; border: 1px solid rgba(151,202,27,.42); background: #f1f0e9; isolation: isolate; }
.herbalist-card::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.38) 49%, transparent 63%); transform: translateX(-120%); transition: transform .9s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.herbalist-card img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .5s ease; }
.herbalist-card span { position: absolute; z-index: 2; right: 18px; bottom: 16px; padding: 8px 12px; color: #fff; background: rgba(5,35,16,.78); font-size: .78rem; letter-spacing: .04em; backdrop-filter: blur(5px); }
.herbalist-card:hover img { transform: scale(1.025); filter: saturate(1.06); }
.herbalist-card:hover::after { transform: translateX(120%); }

.site-footer { position: relative; display: grid; grid-template-columns: 1.25fr repeat(3, 1fr); gap: 40px; padding: 70px max(var(--pad), calc((100% - var(--container)) / 2)) 110px; color: #ddd; background: var(--black); border-top: 1px solid var(--line); }
.footer-brand img { height: 55px; width: auto; margin-bottom: 20px; }
.footer-brand p { color: #999; }
.site-footer h2 { margin: 0 0 18px; color: var(--white); font-size: .88rem; }
.site-footer > div:not(.footer-bottom) > a { display: block; width: fit-content; margin: 9px 0; color: #aaa; font-size: .9rem; }
.site-footer a:hover { color: var(--green-bright); }
.footer-bottom { position: absolute; left: max(var(--pad), calc((100% - var(--container)) / 2)); right: max(var(--pad), calc((100% - var(--container)) / 2)); bottom: 30px; display: flex; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--line); color: #777; font-size: .78rem; }
.floating-cta { display: none; }

/* Plantillas interiores: página de tratamiento y artículo editorial. */
.inner-hero { display: grid; grid-template-columns: .9fr 1.1fr; height: 620px; min-height: 0; }
.inner-hero-copy { padding: 38px var(--pad) 72px max(var(--pad), calc((100vw - var(--container)) / 2)); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 0 0 64px; color: #9c9c9c; font-size: .76rem; }
.breadcrumbs a:hover { color: var(--green-bright); }
.inner-hero h1 { max-width: 820px; margin: 0; font-size: clamp(2.45rem, 3.5vw, 4.6rem); line-height: .98; letter-spacing: -.045em; }
.inner-summary { max-width: 670px; margin: 0 0 30px; color: #ddd; font-size: clamp(1.05rem, 1.5vw, 1.35rem); line-height: 1.42; }
.article-meta { display: flex; gap: 28px; margin: 0; color: #aaa; font-size: .82rem; }
.article-meta span + span::before { content: "·"; margin-right: 28px; }
.inner-hero-media { height: 620px; min-height: 0; margin: 0; overflow: hidden; background: #111; }
.inner-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68) contrast(1.04); }
.inner-hero-media-branded img { object-position: 72% center; filter: saturate(.9) contrast(1.02); }
.inner-hero-media-pilates img { object-position: 32% center; filter: saturate(.92) contrast(1.02); }
.content-shell { display: grid; grid-template-columns: 220px minmax(0, 780px) 240px; justify-content: center; align-items: start; gap: clamp(30px, 4vw, 78px); width: min(100% - (var(--pad) * 2), var(--container)); margin: 0 auto; padding: 76px 0 100px; }
.page-toc { position: sticky; top: 112px; padding-right: 26px; border-right: 1px solid var(--line-dark); }
.page-toc p { margin: 0 0 18px; font-weight: 700; }
.page-toc a { display: block; padding: 8px 0; color: #4a4a4a; font-size: .82rem; line-height: 1.35; }
.page-toc a:hover { color: #608700; }
.page-toc .toc-level-3 { padding-left: 14px; color: #666; }
.legacy-content { min-width: 0; color: #292929; font-size: 1.05rem; line-height: 1.72; }
.legacy-content > :first-child { margin-top: 0; }
.legacy-content h2, .legacy-content h3, .legacy-content h4 { scroll-margin-top: 115px; color: var(--ink); line-height: 1.1; letter-spacing: -.035em; }
.legacy-content h2 { margin: 54px 0 18px; padding-top: 28px; border-top: 1px solid var(--line-dark); font-size: clamp(2rem, 3vw, 3rem); }
.legacy-content h3 { margin: 38px 0 12px; font-size: clamp(1.4rem, 2vw, 2rem); }
.legacy-content h4 { margin: 28px 0 10px; font-size: 1.2rem; }
.legacy-content p { margin: 0 0 1.25em; }
.legacy-content ul, .legacy-content ol { margin: 0 0 1.6em; padding-left: 1.35em; }
.legacy-content li { margin: .45em 0; padding-left: .25em; }
.legacy-content a { color: var(--green-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.legacy-content figure, .legacy-content .wp-block-image { margin: 40px 0; }
.legacy-content img { width: auto; max-width: 100%; height: auto; margin: 0 auto; }
.legacy-content iframe { width: 100%; max-width: 100%; border: 0; }
.legacy-content blockquote { margin: 38px 0; padding: 4px 0 4px 28px; border-left: 3px solid var(--green); font-size: 1.25rem; }
.legacy-content table { width: 100%; display: block; overflow-x: auto; border-collapse: collapse; }
.legacy-content th, .legacy-content td { padding: 10px; border: 1px solid var(--line-dark); text-align: left; }
.ez-toc-section { display: block; position: relative; top: -112px; visibility: hidden; }
.medical-note { margin-top: 56px; padding: 24px 26px; background: rgba(143,189,24,.1); border-left: 3px solid var(--green); }
.medical-note strong { display: block; margin-bottom: 5px; }
.medical-note p { margin: 0; font-size: .9rem; }
.contact-fallback { margin: 34px 0; padding: clamp(24px, 4vw, 42px); background: #e8e6e0; border-left: 3px solid var(--green); }
.contact-fallback strong { display: block; font-size: 1.35rem; }
.contact-fallback p { margin: 8px 0 22px; }
.contact-fallback .button { text-decoration: none; }
.contact-directory { grid-template-columns: 180px minmax(0, 1fr); }
.contact-intro, .contact-options { grid-column: 2; }
.contact-intro h2 { max-width: 900px; margin: 0 0 22px; font-size: clamp(2.3rem, 3.55vw, 4.25rem); line-height: 1; letter-spacing: -.05em; }
.contact-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 42px; background: var(--line-dark); border: 1px solid var(--line-dark); }
.contact-options article { min-width: 0; min-height: 330px; padding: clamp(28px, 3.5vw, 48px); background: var(--paper); }
.contact-options h3 { margin: 42px 0 14px; font-size: clamp(1.45rem, 2vw, 2.05rem); }
.contact-options article > p:last-child { color: #555; }
.contact-main-link { display: block; min-height: 48px; overflow-wrap: anywhere; color: var(--green-dark); font-size: clamp(1rem, 1.25vw, 1.22rem); font-weight: 680; }
.studio-contact-page .contact-main-link { color: #ae0f65; }
.contact-hub { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(46px, 7vw, 108px); align-items: start; padding: clamp(70px, 8vw, 112px) max(var(--pad), calc((100% - var(--container)) / 2)); background: var(--paper); }
.contact-details > h2, .contact-form-panel > h2 { margin: 0 0 20px; font-size: clamp(2.15rem, 3.25vw, 3.85rem); line-height: 1; letter-spacing: -.05em; }
.contact-details > p:not(.label) { max-width: 590px; margin: 0 0 36px; color: #555; font-size: 1.06rem; }
.contact-card-stack { display: grid; gap: 12px; }
.contact-detail-card { display: grid; grid-template-columns: 52px minmax(0, 1fr) 24px; align-items: center; gap: 18px; min-height: 112px; padding: 17px 20px; color: var(--ink); background: #ebe8e1; border: 1px solid transparent; transition: color .25s ease, background-color .25s ease, border-color .25s ease, transform .25s ease; }
.contact-detail-card:hover { color: var(--paper); background: var(--ink); border-color: var(--ink); transform: translateX(5px); }
.contact-card-icon { display: grid; place-items: center; width: 52px; height: 52px; color: var(--green-dark); background: var(--paper); border-radius: 50%; }
.contact-card-icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.contact-detail-card:nth-child(2) .contact-card-icon svg { fill: none; }
.contact-detail-card span:not(.contact-card-icon), .contact-detail-card small, .contact-detail-card strong, .contact-detail-card em { display: block; min-width: 0; }
.contact-detail-card small { margin-bottom: 3px; color: #666; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.contact-detail-card strong { overflow-wrap: anywhere; font-size: clamp(1rem, 1.25vw, 1.2rem); line-height: 1.2; }
.contact-detail-card:nth-child(3) strong { font-size: clamp(.86rem, 1.05vw, 1.06rem); }
.contact-detail-card em { margin-top: 4px; color: #666; font-size: .8rem; font-style: normal; }
.contact-detail-card > b { color: var(--green-dark); font-size: 1.2rem; }
.contact-detail-card:hover small, .contact-detail-card:hover em { color: #aaa; }
.contact-detail-card:hover .contact-card-icon { color: var(--ink); background: var(--green-bright); }
.contact-hub-studio .contact-card-icon, .contact-hub-studio .contact-detail-card > b { color: var(--pink-dark); }
.contact-hub-studio .contact-detail-card:hover .contact-card-icon { color: var(--ink); background: var(--pink); }
.contact-form-panel { padding: clamp(32px, 4.5vw, 62px); color: var(--paper); background: var(--ink); }
.contact-form { display: grid; gap: 20px; margin-top: 36px; }
.contact-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.contact-form label:not(.form-consent) { display: grid; gap: 8px; color: #aaa; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.contact-form input:not([type="checkbox"]), .contact-form select, .contact-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; color: var(--paper); background: #181818; border: 1px solid #414141; border-radius: 0; font: inherit; font-size: .96rem; text-transform: none; transition: border-color .2s ease, background-color .2s ease; }
.contact-form textarea { min-height: 128px; resize: vertical; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { outline: none; background: #1d1d1d; border-color: var(--green-bright); }
.contact-hub-studio .contact-form input:focus, .contact-hub-studio .contact-form select:focus, .contact-hub-studio .contact-form textarea:focus { border-color: var(--pink); }
.contact-form option { color: var(--ink); background: var(--paper); }
.form-consent { display: flex; align-items: flex-start; gap: 11px; color: #bbb; font-size: .82rem; line-height: 1.45; }
.form-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; accent-color: var(--green-bright); }
.contact-hub-studio .form-consent input { accent-color: var(--pink); }
.form-consent a { color: var(--paper); text-decoration: underline; text-underline-offset: 3px; }
.contact-form .button { justify-self: start; margin-top: 4px; border: 0; cursor: pointer; }
.form-helper { max-width: 560px; margin: -3px 0 0; color: #888; font-size: .76rem; line-height: 1.45; }
.form-status { min-height: 20px; margin: 0; color: var(--green-bright); font-size: .82rem; }
.contact-hub-studio .form-status { color: var(--pink); }
.contact-map { display: grid; grid-template-columns: minmax(0, .58fr) minmax(0, 1.42fr); gap: clamp(38px, 6vw, 96px); align-items: center; padding: clamp(66px, 8vw, 108px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #e8e5de; }
.contact-map-copy h2 { max-width: 520px; margin: 0 0 22px; font-size: clamp(2.2rem, 3.3vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.contact-map-copy > p:not(.label) { margin: 0 0 25px; color: #555; font-size: 1.05rem; }
.contact-map-frame { position: relative; min-height: 520px; overflow: hidden; background: #d2d0ca; border: 1px solid var(--line-dark); }
.contact-map-frame iframe { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.contact-guidance { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(44px, 8vw, 120px); padding: 78px max(var(--pad), calc((100% - var(--container)) / 2)); }
.contact-guidance h2 { max-width: 720px; margin: 0; font-size: clamp(2.25rem, 3.5vw, 4.15rem); line-height: 1; letter-spacing: -.05em; }
.contact-guidance > div:last-child { align-self: end; }
.contact-guidance > div:last-child p { max-width: 650px; margin: 0 0 28px; color: #c7c7c7; }
.not-found { min-height: 100svh; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: var(--pad) max(var(--pad), calc((100% - 920px) / 2)); }
.not-found > img { width: auto; height: 64px; margin-bottom: 80px; }
.not-found h1 { max-width: 850px; margin: 0 0 24px; font-size: clamp(3.6rem, 8vw, 7.8rem); line-height: .9; letter-spacing: -.07em; }
.not-found > p:not(.eyebrow) { max-width: 560px; margin: 0 0 34px; color: #bbb; font-size: 1.2rem; }
.not-found > div { display: flex; align-items: center; gap: 28px; }
.author-card, .call-card { position: sticky; top: 112px; padding: 24px; background: #e8e6e0; }
.author-card > p, .call-card > p { margin: 0 0 18px; font-weight: 700; font-size: 1.1rem; line-height: 1.2; }
.author-card > p::after { content: ""; display: block; width: 28px; height: 2px; margin-top: 14px; background: var(--green); }
.author-card img { width: 100%; aspect-ratio: 4/5; margin-bottom: 16px; object-fit: cover; object-position: center top; filter: grayscale(1); }
.author-card strong, .author-card > span { display: block; }
.author-card > span { margin-top: 3px; color: #666; font-size: .78rem; }
.author-card > a { display: flex; justify-content: space-between; margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line-dark); color: var(--green-dark); font-size: .82rem; }
.call-card > span { display: block; margin-bottom: 24px; color: #555; font-size: .88rem; }
.call-card .button { width: 100%; font-size: .78rem; }

@media (max-width: 1050px) {
  body.menu-open { overflow: hidden; }
  .site-header { height: 82px; }
  .brand-studio, .brand-divider { display: none; }
  .menu-toggle { display: flex; align-items: center; gap: 12px; cursor: pointer; }
  .menu-toggle i, .menu-toggle i::before { display: block; width: 24px; height: 1px; background: currentColor; content: ""; transition: transform .2s ease; }
  .menu-toggle i::before { transform: translateY(-7px); }
  .menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::before { transform: rotate(-90deg); }
  .main-nav { position: fixed; inset: 82px 0 auto; display: grid; gap: 0; padding: 18px var(--pad) 30px; background: var(--black); border-bottom: 1px solid var(--line); transform: translateY(-140%); opacity: 0; pointer-events: none; transition: transform .28s ease, opacity .2s ease; }
  .main-nav.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .main-nav > a { padding: 16px 0; border-bottom: 1px solid var(--line); }
  .main-nav .nav-cta { margin-top: 16px; padding-left: 18px; }
  .hero, .hero-stage, .hero-slide { min-height: 760px; }
  .hero-slide { grid-template-columns: .9fr 1.1fr; }
  .hero h1, .hero h2 { font-size: clamp(3.5rem, 8vw, 6rem); }
  .hero-media { min-height: 660px; }
  .treatment-layout { grid-template-columns: 1fr; }
  .treatment-image { min-height: 440px; }
  .appointment-section { grid-template-columns: 1fr 1fr; }
  .appointment-copy { grid-column: 1 / -1; }
  .content-shell { grid-template-columns: 190px minmax(0, 1fr); }
  .author-card, .call-card { position: static; grid-column: 2; display: grid; grid-template-columns: 100px 1fr; gap: 8px 18px; align-items: start; }
  .author-card > p, .call-card > p { grid-column: 1 / -1; }
  .author-card img { grid-row: 2 / span 3; }
}

/* Identidad de los dos ámbitos y utilidades globales. */
.brand {
  flex: 0 0 150px;
  width: 150px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.brand img,
.brand-clinic img,
.brand-studio img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.brand-studio img {
  object-fit: cover;
  object-position: center top;
}
.brand-divider { flex: 0 0 1px; height: 36px; }
.footer-brand img { width: min(100%, 220px); height: auto; }
.space-logo {
  flex: 0 0 190px !important;
  width: 190px;
  height: 52px;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.space-logo img,
.studio-card .space-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.studio-card .space-logo img {
  object-fit: cover;
  object-position: center top;
}
.space-card > span:not(.space-logo) { flex: 1 0 100%; }

.footer-legal button {
  display: inline-block;
  width: fit-content;
  margin: 9px 0;
  padding: 0;
  color: #aaa;
  background: none;
  border: 0;
  cursor: pointer;
  font-size: .9rem;
  text-align: left;
}
.footer-legal button:hover { color: var(--green-bright); }
.footer-credit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  padding: 7px 12px;
  color: #bdbdbd;
  border: 1px solid #333;
  border-radius: 999px;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}
.footer-credit:hover { color: var(--white); border-color: var(--green); background: rgba(143,189,24,.08); }

.floating-tools {
  position: fixed;
  z-index: 72;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  transition: opacity .2s ease, transform .2s ease;
}
.scroll-top,
.whatsapp-button {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  border: 0;
  border-radius: 999px 0 0 999px;
  box-shadow: 0 10px 34px rgba(0,0,0,.24);
}
.scroll-top {
  justify-content: center;
  color: var(--white);
  background: #111;
  border: 1px solid #393939;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease, background .2s ease;
}
.scroll-top.is-visible { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
.scroll-top:hover { background: #242424; }
.scroll-top svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.whatsapp-button {
  overflow: hidden;
  color: #071d0d;
  background: #25d366;
  transition: width .28s ease, transform .2s ease, box-shadow .2s ease;
}
.whatsapp-button:hover,
.whatsapp-button:focus-visible { width: 206px; transform: translateY(-2px); box-shadow: 0 14px 38px rgba(0,0,0,.3); }
.whatsapp-button svg {
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  padding: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.whatsapp-label {
  max-width: 0;
  overflow: hidden;
  opacity: 0;
  white-space: nowrap;
  font-weight: 750;
  font-size: .9rem;
  transition: max-width .28s ease, opacity .2s ease;
}
.whatsapp-button:hover .whatsapp-label,
.whatsapp-button:focus-visible .whatsapp-label { max-width: 136px; opacity: 1; }

.cookie-banner {
  position: fixed;
  z-index: 100;
  left: max(18px, env(safe-area-inset-left));
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  width: min(1180px, calc(100% - 36px));
  max-height: calc(100svh - 36px);
  margin: auto;
  overflow-y: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px 34px;
  align-items: center;
  padding: 26px;
  color: var(--white);
  background: #101010;
  border: 1px solid #3c3c3c;
  box-shadow: 0 22px 70px rgba(0,0,0,.45);
}
.cookie-copy p { margin: 0 0 6px; color: var(--green-bright); font-weight: 750; font-size: 1.08rem; }
.cookie-copy span { display: block; max-width: 760px; color: #ccc; font-size: .9rem; }
.cookie-copy a { color: var(--white); text-decoration: underline; text-underline-offset: 3px; }
.cookie-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.cookie-button {
  min-height: 46px;
  padding: 10px 16px;
  color: var(--white);
  border: 1px solid #555;
  border-radius: 999px;
  cursor: pointer;
  font-size: .82rem;
  font-weight: 700;
}
.cookie-secondary { background: transparent; }
.cookie-secondary:hover { border-color: #999; background: #202020; }
.cookie-primary { color: #101010; background: var(--green-bright); border-color: var(--green-bright); }
.cookie-primary:hover { background: #b2df36; }
.cookie-preferences { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid #333; }
.cookie-preferences fieldset { margin: 0 0 18px; padding: 0; border: 0; }
.cookie-preferences legend { margin-bottom: 10px; font-weight: 750; }
.cookie-preferences label { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 13px 0; border-top: 1px solid #2b2b2b; }
.cookie-preferences strong,
.cookie-preferences small { display: block; }
.cookie-preferences small { margin-top: 2px; color: #aaa; }
.cookie-preferences input { width: 22px; height: 22px; accent-color: var(--green); }
.cookie-open .floating-tools { opacity: 0; pointer-events: none; transform: translateX(20px); }

@media (max-width: 1180px) {
  .brand { flex-basis: 128px; width: 128px; height: 36px; }
}

@media (max-width: 1050px) {
  .brand-studio { display: flex; }
  .brand-divider { display: block; }
  .header-inner { gap: 14px; }
}

@media (max-width: 760px) {
  .brand { flex-basis: 104px; width: 104px; height: 29px; }
  .brand-clinic img { height: 100%; }
  .brand-divider { height: 28px; }
  .header-inner { gap: 9px; }
  .menu-toggle { gap: 7px; }
  .menu-toggle span { font-size: .8rem; }
  .space-logo { flex-basis: 165px !important; width: 165px; height: 46px; }
  .space-card img,
  .studio-card img { width: 100%; height: 100%; }
  .footer-bottom { gap: 10px; }
  .floating-tools { right: 12px; bottom: 82px; }
  .scroll-top,
  .whatsapp-button { width: 52px; height: 52px; }
  .whatsapp-button:hover,
  .whatsapp-button:focus-visible { width: 52px; transform: none; }
  .whatsapp-button svg { flex-basis: 52px; width: 52px; height: 52px; padding: 13px; }
  .whatsapp-label { display: none; }
  .cookie-open .floating-cta { display: none; }
  .cookie-banner { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .cookie-actions { justify-content: stretch; }
  .cookie-button { flex: 1 1 145px; }
}

@media (max-width: 390px) {
  .brand { flex-basis: 89px; width: 89px; height: 25px; }
  .brand-divider { height: 24px; }
  .header-inner { gap: 7px; }
  .menu-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .cookie-banner { left: 10px; right: 10px; bottom: 10px; width: calc(100% - 20px); padding: 18px; }
  .cookie-actions { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-top,
  .whatsapp-button,
  .whatsapp-label,
  .floating-tools { transition: none; }
}

/* Técnica clínica: composición editorial común, contenido específico por URL. */
.technique-editorial { overflow: clip; }
.technique-intro,
.technique-principles,
.technique-process,
.technique-limits,
.technique-faq,
.technique-next,
.technique-source { width: min(100%, var(--container)); margin-inline: auto; }
.technique-intro { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(420px, 1.35fr); gap: clamp(42px, 8vw, 140px); padding: clamp(72px, 9vw, 150px) var(--pad); border-bottom: 1px solid var(--line-dark); }
.technique-intro h2,
.technique-principles h2,
.technique-process h2,
.technique-limits h2,
.technique-faq h2 { margin: 0; font-size: clamp(2.35rem, 4.3vw, 5.2rem); line-height: .95; letter-spacing: -.06em; }
.technique-lead { max-width: 830px; margin: 0; font-size: clamp(1.35rem, 2.1vw, 2.2rem); line-height: 1.35; }
.technique-principles { padding: clamp(72px, 8vw, 128px) var(--pad); }
.technique-principles > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 64px; border: 1px solid var(--line); }
.technique-principles article { min-height: 320px; padding: clamp(28px, 3vw, 48px); border-right: 1px solid var(--line); }
.technique-principles article:last-child { border-right: 0; }
.technique-principles article > span,
.technique-process li > span { color: var(--green); font-size: .8rem; letter-spacing: .1em; }
.technique-principles h3,
.technique-process h3 { margin: 52px 0 18px; font-size: clamp(1.55rem, 2.1vw, 2.25rem); line-height: 1.05; letter-spacing: -.045em; }
.technique-principles p { max-width: 36ch; margin: 0; color: #c8c8c8; }
.technique-process { padding: clamp(76px, 9vw, 150px) var(--pad); }
.technique-process > header { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.technique-process > header > p { max-width: 560px; margin: 0; font-size: 1.15rem; }
.technique-process ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 70px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.technique-process li { padding: 34px clamp(22px, 3vw, 46px) 48px 0; border-right: 1px solid var(--line-dark); }
.technique-process li + li { padding-left: clamp(22px, 3vw, 46px); }
.technique-process li:last-child { border-right: 0; }
.technique-process h3 { margin-top: 30px; }
.technique-process li p { margin: 0; max-width: 38ch; }
.technique-limits { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(50px, 10vw, 170px); padding: clamp(70px, 8vw, 126px) var(--pad); border-top: 1px solid var(--line-dark); background: #e9e6df; }
.technique-limits > p { max-width: 760px; margin: 0; padding-left: 34px; border-left: 3px solid var(--green); font-size: clamp(1.2rem, 1.6vw, 1.55rem); line-height: 1.52; }
.technique-faq { padding: clamp(72px, 8vw, 128px) var(--pad); }
.technique-faq > div { margin-top: 54px; border-top: 1px solid var(--line); }
.technique-faq details { border-bottom: 1px solid var(--line); }
.technique-faq summary,
.technique-source summary { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 26px 0; cursor: pointer; list-style: none; font-size: clamp(1.05rem, 1.5vw, 1.3rem); font-weight: 650; }
.technique-faq summary::-webkit-details-marker,
.technique-source summary::-webkit-details-marker { display: none; }
.technique-faq summary b,
.technique-source summary b { color: var(--green); font-size: 1.4rem; transition: transform .2s ease; }
.technique-faq details[open] summary b,
.technique-source[open] summary b { transform: rotate(45deg); }
.technique-faq details p { max-width: 820px; margin: -4px 0 28px; color: #c8c8c8; }
.technique-next { padding: 54px var(--pad) 80px; }
.technique-next > div { display: flex; flex-wrap: wrap; gap: 12px; }
.technique-next a { display: inline-flex; justify-content: space-between; gap: 32px; min-width: min(100%, 300px); padding: 18px 20px; border: 1px solid var(--line-dark); background: rgba(255,255,255,.42); font-weight: 650; }
.technique-next a:hover { color: var(--green-dark); border-color: var(--green); }
.technique-source { margin-bottom: 90px; padding: 0 var(--pad); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.technique-source > .legacy-content { width: min(100%, 980px); margin: 0 auto; padding: 20px 0 70px; }

@media (max-width: 900px) {
  .technique-intro,
  .technique-process > header,
  .technique-limits { grid-template-columns: 1fr; gap: 34px; }
  .technique-principles > div,
  .technique-process ol { grid-template-columns: 1fr; }
  .technique-principles article { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .technique-principles article:last-child { border-bottom: 0; }
  .technique-principles h3 { margin-top: 28px; }
  .technique-process li,
  .technique-process li + li { padding: 30px 0 36px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .technique-process li:last-child { border-bottom: 0; }
  .technique-limits > p { padding: 0 0 0 22px; }
}

/* Tratamientos: sistema editorial común con contenido específico por servicio. */
.treatment-editorial { overflow: clip; background: var(--paper); }
.treatment-orientation,
.treatment-focus,
.treatment-process,
.treatment-limits,
.treatment-faq,
.treatment-next,
.treatment-source { width: min(100%, var(--container)); margin-inline: auto; }
.treatment-orientation { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(420px, 1.25fr); gap: clamp(46px, 9vw, 150px); padding: clamp(72px, 9vw, 148px) var(--pad); }
.treatment-orientation h2,
.treatment-focus h2,
.treatment-process h2,
.treatment-limits h2,
.treatment-faq h2 { margin: 0; font-size: clamp(2.4rem, 4.5vw, 5.3rem); line-height: .94; letter-spacing: -.065em; }
.treatment-orientation > p { align-self: end; max-width: 820px; margin: 0; font-size: clamp(1.28rem, 1.85vw, 1.85rem); line-height: 1.45; }
.treatment-focus { width: 100%; max-width: none; padding: clamp(74px, 8vw, 126px) max(var(--pad), calc((100% - var(--container)) / 2)); }
.treatment-focus > header { display: grid; grid-template-columns: .65fr 1.35fr; gap: 48px; align-items: end; margin-bottom: 54px; }
.treatment-focus > div { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #343434; border-left: 1px solid #343434; }
.treatment-focus article { min-height: 310px; padding: clamp(28px, 3vw, 46px); border-right: 1px solid #343434; border-bottom: 1px solid #343434; }
.treatment-focus article > span { color: var(--green); font-size: .78rem; letter-spacing: .12em; }
.treatment-focus h3 { margin: 62px 0 18px; color: #fff; font-size: clamp(1.5rem, 2vw, 2.25rem); line-height: 1.05; letter-spacing: -.04em; }
.treatment-focus article p { max-width: 38ch; margin: 0; color: #bcbcbc; }
.treatment-process { padding: clamp(76px, 9vw, 142px) var(--pad); }
.treatment-process > header { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(48px, 9vw, 140px); align-items: end; }
.treatment-process > header > p { max-width: 600px; margin: 0; color: #555; font-size: 1.1rem; }
.treatment-process ol { display: grid; grid-template-columns: repeat(3, 1fr); margin: 64px 0 0; padding: 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); list-style: none; }
.treatment-process li { padding: 34px clamp(22px, 3vw, 46px) 48px 0; border-right: 1px solid var(--line-dark); }
.treatment-process li + li { padding-left: clamp(22px, 3vw, 46px); }
.treatment-process li:last-child { border-right: 0; }
.treatment-process li > span { color: var(--green-dark); font-size: .78rem; letter-spacing: .12em; }
.treatment-process h3 { margin: 30px 0 16px; font-size: clamp(1.5rem, 2vw, 2.2rem); letter-spacing: -.04em; }
.treatment-process li p { max-width: 38ch; margin: 0; }
.treatment-limits { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(50px, 9vw, 150px); padding: clamp(72px, 8vw, 122px) var(--pad); background: #e7e4dd; }
.treatment-limits > p { align-self: end; max-width: 780px; margin: 0; padding: 30px 0 30px 34px; border-left: 3px solid var(--green); font-size: clamp(1.18rem, 1.6vw, 1.5rem); line-height: 1.55; }
.treatment-faq { width: 100%; max-width: none; padding: clamp(74px, 8vw, 126px) max(var(--pad), calc((100% - var(--container)) / 2)); }
.treatment-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px, 9vw, 150px); }
.treatment-faq > div { border-top: 1px solid #353535; }
.treatment-faq details { border-bottom: 1px solid #353535; }
.treatment-faq summary { display: flex; justify-content: space-between; gap: 28px; padding: 26px 0; cursor: pointer; list-style: none; color: #fff; font-weight: 700; }
.treatment-faq summary::-webkit-details-marker { display: none; }
.treatment-faq summary b { color: var(--green); font-size: 1.4rem; transition: transform .2s ease; }
.treatment-faq details[open] summary b { transform: rotate(45deg); }
.treatment-faq details p { max-width: 780px; margin: 0 0 30px; color: #bfbfbf; }
.treatment-next { padding: 62px var(--pad) 86px; }
.treatment-next > div { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 18px; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.treatment-next a { display: flex; justify-content: space-between; gap: 24px; padding: 26px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); font-weight: 700; }
.treatment-next a:hover { color: var(--green-dark); background: rgba(168,210,27,.08); }
.treatment-source { margin-bottom: 90px; padding: 0 var(--pad); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.treatment-source > summary { display: flex; justify-content: space-between; gap: 28px; padding: 28px 0; cursor: pointer; list-style: none; font-weight: 750; }
.treatment-source > summary::-webkit-details-marker { display: none; }
.treatment-source > summary b { color: var(--green-dark); font-size: 1.45rem; transition: transform .2s ease; }
.treatment-source[open] > summary b { transform: rotate(45deg); }
.treatment-source-note { max-width: 900px; margin: 26px auto; padding: 26px; border-left: 3px solid var(--green); background: rgba(168,210,27,.08); }
.treatment-source-note strong { display: block; margin-bottom: 8px; }
.treatment-source-note p { margin: 0; }
.treatment-source .legacy-content { width: min(100%, 1040px); margin: 0 auto; padding: 24px 0 70px; }

@media (max-width: 900px) {
  .treatment-orientation,
  .treatment-focus > header,
  .treatment-process > header,
  .treatment-limits,
  .treatment-faq { grid-template-columns: 1fr; gap: 34px; }
  .treatment-focus > div,
  .treatment-process ol { grid-template-columns: 1fr; }
  .treatment-focus article { min-height: 0; }
  .treatment-focus h3 { margin-top: 32px; }
  .treatment-process li,
  .treatment-process li + li { padding: 30px 0 36px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .treatment-process li:last-child { border-bottom: 0; }
  .treatment-next > div { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  :root { --pad: 20px; }
  body { padding-bottom: 66px; }
  .brand-clinic img { height: 42px; }
  .hero, .hero-stage, .hero-slide { min-height: calc(100svh - 82px); }
  .hero-slide { display: block; }
  .hero-copy { position: relative; z-index: 2; min-height: calc(100svh - 82px); padding-top: 42px; padding-bottom: 188px; }
  .hero h1, .hero h2 { font-size: clamp(3.15rem, 15vw, 5.15rem); text-shadow: 0 2px 24px rgba(0,0,0,.48); }
  .hero-intro { font-size: 1.2rem; }
  .hero-actions .text-link { display: none; }
  .hero-media { position: absolute; z-index: 0; inset: 0; min-height: 100%; opacity: .66; }
  .hero-media::after { background: linear-gradient(90deg, rgba(0,0,0,.86), rgba(0,0,0,.42)), linear-gradient(0deg, rgba(0,0,0,.9), transparent 48%, rgba(0,0,0,.24)); }
  .hero-media figcaption { right: 18px; bottom: 180px; }
  .hero-media-facade > img { object-position: center 20%; }
  .hero-media-clinic > img { object-position: center 42%; }
  .hero-media-studio > img { object-position: 66% center; }
  .hero-controls { grid-template-columns: 42px minmax(0, 1fr) 42px; gap: 4px; min-height: 96px; bottom: 66px; padding: 14px 12px; background: linear-gradient(0deg, rgba(5,5,5,.96), rgba(5,5,5,.72), transparent); }
  .hero-pause { display: none; }
  .hero-arrow { width: 38px; height: 38px; }
  .hero-pagination button { padding: 16px 5px 0; align-items: center; }
  .hero-pagination small { display: none; }
  .hero-choice-actions { width: 100%; }
  .treatment-browser { padding: 48px var(--pad) 58px; }
  .treatment-explorer-heading,
  .treatment-catalog .treatment-explorer-heading { grid-template-columns: 1fr; gap: 18px; margin-bottom: 28px; }
  .treatment-explorer-heading h2,
  .treatment-catalog .treatment-explorer-heading h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .treatment-explorer-heading > p { font-size: .94rem; }
  .treatment-layout,
  .treatment-catalog .treatment-layout { grid-template-columns: 1fr; gap: 22px; }
  .treatment-image,
  .treatment-catalog .treatment-image { position: relative; top: auto; height: auto; min-height: 310px; aspect-ratio: 4 / 3; }
  .treatment-image figcaption { grid-template-columns: 52px minmax(0, 1fr); padding: 22px; }
  .treatment-image figcaption > strong { font-size: 1.45rem; }
  .treatment-image figcaption > p { display: none; }
  .treatment-list,
  .treatment-catalog .treatment-list { display: grid; grid-template-columns: 1fr; gap: 8px; border-top: 0; }
  .treatment-item,
  .treatment-catalog .treatment-item { grid-template-columns: 84px 34px minmax(0, 1fr) 22px; min-height: 78px; padding: 9px; gap: 8px; border: 1px solid rgba(255,255,255,.13); background: #0d0d0d; font-size: 1rem; }
  .treatment-item:hover, .treatment-item.is-active { transform: none; border-color: rgba(168,210,27,.72); }
  .treatment-item-thumb { display: block; grid-column: 1; grid-row: 1; width: 84px; height: 58px; overflow: hidden; }
  .treatment-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .treatment-item-index { grid-column: 2; grid-row: 1; }
  .treatment-item-title { grid-column: 3; grid-row: 1; }
  .treatment-item-arrow { grid-column: 4; grid-row: 1; }
  .treatment-all { margin-top: 2px; padding-inline: 12px; }
  .editorial-section, .team-section { grid-template-columns: 1fr; width: calc(100% - 40px); padding: 54px 0; gap: 34px; }
  .editorial-section .editorial-copy, .team-section .editorial-copy { order: 1; }
  .editorial-section .editorial-media, .team-section .editorial-media { order: 2; min-height: 380px; }
  .section-heading-row { display: block; }
  .section-heading-row .dark-link { margin-top: 22px; }
  .article-grid { grid-template-columns: 1fr; gap: 38px; }
  .appointment-section { grid-template-columns: 1fr; padding-top: 48px; padding-bottom: 48px; }
  .appointment-copy { grid-column: auto; }
  .space-card { min-height: 105px; padding: 22px; }
  .space-card img { height: 53px; }
  .studio-card img { width: 165px; }
  .site-footer { grid-template-columns: 1fr 1fr; padding-bottom: 120px; }
  .footer-brand { grid-column: 1 / -1; }
  .footer-bottom { display: grid; gap: 6px; }
  .floating-cta { position: fixed; z-index: 60; display: flex; justify-content: space-between; align-items: center; left: 0; right: 0; bottom: 0; min-height: 66px; padding: 12px 22px; color: var(--black); background: var(--green-bright); font-weight: 700; }
  .inner-hero { display: flex; flex-direction: column; min-height: auto; }
  .inner-hero-copy { min-height: 560px; padding: 32px var(--pad) 58px; }
  .breadcrumbs { margin-bottom: 48px; }
  .inner-hero h1 { font-size: clamp(3rem, 13vw, 5rem); }
  .inner-hero-media { min-height: 360px; }
  .content-shell { display: block; width: calc(100% - 40px); padding: 50px 0 70px; }
  .page-toc { position: static; margin-bottom: 40px; padding: 22px; border: 1px solid var(--line-dark); }
  .page-toc a:nth-of-type(n+7) { display: none; }
  .legacy-content { font-size: 1rem; }
  .legacy-content h2 { margin-top: 42px; }
  .author-card, .call-card { display: block; margin-top: 42px; }
  .author-card img { max-width: 220px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* Sistema editorial 2026 */
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.eyebrow-pink, .section-kicker.pink, .label-pink { color: var(--pink-dark); }
.section-dark .eyebrow-pink, .section-dark .section-kicker.pink, .section-dark .label-pink { color: var(--pink); }
.accent-pink { background: var(--pink); }
.button-dark { color: var(--ink); background: transparent; }
.button-dark:hover { color: var(--paper); background: var(--ink); transform: translateY(-2px); }
.text-link-dark { color: var(--ink); }
.lead { font-size: clamp(1.08rem, 1.45vw, 1.35rem); line-height: 1.55; color: #343434; }

.site-header { height: 92px; }
.site-header.is-compact { height: 76px; }
.main-nav { display: block; }
.main-nav > ul { display: flex; align-items: center; gap: clamp(12px, 1.25vw, 24px); margin: 0; padding: 0; list-style: none; }
.main-nav li { position: relative; }
.main-nav li > a, .nav-parent > a { display: inline-flex; min-height: 44px; align-items: center; color: #e8e8e8; font-size: .84rem; }
.main-nav li > a.is-active, .nav-parent > a.is-active { color: var(--green-bright); }
.nav-parent { display: flex; align-items: center; }
.submenu-toggle { width: 30px; height: 40px; padding: 0; color: #999; background: none; border: 0; cursor: pointer; }
.submenu { position: absolute; top: calc(100% + 18px); left: -24px; display: grid; grid-template-columns: repeat(2, minmax(190px, 1fr)); width: min(520px, 70vw); padding: 24px; color: var(--paper); background: #111; border: 1px solid var(--line); box-shadow: 0 24px 60px rgba(0,0,0,.38); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.has-submenu:hover .submenu, .has-submenu:focus-within .submenu, .has-submenu.is-open .submenu { opacity: 1; visibility: visible; transform: none; }
.submenu p { grid-column: 1 / -1; margin: 0 0 12px; color: var(--green); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.submenu a { display: flex !important; justify-content: space-between; gap: 20px; min-height: 42px !important; padding: 9px 10px; border-bottom: 1px solid var(--line); }
.submenu a:hover { color: var(--green-bright); background: rgba(255,255,255,.04); }
.main-nav > ul > li:nth-last-child(-n+4) .submenu { left: auto; right: 0; }
.nav-search { gap: 7px; }
.nav-search b { color: var(--green); font-size: 1.25rem; font-weight: 400; }
.main-nav .nav-cta { min-height: 42px; color: var(--green-bright); padding: 7px 14px 7px 17px; }

.hero, .hero-slides, .hero-slide { height: min(820px, calc(100svh - 92px)); min-height: 680px; }
.hero-slides { position: relative; }
.hero-slide { grid-template-columns: minmax(360px, .88fr) minmax(560px, 1.12fr); }
.hero-copy { padding-top: clamp(64px, 7vw, 110px); }
.hero h1, .hero h2 { max-width: 620px; font-size: clamp(2.9rem, 4vw, 5.15rem); line-height: .96; letter-spacing: -.05em; }
.hero-copy > p:not(.eyebrow) { max-width: 500px; margin: 0; color: #d2d2d2; font-size: clamp(1.03rem, 1.25vw, 1.24rem); line-height: 1.48; }
.hero-media { height: 100%; min-height: 0; }
.hero-controls { grid-template-columns: 46px minmax(0, 1fr) 46px 46px; min-height: 100px; }
.hero-tabs { display: grid; grid-template-columns: repeat(4, 1fr); }
.hero-tabs button { position: relative; display: flex; align-items: center; gap: 10px; padding: 12px; border-top: 1px solid rgba(255,255,255,.36); text-align: left; }
.hero-tabs button::before { content: ""; position: absolute; left: 0; right: 0; top: -2px; height: 3px; background: transparent; transform: scaleX(0); transform-origin: left; }
.hero-tabs button.is-active { color: var(--green-bright); }
.hero-tabs button.is-active::before { background: currentColor; animation: hero-slide-progress 6.5s linear forwards; }
.hero-tabs button:nth-child(3).is-active { color: var(--pink); }
.hero.is-paused .hero-tabs button.is-active::before,
.hero.is-system-paused .hero-tabs button.is-active::before { animation-play-state: paused; }
@keyframes hero-slide-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.section-heading, .section-heading-light, .archive-feed-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 42px; }
.section-heading h2, .section-heading-light h2, .archive-feed-heading h2 { max-width: 850px; margin: 0; font-size: clamp(2.35rem, 3.7vw, 4.4rem); line-height: .98; letter-spacing: -.05em; }
.section-heading > p, .section-heading-light > p, .archive-feed-heading > p { max-width: 460px; margin: 0; color: #8d8d8d; }
.section-heading-light > p, .archive-feed-heading > p { color: #555; }
.treatment-all { display: flex; justify-content: space-between; align-items: center; min-height: 72px; margin-top: 12px; color: var(--green-bright); border-bottom: 1px solid var(--green); }

.spaces-intro { grid-template-columns: 180px minmax(0, 1fr); }
.spaces-intro .section-kicker, .method-section .section-kicker, .home-guide .section-kicker, .blog-preview .section-kicker, .directory-intro .section-kicker, .team-directory .section-kicker, .testimonial-context .section-kicker, .featured-editorial .section-kicker, .category-lead .section-kicker, .studio-manifesto .section-kicker, .studio-source .section-kicker { display: block; border: 0; }
.section-kicker span { display: block; margin-bottom: 8px; color: var(--green-dark); font-size: 1rem; font-weight: 650; }
.section-kicker p { margin: 0; color: #666; font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.section-dark .section-kicker span { color: var(--green-bright); }
.spaces-copy h2, .method-copy h2, .home-guide-heading h2, .directory-intro h2, .team-directory-intro h2, .testimonial-context h2, .studio-manifesto h2 { max-width: 980px; margin: 0 0 24px; font-size: clamp(2.25rem, 3.6vw, 4.35rem); line-height: 1; letter-spacing: -.052em; }
.space-editorial-grid { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 16px; background: var(--line-dark); border: 1px solid var(--line-dark); }
.space-editorial-card { min-height: 280px; padding: clamp(28px, 4vw, 54px); background: var(--paper); transition: background .25s ease, color .25s ease; }
.space-editorial-card span { color: var(--green-dark); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; }
.space-editorial-card strong { display: block; margin: 38px 0 14px; font-size: clamp(1.75rem, 2.4vw, 2.8rem); line-height: 1; }
.space-editorial-card p { max-width: 410px; color: #555; }
.space-editorial-card b { display: block; margin-top: 28px; color: var(--green-dark); font-size: .85rem; }
.space-editorial-card.studio span, .space-editorial-card.studio b { color: var(--pink-dark); }
.space-editorial-card:hover { color: var(--white); background: var(--ink); }
.space-editorial-card:hover p { color: #bbb; }
.space-editorial-card:hover span, .space-editorial-card:hover b { color: var(--green-bright); }
.space-editorial-card.studio:hover span, .space-editorial-card.studio:hover b { color: var(--pink); }

.method-section, .home-guide { grid-template-columns: 180px minmax(0, 1fr); }
.method-steps { grid-column: 2; margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.method-steps li { display: grid; grid-template-columns: 90px 1fr; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--line-dark); }
.method-steps > li > span { color: var(--green-dark); font-weight: 650; }
.method-steps h3 { margin: 0 0 8px; font-size: clamp(1.35rem, 1.8vw, 1.85rem); }
.method-steps p { max-width: 680px; margin: 0; color: #555; }
.home-guide-columns { grid-column: 2; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(24px, 3vw, 52px); margin-top: 28px; }
.home-guide-columns h3 { margin: 0 0 15px; font-size: 1.35rem; }
.home-guide-columns p { color: #4d4d4d; }
.guide-actions { grid-column: 2; display: flex; align-items: center; gap: 28px; margin-top: 28px; }
.home-faq { padding: clamp(66px, 8vw, 112px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #e8e5de; }
.home-faq-intro { display: grid; grid-template-columns: minmax(300px, .9fr) minmax(380px, 1.1fr); align-items: end; gap: clamp(38px, 8vw, 128px); margin-bottom: clamp(38px, 5vw, 66px); }
.home-faq-intro h2 { max-width: 690px; margin: 0; font-size: clamp(2.25rem, 3.5vw, 4.15rem); line-height: 1; letter-spacing: -.05em; }
.home-faq-intro > p { max-width: 580px; margin: 0 0 4px; color: #555; font-size: clamp(1rem, 1.2vw, 1.17rem); }
.faq-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(14px, 1.5vw, 22px); }
.faq-column { display: grid; align-content: start; gap: clamp(12px, 1.25vw, 18px); }
.faq-list details { overflow: hidden; color: var(--ink); background: rgba(255,255,255,.38); border: 1px solid rgba(15,15,15,.2); transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease; }
.faq-list details:hover { border-color: rgba(15,15,15,.58); transform: translateY(-2px); }
.faq-list details[open] { color: var(--paper); background: var(--ink); border-color: var(--ink); transform: none; }
.faq-list summary { display: grid; grid-template-columns: 38px minmax(0, 1fr) 34px; align-items: center; gap: 14px; min-height: 94px; padding: 18px 20px; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary:focus-visible { outline: 3px solid var(--green-bright); outline-offset: -4px; }
.faq-list summary strong { font-size: clamp(1rem, 1.22vw, 1.2rem); line-height: 1.18; font-weight: 650; }
.faq-number { align-self: start; padding-top: 3px; color: var(--green-dark); font-size: .72rem; font-weight: 700; letter-spacing: .1em; transition: color .3s ease, transform .3s ease; }
.faq-icon { position: relative; width: 32px; height: 32px; border: 1px solid currentColor; border-radius: 50%; transition: color .3s ease, background-color .3s ease, transform .35s cubic-bezier(.2,.7,.2,1); }
.faq-icon i { position: absolute; left: 50%; top: 50%; width: 12px; height: 1px; background: currentColor; transform: translate(-50%, -50%); transition: transform .3s ease; }
.faq-icon i:last-child { transform: translate(-50%, -50%) rotate(90deg); }
.faq-list details[open] .faq-number { color: var(--green-bright); transform: translateY(3px); }
.faq-column:nth-child(2) details[open] .faq-number { color: var(--pink); }
.faq-list details[open] .faq-icon { color: var(--ink); background: var(--green-bright); transform: rotate(180deg); }
.faq-column:nth-child(2) details[open] .faq-icon { background: var(--pink); }
.faq-list details[open] .faq-icon i:last-child { transform: translate(-50%, -50%) rotate(180deg); }
.faq-answer { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .38s cubic-bezier(.2,.7,.2,1), opacity .22s ease; }
.faq-answer > div { min-height: 0; overflow: hidden; }
.faq-answer p { max-width: 650px; margin: 0; padding: 0 66px 26px 72px; color: #c8c8c8; font-size: .96rem; line-height: 1.62; }
.faq-list details[open] .faq-answer { grid-template-rows: 1fr; opacity: 1; }

.team-showcase { padding: 76px var(--pad) 90px; }
.team-showcase > * { width: min(100%, var(--container)); margin-left: auto; margin-right: auto; }
.home-team-grid, .team-grid, .related-team { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.team-card { position: relative; min-width: 0; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.team-card-image { display: block; aspect-ratio: .73; overflow: hidden; background: #171717; }
.team-card-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.75); transition: transform .45s ease, filter .3s ease; }
.team-card:hover img { transform: scale(1.025); filter: saturate(1); }
.team-card p { margin: 16px 0 7px; color: #b8b8b8; font-size: .67rem; letter-spacing: .05em; text-transform: uppercase; }
.team-card h3 { margin: 0; padding-right: 24px; font-size: clamp(1.02rem, 1.3vw, 1.32rem); line-height: 1.12; }
.team-card h3 a::after { content: ""; position: absolute; inset: 0; }
.team-card > span { position: absolute; right: 2px; bottom: 20px; color: var(--green-dark); }
.section-dark .team-card > span { color: var(--green-bright); }
.team-all { margin-top: 36px; }
.team-grid { grid-column: 2; grid-template-columns: repeat(3, 1fr); gap: 48px 24px; margin-top: 16px; }
.team-grid .team-card { color: var(--ink); border-color: var(--line-dark); }
.team-grid .team-card p { color: #666; }
.team-grid .team-card > div { margin-top: 13px; color: #555; font-size: .92rem; }

.section-actions { display: flex; align-items: center; gap: 28px; margin-top: 34px; }
.cases-preview { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(40px, 8vw, 120px); padding: 80px max(var(--pad), calc((100% - var(--container)) / 2)); background: #e8e5de; }
.cases-intro h2 { margin: 0 0 20px; font-size: clamp(2.25rem, 3.6vw, 4.2rem); line-height: 1; letter-spacing: -.05em; }
.cases-intro > p:not(.label) { max-width: 500px; color: #555; }
.cases-intro > a { display: inline-block; margin-top: 22px; color: var(--green-dark); }
.cases-list article { padding: 26px 0; border-top: 1px solid var(--line-dark); }
.cases-list blockquote { margin: 0 0 16px; font-size: clamp(1.2rem, 1.8vw, 1.75rem); line-height: 1.38; }
.cases-list .case-record-title { margin: 0 0 16px; font-size: clamp(1.2rem, 1.8vw, 1.75rem); font-weight: 720; line-height: 1.28; text-wrap: balance; }
.cases-list a { color: var(--green-dark); font-size: .85rem; }

.archive-hero, .article-hero, .profile-hero { display: grid; grid-template-columns: minmax(420px, .9fr) minmax(520px, 1.1fr); height: 620px; min-height: 0; }
.archive-hero.has-section-wordmark { position: relative; isolation: isolate; overflow: hidden; }
.archive-hero.has-section-wordmark > .archive-hero-copy,
.archive-hero.has-section-wordmark > figure { position: relative; z-index: 1; }
.treatments-wordmark { z-index: 0; left: -2.5vw; bottom: -.08em; color: rgba(255,255,255,.027); font-size: clamp(9rem, 13.8vw, 18rem); }
.archive-hero-copy, .article-hero-copy, .profile-hero-copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 52px var(--pad) 70px max(var(--pad), calc((100vw - var(--container)) / 2)); }
.archive-hero h1, .article-hero h1, .profile-hero h1, .category-hero h1, .search-hero h1 { max-width: 820px; margin: 0; font-size: clamp(2.45rem, 3.5vw, 4.6rem); line-height: .98; letter-spacing: -.045em; }
.archive-hero-copy > p:not(.eyebrow), .article-hero-copy > .inner-summary, .profile-hero-copy > p:not(.eyebrow):not(.profile-role) { max-width: 660px; margin: 0 0 28px; color: #ccc; font-size: clamp(1.02rem, 1.25vw, 1.22rem); }
.archive-hero > figure, .article-hero-media, .profile-hero > figure { height: 620px; min-height: 0; margin: 0; overflow: hidden; }
.archive-hero > figure img, .article-hero-media img, .profile-hero > figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) contrast(1.03); }
.profile-hero > figure { display: flex; align-items: flex-end; justify-content: center; padding: 34px clamp(28px, 6vw, 88px) 0; background: radial-gradient(circle at 50% 34%, #272727, #111 70%); }
.profile-hero > figure img { width: min(100%, 390px); height: auto; max-height: 100%; object-fit: contain; object-position: center bottom; box-shadow: 0 0 70px rgba(0,0,0,.24); }
.site-search-form { display: flex; width: min(100%, 580px); margin-top: 10px; border-bottom: 1px solid #777; }
.site-search-form input { flex: 1; min-width: 0; height: 54px; color: var(--white); background: transparent; border: 0; outline: 0; }
.site-search-form button { min-width: 52px; color: var(--green); background: transparent; border: 0; cursor: pointer; }
.site-search-form input::placeholder { color: #999; }

.topic-nav { position: sticky; z-index: 15; top: 76px; display: flex; gap: 0; overflow-x: auto; padding: 0 max(var(--pad), calc((100% - var(--container)) / 2)); background: var(--paper); border-bottom: 1px solid var(--line-dark); scrollbar-width: thin; }
.topic-nav a { flex: 0 0 auto; display: flex; gap: 8px; padding: 18px 22px; color: #555; border-bottom: 2px solid transparent; font-size: .82rem; }
.topic-nav a span { color: #666; }
.topic-nav a:hover, .topic-nav a.is-active { color: var(--ink); border-color: var(--pink); }
.featured-editorial, .category-lead { grid-template-columns: 180px 1fr; }
.featured-editorial > h2 { grid-column: 2; margin: 0; font-size: clamp(2.2rem, 3.3vw, 3.8rem); }
.featured-layout { grid-column: 2; display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 34px 24px; }
.featured-layout .article-card:first-child { grid-row: span 2; }
.featured-layout .article-card:first-child .article-image { aspect-ratio: 4/3; }
.featured-layout .article-card:nth-child(n+4) { grid-column: span 1; }
.card-excerpt { margin-top: 14px; padding-right: 36px; color: #555; font-size: .92rem; }
.archive-feed, .testimonial-archive { width: min(100% - (var(--pad) * 2), var(--container)); margin: auto; padding: 72px 0 96px; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 50px 26px; }
.load-more { margin: 48px auto 0; cursor: pointer; }
.knowledge-callout, .techniques-callout, .studio-contact { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 8vw, 120px); padding: 70px max(var(--pad), calc((100% - var(--container)) / 2)); }
.knowledge-callout h2, .techniques-callout h2, .studio-contact h2 { max-width: 680px; margin: 0; font-size: clamp(2.2rem, 3.6vw, 4.2rem); line-height: 1; letter-spacing: -.05em; }
.knowledge-callout > div:last-child, .techniques-callout > div:last-child, .studio-contact > div:last-child { align-self: end; }
.knowledge-callout > div:last-child p, .techniques-callout > div:last-child p { color: #aaa; }

.category-hero { display: grid; grid-template-columns: 1fr 280px; gap: 80px; align-items: end; min-height: 480px; padding: 70px max(var(--pad), calc((100% - var(--container)) / 2)); }
.category-hero > div:first-child > p:last-child { max-width: 720px; color: #bbb; font-size: 1.15rem; }
.category-stat { padding: 32px 0 8px; border-top: 1px solid var(--line); }
.category-stat strong, .category-stat span { display: block; }
.category-stat strong { color: var(--green); font-size: 4rem; line-height: 1; }
.category-stat span { margin-top: 8px; color: #aaa; }
.category-lead .article-card { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 34px; }
.category-lead .article-card .article-image { grid-row: span 4; margin: 0; aspect-ratio: 4/3; }

.testimonial-context { grid-template-columns: 180px 1fr; }
.testimonial-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line-dark); border: 1px solid var(--line-dark); }
.testimonial-card { position: relative; min-height: 340px; padding: 34px; background: var(--paper); }
.testimonial-card > p { margin: 0 0 32px; color: var(--green-dark); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }
.testimonial-card h3 { margin: 0 0 18px; font-size: clamp(1.3rem, 1.7vw, 1.75rem); line-height: 1.14; }
.testimonial-card h3 a::after { content: ""; position: absolute; inset: 0; }
.testimonial-card > div { color: #555; font-size: .93rem; }
.testimonial-card > a { position: absolute; z-index: 1; left: 34px; bottom: 28px; color: var(--green-dark); font-size: .82rem; }

.article-layout { display: grid; grid-template-columns: 210px minmax(0, 780px) 230px; justify-content: center; align-items: start; gap: clamp(30px, 4vw, 72px); width: min(100% - (var(--pad) * 2), var(--container)); margin: auto; padding: 72px 0 100px; }
.article-toc { position: sticky; top: 110px; padding-right: 24px; border-right: 1px solid var(--line-dark); }
.article-toc p { margin: 0 0 16px; font-weight: 650; }
.article-toc a { display: block; padding: 7px 0; color: #656565; font-size: .8rem; line-height: 1.35; }
.article-toc .toc-level-3 { padding-left: 13px; color: #666; }
.article-toc a:hover { color: var(--green-dark); }
.article-meta { flex-wrap: wrap; row-gap: 7px; }
.related-content, .related-section { padding: 70px max(var(--pad), calc((100% - var(--container)) / 2)) 90px; }
.related-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 34px; }
.related-heading h2, .related-section > div:first-child h2 { margin: 0; font-size: clamp(2.1rem, 3vw, 3.5rem); letter-spacing: -.045em; }
.service-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }

.service-directory { display: grid; grid-template-columns: repeat(3, 1fr); width: min(100% - (var(--pad) * 2), var(--container)); margin: 0 auto; padding: 0 0 94px; gap: 54px 24px; }
.service-card { position: relative; min-width: 0; border-bottom: 1px solid var(--line-dark); }
.service-card-image { display: block; aspect-ratio: 4/3; overflow: hidden; background: #ddd; }
.service-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform .45s ease, filter .3s ease; }
.service-card:hover img { transform: scale(1.025); filter: saturate(1); }
.service-card-clinic .service-card-image { position: relative; isolation: isolate; background: #e7e1d9; }
.service-card-clinic .service-card-photo { position: relative; z-index: 1; }
.service-card-clinic .service-card-wall-logo {
  position: absolute;
  z-index: 2;
  top: 12%;
  left: 21%;
  width: clamp(76px, 22%, 118px);
  height: auto;
  object-fit: contain;
  opacity: .82;
  mix-blend-mode: multiply;
  filter: saturate(.88) contrast(.94) drop-shadow(0 1px 0 rgba(255,255,255,.5));
  pointer-events: none;
  transform: none;
  transform-origin: center;
}
.service-card-clinic:hover .service-card-wall-logo { transform: scale(1.025); filter: saturate(.94) contrast(.96) drop-shadow(0 1px 0 rgba(255,255,255,.5)); }

/* Portada: tres módulos editoriales con jerarquía propia y una retícula común. */
.home-page .team-showcase { overflow: hidden; padding: clamp(74px, 7vw, 112px) var(--pad) clamp(82px, 8vw, 126px); }
.home-page .team-showcase .section-heading { align-items: end; margin-bottom: clamp(38px, 4.5vw, 64px); }
.home-page .team-showcase .section-heading h2 { max-width: 920px; }
.home-page .home-team-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 1px; overflow: hidden; background: #383838; border: 1px solid #383838; }
.home-page .home-team-grid .team-card { grid-column: span 3; display: flex; min-height: 390px; flex-direction: column; padding: 0; overflow: hidden; background: #101010; border: 0; }
.home-page .home-team-grid .team-card:nth-child(-n+2) { grid-column: span 6; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(180px, .92fr); grid-template-rows: auto 1fr; min-height: 390px; }
.home-page .home-team-grid .team-card:nth-child(2) { grid-template-columns: minmax(180px, .92fr) minmax(0, 1.08fr); }
.home-page .home-team-grid .team-card:nth-child(-n+2) .team-card-image { grid-row: 1 / 3; min-height: 390px; aspect-ratio: auto; }
.home-page .home-team-grid .team-card:nth-child(2) .team-card-image { grid-column: 2; }
.home-page .home-team-grid .team-card-image { aspect-ratio: 4 / 5; }
.home-page .home-team-grid .team-card p { align-self: end; margin: 0; padding: 28px 28px 10px; color: #9f9f9f; font-size: .7rem; line-height: 1.4; }
.home-page .home-team-grid .team-card h3 { margin: 0; padding: 0 42px 32px 28px; font-size: clamp(1.1rem, 1.45vw, 1.5rem); }
.home-page .home-team-grid .team-card:nth-child(-n+2) h3 { font-size: clamp(1.55rem, 2.2vw, 2.35rem); }
.home-page .home-team-grid .team-card > span { right: 24px; bottom: 28px; }
.home-page .home-team-grid .team-card:nth-child(2) > span { color: var(--pink); }
.home-page .team-showcase-action { display: flex; justify-content: flex-start; margin-top: 34px; }
.home-page .team-showcase-action .team-all { width: auto; margin: 0; }

.home-page .blog-preview { width: min(100% - (var(--pad) * 2), var(--container)); margin: auto; padding: clamp(78px, 8vw, 122px) 0 clamp(88px, 9vw, 136px); }
.home-page .home-module-heading { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: clamp(32px, 5vw, 82px); margin-bottom: clamp(42px, 5vw, 70px); }
.home-page .home-module-heading .section-heading-light { margin: 0; }
.home-page .blog-preview .article-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-rows: 268px; gap: 22px; }
.home-page .blog-preview .article-card { min-width: 0; overflow: hidden; padding: 0; background: #e6e2da; border: 0; }
.home-page .blog-preview .article-card:first-child { grid-column: span 7; grid-row: span 2; }
.home-page .blog-preview .article-card:nth-child(n+2) { grid-column: span 5; display: grid; grid-template-columns: minmax(160px, .92fr) minmax(0, 1.08fr); grid-template-rows: auto 1fr; }
.home-page .blog-preview .article-card:first-child .article-image { position: absolute; inset: 0; height: 100%; margin: 0; aspect-ratio: auto; }
.home-page .blog-preview .article-card:first-child::after { content: ""; position: absolute; inset: 34% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.9)); pointer-events: none; }
.home-page .blog-preview .article-card:first-child > p,
.home-page .blog-preview .article-card:first-child > h3,
.home-page .blog-preview .article-card:first-child > .card-excerpt { position: relative; z-index: 1; align-self: end; color: var(--white); }
.home-page .blog-preview .article-card:first-child > p { margin: auto 34px 12px; color: var(--pink); padding-top: 285px; }
.home-page .blog-preview .article-card:first-child > h3 { max-width: 690px; margin: 0 34px; padding: 0 48px 0 0; font-size: clamp(1.75rem, 2.65vw, 3rem); line-height: 1.02; }
.home-page .blog-preview .article-card:first-child > .card-excerpt { max-width: 700px; margin: 14px 34px 34px; color: #d3d3d3; font-size: .96rem; line-height: 1.55; }
.home-page .blog-preview .article-card:first-child .card-arrow { z-index: 2; right: 30px; bottom: 30px; }
.home-page .blog-preview .article-card:nth-child(n+2) .article-image { grid-row: 1 / 3; height: 100%; margin: 0; aspect-ratio: auto; }
.home-page .blog-preview .article-card:nth-child(n+2) > p { align-self: end; margin: 0; padding: 24px 26px 8px; }
.home-page .blog-preview .article-card:nth-child(n+2) > h3 { margin: 0; padding: 0 42px 28px 26px; font-size: clamp(1.1rem, 1.55vw, 1.55rem); }
.home-page .blog-preview .article-card:nth-child(n+2) .card-arrow { right: 22px; bottom: 22px; }
.home-page .blog-preview .section-actions { justify-content: flex-end; margin-top: 38px; }

.home-page .cases-preview { display: grid; grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr); align-items: start; gap: clamp(50px, 7vw, 110px); padding: clamp(78px, 8vw, 122px) max(var(--pad), calc((100% - var(--container)) / 2)) clamp(92px, 9vw, 140px); background: #dedad1; }
.home-page .cases-intro { position: sticky; top: 130px; }
.home-page .cases-intro h2 { max-width: 560px; font-size: clamp(2.1rem, 3.15vw, 3.55rem); }
.home-page .cases-list { display: grid; gap: 26px; }
.home-page .home-case-card { position: relative; display: grid; grid-template-columns: minmax(220px, .78fr) minmax(0, 1.22fr); min-height: 340px; overflow: hidden; background: #f1eee8; }
.home-page .home-case-card:nth-child(2) { grid-template-columns: minmax(0, 1.22fr) minmax(220px, .78fr); }
.home-page .home-case-card:nth-child(2) .home-case-media { grid-column: 2; }
.home-page .home-case-media { grid-row: 1; min-height: 340px; overflow: hidden; }
.home-page .home-case-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72); transition: transform .45s ease, filter .3s ease; }
.home-page .home-case-card:hover .home-case-media img { transform: scale(1.025); filter: saturate(.95); }
.home-page .home-case-copy { position: relative; grid-row: 1; display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(28px, 3.2vw, 48px); }
.home-page .home-case-card:nth-child(2) .home-case-copy { grid-column: 1; }
.home-page .home-case-copy > p { margin: 0 0 14px; color: var(--green-dark); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.home-page .home-case-copy h3 { margin: 0 0 18px; font-size: clamp(1.25rem, 1.8vw, 1.85rem); line-height: 1.12; text-wrap: balance; }
.home-page .home-case-copy h3 a::after { content: ""; position: absolute; inset: 0; }
.home-page .home-case-copy blockquote { margin: 0 0 24px; color: #505050; font-family: Georgia, serif; font-size: clamp(1rem, 1.25vw, 1.22rem); font-style: italic; line-height: 1.48; }
.home-page .home-case-link { position: relative; z-index: 1; width: fit-content; margin-top: auto; color: var(--green-dark); font-size: .84rem; }

@media (max-width: 1080px) {
  .home-page .home-team-grid .team-card:nth-child(-n+2) { grid-column: span 6; grid-template-columns: 1fr; grid-template-rows: auto auto auto; }
  .home-page .home-team-grid .team-card:nth-child(-n+2) .team-card-image,
  .home-page .home-team-grid .team-card:nth-child(2) .team-card-image { grid-column: 1; grid-row: 1; min-height: 330px; aspect-ratio: 4 / 3; }
  .home-page .home-team-grid .team-card { grid-column: span 6; }
  .home-page .blog-preview .article-grid { grid-auto-rows: 250px; }
  .home-page .cases-preview { grid-template-columns: 1fr; }
  .home-page .cases-intro { position: static; }
}

@media (max-width: 760px) {
  .home-page .team-showcase .section-heading,
  .home-page .home-module-heading,
  .home-page .home-module-heading .section-heading-light { display: grid; grid-template-columns: 1fr; align-items: start; gap: 18px; }
  .home-page .home-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; }
  .home-page .home-team-grid .team-card,
  .home-page .home-team-grid .team-card:nth-child(-n+2) { grid-column: span 1; display: flex; min-height: 0; }
  .home-page .home-team-grid .team-card:nth-child(-n+2) .team-card-image,
  .home-page .home-team-grid .team-card:nth-child(2) .team-card-image,
  .home-page .home-team-grid .team-card-image { min-height: 0; aspect-ratio: 4 / 5; }
  .home-page .home-team-grid .team-card p { padding: 18px 16px 7px; font-size: .61rem; }
  .home-page .home-team-grid .team-card h3,
  .home-page .home-team-grid .team-card:nth-child(-n+2) h3 { padding: 0 30px 22px 16px; font-size: 1rem; }
  .home-page .home-team-grid .team-card > span { right: 14px; bottom: 20px; }
  .home-page .home-module-heading { margin-bottom: 34px; }
  .home-page .blog-preview .article-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: auto; gap: 18px; }
  .home-page .blog-preview .article-card:first-child,
  .home-page .blog-preview .article-card:nth-child(n+2) { grid-column: 1; grid-row: auto; display: block; min-height: 0; }
  .home-page .blog-preview .article-card:first-child .article-image,
  .home-page .blog-preview .article-card:nth-child(n+2) .article-image { position: relative; height: auto; aspect-ratio: 16 / 10; }
  .home-page .blog-preview .article-card:first-child::after { display: none; }
  .home-page .blog-preview .article-card:first-child > p,
  .home-page .blog-preview .article-card:nth-child(n+2) > p { margin: 0; padding: 22px 22px 8px; color: var(--pink-dark); }
  .home-page .blog-preview .article-card:first-child > h3,
  .home-page .blog-preview .article-card:nth-child(n+2) > h3 { margin: 0; padding: 0 42px 24px 22px; color: var(--ink); font-size: 1.35rem; }
  .home-page .blog-preview .article-card:first-child > .card-excerpt { display: none; }
  .home-page .blog-preview .card-arrow { right: 20px; bottom: 20px; }
  .home-page .blog-preview .section-actions { justify-content: flex-start; flex-wrap: wrap; }
  .home-page .home-case-card,
  .home-page .home-case-card:nth-child(2) { display: flex; min-height: 0; flex-direction: column; }
  .home-page .home-case-card:nth-child(2) .home-case-media { order: 0; }
  .home-page .home-case-media { min-height: 0; aspect-ratio: 16 / 10; }
  .home-page .home-case-copy { padding: 26px 22px 30px; }
}
.service-card > div { position: relative; min-height: 175px; padding: 22px 44px 24px 0; }
.service-card p { margin: 0 0 8px; color: var(--green-dark); font-size: .72rem; }
.service-card h3 { margin: 0 0 10px; font-size: clamp(1.35rem, 1.8vw, 1.8rem); line-height: 1.08; }
.service-card h3 a::after { content: ""; position: absolute; inset: 0; }
.service-card > div > span { display: block; color: #555; font-size: .9rem; }
.service-card b { position: absolute; right: 2px; top: 20px; color: var(--green-dark); font-size: 1.5rem; }
.studio-directory { padding: 76px max(var(--pad), calc((100% - var(--container)) / 2)) 90px; }
.studio-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 24px; margin-bottom: 38px; }
.studio-cards .service-card { border-color: var(--line); }
.studio-cards .service-card > div > span { color: #aaa; }
.studio-cards .service-card p, .studio-cards .service-card b { color: var(--pink-dark); }
.studio-manifesto { grid-template-columns: 180px 1fr; }
.studio-manifesto figure { grid-column: 2; aspect-ratio: 16/7; margin: 22px 0 0; overflow: hidden; }
.studio-manifesto figure img { width: 100%; height: 100%; object-fit: cover; }
.studio-source { grid-template-columns: 180px 1fr; }
.studio-contact { color: var(--ink); background: #e7e2df; }
.studio-contact > div:last-child { display: flex; flex-direction: column; gap: 16px; align-items: flex-start; }
.studio-contact .button { color: #9f0b5b; }

.team-directory { grid-template-columns: 180px 1fr; }
.team-values {
  display: block;
  padding: clamp(92px, 7vw, 120px) max(var(--pad), calc((100% - var(--container)) / 2)) clamp(96px, 8vw, 136px);
  background:
    radial-gradient(circle at 18% 16%, rgba(151,202,27,.055), transparent 29%),
    radial-gradient(circle at 92% 3%, rgba(236,25,134,.035), transparent 24%),
    #080908;
}
.team-values-intro {
  width: min(100%, 920px);
  margin: 0 auto clamp(58px, 5.5vw, 82px);
  text-align: center;
}
.team-values-intro h2 {
  max-width: 900px;
  margin: 0 auto;
  color: var(--green-bright);
  font-size: clamp(2.75rem, 5vw, 5.6rem);
  line-height: .94;
  letter-spacing: -.055em;
  text-wrap: balance;
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .team-values-intro h2 {
    color: transparent;
    background: linear-gradient(90deg, var(--green-bright) 0 72%, #b7c83a 78%, var(--pink) 100%);
    -webkit-background-clip: text;
    background-clip: text;
  }
}
.team-values-intro p {
  width: min(100%, 780px);
  margin: clamp(24px, 2.4vw, 34px) auto 0;
  color: #c2c4be;
  font-size: clamp(1.04rem, .4vw + .96rem, 1.18rem);
  line-height: 1.72;
}
.team-values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.2);
}
.team-values-grid article {
  position: relative;
  min-width: 0;
  padding: clamp(34px, 3.5vw, 58px) clamp(26px, 3.5vw, 54px) 0;
  border-left: 1px solid rgba(255,255,255,.14);
}
.team-values-grid article:first-child { padding-left: 0; border-left: 0; }
.team-values-grid article:last-child { padding-right: 0; }
.team-values-grid article::before {
  position: absolute;
  left: clamp(26px, 3.5vw, 54px);
  top: -2px;
  width: clamp(46px, 4.5vw, 76px);
  height: 3px;
  content: "";
  background: linear-gradient(90deg, var(--green-bright), rgba(151,202,27,.15));
}
.team-values-grid article:first-child::before { left: 0; }
.team-values-grid article:nth-child(3)::before { background: linear-gradient(90deg, var(--green-bright), rgba(236,25,134,.62)); }
.team-values-grid span {
  display: block;
  margin-bottom: clamp(22px, 2.4vw, 34px);
  color: var(--green-bright);
  font-size: clamp(2.5rem, 3.7vw, 4rem);
  font-weight: 760;
  line-height: .86;
  letter-spacing: -.06em;
  font-variant-numeric: tabular-nums;
}
.team-values-grid h3 { margin: 0 0 16px; color: var(--paper); font-size: clamp(1.55rem, 1.9vw, 2.2rem); line-height: 1.02; letter-spacing: -.035em; }
.team-values-grid p { max-width: 37ch; margin: 0; color: #b9bbb5; font-size: clamp(1.02rem, .26vw + .98rem, 1.12rem); line-height: 1.72; }
.profile-role { color: var(--green) !important; font-size: 1rem !important; letter-spacing: .04em; text-transform: uppercase; }
.profile-body { grid-template-columns: 250px minmax(0, 800px); justify-content: center; }
.profile-facts { padding-right: 24px; border-right: 1px solid var(--line-dark); }
.profile-facts p, .profile-facts strong, .profile-facts a { display: block; }
.profile-facts p { margin: 0 0 7px; color: #666; font-size: .75rem; text-transform: uppercase; }
.profile-facts strong { margin-bottom: 32px; }
.profile-facts a { color: #577b00; font-size: .85rem; }
.related-section > div:first-child { margin-bottom: 34px; }
.related-team { grid-template-columns: repeat(3, 1fr); max-width: 900px; }

.search-hero { min-height: 500px; padding: 70px max(var(--pad), calc((100% - 1100px) / 2)); }
.search-hero > div { max-width: 960px; }
.search-hero > div > p:not(.eyebrow) { max-width: 680px; color: #bbb; font-size: 1.18rem; }
.search-form-large { width: 100%; max-width: 820px; margin-top: 36px; }
.search-form-large input { height: 68px; font-size: 1.1rem; }
.search-results-shell { width: min(100% - (var(--pad) * 2), 1100px); min-height: 540px; margin: auto; padding: 58px 0 100px; }
.search-summary { padding-bottom: 28px; border-bottom: 1px solid var(--line-dark); }
.search-summary > p { margin: 0 0 18px; font-size: 1.25rem; }
.search-suggestions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; color: #666; font-size: .85rem; }
.search-suggestions a { padding: 7px 12px; border: 1px solid var(--line-dark); border-radius: 999px; }
.search-result { display: grid; grid-template-columns: 150px 1fr auto; gap: 28px; align-items: center; padding: 26px 0; border-bottom: 1px solid var(--line-dark); }
.search-result-image { aspect-ratio: 4/3; overflow: hidden; background: #ddd; }
.search-result-image img { width: 100%; height: 100%; object-fit: cover; }
.search-result p { margin: 0 0 6px; color: #666; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.search-result h2 { margin: 0 0 7px; font-size: 1.45rem; line-height: 1.1; }
.search-result div > span { color: #555; font-size: .9rem; }
.search-result > span { color: var(--green-dark); font-size: 1.5rem; }
.search-empty { padding: 60px 0; }
.search-empty h2 { font-size: 2rem; }

.appointment-section { grid-template-columns: .7fr 1fr 1fr; }
.appointment-copy h2 { font-size: clamp(2.15rem, 3.2vw, 3.65rem); }
.space-card { flex-wrap: wrap; }
.space-card img { height: 52px; }
.space-card > span { flex: 1 0 100%; color: #aaa; font-size: .82rem; }
.space-card > b { color: var(--green); font-size: 1.8rem; }
.studio-card > b { color: var(--pink); }
.footer-legal { grid-column: 2 / -1; display: flex !important; gap: 24px; }
.footer-legal a { display: inline-block !important; }

.legacy-content [class*="elementor-"] { max-width: 100%; }
.legacy-content .elementor-section, .legacy-content .elementor-container, .legacy-content .elementor-column, .legacy-content .elementor-widget-wrap { display: block; width: 100%; min-height: 0; margin: 0; padding: 0; background: transparent; }
.legacy-content .elementor-button { display: inline-flex; width: auto; min-height: 44px; align-items: center; margin: 12px 0 24px; padding: 10px 18px; color: #476600; border: 1px solid #668f00; border-radius: 999px; text-decoration: none; }
.legacy-content video { max-width: 100%; height: auto; }
.legacy-content img { image-rendering: auto; }
.legacy-anchor { display: block; position: relative; top: -100px; visibility: hidden; }
.legal-shell { grid-template-columns: 220px minmax(0, 850px); }
.legal-shell .page-toc { grid-column: 1; }
.not-found h1 { font-size: clamp(2.8rem, 5.5vw, 5.6rem); }

@media (max-width: 1180px) {
  .main-nav > ul { gap: 9px; }
  .main-nav li > a, .nav-parent > a { font-size: .76rem; }
  .brand-clinic img { height: 44px; }
  .brand-studio img { width: 104px; height: 38px; }
  .article-layout, .content-shell { grid-template-columns: 180px minmax(0, 1fr); }
  .article-layout .author-card, .content-shell .call-card { position: static; grid-column: 2; max-width: 520px; }
  .home-team-grid { grid-template-columns: repeat(3, 1fr); gap: 36px 18px; }
}

@media (max-width: 1050px) {
  .site-header { height: 76px; }
  .main-nav { inset: 76px 0 auto; max-height: calc(100svh - 76px); overflow-y: auto; }
  .main-nav > ul { display: block; }
  .main-nav li { border-bottom: 1px solid var(--line); }
  .main-nav li > a, .nav-parent > a { width: 100%; min-height: 54px; font-size: .95rem; }
  .nav-parent > a { flex: 1; }
  .submenu-toggle { width: 54px; height: 54px; }
  .submenu { position: static; display: none; width: 100%; padding: 0 0 14px 18px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .has-submenu.is-open .submenu { display: grid; }
  .has-submenu:hover .submenu:not([data-force-open]), .has-submenu:focus-within .submenu:not([data-force-open]) { display: none; }
  .has-submenu.is-open:hover .submenu, .has-submenu.is-open:focus-within .submenu { display: grid; }
  .main-nav .nav-cta { width: auto; margin: 16px 0; }
  .hero, .hero-slides, .hero-slide { height: min(760px, calc(100svh - 76px)); min-height: 660px; }
  .hero h1, .hero h2 { font-size: clamp(2.85rem, 6.2vw, 4.7rem); }
  .archive-hero, .article-hero, .profile-hero { grid-template-columns: .95fr 1.05fr; }
  .archive-hero h1, .article-hero h1, .profile-hero h1, .category-hero h1, .search-hero h1 { font-size: clamp(2.35rem, 4.7vw, 4.15rem); }
  .service-directory, .studio-cards { grid-template-columns: repeat(2, 1fr); }
  .featured-layout { grid-template-columns: 1fr 1fr; }
  .featured-layout .article-card:first-child { grid-column: 1 / -1; grid-row: auto; display: grid; grid-template-columns: 1.15fr .85fr; gap: 24px; }
  .featured-layout .article-card:first-child .article-image { grid-row: span 4; margin: 0; }
  .archive-grid, .testimonial-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .hero, .hero-slides, .hero-slide { height: calc(100svh - 76px); min-height: 620px; }
  .hero-copy { min-height: calc(100svh - 76px); padding: 34px var(--pad) 166px; }
  .hero h1, .hero h2 { max-width: 500px; font-size: clamp(2.3rem, 9.6vw, 3.45rem); line-height: 1; }
  .hero-copy > p:not(.eyebrow) { font-size: 1.02rem; }
  .hero-controls { bottom: 66px; grid-template-columns: 44px minmax(0, 1fr) 44px 44px; min-height: 88px; padding: 11px 8px; }
  .hero-tabs button { justify-content: center; padding: 12px 3px; }
  .hero-tabs span { display: none; }
  .hero-controls > button { width: 44px; min-height: 44px; }
  .hero-pause { display: block; }
  .section-heading, .section-heading-light, .archive-feed-heading { display: block; }
  .section-heading > p, .section-heading-light > p, .archive-feed-heading > p { margin-top: 18px; }
  .spaces-intro, .method-section, .home-guide, .team-directory, .testimonial-context, .featured-editorial, .category-lead, .studio-manifesto, .studio-source { grid-template-columns: 1fr; }
  .spaces-copy, .space-editorial-grid, .method-copy, .method-steps, .home-guide-heading, .home-guide-columns, .guide-actions, .team-directory-intro, .team-grid, .featured-editorial > h2, .featured-layout, .category-lead .article-card, .studio-manifesto > div, .studio-manifesto figure, .studio-source .legacy-content { grid-column: 1; }
  .space-editorial-grid, .home-guide-columns { grid-template-columns: 1fr; }
  .space-editorial-card { min-height: 230px; }
  .home-guide-columns { gap: 18px; }
  .guide-actions, .section-actions { align-items: flex-start; flex-direction: column; }
  .home-team-grid, .team-grid { grid-template-columns: repeat(2, 1fr); }
  .team-card h3 { font-size: 1.05rem; }
  .cases-preview { grid-template-columns: 1fr; padding-top: 56px; padding-bottom: 56px; }
  .home-faq { padding-top: 56px; padding-bottom: 56px; }
  .home-faq-intro, .faq-list { grid-template-columns: 1fr; }
  .home-faq-intro { gap: 20px; margin-bottom: 36px; }
  .faq-list { gap: 12px; }
  .faq-column { gap: 12px; }
  .faq-list summary { min-height: 82px; padding: 16px; grid-template-columns: 32px minmax(0, 1fr) 32px; gap: 10px; }
  .faq-answer p { padding: 0 52px 22px 58px; }
  .archive-hero, .article-hero, .profile-hero { display: flex; flex-direction: column; height: auto; min-height: auto; }
  .treatments-wordmark { left: -4vw; bottom: 45%; font-size: clamp(6rem, 24vw, 8.5rem); }
  .inner-hero { height: auto; }
  .archive-hero-copy, .article-hero-copy, .profile-hero-copy { min-height: 460px; padding: 38px var(--pad) 54px; }
  .archive-hero h1, .article-hero h1, .profile-hero h1, .category-hero h1, .search-hero h1, .inner-hero h1 { font-size: clamp(2.3rem, 9.6vw, 3.45rem); }
  .archive-hero > figure, .article-hero-media, .profile-hero > figure { height: 340px; min-height: 340px; }
  .inner-hero-media { height: 360px; min-height: 360px; }
  .topic-nav { top: 76px; }
  .featured-layout, .featured-layout .article-card:first-child, .category-lead .article-card { display: block; }
  .featured-layout .article-card { margin-bottom: 34px; }
  .archive-grid, .testimonial-grid, .service-directory, .studio-cards, .service-related-grid { grid-template-columns: 1fr; }
  .testimonial-card { min-height: 300px; }
  .knowledge-callout, .techniques-callout, .studio-contact { grid-template-columns: 1fr; padding-top: 54px; padding-bottom: 54px; }
  .contact-directory { grid-template-columns: 1fr; }
  .contact-intro, .contact-options { grid-column: 1; }
  .contact-options { grid-template-columns: 1fr; }
  .contact-options article { min-height: 260px; }
  .contact-hub { grid-template-columns: 1fr; gap: 42px; padding-top: 56px; padding-bottom: 56px; }
  .contact-form .form-row { grid-template-columns: 1fr; }
  .contact-map { grid-template-columns: 1fr; gap: 30px; padding-top: 56px; padding-bottom: 56px; }
  .contact-map-frame { min-height: 380px; }
  .contact-guidance { grid-template-columns: 1fr; padding-top: 56px; padding-bottom: 56px; }
  .category-hero { grid-template-columns: 1fr; gap: 30px; min-height: 460px; padding-top: 48px; padding-bottom: 48px; }
  .category-stat { max-width: 180px; }
  .article-layout { display: block; width: calc(100% - 40px); padding: 48px 0 70px; }
  .article-toc { position: static; margin-bottom: 38px; padding: 20px; border: 1px solid var(--line-dark); }
  .article-toc a:nth-of-type(n+8) { display: none; }
  .related-heading { display: block; }
  .service-directory { padding-bottom: 60px; }
  .team-values { padding-top: 84px; padding-bottom: 94px; }
  .team-values-intro { margin-bottom: 48px; text-align: left; }
  .team-values-intro h2 { margin-left: 0; font-size: clamp(2.55rem, 11vw, 3.6rem); }
  .team-values-intro p { margin-top: 24px; font-size: 1.03rem; line-height: 1.7; }
  .team-values-grid { grid-template-columns: 1fr; border-top: 0; }
  .team-values-grid article,
  .team-values-grid article:first-child,
  .team-values-grid article:last-child { padding: 34px 0 38px; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .team-values-grid article::before,
  .team-values-grid article:first-child::before { left: 0; }
  .team-values-grid span { margin-bottom: 22px; font-size: clamp(2.75rem, 13vw, 3.65rem); }
  .team-values-grid h3 { margin-bottom: 14px; font-size: clamp(1.65rem, 7vw, 2rem); }
  .team-values-grid p { max-width: 45ch; font-size: 1.03rem; line-height: 1.72; }
  .profile-body { grid-template-columns: 1fr; }
  .profile-facts { padding: 0 0 24px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .related-team { grid-template-columns: 1fr 1fr; }
  .search-hero { min-height: 480px; padding-top: 48px; }
  .search-result { grid-template-columns: 90px 1fr; gap: 18px; }
  .search-result > span { display: none; }
  .appointment-section { grid-template-columns: 1fr; }
  .footer-legal { grid-column: 1 / -1; flex-wrap: wrap; }
}

/* Mantener las dos firmas a la misma escala tras todas las reglas adaptables. */
.brand-clinic img,
.brand-studio img { width: 100%; height: 100%; }
.site-header { background: #000; }
.space-logo img,
.studio-card .space-logo img { width: 100%; height: 100%; }
.cookie-banner[hidden],
.cookie-preferences[hidden] { display: none; }

@media (max-width: 1180px) {
  .brand-clinic img,
  .brand-studio img { width: 100%; height: 100%; }
}

@media (max-width: 1050px) {
  .hero-slide { grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); }
  .editorial-section { grid-template-columns: 240px minmax(0, 1fr); gap: 42px; }
}

@media (max-width: 760px) {
  .editorial-section { grid-template-columns: 1fr; gap: 34px; }
  .brand-clinic img,
  .brand-studio img { width: 100%; height: 100%; }
  .space-logo img,
  .studio-card .space-logo img { width: 100%; height: 100%; }
  .floating-tools { right: 20px; }
}

/* Studio: menú directo y directorio compacto de disciplinas. */
.submenu-studio {
  left: -210px;
  width: min(760px, calc(100vw - 40px));
  padding: 0;
}
.submenu-studio-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.submenu-studio-grid section { min-width: 0; padding: 22px 18px 24px; border-right: 1px solid var(--line); }
.submenu-studio-grid section:last-child { border-right: 0; }
.submenu-studio-grid p {
  margin: 0 8px 12px;
  color: var(--pink);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.submenu-studio-grid a { min-height: 40px !important; padding: 8px !important; font-size: .76rem !important; }
.submenu-studio-grid a[aria-current="page"] { color: var(--white); background: rgba(236,25,134,.13); }

.disciplines-hero {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  height: 430px;
  overflow: hidden;
  border-bottom: 1px solid var(--line);
}
.disciplines-hero-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 34px var(--pad) 44px max(var(--pad), calc((100vw - var(--container)) / 2));
}
.disciplines-hero .breadcrumbs { margin-bottom: 34px; }
.disciplines-hero h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(2.75rem, 4.15vw, 4.75rem);
  line-height: .96;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.disciplines-hero-copy > p:not(.eyebrow) { max-width: 650px; margin: 18px 0 24px; color: #c8c8c8; font-size: 1rem; }
.disciplines-hero-actions { display: flex; align-items: center; gap: 24px; }
.disciplines-hero figure { position: relative; height: 430px; margin: 0; overflow: hidden; }
.disciplines-hero figure::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(0,0,0,.18), transparent 32%); pointer-events: none; }
.disciplines-hero figure img { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.78) contrast(1.04); }
.disciplines-hero figcaption { position: absolute; z-index: 1; right: 24px; bottom: 18px; color: rgba(255,255,255,.78); font-size: .7rem; letter-spacing: .09em; text-transform: uppercase; }

.discipline-index { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: auto; padding: 64px 0 78px; }
.discipline-index-heading { display: grid; grid-template-columns: 1.2fr .8fr; gap: 64px; align-items: end; margin-bottom: 42px; }
.discipline-index-heading h2 { max-width: 780px; margin: 4px 0 0; font-size: clamp(2.35rem, 3.5vw, 4rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.discipline-index-heading > p { max-width: 620px; margin: 0; color: #5d5d5d; }
.discipline-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.discipline-group { min-width: 0; padding: 24px 24px 8px; background: #e7e4dd; }
.discipline-group > header { display: grid; grid-template-columns: 42px 1fr; gap: 12px; min-height: 128px; padding-bottom: 20px; }
.discipline-group > header > span { color: var(--pink-dark); font-variant-numeric: tabular-nums; font-size: .76rem; }
.discipline-group h2 { margin: 0 0 8px; font-size: 1.45rem; line-height: 1.05; letter-spacing: -.03em; text-wrap: balance; }
.discipline-group header p { margin: 0; color: #5f5f5f; font-size: .83rem; line-height: 1.45; }
.discipline-group nav { border-top: 1px solid var(--line-dark); }
.discipline-group nav a { position: relative; display: flex; justify-content: space-between; gap: 18px; align-items: center; min-height: 84px; padding: 13px 4px; border-bottom: 1px solid var(--line-dark); transition: padding .22s ease, color .22s ease, background .22s ease; }
.discipline-group nav a:hover { padding-left: 10px; color: var(--pink-dark); background: rgba(255,255,255,.28); }
.discipline-group nav a:active { transform: translateY(1px); }
.discipline-group nav span,
.discipline-group nav strong,
.discipline-group nav small { display: block; }
.discipline-group nav strong { font-size: 1rem; line-height: 1.18; }
.discipline-group nav small { margin-top: 4px; color: #666; font-size: .74rem; line-height: 1.35; }
.discipline-group nav b { flex: 0 0 auto; color: var(--pink-dark); font-size: 1.2rem; }

.studio-direct-actions { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 max(var(--pad), calc((100% - var(--container)) / 2)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.studio-direct-actions > a { position: relative; min-height: 150px; display: flex; flex-direction: column; justify-content: center; padding: 28px 64px 28px 28px; border-right: 1px solid var(--line); transition: background .25s ease; }
.studio-direct-actions > a:last-child { border-right: 0; }
.studio-direct-actions > a:hover { background: rgba(236,25,134,.09); }
.studio-direct-actions span { margin-bottom: 5px; color: #999; font-size: .75rem; }
.studio-direct-actions strong { color: var(--white); font-size: clamp(1.15rem, 1.55vw, 1.55rem); }
.studio-direct-actions b { position: absolute; right: 28px; top: 50%; color: var(--pink); font-size: 1.6rem; transform: translateY(-50%); }

@media (max-width: 1050px) {
  .submenu-studio { width: 100%; padding: 0 0 16px 18px; }
  .submenu-studio-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .submenu-studio-grid section { padding: 16px 12px; border-right: 0; border-bottom: 1px solid var(--line); }
  .disciplines-hero { grid-template-columns: .95fr 1.05fr; }
  .discipline-index-heading { grid-template-columns: 1fr; gap: 18px; }
  .discipline-groups { gap: 16px; }
  .discipline-group { padding: 20px 18px 6px; }
}

@media (max-width: 760px) {
  .submenu-studio-grid { grid-template-columns: 1fr; }
  .disciplines-hero { display: flex; flex-direction: column; height: auto; }
  .disciplines-hero-copy { min-height: 390px; padding: 30px var(--pad) 42px; }
  .disciplines-hero .breadcrumbs { margin-bottom: 30px; }
  .disciplines-hero h1 { font-size: clamp(2.55rem, 12vw, 3.45rem); }
  .disciplines-hero-actions { align-items: flex-start; flex-direction: column; gap: 14px; }
  .disciplines-hero figure { height: 250px; }
  .discipline-index { width: calc(100% - 40px); padding: 48px 0 56px; }
  .discipline-index-heading { margin-bottom: 30px; }
  .discipline-groups { grid-template-columns: 1fr; }
  .discipline-group > header { min-height: 0; }
  .discipline-group nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
  .discipline-group nav a { min-height: 72px; }
  .discipline-group nav small { display: none; }
  .studio-direct-actions { grid-template-columns: 1fr; }
  .studio-direct-actions > a { min-height: 112px; border-right: 0; border-bottom: 1px solid var(--line); }
}

/* Directorio clínico completo: disciplinas y técnicas conservadas de WordPress. */
.main-nav > ul > li:first-child .submenu-studio-grid p { color: var(--green-bright); }
.main-nav > ul > li:first-child .submenu-studio-grid a[aria-current="page"] { color: var(--white); background: rgba(143,189,24,.14); }
.technique-directory { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: auto; padding: clamp(66px, 8vw, 108px) 0; }
.technique-directory-heading { display: grid; grid-template-columns: 1.12fr .88fr; align-items: end; gap: clamp(42px, 8vw, 120px); margin-bottom: 48px; }
.technique-directory-heading h2 { max-width: 820px; margin: 5px 0 0; font-size: clamp(2.35rem, 3.7vw, 4.3rem); line-height: .98; letter-spacing: -.05em; }
.technique-directory-heading > p { max-width: 610px; margin: 0; color: #555; }
.technique-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.technique-group { min-width: 0; padding: clamp(24px, 3vw, 38px); background: #e8e5de; }
.technique-group > header { display: grid; grid-template-columns: 44px 1fr; gap: 16px; min-height: 120px; padding-bottom: 24px; }
.technique-group > header > span { color: var(--green-dark); font-size: .76rem; font-weight: 700; }
.technique-group h2 { margin: 0 0 8px; font-size: clamp(1.45rem, 2vw, 2rem); line-height: 1.05; }
.technique-group header p { max-width: 560px; margin: 0; color: #606060; font-size: .86rem; }
.technique-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-dark); }
.technique-links a { position: relative; min-height: 126px; padding: 20px 48px 18px 0; border-bottom: 1px solid var(--line-dark); transition: color .22s ease, padding .22s ease; }
.technique-links a:nth-child(odd) { margin-right: 18px; }
.technique-links a:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--line-dark); }
.technique-links a:hover { color: var(--green-dark); padding-right: 38px; }
.technique-links strong, .technique-links span { display: block; }
.technique-links strong { font-size: 1.02rem; line-height: 1.2; }
.technique-links span { margin-top: 7px; color: #646464; font-size: .76rem; line-height: 1.4; }
.technique-links b { position: absolute; right: 8px; top: 18px; color: var(--green-dark); font-size: 1.2rem; }
.technique-orientation, .nutrition-note { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 8vw, 120px); padding: clamp(62px, 7vw, 92px) max(var(--pad), calc((100% - var(--container)) / 2)); }
.technique-orientation h2, .nutrition-note h2 { max-width: 720px; margin: 0; font-size: clamp(2.2rem, 3.5vw, 4rem); line-height: 1; letter-spacing: -.05em; }
.technique-orientation > div:last-child { align-self: end; }
.technique-orientation > div:last-child p, .nutrition-note > p { max-width: 650px; color: #c5c5c5; }
.technique-source { border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); background: #e9e6df; }
.technique-source summary { display: grid; grid-template-columns: 150px minmax(0, 1fr) 48px; align-items: center; width: min(calc(100% - (var(--pad) * 2)), var(--container)); min-height: 130px; margin: 0 auto; cursor: pointer; list-style: none; }
.technique-source summary::-webkit-details-marker { display: none; }
.technique-source summary span { color: var(--green-dark); font-size: .7rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.technique-source summary strong { font-size: clamp(1.35rem, 2.4vw, 2.2rem); line-height: 1.08; letter-spacing: -.035em; }
.technique-source summary b { display: grid; width: 44px; height: 44px; place-items: center; justify-self: end; border: 1px solid var(--green-dark); border-radius: 50%; color: var(--green-dark); font-size: 1.45rem; font-weight: 400; transition: transform .25s ease, background-color .25s ease, color .25s ease; }
.technique-source[open] summary b { transform: rotate(45deg); background: var(--green-dark); color: #fff; }
.technique-source-panel { padding: 16px var(--pad) clamp(70px, 8vw, 120px); border-top: 1px solid var(--line-dark); background: var(--paper); }
.technique-source-intro { max-width: 720px; margin: 50px auto; color: #555; font-size: 1.05rem; line-height: 1.65; }
.technique-source .legacy-content { width: min(100%, 940px); margin: 0 auto; }
.technique-source .legacy-content .elementor-widget-image img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; }
.technique-source .legacy-content .elementor-button { display: inline-flex; width: auto; margin: 5px 5px 12px 0; padding: 9px 16px; border: 1px solid var(--green-dark); border-radius: 999px; }

/* Las páginas migradas se leen como piezas editoriales, no como volcados de Elementor. */
.studio-content-page .content-shell { grid-template-columns: minmax(0, 900px) 270px; width: min(calc(100% - (var(--pad) * 2)), 1220px); gap: clamp(36px, 6vw, 76px); }
.studio-content-page .page-toc { display: none; }
.studio-content-page .legacy-content { max-width: none; }
.studio-content-page .legacy-content .elementor-widget-text-editor > div > p:first-child { margin-bottom: 18px; color: var(--pink-dark); font-size: .72rem; font-weight: 750; letter-spacing: .11em; text-transform: uppercase; }
.studio-content-page .legacy-content .elementor-widget-text-editor > div > p:nth-child(2) { max-width: 900px; font-size: clamp(1.22rem, 1.7vw, 1.48rem); line-height: 1.55; letter-spacing: -.018em; }
.studio-content-page .legacy-content p:has(+ ul), .content-page:not(.legal-page) .legacy-content p:has(+ ul) { margin: 46px 0 18px; color: var(--ink); font-size: clamp(1.45rem, 2.1vw, 2rem); font-weight: 680; line-height: 1.12; letter-spacing: -.035em; }
.studio-content-page .legacy-content ul, .content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 34px; padding: 0; list-style: none; }
.studio-content-page .legacy-content li, .content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor li { position: relative; min-height: 88px; margin: 0; padding: 18px 20px 18px 42px; background: #ebe8e1; border-top: 2px solid var(--pink-dark); }
.content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor li { border-color: var(--green-dark); }
.studio-content-page .legacy-content li::before, .content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor li::before { position: absolute; left: 18px; top: 20px; content: "↗"; color: var(--pink-dark); font-weight: 700; }
.content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor li::before { color: var(--green-dark); }
.studio-content-page .legacy-content li p, .content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor li p { margin: 0; }
.studio-content-page .legacy-content .elementor-section:has(.elementor-widget-image) .elementor-container,
.content-page:not(.legal-page) .legacy-content .elementor-section:has(.elementor-widget-image) .elementor-container { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 18px; margin: 46px 0 12px; }
.studio-content-page .legacy-content .elementor-column:has(.elementor-widget-image),
.content-page:not(.legal-page) .legacy-content .elementor-column:has(.elementor-widget-image) { width: 100%; }
.studio-content-page .legacy-content .elementor-widget-image:has(img[src*="Logo-"]),
.studio-content-page .legacy-content .elementor-widget-image:has(img[alt*="Logo"]),
.content-page:not(.legal-page) .legacy-content .elementor-widget-image:has(img[src*="Logo-"]),
.content-page:not(.legal-page) .legacy-content .elementor-widget-image:has(img[alt*="Logo"]) { display: none; }
.studio-content-page .legacy-content .elementor-column:has(.elementor-widget-image img[src*="Logo-"]):not(:has(img:not([src*="Logo-"]))),
.studio-content-page .legacy-content .elementor-column:has(.elementor-widget-image img[alt*="Logo"]):not(:has(img:not([alt*="Logo"]))),
.content-page:not(.legal-page) .legacy-content .elementor-column:has(.elementor-widget-image img[src*="Logo-"]):not(:has(img:not([src*="Logo-"]))),
.content-page:not(.legal-page) .legacy-content .elementor-column:has(.elementor-widget-image img[alt*="Logo"]):not(:has(img:not([alt*="Logo"]))) { display: none; }
.studio-content-page .legacy-content .elementor-column:has(.elementor-widget-image):not(:has(img)),
.content-page:not(.legal-page) .legacy-content .elementor-column:has(.elementor-widget-image):not(:has(img)) { display: none; }
.studio-content-page .legacy-content .elementor-section:has(img:not(.is-low-resolution)) .elementor-widget-image:has(img.is-low-resolution),
.content-page:not(.legal-page) .legacy-content .elementor-section:has(img:not(.is-low-resolution)) .elementor-widget-image:has(img.is-low-resolution) { display: none; }
.studio-content-page .legacy-content .elementor-section:has(img:not(.is-low-resolution)) .elementor-column:has(img.is-low-resolution):not(:has(img:not(.is-low-resolution))),
.content-page:not(.legal-page) .legacy-content .elementor-section:has(img:not(.is-low-resolution)) .elementor-column:has(img.is-low-resolution):not(:has(img:not(.is-low-resolution))) { display: none; }
.studio-content-page .legacy-content .elementor-widget-image img,
.content-page:not(.legal-page) .legacy-content .elementor-widget-image img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; margin: 0; object-fit: cover; }

/* Test de alimentación. */
.nutrition-hero { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: clamp(50px, 9vw, 150px); min-height: 540px; overflow: hidden; padding: clamp(46px, 7vw, 92px) max(var(--pad), calc((100% - var(--container)) / 2)); }
.nutrition-hero > div { position: relative; z-index: 1; align-self: center; }
.nutrition-hero .breadcrumbs { margin-bottom: 52px; }
.nutrition-hero h1 { max-width: 920px; margin: 0; font-size: clamp(3rem, 5.4vw, 6.2rem); line-height: .94; letter-spacing: -.055em; }
.nutrition-hero > div > p:not(.eyebrow) { max-width: 690px; margin: 24px 0 30px; color: #c9c9c9; font-size: 1.12rem; }
.nutrition-hero > aside { position: relative; z-index: 1; align-self: end; padding: 30px 0 10px 30px; border-left: 1px solid var(--line); }
.nutrition-wordmark { z-index: 0; left: -2vw; bottom: -.08em; color: rgba(255,255,255,.028); font-size: clamp(8rem, 13.4vw, 17rem); }
.nutrition-hero > aside span, .nutrition-hero > aside strong { display: block; }
.nutrition-hero > aside span { color: var(--green-bright); font-size: clamp(4.5rem, 8vw, 8.5rem); line-height: .8; font-weight: 720; letter-spacing: -.07em; }
.nutrition-hero > aside strong { margin: 12px 0 18px; font-size: 1.2rem; }
.nutrition-hero > aside p { max-width: 330px; color: #999; font-size: .88rem; }
.nutrition-test-layout { display: grid; grid-template-columns: minmax(260px, .62fr) minmax(0, 1.38fr); gap: clamp(42px, 8vw, 120px); align-items: start; width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: auto; padding: clamp(68px, 8vw, 108px) 0; }
.nutrition-test-intro { position: sticky; top: 108px; }
.nutrition-test-intro h2 { margin: 0 0 20px; font-size: clamp(2.2rem, 3.35vw, 3.9rem); line-height: 1; letter-spacing: -.05em; }
.nutrition-test-intro > p:not(.label) { color: #555; }
.nutrition-progress { height: 5px; margin: 32px 0 12px; overflow: hidden; background: #d8d5ce; }
.nutrition-progress span { display: block; height: 100%; background: var(--green-dark); transition: width .35s ease; }
.nutrition-test-intro > strong { color: var(--green-dark); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; }
.nutrition-test-intro ul { margin: 28px 0 0; padding: 24px 0 0; border-top: 1px solid var(--line-dark); list-style: none; }
.nutrition-test-intro li { margin: 8px 0; color: #666; font-size: .82rem; }
.nutrition-form { min-width: 0; padding: clamp(28px, 4vw, 54px); background: #e8e5de; }
.nutrition-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.nutrition-step[hidden] { display: none; }
.nutrition-step legend { display: block; width: 100%; margin-bottom: 22px; font-size: clamp(2rem, 3vw, 3.3rem); font-weight: 680; line-height: 1; letter-spacing: -.045em; }
.nutrition-step legend span { display: block; margin-bottom: 9px; color: var(--green-dark); font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
.nutrition-step-intro { max-width: 720px; margin: 0 0 28px; color: #5b5b5b; }
.nutrition-data-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.nutrition-data-grid label { display: grid; gap: 8px; color: #565656; font-size: .74rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.nutrition-data-grid input { width: 100%; min-height: 54px; padding: 12px 14px; color: var(--ink); background: var(--paper); border: 1px solid #bbb8b1; border-radius: 0; font: inherit; font-size: 1rem; text-transform: none; }
.nutrition-data-grid input:focus { outline: 3px solid rgba(143,189,24,.24); border-color: var(--green-dark); }
.nutrition-questions { display: grid; gap: 10px; }
.nutrition-question { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) 62px; align-items: center; gap: 14px; min-height: 82px; padding: 13px 14px; cursor: pointer; background: rgba(255,255,255,.5); border: 1px solid transparent; transition: background-color .2s ease, border-color .2s ease, transform .2s ease; }
.nutrition-question:hover { background: var(--paper); border-color: #bab7b0; transform: translateX(3px); }
.nutrition-question-number { color: var(--green-dark); font-size: .72rem; font-weight: 750; letter-spacing: .08em; }
.nutrition-question-text { font-size: .93rem; line-height: 1.38; }
.nutrition-question input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.nutrition-check { display: grid; grid-template-columns: 26px 1fr; align-items: center; justify-self: end; gap: 5px; min-width: 58px; padding: 5px; color: #777; border: 1px solid #aaa; border-radius: 999px; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.nutrition-check b { display: grid; place-items: center; width: 24px; height: 24px; color: transparent; background: #d2cfc8; border-radius: 50%; }
.nutrition-check em { font-size: .74rem; font-style: normal; font-weight: 700; }
.nutrition-question input:focus-visible + .nutrition-check { outline: 3px solid rgba(143,189,24,.3); outline-offset: 2px; }
.nutrition-question input:checked + .nutrition-check { color: var(--ink); background: var(--green-bright); border-color: var(--green-bright); }
.nutrition-question input:checked + .nutrition-check b { color: var(--ink); background: var(--paper); }
.nutrition-submit-consent { margin-top: 30px; padding: 22px; color: var(--paper); background: var(--ink); }
.nutrition-submit-consent .form-consent { margin-bottom: 12px; }
.nutrition-submit-consent > p { margin: 0; color: #888; font-size: .77rem; }
.nutrition-form-nav { display: flex; justify-content: space-between; gap: 14px; margin-top: 34px; padding-top: 24px; border-top: 1px solid var(--line-dark); }
.nutrition-form-nav button { cursor: pointer; }
.nutrition-form .form-status { color: var(--green-dark); }
.nutrition-note > p { align-self: end; margin: 0; }

/* Galería de YouTube con carga bajo demanda. */
.video-hero { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: end; min-height: 500px; padding: clamp(48px, 7vw, 92px) max(var(--pad), calc((100% - var(--container)) / 2)); }
.video-hero .breadcrumbs { margin-bottom: 54px; }
.video-hero h1 { max-width: 920px; margin: 0; font-size: clamp(3rem, 5.2vw, 6rem); line-height: .94; letter-spacing: -.055em; }
.video-hero > div > p:not(.eyebrow) { max-width: 700px; margin: 24px 0 30px; color: #c6c6c6; font-size: 1.12rem; }
.video-hero > span { display: flex; align-items: baseline; gap: 12px; padding: 18px 0; color: #999; border-top: 1px solid var(--line); font-size: .78rem; text-transform: uppercase; }
.video-hero > span strong { color: var(--green-bright); font-size: 2.4rem; letter-spacing: -.05em; }
.video-library { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: auto; padding: clamp(68px, 8vw, 108px) 0; }
.video-library-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 50px; margin-bottom: 44px; }
.video-library-heading h2 { margin: 0; font-size: clamp(2.4rem, 3.8vw, 4.5rem); line-height: 1; letter-spacing: -.05em; }
.video-library-heading > p { max-width: 540px; margin: 0; color: #5b5b5b; }
.video-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.5vw, 34px); margin-bottom: 42px; }
.video-card { min-width: 0; color: var(--ink); border-bottom: 1px solid var(--line-dark); transition: transform .28s ease; }
.video-card:hover { transform: translateY(-5px); }
.video-card-image { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #111; }
.video-card-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: transform .45s ease, filter .3s ease; }
.video-card:hover img { transform: scale(1.025); filter: saturate(1); }
.video-card-image i { position: absolute; left: 20px; bottom: 18px; display: grid; place-items: center; width: 54px; height: 54px; color: var(--ink); background: var(--green-bright); border-radius: 50%; transition: transform .28s ease; }
.video-card:hover .video-card-image i { transform: scale(1.08); }
.video-card-image svg { width: 25px; height: 25px; fill: currentColor; }
.video-card-copy { display: grid; min-height: 170px; padding: 18px 2px 22px; }
.video-card-copy small, .video-card-copy strong, .video-card-copy em { display: block; }
.video-card-copy small { color: var(--green-dark); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.video-card-copy strong { margin: 12px 0 18px; font-size: clamp(1.25rem, 1.75vw, 1.65rem); line-height: 1.08; letter-spacing: -.025em; }
.video-card-copy em { align-self: end; color: #555; font-size: .78rem; font-style: normal; }
.video-dialog { width: min(1080px, calc(100% - 34px)); padding: 0; color: var(--paper); background: #090909; border: 1px solid #333; }
.video-dialog::backdrop { background: rgba(0,0,0,.88); backdrop-filter: blur(5px); }
.video-dialog-head { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 68px; padding: 14px 18px 14px 24px; border-bottom: 1px solid #333; }
.video-dialog-head strong { font-size: 1rem; }
.video-dialog-head button { width: 42px; height: 42px; color: var(--paper); background: transparent; border: 1px solid #555; border-radius: 50%; cursor: pointer; font-size: 1.7rem; }
.video-dialog-player { aspect-ratio: 16 / 9; background: #000; }
.video-dialog-player iframe { display: block; width: 100%; height: 100%; border: 0; }

@media (max-width: 1050px) {
  .technique-directory-heading, .video-library-heading { grid-template-columns: 1fr; gap: 18px; }
  .technique-links { grid-template-columns: 1fr; }
  .technique-links a:nth-child(odd) { margin-right: 0; }
  .technique-links a:nth-child(even) { padding-left: 0; border-left: 0; }
  .studio-content-page .content-shell { grid-template-columns: minmax(0, 1fr); }
  .studio-content-page .content-shell > .call-card { grid-column: 1; max-width: 620px; }
  .nutrition-test-layout { grid-template-columns: 290px minmax(0, 1fr); gap: 42px; }
}

@media (max-width: 760px) {
  .technique-groups, .technique-orientation, .nutrition-note, .nutrition-hero, .nutrition-test-layout, .video-hero, .video-library-heading { grid-template-columns: 1fr; }
  .technique-group > header { min-height: 0; }
  .technique-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technique-links a { min-height: 108px; padding-right: 30px; }
  .technique-links a:nth-child(odd) { margin-right: 10px; }
  .technique-links a:nth-child(even) { padding-left: 10px; border-left: 1px solid var(--line-dark); }
  .technique-links span { display: none; }
  .technique-source summary { grid-template-columns: 1fr 44px; gap: 12px; min-height: 112px; }
  .technique-source summary span { grid-column: 1 / -1; align-self: end; }
  .technique-source summary b { grid-column: 2; grid-row: 2; }
  .studio-content-page .legacy-content ul, .content-page:not(.legal-page) .legacy-content .elementor-widget-text-editor ul,
  .studio-content-page .legacy-content .elementor-section:has(.elementor-widget-image) .elementor-container,
  .content-page:not(.legal-page) .legacy-content .elementor-section:has(.elementor-widget-image) .elementor-container { grid-template-columns: 1fr; }
  .nutrition-hero { min-height: auto; padding-top: 40px; padding-bottom: 54px; }
  .nutrition-wordmark { left: -8vw; bottom: 12%; font-size: clamp(6rem, 25vw, 8.5rem); }
  .nutrition-hero .breadcrumbs { margin-bottom: 38px; }
  .nutrition-hero > aside { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
  .nutrition-test-intro { position: static; }
  .nutrition-data-grid { grid-template-columns: 1fr; }
  .nutrition-form { padding: 24px 18px; }
  .nutrition-question { grid-template-columns: 32px minmax(0, 1fr) 56px; gap: 9px; min-height: 92px; padding: 12px 10px; }
  .nutrition-question-text { font-size: .86rem; }
  .nutrition-form-nav { flex-wrap: wrap; }
  .video-hero { min-height: auto; padding-top: 40px; padding-bottom: 56px; }
  .video-hero .breadcrumbs { margin-bottom: 38px; }
  .video-grid { grid-template-columns: 1fr; }
  .video-card-copy { min-height: 138px; }
}

/* Escala editorial más contenida en todo el sitio. */
.hero h1, .hero h2 { font-size: clamp(2.7rem, 3.45vw, 4.35rem); line-height: .98; letter-spacing: -.052em; }
.archive-hero h1, .article-hero h1, .profile-hero h1, .category-hero h1, .search-hero h1, .inner-hero h1 { font-size: clamp(2.25rem, 3vw, 3.85rem); line-height: 1; }
.section-heading h2, .section-heading-light h2, .archive-feed-heading h2,
.spaces-copy h2, .method-copy h2, .home-guide-heading h2, .directory-intro h2, .team-directory-intro h2, .testimonial-context h2, .studio-manifesto h2,
.home-faq-intro h2, .cases-intro h2, .contact-intro h2, .contact-map-copy h2, .contact-guidance h2,
.technique-directory-heading h2, .technique-orientation h2, .nutrition-note h2, .nutrition-test-intro h2,
.video-library-heading h2 { font-size: clamp(2rem, 2.85vw, 3.5rem); line-height: 1.02; letter-spacing: -.045em; text-wrap: balance; }
.disciplines-hero h1, .nutrition-hero h1, .video-hero h1 { font-size: clamp(2.35rem, 3.3vw, 3.55rem); line-height: 1; }

/* Testimonios: navegación completa, historias vivas y archivo asimétrico. */
.testimonials-page .archive-hero { height: 560px; }
.testimonials-page .archive-hero > figure { height: 560px; }
.testimony-topics { position: relative; top: auto; z-index: 1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; overflow: visible; padding: 1px max(var(--pad), calc((100% - var(--container)) / 2)); background: var(--line-dark); scrollbar-width: none; }
.testimony-topics a { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto 20px; align-items: center; gap: 10px; min-height: 72px; padding: 14px 18px; overflow: hidden; color: #4e4e4e; background: var(--paper); border: 0; transition: color .24s ease, background-color .24s ease, padding .24s ease; }
.testimony-topics a::after { content: "↗"; color: var(--green-dark); opacity: 0; transform: translateX(-7px); transition: opacity .24s ease, transform .24s ease; }
.testimony-topics a span { min-width: 28px; color: #777; font-variant-numeric: tabular-nums; }
.testimony-topics a:hover, .testimony-topics a:focus-visible { padding-left: 24px; color: var(--ink); background: #e5e2db; }
.testimony-topics a:hover::after, .testimony-topics a:focus-visible::after { opacity: 1; transform: translateX(0); }
.testimony-topics a.is-active { color: var(--paper); background: var(--ink); }
.testimony-topics a.is-active span, .testimony-topics a.is-active::after { color: var(--green-bright); }
.testimonial-spotlight { padding: clamp(70px, 8vw, 110px) max(var(--pad), calc((100% - var(--container)) / 2)) clamp(84px, 9vw, 132px); color: var(--paper); background: #0c0c0c; }
.testimonial-spotlight > header { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: end; gap: clamp(42px, 8vw, 120px); margin-bottom: 42px; }
.testimonial-spotlight > header h2 { max-width: 820px; margin: 5px 0 0; font-size: clamp(2.1rem, 3.05vw, 3.65rem); line-height: 1; letter-spacing: -.047em; text-wrap: balance; }
.testimonial-spotlight > header > p:last-child { max-width: 520px; margin: 0; color: #999; line-height: 1.6; }
.testimonial-spotlight-stage { display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-height: 550px; border-top: 1px solid #424242; border-bottom: 1px solid #424242; }
.testimonial-spotlight-feature { position: relative; display: flex; min-width: 0; flex-direction: column; padding: clamp(34px, 4.5vw, 64px); overflow: hidden; background: radial-gradient(circle at 105% -5%, rgba(174,230,0,.17), transparent 40%), #151515; border-right: 1px solid #424242; }
.testimonial-spotlight-feature::after { position: absolute; right: -30px; bottom: -82px; content: "“"; color: rgba(174,230,0,.08); font-size: 24rem; font-weight: 750; line-height: .7; pointer-events: none; }
.testimonial-spotlight-feature > span { color: var(--green-bright); font-size: .72rem; font-weight: 700; letter-spacing: .1em; font-variant-numeric: tabular-nums; }
.testimonial-spotlight-feature > p { margin: auto 0 18px; color: var(--green-bright); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.testimonial-spotlight-feature h3 { position: relative; z-index: 1; max-width: 700px; margin: 0 0 24px; font-size: clamp(1.7rem, 2.5vw, 2.85rem); line-height: 1.03; letter-spacing: -.04em; text-wrap: balance; }
.testimonial-spotlight-feature blockquote { position: relative; z-index: 1; max-width: 680px; margin: 0 0 30px; color: #bdbdbd; font-size: 1rem; line-height: 1.6; }
.testimonial-spotlight-feature > a { position: relative; z-index: 1; align-self: flex-start; color: var(--paper); border-bottom: 1px solid var(--green-bright); font-size: .84rem; }
.testimonial-story-list { min-width: 0; }
.testimonial-story-trigger { display: grid; grid-template-columns: 42px minmax(0, 1fr) 30px; align-items: center; gap: 16px; width: 100%; min-height: 110px; padding: 18px 20px; color: #bcbcbc; text-align: left; background: transparent; border: 0; border-bottom: 1px solid #353535; cursor: pointer; transition: color .22s ease, background-color .22s ease, padding .22s ease; }
.testimonial-story-trigger:last-child { border-bottom: 0; }
.testimonial-story-trigger > span:first-child { color: #686868; font-size: .72rem; font-variant-numeric: tabular-nums; }
.testimonial-story-trigger small, .testimonial-story-trigger strong { display: block; }
.testimonial-story-trigger small { margin-bottom: 6px; color: #777; font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.testimonial-story-trigger strong { max-width: 580px; font-size: 1rem; line-height: 1.22; }
.testimonial-story-trigger b { color: var(--green-bright); opacity: 0; transform: translateX(-8px); transition: opacity .22s ease, transform .22s ease; }
.testimonial-story-trigger:hover, .testimonial-story-trigger:focus-visible, .testimonial-story-trigger.is-active { padding-left: 28px; color: var(--paper); background: #1b1b1b; }
.testimonial-story-trigger.is-active { box-shadow: inset 3px 0 var(--green-bright); }
.testimonial-story-trigger:hover b, .testimonial-story-trigger:focus-visible b, .testimonial-story-trigger.is-active b { opacity: 1; transform: translateX(0); }
.testimonials-page .testimonial-context { padding-top: 64px; padding-bottom: 70px; }
.testimonial-finder { position: sticky; z-index: 8; top: 76px; display: grid; grid-template-columns: minmax(240px, .65fr) minmax(360px, 1.35fr); align-items: end; gap: 12px 44px; margin: 0 0 34px; padding: 22px 0 18px; background: rgba(244,242,237,.96); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); backdrop-filter: blur(12px); }
.testimonial-finder > label { color: #535353; font-size: .78rem; font-weight: 650; }
.testimonial-finder > div { position: relative; display: flex; align-items: center; min-height: 52px; border-bottom: 1px solid var(--ink); }
.testimonial-finder input { flex: 1; min-width: 0; height: 50px; padding: 0 70px 0 2px; color: var(--ink); background: transparent; border: 0; outline: 0; font: inherit; font-size: 1rem; }
.testimonial-finder input::placeholder { color: #858585; }
.testimonial-finder input:focus-visible { outline: 3px solid rgba(143,189,24,.25); outline-offset: 3px; }
.testimonial-finder button { position: absolute; right: 34px; min-height: 38px; padding: 0 8px; color: var(--green-dark); background: transparent; border: 0; cursor: pointer; font-size: .72rem; }
.testimonial-finder > div > span { position: absolute; right: 5px; color: var(--green-dark); font-size: 1.35rem; }
.testimonial-finder > p { grid-column: 2; margin: 0; color: #6a6a6a; font-size: .75rem; }
.testimonials-page .testimonial-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; background: transparent; border: 0; }
.testimonials-page .testimonial-card { min-height: 330px; padding: clamp(28px, 3.2vw, 42px); overflow: hidden; background: #e9e6df; border: 1px solid #cbc8c0; transition: color .28s ease, background-color .28s ease, border-color .28s ease, transform .28s ease, opacity .45s ease; }
.testimonials-page .testimonial-card:nth-child(7n + 1) { grid-column: 1 / -1; min-height: 300px; padding-right: min(38%, 460px); background: #dfe7c8; }
.testimonials-page .testimonial-card:nth-child(7n + 4) { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.testimonials-page .testimonial-card:hover { z-index: 2; transform: translateY(-5px); background: var(--green-bright); border-color: var(--green-bright); }
.testimonials-page .testimonial-card:nth-child(7n + 4):hover { background: #202020; border-color: var(--green-bright); }
.testimonial-card-index { position: absolute; right: 26px; top: 22px; color: #aaa; font-size: clamp(2.1rem, 3.6vw, 4.2rem); font-weight: 700; line-height: 1; letter-spacing: -.07em; font-variant-numeric: tabular-nums; opacity: .34; }
.testimonials-page .testimonial-card > p { position: relative; z-index: 1; margin-bottom: 42px; }
.testimonials-page .testimonial-card h3 { position: relative; z-index: 1; max-width: 780px; padding-right: 38px; font-size: clamp(1.25rem, 1.65vw, 1.65rem); }
.testimonials-page .testimonial-card:nth-child(7n + 1) h3 { font-size: clamp(1.55rem, 2.2vw, 2.35rem); }
.testimonials-page .testimonial-card > div { position: relative; z-index: 1; display: -webkit-box; max-width: 720px; overflow: hidden; color: #575757; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.testimonials-page .testimonial-card:nth-child(7n + 4) > p, .testimonials-page .testimonial-card:nth-child(7n + 4) > a { color: var(--green-bright); }
.testimonials-page .testimonial-card:nth-child(7n + 4) > div { color: #aaa; }
.testimonials-page .testimonial-card > a { left: clamp(28px, 3.2vw, 42px); bottom: 30px; }
.testimonials-page .testimonial-card.is-reveal-ready { opacity: 0; transform: translateY(22px); }
.testimonials-page .testimonial-card.is-reveal-ready.is-in-view { opacity: 1; transform: translateY(0); }
.testimonials-page .testimonial-card.is-reveal-ready:nth-child(6n + 2) { transition-delay: 55ms; }
.testimonials-page .testimonial-card.is-reveal-ready:nth-child(6n + 3) { transition-delay: 110ms; }
.testimonials-page .testimonial-card.is-reveal-ready:nth-child(6n + 4) { transition-delay: 165ms; }
.testimonial-empty { padding: 62px 0; border-top: 1px solid var(--line-dark); }
.testimonial-empty h3 { margin: 0 0 10px; font-size: 1.6rem; }
.testimonial-empty p { margin: 0; color: #656565; }

/* Equipo: presentación circular con acceso directo a cada perfil. */
.team-orbit { display: grid; grid-template-columns: minmax(250px, .56fr) minmax(620px, 1.44fr); gap: clamp(40px, 7vw, 108px); align-items: center; padding: clamp(68px, 8vw, 112px) max(var(--pad), calc((100% - var(--container)) / 2)); overflow: hidden; background: #e7e4dd; }
.team-orbit > header { position: relative; z-index: 3; }
.team-orbit > header h2 { max-width: 470px; margin: 5px 0 20px; font-size: clamp(2.1rem, 2.85vw, 3.45rem); line-height: 1; letter-spacing: -.045em; text-wrap: balance; }
.team-orbit > header > p:last-child { max-width: 440px; color: #5d5d5d; line-height: 1.65; }
.team-orbit-stage { position: relative; min-width: 0; height: 680px; }
.team-orbit-stage::before, .team-orbit-stage::after { position: absolute; left: 50%; top: 50%; content: ""; border: 1px solid rgba(20,20,20,.12); border-radius: 50%; transform: translate(-50%,-50%); pointer-events: none; }
.team-orbit-stage::before { width: 72%; aspect-ratio: 1; }
.team-orbit-stage::after { width: 48%; aspect-ratio: 1; border-style: dashed; }
.team-orbit-core { position: absolute; z-index: 1; left: 50%; top: 50%; display: grid; width: 210px; aspect-ratio: 1; place-content: center; text-align: center; color: var(--paper); background: var(--ink); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 0 24px 70px rgba(35,32,24,.2); }
.team-orbit-core::before { position: absolute; z-index: -1; inset: -28px; content: ""; background: repeating-conic-gradient(from 4deg, rgba(151,202,27,.72) 0 1deg, transparent 1deg 14deg); border-radius: 50%; -webkit-mask: radial-gradient(circle, transparent 0 72%, #000 73% 76%, transparent 77%); mask: radial-gradient(circle, transparent 0 72%, #000 73% 76%, transparent 77%); animation: team-orbit-halo 32s linear infinite; }
.team-orbit-core span, .team-orbit-core strong, .team-orbit-core small { display: block; }
.team-orbit-core span { color: var(--green-bright); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.team-orbit-core strong { margin: 4px 0 14px; font-size: 2.35rem; line-height: 1; letter-spacing: -.05em; }
.team-orbit-core small { color: #8b8b8b; font-size: .65rem; }
.team-orbit-nodes { position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.team-orbit-nodes i { position: absolute; width: 8px; height: 8px; background: var(--green-bright); border: 3px solid #e7e4dd; border-radius: 50%; box-shadow: 0 0 0 1px rgba(20,20,20,.14),0 0 0 0 rgba(151,202,27,.28); animation: team-node-pulse 3.8s ease-out infinite; }
.team-orbit-nodes i:nth-child(1) { left: 15.5%; top: 49%; }
.team-orbit-nodes i:nth-child(2) { left: 49.5%; top: 15%; animation-delay: -.9s; }
.team-orbit-nodes i:nth-child(3) { right: 14.5%; top: 51%; background: var(--pink); animation-delay: -1.8s; }
.team-orbit-nodes i:nth-child(4) { left: 50%; bottom: 14.5%; animation-delay: -2.7s; }
.team-orbit-person { --orbit-x: 14px; --orbit-y: -7px; --orbit-duration: 14s; position: absolute; z-index: 2; width: 176px; color: var(--ink); animation: team-orbit-glide var(--orbit-duration) cubic-bezier(.45,.05,.55,.95) infinite; will-change: transform; }
.team-orbit-person-1 { left: 1%; top: 8%; width: 168px; animation-delay: -2s; }
.team-orbit-person-2 { --orbit-x: 18px; --orbit-y: 3px; --orbit-duration: 16s; left: 38%; top: -1%; width: 196px; animation-delay: -6s; }
.team-orbit-person-3 { --orbit-x: -14px; --orbit-y: -7px; --orbit-duration: 15s; right: 1%; top: 10%; width: 164px; animation-delay: -9s; }
.team-orbit-person-4 { --orbit-x: -14px; --orbit-y: 7px; --orbit-duration: 17s; left: 7%; bottom: 4%; width: 166px; animation-delay: -4s; }
.team-orbit-person-5 { --orbit-x: 18px; --orbit-y: -3px; --orbit-duration: 15.5s; left: 40%; bottom: -1%; width: 188px; animation-delay: -11s; }
.team-orbit-person-6 { --orbit-x: 14px; --orbit-y: 7px; --orbit-duration: 16.5s; right: 1%; bottom: 6%; width: 172px; animation-delay: -7s; }
.team-orbit-image { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #d2cfc8; border: 6px solid var(--paper); border-radius: 50%; box-shadow: 0 18px 46px rgba(38,35,27,.18); transition: border-color .28s ease, box-shadow .28s ease; }
.team-orbit-image img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.78); transition: transform .45s ease, filter .3s ease; }
.team-orbit-label { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1fr) 20px; gap: 2px 8px; width: calc(100% + 34px); margin: -12px 0 0 -17px; padding: 10px 12px 11px; color: var(--paper); background: var(--ink); border-left: 3px solid var(--green-bright); }
.team-orbit-person-1 .team-orbit-label { border-color: var(--pink); }
.team-orbit-label small { grid-column: 1 / -1; color: #929292; font-size: .56rem; letter-spacing: .06em; text-transform: uppercase; }
.team-orbit-label strong { overflow-wrap: anywhere; font-size: .78rem; line-height: 1.12; }
.team-orbit-label b { align-self: end; color: var(--green-bright); transform: translateX(-5px); transition: transform .25s ease; }
.team-orbit-person-1 .team-orbit-label b { color: var(--pink); }
.team-orbit-person:hover .team-orbit-image, .team-orbit-person:focus-visible .team-orbit-image { border-color: var(--green-bright); box-shadow: 0 22px 58px rgba(76,103,3,.24); }
.team-orbit-person:hover, .team-orbit-person:focus-visible { animation-play-state: paused; }
.team-orbit-person-1:hover .team-orbit-image, .team-orbit-person-1:focus-visible .team-orbit-image { border-color: var(--pink); }
.team-orbit-person:hover img, .team-orbit-person:focus-visible img { transform: scale(1.055); filter: saturate(1); }
.team-orbit-person:hover .team-orbit-label b, .team-orbit-person:focus-visible .team-orbit-label b { transform: translateX(1px); }
@keyframes team-orbit-glide { 0%,100% { transform: translate3d(calc(var(--orbit-x) * -1),0,0); } 50% { transform: translate3d(var(--orbit-x),var(--orbit-y),0); } }
@keyframes team-orbit-halo { to { transform: rotate(1turn); } }
@keyframes team-node-pulse { 0%,45%,100% { box-shadow: 0 0 0 1px rgba(20,20,20,.14),0 0 0 0 rgba(151,202,27,0); } 18% { box-shadow: 0 0 0 1px rgba(20,20,20,.14),0 0 0 10px rgba(151,202,27,.12); } }
.team-hub-page .team-directory { padding-top: 74px; }

/* Mapa con profundidad y una tarjeta de destino legible. */
.contact-map { position: relative; grid-template-columns: minmax(300px, .62fr) minmax(0, 1.38fr); min-height: 720px; overflow: hidden; background: radial-gradient(circle at 18% 22%, rgba(174,230,0,.1), transparent 28%), #e6e3dc; }
.contact-map-city,
.section-wordmark { position: absolute; color: rgba(20,20,20,.035); font-weight: 750; line-height: .75; letter-spacing: -.08em; white-space: nowrap; text-transform: uppercase; pointer-events: none; }
.section-wordmark.treatments-wordmark,
.section-wordmark.nutrition-wordmark { color: rgba(255,255,255,.032); }
.contact-map-city { left: -18px; bottom: -40px; font-size: clamp(8rem, 20vw, 22rem); }
.contact-map-copy { position: relative; z-index: 2; }
.contact-map-copy > p:not(.label) { max-width: 350px; }
.contact-map-facts { display: grid; gap: 0; max-width: 430px; margin: 30px 0 26px; border-top: 1px solid var(--line-dark); }
.contact-map-facts > span { display: grid; grid-template-columns: 100px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line-dark); }
.contact-map-facts small { color: #777; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-map-facts strong { font-size: .82rem; font-weight: 650; }
.contact-map-stage { position: relative; z-index: 2; min-width: 0; padding: 34px 8px 52px 30px; }
.contact-map-frame { position: relative; height: 560px; overflow: hidden; background: #cfd1c4; border: 8px solid var(--paper); box-shadow: 0 34px 80px rgba(55,50,39,.23); transform: rotate(-1.2deg); transition: transform .45s cubic-bezier(.2,.75,.2,1), box-shadow .45s ease; }
.contact-map-frame::before { position: absolute; z-index: 1; left: 0; top: 0; width: 92px; height: 7px; content: ""; background: linear-gradient(90deg, var(--green-bright) 0 52%, var(--pink) 52%); pointer-events: none; }
.contact-map-frame:hover { transform: rotate(0) translateY(-5px); box-shadow: 0 42px 90px rgba(55,50,39,.28); }
.contact-map-frame iframe { display: block; width: 100%; height: 100%; filter: saturate(.78) contrast(1.03); }
.contact-map-ticket { position: absolute; z-index: 3; left: -8px; bottom: 8px; display: grid; grid-template-columns: 46px minmax(0,1fr) auto; align-items: center; gap: 14px; width: min(650px, calc(100% - 34px)); padding: 18px 20px; color: var(--paper); background: rgba(12,12,12,.96); box-shadow: 0 18px 44px rgba(0,0,0,.23); backdrop-filter: blur(10px); }
.contact-map-ticket > span { display: grid; width: 42px; height: 42px; place-items: center; color: var(--ink); background: var(--green-bright); border-radius: 50%; font-size: 1.3rem; }
.contact-map-ticket small, .contact-map-ticket strong { display: block; }
.contact-map-ticket small { color: #858585; font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
.contact-map-ticket strong { margin: 2px 0 3px; font-size: 1rem; }
.contact-map-ticket p { margin: 0; color: #aaa; font-size: .74rem; }
.contact-map-ticket > a { display: flex; gap: 12px; align-items: center; min-height: 44px; color: var(--paper); border-bottom: 1px solid var(--green-bright); font-size: .76rem; }
.contact-map-ticket > a b { color: var(--green-bright); transition: transform .22s ease; }
.contact-map-ticket > a:hover b { transform: translateX(4px); }

/* Cabecera: firmas con la misma caja visual y centrado óptico. */
.header-inner .brand { align-self: center; }
.brand-clinic img,
.brand-studio img { display: block; width: 100%; height: 100%; object-position: center; }
.brand-clinic img { object-fit: contain; }
.brand-studio img { object-fit: cover; }

/* Pie: flecha diagonal previa y respuesta cromática por ámbito. */
.footer-brand { position: relative; padding-top: 18px; }
.footer-brand::before { position: absolute; left: 0; top: 0; width: 74px; height: 3px; content: ""; background: linear-gradient(90deg, var(--green-bright) 0 54%, var(--pink) 54%); transition: width .35s ease; }
.footer-brand:hover::before { width: 142px; }
.footer-brand img { transition: transform .35s ease, filter .35s ease; }
.footer-brand:hover img { transform: translateX(5px); filter: brightness(1.08); }
.footer-contact { display: flex !important; align-items: center; gap: 9px; transition: color .22s ease, transform .22s ease; }
.footer-contact svg { flex: 0 0 15px; width: 15px; height: 15px; fill: none; stroke: var(--green-bright); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-contact:hover,
.footer-contact:focus-visible { color: var(--green-bright); transform: translateX(3px); }
.footer-links > a { position: relative; display: flex !important; width: fit-content; align-items: center; transition: color .22s ease, transform .22s ease; }
.footer-links > a::before { position: absolute; left: -20px; top: 50%; content: "→"; opacity: 0; transform: translate(6px,-50%) rotate(-45deg); transform-origin: center; transition: opacity .22s ease, transform .22s ease; }
.footer-links-clinic > a::before,
.footer-links-knowledge > a::before { color: var(--green-bright); }
.footer-links-studio > a::before { color: var(--pink); }
.footer-links-clinic > a:hover,
.footer-links-clinic > a:focus-visible,
.footer-links-knowledge > a:hover,
.footer-links-knowledge > a:focus-visible { color: var(--green-bright); transform: translateX(5px); }
.footer-links-studio > a:hover,
.footer-links-studio > a:focus-visible { color: var(--pink); transform: translateX(5px); }
.footer-links > a:hover::before,
.footer-links > a:focus-visible::before { opacity: 1; transform: translate(0,-50%) rotate(-45deg); }

@media (max-width: 1050px) {
  .testimonial-spotlight-stage { grid-template-columns: 1fr; }
  .testimonial-spotlight-feature { min-height: 470px; border-right: 0; border-bottom: 1px solid #424242; }
  .team-orbit { grid-template-columns: 1fr; }
  .team-orbit > header { max-width: 720px; }
  .team-orbit-stage { width: min(100%, 820px); margin: 0 auto; }
  .contact-map { grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr); gap: 38px; }
  .contact-map-stage { padding-left: 10px; }
}

@media (max-width: 760px) {
  .hero h1, .hero h2, .archive-hero h1, .article-hero h1, .profile-hero h1, .category-hero h1, .search-hero h1, .inner-hero h1, .disciplines-hero h1, .nutrition-hero h1, .video-hero h1 { font-size: clamp(2.05rem, 8.6vw, 3.05rem); line-height: 1; }
  .section-heading h2, .section-heading-light h2, .archive-feed-heading h2,
  .spaces-copy h2, .method-copy h2, .home-guide-heading h2, .directory-intro h2, .team-directory-intro h2, .testimonial-context h2, .studio-manifesto h2,
  .home-faq-intro h2, .cases-intro h2, .contact-intro h2, .contact-map-copy h2, .contact-guidance h2,
  .technique-directory-heading h2, .technique-orientation h2, .nutrition-note h2, .nutrition-test-intro h2, .video-library-heading h2 { font-size: clamp(1.85rem, 8vw, 2.65rem); }
  .testimonials-page .archive-hero, .testimonials-page .archive-hero > figure { height: auto; }
  .testimony-topics { grid-template-columns: repeat(2, minmax(0,1fr)); padding: 1px; }
  .testimony-topics a { min-height: 68px; padding: 12px 13px; font-size: .72rem; }
  .testimonial-spotlight > header { grid-template-columns: 1fr; gap: 18px; }
  .testimonial-spotlight > header h2 { font-size: clamp(1.9rem, 8.6vw, 2.65rem); }
  .testimonial-spotlight-stage { min-height: 0; }
  .testimonial-spotlight-feature { min-height: 500px; padding: 30px 24px; }
  .testimonial-spotlight-feature h3 { font-size: clamp(1.55rem, 7.3vw, 2.2rem); }
  .testimonial-story-trigger { min-height: 104px; padding: 16px 12px; }
  .testimonial-finder { position: static; grid-template-columns: 1fr; gap: 10px; }
  .testimonial-finder > p { grid-column: 1; }
  .testimonials-page .testimonial-grid { grid-template-columns: 1fr; }
  .testimonials-page .testimonial-card:nth-child(7n + 1) { grid-column: 1; min-height: 360px; padding-right: 28px; }
  .testimonials-page .testimonial-card:nth-child(7n + 1) h3 { font-size: clamp(1.4rem, 6.6vw, 1.9rem); }
  .team-orbit { padding-top: 62px; padding-bottom: 84px; }
  .team-orbit-stage { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 34px 16px; height: auto; margin-top: 18px; }
  .team-orbit-stage::before, .team-orbit-stage::after, .team-orbit-nodes, .team-orbit-core::before { display: none; }
  .team-orbit-core { position: static; grid-column: 1 / -1; width: 170px; margin: 0 auto 10px; transform: none; }
  .team-orbit-person, .team-orbit-person-1, .team-orbit-person-2, .team-orbit-person-3, .team-orbit-person-4, .team-orbit-person-5, .team-orbit-person-6 { position: static; width: min(100%, 158px); margin: 0 auto; animation: none; }
  .team-orbit-label { width: calc(100% + 14px); margin-left: -7px; }
  .contact-map { display: block; min-height: 0; padding-top: 70px; padding-bottom: 78px; }
  .contact-map-city { bottom: auto; top: 70px; font-size: 8rem; }
  .contact-map-stage { margin-top: 42px; padding: 0 0 0 8px; }
  .contact-map-frame { height: 460px; border-width: 5px; transform: rotate(-.6deg); }
  .contact-map-ticket { position: relative; left: -8px; bottom: auto; grid-template-columns: 42px minmax(0,1fr); width: calc(100% + 8px); margin-top: -22px; }
  .contact-map-ticket > a { grid-column: 1 / -1; justify-content: space-between; }
}

@media (prefers-reduced-motion: reduce) {
  .team-orbit-person { animation: none; }
  .testimonials-page .testimonial-card.is-reveal-ready { opacity: 1; transform: none; }
  .contact-map-frame, .testimonial-story-trigger, .testimonials-page .testimonial-card, .team-orbit-image img { transition-duration: .01ms; }
}

/* Artículos: lectura amplia con bloques visuales alternos y fotografías sin deformar. */
.article-layout,
.content-shell:not(.legal-shell) { grid-template-columns: minmax(160px, 190px) minmax(0, 1080px); gap: clamp(32px, 4vw, 66px); width: min(calc(100% - (var(--pad) * 2)), 1380px); }
.article-layout > .article-content,
.content-shell:not(.legal-shell) > .legacy-content { width: 100%; max-width: none; }
.article-toc,
.page-toc { padding-right: 20px; }
.legacy-content { font-size: clamp(1.02rem, 1.05vw, 1.12rem); line-height: 1.78; text-wrap: pretty; }
.article-content > p,
.article-content > ul,
.article-content > ol,
.content-shell:not(.legal-shell) > .legacy-content > p,
.content-shell:not(.legal-shell) > .legacy-content > ul,
.content-shell:not(.legal-shell) > .legacy-content > ol { max-width: 790px; }
.legacy-content h2 { max-width: 940px; margin-top: 72px; font-size: clamp(2rem, 2.7vw, 3.2rem); }
.legacy-content h3 { max-width: 820px; }
.legacy-content blockquote { max-width: 900px; margin: 52px 0; padding: 26px 34px; background: #e7e4dc; border-left: 0; border-top: 3px solid var(--green); font-size: clamp(1.18rem, 1.65vw, 1.52rem); line-height: 1.5; }
.legacy-content .elementor,
.legacy-content .page-content { width: 100%; }
.legacy-content .elementor > .elementor-top-section,
.legacy-content .page-content > * { position: relative; }
.legacy-content .elementor > .elementor-top-section { counter-increment: editorial-block; margin: 0 0 clamp(52px, 7vw, 92px); }
.legacy-content .elementor { counter-reset: editorial-block; }
.article-content .elementor > .elementor-top-section:has(img),
.content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:has(img),
.studio-content-page .legacy-content .elementor > .elementor-top-section:has(img),
.technique-source .legacy-content .elementor > .elementor-top-section:has(img) { padding: clamp(24px, 3vw, 42px); background: #e7e4dc; border-top: 1px solid var(--line-dark); }
.article-content .elementor > .elementor-top-section:has(img)::before,
.content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:has(img)::before,
.studio-content-page .legacy-content .elementor > .elementor-top-section:has(img)::before,
.technique-source .legacy-content .elementor > .elementor-top-section:has(img)::before { position: absolute; right: 18px; top: 14px; content: counter(editorial-block, decimal-leading-zero); color: rgba(18,18,18,.34); font-size: .68rem; font-weight: 750; letter-spacing: .12em; }
.article-content .elementor > .elementor-top-section:has(img) > .elementor-container,
.content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container,
.studio-content-page .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container,
.technique-source .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container { display: grid; grid-template-columns: minmax(260px, .92fr) minmax(0, 1.08fr); gap: clamp(28px, 4vw, 58px); align-items: center; }
.article-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image),
.content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image),
.studio-content-page .legacy-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image) { order: 2; }
.legacy-content .elementor-column,
.legacy-content .elementor-widget-wrap { min-width: 0; }
.legacy-content .elementor-widget-image,
.legacy-content .legacy-media { display: grid; min-width: 0; min-height: 250px; place-items: center; overflow: hidden; background: #dcd8ce; }
.studio-page .legacy-content .elementor-widget-image,
.studio-page .legacy-content .legacy-media,
.studio-content-page .legacy-content .elementor-widget-image,
.studio-content-page .legacy-content .legacy-media { background: #eadde4; }
.legacy-content .elementor-widget-image img,
.content-page:not(.legal-page) .legacy-content .elementor-widget-image img,
.studio-content-page .legacy-content .elementor-widget-image img,
.technique-source .legacy-content .elementor-widget-image img,
.legacy-content .legacy-media img,
.legacy-content > figure img,
.legacy-content > .wp-block-image img { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: auto; margin: 0 auto; object-fit: contain; }
.legacy-content img.legacy-image-portrait { width: auto; max-width: 100%; max-height: 680px; }
.legacy-content img.is-low-resolution { width: auto !important; max-width: 100%; height: auto !important; aspect-ratio: auto !important; image-rendering: auto; }
.legacy-content .elementor-widget-image:has(img.is-low-resolution),
.legacy-content .legacy-media:has(img.is-low-resolution) { min-height: 310px; padding: 30px; background-image: radial-gradient(circle at 50% 45%, rgba(255,255,255,.75), transparent 64%); }
.legacy-content > figure,
.legacy-content > .wp-block-image { width: min(100%, 1040px); margin: 56px 0; }
.legacy-content > figure:nth-of-type(even),
.legacy-content > .wp-block-image:nth-of-type(even) { margin-left: auto; }
.legacy-content .page-content { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; gap: clamp(18px, 3vw, 38px); align-items: start; }
.legacy-content .page-content > .legacy-subheading:first-child { grid-column: 1 / -1; margin: 0 0 12px; color: var(--pink-dark); font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.legacy-content .page-content > .legacy-media { grid-column: 1 / 8; grid-row: span 2; min-height: 360px; margin: 0; }
.legacy-content .page-content > .legacy-media:nth-of-type(even) { grid-column: 6 / -1; }
.legacy-content .page-content > .legacy-subheading:not(:first-child) { align-self: end; margin: 0; padding-top: 24px; border-top: 2px solid var(--pink); font-size: clamp(1.35rem, 2vw, 2.05rem); }
.legacy-content .page-content > .legacy-subheading:nth-of-type(even) { grid-column: 8 / -1; }
.legacy-content .page-content > .legacy-subheading:nth-of-type(odd):not(:first-child) { grid-column: 1 / 6; }
.legacy-content .page-content > p { margin: 0 0 48px; color: #4d4d4d; }
.legacy-content .page-content > p:nth-of-type(odd) { grid-column: 8 / -1; }
.legacy-content .page-content > p:nth-of-type(even) { grid-column: 1 / 6; }
.legacy-content .comments-area,
.legacy-content .comment-respond { display: none; }
.studio-source { grid-template-columns: minmax(150px, 190px) minmax(0, 1fr); width: min(100%, var(--container)); }
.studio-source .legacy-content { width: 100%; max-width: none; }
.editorial-reveal.is-reveal-ready { opacity: 1; transform: translateY(12px); transition: transform .55s cubic-bezier(.2,.72,.2,1); }
.editorial-reveal.is-reveal-ready.is-in-view { opacity: 1; transform: none; }

/* Las tarjetas laterales pasan al final: liberan ancho y mantienen la conversión. */
.article-layout > .author-card,
.content-shell:not(.legal-shell) > .call-card { position: static; grid-column: 2; width: 100%; max-width: none; margin-top: 8px; }
.content-shell:not(.legal-shell) > .call-card { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 30px; align-items: center; padding: 30px 34px; color: var(--paper); background: var(--ink); }
.content-shell:not(.legal-shell) > .call-card > p { margin: 0; font-size: clamp(1.25rem, 2vw, 1.8rem); }
.content-shell:not(.legal-shell) > .call-card > span { margin: 0; color: #aaa; }
.content-shell:not(.legal-shell) > .call-card .button { grid-column: 2; grid-row: 1 / span 2; width: auto; color: var(--green-bright); }
.studio-content-page .content-shell:not(.legal-shell) > .call-card .button { color: var(--pink); }
.article-layout > .author-card { display: grid; grid-template-columns: 92px minmax(0, 1fr) auto; grid-template-rows: auto auto auto; gap: 3px 24px; align-items: center; padding: 24px 28px; }
.article-layout > .author-card > p { grid-column: 2; margin: 0; }
.article-layout > .author-card > p::after { display: none; }
.article-layout > .author-card img { grid-column: 1; grid-row: 1 / span 3; width: 92px; height: 92px; margin: 0; border-radius: 50%; }
.article-layout > .author-card strong,
.article-layout > .author-card > span { grid-column: 2; }
.article-layout > .author-card > a { grid-column: 3; grid-row: 1 / span 3; min-width: 180px; margin: 0; padding: 14px 0; }

/* Horario Studio: calendario vivo, filtrable y legible en cualquier pantalla. */
.studio-schedule { padding: clamp(70px, 8vw, 116px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #ebe7e1; }
.schedule-intro { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(34px, 7vw, 110px); align-items: end; margin-bottom: 46px; }
.schedule-intro h2 { max-width: 820px; margin: 0; font-size: clamp(2.4rem, 4.4vw, 5rem); line-height: .96; letter-spacing: -.055em; }
.schedule-intro > p { max-width: 560px; margin: 0; color: #555; }
.schedule-controls { position: sticky; z-index: 12; top: 76px; display: flex; justify-content: space-between; align-items: center; gap: 26px; margin: 0 0 24px; padding: 12px; color: var(--paper); background: rgba(13,13,13,.96); backdrop-filter: blur(12px); }
.schedule-day-filter { display: flex; flex-wrap: wrap; gap: 5px; }
.schedule-day-filter button { min-height: 42px; padding: 8px 13px; color: #aaa; background: transparent; border: 1px solid transparent; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.schedule-day-filter button:hover,
.schedule-day-filter button:focus-visible { color: var(--paper); border-color: #555; }
.schedule-day-filter button.is-active { color: var(--ink); background: var(--pink); border-color: var(--pink); }
.schedule-type-filter { display: flex; align-items: center; gap: 12px; color: #999; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schedule-type-filter select { min-height: 42px; padding: 8px 38px 8px 12px; color: var(--paper); background: #1b1b1b; border: 1px solid #444; font: inherit; font-size: .8rem; text-transform: none; }
.schedule-layout { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 22px; align-items: start; }
.schedule-board { min-width: 0; background: #f5f3ef; border: 1px solid rgba(18,18,18,.16); box-shadow: 0 26px 70px rgba(56,42,49,.1); }
.schedule-grid { min-width: 980px; }
.schedule-head-row,
.schedule-time-row { display: grid; grid-template-columns: 74px repeat(5, minmax(0, 1fr)); }
.schedule-head-row { position: sticky; z-index: 2; top: 142px; color: var(--paper); background: var(--ink); }
.schedule-head-row > * { min-height: 62px; display: flex; align-items: center; padding: 12px 14px; border-right: 1px solid #353535; }
.schedule-head-row strong { position: relative; font-size: .78rem; letter-spacing: .04em; text-transform: uppercase; }
.schedule-head-row strong.is-today::after { width: 7px; height: 7px; margin-left: 9px; content: ""; background: var(--pink); border-radius: 50%; }
.schedule-time-row > time { display: flex; align-items: flex-start; justify-content: center; min-height: 112px; padding-top: 18px; color: #555; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); font-size: .82rem; font-variant-numeric: tabular-nums; }
.schedule-cell { min-width: 0; min-height: 112px; padding: 7px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.schedule-event { position: relative; display: flex; flex-direction: column; align-items: flex-start; width: 100%; min-height: 96px; padding: 12px 28px 12px 12px; color: var(--ink); background: #ddd; border: 0; cursor: pointer; text-align: left; transition: transform .22s ease, box-shadow .22s ease, filter .22s ease; }
.schedule-event:hover,
.schedule-event:focus-visible { z-index: 1; transform: translateY(-3px) rotate(-.5deg); box-shadow: 0 13px 28px rgba(18,18,18,.15); filter: saturate(1.08); }
.schedule-event[aria-pressed="true"] { outline: 3px solid var(--ink); outline-offset: -3px; }
.schedule-event small { margin-bottom: 6px; font-size: .6rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; opacity: .72; }
.schedule-event strong { font-size: .78rem; line-height: 1.15; }
.schedule-event > b { position: absolute; right: 10px; top: 9px; font-size: .9rem; font-weight: 500; }
.schedule-event-day { display: none; }
.schedule-event-pilates { background: #f4c4dc; }
.schedule-event-yoga { color: #fff; background: #b52378; }
.schedule-event-movement { background: #b7db4a; }
.schedule-event-aerial { color: #fff; background: #191919; }
.schedule-event-recovery { color: #fff; background: #7451b8; }
.schedule-event-workshop { background: #65cbd4; }
.schedule-detail { position: sticky; top: 156px; min-height: 330px; padding: 30px; color: var(--paper); background: var(--ink); border-top: 4px solid var(--pink); }
.schedule-detail > span { display: block; margin-bottom: 22px; color: var(--pink); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schedule-detail h3 { margin: 0 0 16px; font-size: clamp(1.65rem, 2.3vw, 2.35rem); line-height: 1; letter-spacing: -.045em; }
.schedule-detail > p:not(.label) { margin: 0 0 30px; color: #bdbdbd; font-size: .9rem; }
.schedule-detail .button { width: 100%; }
.schedule-status { margin: 16px 0 0; color: #666; font-size: .8rem; }
.schedule-note { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 8vw, 120px); padding: 76px max(var(--pad), calc((100% - var(--container)) / 2)); }
.schedule-note h2 { max-width: 700px; margin: 0; font-size: clamp(2.2rem, 3.6vw, 4.2rem); line-height: 1; letter-spacing: -.05em; }
.schedule-note > div:last-child { align-self: end; }
.schedule-note > div:last-child p { max-width: 620px; color: #aaa; }

/* Firma cromática del slideshow: tres trazos que se dibujan en cada cambio. */
.hero-chroma { position: absolute; z-index: 4; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.hero-chroma-pass { --chroma-delay: 0s; transform-box: view-box; transform-origin: center; }
.hero-chroma-pass-1 { transform: translateY(-160px); }
.hero-chroma-pass-2 { --chroma-delay: 1.42s; transform: translateY(-55px); }
.hero-chroma-pass-3 { --chroma-delay: 2.84s; transform: translateY(55px); }
.hero-chroma-pass-4 { --chroma-delay: 4.26s; transform: translateY(160px); }
.hero-chroma path { fill: none; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; opacity: 0; vector-effect: non-scaling-stroke; }
.hero-chroma-green { stroke: var(--green-bright); stroke-width: 2.4; }
.hero-chroma-white { stroke: #fff; stroke-width: 1.4; }
.hero-chroma-pink { stroke: var(--pink); stroke-width: 2.4; }
.hero-chroma circle { opacity: 0; transform-box: fill-box; transform-origin: center; }
.hero-chroma-node-green { fill: var(--green-bright); }
.hero-chroma-node-white { fill: #fff; }
.hero-chroma-node-pink { fill: var(--pink); }
.hero-chroma.is-playing path { animation: hero-chroma-trace 1.18s cubic-bezier(.3,.02,.18,1) var(--chroma-delay) both; }
.hero-chroma.is-playing .hero-chroma-white { animation-delay: calc(var(--chroma-delay) + .06s); }
.hero-chroma.is-playing .hero-chroma-pink { animation-delay: calc(var(--chroma-delay) + .12s); }
.hero-chroma.is-playing circle { animation: hero-chroma-pulse .52s ease calc(var(--chroma-delay) + .58s) both; }
.hero-chroma.is-playing .hero-chroma-node-white { animation-delay: calc(var(--chroma-delay) + .64s); }
.hero-chroma.is-playing .hero-chroma-node-pink { animation-delay: calc(var(--chroma-delay) + .7s); }
@keyframes hero-chroma-trace { 0% { stroke-dashoffset: 1; opacity: 0; } 16% { opacity: .4; } 64% { stroke-dashoffset: 0; opacity: .3; } 100% { stroke-dashoffset: -.55; opacity: 0; } }
@keyframes hero-chroma-pulse { 0% { opacity: 0; transform: scale(.35); } 48% { opacity: .34; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7); } }

/* Cierre del pie: copyright y crédito juntos; menú legal en la segunda zona. */
.footer-bottom { align-items: center; gap: 28px; }
.footer-bottom-primary { display: flex; align-items: center; gap: 12px; }
.footer-copy { color: #d7d7d7; font-weight: 750; }
.footer-copy span { color: var(--green-bright); }
.footer-bottom .footer-credit { flex: 0 0 auto; }
.footer-bottom .footer-legal { display: flex !important; grid-column: auto; align-items: center; justify-content: flex-end; gap: clamp(13px, 2vw, 26px); margin-left: auto; }
.footer-bottom .footer-legal a,
.footer-bottom .footer-legal button { width: fit-content; margin: 0; color: #858585; font-size: .75rem; white-space: nowrap; }
.footer-bottom .footer-legal a:hover,
.footer-bottom .footer-legal button:hover,
.footer-bottom .footer-legal a:focus-visible,
.footer-bottom .footer-legal button:focus-visible { color: var(--green-bright); }

@media (max-width: 1180px) {
  .article-layout,
  .content-shell:not(.legal-shell) { grid-template-columns: minmax(150px, 180px) minmax(0, 1fr); }
  .legacy-content .page-content > .legacy-media { min-height: 300px; }
  .schedule-layout { grid-template-columns: 1fr; }
  .schedule-detail { position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 0; gap: 4px 28px; }
  .schedule-detail .label,
  .schedule-detail > span,
  .schedule-detail h3,
  .schedule-detail > p:not(.label) { grid-column: 1; }
  .schedule-detail .button { grid-column: 2; grid-row: 1 / span 4; align-self: center; width: auto; }
  .footer-bottom { align-items: flex-start; }
  .footer-bottom .footer-legal { flex-wrap: wrap; }
}

@media (max-width: 760px) {
  .article-layout,
  .content-shell:not(.legal-shell) { display: block; width: calc(100% - 40px); padding-top: 48px; }
  .article-toc,
  .page-toc { position: static; margin-bottom: 42px; padding: 0 0 22px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .article-content .elementor > .elementor-top-section:has(img),
  .content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:has(img),
  .studio-content-page .legacy-content .elementor > .elementor-top-section:has(img),
  .technique-source .legacy-content .elementor > .elementor-top-section:has(img) { padding: 18px; }
  .article-content .elementor > .elementor-top-section:has(img) > .elementor-container,
  .content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container,
  .studio-content-page .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container,
  .technique-source .legacy-content .elementor > .elementor-top-section:has(img) > .elementor-container { grid-template-columns: 1fr; gap: 24px; }
  .article-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image),
  .content-page:not(.legal-page) .legacy-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image),
  .studio-content-page .legacy-content .elementor > .elementor-top-section:nth-child(even):has(img) .elementor-column:has(.elementor-widget-image) { order: 0; }
  .legacy-content .page-content { display: block; }
  .legacy-content .page-content > .legacy-media { min-height: 260px; margin: 0 0 24px; }
  .legacy-content .page-content > .legacy-subheading:not(:first-child) { margin: 0 0 14px; }
  .legacy-content .page-content > p { margin-bottom: 58px; }
  .content-shell:not(.legal-shell) > .call-card { grid-template-columns: 1fr; margin-top: 48px; }
  .content-shell:not(.legal-shell) > .call-card .button { grid-column: 1; grid-row: auto; width: 100%; }
  .article-layout > .author-card { grid-template-columns: 72px 1fr; margin-top: 48px; }
  .article-layout > .author-card img { width: 72px; height: 72px; }
  .article-layout > .author-card > a { grid-column: 1 / -1; grid-row: auto; margin-top: 14px; }
  .studio-source { grid-template-columns: 1fr; }
  .schedule-intro,
  .schedule-note { grid-template-columns: 1fr; }
  .schedule-controls { position: static; display: grid; }
  .schedule-day-filter { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .schedule-day-filter button { padding: 7px 5px; font-size: .72rem; }
  .schedule-type-filter { justify-content: space-between; }
  .schedule-type-filter select { flex: 1; min-width: 0; }
  .schedule-board { border: 0; box-shadow: none; }
  .schedule-grid { min-width: 0; }
  .schedule-head-row { display: none; }
  .schedule-time-row { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 8px; margin-bottom: 12px; }
  .schedule-time-row > time { grid-column: 1; grid-row: 1 / span 5; justify-content: flex-start; min-height: 0; padding: 12px 0; border: 0; font-weight: 700; }
  .schedule-cell { grid-column: 2; min-height: 0; padding: 0; border: 0; }
  .schedule-cell:empty { display: none; }
  .schedule-event { min-height: 92px; }
  .schedule-event-day { display: block; margin-bottom: 4px; font-size: .64rem; font-weight: 750; text-transform: uppercase; opacity: .72; }
  .schedule-detail { display: block; margin-top: 24px; }
  .schedule-detail .button { width: 100%; }
  .hero-chroma path { stroke-width: 3; }
  .footer-bottom { position: static; display: grid; margin: 32px var(--pad) 0; padding-top: 22px; }
  .site-footer { padding-bottom: 84px; }
  .footer-bottom-primary { flex-wrap: wrap; }
  .footer-bottom .footer-legal { justify-content: flex-start; margin-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .editorial-reveal.is-reveal-ready { opacity: 1; transform: none; transition: none; }
  .hero-chroma { display: none; }
  .hero-tabs button.is-active::before { animation: none; transform: scaleX(1); }
  .team-orbit-core::before, .team-orbit-nodes i { animation: none; }
  .schedule-event { transition: none; }
}

/* Ajuste final de cabecera: firmas mayores y navegación propia de Studio. */
.brand { flex-basis: 164px; width: 164px; height: 46px; }
.main-nav-studio > ul { gap: clamp(8px, .82vw, 15px); }
.main-nav-studio li > a { position: relative; font-size: clamp(.67rem, .71vw, .76rem); white-space: nowrap; }
.main-nav-studio > ul > li > a::after { position: absolute; right: 0; bottom: 6px; left: 0; height: 2px; content: ""; background: var(--pink); transform: scaleX(0); transform-origin: right; transition: transform .24s ease; }
.main-nav-studio > ul > li > a:hover::after,
.main-nav-studio > ul > li > a:focus-visible::after,
.main-nav-studio > ul > li > a.is-active::after { transform: scaleX(1); transform-origin: left; }
.main-nav-studio li > a.is-active { color: var(--pink); }
.main-nav-studio .nav-search b { color: var(--pink); }
.is-studio-header { border-bottom-color: rgba(236,25,134,.38); }

/* El filtro de día convierte la cuadrícula semanal en una agenda amplia. */
.studio-schedule[data-schedule-view="day"] .schedule-head-row,
.studio-schedule[data-schedule-view="day"] .schedule-time-row { grid-template-columns: 74px minmax(0, 1fr); }
.schedule-day-filter button.is-today:not(.is-active) { color: var(--pink); border-color: rgba(236,25,134,.42); }
.editorial-reveal.is-reveal-ready { transition-delay: var(--reveal-delay, 0ms); }

/* Eslogan editorial y contacto completo de cada marca. */
.footer-brand blockquote { position: relative; max-width: 29ch; margin: 5px 0 0; padding: 6px 0 3px 24px; border-left: 1px solid rgba(255,255,255,.25); }
.footer-brand blockquote::before { position: absolute; left: 8px; top: -7px; color: var(--green-bright); content: "“"; font-family: Georgia,serif; font-size: 2.15rem; line-height: 1; }
.footer-brand blockquote p { margin: 0; color: #b5b5b5; font-family: Georgia,serif; font-size: clamp(1rem,1.05vw,1.12rem); font-style: italic; line-height: 1.6; }
.footer-brand-contact { display: grid; gap: 8px; margin-top: 19px; padding-top: 17px; border-top: 1px solid #292929; }
.footer-brand-contact > a { display: flex; width: fit-content; align-items: center; gap: 9px; color: #b7b7b7; font-size: .78rem; transition: color .2s ease, transform .2s ease; }
.footer-brand-contact > a:hover,
.footer-brand-contact > a:focus-visible { transform: translateX(3px); }
.footer-clinic-contact > a:hover,
.footer-clinic-contact > a:focus-visible { color: var(--green-bright); }
.footer-studio-contact > a:hover,
.footer-studio-contact > a:focus-visible { color: var(--pink); }
.footer-brand-contact > a svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.footer-clinic-contact > a svg { color: var(--green-bright); }
.footer-studio-contact > a svg { color: var(--pink); }
.footer-socials { display: flex; gap: 8px; margin-top: 5px; }
.footer-socials a { display: grid; width: 34px; height: 34px; place-items: center; color: var(--pink); border: 1px solid rgba(236,25,134,.6); border-radius: 50%; transition: color .2s ease, background .2s ease, transform .2s ease; }
.footer-socials a:hover,
.footer-socials a:focus-visible { color: var(--ink); background: var(--pink); transform: translateY(-2px); }
.footer-socials svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.footer-socials a:last-child svg { fill: currentColor; stroke: none; }
.footer-clinic-socials a { color: var(--green-bright); border-color: rgba(151,202,27,.62); }
.footer-clinic-socials a:hover,
.footer-clinic-socials a:focus-visible { color: var(--ink); background: var(--green-bright); }

@media (max-width: 1180px) {
  .brand { flex-basis: 140px; width: 140px; height: 39px; }
  .main-nav-studio > ul { gap: 7px; }
  .main-nav-studio li > a { font-size: .65rem; }
}

@media (max-width: 1050px) {
  .main-nav-studio li > a { font-size: .95rem; white-space: normal; }
  .main-nav-studio > ul > li > a::after { display: none; }
  .main-nav-studio li > a:hover,
  .main-nav-studio li > a:focus-visible { color: var(--pink); }
}

@media (max-width: 760px) {
  .brand { flex-basis: 112px; width: 112px; height: 31px; }
  .studio-schedule[data-schedule-view="day"] .schedule-time-row { grid-template-columns: 60px minmax(0, 1fr); }
}

@media (max-width: 390px) {
  .brand { flex-basis: 96px; width: 96px; height: 27px; }
}

/* Studio: módulo de método curado, sin la retícula heredada que solapaba textos. */
.studio-method { padding: clamp(76px, 8vw, 118px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #e9e5df; }
.studio-method > header { display: grid; grid-template-columns: minmax(150px, 190px) minmax(0, 1fr) minmax(280px, .62fr); gap: clamp(28px, 5vw, 76px); align-items: end; margin-bottom: 42px; }
.studio-method > header h2 { max-width: 850px; margin: 0; font-size: clamp(2.35rem, 3.8vw, 4.45rem); line-height: .98; letter-spacing: -.052em; }
.studio-method > header > p { max-width: 420px; margin: 0; color: #555; }
.studio-method-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(265px, 1fr)); height: min(660px, 58vw); min-height: 560px; gap: 3px; background: #161616; }
.studio-method-card { position: relative; min-width: 0; overflow: hidden; color: var(--paper); background: #111; }
.studio-method-card-1 { grid-column: 1 / 7; grid-row: 1 / 3; }
.studio-method-card-2 { grid-column: 7 / -1; grid-row: 1; }
.studio-method-card-3 { grid-column: 7 / -1; grid-row: 2; }
.studio-method-card::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 28%, rgba(0,0,0,.84) 100%); }
.studio-method-card img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform .55s cubic-bezier(.2,.72,.2,1), filter .35s ease; }
.studio-method-card-1 img { object-position: 64% center; }
.studio-method-card > span { position: absolute; z-index: 2; right: clamp(22px, 3vw, 42px); bottom: clamp(22px, 3vw, 40px); left: clamp(22px, 3vw, 42px); display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; }
.studio-method-card small { grid-column: 1 / -1; margin-bottom: 8px; color: var(--pink); font-size: .69rem; font-style: normal; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.studio-method-card strong { display: block; font-size: clamp(1.55rem, 2.4vw, 3rem); line-height: 1; letter-spacing: -.045em; }
.studio-method-card em { grid-column: 1; max-width: 470px; margin-top: 10px; color: #d0d0d0; font-size: .82rem; font-style: normal; }
.studio-method-card b { grid-column: 2; grid-row: 2 / span 2; align-self: end; color: var(--pink); font-size: 1.8rem; font-weight: 400; transition: transform .25s ease; }
.studio-method-card:hover img,
.studio-method-card:focus-visible img { transform: scale(1.025); filter: saturate(.98) contrast(1.04); }
.studio-method-card:hover b,
.studio-method-card:focus-visible b { transform: translate(4px,-4px); }
.studio-method-quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid var(--line-dark); border-top: 0; }
.studio-method-quick a { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 22px; border-right: 1px solid var(--line-dark); transition: color .22s ease, background .22s ease; }
.studio-method-quick a:last-child { border-right: 0; }
.studio-method-quick a b { color: var(--pink-dark); font-weight: 500; transition: transform .22s ease; }
.studio-method-quick a:hover,
.studio-method-quick a:focus-visible { color: var(--paper); background: var(--ink); }
.studio-method-quick a:hover b,
.studio-method-quick a:focus-visible b { color: var(--pink); transform: translate(3px,-3px); }
.studio-method-quick .is-all { color: var(--paper); background: var(--pink-dark); }
.studio-method-quick .is-all b { color: inherit; }

/* El texto completo se conserva, pero queda en un archivo editorial desplegable y legible. */
.studio-legacy-archive { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: 0 auto; padding: 34px 0 76px; border-bottom: 1px solid var(--line-dark); }
.studio-legacy-archive > summary { display: grid; grid-template-columns: minmax(190px, .5fr) minmax(0, 1fr) auto; gap: 26px; align-items: center; min-height: 86px; padding: 0 24px; border: 1px solid var(--line-dark); cursor: pointer; list-style: none; }
.studio-legacy-archive > summary::-webkit-details-marker { display: none; }
.studio-legacy-archive > summary span { color: var(--pink-dark); font-size: .69rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.studio-legacy-archive > summary strong { font-size: clamp(1.05rem, 1.6vw, 1.35rem); }
.studio-legacy-archive > summary b { color: var(--pink-dark); font-size: 1.8rem; font-weight: 400; transition: transform .25s ease; }
.studio-legacy-archive[open] > summary b { transform: rotate(45deg); }
.studio-legacy-archive > .legacy-content { padding: clamp(38px, 6vw, 78px); background: #fff; border: 1px solid var(--line-dark); border-top: 0; }
.studio-legacy-archive .legacy-content .page-content { display: block !important; }
.studio-legacy-archive .legacy-content .page-content > * { width: min(100%, 900px) !important; margin: 0 auto 28px !important; }
.studio-legacy-archive .legacy-content .page-content > h3 { padding-top: 30px; color: var(--pink-dark); border-top: 1px solid var(--line-dark); font-size: clamp(1.5rem, 2.4vw, 2.3rem); line-height: 1; }
.studio-legacy-archive .legacy-content .page-content img { width: auto; max-width: 100%; height: auto; margin: auto; }

/* Cierre de Studio: dos decisiones claras y contacto directo, sin vacío decorativo. */
.studio-start { display: grid; grid-template-columns: minmax(250px, .72fr) minmax(500px, 1.35fr) minmax(210px, .5fr); gap: clamp(30px, 4vw, 66px); padding: clamp(66px, 7vw, 100px) max(var(--pad), calc((100% - var(--container)) / 2)); border-top: 3px solid var(--pink); }
.studio-start h2 { max-width: 560px; margin: 0 0 18px; font-size: clamp(2.2rem, 3.3vw, 3.9rem); line-height: .98; letter-spacing: -.05em; }
.studio-start header > p:last-child { max-width: 420px; margin: 0; color: #aaa; }
.studio-start-options { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; align-self: stretch; background: #3a3a3a; }
.studio-start-options > a { position: relative; display: flex; min-height: 250px; flex-direction: column; justify-content: flex-end; padding: 30px; background: #151515; transition: background .25s ease, transform .25s ease; }
.studio-start-options small { margin-bottom: auto; color: var(--pink); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.studio-start-options strong { max-width: 260px; font-size: clamp(1.35rem, 2vw, 2rem); line-height: 1.03; }
.studio-start-options span { display: block; max-width: 300px; margin-top: 14px; color: #999; font-size: .82rem; }
.studio-start-options b { position: absolute; top: 28px; right: 28px; color: var(--pink); font-size: 1.45rem; font-weight: 400; transition: transform .22s ease; }
.studio-start-options > a:hover,
.studio-start-options > a:focus-visible { background: #20161c; transform: translateY(-3px); }
.studio-start-options > a:hover b,
.studio-start-options > a:focus-visible b { transform: translate(4px,-4px); }
.studio-start aside { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding-left: 28px; border-left: 1px solid #333; }
.studio-start aside > span { margin-bottom: 16px; color: #777; font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.studio-start aside > a:not(.button) { margin: 5px 0; color: #ccc; font-size: .82rem; }
.studio-start aside > a:not(.button):hover { color: var(--pink); }
.studio-start aside .button { width: 100%; margin-top: 24px; }

/* Las páginas interiores de Studio ocupan el ancho correcto y cierran con la CTA, nunca al inicio. */
.studio-content-page .content-shell:not(.legal-shell) { grid-template-columns: minmax(0, 1fr); width: min(calc(100% - (var(--pad) * 2)), 1180px); }
.studio-content-page .content-shell:not(.legal-shell) > .legacy-content { grid-column: 1; width: 100%; max-width: none; }
.studio-content-page .content-shell:not(.legal-shell) > .call-card { grid-column: 1; order: 3; margin-top: 58px; }
.studio-content-page .legacy-content .page-content { display: block !important; }
.studio-content-page .legacy-content .page-content > * { width: min(100%, 920px) !important; margin-right: auto !important; margin-left: auto !important; }
.studio-content-page .legacy-content .page-content > h3 { margin-top: 62px !important; margin-bottom: 18px !important; padding: 22px 0 0 24px; color: var(--ink); border-top: 1px solid var(--line-dark); border-left: 3px solid var(--pink); font-size: clamp(1.55rem, 2.8vw, 2.75rem); line-height: 1; letter-spacing: -.04em; }
.studio-content-page .legacy-content .page-content > h3:nth-of-type(even) { padding-right: 24px; padding-left: 0; border-right: 3px solid var(--pink); border-left: 0; text-align: right; }
.studio-content-page .legacy-content .page-content > p { margin-bottom: 34px !important; color: #444; font-size: 1.02rem; line-height: 1.72; }
.studio-content-page .legacy-content .page-content > .legacy-media,
.studio-content-page .legacy-content .page-content > p:has(img) { width: min(100%, 1120px) !important; margin-top: 48px !important; margin-bottom: 54px !important; padding: clamp(18px, 3vw, 34px); background: #e7e2df; }
.studio-content-page .legacy-content .page-content img { width: auto; max-width: 100%; height: auto; margin: auto; object-fit: contain; }

/* Submenú de disciplinas dentro de la navegación propia de Studio. */
.main-nav-studio li > a { font-size: .74rem; }
.main-nav-studio .studio-disciplines-menu .nav-parent > a { position: relative; }
.main-nav-studio .studio-disciplines-menu .nav-parent > a::after { position: absolute; right: 0; bottom: 6px; left: 0; height: 2px; content: ""; background: var(--pink); transform: scaleX(0); transform-origin: right; transition: transform .24s ease; }
.main-nav-studio .studio-disciplines-menu:hover .nav-parent > a::after,
.main-nav-studio .studio-disciplines-menu:focus-within .nav-parent > a::after,
.main-nav-studio .studio-disciplines-menu .nav-parent > a.is-active::after { transform: scaleX(1); transform-origin: left; }
.main-nav-studio .studio-disciplines-menu .submenu-toggle { color: var(--pink); }
.studio-discipline-submenu { left: 50%; width: min(830px, calc(100vw - 40px)); transform: translate(-46%,-8px); }
.has-submenu:hover .studio-discipline-submenu,
.has-submenu:focus-within .studio-discipline-submenu,
.has-submenu.is-open .studio-discipline-submenu { transform: translate(-46%,0); }
.studio-discipline-submenu .submenu-studio-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.is-studio-header .studio-discipline-submenu p { color: var(--pink); }
.is-studio-header .studio-discipline-submenu a:hover,
.is-studio-header .studio-discipline-submenu a:focus-visible,
.is-studio-header .studio-discipline-submenu a[aria-current="page"] { color: var(--paper); background: rgba(236,25,134,.14); }

@media (max-width: 1050px) {
  .studio-method > header { grid-template-columns: 150px minmax(0, 1fr); }
  .studio-method > header > p { grid-column: 2; }
  .studio-start { grid-template-columns: 1fr; }
  .studio-start-options { grid-template-columns: 1fr 1fr; }
  .studio-start aside { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 22px; align-items: center; padding: 26px 0 0; border-top: 1px solid #333; border-left: 0; }
  .studio-start aside > span { grid-column: 1 / -1; margin: 0; }
  .studio-start aside .button { grid-column: 3; grid-row: 2 / span 2; width: auto; margin: 0; }
  .studio-discipline-submenu,
  .has-submenu:hover .studio-discipline-submenu,
  .has-submenu:focus-within .studio-discipline-submenu,
  .has-submenu.is-open .studio-discipline-submenu { left: auto; width: 100%; transform: none; }
  .studio-discipline-submenu .submenu-studio-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .studio-method { padding-right: 20px; padding-left: 20px; }
  .studio-method > header { display: block; }
  .studio-method > header .section-kicker { margin-bottom: 32px; }
  .studio-method > header > p { margin-top: 20px; }
  .studio-method-grid { display: grid; height: auto; min-height: 0; grid-template-columns: 1fr; grid-template-rows: none; gap: 3px; }
  .studio-method-card-1,
  .studio-method-card-2,
  .studio-method-card-3 { grid-column: 1; grid-row: auto; min-height: 330px; }
  .studio-method-card > span { right: 22px; bottom: 22px; left: 22px; }
  .studio-method-card strong { font-size: 1.7rem; }
  .studio-method-quick { grid-template-columns: 1fr; }
  .studio-method-quick a { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .studio-legacy-archive { width: calc(100% - 40px); }
  .studio-legacy-archive > summary { display: flex; min-height: 0; flex-wrap: wrap; padding: 20px; }
  .studio-legacy-archive > summary b { margin-left: auto; }
  .studio-legacy-archive > .legacy-content { padding: 26px 20px; }
  .studio-start-options { grid-template-columns: 1fr; }
  .studio-start-options > a { min-height: 220px; }
  .studio-start aside { display: flex; align-items: flex-start; }
  .studio-start aside .button { width: 100%; margin-top: 20px; }
  .studio-content-page .content-shell:not(.legal-shell) { width: calc(100% - 40px); }
  .studio-content-page .legacy-content .page-content > h3,
  .studio-content-page .legacy-content .page-content > h3:nth-of-type(even) { margin-top: 44px !important; padding: 18px 0 0 18px; border-right: 0; border-left: 3px solid var(--pink); text-align: left; }
}

@media (max-width: 560px) {
  .site-footer { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .footer-brand { grid-column: 1; }
  .footer-brand-contact > a { max-width: 100%; min-width: 0; }
  .footer-brand-contact > a span { min-width: 0; overflow-wrap: anywhere; }
  .footer-bottom { grid-column: 1; margin-right: 0; margin-left: 0; }
}

/* Iteracion 34: cabecera por universos, contacto directo y composiciones vivas. */
.site-header,
.site-header.is-compact { height: auto; }
.contact-rail { height: 36px; color: #c7c7c7; background: linear-gradient(90deg, #0a0d08 0%, #0b0b0b 48%, #0d080b 100%); border-bottom: 1px solid rgba(255,255,255,.1); }
.contact-rail-inner { display: flex; width: min(100%, var(--container)); height: 100%; align-items: center; justify-content: flex-end; gap: clamp(18px, 2.2vw, 38px); margin: auto; padding: 0 var(--pad); }
.contact-space { display: flex; min-width: 0; align-items: center; gap: 10px; }
.contact-space > strong { color: #858585; font-size: .65rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-space-studio { padding-left: clamp(18px, 2.2vw, 38px); border-left: 1px solid rgba(255,255,255,.12); }
.contact-space-actions { display: inline-flex; align-items: center; gap: 2px; }
.contact-space-number { color: #dedede; font-size: .72rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.contact-rail-action { display: inline-flex; width: 28px; min-height: 28px; align-items: center; justify-content: center; padding: 0; border: 1px solid transparent; border-radius: 50%; transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease; }
.contact-rail-action .contact-card-icon { width: 17px; height: 17px; color: currentColor; background: none; border-radius: 0; }
.contact-rail-action .contact-card-icon svg { width: 14px; height: 14px; }
.contact-space-clinic .contact-rail-action { color: var(--green-bright); }
.contact-space-studio .contact-rail-action { color: var(--pink); }
.contact-space-clinic .contact-rail-action:hover,
.contact-space-clinic .contact-rail-action:focus-visible { color: var(--green-bright); background: rgba(168,210,27,.09); border-color: currentColor; transform: translateY(-1px); }
.contact-space-studio .contact-rail-action:hover,
.contact-space-studio .contact-rail-action:focus-visible { color: var(--pink); background: rgba(236,25,134,.09); border-color: currentColor; transform: translateY(-1px); }
.contact-rail-action:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }

.header-inner { height: 98px; gap: clamp(14px, 1.45vw, 24px); transition: height .25s ease; }
.site-header.is-compact .header-inner { height: 78px; }
.header-inner .brand.brand-primary { flex: 0 0 auto; width: auto; overflow: hidden; }
.brand-primary-clinic { width: 230px !important; height: 62px !important; }
.brand-primary-studio { width: 220px !important; height: 64px !important; }
.brand-primary-clinic img { object-fit: contain; }
.brand-primary-studio img { object-fit: cover; object-position: center; }
.universe-switch { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 28px 64px; width: 204px; min-width: 204px; min-height: 98px; align-content: center; gap: 0; margin-left: clamp(16px, 1.7vw, 30px); margin-right: auto; padding: 2px 12px 2px 16px; overflow: hidden; background: #080808; border: 1px solid #373737; transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease; }
.universe-switch::before { position: absolute; left: -1px; top: -1px; bottom: -1px; width: 3px; content: ""; background: currentColor; }
.universe-switch-logo { grid-column: 1; grid-row: 2; display: block; width: 100%; max-width: 100%; min-width: 0; height: 64px; background: transparent; object-fit: contain; object-position: left center; }
.universe-switch-studio .universe-switch-logo { object-fit: contain; object-position: left center; mix-blend-mode: screen; }
.universe-switch b { grid-column: 1; grid-row: 1; display: grid; width: 28px; height: 28px; place-items: center; align-self: center; justify-self: end; color: currentColor; border: 1px solid currentColor; border-radius: 50%; font-size: 1.16rem; font-weight: 750; line-height: 1; transition: color .22s ease, background-color .22s ease, transform .22s ease; }
.universe-switch-studio { color: var(--pink); }
.universe-switch-clinic { color: var(--green-bright); }
.universe-switch:hover,
.universe-switch:focus-visible { background: #0b0b0b; border-color: currentColor; box-shadow: 0 0 0 1px currentColor inset, 0 12px 28px rgba(0,0,0,.32); transform: translateY(-2px); }
.universe-switch:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.universe-switch:active { box-shadow: 0 0 0 1px currentColor inset, 0 6px 16px rgba(0,0,0,.24); transform: translateY(0) scale(.985); }
.universe-switch:hover b,
.universe-switch:focus-visible b { transform: translate(2px,-2px); }
.universe-switch-studio:hover b,
.universe-switch-studio:focus-visible b { color: #080808; background: var(--pink); border-color: var(--pink); }
.universe-switch-clinic:hover b,
.universe-switch-clinic:focus-visible b { color: #080808; background: var(--green-bright); border-color: var(--green-bright); }
@media (min-width: 1051px) {
  .site-header.is-compact .header-inner { height: 86px; }
  .site-header.is-compact .universe-switch { grid-template-rows: 22px 56px; width: 180px; min-width: 180px; min-height: 84px; padding: 2px 10px 2px 13px; }
  .site-header.is-compact .universe-switch-logo { height: 56px; }
  .site-header.is-compact .universe-switch b { width: 22px; height: 22px; font-size: .94rem; }
}
.main-nav > ul { gap: clamp(11px, 1vw, 20px); }
.main-nav li > a,
.nav-parent > a { font-size: clamp(.82rem, .86vw, .94rem); }
.main-nav-studio > ul { gap: clamp(7px, .72vw, 14px); }
.main-nav-studio li > a,
.main-nav-studio .nav-parent > a { font-size: clamp(.76rem, .78vw, .84rem); }
.hero,
.hero-slides,
.hero-slide { height: min(820px, calc(100svh - 130px)); }
.topic-nav { top: 114px; }

/* WhatsApp conserva la accion real, pero adopta la identidad del espacio actual. */
.whatsapp-button { width: 62px; height: 62px; color: #102006; background: var(--green-bright); }
.is-studio-tools .whatsapp-button { color: #fff; background: var(--pink-dark); }
.whatsapp-button:hover,
.whatsapp-button:focus-visible { width: 242px; }
.whatsapp-button svg { flex-basis: 62px; width: 62px; height: 62px; padding: 16px; }
.whatsapp-label { display: grid; max-width: 0; padding-left: 0; line-height: 1.1; }
.whatsapp-label small { margin-bottom: 3px; font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; opacity: .72; }
.whatsapp-label strong { font-size: .9rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.whatsapp-button:hover .whatsapp-label,
.whatsapp-button:focus-visible .whatsapp-label { max-width: 168px; }

/* Metodo Salux: informacion completa alrededor de un nucleo comun. */
.method-section { row-gap: clamp(20px, 2.2vw, 32px); }
.method-copy .lead { max-width: 760px; margin-bottom: 0; }
.method-orbit { grid-column: 1 / -1; margin-top: 0; }
.method-orbit-stage { position: relative; width: min(100%, 1320px); height: 760px; margin: 0 auto; }
.method-orbit-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; }
.method-orbit-guide { fill: none; stroke: rgba(77,108,0,.22); stroke-width: 1; stroke-dasharray: 4 10; }
.method-orbit-track { fill: none; stroke: rgba(18,18,18,.13); stroke-width: 1.2; }
.method-orbit-traveller { fill: var(--green-dark); transform-box: view-box; transform-origin: 550px 380px; animation: method-orbit-travel 16s linear infinite; }
.method-orbit-traveller-b { fill: var(--pink-dark); animation-direction: reverse; animation-duration: 21s; }
@keyframes method-orbit-travel { to { transform: rotate(360deg); } }
.method-orbit-core { position: absolute; z-index: 2; left: 50%; top: 50%; display: flex; width: 232px; height: 232px; flex-direction: column; align-items: center; justify-content: center; padding: 30px; color: var(--paper); background: var(--ink); border-radius: 50%; box-shadow: 0 28px 70px rgba(52,49,40,.2); text-align: center; transform: translate(-50%,-50%); }
.method-orbit-core::before { position: absolute; inset: -14px; content: ""; border: 1px dashed rgba(77,108,0,.48); border-radius: 50%; animation: method-core-spin 24s linear infinite; }
@keyframes method-core-spin { to { transform: rotate(-360deg); } }
.method-orbit-core img { width: 54px; height: 54px; margin-bottom: 12px; border-radius: 10px; }
.method-orbit-core span { color: var(--green-bright); font-size: .64rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.method-orbit-core strong { margin: 5px 0 7px; font-size: 2rem; line-height: 1; letter-spacing: -.05em; }
.method-orbit-core small { max-width: 16ch; color: #9c9c9c; font-size: .68rem; }
.method-orbit-list { margin: 0; padding: 0; list-style: none; }
.method-orbit-node { position: absolute; z-index: 3; width: min(27%, 340px); }
.method-orbit-node::before { position: absolute; z-index: -1; content: ""; background: rgba(77,108,0,.3); }
.method-orbit-node article { position: relative; min-height: 0; padding: 18px 4px 0 20px; background: transparent; border-top: 1px solid rgba(77,108,0,.56); box-shadow: none; transition: transform .3s cubic-bezier(.2,.72,.2,1); }
.method-orbit-node article::before { position: absolute; left: 0; top: -2px; width: 42px; height: 3px; content: ""; background: var(--green-dark); }
.method-orbit-node article::after { position: absolute; width: 8px; height: 8px; content: ""; background: var(--green-bright); border-radius: 50%; box-shadow: 0 0 0 5px rgba(168,210,27,.11); }
.method-orbit-node:hover article { transform: translateY(-3px); }
.method-orbit-node-1 { left: 0; top: 34px; }
.method-orbit-node-1::before,
.method-orbit-node-4::before { left: 100%; top: 21px; width: 28px; height: 1px; }
.method-orbit-node-1 article::after,
.method-orbit-node-4 article::after { right: -34px; top: 17px; background: var(--pink-dark); box-shadow: 0 0 0 5px rgba(236,25,134,.1); }
.method-orbit-node-2 { right: 0; top: 34px; }
.method-orbit-node-2::before,
.method-orbit-node-3::before { right: 100%; top: 21px; width: 28px; height: 1px; }
.method-orbit-node-2 article::after,
.method-orbit-node-3 article::after { left: -34px; top: 17px; }
.method-orbit-node-3 { right: 0; bottom: 34px; }
.method-orbit-node-4 { left: 0; bottom: 34px; }
.method-orbit-node span { display: block; margin-bottom: 14px; color: var(--green-dark); font-size: .7rem; font-weight: 750; letter-spacing: .11em; }
.method-orbit-node-1 span { color: var(--pink-dark); }
.method-orbit-node h3 { margin: 0 0 10px; font-size: clamp(1.2rem, 1.4vw, 1.5rem); line-height: 1.05; letter-spacing: -.035em; }
.method-orbit-node p { margin: 0; color: #555; font-size: .77rem; line-height: 1.58; }
.method-orbit-note { width: min(100%, 720px); margin: 10px auto 0; color: #666; font-size: .83rem; text-align: center; }

/* Guia clinica: un rail sutil enlaza tres superficies alineadas. */
.home-guide-cards { position: relative; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); align-items: stretch; margin-top: -36px; padding: 42px 0 28px; }
.home-guide-rail { position: absolute; left: 3%; right: 3%; top: 0; height: 1px; background: linear-gradient(90deg, rgba(77,108,0,.16), rgba(77,108,0,.5) 18%, rgba(236,25,134,.38) 52%, rgba(77,108,0,.32) 82%, rgba(77,108,0,.12)); }
.home-guide-rail::before { position: absolute; left: 0; top: -2px; width: 5px; height: 5px; content: ""; background: var(--green-dark); border-radius: 50%; }
.home-guide-rail i { position: absolute; inset: -1px 0 auto; height: 3px; background: linear-gradient(90deg, transparent, var(--pink) 72%, transparent); opacity: 0; transform: scaleX(.04); transform-origin: left; animation: home-guide-pulse 9s ease-in-out infinite; }
@keyframes home-guide-pulse { 0%, 12% { opacity: 0; transform: scaleX(.04); } 28%, 72% { opacity: .5; } 88%, 100% { opacity: 0; transform: scaleX(1); } }
.home-guide-card { position: relative; min-height: 390px; padding: clamp(28px, 2.7vw, 40px); background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(244,241,233,.94)); border: 1px solid rgba(77,68,52,.08); box-shadow: 0 20px 52px rgba(94,82,60,.13), 0 3px 10px rgba(94,82,60,.07); transition: transform .32s cubic-bezier(.2,.72,.2,1), box-shadow .32s ease; }
.home-guide-card::after { position: absolute; left: 50%; bottom: 100%; width: 1px; height: 42px; content: ""; background: linear-gradient(rgba(77,108,0,.42), rgba(77,108,0,.08)); }
.home-guide-card::before { position: absolute; left: 0; top: 0; width: 68px; height: 4px; content: ""; background: var(--green-dark); transition: width .32s ease; }
.home-guide-card:hover,
.home-guide-card:focus-visible { outline: 0; transform: translateY(-6px) scale(1.008); box-shadow: 0 30px 72px rgba(94,82,60,.2), 0 6px 18px rgba(94,82,60,.1); }
.home-guide-card:focus-visible { box-shadow: 0 0 0 3px var(--green-bright), 0 30px 72px rgba(94,82,60,.2); }
.home-guide-card:hover::before,
.home-guide-card:focus-visible::before { width: 132px; }
.home-guide-card-1 { grid-column: 1 / 5; }
.home-guide-card-2 { grid-column: 5 / 9; color: var(--paper); background: radial-gradient(circle at 88% 8%, rgba(236,25,134,.12), transparent 28%), #1a1919; border-color: rgba(255,255,255,.07); box-shadow: 0 24px 58px rgba(44,37,41,.22), 0 4px 12px rgba(44,37,41,.12); }
.home-guide-card-2::before { background: var(--pink); }
.home-guide-card-3 { grid-column: 9 / 13; background: linear-gradient(145deg, #edf2da, #dfe8bd); border-color: rgba(77,108,0,.12); }
.home-guide-index { display: flex; justify-content: space-between; gap: 18px; margin-bottom: clamp(38px, 4.2vw, 64px); color: var(--green-dark); font-size: .72rem; font-weight: 750; font-variant-numeric: tabular-nums; }
.home-guide-index small { color: #777; font-size: .62rem; font-weight: 650; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.home-guide-card-2 .home-guide-index { color: var(--pink); }
.home-guide-card-2 .home-guide-index small { color: #888; }
.home-guide-card h3 { max-width: 16ch; margin: 0 0 22px; font-size: clamp(1.45rem, 2.1vw, 2.15rem); line-height: 1; letter-spacing: -.045em; }
.home-guide-card p { max-width: 48ch; color: #4f4f4f; font-size: .88rem; line-height: 1.62; }
.home-guide-card-2 p { color: #bdbdbd; }
.home-guide-card.is-reveal-ready,
.method-orbit-node.is-reveal-ready { opacity: 0; transform: translateY(24px); }
.method-orbit-node-3.is-reveal-ready { transform: translate(-50%,24px); }
.home-guide-card.is-reveal-ready.is-in-view,
.method-orbit-node.is-reveal-ready.is-in-view { opacity: 1; transform: none; transition: opacity .55s ease, transform .65s cubic-bezier(.2,.7,.2,1); transition-delay: var(--card-delay, 0ms); }
.method-orbit-node-3.is-reveal-ready.is-in-view { transform: translateX(-50%); }

/* Horario Studio: guias de tiempo, aire entre dias y clases suspendidas. */
.studio-schedule { background: #ebe6e2; }
.schedule-controls { border-radius: 2px; box-shadow: 0 18px 42px rgba(38,31,35,.13); }
.schedule-layout { grid-template-columns: minmax(0, 1fr) 310px; gap: clamp(20px, 2.5vw, 34px); }
.schedule-board { overflow: visible; background: transparent; border: 0; box-shadow: none; }
.schedule-grid { min-width: 0; }
.schedule-head-row { top: 128px; color: var(--ink); background: transparent; border-bottom: 1px solid rgba(18,18,18,.28); }
.schedule-head-row > * { min-height: 56px; padding: 10px 12px; border: 0; }
.schedule-head-row > span { color: #777; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.schedule-head-row strong { justify-content: center; color: #5a5a5a; font-size: .72rem; }
.schedule-time-row { position: relative; min-height: 132px; }
.schedule-time-row::before { position: absolute; z-index: 0; left: 74px; right: 0; top: 0; height: 1px; content: ""; background: rgba(18,18,18,.13); }
.schedule-time-row > time { z-index: 1; min-height: 132px; justify-content: flex-start; padding: 16px 10px 0 0; color: #4c4c4c; border: 0; font-size: .78rem; font-weight: 750; }
.schedule-cell { z-index: 1; min-height: 132px; padding: 10px 7px 16px; border: 0; }
.schedule-cell:nth-child(3) { --event-shift: 8px; }
.schedule-cell:nth-child(4) { --event-shift: 2px; }
.schedule-cell:nth-child(5) { --event-shift: 11px; }
.schedule-cell:nth-child(6) { --event-shift: 5px; }
.schedule-event { min-height: 102px; padding: 15px 30px 14px 15px; border: 1px solid rgba(18,18,18,.1); border-radius: 16px 16px 16px 5px; box-shadow: 0 12px 26px rgba(47,39,42,.12); transform: translateY(var(--event-shift, 0)); }
.schedule-event:hover,
.schedule-event:focus-visible { transform: translateY(calc(var(--event-shift, 0px) - 5px)) rotate(-.6deg); box-shadow: 0 18px 34px rgba(47,39,42,.2); }
.schedule-event[aria-pressed="true"] { outline: 3px solid var(--pink-dark); outline-offset: 2px; }
.schedule-event-pilates { background: #f5c7de; }
.schedule-event-yoga { color: #fff; background: #a91565; }
.schedule-event-movement { background: #c8de78; }
.schedule-event-aerial { color: #fff; background: #202020; }
.schedule-event-recovery { color: #fff; background: #6b477b; }
.schedule-event-workshop { background: #79d2d1; }
.schedule-detail { top: 128px; overflow: hidden; min-height: 350px; padding: 34px; background: radial-gradient(circle at 88% 10%, rgba(236,25,134,.2), transparent 34%), #151315; border: 0; border-radius: 2px; box-shadow: 0 28px 68px rgba(43,32,39,.22); }
.schedule-detail::before { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; content: ""; background: var(--pink); }

/* Ritmo editorial para otras rejillas repetitivas en pantallas amplias. */
@media (min-width: 1181px) {
  .space-editorial-grid { grid-template-columns: 1.12fr .88fr; gap: 24px; background: transparent; border: 0; }
  .space-editorial-card { box-shadow: 0 24px 58px rgba(54,49,40,.1); }
  .space-editorial-card.studio { margin-top: 52px; }
  .archive-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .archive-grid > .article-card { grid-column: span 4; }
  .archive-grid > .article-card:nth-child(6n+1) { grid-column: span 5; }
  .archive-grid > .article-card:nth-child(6n+2) { grid-column: span 3; margin-top: 54px; }
  .archive-grid > .article-card:nth-child(6n+3) { grid-column: span 4; margin-top: 18px; }
  .archive-grid > .article-card:nth-child(6n+4) { grid-column: span 4; margin-top: 38px; }
  .archive-grid > .article-card:nth-child(6n+5) { grid-column: span 5; }
  .archive-grid > .article-card:nth-child(6n+6) { grid-column: span 3; margin-top: 72px; }
  .discipline-groups { grid-template-columns: 1.08fr .88fr 1.04fr; align-items: start; }
  .discipline-group:nth-child(2) { margin-top: 48px; }
  .team-grid { grid-template-columns: 1.08fr .9fr 1.02fr; align-items: start; }
  .team-grid .team-card:nth-child(3n+2) { margin-top: 48px; }
}

@media (max-width: 1280px) {
  .brand-primary-clinic { width: 194px !important; height: 53px !important; }
  .brand-primary-studio { width: 186px !important; height: 54px !important; }
  .universe-switch { grid-template-rows: 24px 60px; width: 190px; min-width: 190px; min-height: 90px; margin-left: 12px; padding-right: 10px; padding-left: 13px; }
  .universe-switch-logo { height: 60px; }
  .universe-switch b { width: 24px; height: 24px; font-size: 1rem; }
  .main-nav > ul { gap: 8px; }
  .main-nav li > a,
  .nav-parent > a { font-size: .79rem; }
  .main-nav-studio li > a,
  .main-nav-studio .nav-parent > a { font-size: .72rem; }
}

@media (max-width: 1050px) {
  .contact-rail { height: 42px; }
  .contact-rail-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .contact-space { justify-content: center; }
  .contact-space-studio { padding-left: 12px; }
  .header-inner,
  .site-header.is-compact .header-inner { height: 80px; }
  .brand-primary-clinic { width: 184px !important; height: 51px !important; }
  .brand-primary-studio { width: 176px !important; height: 51px !important; }
  .universe-switch { grid-template-rows: 22px 51px; width: 160px; min-width: 160px; min-height: 79px; margin-left: 8px; }
  .universe-switch-logo { height: 51px; }
  .universe-switch b { width: 22px; height: 22px; font-size: .94rem; }
  .main-nav,
  .main-nav.main-nav-studio { inset: 122px 0 auto; max-height: calc(100dvh - 122px); overflow-y: auto; }
  .main-nav > ul,
  .main-nav-studio > ul { display: block; }
  .main-nav li > a,
  .main-nav-studio li > a,
  .nav-parent > a,
  .main-nav-studio .nav-parent > a { font-size: .98rem; }
  .menu-toggle { flex: 0 0 auto; }
  .topic-nav { top: 122px; }
  .method-orbit-stage { height: 680px; }
  .method-orbit-node { width: min(36%, 320px); }
  .method-orbit-node article { min-height: 206px; padding: 24px; }
  .home-guide-cards { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .home-guide-card-1 { grid-column: 1 / 5; }
  .home-guide-card-2 { grid-column: 5 / 9; }
  .home-guide-card-3 { grid-column: 9 / 13; width: auto; margin: 0; }
  .schedule-layout { grid-template-columns: 1fr; }
  .schedule-detail { position: static; }
}

@media (max-width: 1050px) {
  .method-orbit-stage { display: flex; width: 100%; height: auto; flex-direction: column; }
  .method-orbit-lines { display: none; }
  .method-orbit-core { position: relative; left: auto; top: auto; order: 1; width: 210px; height: 210px; margin: 0 auto 44px; transform: none; }
  .method-orbit-list { order: 2; display: grid; gap: 16px; }
  .method-orbit-node,
  .method-orbit-node-1,
  .method-orbit-node-2,
  .method-orbit-node-3,
  .method-orbit-node-4 { position: static; width: 100%; transform: none; }
  .method-orbit-node::before { display: none; }
  .method-orbit-node article { min-height: 0; padding-right: 0; }
  .method-orbit-node article::after { right: 10px; left: auto; top: -5px; }
  .method-orbit-node-3.is-reveal-ready,
  .method-orbit-node-3.is-reveal-ready.is-in-view { transform: none; }
}

@media (max-width: 760px) {
  .contact-rail { height: 58px; }
  .contact-rail-inner { padding: 0 12px; }
  .contact-space { display: grid; grid-template-columns: auto auto; grid-template-rows: 15px 30px; gap: 0 4px; align-content: center; justify-content: center; }
  .contact-space > strong { grid-column: 1 / -1; color: #8e8e8e; font-size: .52rem; text-align: center; }
  .contact-space-studio { padding-left: 6px; }
  .contact-space-actions { gap: 0; }
  .contact-rail-action { width: 28px; min-height: 28px; }
  .contact-space-number { align-self: center; font-size: .57rem; white-space: nowrap; }
  .header-inner,
  .site-header.is-compact .header-inner { height: 80px; padding-right: 14px; padding-left: 14px; gap: 10px; }
  .brand-primary-clinic { width: 146px !important; height: 42px !important; }
  .brand-primary-studio { width: 140px !important; height: 42px !important; }
  .universe-switch { grid-template-rows: 20px 48px; width: 150px; min-width: 150px; min-height: 76px; margin-left: 4px; padding: 2px 7px 4px 10px; }
  .universe-switch-logo { height: 48px; }
  .universe-switch b { display: grid; width: 20px; height: 20px; font-size: .86rem; }
  .menu-toggle { gap: 7px; font-size: .76rem; }
  .main-nav,
  .main-nav.main-nav-studio { inset: 134px 0 auto; max-height: calc(100dvh - 134px); }
  .hero,
  .hero-slides,
  .hero-slide { height: auto; min-height: 690px; }
  .home-guide-cards { display: grid; grid-template-columns: 1fr; gap: 24px; margin-top: 18px; padding: 0 0 12px 26px; }
  .home-guide-rail { left: 7px; right: auto; top: 0; bottom: 0; width: 1px; height: auto; background: linear-gradient(rgba(77,108,0,.18), rgba(236,25,134,.34), rgba(77,108,0,.22)); }
  .home-guide-rail i { display: none; }
  .home-guide-card,
  .home-guide-card-1,
  .home-guide-card-2,
  .home-guide-card-3 { grid-column: 1; width: 100%; min-height: 0; margin: 0; }
  .home-guide-card::after { right: 100%; left: auto; top: 28px; bottom: auto; width: 19px; height: 1px; background: rgba(77,108,0,.38); }
  .home-guide-index { margin-bottom: 34px; }
  .method-orbit-core { width: 184px; height: 184px; }
  .method-orbit-node p { font-size: .94rem; }
  .schedule-controls { position: static; }
  .schedule-day-filter { display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding-bottom: 3px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .schedule-day-filter::-webkit-scrollbar { display: none; }
  .schedule-day-filter button { flex: 0 0 auto; min-width: 92px; scroll-snap-align: start; }
  .schedule-board { overflow: visible; }
  .schedule-time-row::before { left: 0; }
  .schedule-time-row { grid-template-columns: 54px minmax(0, 1fr); gap: 10px; margin-bottom: 8px; }
  .schedule-time-row > time { min-height: 0; padding-top: 14px; }
  .schedule-cell { min-height: 0; padding: 6px 0 10px; --event-shift: 0 !important; }
  .schedule-event,
  .schedule-event:hover,
  .schedule-event:focus-visible { min-height: 96px; transform: none; }
  .schedule-detail { margin-top: 22px; border-radius: 0; }
  .whatsapp-button { width: 204px; }
  .whatsapp-label,
  .whatsapp-button .whatsapp-label { max-width: 142px; opacity: 1; }
}

@media (max-width: 390px) {
  .brand-primary-clinic { width: 136px !important; height: 39px !important; }
  .brand-primary-studio { width: 132px !important; height: 39px !important; }
  .universe-switch { grid-template-rows: 20px 36px; width: 116px; min-width: 116px; min-height: 64px; margin-left: 2px; }
  .universe-switch-logo { height: 36px; }
  .menu-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .home-guide-card { padding: 26px 22px; }
  .schedule-day-filter button { min-width: 84px; }
  .whatsapp-button { width: 188px; height: 56px; }
  .whatsapp-button svg { flex-basis: 56px; width: 56px; height: 56px; }
}

@media (prefers-reduced-motion: reduce) {
  .method-orbit-traveller,
  .method-orbit-core::before,
  .home-guide-rail i { animation: none; }
  .home-guide-rail i { display: none; }
  .method-orbit-stage { display: flex; width: 100%; height: auto; flex-direction: column; }
  .method-orbit-lines { display: none; }
  .method-orbit-core { position: relative; left: auto; top: auto; order: 1; width: 210px; height: 210px; margin: 0 auto 44px; transform: none; }
  .method-orbit-list { order: 2; display: grid; gap: 16px; }
  .method-orbit-node,
  .method-orbit-node-1,
  .method-orbit-node-2,
  .method-orbit-node-3,
  .method-orbit-node-4 { position: static; width: 100%; transform: none; }
  .method-orbit-node::before { display: none; }
  .method-orbit-node article { min-height: 0; }
  .method-orbit-node article,
  .home-guide-card,
  .universe-switch,
  .schedule-event { transition: none; }
  .home-guide-card.is-reveal-ready,
  .method-orbit-node.is-reveal-ready,
  .home-guide-card.is-reveal-ready.is-in-view,
  .method-orbit-node.is-reveal-ready.is-in-view,
  .method-orbit-node-3.is-reveal-ready,
  .method-orbit-node-3.is-reveal-ready.is-in-view { opacity: 1; transform: none; }
}

/* Revisión de legibilidad: cuerpo auxiliar cómodo sin sobredimensionar microetiquetas. */
.method-orbit-stage { height: 780px; }
.method-orbit-node p { color: #3f3f3f; font-size: clamp(.9rem, .86rem + .12vw, .98rem); line-height: 1.66; }
.method-orbit-note { color: #505050; font-size: .9rem; line-height: 1.55; }
.home-guide-card { min-height: 420px; }
.home-guide-card p { color: #3f3f3f; font-size: 1rem; line-height: 1.68; }
.home-guide-card-2 p { color: #d0d0d0; }

.main-nav li > a,
.nav-parent > a,
.main-nav-studio li > a,
.main-nav-studio .nav-parent > a { font-size: clamp(.875rem, .82rem + .12vw, .94rem); }
.page-toc a,
.article-toc a,
.topic-nav a,
.testimony-topics a,
.schedule-day-filter button { font-size: .875rem; line-height: 1.45; }
.breadcrumbs,
.article-meta,
.footer-bottom { font-size: .875rem; line-height: 1.45; }
.hero-media figcaption,
.treatment-image figcaption,
.disciplines-hero figcaption,
.team-portrait figcaption,
.legacy-content figcaption,
.article-content figcaption { font-size: .875rem; line-height: 1.45; }

.contact-detail-card em,
.form-consent,
.form-helper,
.form-status,
.author-card > a,
.schedule-status,
.contact-map-ticket p { font-size: .9rem; line-height: 1.55; }
.contact-form label:not(.form-consent),
.nutrition-data-grid label { font-size: .82rem; }
.discipline-group header p,
.nutrition-test-intro li,
.studio-method-card em,
.studio-start-options span { font-size: .94rem; line-height: 1.58; }
.discipline-group nav small { font-size: .86rem; line-height: 1.5; }
.medical-note p { font-size: .95rem; line-height: 1.55; }
.contact-space-number { font-size: .78rem; }

@media (max-width: 1050px) {
  .main-nav li > a,
  .main-nav-studio li > a,
  .nav-parent > a,
  .main-nav-studio .nav-parent > a { font-size: 1rem; }
  .method-orbit-stage { height: auto; }
  .home-guide-card { min-height: 0; }
}

@media (max-width: 760px) {
  .contact-space-number { font-size: .68rem; }
  .menu-toggle { font-size: .88rem; }
  .method-orbit-node p { font-size: .94rem; line-height: 1.68; }
  .home-guide-card p { font-size: 1rem; line-height: 1.68; }
}

/* Relato editorial entre Método Salux y Fisioterapia: dos planos unidos por
   una ventana orgánica que concentra la imagen en las dos personas. */
.home-parallax-story {
  --parallax-offset: 0px;
  --parallax-x: 0px;
  --parallax-depth: 0px;
  --parallax-depth-reverse: 0px;
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 50%) minmax(0, 50%);
  align-items: center;
  height: clamp(500px, 38vw, 552px);
  min-height: 0;
  overflow: hidden;
  color: var(--white);
  background: #0b0b09;
  border-block: 1px solid rgba(255,255,255,.12);
}
.home-parallax-story::before,
.home-parallax-story::after {
  position: absolute;
  z-index: 2;
  content: "";
  pointer-events: none;
}
.home-parallax-story::before {
  right: -8%;
  top: 50%;
  width: 60%;
  height: 120%;
  border: 1px solid rgba(168,210,27,.42);
  border-radius: 52% 48% 45% 55% / 57% 44% 56% 43%;
  box-shadow: 0 0 48px rgba(143,189,24,.08);
  transform: translate3d(0, calc(-50% + var(--parallax-depth)), 0) rotate(-2.4deg);
}
.home-parallax-story::after {
  right: -3%;
  top: 50%;
  width: 52%;
  height: 105%;
  border: 1px solid rgba(236,25,134,.25);
  border-radius: 47% 53% 56% 44% / 44% 56% 46% 54%;
  transform: translate3d(0, calc(-50% + var(--parallax-depth-reverse)), 0) rotate(2deg);
}
.home-parallax-story-media {
  position: absolute;
  z-index: 1;
  right: 0;
  top: 0;
  width: 61%;
  height: 100%;
  margin: 0;
  overflow: hidden;
  background: #171814;
  -webkit-mask-image: radial-gradient(ellipse 112% 145% at 100% 50%, #000 0 70%, rgba(0,0,0,.88) 78%, rgba(0,0,0,.28) 92%, transparent 100%);
  mask-image: radial-gradient(ellipse 112% 145% at 100% 50%, #000 0 70%, rgba(0,0,0,.88) 78%, rgba(0,0,0,.28) 92%, transparent 100%);
}
.home-parallax-story-media img {
  position: absolute;
  left: -2%;
  top: -126px;
  width: 112%;
  height: calc(100% + 252px);
  max-width: none;
  object-fit: cover;
  object-position: 48% 50%;
  filter: saturate(.82) contrast(1.055) brightness(1.02);
  transform: translate3d(var(--parallax-x), var(--parallax-offset), 0) scale(1.1);
  will-change: transform;
}
.home-parallax-story-media::before {
  position: absolute;
  z-index: 2;
  inset: 0;
  content: "";
  background:
    linear-gradient(90deg, rgba(8,8,6,.34), transparent 32%, transparent 82%, rgba(8,8,6,.22)),
    linear-gradient(0deg, rgba(5,5,4,.16), transparent 24%, transparent 78%, rgba(5,5,4,.08));
  pointer-events: none;
}
.home-parallax-story-media::after {
  position: absolute;
  z-index: 3;
  inset: 5% -8% 5% 4%;
  content: "";
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 52% 48% 50% 50% / 46% 54% 44% 56%;
  transform: translate3d(0, var(--parallax-depth-reverse), 0);
  pointer-events: none;
}
.home-parallax-story-copy {
  position: relative;
  z-index: 3;
  grid-column: 1;
  grid-row: 1;
  width: 108%;
  height: 100%;
  margin: 0;
  padding: clamp(16px, 1.35vw, 22px) clamp(24px, 2.6vw, 42px) clamp(16px, 1.35vw, 22px) var(--pad);
  display: flex;
  flex-direction: column;
  justify-content: center;
  background:
    linear-gradient(90deg, #090908 0 78%, rgba(9,9,8,.92) 86%, rgba(9,9,8,0) 100%),
    linear-gradient(135deg, #070706, #11110e);
  text-wrap: pretty;
}
.home-parallax-story-copy::after {
  display: none;
}
.home-parallax-story-copy .eyebrow {
  margin-bottom: 10px;
  color: var(--green-bright);
  font-weight: 700;
}
.home-parallax-story-copy h2 {
  max-width: none;
  margin: 0 0 14px;
  font-size: clamp(2.35rem, 3.05vw, 3.42rem);
  line-height: .94;
  letter-spacing: -.055em;
}
.home-parallax-story-copy h2 span { display: block; white-space: nowrap; }
.home-parallax-story-copy > p:not(.eyebrow):not(.home-parallax-story-legend) {
  max-width: 66ch;
  margin: 0 0 8px;
  color: rgba(255,255,255,.86);
  font-size: clamp(.94rem, .9rem + .12vw, 1.02rem);
  line-height: 1.48;
}
.home-parallax-story-legend {
  max-width: none;
  margin: 11px 0 0;
  padding-top: 9px;
  color: #e9f5c6;
  border-top: 1px solid rgba(168,210,27,.55);
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: .015em;
  line-height: 1.4;
  white-space: nowrap;
}
.home-parallax-story-legend span { padding-inline: .35em; color: var(--pink); }
.home-parallax-story-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.home-parallax-story-actions .button { min-height: 48px; padding-block: 8px; }
.button-ghost-light { color: var(--white); border-color: rgba(255,255,255,.58); }
.button-ghost-light:hover,
.button-ghost-light:focus-visible { color: var(--black); background: var(--white); border-color: var(--white); transform: translateY(-2px); }

@media (max-width: 1280px) and (min-width: 901px) {
  .home-parallax-story { height: clamp(500px, 40.6vw, 520px); }
  .home-parallax-story-copy h2 { font-size: clamp(2.25rem, 3.25vw, 2.65rem); }
  .home-parallax-story-copy > p:not(.eyebrow):not(.home-parallax-story-legend) { font-size: .93rem; }
  .home-parallax-story-legend { font-size: .77rem; }
}

@media (max-width: 900px) {
  .home-parallax-story { display: block; height: auto; min-height: 0; }
  .home-parallax-story::before,
  .home-parallax-story::after,
  .home-parallax-story-copy::after { display: none; }
  .home-parallax-story-media { position: relative; inset: auto; z-index: 0; width: 100%; height: clamp(240px, 38vw, 320px); min-height: 0; -webkit-mask-image: none; mask-image: none; }
  .home-parallax-story-media img {
    position: absolute;
    left: -20%;
    top: -12%;
    width: 140%;
    height: 140%;
    max-width: none;
    object-position: 60% 48%;
    transform: none;
    will-change: auto;
  }
  .home-parallax-story-media::before { display: none; }
  .home-parallax-story-media::after { inset: 0; border: 0; border-radius: 0; background: linear-gradient(0deg, rgba(0,0,0,.38), transparent 34%); transform: none; }
  .home-parallax-story-copy {
    width: 100%;
    margin: 0;
    padding: clamp(30px, 5vw, 42px) var(--pad) clamp(38px, 6vw, 50px);
    background:
      radial-gradient(circle at 92% 0, rgba(236,25,134,.09), transparent 34%),
      linear-gradient(145deg, #070707, #111);
  }
  .home-parallax-story-copy h2 { max-width: 19ch; font-size: clamp(2.2rem, 5.8vw, 3.1rem); }
  .home-parallax-story-copy h2 span { display: inline; white-space: normal; }
  .home-parallax-story-legend { white-space: normal; }
}

@media (max-width: 520px) {
  .home-parallax-story-media { height: 220px; }
  .home-parallax-story-media img { object-position: 60% 48%; }
  .home-parallax-story-copy h2 { font-size: clamp(2.05rem, 9.2vw, 2.55rem); }
  .home-parallax-story-actions { align-items: stretch; flex-direction: column; }
  .home-parallax-story-actions .button { width: 100%; }
  .home-parallax-story-legend span { padding-inline: .18em; }
}

@media (prefers-reduced-motion: reduce) {
  .home-parallax-story { --parallax-offset: 0px; --parallax-x: 0px; --parallax-depth: 0px; --parallax-depth-reverse: 0px; }
  .home-parallax-story-media img { transform: none; will-change: auto; }
  .home-parallax-story::before { transform: translate3d(0,-50%,0) rotate(-2.4deg); }
  .home-parallax-story::after { transform: translate3d(0,-50%,0) rotate(2deg); }
  .home-parallax-story-media::after { transform: none; }
  .home-parallax-story-actions .button { transition: none; }
}

/* Equipo 2026: un único recorrido editorial en lugar de órbita y directorio duplicados. */
.team-editorial-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(390px, 44%) minmax(0, 56%);
  height: clamp(570px, 45vw, 680px);
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 37% 18%, rgba(151,202,27,.11), transparent 28%),
    #080908;
}
.team-editorial-hero-copy {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  padding: 54px clamp(38px, 4.2vw, 72px) 64px max(var(--pad), calc((100vw - var(--container)) / 2));
}
.team-editorial-hero-copy::after {
  position: absolute;
  z-index: -1;
  inset: 0 -92px 0 0;
  content: "";
  background: linear-gradient(90deg, #080908 0 78%, rgba(8,9,8,.96) 88%, transparent);
  pointer-events: none;
}
.team-editorial-hero-copy .breadcrumbs { margin-bottom: auto; }
.team-editorial-hero-copy .eyebrow { margin-top: auto; }
.team-editorial-hero-copy h1 {
  max-width: 690px;
  margin: 0;
  color: var(--paper);
  font-size: clamp(3.05rem, 4.35vw, 5rem);
  line-height: .91;
  letter-spacing: -.062em;
  text-wrap: balance;
}
.team-editorial-hero-copy > p:not(.eyebrow) {
  max-width: 560px;
  margin: 0 0 24px;
  color: #c2c2c2;
  font-size: clamp(1.02rem, 1.2vw, 1.18rem);
  line-height: 1.62;
}
.team-editorial-hero-copy .text-link { margin-bottom: auto; color: var(--green-bright); border-color: rgba(151,202,27,.46); }
.team-hero-portraits {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: .88fr 1.08fr .92fr;
  gap: 6px;
  height: 100%;
  margin: 0;
  padding: 36px 0 0 28px;
  background: linear-gradient(110deg, #111 0 5%, #d8d5cd 5% 100%);
  transform: skewX(-4deg) translateX(24px);
}
.team-hero-portraits::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(90deg, rgba(8,9,8,.7), transparent 28%, transparent 78%, rgba(8,9,8,.18));
  pointer-events: none;
}
.team-hero-portraits > span { min-width: 0; overflow: hidden; background: #bcbab3; }
.team-hero-portraits > span:nth-child(1) { margin-bottom: 88px; }
.team-hero-portraits > span:nth-child(2) { margin-top: 62px; margin-bottom: 20px; border-top: 4px solid var(--green-bright); }
.team-hero-portraits > span:nth-child(3) { margin: 20px 0 102px; border-bottom: 4px solid var(--pink); }
.team-hero-portraits img {
  width: calc(100% + 42px);
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center 20%;
  filter: grayscale(1) contrast(1.04);
  transform: skewX(4deg) translateX(-20px) scale(1.04);
}
.team-hero-portraits > span:nth-child(2) img { object-position: center 25%; }
.team-hero-portraits > span:nth-child(3) img { object-position: 48% 30%; }

.team-journey {
  padding: clamp(84px, 8vw, 124px) max(var(--pad), calc((100% - var(--container)) / 2)) clamp(98px, 10vw, 150px);
  overflow: hidden;
  background:
    linear-gradient(90deg, transparent 0 49.92%, rgba(20,20,20,.035) 50%, transparent 50.08%),
    #e8e5de;
}
.team-journey > header {
  display: grid;
  grid-template-columns: minmax(260px, .76fr) minmax(320px, 1.24fr);
  gap: clamp(36px, 7vw, 112px);
  align-items: end;
  max-width: 1220px;
  margin: 0 auto clamp(62px, 7vw, 106px);
}
.team-journey > header .label { grid-column: 1 / -1; margin-bottom: -18px; }
.team-journey > header h2 {
  margin: 0;
  font-size: clamp(3rem, 4.6vw, 5.45rem);
  line-height: .88;
  letter-spacing: -.065em;
}
.team-journey > header > p:last-child { max-width: 650px; margin: 0; color: #555; font-size: clamp(1.02rem, 1.2vw, 1.17rem); line-height: 1.68; }
.team-journey-stage { position: relative; width: min(100%, 1240px); margin: 0 auto; }
.team-journey-route { position: absolute; z-index: 0; inset: 20px 2% 10px; width: 96%; height: calc(100% - 30px); overflow: visible; pointer-events: none; }
.team-journey-route path { fill: none; stroke: rgba(74,104,0,.3); stroke-width: 2; stroke-dasharray: 3 11; stroke-linecap: round; vector-effect: non-scaling-stroke; }
.team-journey-list { position: relative; z-index: 1; display: grid; gap: clamp(58px, 7vw, 108px); margin: 0; padding: 0; list-style: none; }
.team-journey-item { min-width: 0; }
.team-journey-link {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: clamp(18px, 2.5vw, 38px);
  align-items: center;
  min-height: 310px;
  color: var(--ink);
  outline-offset: 10px;
}
.team-journey-link:focus-visible { outline: 3px solid var(--green-dark); }
.team-journey-item.is-studio .team-journey-link:focus-visible { outline-color: var(--pink-dark); }
.team-journey-link figure {
  position: relative;
  grid-column: 1 / 7;
  grid-row: 1;
  aspect-ratio: 1.56;
  margin: 0;
  overflow: hidden;
  background: #d0cdc5;
  clip-path: polygon(9% 0, 100% 0, 91% 100%, 0 100%);
  box-shadow: 0 26px 62px rgba(55,49,38,.16);
}
.team-journey-link figure::after {
  position: absolute;
  inset: 0;
  content: "";
  border: 1px solid rgba(255,255,255,.56);
  clip-path: inherit;
  pointer-events: none;
}
.team-journey-link figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  filter: grayscale(.82) saturate(.55) contrast(1.04);
  transform: scale(1.025);
  transition: filter .42s ease, transform .58s cubic-bezier(.2,.72,.2,1);
}
.team-journey-copy {
  position: relative;
  grid-column: 7 / 13;
  grid-row: 1;
  display: block;
  min-width: 0;
  max-width: 530px;
  padding: 36px 10px 36px clamp(22px, 3.1vw, 48px);
  border-top: 1px solid rgba(76,105,0,.42);
  transition: transform .35s ease;
}
.team-journey-copy::before { position: absolute; left: 0; top: -3px; width: 78px; height: 5px; content: ""; background: var(--green-bright); }
.team-journey-copy small { display: block; margin-bottom: 12px; color: #526c0d; font-size: .76rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.team-journey-copy h3 { display: block; margin: 0 0 16px; font-size: clamp(2rem, 3vw, 3.45rem); line-height: .96; letter-spacing: -.052em; text-wrap: balance; }
.team-journey-copy > span { display: block; max-width: 48ch; color: #555; font-size: clamp(.98rem, 1.08vw, 1.08rem); line-height: 1.62; }
.team-journey-copy b { display: inline-flex; gap: 12px; align-items: center; min-height: 44px; margin-top: 18px; color: #426000; font-size: .83rem; font-style: normal; letter-spacing: .02em; }
.team-journey-copy b i { font-size: 1.18rem; font-style: normal; transition: transform .28s ease; }
.team-journey-number { position: absolute; z-index: 2; left: -8px; top: -34px; color: rgba(20,20,20,.13); font-size: clamp(4.5rem, 8vw, 8.4rem); font-weight: 760; line-height: 1; letter-spacing: -.08em; pointer-events: none; }
.team-journey-item:nth-child(even) .team-journey-link figure { grid-column: 7 / 13; clip-path: polygon(0 0, 91% 0, 100% 100%, 9% 100%); }
.team-journey-item:nth-child(even) .team-journey-copy { grid-column: 1 / 7; padding-right: clamp(22px, 3.1vw, 48px); padding-left: 10px; }
.team-journey-item:nth-child(even) .team-journey-copy::before { right: 0; left: auto; }
.team-journey-item:nth-child(even) .team-journey-number { right: -8px; left: auto; }
.team-journey-item.is-studio .team-journey-copy { border-color: rgba(196,0,101,.38); }
.team-journey-item.is-studio .team-journey-copy::before { background: var(--pink); }
.team-journey-item.is-studio .team-journey-copy small,
.team-journey-item.is-studio .team-journey-copy b { color: var(--pink-dark); }
.team-journey-link:hover figure img,
.team-journey-link:focus-visible figure img { filter: grayscale(0) saturate(.96) contrast(1.02); transform: scale(1.065); }
.team-journey-link:hover .team-journey-copy,
.team-journey-link:focus-visible .team-journey-copy { transform: translateX(8px); }
.team-journey-item:nth-child(even) .team-journey-link:hover .team-journey-copy,
.team-journey-item:nth-child(even) .team-journey-link:focus-visible .team-journey-copy { transform: translateX(-8px); }
.team-journey-link:hover .team-journey-copy b i,
.team-journey-link:focus-visible .team-journey-copy b i { transform: translate(3px,-3px); }
.team-journey-item-1 figure img { object-position: center 18%; }
.team-journey-item-2 figure img { object-position: center 27%; }
.team-journey-item-3 figure img { object-position: center 18%; }
.team-journey-item-4 figure img { object-position: center 15%; }
.team-journey-item-5 figure img { object-position: center 22%; }
.team-journey-item-6 figure img { object-position: center 35%; }

/* Fichas profesionales: retrato protagonista y currículo legible. */
.profile-editorial-hero {
  position: relative;
  isolation: isolate;
  height: clamp(650px, 51vw, 740px);
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 73% 34%, rgba(151,202,27,.12), transparent 30%),
    linear-gradient(112deg, #080908 0 48%, #171816 100%);
}
.profile-editorial-hero.is-studio-profile { background: radial-gradient(circle at 73% 34%, rgba(236,25,134,.13), transparent 31%), linear-gradient(112deg, #080908 0 48%, #171416 100%); }
.profile-editorial-top {
  position: absolute;
  z-index: 5;
  left: max(var(--pad), calc((100vw - var(--container)) / 2));
  right: max(var(--pad), calc((100vw - var(--container)) / 2));
  top: 34px;
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: center;
}
.profile-editorial-top .breadcrumbs { margin: 0; }
.profile-back-link { display: inline-flex; gap: 9px; align-items: center; min-height: 44px; padding: 0 12px; color: #dedede; background: rgba(5,5,5,.62); border-bottom: 1px solid rgba(151,202,27,.58); font-size: .84rem; backdrop-filter: blur(7px); }
.profile-back-link:hover,
.profile-back-link:focus-visible { color: var(--green-bright); }
.profile-editorial-photo {
  position: absolute;
  z-index: 1;
  inset: 0 0 0 36%;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin: 0;
  overflow: hidden;
}
.profile-editorial-photo::before,
.profile-editorial-photo::after { position: absolute; z-index: 2; inset: 0; content: ""; pointer-events: none; }
.profile-editorial-photo::before { background: linear-gradient(90deg, #080908 0, rgba(8,9,8,.82) 15%, transparent 52%), linear-gradient(0deg, rgba(8,9,8,.9), transparent 35%); }
.profile-editorial-photo::after { inset: 28px 34px 24px 20%; border: 1px solid rgba(151,202,27,.3); clip-path: polygon(12% 0,100% 0,88% 100%,0 100%); }
.is-studio-profile .profile-editorial-photo::after { border-color: rgba(236,25,134,.42); }
.profile-editorial-photo img {
  width: min(100%, 610px);
  height: 100%;
  object-fit: cover;
  object-position: center 18%;
  filter: grayscale(.92) contrast(1.06) brightness(.88);
  transform: scale(1.015);
}
.profile-person-2 .profile-editorial-photo img { object-position: center 24%; }
.profile-person-3 .profile-editorial-photo img { width: min(100%, 560px); object-position: center 13%; }
.profile-person-4 .profile-editorial-photo img { width: min(100%, 560px); object-position: center 12%; }
.profile-person-5 .profile-editorial-photo img { width: min(100%, 560px); object-position: center 16%; }
.profile-person-6 .profile-editorial-photo img { width: min(100%, 660px); object-position: 48% 28%; }
.profile-editorial-intro {
  position: absolute;
  z-index: 4;
  left: max(var(--pad), calc((100vw - var(--container)) / 2));
  bottom: clamp(42px, 5vw, 72px);
  width: min(760px, 62vw);
}
.profile-editorial-intro .eyebrow { margin-bottom: 12px; }
.profile-editorial-intro h1 { max-width: 820px; margin: 0; font-size: clamp(3.25rem, 5.2vw, 6rem); line-height: .88; letter-spacing: -.067em; text-wrap: balance; }
.profile-editorial-intro h1 span { display: inline; color: var(--paper); background: #090a09; box-shadow: 16px 0 0 #090a09, -10px 0 0 #090a09; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.profile-editorial-intro .profile-role { display: table; width: fit-content; max-width: 680px; margin: 14px 0 16px; padding: 8px 13px; color: #10120d !important; background: var(--green-bright); font-size: clamp(.78rem, .92vw, .94rem) !important; font-weight: 750; line-height: 1.35; letter-spacing: .04em; }
.profile-editorial-hero.is-studio-profile .profile-role { color: #fff !important; background: var(--pink-dark); }
.profile-summary { max-width: 610px; margin: 0 0 20px; color: #d0d0d0; font-size: clamp(.98rem, 1.12vw, 1.1rem); line-height: 1.58; }
.profile-editorial-intro .button { min-height: 46px; }
.profile-editorial-hero.is-studio-profile .button-primary { color: #fff; background: var(--pink-dark); border-color: var(--pink-dark); }
.profile-hero-index { position: absolute; z-index: 4; right: max(var(--pad), calc((100vw - var(--container)) / 2)); bottom: 38px; color: rgba(255,255,255,.5); font-size: .75rem; font-weight: 700; letter-spacing: .14em; }

.profile-editorial-body {
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 860px);
  gap: clamp(52px, 7vw, 112px);
  justify-content: center;
  width: min(calc(100% - (var(--pad) * 2)), 1260px);
  margin: 0 auto;
  padding: clamp(82px, 8vw, 124px) 0 clamp(96px, 9vw, 138px);
}
.profile-editorial-aside { position: sticky; top: 154px; align-self: start; padding: 24px 28px 30px 0; border-top: 4px solid var(--green-bright); border-bottom: 1px solid var(--line-dark); }
.profile-editorial-aside > .label { margin: 0 0 12px; }
.profile-editorial-aside > strong { display: block; margin-bottom: 18px; font-size: clamp(1.35rem, 1.7vw, 1.75rem); line-height: 1.08; letter-spacing: -.035em; }
.profile-editorial-aside > p:not(.label) { margin: 0; color: #5b5b5b; line-height: 1.65; }
.profile-editorial-aside nav { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid var(--line-dark); }
.profile-editorial-aside nav a { display: flex; justify-content: space-between; gap: 14px; min-height: 48px; align-items: center; padding: 10px 0; color: #476800; border-bottom: 1px solid var(--line-dark); font-size: .86rem; }
.profile-biography { min-width: 0; }
.profile-biography > header { margin-bottom: 34px; padding-bottom: 24px; border-bottom: 1px solid var(--line-dark); }
.profile-biography > header .label { margin-bottom: 10px; }
.profile-biography > header h2 { margin: 0; font-size: clamp(2.35rem, 3.4vw, 4rem); line-height: .96; letter-spacing: -.055em; }
.profile-biography .legacy-content { width: 100%; max-width: none; color: #272727; font-size: clamp(1.02rem, 1.08vw, 1.12rem); line-height: 1.72; }
.profile-biography .legacy-content h2:first-of-type,
.profile-biography .legacy-content .elementor-widget-image { display: none; }
.profile-biography .legacy-content ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.profile-biography .legacy-content li { position: relative; margin: 0; padding: 16px 14px 16px 34px; border-top: 1px solid var(--line-dark); }
.profile-biography .legacy-content li:last-child { border-bottom: 1px solid var(--line-dark); }
.profile-biography .legacy-content li::before { position: absolute; left: 4px; top: 22px; width: 10px; height: 10px; content: ""; background: var(--green-bright); border-radius: 50% 50% 50% 0; transform: rotate(-45deg); }
.profile-biography .legacy-content p { max-width: 720px; }
.profile-sequence { display: grid; grid-template-columns: 1fr 1fr; padding: 0 max(var(--pad), calc((100% - var(--container)) / 2)); }
.profile-sequence a { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; min-width: 0; min-height: 190px; align-content: center; padding: 34px clamp(28px, 4vw, 62px); color: var(--paper); border-right: 1px solid var(--line); transition: background-color .3s ease; }
.profile-sequence a:last-child { grid-template-columns: 1fr auto; text-align: right; border-right: 0; }
.profile-sequence a:hover,
.profile-sequence a:focus-visible { background: #171717; }
.profile-sequence small { grid-column: 1 / -1; color: var(--green-bright); font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.profile-sequence strong { overflow-wrap: anywhere; font-size: clamp(1.3rem, 2vw, 2rem); line-height: 1.04; }
.profile-sequence > a > span { align-self: center; color: var(--green-bright); font-size: 1.4rem; }
.profile-sequence em { grid-column: 1 / -1; color: #8f8f8f; font-size: .78rem; font-style: normal; }

@media (max-width: 1050px) {
  .team-editorial-hero { grid-template-columns: minmax(340px, 48%) minmax(0, 52%); height: 590px; }
  .team-editorial-hero-copy h1 { font-size: clamp(3rem, 5vw, 4.2rem); }
  .team-hero-portraits { grid-template-columns: 1fr 1fr; }
  .team-hero-portraits > span:nth-child(3) { display: none; }
  .team-journey-route { display: none; }
  .team-journey-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 54px 28px; }
  .team-journey-item:nth-child(even) { margin-top: 70px; }
  .team-journey-link,
  .team-journey-item:nth-child(even) .team-journey-link { display: block; min-height: 0; }
  .team-journey-link figure,
  .team-journey-item:nth-child(even) .team-journey-link figure { aspect-ratio: 1.34; clip-path: polygon(9% 0,100% 0,91% 100%,0 100%); }
  .team-journey-copy,
  .team-journey-item:nth-child(even) .team-journey-copy { max-width: none; padding: 30px 10px 20px 22px; }
  .team-journey-item:nth-child(even) .team-journey-copy::before { right: auto; left: 0; }
  .team-journey-item:nth-child(even) .team-journey-number { right: auto; left: -5px; }
  .profile-editorial-photo { left: 31%; }
  .profile-editorial-intro { width: min(700px, 68vw); }
  .profile-editorial-intro h1 { font-size: clamp(3.15rem, 6.2vw, 5rem); }
}

@media (max-width: 760px) {
  .team-editorial-hero { display: flex; height: auto; flex-direction: column; }
  .team-editorial-hero-copy { min-height: 420px; padding: 34px var(--pad) 48px; }
  .team-editorial-hero-copy::after { inset: 0; background: linear-gradient(145deg, #080908, #10130d); }
  .team-editorial-hero-copy h1 { font-size: clamp(2.7rem, 13vw, 3.7rem); }
  .team-editorial-hero-copy .breadcrumbs { margin-bottom: auto; }
  .team-editorial-hero-copy .eyebrow { margin-top: 46px; }
  .team-editorial-hero-copy .text-link { margin-bottom: 0; }
  .team-hero-portraits { width: calc(100% + 30px); height: 280px; padding: 18px 0 0; transform: skewX(-4deg) translateX(-15px); }
  .team-hero-portraits > span:nth-child(1) { margin-bottom: 36px; }
  .team-hero-portraits > span:nth-child(2) { margin-top: 28px; margin-bottom: 0; }
  .team-journey { padding: 74px var(--pad) 92px; background: #e8e5de; }
  .team-journey > header { display: block; margin-bottom: 52px; }
  .team-journey > header .label { margin-bottom: 18px; }
  .team-journey > header h2 { margin-bottom: 22px; font-size: clamp(2.65rem, 12vw, 3.65rem); }
  .team-journey-list { display: grid; grid-template-columns: 1fr; gap: 28px; }
  .team-journey-item:nth-child(even) { margin-top: 0; }
  .team-journey-link,
  .team-journey-item:nth-child(even) .team-journey-link { display: grid; grid-template-columns: minmax(108px, 39%) minmax(0, 61%); gap: 0; align-items: stretch; min-height: 230px; padding: 0; background: rgba(255,255,255,.34); outline-offset: 4px; }
  .team-journey-link figure,
  .team-journey-item:nth-child(even) .team-journey-link figure { grid-column: 1; grid-row: 1; height: 100%; aspect-ratio: auto; clip-path: polygon(0 0,100% 0,88% 100%,0 100%); box-shadow: none; }
  .team-journey-copy,
  .team-journey-item:nth-child(even) .team-journey-copy { grid-column: 2; grid-row: 1; align-self: center; padding: 28px 18px 24px 14px; border-top: 0; transform: none; }
  .team-journey-copy::before,
  .team-journey-item:nth-child(even) .team-journey-copy::before { left: 14px; right: auto; top: 17px; width: 42px; height: 3px; }
  .team-journey-copy small { margin: 4px 0 9px; font-size: .66rem; }
  .team-journey-copy h3 { margin-bottom: 10px; font-size: clamp(1.35rem, 6.6vw, 1.9rem); }
  .team-journey-copy > span { display: block; overflow: visible; font-size: .88rem; line-height: 1.5; }
  .team-journey-copy b { min-height: 38px; margin-top: 8px; font-size: .78rem; }
  .team-journey-number,
  .team-journey-item:nth-child(even) .team-journey-number { right: 9px; left: auto; top: 10px; color: rgba(20,20,20,.1); font-size: 3.2rem; }
  .team-journey-link:hover .team-journey-copy,
  .team-journey-link:focus-visible .team-journey-copy,
  .team-journey-item:nth-child(even) .team-journey-link:hover .team-journey-copy,
  .team-journey-item:nth-child(even) .team-journey-link:focus-visible .team-journey-copy { transform: none; }
  .profile-editorial-hero { display: flex; height: auto; min-height: 0; flex-direction: column; overflow: hidden; }
  .profile-editorial-top { position: relative; inset: auto; flex-wrap: wrap; padding: 24px var(--pad) 18px; }
  .profile-editorial-top .breadcrumbs { width: 100%; }
  .profile-back-link { margin-left: auto; }
  .profile-editorial-photo { position: relative; inset: auto; order: 2; width: 100%; height: 430px; }
  .profile-editorial-photo::before { background: linear-gradient(0deg, #080908 0, transparent 30%); }
  .profile-editorial-photo::after { inset: 20px var(--pad); }
  .profile-editorial-photo img,
  .profile-person-3 .profile-editorial-photo img,
  .profile-person-4 .profile-editorial-photo img,
  .profile-person-5 .profile-editorial-photo img,
  .profile-person-6 .profile-editorial-photo img { width: min(100%, 470px); object-position: center 18%; }
  .profile-person-2 .profile-editorial-photo img { object-position: center 24%; }
  .profile-person-6 .profile-editorial-photo img { object-position: 48% 28%; }
  .profile-editorial-intro { position: relative; inset: auto; order: 3; width: 100%; padding: 0 var(--pad) 54px; margin-top: -72px; }
  .profile-editorial-intro h1 { font-size: clamp(2.8rem, 13vw, 4.2rem); }
  .profile-editorial-intro .profile-role { margin-top: 12px; }
  .profile-summary { font-size: 1rem; }
  .profile-hero-index { right: var(--pad); bottom: 24px; }
  .profile-editorial-body { display: block; width: auto; margin: 0; padding: 72px var(--pad) 90px; }
  .profile-editorial-aside { position: static; padding-right: 0; }
  .profile-biography { margin-top: 64px; }
  .profile-biography > header h2 { font-size: clamp(2.25rem, 10vw, 3.25rem); }
  .profile-biography .legacy-content li { padding-right: 0; }
  .profile-sequence { grid-template-columns: 1fr; padding: 0; }
  .profile-sequence a,
  .profile-sequence a:last-child { min-height: 148px; padding: 28px var(--pad); text-align: left; border-right: 0; border-bottom: 1px solid var(--line); }
  .profile-sequence a:last-child { grid-template-columns: auto 1fr; }
  .profile-sequence a:last-child strong { grid-column: 2; }
  .profile-sequence a:last-child > span { grid-column: 1; grid-row: 2; }
}

@media (max-width: 430px) {
  .team-journey-link,
  .team-journey-item:nth-child(even) .team-journey-link { grid-template-columns: 122px minmax(0,1fr); min-height: 246px; }
  .team-journey-copy,
  .team-journey-item:nth-child(even) .team-journey-copy { padding-right: 12px; padding-left: 12px; }
  .team-journey-copy::before,
  .team-journey-item:nth-child(even) .team-journey-copy::before { left: 12px; }
  .profile-editorial-photo { height: 390px; }
}

@media (prefers-reduced-motion: reduce) {
  .team-journey-link figure img,
  .team-journey-copy,
  .team-journey-copy b i,
  .profile-sequence a { transition: none; }
  .team-journey-link:hover figure img,
  .team-journey-link:focus-visible figure img { transform: none; }
}

/* Equipo: trombinoscopio editorial único con los seis perfiles en el hero. */
.team-ensemble-hero {
  position: relative;
  isolation: isolate;
  height: clamp(720px, 52vw, 760px);
  min-height: 0;
  overflow: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% 20%, rgba(151,202,27,.09), transparent 25%),
    linear-gradient(120deg, #ece9e2, #e4e1da 72%, #dedbd4);
}
.team-ensemble-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: .2;
  background-image: repeating-linear-gradient(112deg, transparent 0 42px, rgba(20,20,20,.04) 43px, transparent 44px 90px);
  pointer-events: none;
}
.team-ensemble-watermark {
  z-index: 0;
  right: -2.5vw;
  bottom: -3.5vw;
  font-size: clamp(10rem, 22vw, 26rem);
  white-space: nowrap;
}
.team-ensemble-intro {
  position: absolute;
  z-index: 4;
  left: max(var(--pad), calc((100vw - var(--container)) / 2));
  top: 32px;
  width: min(670px, 51vw);
}
.team-ensemble-intro .breadcrumbs { margin-bottom: 30px; }
.team-ensemble-intro .eyebrow { margin: 0 0 15px; color: var(--green-dark); }
.team-ensemble-intro h1 {
  max-width: 650px;
  margin: 0;
  font-size: clamp(3.1rem, 4.15vw, 4.85rem);
  line-height: .9;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.team-ensemble-intro > p:last-child {
  max-width: 610px;
  margin: 23px 0 0;
  color: #50504c;
  font-size: clamp(.94rem, 1vw, 1.05rem);
  line-height: 1.55;
}
.team-ensemble-line { position: absolute; z-index: 1; height: 1px; background: linear-gradient(90deg, transparent, rgba(79,110,0,.5), transparent); transform-origin: left center; pointer-events: none; }
.team-ensemble-line::after { position: absolute; right: 22%; top: -3px; width: 7px; height: 7px; content: ""; background: var(--green-bright); border-radius: 50%; }
.team-ensemble-line-a { left: 37%; top: 29%; width: 64%; transform: rotate(-7deg); }
.team-ensemble-line-b { left: -8%; bottom: 24%; width: 76%; transform: rotate(8deg); }
.team-ensemble-line-b::after { right: 14%; background: var(--pink); }
.team-ensemble-grid {
  position: absolute;
  z-index: 2;
  inset: 218px max(var(--pad), calc((100vw - var(--container)) / 2)) 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px clamp(22px, 3vw, 46px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.team-ensemble-person { --team-accent: var(--green-bright); min-width: 0; }
.team-ensemble-person.is-studio { --team-accent: var(--pink); }
.team-ensemble-person-2 { transform: translateY(-15px); }
.team-ensemble-person-3 { transform: translateY(18px); }
.team-ensemble-person-4 { transform: translateY(-8px); }
.team-ensemble-person-5 { transform: translateY(17px); }
.team-ensemble-person-6 { transform: translateY(-16px); }
.team-ensemble-person > a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(145px, 1.1fr);
  gap: 13px;
  align-items: center;
  height: 100%;
  min-height: 0;
  color: var(--ink);
  outline-offset: 5px;
}
.team-ensemble-person:nth-child(even) > a { grid-template-columns: minmax(145px, 1.1fr) minmax(0, .9fr); }
.team-ensemble-person > a:focus-visible { outline-color: var(--team-accent); }
.team-ensemble-person figure {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  height: min(100%, 228px);
  min-height: 0;
  margin: 0;
  overflow: hidden;
  background: #c8c5be;
  clip-path: polygon(13% 0, 100% 0, 87% 100%, 0 100%);
  box-shadow: 0 18px 44px rgba(60,55,45,.16);
}
.team-ensemble-person:nth-child(even) figure { grid-column: 1; clip-path: polygon(0 0, 87% 0, 100% 100%, 13% 100%); }
.team-ensemble-person figure::after { position: absolute; inset: 0; content: ""; border-top: 3px solid var(--team-accent); background: linear-gradient(0deg, rgba(10,10,9,.18), transparent 42%); pointer-events: none; }
.team-ensemble-person img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; filter: grayscale(1) contrast(1.06); transform: scale(1.025); transition: filter .38s ease, transform .5s cubic-bezier(.2,.72,.2,1); }
.team-ensemble-person-1 img { object-position: center 27%; }
.team-ensemble-person-2 img { object-position: center 17%; }
.team-ensemble-person-3 img { object-position: center 14%; }
.team-ensemble-person-4 img { object-position: center 12%; }
.team-ensemble-person-5 img { object-position: center 20%; }
.team-ensemble-person-6 img { object-position: center 34%; }
.team-ensemble-meta {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  display: block;
  min-width: 0;
  padding: 18px 4px 18px 20px;
  border-left: 1px solid rgba(20,20,20,.28);
  transition: transform .3s ease;
}
.team-ensemble-person:nth-child(even) .team-ensemble-meta { grid-column: 2; padding-right: 20px; padding-left: 4px; text-align: right; border-right: 1px solid rgba(20,20,20,.28); border-left: 0; }
.team-ensemble-meta::before { position: absolute; left: -1px; top: 18px; width: 3px; height: 48px; content: ""; background: var(--team-accent); }
.team-ensemble-person:nth-child(even) .team-ensemble-meta::before { right: -1px; left: auto; }
.team-ensemble-meta small { display: block; margin-bottom: 7px; color: #5c6f28; font-size: .65rem; font-weight: 750; letter-spacing: .07em; line-height: 1.3; text-transform: uppercase; }
.team-ensemble-person.is-studio .team-ensemble-meta small { color: var(--pink-dark); }
.team-ensemble-meta h2 { margin: 0; overflow-wrap: anywhere; font-size: clamp(1.2rem, 1.55vw, 1.75rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.team-ensemble-meta b { display: inline-block; margin-top: 10px; color: var(--team-accent); font-size: 1.12rem; transition: transform .28s ease; }
.team-ensemble-number { position: absolute; z-index: 3; right: 0; top: -12px; color: rgba(20,20,20,.15); font-size: clamp(2.9rem, 4.5vw, 5.1rem); font-weight: 760; line-height: 1; letter-spacing: -.08em; pointer-events: none; }
.team-ensemble-person:nth-child(even) .team-ensemble-number { right: auto; left: 0; }
.team-ensemble-person > a:hover img,
.team-ensemble-person > a:focus-visible img { filter: grayscale(0) contrast(1.02); transform: scale(1.065); }
.team-ensemble-person > a:hover .team-ensemble-meta,
.team-ensemble-person > a:focus-visible .team-ensemble-meta { transform: translateX(5px); }
.team-ensemble-person:nth-child(even) > a:hover .team-ensemble-meta,
.team-ensemble-person:nth-child(even) > a:focus-visible .team-ensemble-meta { transform: translateX(-5px); }
.team-ensemble-person > a:hover .team-ensemble-meta b,
.team-ensemble-person > a:focus-visible .team-ensemble-meta b { transform: translate(3px,-3px); }

/* Perfil: hero compacto con retrato orbital; la fotografía grande pasa a la biografía. */
.profile-compact-hero {
  --profile-accent: var(--green-bright);
  position: relative;
  isolation: isolate;
  height: clamp(500px, 38vw, 560px);
  min-height: 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 48%, rgba(151,202,27,.12), transparent 21%),
    linear-gradient(118deg, #070807, #131512 64%, #090a09);
}
.profile-compact-hero.is-studio-profile { --profile-accent: var(--pink); background: radial-gradient(circle at 76% 48%, rgba(236,25,134,.13), transparent 21%), linear-gradient(118deg, #080708, #171116 64%, #090809); }
.profile-compact-hero::after { position: absolute; z-index: -1; right: -7%; top: -44%; width: 46%; aspect-ratio: 1; content: ""; border: 1px solid color-mix(in srgb, var(--profile-accent) 28%, transparent); border-radius: 50%; pointer-events: none; }
.profile-compact-top {
  position: absolute;
  z-index: 4;
  left: max(var(--pad), calc((100vw - var(--container)) / 2));
  right: max(var(--pad), calc((100vw - var(--container)) / 2));
  top: 26px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
}
.profile-compact-top .breadcrumbs { margin: 0; }
.profile-compact-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
  gap: clamp(48px, 7vw, 112px);
  align-items: center;
  width: min(calc(100% - (var(--pad) * 2)), var(--container));
  height: 100%;
  margin: 0 auto;
  padding: 94px 0 42px;
}
.profile-compact-intro { min-width: 0; }
.profile-compact-intro .eyebrow { margin-bottom: 8px; color: var(--profile-accent); }
.profile-compact-intro h1 { max-width: 830px; margin: 0; color: var(--paper); font-size: clamp(3.25rem, 5.1vw, 5.8rem); line-height: .89; letter-spacing: -.067em; text-wrap: balance; }
.profile-compact-intro .profile-role { display: table; width: fit-content; max-width: 720px; margin: 14px 0 14px; padding: 7px 12px; color: #12130f !important; background: var(--profile-accent); font-size: clamp(.76rem, .88vw, .9rem) !important; font-weight: 750; line-height: 1.35; letter-spacing: .04em; }
.profile-compact-hero.is-studio-profile .profile-role { color: #fff !important; background: var(--pink-dark); }
.profile-compact-intro .profile-summary { max-width: 650px; margin-bottom: 18px; color: #cecece; }
.profile-compact-intro .button { min-height: 46px; }
.profile-compact-hero.is-studio-profile .button-primary { color: #fff; background: var(--pink-dark); border-color: var(--pink-dark); }
.profile-orbit-thumb {
  position: relative;
  display: grid;
  width: clamp(232px, 19vw, 270px);
  aspect-ratio: 1;
  place-items: center;
  justify-self: center;
  margin: 0;
}
.profile-orbit-thumb::before,
.profile-orbit-thumb::after { position: absolute; content: ""; border-radius: 50%; pointer-events: none; }
.profile-orbit-thumb::before { inset: 0; border: 2px dashed color-mix(in srgb, var(--profile-accent) 82%, transparent); animation: profile-orbit-spin 22s linear infinite; }
.profile-orbit-thumb::after { inset: 10px; background: conic-gradient(from 20deg, transparent 0 17%, var(--profile-accent) 18% 27%, transparent 28% 60%, color-mix(in srgb, var(--profile-accent) 76%, transparent) 61% 72%, transparent 73%); -webkit-mask: radial-gradient(circle, transparent 0 67%, #000 68% 76%, transparent 77%); mask: radial-gradient(circle, transparent 0 67%, #000 68% 76%, transparent 77%); animation: profile-orbit-spin 14s linear infinite reverse; }
.profile-orbit-thumb > span { display: block; width: calc(100% - 48px); aspect-ratio: 1; overflow: hidden; background: #d6d3cc; border: 6px solid color-mix(in srgb, var(--profile-accent) 72%, #111); border-radius: 50%; box-shadow: 0 22px 62px color-mix(in srgb, var(--profile-accent) 20%, rgba(0,0,0,.32)), inset 0 0 0 2px rgba(255,255,255,.28); }
.profile-orbit-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: grayscale(.92) contrast(1.05); }
.profile-person-1 .profile-orbit-thumb img { object-position: center 26%; }
.profile-person-2 .profile-orbit-thumb img { object-position: center 18%; }
.profile-person-3 .profile-orbit-thumb img { object-position: center 15%; }
.profile-person-4 .profile-orbit-thumb img { object-position: center 12%; }
.profile-person-5 .profile-orbit-thumb img { object-position: center 18%; }
.profile-person-6 .profile-orbit-thumb img { object-position: center 31%; }
@keyframes profile-orbit-spin { to { transform: rotate(1turn); } }

.profile-story-body {
  display: grid;
  grid-template-columns: minmax(330px, 450px) minmax(0, 780px);
  gap: clamp(56px, 7vw, 108px);
  align-items: start;
  width: min(calc(100% - (var(--pad) * 2)), 1260px);
  margin: 0 auto;
  padding: clamp(86px, 8vw, 124px) 0 clamp(98px, 9vw, 144px);
}
.profile-story-portrait {
  --portrait-accent: var(--green-bright);
  position: sticky;
  top: 150px;
  min-width: 0;
}
.profile-page .is-studio-profile + .profile-story-body .profile-story-portrait { --portrait-accent: var(--pink); }
.profile-story-portrait figure { position: relative; aspect-ratio: .76; margin: 0; overflow: hidden; background: #d4d1ca; clip-path: polygon(7% 0,100% 0,93% 100%,0 100%); box-shadow: 0 30px 72px rgba(53,47,36,.18); }
.profile-story-portrait figure::after { position: absolute; inset: 0; content: ""; background: linear-gradient(0deg, rgba(8,8,7,.4), transparent 44%); border-top: 4px solid var(--portrait-accent); pointer-events: none; }
.profile-story-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: grayscale(1) contrast(1.06); }
.profile-person-1 + .profile-story-body .profile-story-portrait img { object-position: center 25%; }
.profile-person-2 + .profile-story-body .profile-story-portrait img { object-position: center 17%; }
.profile-person-3 + .profile-story-body .profile-story-portrait img { object-position: center 13%; }
.profile-person-4 + .profile-story-body .profile-story-portrait img { object-position: center 11%; }
.profile-person-5 + .profile-story-body .profile-story-portrait img { object-position: center 17%; }
.profile-person-6 + .profile-story-body .profile-story-portrait img { object-position: center 31%; }
.profile-story-plate { position: relative; z-index: 2; width: calc(100% - 34px); margin: -92px 0 0 18px; padding: 18px 22px 20px; color: var(--paper); background: rgba(10,10,9,.96); border-left: 4px solid var(--portrait-accent); box-shadow: 0 18px 42px rgba(31,28,22,.2); }
.profile-story-plate small { display: block; margin-bottom: 5px; color: var(--portrait-accent); font-size: .66rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.profile-story-plate h2 { margin: 0 0 7px; overflow-wrap: anywhere; font-size: clamp(2rem, 2.8vw, 3rem); line-height: .92; letter-spacing: -.058em; }
.profile-story-plate p { margin: 0; color: #aaa; font-size: .78rem; line-height: 1.45; text-transform: uppercase; }
.profile-story-line { display: block; width: 72%; height: 1px; margin: 28px 0 0 auto; background: linear-gradient(90deg, transparent, var(--portrait-accent)); transform: rotate(-4deg); transform-origin: right center; }
.profile-story-body .profile-biography { padding-top: 8px; }

@media (max-width: 1100px) {
  .team-ensemble-hero { height: 740px; }
  .team-ensemble-intro { width: min(680px, 62vw); }
  .team-ensemble-grid { column-gap: 20px; }
  .team-ensemble-person > a { grid-template-columns: minmax(0,.82fr) minmax(124px,1.18fr); gap: 9px; }
  .team-ensemble-person:nth-child(even) > a { grid-template-columns: minmax(124px,1.18fr) minmax(0,.82fr); }
  .team-ensemble-meta { padding-left: 14px; }
  .team-ensemble-person:nth-child(even) .team-ensemble-meta { padding-right: 14px; }
  .team-ensemble-meta h2 { font-size: clamp(1.05rem, 1.8vw, 1.45rem); }
  .profile-compact-shell { grid-template-columns: minmax(0,1fr) 280px; }
  .profile-story-body { grid-template-columns: minmax(300px, 390px) minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .team-ensemble-hero { height: auto; min-height: 0; padding: 32px var(--pad) 92px; }
  .team-ensemble-hero::before { opacity: .14; }
  .team-ensemble-intro { position: relative; inset: auto; width: 100%; }
  .team-ensemble-intro .breadcrumbs { margin-bottom: 28px; }
  .team-ensemble-intro .eyebrow { margin-bottom: 13px; }
  .team-ensemble-intro h1 { max-width: 12ch; font-size: clamp(2.75rem, 12vw, 3.75rem); }
  .team-ensemble-intro > p:last-child { margin-top: 22px; font-size: .98rem; }
  .team-ensemble-watermark { right: -32vw; bottom: 4%; font-size: clamp(9rem, 47vw, 12rem); }
  .team-ensemble-line-a { left: 38%; top: 26%; width: 78%; }
  .team-ensemble-line-b { left: -28%; bottom: 21%; width: 116%; }
  .team-ensemble-grid { position: relative; inset: auto; grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: none; gap: 46px 14px; margin-top: 58px; }
  .team-ensemble-person-2,
  .team-ensemble-person-3,
  .team-ensemble-person-4,
  .team-ensemble-person-5,
  .team-ensemble-person-6 { transform: none; }
  .team-ensemble-person:nth-child(even) { margin-top: 34px; }
  .team-ensemble-person > a,
  .team-ensemble-person:nth-child(even) > a { display: block; height: auto; }
  .team-ensemble-person figure,
  .team-ensemble-person:nth-child(even) figure { width: 100%; height: auto; aspect-ratio: .79; clip-path: polygon(9% 0,100% 0,91% 100%,0 100%); }
  .team-ensemble-meta,
  .team-ensemble-person:nth-child(even) .team-ensemble-meta { width: calc(100% - 12px); margin: -25px 0 0 12px; padding: 15px 11px 13px 14px; color: var(--paper); text-align: left; background: rgba(10,10,9,.95); border: 0; border-left: 3px solid var(--team-accent); }
  .team-ensemble-meta::before,
  .team-ensemble-person:nth-child(even) .team-ensemble-meta::before { display: none; }
  .team-ensemble-meta small,
  .team-ensemble-person.is-studio .team-ensemble-meta small { margin-bottom: 5px; color: var(--team-accent); font-size: .58rem; }
  .team-ensemble-meta h2 { color: var(--paper); font-size: clamp(1.02rem, 5.3vw, 1.35rem); }
  .team-ensemble-meta b { margin-top: 7px; }
  .team-ensemble-number,
  .team-ensemble-person:nth-child(even) .team-ensemble-number { right: 7px; left: auto; top: 6px; color: rgba(255,255,255,.58); font-size: 2.7rem; }
  .team-ensemble-person > a:hover .team-ensemble-meta,
  .team-ensemble-person > a:focus-visible .team-ensemble-meta,
  .team-ensemble-person:nth-child(even) > a:hover .team-ensemble-meta,
  .team-ensemble-person:nth-child(even) > a:focus-visible .team-ensemble-meta { transform: none; }

  .profile-compact-hero { height: auto; min-height: 0; padding: 24px var(--pad) 102px; }
  .profile-compact-top { position: relative; inset: auto; display: block; }
  .profile-compact-top .breadcrumbs { margin-bottom: 18px; }
  .profile-compact-top .profile-back-link { margin-left: 0; }
  .profile-compact-shell { display: flex; width: 100%; height: auto; padding: 20px 0 0; flex-direction: column; gap: 14px; }
  .profile-orbit-thumb { order: -1; width: 168px; }
  .profile-orbit-thumb > span { width: calc(100% - 34px); border-width: 5px; }
  .profile-compact-intro { width: 100%; }
  .profile-compact-intro h1 { font-size: clamp(2.75rem, 12vw, 3.7rem); }
  .profile-compact-intro .profile-role { max-width: 100%; font-size: .74rem !important; }
  .profile-compact-intro .profile-summary { margin-bottom: 18px; font-size: .98rem; }
  .profile-compact-intro .button { min-height: 46px; margin-bottom: 20px; }
  .profile-compact-hero .profile-hero-index { right: var(--pad); bottom: 72px; }
  .profile-story-body { display: block; width: auto; margin: 0; padding: 72px var(--pad) 96px; }
  .profile-story-portrait { position: relative; top: auto; width: min(100%, 480px); margin: 0 auto; }
  .profile-story-portrait figure { aspect-ratio: .78; }
  .profile-story-plate { width: calc(100% - 20px); margin: -72px 0 0 10px; padding: 16px 18px 18px; }
  .profile-story-plate h2 { font-size: clamp(2rem, 9vw, 2.8rem); }
  .profile-story-line { margin-top: 22px; }
  .profile-story-body .profile-biography { margin-top: 66px; padding-top: 0; }
}

@media (max-width: 430px) {
  .team-ensemble-hero { padding-bottom: 72px; }
  .team-ensemble-grid { column-gap: 10px; }
  .team-ensemble-meta,
  .team-ensemble-person:nth-child(even) .team-ensemble-meta { width: calc(100% - 8px); margin-left: 8px; padding-right: 8px; padding-left: 10px; }
  .team-ensemble-meta h2 { font-size: 1.02rem; }
  .profile-compact-hero { padding-bottom: 112px; }
  .profile-orbit-thumb { width: 158px; }
}

@media (prefers-reduced-motion: reduce) {
  .team-ensemble-person img,
  .team-ensemble-meta,
  .team-ensemble-meta b { transition: none; }
  .team-ensemble-person > a:hover img,
  .team-ensemble-person > a:focus-visible img { transform: none; }
  .profile-orbit-thumb::before,
  .profile-orbit-thumb::after { animation: none; }
}

/* Equipo y perfiles: WhatsApp móvil compacto, sin cubrir nombres ni controles. */
@media (max-width: 760px) {
  body.team-hub-page,
  body.profile-page {
    padding-bottom: calc(100px + env(safe-area-inset-bottom));
  }
  body.team-hub-page .floating-tools,
  body.profile-page .floating-tools {
    right: max(14px, env(safe-area-inset-right));
    bottom: calc(144px + env(safe-area-inset-bottom));
  }
  body.team-hub-page .whatsapp-button,
  body.profile-page .whatsapp-button,
  body.team-hub-page .whatsapp-button:hover,
  body.team-hub-page .whatsapp-button:focus-visible,
  body.profile-page .whatsapp-button:hover,
  body.profile-page .whatsapp-button:focus-visible {
    width: 56px;
    min-width: 56px;
    height: 56px;
    justify-content: center;
    border-radius: 50%;
    transform: none;
  }
  body.team-hub-page .whatsapp-button .whatsapp-label,
  body.profile-page .whatsapp-button .whatsapp-label {
    display: none;
    width: 0;
    max-width: 0;
    padding: 0;
    opacity: 0;
  }
  body.team-hub-page .whatsapp-button svg,
  body.profile-page .whatsapp-button svg {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
    padding: 14px;
  }
  body.team-hub-page .team-ensemble-hero {
    padding-bottom: calc(124px + env(safe-area-inset-bottom));
  }
  body.profile-page .profile-compact-hero {
    padding-bottom: calc(122px + env(safe-area-inset-bottom));
  }
  body.profile-page .profile-compact-intro .profile-summary {
    max-width: calc(100% - 78px);
  }
  body.profile-page .profile-compact-hero .profile-hero-index {
    top: 265px;
    right: var(--pad);
    bottom: auto;
  }
}

/* Equipo: dos zonas reales dentro de un único hero, sin solapamientos. */
@media (min-width: 761px) {
  body.team-hub-page .team-ensemble-hero {
    display: grid;
    grid-template-rows: auto minmax(540px, 1fr);
    row-gap: clamp(52px, 4vw, 68px);
    height: auto;
    min-height: 900px;
    padding: 38px max(var(--pad), calc((100vw - var(--container)) / 2)) 72px;
  }
  body.team-hub-page .team-ensemble-intro {
    position: relative;
    inset: auto;
    width: min(720px, 68vw);
  }
  body.team-hub-page .team-ensemble-grid {
    position: relative;
    inset: auto;
    width: 100%;
    height: 548px;
    min-height: 0;
    grid-template-rows: repeat(2, minmax(238px, 1fr));
    gap: clamp(48px, 3.4vw, 62px) clamp(24px, 2.6vw, 44px);
  }
  body.team-hub-page .team-ensemble-line-a {
    top: 41%;
  }
  body.team-hub-page .team-ensemble-line-b {
    bottom: 14%;
  }
  body.team-hub-page .team-ensemble-person-1 { transform: translateY(4px); }
  body.team-hub-page .team-ensemble-person-2 { transform: translateY(-7px); }
  body.team-hub-page .team-ensemble-person-3 { transform: translateY(7px); }
  body.team-hub-page .team-ensemble-person-4 { transform: translateY(-4px); }
  body.team-hub-page .team-ensemble-person-5 { transform: translateY(7px); }
  body.team-hub-page .team-ensemble-person-6 { transform: translateY(-6px); }
  body.team-hub-page .team-ensemble-person > a {
    isolation: isolate;
    min-height: 220px;
    padding: 10px 12px;
  }
  body.team-hub-page .team-ensemble-person > a::before {
    position: absolute;
    z-index: -1;
    inset: 3px 0;
    content: "";
    background: rgba(250,249,245,.68);
    clip-path: polygon(3% 0,100% 0,97% 100%,0 100%);
  }
  body.team-hub-page .team-ensemble-person:nth-child(2) > a::before,
  body.team-hub-page .team-ensemble-person:nth-child(5) > a::before {
    background: rgba(236,243,217,.72);
    clip-path: polygon(0 0,96% 0,100% 100%,4% 100%);
  }
  body.team-hub-page .team-ensemble-person:nth-child(3) > a::before,
  body.team-hub-page .team-ensemble-person:nth-child(4) > a::before {
    background: rgba(255,255,252,.54);
  }
  body.team-hub-page .team-ensemble-person.is-studio > a::before {
    background: rgba(252,229,241,.6);
  }
}

@media (min-width: 761px) and (max-width: 1400px) {
  body.team-hub-page .team-ensemble-hero {
    min-height: 940px;
  }
  body.team-hub-page .team-ensemble-grid {
    height: 560px;
  }
}

@media (min-width: 1680px) {
  body.team-hub-page .team-ensemble-hero {
    min-height: 880px;
    row-gap: 52px;
    padding-top: 34px;
    padding-bottom: 70px;
  }
  body.team-hub-page .team-ensemble-grid {
    height: 520px;
  }
}

@media (max-width: 760px) {
  body.team-hub-page .team-ensemble-intro {
    margin-bottom: 0;
  }
  body.team-hub-page .team-ensemble-grid {
    row-gap: 48px;
  }
  body.team-hub-page .team-ensemble-person > a,
  body.team-hub-page .team-ensemble-person:nth-child(even) > a {
    position: relative;
    isolation: isolate;
    padding: 7px;
  }
  body.team-hub-page .team-ensemble-person > a::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background: rgba(250,249,245,.67);
    clip-path: polygon(4% 0,100% 0,96% 100%,0 100%);
  }
  body.team-hub-page .team-ensemble-person:nth-child(2) > a::before,
  body.team-hub-page .team-ensemble-person:nth-child(5) > a::before {
    background: rgba(236,243,217,.72);
  }
  body.team-hub-page .team-ensemble-person:nth-child(3) > a::before,
  body.team-hub-page .team-ensemble-person:nth-child(4) > a::before {
    background: rgba(255,255,252,.58);
  }
  body.team-hub-page .team-ensemble-person.is-studio > a::before {
    background: rgba(252,229,241,.64);
  }
}

/* Cada ficha conserva un único acento, ligado a la fotografía y dentro del panel. */
body.team-hub-page .team-ensemble-meta,
body.team-hub-page .team-ensemble-person:nth-child(even) .team-ensemble-meta {
  border: 0;
}
body.team-hub-page .team-ensemble-meta::before,
body.team-hub-page .team-ensemble-person:nth-child(even) .team-ensemble-meta::before {
  display: none;
}

/* Iteración 68: cabecera en dos ritmos, archivos SEO paginados y detalle de testimonios. */
html,
body { overflow-x: clip; }
.whatsapp-label { overflow: hidden; }
.header-brand-row { background: #050505; }
.header-actions { display: flex; align-items: center; gap: 12px; margin-left: auto; }
.header-search-action,
.header-primary-action { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: 12px; border-radius: 999px; font-size: .9rem; font-weight: 650; transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.header-search-action { padding: 8px 17px; color: #ddd; border: 1px solid rgba(255,255,255,.18); }
.header-search-action b { color: var(--green-bright); font-size: 1.2rem; font-weight: 400; }
.is-studio-header .header-search-action b { color: var(--pink); }
.header-primary-action { min-width: 142px; padding: 8px 17px 8px 20px; color: var(--green-bright); border: 1px solid currentColor; }
.header-primary-action.is-studio-action { color: var(--pink); }
.header-search-action:hover,
.header-search-action:focus-visible { color: #fff; border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.05); transform: translateY(-1px); }
.header-primary-action:hover,
.header-primary-action:focus-visible { color: #080808; background: var(--green-bright); transform: translateY(-1px); }
.header-primary-action.is-studio-action:hover,
.header-primary-action.is-studio-action:focus-visible { background: var(--pink); }
.nav-mobile-tail { display: none; }

@media (min-width: 1181px) {
  .header-brand-row { border-bottom: 1px solid rgba(255,255,255,.11); }
  .header-inner,
  .site-header.is-compact .header-inner { height: 112px; gap: clamp(14px, 1.45vw, 24px); }
  .site-header.is-compact .header-inner { height: 96px; }
  .brand-primary-clinic,
  .site-header.is-compact .brand-primary-clinic { width: 262px !important; height: 72px !important; }
  .brand-primary-studio,
  .site-header.is-compact .brand-primary-studio { width: 252px !important; height: 74px !important; }
  .universe-switch,
  .site-header.is-compact .universe-switch { grid-template-rows: 25px 60px; width: 222px; min-width: 222px; min-height: 88px; margin: 0 0 0 clamp(16px, 1.8vw, 30px); padding: 2px 12px 3px 15px; }
  .universe-switch-logo,
  .site-header.is-compact .universe-switch-logo { height: 60px; }
  .universe-switch b,
  .site-header.is-compact .universe-switch b { width: 25px; height: 25px; font-size: 1rem; }
  .main-nav,
  .main-nav.main-nav-studio { position: static; display: block; min-width: 0; margin: 0 0 0 auto; padding: 0; background: transparent; border: 0; opacity: 1; transform: none; pointer-events: auto; }
  .main-nav > ul,
  .main-nav-studio > ul { display: flex; align-items: center; gap: 0; }
  .main-nav > ul > li { position: relative; display: flex; align-items: center; padding: 0 clamp(12px, 1.05vw, 19px); }
  .main-nav > ul > li:first-child { padding-left: 0; }
  .main-nav > ul > li:last-child { padding-right: 0; }
  .main-nav > ul > li + li::before { position: absolute; left: 0; top: 50%; width: 1px; height: 18px; content: ""; background: rgba(168,210,27,.14); transform: translateY(-50%); }
  .main-nav-studio > ul > li + li::before { background: rgba(236,25,134,.14); }
  .main-nav li > a,
  .nav-parent > a,
  .main-nav-studio li > a,
  .main-nav-studio .nav-parent > a { min-height: 64px; font-size: clamp(.86rem, .8rem + .1vw, .94rem); white-space: nowrap; }
  .main-nav-studio > ul > li { padding-right: clamp(8px, .72vw, 13px); padding-left: clamp(8px, .72vw, 13px); }
  .main-nav-studio li > a,
  .main-nav-studio .nav-parent > a { font-size: clamp(.76rem, .7rem + .1vw, .84rem); }
  .nav-mobile-tail { display: none !important; }
  .menu-toggle { display: none; }
  .topic-nav { top: 144px; }
}

/* Archivo editorial de blog. */
.archive-collection { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: 0 auto; padding: clamp(64px, 7vw, 108px) 0; }
.archive-collection-heading { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); align-items: end; gap: clamp(28px, 6vw, 100px); margin-bottom: clamp(44px, 5vw, 72px); }
.archive-collection-heading .label { margin-bottom: 12px; }
.archive-collection-heading h2 { max-width: 820px; margin: 0; font-size: clamp(2.25rem, 4vw, 4.7rem); line-height: .98; letter-spacing: -.052em; }
.archive-collection-heading > p { max-width: 560px; margin: 0; color: #555; font-size: 1.02rem; line-height: 1.62; }
.blog-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(38px, 4.3vw, 72px) clamp(22px, 2.4vw, 38px); align-items: start; }
.blog-archive-card { position: relative; min-width: 0; }
.blog-archive-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #dedbd3; }
.blog-archive-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(1.03); transition: transform .55s cubic-bezier(.2,.72,.2,1), filter .3s ease; }
.blog-archive-card:hover .blog-archive-media img,
.blog-archive-card:focus-within .blog-archive-media img { filter: saturate(.98) contrast(1.03); transform: scale(1.025); }
.blog-archive-plate { position: relative; z-index: 2; width: calc(100% - 28px); min-height: 246px; margin: -54px 0 0 auto; padding: clamp(24px, 2.1vw, 34px); background: #fbfaf6; box-shadow: 0 22px 48px rgba(55,48,39,.13); }
.blog-archive-card:nth-child(3n+2) .blog-archive-plate { background: #e8efd1; }
.blog-archive-card.is-studio-topic .blog-archive-plate { background: #f6dce9; }
.blog-archive-plate > p { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 14px; color: var(--green-dark); font-size: .78rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.blog-archive-card.is-studio-topic .blog-archive-plate > p { color: var(--pink-dark); }
.blog-archive-plate h3 { margin: 0 0 14px; font-size: clamp(1.3rem, 1.55vw, 1.75rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.blog-archive-date { display: block; margin: -4px 0 16px; color: #74746e; font-size: .76rem; font-weight: 650; letter-spacing: .055em; text-transform: uppercase; }
.blog-archive-plate > span { display: block; color: #555; font-size: .96rem; line-height: 1.58; }
.blog-archive-cta { display: inline-flex; align-items: center; gap: 14px; margin-top: 20px; color: var(--green-dark); font-size: .9rem; font-weight: 700; }
.blog-archive-card.is-studio-topic .blog-archive-cta { color: var(--pink-dark); }
.blog-archive-cta b { transition: transform .2s ease; }
.blog-archive-cta:hover b,
.blog-archive-cta:focus-visible b { transform: translate(3px,-3px); }

/* Archivo visual de testimonios, siempre con la imagen propia del caso. */
.testimonial-archive-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3.4vw, 52px) clamp(20px, 2.5vw, 38px); }
.testimonial-archive-card { position: relative; min-width: 0; overflow: hidden; background: #faf9f5; box-shadow: 0 18px 44px rgba(58,51,42,.1); }
.testimonial-archive-card:nth-child(3n+2) { background: #eaf0d8; }
.testimonial-archive-media { display: grid; height: 300px; place-items: center; padding: 18px; overflow: hidden; background: #e7e4dc; }
.testimonial-archive-media img { width: 100%; height: 100%; object-fit: contain; transition: transform .4s ease, filter .3s ease; }
.testimonial-archive-card:hover .testimonial-archive-media img,
.testimonial-archive-card:focus-within .testimonial-archive-media img { transform: scale(1.025); }
.testimonial-archive-media.is-fallback img { width: 100%; object-fit: cover; }
.testimonial-archive-copy { min-height: 310px; padding: clamp(24px, 2.1vw, 34px); }
.testimonial-archive-copy > p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; margin: 0 0 16px; color: var(--green-dark); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.testimonial-archive-copy > p time { color: #777; font-weight: 500; }
.testimonial-archive-copy h3 { margin: 0 0 16px; font-size: clamp(1.32rem, 1.55vw, 1.72rem); line-height: 1.08; letter-spacing: -.035em; text-wrap: balance; }
.testimonial-archive-copy > div { color: #505050; font-size: .98rem; line-height: 1.62; }
.testimonial-archive-copy > a { display: inline-flex; gap: 14px; align-items: center; margin-top: 22px; color: var(--green-dark); font-size: .91rem; font-weight: 700; }
.testimonial-archive-index { position: absolute; right: 18px; top: 18px; display: grid; width: 38px; height: 38px; place-items: center; color: #fff; background: rgba(18,18,18,.82); border-radius: 50%; font-size: .7rem; font-weight: 750; }

.archive-pagination { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-top: clamp(52px, 6vw, 86px); padding-top: 26px; border-top: 1px solid var(--line-dark); }
.archive-pagination > div:last-child { text-align: right; }
.pagination-numbers { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; }
.pagination-numbers a,
.pagination-numbers span { display: inline-grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--line-dark); border-radius: 50%; font-size: .9rem; }
.pagination-numbers .is-current { color: #fff; background: var(--ink); border-color: var(--ink); }
.pagination-direction { display: inline-flex; min-height: 44px; align-items: center; gap: 12px; color: var(--green-dark); font-weight: 700; }
.pagination-direction.is-disabled { color: #999; }

/* El detalle de un testimonio crece por contenido: título, resumen y foto nunca se montan. */
.testimonial-detail-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); align-items: center; gap: clamp(42px, 7vw, 116px); min-height: 0; padding: clamp(58px, 7vw, 102px) max(var(--pad), calc((100vw - var(--container)) / 2 + var(--pad))); }
.testimonial-detail-heading { min-width: 0; }
.testimonial-detail-heading h1 { max-width: 930px; margin: 0; font-size: clamp(2.2rem, 3.35vw, 4.25rem); line-height: .98; letter-spacing: -.052em; text-wrap: balance; overflow-wrap: anywhere; }
.testimonial-detail-heading .inner-summary { max-width: 760px; margin: 0 0 24px; color: #d2d2d2; font-size: clamp(1.02rem, 1.2vw, 1.2rem); line-height: 1.58; }
.testimonial-detail-media { display: grid; width: min(100%, 420px); min-height: 320px; max-height: 470px; place-items: center; justify-self: end; margin: 0; padding: clamp(18px, 2vw, 28px); overflow: hidden; background: #f4f1e9; box-shadow: 0 24px 64px rgba(0,0,0,.32); }
.testimonial-detail-media img { width: auto; max-width: 100%; height: auto; max-height: 410px; object-fit: contain; }
.testimonial-detail-media.is-fallback img { width: 100%; }
.testimonial-detail-layout { grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr) minmax(210px, .36fr); align-items: start; }
.testimonial-page .article-content img { width: auto; max-width: min(100%, 420px); height: auto; max-height: 560px; margin-right: auto; margin-left: auto; object-fit: contain; }
.testimonial-page .article-content figure { max-width: 760px; margin-right: auto; margin-left: auto; }

@media (max-width: 1180px) {
  .header-brand-row { border-bottom: 1px solid rgba(255,255,255,.09); }
  .header-inner,
  .site-header.is-compact .header-inner { height: 88px; }
  .header-actions { display: none; }
  .menu-toggle { display: flex; align-items: center; gap: 10px; margin-left: auto; }
  .main-nav,
  .main-nav.main-nav-studio { position: fixed; inset: 130px 0 auto; display: grid; max-height: calc(100dvh - 130px); gap: 0; overflow-y: auto; padding: 18px var(--pad) 30px; background: #050505; border-bottom: 1px solid var(--line); opacity: 0; transform: translateY(-140%); pointer-events: none; transition: transform .28s ease, opacity .2s ease; }
  .main-nav.is-open { opacity: 1; transform: none; pointer-events: auto; }
  .main-nav > ul,
  .main-nav-studio > ul { display: block; }
  .main-nav > ul > li { padding: 0; border-bottom: 1px solid var(--line); }
  .main-nav > ul > li::before { display: none !important; }
  .main-nav li > a,
  .main-nav-studio li > a,
  .nav-parent > a,
  .main-nav-studio .nav-parent > a { width: 100%; min-height: 54px; font-size: 1rem; white-space: normal; }
  .nav-mobile-tail { display: block; }
  .nav-mobile-tail .nav-cta { width: auto; margin: 16px 0; }
  .nav-mobile-tail .nav-cta.is-studio-action { color: var(--pink); }
  .topic-nav { top: 130px; }
  .blog-archive-grid,
  .testimonial-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testimonial-detail-hero { grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); }
  .testimonial-detail-layout { grid-template-columns: minmax(140px, .28fr) minmax(0, 1fr); }
  .testimonial-detail-layout .author-card { grid-column: 2; }
}

@media (max-width: 760px) {
  .header-inner,
  .site-header.is-compact .header-inner { height: 80px; }
  .brand-primary-clinic,
  .site-header.is-compact .brand-primary-clinic { width: 146px !important; height: 42px !important; }
  .brand-primary-studio,
  .site-header.is-compact .brand-primary-studio { width: 140px !important; height: 42px !important; }
  .universe-switch,
  .site-header.is-compact .universe-switch { grid-template-rows: 20px 46px; width: 146px; min-width: 146px; min-height: 72px; margin-left: 3px; padding: 2px 7px 3px 9px; }
  .universe-switch-logo,
  .site-header.is-compact .universe-switch-logo { height: 46px; }
  .universe-switch b,
  .site-header.is-compact .universe-switch b { width: 20px; height: 20px; font-size: .84rem; }
  .main-nav,
  .main-nav.main-nav-studio { inset: 138px 0 auto; max-height: calc(100dvh - 138px); }
  .topic-nav { top: 138px; }
  .archive-collection { width: calc(100% - 32px); padding: 58px 0; }
  .archive-collection-heading { grid-template-columns: 1fr; align-items: start; margin-bottom: 38px; }
  .archive-collection-heading h2 { font-size: clamp(2.1rem, 10vw, 3.2rem); }
  .blog-archive-grid,
  .testimonial-archive-grid { grid-template-columns: 1fr; gap: 38px; }
  .blog-archive-plate { width: calc(100% - 16px); min-height: 0; margin-top: -36px; }
  .testimonial-archive-media { height: 260px; }
  .testimonial-archive-copy { min-height: 0; }
  .archive-pagination { grid-template-columns: 1fr 1fr; }
  .pagination-numbers { grid-column: 1 / -1; grid-row: 1; }
  .archive-pagination > div:first-child { grid-column: 1; grid-row: 2; }
  .archive-pagination > div:last-child { grid-column: 2; grid-row: 2; }
  .testimonial-detail-hero { grid-template-columns: 1fr; gap: 34px; padding: 48px 20px 54px; }
  .testimonial-detail-heading h1 { font-size: clamp(1.75rem, 8vw, 2.5rem); line-height: 1.02; }
  .testimonial-detail-media { width: min(100%, 360px); min-height: 250px; max-height: 420px; justify-self: center; }
  .testimonial-detail-media img { max-height: 360px; }
  .testimonial-detail-layout,
  .testimonial-detail-layout .author-card { grid-template-columns: 1fr; grid-column: auto; }
  .whatsapp-button,
  .whatsapp-button:hover,
  .whatsapp-button:focus-visible { width: 56px; height: 56px; }
  .whatsapp-button .whatsapp-label { display: none; }
  .whatsapp-button svg { flex-basis: 56px; width: 56px; height: 56px; padding: 14px; }
}

@media (max-width: 430px) {
  .brand-primary-clinic,
  .site-header.is-compact .brand-primary-clinic { width: 126px !important; }
  .brand-primary-studio,
  .site-header.is-compact .brand-primary-studio { width: 122px !important; }
  .universe-switch,
  .site-header.is-compact .universe-switch { width: 126px; min-width: 126px; }
  .menu-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}

@media (prefers-reduced-motion: reduce) {
  .blog-archive-media img,
  .testimonial-archive-media img { transition: none; transform: none !important; }
}

/* Iteración 69: heroes de artículos fluidos y tres patrones editoriales por contenido. */
.article-page:not(.testimonial-page) .article-hero {
  height: auto;
  min-height: 620px;
  align-items: stretch;
}
.article-page:not(.testimonial-page) .article-hero-copy {
  position: relative;
  min-width: 0;
  min-height: 620px;
  justify-content: center;
  padding-top: clamp(62px, 6vw, 92px);
  padding-bottom: clamp(76px, 7vw, 112px);
}
.article-page:not(.testimonial-page) .article-hero h1 {
  max-width: 900px;
  font-size: clamp(2.2rem, 2.35vw, 3.1rem);
  line-height: .98;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
.article-page:not(.testimonial-page) .article-hero-copy > .inner-summary {
  max-width: 720px;
  margin-bottom: 26px;
  line-height: 1.58;
}
.article-page:not(.testimonial-page) .article-hero .article-meta {
  position: static;
  width: 100%;
  margin-top: 0;
  padding: 0;
}
.article-page:not(.testimonial-page) .article-hero-media {
  position: relative;
  align-self: stretch;
  height: auto;
  min-height: 620px;
}
.article-page:not(.testimonial-page) .article-hero-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-page:not(.testimonial-page) .article-hero-media.is-contained {
  background: radial-gradient(circle at 50% 46%, #303127, #171713 72%);
}
.article-page:not(.testimonial-page) .article-hero-media.is-contained img {
  inset: clamp(26px, 3vw, 52px);
  width: calc(100% - clamp(52px, 6vw, 104px));
  height: calc(100% - clamp(52px, 6vw, 104px));
  object-fit: contain;
}

.article-editorial-module {
  width: min(100%, 1040px);
  margin: 0 0 clamp(66px, 8vw, 108px);
  color: var(--ink);
}
.article-editorial-module .label {
  margin: 0 0 14px;
  color: var(--green-dark);
}
.article-editorial-module h2 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(2rem, 3.2vw, 3.55rem);
  line-height: .98;
  text-wrap: balance;
}

/* Patrón A: relato y material pequeño/vertical en dos planos. */
.editorial-story-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .72fr);
  gap: clamp(42px, 7vw, 92px);
  align-items: start;
  padding: clamp(36px, 5vw, 64px) 0 clamp(28px, 4vw, 46px);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.editorial-story-copy blockquote {
  position: relative;
  max-width: 690px;
  margin: clamp(38px, 5vw, 70px) 0 0;
  padding: 28px 0 0 clamp(28px, 3vw, 48px);
  color: #1b1b1b;
  background: transparent;
  border: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 2.15vw, 2.15rem);
  font-style: italic;
  line-height: 1.42;
}
.editorial-story-copy blockquote::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '“';
  color: var(--green);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 5rem;
  font-style: normal;
  line-height: 1;
}
.editorial-story-copy blockquote p,
.editorial-key-media blockquote p { margin: 0; }
.editorial-story-media {
  width: min(100%, 370px);
  justify-self: end;
  margin: 0;
  padding: 18px;
  background: #e8e4da;
  box-shadow: 0 22px 60px rgba(66,55,39,.14);
}
.editorial-story-media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 500px;
  margin: auto;
  object-fit: contain;
}
.editorial-story-media.is-portrait,
.editorial-story-media.is-low-resolution { max-width: 340px; }
.editorial-story-media figcaption {
  margin-top: 14px;
  color: #666;
  font-size: .86rem;
  line-height: 1.5;
}
.editorial-story-media > p {
  margin: 20px 0 0;
  padding-top: 18px;
  color: #484848;
  border-top: 1px solid rgba(18,18,18,.16);
  font-size: .96rem;
  line-height: 1.62;
}

/* Patrón B: el hero hace de introducción split; el cuerpo gana medida editorial. */
.article-pattern-b .article-content > p:first-of-type {
  max-width: 850px;
  color: #333;
  font-size: clamp(1.16rem, 1.4vw, 1.36rem);
  line-height: 1.7;
}
.article-pattern-b .article-content > p:first-of-type::first-letter {
  float: left;
  margin: .08em .12em 0 0;
  color: var(--green-dark);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 3.8em;
  line-height: .76;
}

/* Patrón C: mapa de apartados reales y una segunda imagen con cita existente. */
.editorial-key-points {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr);
  gap: clamp(44px, 7vw, 92px);
  align-items: center;
  padding: clamp(42px, 5vw, 68px);
  background: #e7eadb;
}
.editorial-key-copy ol {
  display: grid;
  gap: 0;
  margin: 38px 0 0;
  padding: 0;
  list-style: none;
}
.editorial-key-copy li {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 15px;
  align-items: baseline;
  margin: 0;
  padding: 16px 0;
  border-top: 1px solid rgba(50,68,18,.24);
}
.editorial-key-copy li:last-child { border-bottom: 1px solid rgba(50,68,18,.24); }
.editorial-key-copy li > span {
  color: var(--green-dark);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
  font-weight: 750;
  letter-spacing: .08em;
}
.editorial-key-copy li > a {
  color: #20231a;
  font-size: clamp(1.02rem, 1.25vw, 1.18rem);
  font-weight: 680;
  line-height: 1.28;
  text-decoration: none;
}
.editorial-key-copy li > a:hover,
.editorial-key-copy li > a:focus-visible { color: var(--green-dark); text-decoration: underline; text-underline-offset: 4px; }
.editorial-key-media {
  display: grid;
  align-items: end;
  width: min(100%, 480px);
  justify-self: end;
  margin: 0;
}
.editorial-key-media img {
  grid-column: 1;
  grid-row: 1;
  display: block;
  width: 100%;
  height: auto;
  max-height: 500px;
  object-fit: contain;
  background: #d8ddc7;
}
.editorial-key-media.is-portrait img,
.editorial-key-media.is-low-resolution img {
  width: auto;
  max-width: min(100%, 360px);
  justify-self: center;
}
.editorial-key-media blockquote {
  z-index: 1;
  grid-column: 1;
  grid-row: 1;
  align-self: end;
  width: calc(100% - 32px);
  max-width: none;
  margin: 0 16px -42px;
  padding: 22px 24px;
  color: #f5f4ef;
  background: rgba(12,14,10,.94);
  border: 0;
  box-shadow: 0 18px 40px rgba(55,64,34,.2);
  font-size: clamp(1rem, 1.2vw, 1.16rem);
  line-height: 1.52;
}
.editorial-key-media figcaption {
  margin: 56px 16px 0;
  color: #5d6250;
  font-size: .86rem;
  line-height: 1.5;
}

/* Las imágenes verticales o modestas nunca se fuerzan al ancho del artículo. */
.article-page .article-content img.legacy-image-portrait,
.article-page .article-content img.is-low-resolution {
  width: auto !important;
  max-width: min(100%, 380px) !important;
  height: auto !important;
  max-height: 600px;
  object-fit: contain;
}
.article-page .article-content .legacy-media:has(img.legacy-image-portrait),
.article-page .article-content .legacy-media:has(img.is-low-resolution),
.article-page .article-content .elementor-widget-image:has(img.legacy-image-portrait),
.article-page .article-content .elementor-widget-image:has(img.is-low-resolution) {
  width: min(100%, 430px);
  min-height: 0;
  margin-right: auto;
  margin-left: auto;
  padding: clamp(18px, 2.5vw, 30px);
  background: #e7e4dc;
}
.article-pattern-c .article-content .elementor > .elementor-top-section:nth-of-type(3n+2):has(img) {
  width: min(94%, 980px);
  margin-left: auto;
}

@media (max-width: 1180px) {
  .article-page:not(.testimonial-page) .article-hero,
  .article-page:not(.testimonial-page) .article-hero-copy,
  .article-page:not(.testimonial-page) .article-hero-media { min-height: 580px; }
  .editorial-story-split,
  .editorial-key-points { gap: 42px; }
}

@media (max-width: 760px) {
  .article-page:not(.testimonial-page) .article-hero { display: flex; min-height: 0; }
  .article-page:not(.testimonial-page) .article-hero-copy {
    min-height: 0;
    padding: 46px 20px 58px;
  }
  .article-page:not(.testimonial-page) .article-hero h1 { font-size: clamp(1.7rem, 7vw, 2.6rem); }
  .article-page:not(.testimonial-page) .article-hero-media {
    height: 300px;
    min-height: 300px;
  }
  .article-page:not(.testimonial-page) .article-hero-media img { position: static; }
  .article-page:not(.testimonial-page) .article-hero-media.is-contained img {
    width: calc(100% - 36px);
    height: calc(100% - 36px);
    margin: 18px;
  }
  .article-editorial-module { margin-bottom: 62px; }
  .editorial-story-split,
  .editorial-key-points {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 32px 20px 38px;
  }
  .editorial-story-copy blockquote { margin-top: 30px; padding-left: 34px; }
  .editorial-story-media,
  .editorial-key-media { width: min(100%, 380px); justify-self: start; }
  .editorial-key-media blockquote { position: relative; grid-row: 2; width: calc(100% - 18px); margin: -34px 9px 0; }
  .editorial-key-media figcaption { margin: 16px 9px 0; }
  .article-pattern-b .article-content > p:first-of-type::first-letter { float: none; margin: 0; font: inherit; color: inherit; }
  .article-pattern-c .article-content .elementor > .elementor-top-section:nth-of-type(3n+2):has(img) { width: 100%; }
}

/* Índice de conservación de las rutas históricas de WordPress. */
.legacy-archive-index {
  width: min(100% - 48px, 1320px);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 128px) 0;
}
.legacy-archive-note {
  display: grid;
  grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
  gap: 32px;
  margin-bottom: clamp(64px, 7vw, 104px);
  padding: 28px 0;
  border-top: 1px solid rgba(104, 145, 5, .36);
  border-bottom: 1px solid rgba(22, 24, 18, .14);
}
.legacy-archive-note strong { font-size: clamp(1.22rem, 1.8vw, 1.68rem); line-height: 1.18; }
.legacy-archive-note p { max-width: 750px; margin: 0; color: #53584a; font-size: 1.06rem; line-height: 1.65; }
.legacy-archive-group {
  display: grid;
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
  gap: clamp(36px, 7vw, 110px);
  padding: clamp(44px, 5vw, 72px) 0;
  border-top: 1px solid rgba(22, 24, 18, .14);
}
.legacy-archive-group h2 { max-width: 520px; margin: 12px 0 20px; font-size: clamp(1.8rem, 3vw, 3.2rem); line-height: 1.02; text-wrap: balance; }
.legacy-archive-group > div > p:last-child { max-width: 560px; margin: 0; color: #5d6254; font-size: 1.02rem; line-height: 1.65; }
.legacy-archive-group ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.legacy-archive-group li { border-bottom: 1px solid rgba(22, 24, 18, .12); }
.legacy-archive-group a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: center;
  min-height: 64px;
  padding: 16px 4px;
  color: #181a15;
  font-size: clamp(1rem, 1.3vw, 1.16rem);
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
}
.legacy-archive-group a b { color: var(--green); font-size: 1.35rem; transition: transform .2s ease; }
.legacy-archive-group a:hover,
.legacy-archive-group a:focus-visible { color: var(--green-dark); }
.legacy-archive-group a:hover b,
.legacy-archive-group a:focus-visible b { transform: translate(3px, -3px); }
.legacy-snapshot-header > div {
  width: min(100% - 48px, 1180px);
  margin: 0 auto;
  padding: clamp(72px, 8vw, 128px) 0;
}
.legacy-snapshot-header h1 { max-width: 950px; margin: 18px 0 24px; font-size: clamp(2.2rem, 5vw, 5.8rem); line-height: .98; text-wrap: balance; }
.legacy-snapshot-header > div > p:not(.eyebrow) { max-width: 760px; margin: 0 0 32px; color: rgba(255,255,255,.74); font-size: 1.08rem; line-height: 1.65; }
.legacy-snapshot-shell {
  width: min(100% - 48px, 1180px);
  margin: 0 auto;
  padding: clamp(64px, 8vw, 120px) 0;
}
.legacy-snapshot-warning {
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
  gap: 32px;
  margin-bottom: 56px;
  padding: 26px 0;
  border-top: 2px solid var(--green);
  border-bottom: 1px solid rgba(22, 24, 18, .14);
}
.legacy-snapshot-warning strong { font-size: 1.14rem; }
.legacy-snapshot-warning p { max-width: 780px; margin: 0; color: #565b4e; line-height: 1.65; }
.legacy-snapshot-page .legacy-content { max-width: 920px; margin: 0 auto; }

/* Directorio completo de las taxonomías históricas de WordPress. */
.taxonomy-directory {
  width: min(100% - 48px, var(--container));
  margin: clamp(28px, 4vw, 54px) auto 0;
  scroll-margin-top: 210px;
  border-top: 1px solid rgba(22, 24, 18, .18);
  border-bottom: 1px solid rgba(22, 24, 18, .18);
}
.taxonomy-directory summary {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  min-height: 62px;
  padding: 12px 2px;
  color: var(--ink);
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  font-weight: 720;
  cursor: pointer;
  list-style: none;
}
.taxonomy-directory summary::-webkit-details-marker { display: none; }
.taxonomy-directory summary::after {
  content: '+';
  order: 3;
  color: var(--green);
  font-size: 1.45rem;
  font-weight: 500;
}
.taxonomy-directory[open] summary::after { content: '−'; }
.taxonomy-directory summary span {
  margin-left: auto;
  color: #65695f;
  font-size: .82rem;
  font-weight: 600;
}
.taxonomy-directory-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: clamp(24px, 4vw, 64px);
  padding: 4px 0 28px;
}
.taxonomy-directory-links a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  min-height: 50px;
  padding: 10px 2px 10px calc((var(--taxonomy-depth, 1) - 1) * 10px + 2px);
  color: #30342c;
  border-bottom: 1px solid rgba(22, 24, 18, .1);
  font-size: .96rem;
  line-height: 1.35;
  text-decoration: none;
}
.taxonomy-directory-links a::before {
  content: '';
  width: calc(14px + (var(--taxonomy-depth, 1) - 1) * 5px);
  height: 1px;
  margin-right: 10px;
  background: color-mix(in srgb, var(--green) 58%, transparent);
  grid-column: 1;
  grid-row: 1;
}
.taxonomy-directory-links a span { grid-column: 1; grid-row: 1; padding-left: calc(24px + (var(--taxonomy-depth, 1) - 1) * 5px); }
.taxonomy-directory-links a b { color: var(--green-dark); font-size: .8rem; }
.taxonomy-directory-links a:hover,
.taxonomy-directory-links a:focus-visible,
.taxonomy-directory-links a[aria-current="page"] { color: var(--green-dark); }
.taxonomy-directory-links a:focus-visible { outline: 2px solid var(--green); outline-offset: 3px; }

@media (max-width: 760px) {
  .legacy-archive-index { width: min(100% - 36px, 1320px); padding: 64px 0 80px; }
  .legacy-archive-note,
  .legacy-archive-group { grid-template-columns: 1fr; gap: 20px; }
  .legacy-archive-note { margin-bottom: 48px; }
  .legacy-archive-group { padding: 44px 0; }
  .legacy-archive-group a { min-height: 58px; }
  .legacy-snapshot-header > div,
  .legacy-snapshot-shell { width: min(100% - 36px, 1180px); }
  .legacy-snapshot-warning { grid-template-columns: 1fr; gap: 14px; }
  .taxonomy-directory { width: min(100% - 36px, var(--container)); margin-top: 26px; scroll-margin-top: 190px; }
  .archive-page .topic-nav { position: relative; top: auto; }
  .taxonomy-directory summary { min-height: 58px; }
  .taxonomy-directory summary span { display: none; }
  .taxonomy-directory-links { grid-template-columns: 1fr; padding-bottom: 22px; }
  .taxonomy-directory-links a { min-height: 52px; }
}

@media (prefers-reduced-motion: reduce) {
  .legacy-archive-group a b { transition: none; }
}

/* Iteración 79: cabecera superior unificada y ritmo editorial de artículos. */
.contact-rail { height: 48px; }
.contact-rail-inner { justify-content: space-between; gap: 28px; }
.contact-rail-spaces { display: flex; min-width: 0; align-items: center; gap: clamp(18px, 2.2vw, 38px); }
.contact-rail .header-actions { display: flex; flex: 0 0 auto; gap: 8px; margin-left: auto; }
.contact-rail .header-search-action,
.contact-rail .header-primary-action { min-height: 34px; padding: 5px 14px; font-size: .78rem; }
.contact-rail .header-primary-action { min-width: 116px; }
.contact-rail .header-search-action b { font-size: 1.05rem; }
.header-brand-row .header-inner { justify-content: flex-start; }
.header-brand-row .menu-toggle { margin-left: auto; }

@media (min-width: 1181px) {
  .topic-nav { top: 144px; }
}

/* Las categorías de testimonios forman una banda compacta, no una tabla flotante. */
.testimonials-page .testimony-topics,
.testimonial-category-page .testimony-topics {
  position: relative;
  top: auto;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  width: min(calc(100% - (var(--pad) * 2)), var(--container));
  margin: clamp(26px, 3vw, 42px) auto 0;
  padding: 7px 0;
  overflow: visible;
  background: transparent;
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.testimonials-page .testimony-topics a,
.testimonial-category-page .testimony-topics a {
  position: relative;
  min-width: 0;
  min-height: 52px;
  align-items: center;
  justify-content: space-between;
  padding: 10px clamp(12px, 1.3vw, 19px);
  border: 0;
  font-size: .85rem;
  white-space: normal;
}
.testimonials-page .testimony-topics a + a::before,
.testimonial-category-page .testimony-topics a + a::before {
  position: absolute;
  left: 0;
  top: 13px;
  bottom: 13px;
  width: 1px;
  content: "";
  background: rgba(20,20,20,.12);
}
.testimonials-page .testimony-topics a:hover,
.testimonials-page .testimony-topics a:focus-visible,
.testimonials-page .testimony-topics a.is-active,
.testimonial-category-page .testimony-topics a:hover,
.testimonial-category-page .testimony-topics a:focus-visible,
.testimonial-category-page .testimony-topics a.is-active { color: #fff; background: var(--ink); }
.testimonials-page .testimony-topics a.is-active span,
.testimonial-category-page .testimony-topics a.is-active span { color: var(--green-bright); }

/* Proporción 58/42: texto e imagen se leen como una única composición. */
.article-editorial-module { width: min(100%, 1120px); }
.article-editorial-module h2 { font-size: clamp(1.75rem, 2.45vw, 2.75rem); line-height: 1; }
.editorial-story-split,
.editorial-key-points { grid-template-columns: minmax(0, 58fr) minmax(300px, 42fr); gap: clamp(30px, 4.2vw, 58px); }
.editorial-story-copy blockquote {
  max-width: 650px;
  margin-top: clamp(26px, 3vw, 42px);
  font-size: clamp(1.2rem, 1.55vw, 1.68rem);
  line-height: 1.5;
}
.editorial-story-media,
.editorial-story-media.is-portrait,
.editorial-story-media.is-low-resolution,
.editorial-key-media { width: 100%; max-width: none; justify-self: stretch; }
.editorial-story-media img { max-height: 580px; }
.testimonial-fragment-module .editorial-story-media { align-self: start; }
.testimonial-fragment-module .editorial-story-media > p { font-size: .92rem; line-height: 1.62; }

.legacy-media-row {
  display: grid;
  grid-template-columns: minmax(0, 58fr) minmax(260px, 42fr);
  gap: clamp(28px, 4.2vw, 58px);
  align-items: start;
  width: min(100%, 1060px);
  margin: clamp(42px, 6vw, 72px) 0;
  padding: clamp(24px, 3vw, 38px) 0;
  border-top: 1px solid rgba(22,24,18,.13);
  border-bottom: 1px solid rgba(22,24,18,.13);
}
.legacy-media-row-copy { min-width: 0; align-self: center; }
.legacy-media-row-copy > p { max-width: 650px; margin: 0 0 18px; }
.legacy-media-row-copy > p:last-of-type { margin-bottom: 0; }
.article-content .legacy-media-row > figure,
.article-content .legacy-media-row > .wp-block-image {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 0;
  place-items: center;
  margin: 0;
  padding: clamp(12px, 1.6vw, 20px);
  background: #e6e3db;
}
.article-content .legacy-media-row img,
.article-content .legacy-media-row img.legacy-image-portrait,
.article-content .legacy-media-row img.is-low-resolution {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 620px;
  object-fit: contain;
}

/* Un único componente ambiental, siempre por detrás y anclado abajo a la izquierda. */
.section-wordmark { z-index: 0; left: -2.5vw; right: auto; bottom: -.08em; }
.team-ensemble-watermark { left: -2.5vw; right: auto; bottom: -3vw; }
.nutrition-wordmark,
.treatments-wordmark { left: -2.5vw; bottom: -.08em; }
.contact-map-city { left: -18px; bottom: -40px; }

@media (max-width: 1180px) {
  .contact-rail { height: 42px; }
  .contact-rail-inner { display: flex; }
  .contact-rail-spaces { width: 100%; justify-content: center; }
  .contact-rail .header-actions { display: none; }
  .testimonials-page .testimony-topics,
  .testimonial-category-page .testimony-topics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .contact-rail { height: 58px; }
  .contact-rail-inner { padding: 0 12px; }
  .contact-rail-spaces { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .testimonials-page .testimony-topics,
  .testimonial-category-page .testimony-topics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: calc(100% - 32px);
    margin-top: 20px;
  }
  .testimonials-page .testimony-topics a,
  .testimonial-category-page .testimony-topics a { min-height: 50px; padding: 9px 12px; font-size: .8rem; }
  .testimonials-page .testimony-topics a:nth-child(odd)::before,
  .testimonial-category-page .testimony-topics a:nth-child(odd)::before { display: none; }

  .article-editorial-module h2 { font-size: clamp(1.35rem, 6vw, 1.7rem); }
  .editorial-story-split,
  .editorial-key-points,
  .legacy-media-row {
    grid-template-columns: minmax(0, 58fr) minmax(126px, 42fr);
    gap: 14px;
    align-items: start;
    padding: 22px 0 26px;
  }
  .editorial-story-copy blockquote { margin-top: 22px; padding: 22px 0 0 24px; font-size: clamp(1rem, 4.2vw, 1.15rem); line-height: 1.55; }
  .editorial-story-copy blockquote::before { font-size: 3.5rem; }
  .editorial-story-media,
  .editorial-key-media { width: 100%; justify-self: stretch; padding: 8px; }
  .editorial-story-media figcaption { margin-top: 8px; font-size: .72rem; }
  .testimonial-fragment-module .editorial-story-media > p { margin-top: 10px; padding-top: 10px; font-size: .78rem; line-height: 1.5; }

  /*
   * La primera fila mantiene la lectura texto + imagen. Los textos largos que
   * acompañan a la figura dejan de quedar atrapados en la columna estrecha y
   * continúan debajo, a ancho completo y con resguardo para los accesos fijos.
   */
  .editorial-story-split > .editorial-story-copy,
  .editorial-key-points > .editorial-key-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .editorial-story-split > .editorial-story-media,
  .editorial-key-points > .editorial-key-media { display: contents; }
  .editorial-story-split > .editorial-story-media > img,
  .editorial-key-points > .editorial-key-media > img {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    justify-self: stretch;
    box-sizing: border-box;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0;
    padding: 8px;
    object-fit: contain;
    background: #e6e3db;
  }
  .editorial-key-points > .editorial-key-media > blockquote {
    grid-column: 1 / -1;
    grid-row: 2;
    align-self: start;
    width: 100%;
    margin: 20px 0 0;
    padding: 24px 76px 24px 24px;
    font-size: clamp(.98rem, 4.1vw, 1.08rem);
    line-height: 1.58;
  }
  .editorial-key-points > .editorial-key-media > figcaption,
  .editorial-story-split > .editorial-story-media > figcaption {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    margin: 12px 0 0;
    padding: 0 76px 0 0;
    font-size: .78rem;
    line-height: 1.55;
  }
  .editorial-story-split > .editorial-story-media > figcaption { grid-row: 2; }
  .editorial-story-split > .editorial-story-media > p,
  .testimonial-fragment-module > .editorial-story-media > p {
    grid-column: 1 / -1;
    grid-row: 3;
    width: 100%;
    margin: 10px 0 0;
    padding: 16px 76px 0 0;
    border-top: 1px solid rgba(22,24,18,.16);
    font-size: .9rem;
    line-height: 1.62;
  }
  .legacy-media-row { margin: 38px 0; }
  .legacy-media-row-copy { font-size: .9rem; line-height: 1.58; }
  .legacy-media-row-copy > p { margin-bottom: 12px; }
  .article-content .legacy-media-row > figure,
  .article-content .legacy-media-row > .wp-block-image { padding: 8px; }
  .team-ensemble-watermark { left: -10vw; right: auto; bottom: 4%; }
  .nutrition-wordmark,
  .treatments-wordmark { left: -8vw; }
  .contact-map-city { left: -8vw; top: auto; bottom: -10px; font-size: clamp(6rem, 30vw, 8rem); }
}

@media (max-width: 340px) {
  .editorial-story-split,
  .editorial-key-points,
  .legacy-media-row { grid-template-columns: 1fr; gap: 24px; }
  .editorial-story-split > .editorial-story-copy,
  .editorial-key-points > .editorial-key-copy { grid-column: 1; grid-row: 1; }
  .editorial-story-split > .editorial-story-media > img,
  .editorial-key-points > .editorial-key-media > img { grid-column: 1; grid-row: 2; }
  .editorial-key-points > .editorial-key-media > blockquote { grid-column: 1; grid-row: 3; }
  .editorial-key-points > .editorial-key-media > figcaption { grid-column: 1; grid-row: 4; }
  .editorial-story-split > .editorial-story-media > figcaption { grid-column: 1; grid-row: 3; }
  .editorial-story-split > .editorial-story-media > p,
  .testimonial-fragment-module > .editorial-story-media > p { grid-column: 1; grid-row: 4; }
}

/* Tres accesos Salux: 25 % Clínica, 25 % Studio y 50 % Herbolario. */
.appointment-section { grid-template-columns: 1fr 1fr 2fr; }
.appointment-copy { grid-column: 1 / -1; }

@media (max-width: 1120px) {
  .appointment-section { grid-template-columns: 1fr 1fr; }
  .herbalist-card { grid-column: 1 / -1; min-height: 260px; }
}

@media (max-width: 700px) {
  .appointment-section { grid-template-columns: 1fr; }
  .appointment-copy,
  .herbalist-card { grid-column: auto; }
  .space-card { min-height: 160px; }
  .herbalist-card { min-height: 0; aspect-ratio: 1984 / 800; }
  .herbalist-card img { object-fit: contain; }
  .herbalist-card span { right: 8px; bottom: 8px; padding: 6px 8px; font-size: .68rem; }
}

@media (prefers-reduced-motion: reduce) {
  .space-card,
  .herbalist-card::after,
  .herbalist-card img { transition: none; }
  .space-card:hover,
  .herbalist-card:hover img { transform: none; }
  .herbalist-card:hover::after { transform: translateX(-120%); }
}

/* Inicio: equipo completo en una sola visual de escritorio. */
.home-page .team-showcase {
  min-height: auto;
  padding: clamp(32px, 3vw, 52px) var(--pad) clamp(36px, 3.5vw, 58px);
}
.home-page .team-showcase .section-heading {
  align-items: end;
  margin-bottom: clamp(18px, 2vw, 30px);
}
.home-page .team-showcase .section-heading h2 {
  max-width: 780px;
  font-size: clamp(2rem, 2.8vw, 3.4rem);
  line-height: .96;
}
.home-page .team-showcase .section-heading > p { max-width: 410px; font-size: .98rem; line-height: 1.55; }
.home-page .home-team-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  max-width: 1600px;
  margin-inline: auto;
}
.home-page .home-team-grid .team-card,
.home-page .home-team-grid .team-card:nth-child(-n+2) {
  grid-column: span 1;
  display: flex;
  min-height: 0;
  grid-template-columns: none;
  grid-template-rows: none;
}
.home-page .home-team-grid .team-card:nth-child(-n+2) .team-card-image,
.home-page .home-team-grid .team-card:nth-child(2) .team-card-image,
.home-page .home-team-grid .team-card-image {
  grid-column: auto;
  grid-row: auto;
  min-height: 0;
  aspect-ratio: 4 / 3.95;
}
.home-page .home-team-grid .team-card p { padding: 15px 15px 5px; font-size: .59rem; letter-spacing: .02em; }
.home-page .home-team-grid .team-card h3,
.home-page .home-team-grid .team-card:nth-child(-n+2) h3 {
  padding: 0 30px 18px 15px;
  font-size: clamp(.92rem, 1.08vw, 1.2rem);
  line-height: 1.05;
}
.home-page .home-team-grid .team-card > span { right: 13px; bottom: 18px; }
.home-page .team-showcase-action { margin-top: 18px; }
.home-page .team-showcase-action .team-all { min-height: 42px; padding-block: 9px; }

/* Dos accesos editoriales discretos antes de las reseñas. */
.home-discovery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  padding: clamp(52px, 5vw, 82px) max(var(--pad), calc((100% - var(--container)) / 2));
  background: #efede7;
}
.home-discovery-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto 1fr;
  column-gap: 30px;
  min-height: 225px;
  padding: clamp(28px, 3vw, 46px);
  overflow: hidden;
  color: var(--ink);
  background: #f7f5f0;
  border: 1px solid rgba(20,20,18,.12);
  transition: transform .28s ease, background-color .28s ease;
}
.home-discovery-card::before { content: ""; position: absolute; top: 0; left: 0; width: 82px; height: 3px; background: var(--green); }
.home-discovery-cases::before { background: var(--pink); }
.home-discovery-card > span { grid-column: 1 / -1; color: var(--green-dark); font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.home-discovery-cases > span { color: var(--pink-dark); }
.home-discovery-card > strong { align-self: end; margin-top: 28px; font-size: clamp(1.65rem, 2.35vw, 2.75rem); line-height: .98; }
.home-discovery-card > p { grid-column: 1; max-width: 470px; margin: 13px 0 0; color: #5f5d58; line-height: 1.55; }
.home-discovery-card > b { grid-column: 2; grid-row: 2 / 4; align-self: end; color: inherit; font-size: .9rem; font-weight: 600; white-space: nowrap; }
.home-discovery-card > b i { margin-left: 12px; font-style: normal; font-size: 1.2em; }
.home-discovery-card:hover { transform: translateY(-4px); background: #fff; }

/* Reseñas verificadas en el perfil de Google: cinco tarjetas compactas por página. */
.google-reviews {
  padding: clamp(66px, 6vw, 104px) max(var(--pad), calc((100% - var(--container)) / 2));
  background: #e2dfd7;
}
.google-reviews-heading { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); gap: clamp(36px, 8vw, 130px); align-items: end; margin-bottom: clamp(34px, 4vw, 58px); }
.google-reviews-heading h2 { max-width: 830px; margin: 12px 0 0; font-size: clamp(2.25rem, 4.5vw, 5.1rem); line-height: .93; }
.google-reviews-heading > div:last-child p { margin: 0 0 16px; color: #5e5b55; line-height: 1.6; }
.google-reviews-heading a { display: inline-flex; gap: 12px; padding-bottom: 5px; color: var(--ink); border-bottom: 1px solid var(--green); font-weight: 650; }
.google-reviews-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(12px, 1.15vw, 18px); }
.google-review-card {
  display: flex;
  aspect-ratio: 1;
  min-width: 0;
  flex-direction: column;
  padding: clamp(18px, 1.55vw, 25px);
  background: #f7f5f0;
  border: 1px solid rgba(20,20,18,.12);
  box-shadow: 0 18px 45px rgba(35,32,25,.08);
}
.google-review-card[hidden] { display: none !important; }
.google-review-author { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: center; }
.google-review-author > span { display: grid; width: 36px; aspect-ratio: 1; place-items: center; color: #fff; background: var(--green-dark); border-radius: 50%; font-size: .64rem; font-weight: 750; letter-spacing: .04em; }
.google-review-author > div { min-width: 0; }
.google-review-author strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .9rem; }
.google-review-author small { display: block; margin-top: 2px; color: #77736b; font-size: .68rem; }
.google-review-author b { grid-column: 1 / -1; color: #f6ad01; font-size: .9rem; letter-spacing: .06em; }
.google-review-card blockquote { display: -webkit-box; margin: 13px 0 11px; overflow: hidden; color: #393732; font-size: clamp(.78rem, .78vw, .91rem); line-height: 1.48; -webkit-box-orient: vertical; -webkit-line-clamp: 7; }
.google-review-card > a { margin-top: auto; color: var(--green-dark); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.google-reviews-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 28px; align-items: center; margin-top: 28px; }
.google-reviews-footer > p { max-width: 680px; margin: 0; color: #6b675f; font-size: .78rem; line-height: 1.55; }
.google-reviews-pagination { display: flex; gap: 8px; align-items: center; }
.google-reviews-pagination > button,
.google-reviews-pagination div button { display: grid; width: 38px; height: 38px; place-items: center; padding: 0; color: var(--ink); background: transparent; border: 1px solid rgba(20,20,18,.26); border-radius: 50%; cursor: pointer; }
.google-reviews-pagination div { display: flex; gap: 5px; }
.google-reviews-pagination div button { width: 32px; height: 32px; border-color: transparent; font-size: .69rem; }
.google-reviews-pagination button.is-active { color: #fff; background: var(--green-dark); }
.google-reviews-pagination button:disabled { opacity: .35; cursor: default; }

/* Ajustes ópticos individuales del logo decorativo y del encuadre de tratamientos. */
.service-card-clinic .service-card-photo { object-position: var(--photo-position, 56% 50%); }
.service-card-clinic .service-card-wall-logo {
  top: var(--logo-top, 13%);
  left: var(--logo-left, 18%);
  width: var(--logo-width, 19%);
  max-width: 122px;
}
.service-card-clinic-01 { --logo-left: 18%; --logo-top: 13%; --logo-width: 19%; --photo-position: 58% 50%; }
.service-card-clinic-02 { --logo-left: 25%; --logo-top: 12%; --logo-width: 18%; --photo-position: 58% 50%; }
.service-card-clinic-03 { --logo-left: 18%; --logo-top: 14%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-04 { --logo-left: 18%; --logo-top: 14%; --logo-width: 18%; --photo-position: 58% 50%; }
.service-card-clinic-05 { --logo-left: 37%; --logo-top: 14%; --logo-width: 17%; --photo-position: 50% 50%; }
.service-card-clinic-06 { --logo-left: 17%; --logo-top: 14%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-07 { --logo-left: 14%; --logo-top: 13%; --logo-width: 18%; --photo-position: 57% 50%; }
.service-card-clinic-08 { --logo-left: 18%; --logo-top: 14%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-09 { --logo-left: 17%; --logo-top: 14%; --logo-width: 18%; --photo-position: 61% 50%; }
.service-card-clinic-10 { --logo-left: 16%; --logo-top: 14%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-11 { --logo-left: 18%; --logo-top: 13%; --logo-width: 18%; --photo-position: 58% 50%; }
.service-card-clinic-12 { --logo-left: 17%; --logo-top: 13%; --logo-width: 18%; --photo-position: 61% 50%; }
.service-card-clinic-13 { --logo-left: 17%; --logo-top: 13%; --logo-width: 18%; --photo-position: 61% 50%; }
.service-card-clinic-14 { --logo-left: 18%; --logo-top: 13%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-15 { --logo-left: 32%; --logo-top: 13%; --logo-width: 17%; --photo-position: 52% 50%; }
.service-card-clinic-16 { --logo-left: 18%; --logo-top: 13%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-17 { --logo-left: 17%; --logo-top: 13%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-18 { --logo-left: 17%; --logo-top: 13%; --logo-width: 18%; --photo-position: 60% 50%; }
.service-card-clinic-19 { --logo-left: 15%; --logo-top: 13%; --logo-width: 18%; --photo-position: 59% 50%; }

@media (max-width: 1180px) {
  .home-page .home-team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .google-reviews-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .google-review-card { aspect-ratio: auto; min-height: 300px; }
}

@media (max-width: 760px) {
  .home-page .team-showcase { padding-block: 48px 56px; }
  .home-page .team-showcase .section-heading { align-items: start; margin-bottom: 28px; }
  .home-page .home-team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-team-grid .team-card-image { aspect-ratio: 4 / 5; }
  .home-discovery { grid-template-columns: 1fr; padding-block: 44px; }
  .home-discovery-card { display: block; min-height: 0; padding: 28px 24px; }
  .home-discovery-card > strong { display: block; margin-top: 22px; }
  .home-discovery-card > b { display: inline-block; margin-top: 22px; }
  .google-reviews { padding-block: 56px; }
  .google-reviews-heading { grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
  .google-reviews-grid { grid-template-columns: 1fr; }
  .google-review-card { min-height: min(88vw, 390px); aspect-ratio: 1; }
  .google-reviews-footer { grid-template-columns: 1fr; }
  .google-reviews-pagination { justify-content: space-between; overflow-x: auto; padding-bottom: 4px; }
  .google-reviews-pagination div { min-width: max-content; }
}

@media (prefers-reduced-motion: reduce) {
  .home-discovery-card { transition: none; }
  .home-discovery-card:hover { transform: none; }
}

/* Iteración 100: navegación compacta, bienvenida ambiental y equipo diagonal. */
.nav-home-item { flex: 0 0 auto; }
.main-nav .nav-home {
  display: grid;
  width: 44px;
  min-width: 44px;
  min-height: 44px;
  place-items: center;
  color: #d8d8d8;
}
.main-nav .nav-home svg {
  width: 18px;
  height: 18px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.6;
}
.main-nav .nav-home:hover,
.main-nav .nav-home:focus-visible,
.main-nav .nav-home.is-active { color: var(--green-bright); }
.main-nav-studio .nav-home:hover,
.main-nav-studio .nav-home:focus-visible,
.main-nav-studio .nav-home.is-active { color: var(--pink); }
.is-knowledge-menu .submenu {
  grid-template-columns: minmax(210px, 1fr);
  width: min(270px, 70vw);
}

.home-page .spaces-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-top: clamp(82px, 7vw, 112px);
  padding-bottom: clamp(64px, 6vw, 92px);
  column-gap: clamp(46px, 8vw, 130px);
  row-gap: clamp(18px, 2vw, 30px);
}
.spaces-welcome {
  position: absolute;
  z-index: -1;
  top: clamp(12px, 1vw, 20px);
  right: 0;
  left: 0;
  margin: 0;
  color: rgba(20,20,18,.045);
  filter: blur(1.6px);
  font-size: clamp(5rem, 10.4vw, 10.8rem);
  font-weight: 720;
  letter-spacing: -.065em;
  line-height: .82;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
}
.spaces-greeting {
  margin: 0 0 18px;
  color: #67645d;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.home-page .spaces-copy h2 { max-width: 1040px; text-wrap: balance; }
.home-page .spaces-copy .lead { max-width: 990px; text-wrap: pretty; }
.home-page .space-editorial-grid {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: clamp(16px, 2vw, 30px);
  margin-top: 0;
  background: transparent;
  border: 0;
}
.home-page .space-editorial-card {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: clamp(300px, 23vw, 350px);
  flex-direction: column;
  overflow: hidden;
  background: #f7f5ef;
  border: 1px solid rgba(20,20,18,.13);
  box-shadow: 0 26px 62px rgba(50,45,37,.09);
  transition: background-color .28s ease, border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.home-page .space-editorial-card.studio {
  margin-top: 0;
  background: #f5f1ef;
}
.home-page .space-editorial-card::after {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 88px;
  height: 4px;
  content: "";
  background: var(--green);
}
.home-page .space-editorial-card.studio::after { background: var(--pink); }
.space-card-watermark {
  position: absolute;
  z-index: -1;
  right: -9%;
  bottom: -33%;
  width: clamp(390px, 66%, 660px);
  max-width: none;
  height: auto;
  opacity: .08;
  object-fit: contain;
  pointer-events: none;
  transform: rotate(-8deg);
}
.space-editorial-card.studio .space-card-watermark {
  right: -17%;
  bottom: 1%;
  width: 118%;
  filter: invert(1) grayscale(1) contrast(1.8);
  mix-blend-mode: multiply;
  transform: rotate(-5deg);
}
.home-page .space-editorial-card > span,
.home-page .space-editorial-card > strong,
.home-page .space-editorial-card > p,
.home-page .space-editorial-card > b { position: relative; z-index: 1; }
.home-page .space-editorial-card > strong {
  max-width: 12ch;
  margin-top: clamp(28px, 3vw, 42px);
  font-size: clamp(2rem, 2.7vw, 3.1rem);
  text-wrap: balance;
}
.home-page .space-editorial-card > p {
  max-width: 58ch;
  margin: 0;
  color: #4f4d48;
  font-size: clamp(.96rem, 1.05vw, 1.08rem);
  line-height: 1.62;
  text-wrap: pretty;
}
.home-page .space-editorial-card > b { margin-top: auto; padding-top: 20px; }
.home-page .space-editorial-card:hover,
.home-page .space-editorial-card:focus-visible {
  color: var(--ink);
  background: #fff;
  border-color: rgba(78,108,0,.38);
  box-shadow: 0 30px 72px rgba(50,45,37,.13);
  transform: translateY(-5px);
}
.home-page .space-editorial-card.studio:hover,
.home-page .space-editorial-card.studio:focus-visible { border-color: rgba(168,11,97,.35); }
.home-page .space-editorial-card:hover p,
.home-page .space-editorial-card:focus-visible p { color: #3f3d39; }
.home-page .space-editorial-card:hover span,
.home-page .space-editorial-card:hover b,
.home-page .space-editorial-card:focus-visible span,
.home-page .space-editorial-card:focus-visible b { color: var(--green-dark); }
.home-page .space-editorial-card.studio:hover span,
.home-page .space-editorial-card.studio:hover b,
.home-page .space-editorial-card.studio:focus-visible span,
.home-page .space-editorial-card.studio:focus-visible b { color: var(--pink-dark); }

.home-page .team-showcase {
  display: grid;
  grid-template-columns: minmax(220px, .26fr) minmax(0, 1.74fr);
  grid-template-rows: auto minmax(0, 1fr);
  column-gap: clamp(30px, 3vw, 58px);
  align-items: stretch;
  min-height: 700px;
  padding: clamp(58px, 5vw, 88px) max(24px, calc((100% - 1720px) / 2)) clamp(54px, 5vw, 86px);
  background: #080908;
}
.team-collage-heading { display: contents; }
.team-collage-heading > div { grid-column: 1; grid-row: 1; align-self: start; }
.team-collage-heading .label { margin-bottom: 18px; }
.team-collage-heading h2 {
  margin: 0;
  font-size: clamp(3rem, 4.8vw, 6rem);
  line-height: .93;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.team-collage-heading h2 span {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 4px solid currentColor;
}
.team-collage-heading > p {
  grid-column: 2;
  grid-row: 1;
  width: min(100%, 480px);
  justify-self: end;
  align-self: end;
  margin: 0 1.8% 30px 0;
  color: #aaa;
  font-size: clamp(.94rem, 1vw, 1.06rem);
  line-height: 1.6;
}
.home-team-collage {
  grid-column: 2;
  grid-row: 2;
  display: flex;
  min-width: 0;
  height: clamp(470px, 34vw, 610px);
  align-items: stretch;
  padding: 0 1.6%;
  overflow: hidden;
}
.team-collage-person {
  position: relative;
  min-width: 0;
  flex: 1 1 0;
  margin-left: -1.7%;
}
.team-collage-person:first-child { margin-left: 0; }
.team-collage-person > a {
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
  background: #f4f4f1;
  clip-path: polygon(15% 0,100% 0,85% 100%,0 100%);
}
.team-collage-person:nth-child(even) > a { clip-path: polygon(13% 0,100% 0,87% 100%,0 100%); }
.team-collage-person figure {
  min-height: 0;
  flex: 1 1 auto;
  margin: 0;
  overflow: hidden;
  background: #c9c9c5;
}
.team-collage-person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
  filter: grayscale(1) contrast(1.04);
  transform: scale(1.08);
  transition: filter .35s ease, transform .55s cubic-bezier(.2,.72,.2,1);
}
.team-collage-person:nth-child(2) img { object-position: center 18%; }
.team-collage-person:nth-child(3) img { object-position: center 16%; }
.team-collage-person:nth-child(4) img { object-position: center 13%; }
.team-collage-person:nth-child(5) img { object-position: center 20%; }
.team-collage-person:nth-child(6) img { object-position: center 34%; }
.team-collage-person > a > div {
  position: relative;
  flex: 0 0 104px;
  padding: 16px clamp(18px, 1.45vw, 28px) 16px clamp(24px, 2vw, 36px);
  background: #f4f4f1;
}
.team-collage-person:nth-child(odd) > a > div { order: -1; }
.team-collage-person > a > div span {
  display: block;
  margin-bottom: 7px;
  overflow: hidden;
  color: #686861;
  font-size: clamp(.54rem, .52vw, .64rem);
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.25;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.team-collage-person > a > div h3 {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(.92rem, 1.05vw, 1.25rem);
  line-height: 1.02;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.team-collage-person > a > div b {
  position: absolute;
  right: clamp(22px, 1.7vw, 32px);
  bottom: 17px;
  color: var(--green-dark);
  font-size: 1.15rem;
  transition: transform .25s ease;
}
.team-collage-person:nth-child(2) > a > div b { color: var(--pink-dark); }
.team-collage-person > a:hover img,
.team-collage-person > a:focus-visible img { filter: grayscale(0) contrast(1.01); transform: scale(1.13); }
.team-collage-person > a:hover div b,
.team-collage-person > a:focus-visible div b { transform: translate(3px,-3px); }
.team-collage-person > a:focus-visible { outline: 4px solid var(--green-bright); outline-offset: -5px; }
.team-collage-person:nth-child(2) > a:focus-visible { outline-color: var(--pink); }
.home-page .team-showcase-action {
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  margin: 0 0 6px;
}

@media (min-width: 1181px) {
  .contact-rail-inner,
  .header-brand-row .header-inner {
    width: 100%;
    max-width: none;
    padding-left: var(--pad);
    padding-right: clamp(12px, 1.25vw, 24px);
  }
  .main-nav > ul > li.nav-home-item { padding-right: clamp(8px, .72vw, 13px); padding-left: 0; }
  .main-nav > ul > li.nav-home-item + li::before { display: none; }
}

@media (max-width: 1180px) {
  .main-nav .nav-home { width: 54px; min-width: 54px; min-height: 54px; }
  .main-nav .nav-home svg { width: 20px; height: 20px; }
  .is-knowledge-menu .submenu { width: 100%; }
  .home-page .team-showcase {
    display: block;
    min-height: 0;
    padding: 58px var(--pad) 64px;
  }
  .team-collage-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .7fr); gap: 28px; align-items: end; margin-bottom: 38px; }
  .team-collage-heading > div,
  .team-collage-heading > p { grid-column: auto; grid-row: auto; width: auto; justify-self: auto; margin: 0; }
  .team-collage-heading h2 { font-size: clamp(3rem, 7vw, 5.25rem); }
  .home-team-collage {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    height: auto;
    gap: 2px;
    padding: 0;
    overflow: visible;
  }
  .team-collage-person { min-height: 390px; margin: 0; }
  .team-collage-person > a,
  .team-collage-person:nth-child(even) > a { clip-path: polygon(8% 0,100% 0,92% 100%,0 100%); }
  .team-collage-person > a > div { flex-basis: 96px; }
  .home-page .team-showcase-action { margin-top: 28px; }
}

@media (max-width: 760px) {
  .home-page .spaces-intro { padding-top: 72px; padding-bottom: 58px; }
  .spaces-welcome { top: 22px; right: auto; left: 50%; width: max-content; font-size: clamp(3rem, 15.2vw, 5.4rem); transform: translateX(-50%); }
  .home-page .spaces-intro .section-kicker { margin-bottom: 22px; }
  .home-page .space-editorial-grid { grid-column: 1; grid-template-columns: 1fr; gap: 16px; margin-top: 0; }
  .home-page .space-editorial-card { min-height: 320px; }
  .space-card-watermark { right: -24%; bottom: -22%; width: 110%; }
  .space-editorial-card.studio .space-card-watermark { right: -28%; width: 145%; }

  .home-page .team-showcase { padding: 50px 16px 58px; }
  .team-collage-heading { grid-template-columns: 1fr; gap: 22px; }
  .team-collage-heading h2 { font-size: clamp(3rem, 15vw, 4.8rem); }
  .team-collage-heading > p { max-width: 520px; }
  .home-team-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 4px; }
  .team-collage-person { min-height: min(118vw, 500px); }
  .team-collage-person > a,
  .team-collage-person:nth-child(even) > a { clip-path: polygon(7% 0,100% 0,93% 100%,0 100%); }
  .team-collage-person > a > div { flex-basis: 102px; padding: 15px 24px 15px 27px; }
  .team-collage-person > a > div span { font-size: .57rem; }
  .team-collage-person > a > div h3 { font-size: clamp(.96rem, 4.3vw, 1.25rem); }
  .team-collage-person > a > div b { right: 24px; }
}

@media (max-width: 340px) {
  .home-team-collage { grid-template-columns: 1fr; gap: 14px; }
  .team-collage-person { min-height: 460px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .space-editorial-card,
  .team-collage-person img,
  .team-collage-person > a > div b { transition: none; }
  .home-page .space-editorial-card:hover,
  .home-page .space-editorial-card:focus-visible,
  .team-collage-person > a:hover img,
  .team-collage-person > a:focus-visible img { transform: none; }
}

/* Inicio · galería de equipo más ligera, abierta y con profundidad sutil. */
.home-page .team-showcase {
  --team-light-x: 50%;
  --team-light-y: 50%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .62fr);
  grid-template-rows: auto auto auto;
  column-gap: clamp(50px, 8vw, 150px);
  min-height: 0;
  padding: clamp(66px, 6vw, 104px) max(22px, calc((100% - 1740px) / 2)) clamp(70px, 6.5vw, 112px);
  overflow: hidden;
  background: #070807;
}
.team-collage-heading { display: contents; }
.team-collage-heading > div { grid-column: 1; grid-row: 1; }
.team-collage-heading > p {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  justify-self: end;
  width: min(100%, 470px);
  margin: 0 0 7px;
  color: #aaa;
  font-size: clamp(.9rem, .95vw, 1.02rem);
  line-height: 1.7;
}
.team-collage-heading h2 {
  max-width: 820px;
  margin: 0;
  font-size: clamp(2.55rem, 3.65vw, 4.55rem);
  line-height: 1.02;
  letter-spacing: -.025em;
  text-transform: none;
}
.team-collage-heading h2 span { padding-bottom: 7px; border-bottom-width: 2px; }
.home-team-collage {
  position: relative;
  isolation: isolate;
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: clamp(11px, 1.25vw, 22px);
  width: 100%;
  height: auto;
  margin-top: clamp(42px, 4.5vw, 72px);
  padding: 18px 7px 28px;
  overflow: visible;
  perspective: 1200px;
}
.home-team-collage::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -110px -7vw;
  background: radial-gradient(circle at var(--team-light-x) var(--team-light-y), rgba(145,190,26,.13), rgba(145,190,26,.025) 24%, transparent 48%);
  pointer-events: none;
  transition: background-position .2s ease;
}
.team-collage-person {
  --team-tilt: 0deg;
  --team-offset: 0px;
  --team-lean-x: 0deg;
  --team-lean-y: 0deg;
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: clamp(420px, 27vw, 490px);
  margin: 0;
  transform: translateY(var(--team-offset)) rotate(var(--team-tilt)) rotateX(var(--team-lean-x)) rotateY(var(--team-lean-y));
  transform-style: preserve-3d;
  transition: transform .5s cubic-bezier(.2,.75,.2,1), z-index 0s .2s;
}
.team-collage-person:nth-child(1) { --team-tilt: -1.4deg; --team-offset: 12px; }
.team-collage-person:nth-child(2) { --team-tilt: .8deg; --team-offset: -7px; }
.team-collage-person:nth-child(3) { --team-tilt: -1deg; --team-offset: 8px; }
.team-collage-person:nth-child(4) { --team-tilt: 1.25deg; --team-offset: -10px; }
.team-collage-person:nth-child(5) { --team-tilt: -.65deg; --team-offset: 7px; }
.team-collage-person:nth-child(6) { --team-tilt: 1.35deg; --team-offset: -4px; }
.team-collage-person > a,
.team-collage-person:nth-child(even) > a {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  overflow: hidden;
  color: var(--ink);
  background: #f2f1ed;
  clip-path: polygon(7% 0,100% 0,93% 100%,0 100%);
  box-shadow: 0 18px 48px rgba(0,0,0,.22);
  transition: box-shadow .45s ease, background .3s ease;
}
.team-collage-person:nth-child(even) > a { clip-path: polygon(0 0,93% 0,100% 100%,7% 100%); }
.team-collage-person > a::after {
  content: "";
  position: absolute;
  z-index: 4;
  inset: -35% -120%;
  background: linear-gradient(112deg, transparent 42%, rgba(255,255,255,.22) 49%, transparent 56%);
  transform: translateX(-34%);
  transition: transform .85s cubic-bezier(.2,.72,.2,1);
  pointer-events: none;
}
.team-collage-person figure { min-height: 0; flex: 1 1 auto; margin: 0; overflow: hidden; background: #c9c9c5; }
.team-collage-person img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  filter: grayscale(1) contrast(1.04);
  transform: scale(1.045);
  transition: filter .45s ease, transform .7s cubic-bezier(.2,.72,.2,1);
}
.team-collage-person:nth-child(2) img { object-position: center 18%; }
.team-collage-person:nth-child(3) img { object-position: center 16%; }
.team-collage-person:nth-child(4) img { object-position: center 13%; }
.team-collage-person:nth-child(5) img { object-position: center 20%; }
.team-collage-person:nth-child(6) img { object-position: center 34%; }
.team-collage-person > a > div,
.team-collage-person:nth-child(odd) > a > div {
  position: relative;
  order: 0;
  flex: 0 0 132px;
  padding: 21px clamp(24px, 1.75vw, 34px) 24px clamp(27px, 2vw, 39px);
  background: #f2f1ed;
}
.team-collage-person > a > div span {
  display: block;
  min-height: 2.65em;
  margin-bottom: 12px;
  overflow: visible;
  color: #686861;
  font-size: clamp(.54rem, .52vw, .63rem);
  font-weight: 650;
  letter-spacing: .035em;
  line-height: 1.35;
  text-overflow: clip;
  text-transform: uppercase;
  white-space: normal;
}
.team-collage-person > a > div h3 {
  max-width: 14ch;
  margin: 0;
  font-size: clamp(.9rem, .95vw, 1.12rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}
.team-collage-person > a > div b { right: clamp(24px, 1.7vw, 32px); bottom: 25px; }
.team-collage-person:hover,
.team-collage-person:focus-within { z-index: 3; transform: translateY(-9px) rotate(0) rotateX(var(--team-lean-x)) rotateY(var(--team-lean-y)); transition-delay: 0s; }
.team-collage-person > a:hover,
.team-collage-person > a:focus-visible { background: #fff; box-shadow: 0 28px 70px rgba(0,0,0,.42); }
.team-collage-person > a:hover::after,
.team-collage-person > a:focus-visible::after { transform: translateX(68%); }
.team-collage-person > a:hover img,
.team-collage-person > a:focus-visible img { filter: grayscale(.08) contrast(1.01); transform: scale(1.085); }
.home-page .team-showcase-action { grid-column: 1 / -1; grid-row: 3; justify-self: start; margin: 30px 0 0; }

/* Pilates terapéutico · la fotografía renovada iguala la altura de su pareja de galería. */
.studio-content-page .legacy-content .elementor-column:has(img.pilates-therapy-gallery-image),
.studio-content-page .legacy-content .elementor-widget-wrap:has(img.pilates-therapy-gallery-image),
.studio-content-page .legacy-content .elementor-widget:has(img.pilates-therapy-gallery-image),
.studio-content-page .legacy-content .elementor-widget:has(img.pilates-therapy-gallery-image) > div { height: 100%; }
.studio-content-page .legacy-content img.pilates-therapy-gallery-image {
  height: 100%;
  min-height: 100%;
  aspect-ratio: auto;
  object-fit: cover;
}

@media (max-width: 1180px) {
  .home-page .team-showcase { display: block; padding: 62px var(--pad) 72px; }
  .team-collage-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .72fr); gap: 34px; align-items: end; }
  .team-collage-heading > div,
  .team-collage-heading > p { grid-column: auto; grid-row: auto; width: auto; justify-self: auto; margin: 0; }
  .team-collage-heading h2 { font-size: clamp(2.6rem, 6vw, 4.3rem); }
  .home-team-collage { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 18px; margin-top: 46px; padding: 0; }
  .team-collage-person { min-height: 440px; transform: none; }
  .team-collage-person:hover,
  .team-collage-person:focus-within { transform: translateY(-6px); }
  .home-page .team-showcase-action { margin-top: 34px; }
}

@media (max-width: 760px) {
  .home-page .team-showcase { padding: 52px 16px 62px; }
  .team-collage-heading { grid-template-columns: 1fr; gap: 22px; }
  .team-collage-heading h2 { max-width: 420px; font-size: clamp(2.45rem, 11vw, 3.5rem); }
  .team-collage-heading > p { max-width: 500px; font-size: .92rem; }
  .home-team-collage { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 10px; margin-top: 36px; }
  .team-collage-person { min-height: min(88vw, 400px); }
  .team-collage-person > a,
  .team-collage-person:nth-child(even) > a { clip-path: polygon(5% 0,100% 0,95% 100%,0 100%); }
  .team-collage-person:nth-child(even) > a { clip-path: polygon(0 0,95% 0,100% 100%,5% 100%); }
  .team-collage-person > a > div,
  .team-collage-person:nth-child(odd) > a > div { flex-basis: 126px; padding: 18px 23px 22px 27px; }
  .team-collage-person > a > div span { min-height: 3.8em; margin-bottom: 9px; font-size: .54rem; }
  .team-collage-person > a > div h3 { font-size: clamp(.88rem, 4vw, 1.08rem); }
  .team-collage-person > a > div b { right: 22px; bottom: 22px; }
}

@media (max-width: 520px) {
  .home-team-collage { grid-template-columns: 1fr; gap: 18px; }
  .team-collage-person { min-height: min(122vw, 500px); }
}

@media (prefers-reduced-motion: reduce) {
  .home-team-collage::before { display: none; }
  .team-collage-person,
  .team-collage-person > a,
  .team-collage-person > a::after,
  .team-collage-person img { transition: none; }
  .team-collage-person,
  .team-collage-person:hover,
  .team-collage-person:focus-within { transform: none; }
}

/* Inicio · reseñas editoriales en carrusel manual. */
.google-reviews {
  position: relative;
  isolation: isolate;
  padding: clamp(68px, 6.5vw, 112px) max(var(--pad), calc((100% - var(--container)) / 2)) clamp(70px, 7vw, 118px);
  overflow: hidden;
  background: #e3e0d8;
}
.google-reviews::before {
  content: "EXPERIENCIAS";
  position: absolute;
  z-index: -1;
  top: clamp(215px, 22vw, 330px);
  left: 50%;
  width: max-content;
  transform: translateX(-50%);
  color: transparent;
  font-size: clamp(5.8rem, 12.2vw, 12rem);
  font-weight: 750;
  line-height: .8;
  letter-spacing: -.06em;
  -webkit-text-stroke: 1.5px rgba(77,108,0,.12);
  pointer-events: none;
}
.google-reviews-heading {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(42px, 8vw, 136px);
  align-items: end;
  margin-bottom: clamp(44px, 5vw, 76px);
}
.google-reviews-heading h2 {
  max-width: 760px;
  margin: 12px 0 0;
  font-size: clamp(2.35rem, 3.65vw, 4.35rem);
  line-height: .96;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.google-reviews-summary { display: flex; align-items: flex-start; flex-direction: column; }
.google-reviews-summary > strong { color: #d38f00; font-size: clamp(1.18rem, 1.5vw, 1.5rem); letter-spacing: .1em; line-height: 1; }
.google-reviews-summary > span { max-width: 380px; margin-top: 12px; color: #5e5b55; font-size: .94rem; line-height: 1.55; }
.google-reviews-summary > a { margin-top: 20px; }
.google-reviews-grid {
  --review-card-height: clamp(430px, 29vw, 490px);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(9px, 1.15vw, 18px);
  align-items: start;
  padding: 6px 0 34px;
  scroll-behavior: smooth;
}
.google-review-card {
  --review-offset: 0px;
  position: relative;
  display: flex;
  min-width: 0;
  min-height: var(--review-card-height);
  aspect-ratio: auto;
  flex-direction: column;
  padding: clamp(17px, 1.55vw, 25px);
  overflow: hidden;
  color: var(--ink);
  background: #f8f6f1;
  border: 1px solid rgba(77,108,0,.27);
  box-shadow: 0 16px 38px rgba(45,42,33,.1);
  transform: translateY(var(--review-offset));
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.google-review-card::before {
  content: "“";
  position: absolute;
  top: -18px;
  right: 10px;
  color: rgba(77,108,0,.12);
  font-family: Georgia, serif;
  font-size: clamp(5.5rem, 7vw, 8.2rem);
  font-weight: 700;
  line-height: 1;
  pointer-events: none;
}
.google-review-card::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 4px;
  background: var(--green);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
}
.google-review-card.is-lowered-review { --review-offset: 19px; }
.google-review-card.is-featured-review {
  min-height: clamp(465px, 31.4vw, 529px);
  color: #fffdf5;
  background: var(--green-dark);
  border-color: var(--green-dark);
  box-shadow: 0 24px 56px rgba(38,51,8,.24);
}
.google-review-card.is-featured-review::before { color: rgba(255,255,255,.13); }
.google-review-card.is-featured-review::after { background: #d5f26f; }
.google-review-card:hover,
.google-review-card:focus-within {
  border-color: rgba(77,108,0,.62);
  box-shadow: 0 25px 56px rgba(45,42,33,.19);
  transform: translateY(calc(var(--review-offset) - 6px));
}
.google-review-card:hover::after,
.google-review-card:focus-within::after { transform: scaleX(1); }
.google-review-author { position: relative; z-index: 1; grid-template-columns: 38px minmax(0, 1fr); gap: 11px; }
.google-review-author > span { width: 38px; background: var(--green-dark); }
.google-review-author strong { font-size: clamp(.8rem, .84vw, .92rem); }
.google-review-author small { font-size: .72rem; }
.google-review-author b { margin-top: 5px; font-size: .93rem; }
.google-review-card blockquote {
  position: relative;
  z-index: 1;
  display: block;
  margin: 17px 0 20px;
  overflow: visible;
  color: #393732;
  font-size: max(14px, .86vw);
  line-height: 1.55;
  -webkit-line-clamp: unset;
}
.google-review-card > a { position: relative; z-index: 1; margin-top: auto; font-size: .72rem; }
.google-review-card.is-featured-review .google-review-author > span { color: var(--green-dark); background: #fffdf5; }
.google-review-card.is-featured-review .google-review-author small,
.google-review-card.is-featured-review blockquote,
.google-review-card.is-featured-review > a { color: #fffdf5; }
.google-review-card.is-featured-review .google-review-author b { color: #ffd66b; }
.google-reviews-footer { position: relative; z-index: 1; margin-top: 20px; }
.google-reviews-pagination { display: flex; gap: 12px; align-items: center; }
.google-reviews-pagination > button {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  padding: 0;
  color: var(--ink);
  background: rgba(255,255,255,.3);
  border: 1px solid rgba(20,20,18,.26);
  border-radius: 50%;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
.google-reviews-pagination > button:not(:disabled):hover { color: #fff; background: var(--green-dark); border-color: var(--green-dark); transform: translateY(-2px); }
.google-reviews-pagination > button:disabled { opacity: .35; cursor: default; }
.google-reviews-pagination output { min-width: 66px; color: var(--green-dark); font-size: .77rem; font-weight: 750; letter-spacing: .11em; text-align: center; }

@media (max-width: 1180px) and (min-width: 901px) {
  .google-reviews { padding-inline: 28px; }
  .google-reviews-grid { --review-card-height: clamp(455px, 44vw, 520px); gap: 8px; }
  .google-review-card { padding: 16px 14px; }
  .google-review-card.is-featured-review { min-height: clamp(491px, 47.5vw, 562px); }
  .google-review-author { grid-template-columns: 32px minmax(0, 1fr); gap: 8px; }
  .google-review-author > span { width: 32px; }
  .google-review-author strong { font-size: .78rem; }
  .google-review-card blockquote { font-size: 14px; line-height: 1.48; }
}

@media (max-width: 900px) {
  .google-reviews { padding: 62px var(--pad) 74px; }
  .google-reviews-heading { grid-template-columns: 1fr; gap: 26px; margin-bottom: 40px; }
  .google-reviews-heading h2 { max-width: 680px; }
  .google-reviews-grid {
    display: flex;
    gap: 16px;
    margin-right: calc(var(--pad) * -1);
    padding-right: var(--pad);
    padding-bottom: 40px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
    scrollbar-color: var(--green-dark) transparent;
  }
  .google-review-card { flex: 0 0 calc((100% - 24px) / 2.25); min-height: 430px; scroll-snap-align: start; }
  .google-review-card.is-featured-review { min-height: 465px; }
  .google-reviews-footer { grid-template-columns: 1fr auto; }
}

@media (max-width: 600px) {
  .google-reviews { padding: 54px 20px 66px; }
  .google-reviews::before { top: 255px; font-size: 5.4rem; }
  .google-reviews-heading h2 { font-size: clamp(2.3rem, 11vw, 3.35rem); }
  .google-reviews-summary > span { font-size: .9rem; }
  .google-reviews-grid { margin-right: -20px; padding-right: 20px; }
  .google-review-card { flex-basis: 87%; min-height: 440px; padding: 23px; }
  .google-review-card.is-featured-review { min-height: 475px; }
  .google-review-card blockquote { font-size: 14px; }
  .google-reviews-footer { grid-template-columns: 1fr; gap: 22px; }
  .google-reviews-pagination { justify-content: flex-start; overflow: visible; }
}

/* Tratamientos: transición editorial compacta entre la apertura y el catálogo. */
.treatment-hub-page .directory-intro {
  grid-template-columns: 180px minmax(0, 1fr);
  gap: clamp(34px, 5vw, 76px);
  padding-top: clamp(48px, 4.5vw, 70px);
  padding-bottom: clamp(50px, 5vw, 76px);
  border-bottom: 0;
}
.treatment-hub-page .directory-intro > .section-kicker {
  min-height: 100%;
  padding: 4px clamp(24px, 3vw, 44px) 4px 0;
  border-right: 1px solid var(--line-dark);
}
.treatment-hub-page .directory-intro > .section-kicker span {
  margin-bottom: 16px;
  font-size: 1.35rem;
}
.treatment-hub-page .directory-intro-main {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: end;
  gap: clamp(34px, 5vw, 82px);
}
.treatment-hub-page .directory-intro h2 { margin: 0; }
.treatment-hub-page .directory-intro .lead { max-width: 560px; margin: 0 0 3px; }
.treatment-hub-page .directory-intro-explanation {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(28px, 5vw, 76px);
  margin-top: -4px;
  padding: 24px 26px;
  background: linear-gradient(90deg, rgba(143,189,24,.09), rgba(143,189,24,.015));
  border-top: 1px solid rgba(86,112,18,.38);
  border-bottom: 1px solid rgba(86,112,18,.18);
}
.treatment-hub-page .directory-intro-explanation strong { color: var(--green-dark); font-size: .78rem; line-height: 1.55; letter-spacing: .055em; text-transform: uppercase; }
.treatment-hub-page .directory-intro-explanation strong i { margin: 0 5px; font-style: normal; }
.treatment-hub-page .directory-intro-explanation p { max-width: 760px; margin: 0; color: #454545; font-size: .93rem; line-height: 1.65; }
.treatment-hub-page .treatment-catalog { border-top: 1px solid #242424; }

@media (max-width: 980px) {
  .treatment-hub-page .directory-intro { grid-template-columns: 140px minmax(0, 1fr); }
  .treatment-hub-page .directory-intro-main { grid-template-columns: 1fr; gap: 22px; }
  .treatment-hub-page .directory-intro-explanation { grid-template-columns: 1fr; gap: 10px; margin-top: 4px; }
}

@media (max-width: 760px) {
  .treatment-hub-page .directory-intro { grid-template-columns: 1fr; width: calc(100% - 40px); gap: 24px; padding-top: 44px; padding-bottom: 48px; }
  .treatment-hub-page .directory-intro > .section-kicker { min-height: 0; padding: 0 0 18px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .treatment-hub-page .directory-intro > .section-kicker span { margin-bottom: 8px; font-size: 1rem; }
  .treatment-hub-page .directory-intro-explanation { padding: 20px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .google-reviews-grid { scroll-behavior: auto; }
  .google-review-card,
  .google-review-card::after,
  .google-reviews-pagination > button { transition: none; }
  .google-review-card:hover,
  .google-review-card:focus-within { transform: translateY(var(--review-offset)); }
}

/* Iteración 105: más aire en cabecera, cierres de sección y palabra ambiental del test. */
@media (min-width: 1440px) {
  .contact-rail-inner,
  .header-brand-row .header-inner {
    padding-right: clamp(64px, 4.6vw, 88px);
    padding-left: clamp(64px, 4.6vw, 88px);
  }
  .header-brand-row .brand-primary-clinic { width: 260px !important; height: 70px !important; }
  .header-brand-row .brand-primary-studio { width: 250px !important; height: 72px !important; }
  .header-brand-row .universe-switch {
    width: 224px;
    min-width: 224px;
    margin-left: clamp(38px, 2.55vw, 50px);
    padding-right: 14px;
    padding-left: 18px;
  }
  .header-brand-row .universe-switch-logo { height: 70px; }
}

@media (min-width: 1051px) {
  body.team-hub-page .team-ensemble-hero { padding-bottom: clamp(98px, 6vw, 116px); }
}

.nutrition-test-layout {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.nutrition-test-layout::before {
  position: absolute;
  z-index: 0;
  left: -.08em;
  bottom: -.06em;
  content: "TEST DE ALIMENTACIÓN";
  color: rgba(77,108,0,.045);
  font-size: clamp(6.5rem, 10.8vw, 13.5rem);
  font-weight: 750;
  line-height: .78;
  letter-spacing: -.075em;
  white-space: nowrap;
  text-transform: uppercase;
  pointer-events: none;
}
.nutrition-test-layout > * { position: relative; z-index: 1; }

.service-card-clinic .service-card-wall-logo {
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100%;
  object-fit: cover;
  opacity: 1;
}

@media (max-width: 760px) {
  .nutrition-test-layout::before { left: -.14em; bottom: .04em; font-size: clamp(5rem, 23vw, 8rem); }
}

/* TECAR: infografía clínica y lectura recompuesta. */
.tecar-content-page .inner-hero-media img { object-position: 52% center; }
.tecar-explainer {
  display: grid;
  grid-template-columns: minmax(350px, .82fr) minmax(520px, 1.18fr);
  width: min(calc(100% - (var(--pad) * 2)), 1420px);
  margin: clamp(54px, 7vw, 104px) auto 0;
  overflow: hidden;
  background: #e9e6de;
  border-top: 1px solid rgba(16, 23, 10, .24);
}
.tecar-explainer-copy { padding: clamp(38px, 5vw, 76px); }
.tecar-explainer-copy .label { margin: 0 0 28px; color: var(--green-dark); }
.tecar-explainer-copy h2 {
  max-width: 650px;
  margin: 0 0 24px;
  font-size: clamp(2.1rem, 3.2vw, 4.1rem);
  line-height: .98;
  letter-spacing: -.055em;
  text-wrap: balance;
}
.tecar-explainer-lead { max-width: 620px; margin: 0 0 36px; color: #3e423a; font-size: clamp(1.04rem, 1.25vw, 1.22rem); line-height: 1.58; }
.tecar-explainer-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; background: rgba(15, 24, 10, .16); list-style: none; }
.tecar-explainer-steps li { display: grid; grid-template-columns: 34px 1fr; gap: 12px; min-height: 164px; padding: 20px; background: #f4f1eb; }
.tecar-explainer-steps li > span { padding-top: 2px; color: var(--green-dark); font-size: .72rem; font-weight: 760; letter-spacing: .08em; }
.tecar-explainer-steps strong { display: block; margin-bottom: 8px; color: var(--ink); font-size: 1rem; line-height: 1.15; }
.tecar-explainer-steps p { margin: 0; color: #55594f; font-size: .88rem; line-height: 1.48; }
.tecar-explainer-note { margin: 20px 0 0; color: #62665b; font-size: .78rem; line-height: 1.45; }
.tecar-explainer-visual { position: relative; min-height: 100%; margin: 0; background: #f8f5ef; }
.tecar-explainer-visual picture { display: block; width: 100%; height: 100%; }
.tecar-explainer-visual img { display: block; width: 100%; height: 100%; min-height: 660px; object-fit: contain; object-position: center; }
.tecar-explainer-visual figcaption { position: absolute; right: 18px; bottom: 18px; left: 18px; padding: 12px 16px; color: #f7f6f1; background: rgba(10, 25, 16, .88); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.tecar-content-page .content-shell { padding-top: clamp(56px, 6vw, 86px); }
.tecar-content-page .legacy-content .elementor-widget-image { display: none; }
.tecar-content-page .legacy-content .elementor > .elementor-top-section:has(img) { padding: 0; background: transparent; border-top: 0; }
.tecar-content-page .legacy-content .elementor > .elementor-top-section:has(img)::before { display: none; }

@media (max-width: 1120px) {
  .tecar-explainer { grid-template-columns: 1fr; }
  .tecar-explainer-visual { min-height: 0; }
  .tecar-explainer-visual picture { height: auto; }
  .tecar-explainer-visual img { min-height: 0; aspect-ratio: 3 / 2; }
}

@media (max-width: 760px) {
  .tecar-explainer { width: calc(100% - 28px); margin-top: 28px; }
  .tecar-explainer-copy { padding: 34px 22px 28px; }
  .tecar-explainer-copy .label { margin-bottom: 20px; }
  .tecar-explainer-copy h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .tecar-explainer-steps { grid-template-columns: 1fr; }
  .tecar-explainer-steps li { min-height: 0; padding: 18px; }
  .tecar-explainer-visual figcaption { position: static; margin: 0; }
}

/* Interior-page integrity: migrated Elementor blocks must never reserve empty columns. */
.legacy-content .legacy-section-empty { display: none !important; margin: 0 !important; padding: 0 !important; }
.legacy-content .elementor > .elementor-top-section:not(:has(img, h2, h3, h4, p, li, blockquote, table, iframe, video, .elementor-button)) { display: none !important; margin: 0 !important; padding: 0 !important; }
.legacy-content .elementor-widget-image:not(:has(img)),
.legacy-content .elementor-column:has(.elementor-widget-image):not(:has(img, h2, h3, h4, p, li, blockquote, table, iframe, video, .elementor-button)) { display: none !important; }
.legacy-content .elementor-widget-image > div { width: 100%; min-width: 0; }
.legacy-content .elementor-widget-image > div > img { display: block; width: 100%; height: auto; }
.legacy-content .elementor-top-section > .elementor-container:has(> .elementor-column:only-child),
.legacy-content .legacy-section-text > .elementor-container { display: block !important; }
.legacy-content .elementor-top-section > .elementor-container > .elementor-column:only-child,
.legacy-content .legacy-section-text > .elementor-container > .elementor-column { width: 100% !important; max-width: none !important; }
.legacy-content .legacy-section-longform { padding: clamp(32px, 5vw, 72px) !important; }
.legacy-content .legacy-section-longform::before { display: none !important; }
.legacy-content .legacy-section-longform > .elementor-container { display: block !important; }
.legacy-content .legacy-section-longform .elementor-column { width: 100% !important; max-width: none !important; }
.legacy-content .legacy-section-longform .elementor-widget-image { width: min(100%, 780px); min-height: 0; margin: 0 auto clamp(36px, 5vw, 64px); padding: 0; }
.legacy-content .legacy-section-longform .elementor-widget-text-editor,
.legacy-content .legacy-section-longform .elementor-widget-heading { width: min(100%, 780px); margin-right: auto; margin-left: auto; }
.legacy-content .legacy-section-gallery > .elementor-container { grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)) !important; gap: clamp(14px, 2vw, 24px) !important; }
.legacy-content .legacy-section-gallery .elementor-widget-image { min-height: 0; }
.legacy-content .legacy-section-gallery img.legacy-image-landscape { width: 100% !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; }
.legacy-content .legacy-section-gallery img.legacy-image-square { width: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; }
.legacy-content .legacy-section-gallery img.legacy-image-portrait { width: 100% !important; aspect-ratio: 3 / 4 !important; object-fit: cover !important; }
.legacy-content img.is-low-resolution.legacy-image-landscape { width: 100% !important; aspect-ratio: 4 / 3 !important; object-fit: cover !important; }
.legacy-content img.is-low-resolution.legacy-image-square { width: 100% !important; aspect-ratio: 1 !important; object-fit: cover !important; }
.legacy-content img.is-low-resolution.legacy-image-portrait { width: min(100%, 340px) !important; aspect-ratio: 3 / 4 !important; object-fit: cover !important; }

/* TECAR article — bespoke editorial composition, independent from the legacy layout. */
.tecar-article {
  width: min(1540px, calc(100% - 48px));
  margin: clamp(58px, 7vw, 112px) auto;
  color: #151713;
}
.tecar-article-intro {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(30px, 4vw, 72px);
  align-items: start;
  padding: 0 0 clamp(60px, 7vw, 104px);
  border-bottom: 1px solid rgba(21, 23, 19, .24);
}
.tecar-article-index { display: grid; gap: 10px; color: #4f7900; }
.tecar-article-index span { font-size: clamp(3.8rem, 6vw, 7.1rem); font-weight: 760; line-height: .8; letter-spacing: -.08em; }
.tecar-article-index b { font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.tecar-article-heading .label,
.tecar-article-story .label,
.tecar-applications .label { margin: 0 0 22px; color: #4f7900; }
.tecar-article-heading h2 {
  max-width: 880px;
  margin: 0 0 28px;
  font-size: clamp(2.6rem, 5vw, 6rem);
  line-height: .92;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.tecar-article-heading > p:last-child { max-width: 790px; margin: 0; color: #4e534a; font-size: clamp(1.08rem, 1.35vw, 1.34rem); line-height: 1.58; }
.tecar-article-principles { display: grid; background: #102717; color: #f3f1e9; }
.tecar-article-principles span { padding: 22px 24px; border-bottom: 1px solid rgba(243, 241, 233, .2); font-size: .76rem; font-weight: 730; letter-spacing: .08em; text-transform: uppercase; }
.tecar-article-principles span:last-child { border-bottom: 0; }
.tecar-article-story {
  display: grid;
  grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr);
  gap: clamp(52px, 8vw, 132px);
  padding: clamp(72px, 9vw, 144px) clamp(28px, 5vw, 82px);
  background: #e8e5dc;
}
.tecar-article-story-lead h2 { max-width: 610px; margin: 0; font-size: clamp(2.2rem, 3.8vw, 4.6rem); line-height: .98; letter-spacing: -.055em; text-wrap: balance; }
.tecar-article-story-copy { align-self: end; max-width: 720px; }
.tecar-article-story-copy p { margin: 0 0 24px; color: #42463e; font-size: clamp(1rem, 1.2vw, 1.2rem); line-height: 1.68; }
.tecar-article-story-copy blockquote { margin: 48px 0 0; padding: 26px 0 0; border-top: 2px solid #75a900; color: #102717; font-size: clamp(1.35rem, 2vw, 2.1rem); font-weight: 670; line-height: 1.18; letter-spacing: -.03em; }
.tecar-applications {
  display: grid;
  grid-template-columns: minmax(280px, 1.08fr) repeat(2, minmax(240px, .96fr));
  background: #0b0d0b;
  color: #f3f1e9;
}
.tecar-applications-heading { padding: clamp(42px, 5vw, 78px); }
.tecar-applications-heading h2 { margin: 0 0 28px; font-size: clamp(2.3rem, 4vw, 4.8rem); line-height: .95; letter-spacing: -.06em; text-wrap: balance; }
.tecar-applications-heading > p:last-child { max-width: 520px; margin: 0; color: #bfc3ba; font-size: 1rem; line-height: 1.62; }
.tecar-application-card { display: flex; min-height: 430px; padding: clamp(34px, 4vw, 64px); flex-direction: column; justify-content: flex-end; }
.tecar-application-card span { margin-bottom: auto; font-size: .72rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.tecar-application-card h3 { margin: 48px 0 20px; font-size: clamp(1.8rem, 2.8vw, 3.2rem); line-height: .96; letter-spacing: -.045em; }
.tecar-application-card p { margin: 0; line-height: 1.58; }
.tecar-application-card-light { color: #151713; background: #f2efe8; }
.tecar-application-card-green { color: #f8f7f1; background: #547d00; }
.tecar-applications-note { grid-column: 1 / -1; margin: 0; padding: 18px clamp(28px, 5vw, 78px); color: #c9ccc5; border-top: 1px solid rgba(255,255,255,.16); font-size: .76rem; letter-spacing: .025em; }
.tecar-source-context { padding: clamp(34px, 4vw, 58px) clamp(28px, 5vw, 78px); background: #f2efe8; border-top: 1px solid rgba(21, 23, 19, .2); }
.tecar-source-context details { border-top: 1px solid #151713; border-bottom: 1px solid #151713; }
.tecar-source-context summary { display: grid; grid-template-columns: 190px minmax(0, 1fr) 28px; gap: 24px; align-items: center; padding: 24px 0; cursor: pointer; list-style: none; }
.tecar-source-context summary::-webkit-details-marker { display: none; }
.tecar-source-context summary span { color: #4f7900; font-size: .72rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.tecar-source-context summary strong { font-size: clamp(1.1rem, 1.6vw, 1.45rem); letter-spacing: -.02em; }
.tecar-source-context summary b { font-size: 1.7rem; font-weight: 400; line-height: 1; transition: transform .2s ease; }
.tecar-source-context details[open] summary b { transform: rotate(45deg); }
.tecar-source-context-body { width: min(100%, 840px); margin: 0 auto; padding: clamp(30px, 4vw, 58px) 0 clamp(42px, 5vw, 72px); }
.tecar-source-context-body p { margin: 0 0 24px; color: #42463e; line-height: 1.7; }
.tecar-source-context-body ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin: 30px 0 38px; padding: 1px; background: rgba(21, 23, 19, .18); list-style-position: inside; }
.tecar-source-context-body li { padding: 20px; background: #faf8f3; }
.tecar-source-context-body h3 { margin: 52px 0 20px; font-size: clamp(1.8rem, 3vw, 3rem); letter-spacing: -.045em; }
.tecar-source-context-body .tecar-source-context-note { padding: 18px 20px; color: #4d5248; border-left: 3px solid #75a900; background: #e5e2d9; font-size: .86rem; }

@media (max-width: 1080px) {
  .tecar-article-intro { grid-template-columns: 110px minmax(0, 1fr); }
  .tecar-article-principles { grid-column: 2; grid-template-columns: repeat(3, 1fr); }
  .tecar-article-principles span { border-right: 1px solid rgba(243, 241, 233, .2); border-bottom: 0; }
  .tecar-article-principles span:last-child { border-right: 0; }
  .tecar-applications { grid-template-columns: 1fr 1fr; }
  .tecar-applications-heading { grid-column: 1 / -1; }
}

@media (max-width: 760px) {
  .legacy-content .legacy-section-longform { padding: 24px 18px !important; }
  .tecar-article { width: calc(100% - 28px); margin: 46px auto 70px; }
  .tecar-article-intro { grid-template-columns: 1fr; gap: 28px; padding-bottom: 54px; }
  .tecar-article-index { grid-template-columns: auto 1fr; align-items: end; }
  .tecar-article-index span { font-size: 4rem; }
  .tecar-article-index b { padding-bottom: 4px; }
  .tecar-article-heading h2 { font-size: clamp(2.55rem, 13vw, 4.1rem); }
  .tecar-article-principles { grid-column: auto; grid-template-columns: 1fr; }
  .tecar-article-principles span { border-right: 0; border-bottom: 1px solid rgba(243, 241, 233, .2); }
  .tecar-article-story { grid-template-columns: 1fr; gap: 48px; padding: 54px 22px; }
  .tecar-applications { grid-template-columns: 1fr; }
  .tecar-applications-heading { grid-column: auto; padding: 48px 22px; }
  .tecar-application-card { min-height: 360px; padding: 30px 22px; }
  .tecar-applications-note { grid-column: auto; padding: 18px 22px; }
  .tecar-source-context { padding: 28px 22px; }
  .tecar-source-context summary { grid-template-columns: 1fr 24px; gap: 10px 18px; }
  .tecar-source-context summary span { grid-column: 1; }
  .tecar-source-context summary strong { grid-column: 1; }
  .tecar-source-context summary b { grid-column: 2; grid-row: 1 / 3; }
  .tecar-source-context-body ol { grid-template-columns: 1fr; }
}

/* Medicina y naturopatía — composición editorial propia, sin contenido heredado vacío. */
.naturopathy-content-page .inner-hero-media img { object-position: center; }
.naturopathy-article {
  width: min(1540px, calc(100% - 48px));
  margin: clamp(58px, 7vw, 112px) auto;
  color: #151713;
}
.naturopathy-article .label { margin: 0 0 20px; color: #4f7900; }
.naturopathy-intro {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(30px, 4vw, 72px);
  align-items: start;
  padding-bottom: clamp(62px, 7vw, 108px);
  border-bottom: 1px solid rgba(21, 23, 19, .24);
}
.naturopathy-index { display: grid; gap: 10px; color: #4f7900; }
.naturopathy-index span { font-size: clamp(3.8rem, 6vw, 7.1rem); font-weight: 760; line-height: .8; letter-spacing: -.08em; }
.naturopathy-index b { max-width: 110px; font-size: .72rem; line-height: 1.3; letter-spacing: .13em; text-transform: uppercase; }
.naturopathy-intro-copy h2 {
  max-width: 930px;
  margin: 0 0 30px;
  font-size: clamp(2.6rem, 5vw, 5.8rem);
  line-height: .93;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.naturopathy-intro-copy > p:last-child { max-width: 820px; margin: 0; color: #4e534a; font-size: clamp(1.08rem, 1.35vw, 1.34rem); line-height: 1.62; }
.naturopathy-principles { display: grid; background: #102717; color: #f3f1e9; }
.naturopathy-principles span { padding: 22px 24px; border-bottom: 1px solid rgba(243, 241, 233, .2); font-size: .76rem; font-weight: 730; letter-spacing: .08em; text-transform: uppercase; }
.naturopathy-principles span:last-child { border-bottom: 0; }

.naturopathy-focus {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: clamp(48px, 7vw, 118px);
  padding: clamp(70px, 9vw, 142px) clamp(28px, 5vw, 80px);
  background: #e8e5dc;
}
.naturopathy-focus-heading { align-self: start; position: sticky; top: 150px; }
.naturopathy-focus-heading h2 { max-width: 600px; margin: 0 0 26px; font-size: clamp(2.25rem, 4vw, 4.7rem); line-height: .97; letter-spacing: -.058em; text-wrap: balance; }
.naturopathy-focus-heading > p:last-child { max-width: 520px; margin: 0; color: #50554c; font-size: 1.04rem; line-height: 1.65; }
.naturopathy-focus-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(21, 23, 19, .28); border-left: 1px solid rgba(21, 23, 19, .28); }
.naturopathy-focus-grid article { display: flex; min-height: 330px; padding: clamp(26px, 3vw, 46px); flex-direction: column; border-right: 1px solid rgba(21, 23, 19, .28); border-bottom: 1px solid rgba(21, 23, 19, .28); background: rgba(250, 248, 243, .48); }
.naturopathy-focus-grid article > span { color: #4f7900; font-size: .72rem; font-weight: 760; letter-spacing: .12em; }
.naturopathy-focus-grid h3 { margin: auto 0 18px; font-size: clamp(1.55rem, 2.2vw, 2.65rem); line-height: .98; letter-spacing: -.045em; }
.naturopathy-focus-grid p { margin: 0; color: #51564d; line-height: 1.6; }
.naturopathy-focus-grid a { display: inline-flex; gap: 10px; align-items: center; width: fit-content; margin-top: 22px; color: #355700; font-size: .82rem; font-weight: 730; text-decoration: none; }
.naturopathy-focus-grid a:hover { text-decoration: underline; text-underline-offset: 4px; }

.naturopathy-process { padding: clamp(72px, 9vw, 140px) clamp(28px, 5vw, 80px); color: #f3f1e9; background: #0b0d0b; }
.naturopathy-process .label { color: #a7d500; }
.naturopathy-process-heading { display: grid; grid-template-columns: minmax(270px, .9fr) minmax(0, 1.1fr); column-gap: clamp(42px, 7vw, 120px); align-items: end; margin-bottom: clamp(50px, 6vw, 92px); }
.naturopathy-process-heading .label { grid-column: 1 / -1; }
.naturopathy-process-heading h2 { max-width: 680px; margin: 0; font-size: clamp(2.4rem, 4.3vw, 5rem); line-height: .95; letter-spacing: -.06em; text-wrap: balance; }
.naturopathy-process-heading > p:last-child { max-width: 580px; margin: 0; color: #bcc1b8; font-size: 1.04rem; line-height: 1.65; }
.naturopathy-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(243, 241, 233, .26); border-left: 1px solid rgba(243, 241, 233, .26); list-style: none; }
.naturopathy-process-grid li { display: flex; min-height: 300px; padding: 28px; flex-direction: column; border-right: 1px solid rgba(243, 241, 233, .26); border-bottom: 1px solid rgba(243, 241, 233, .26); }
.naturopathy-process-grid li > span { color: #a7d500; font-size: .72rem; font-weight: 760; letter-spacing: .12em; }
.naturopathy-process-grid li > div { margin-top: auto; }
.naturopathy-process-grid h3 { margin: 0 0 16px; font-size: clamp(1.45rem, 2vw, 2.25rem); letter-spacing: -.04em; }
.naturopathy-process-grid p { margin: 0; color: #bdc1b9; line-height: 1.58; }

.naturopathy-safety { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr); background: #a7d500; }
.naturopathy-safety-copy { padding: clamp(52px, 7vw, 108px); }
.naturopathy-safety-copy .label { color: #294700; }
.naturopathy-safety-copy h2 { max-width: 700px; margin: 0 0 28px; font-size: clamp(2.45rem, 4.5vw, 5.2rem); line-height: .93; letter-spacing: -.062em; text-wrap: balance; }
.naturopathy-safety-copy > p { max-width: 680px; margin: 0; font-size: 1.04rem; line-height: 1.64; }
.naturopathy-safety-copy blockquote { max-width: 680px; margin: clamp(42px, 5vw, 72px) 0 0; padding-top: 24px; border-top: 2px solid #102717; font-size: clamp(1.45rem, 2.3vw, 2.7rem); font-weight: 690; line-height: 1.08; letter-spacing: -.04em; }
.naturopathy-safety-list { display: grid; margin: 0; padding: 0; background: #102717; color: #f3f1e9; list-style: none; }
.naturopathy-safety-list li { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; padding: clamp(28px, 3vw, 46px); border-bottom: 1px solid rgba(243, 241, 233, .2); }
.naturopathy-safety-list li:last-child { border-bottom: 0; }
.naturopathy-safety-list span { color: #a7d500; font-size: .72rem; font-weight: 760; letter-spacing: .12em; }
.naturopathy-safety-list p { margin: 0; font-size: clamp(1rem, 1.15vw, 1.18rem); line-height: 1.55; }

.naturopathy-fit { display: grid; grid-template-columns: minmax(0, .92fr) minmax(360px, 1.08fr); gap: clamp(52px, 8vw, 132px); padding: clamp(76px, 9vw, 142px) clamp(28px, 5vw, 80px); background: #f5f3ed; }
.naturopathy-fit-copy h2 { max-width: 650px; margin: 0 0 28px; font-size: clamp(2.3rem, 4vw, 4.7rem); line-height: .96; letter-spacing: -.058em; text-wrap: balance; }
.naturopathy-fit-copy > p { max-width: 630px; margin: 0 0 32px; color: #51564d; font-size: 1.04rem; line-height: 1.65; }
.naturopathy-fit-copy ul { display: grid; gap: 1px; margin: 0; padding: 1px; background: rgba(21, 23, 19, .18); list-style: none; }
.naturopathy-fit-copy li { position: relative; padding: 18px 22px 18px 50px; background: #ebe8df; line-height: 1.5; }
.naturopathy-fit-copy li::before { position: absolute; top: 19px; left: 22px; color: #679000; content: '↗'; font-weight: 760; }
.naturopathy-faq { align-self: start; }
.naturopathy-faq details { border-top: 1px solid rgba(21, 23, 19, .42); }
.naturopathy-faq details:last-child { border-bottom: 1px solid rgba(21, 23, 19, .42); }
.naturopathy-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 24px; gap: 24px; align-items: center; padding: 24px 0; cursor: pointer; font-size: clamp(1.05rem, 1.4vw, 1.32rem); font-weight: 680; letter-spacing: -.02em; list-style: none; }
.naturopathy-faq summary::-webkit-details-marker { display: none; }
.naturopathy-faq summary b { font-size: 1.6rem; font-weight: 400; transition: transform .2s ease; }
.naturopathy-faq details[open] summary b { transform: rotate(45deg); }
.naturopathy-faq details p { margin: 0; padding: 0 48px 26px 0; color: #51564d; line-height: 1.65; }

.naturopathy-sources { display: grid; grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr); gap: clamp(40px, 7vw, 116px); align-items: end; padding: clamp(42px, 5vw, 74px) clamp(28px, 5vw, 80px); border-top: 1px solid rgba(21, 23, 19, .22); background: #e8e5dc; }
.naturopathy-sources h2 { max-width: 500px; margin: 0; font-size: clamp(1.8rem, 3vw, 3.3rem); line-height: .98; letter-spacing: -.05em; }
.naturopathy-sources > p { max-width: 760px; margin: 0; color: #51564d; line-height: 1.65; }
.naturopathy-sources a { color: #355700; font-weight: 720; text-underline-offset: 3px; }

@media (max-width: 1080px) {
  .naturopathy-intro { grid-template-columns: 110px minmax(0, 1fr); }
  .naturopathy-principles { grid-column: 2; grid-template-columns: repeat(3, 1fr); }
  .naturopathy-principles span { border-right: 1px solid rgba(243, 241, 233, .2); border-bottom: 0; }
  .naturopathy-principles span:last-child { border-right: 0; }
  .naturopathy-focus { grid-template-columns: 1fr; }
  .naturopathy-focus-heading { position: static; }
  .naturopathy-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .naturopathy-safety { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .naturopathy-article { width: calc(100% - 28px); margin: 46px auto 70px; }
  .naturopathy-intro { grid-template-columns: 1fr; gap: 28px; padding-bottom: 54px; }
  .naturopathy-index { grid-template-columns: auto 1fr; align-items: end; }
  .naturopathy-index span { font-size: 4rem; }
  .naturopathy-index b { max-width: none; padding-bottom: 4px; }
  .naturopathy-intro-copy h2 { font-size: clamp(2.45rem, 12.5vw, 4rem); }
  .naturopathy-principles { grid-column: auto; grid-template-columns: 1fr; }
  .naturopathy-principles span { border-right: 0; border-bottom: 1px solid rgba(243, 241, 233, .2); }
  .naturopathy-focus { gap: 44px; padding: 54px 22px; }
  .naturopathy-focus-grid { grid-template-columns: 1fr; }
  .naturopathy-focus-grid article { min-height: 270px; }
  .naturopathy-process { padding: 54px 22px; }
  .naturopathy-process-heading { grid-template-columns: 1fr; gap: 24px; }
  .naturopathy-process-heading .label { grid-column: auto; }
  .naturopathy-process-grid { grid-template-columns: 1fr; }
  .naturopathy-process-grid li { min-height: 250px; }
  .naturopathy-safety-copy { padding: 54px 22px; }
  .naturopathy-safety-list li { grid-template-columns: 40px 1fr; padding: 28px 22px; }
  .naturopathy-fit { grid-template-columns: 1fr; gap: 60px; padding: 58px 22px; }
  .naturopathy-sources { grid-template-columns: 1fr; gap: 30px; padding: 44px 22px; }
}

/* Testimonios compactos — relato, imágenes y navegación final en un único ritmo. */
.testimonial-archive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.2vw, 34px); }
.testimonial-archive-media { height: 220px; padding: 14px; }
.testimonial-archive-copy { min-height: 250px; padding: clamp(20px, 1.8vw, 28px); }
.testimonial-archive-copy h3 { margin-bottom: 12px; font-size: clamp(1.16rem, 1.25vw, 1.42rem); }
.testimonial-archive-copy > div { display: -webkit-box; overflow: hidden; font-size: .92rem; line-height: 1.52; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.testimonial-archive-copy > a { margin-top: 16px; }

.testimonial-detail-hero {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
  gap: clamp(34px, 5vw, 76px);
  padding-top: clamp(42px, 5vw, 68px);
  padding-bottom: clamp(42px, 5vw, 68px);
}
.testimonial-detail-heading .breadcrumbs { margin-bottom: clamp(28px, 3.5vw, 48px); }
.testimonial-detail-heading h1 { font-size: clamp(2.1rem, 3vw, 3.65rem); }
.testimonial-detail-heading .inner-summary { max-width: 820px; margin-bottom: 18px; font-size: clamp(.98rem, 1.08vw, 1.12rem); line-height: 1.5; }
.testimonial-detail-media { width: min(100%, 330px); min-height: 240px; max-height: 340px; padding: 16px; }
.testimonial-detail-media img { max-height: 308px; }

.testimonial-detail-layout {
  grid-template-columns: minmax(130px, 170px) minmax(0, 1040px);
  gap: clamp(30px, 4vw, 58px);
  width: min(calc(100% - (var(--pad) * 2)), 1340px);
  padding-top: clamp(42px, 5vw, 66px);
  padding-bottom: clamp(52px, 6vw, 78px);
}
.testimonial-detail-layout > .author-card { grid-column: 2; margin-top: 22px; }
.testimonial-page .article-editorial-module { margin-bottom: clamp(28px, 3.5vw, 48px); }
.testimonial-page .editorial-story-split { gap: clamp(24px, 3.2vw, 44px); padding: clamp(22px, 2.5vw, 34px) 0; }
.testimonial-page .article-editorial-module h2 { font-size: clamp(1.65rem, 2.15vw, 2.35rem); }
.testimonial-page .editorial-story-copy blockquote { margin-top: 24px; font-size: clamp(1.12rem, 1.4vw, 1.48rem); line-height: 1.48; }
.testimonial-page .editorial-story-media { padding: 13px; }
.testimonial-page .testimonial-fragment-module .editorial-story-media { width: min(100%, 310px); justify-self: end; }
.testimonial-page .editorial-story-media img { max-height: 320px; }
.testimonial-page .editorial-story-media > p { margin-top: 12px; padding-top: 12px; font-size: .84rem; line-height: 1.5; }

.testimonial-story-content { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); align-items: stretch; }
.testimonial-story-content > * { grid-column: 1 / -1; }
.testimonial-story-content > .legacy-media-row,
.testimonial-story-content > figure,
.testimonial-story-content > .wp-block-image { grid-column: auto; }
.testimonial-story-content > .legacy-media-row {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 13px;
  flex-direction: column;
  border: 0;
  background: #e6e3db;
}
.testimonial-story-content > .legacy-media-row .legacy-media-row-copy { order: 2; width: 100%; padding: 12px 3px 0; }
.testimonial-story-content > .legacy-media-row .legacy-media-row-copy p { margin: 0; color: #555; font-size: .8rem; line-height: 1.45; }
.testimonial-story-content > .legacy-media-row > figure,
.testimonial-story-content > .legacy-media-row > .wp-block-image { order: 1; width: 100%; height: 100%; min-height: 0; margin: 0; padding: 0; background: transparent; }
.testimonial-story-content > figure,
.testimonial-story-content > .wp-block-image {
  display: grid;
  min-width: 0;
  height: 360px;
  min-height: 0;
  place-items: center;
  margin: 0 !important;
  padding: 13px;
  background: #e6e3db;
}
.testimonial-page .testimonial-story-content img,
.testimonial-page .testimonial-story-content img.legacy-image-portrait,
.testimonial-page .testimonial-story-content img.is-low-resolution { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 330px; object-fit: contain; }
.testimonial-story-content > p:first-of-type { margin-top: clamp(26px, 3vw, 42px); }
.testimonial-story-content > p { max-width: 830px; margin-bottom: 14px; line-height: 1.7; }
.testimonial-story-content > h2,
.testimonial-story-content > h3 { max-width: 830px; margin-top: 24px; }
.testimonial-page .medical-note { max-width: 830px; margin-top: 30px; }
.testimonial-detail-layout > .author-card-team img { padding: 8px; background: #f6f4ed; border-radius: 0; object-fit: contain; filter: none; }

.testimonial-related-content { padding-top: clamp(46px, 5vw, 66px); padding-bottom: clamp(52px, 6vw, 76px); }
.testimonial-related-content .related-heading { margin-bottom: 26px; }
.testimonial-related-content .article-image { max-height: 210px; margin-bottom: 16px; }
.testimonial-related-content .article-card { padding-bottom: 20px; }
.testimonial-related-content .article-card h3 { font-size: clamp(1.08rem, 1.35vw, 1.42rem); line-height: 1.15; }
.testimonial-return { display: flex; justify-content: flex-end; margin-top: clamp(30px, 4vw, 48px); padding-top: 24px; border-top: 1px solid var(--line-dark); }
.testimonial-return a { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 12px; padding: 11px 20px; color: #fff; background: var(--ink); border: 1px solid var(--ink); border-radius: 999px; font-size: .9rem; font-weight: 700; transition: color .2s ease, background-color .2s ease, transform .2s ease; }
.testimonial-return a:hover,
.testimonial-return a:focus-visible { color: var(--ink); background: var(--green-bright); transform: translateY(-1px); }
.testimonial-return-standalone { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin-right: auto; margin-left: auto; }

@media (max-width: 1180px) {
  .testimonial-archive-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .testimonial-detail-layout { grid-template-columns: minmax(120px, 150px) minmax(0, 1fr); }
}

@media (max-width: 820px) {
  .testimonial-archive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .testimonial-detail-hero { grid-template-columns: minmax(0, 1fr) minmax(210px, 280px); }
  .testimonial-detail-media { min-height: 210px; }
}

@media (max-width: 760px) {
  .testimonial-detail-hero { grid-template-columns: 1fr; gap: 24px; padding: 34px 18px 40px; }
  .testimonial-detail-heading .breadcrumbs { margin-bottom: 28px; }
  .testimonial-detail-heading .inner-summary { margin-bottom: 16px; }
  .testimonial-detail-media { width: min(100%, 280px); min-height: 190px; max-height: 280px; padding: 12px; }
  .testimonial-detail-media img { max-height: 254px; }
  .testimonial-detail-layout { grid-template-columns: 1fr; width: calc(100% - 32px); padding: 36px 0 54px; }
  .testimonial-page .article-toc { display: none; }
  .testimonial-detail-layout > .author-card { grid-column: 1; }
  .testimonial-page .editorial-story-split { gap: 14px; padding: 18px 0 24px; }
  .testimonial-page .article-editorial-module h2 { font-size: clamp(1.3rem, 6vw, 1.65rem); }
  .testimonial-page .editorial-story-copy blockquote { margin-top: 18px; padding-top: 20px; font-size: 1rem; }
  .testimonial-page .editorial-story-media img { max-height: 300px; }
  .testimonial-story-content { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .testimonial-story-content > figure,
  .testimonial-story-content > .wp-block-image { height: 260px; min-height: 0; padding: 8px; }
  .testimonial-story-content > .legacy-media-row { padding: 8px; }
  .testimonial-page .testimonial-story-content img,
  .testimonial-page .testimonial-story-content img.legacy-image-portrait,
  .testimonial-page .testimonial-story-content img.is-low-resolution { max-height: 300px; }
  .testimonial-detail-layout > .author-card { grid-template-columns: 68px minmax(0, 1fr); padding: 18px; }
  .testimonial-detail-layout > .author-card img { width: 68px; height: 68px; }
  .testimonial-detail-layout > .author-card > a { grid-column: 1 / -1; grid-row: auto; min-width: 0; margin-top: 12px; }
  .testimonial-related-content { padding: 42px 16px 54px; }
  .testimonial-related-content .article-grid { grid-template-columns: 1fr; gap: 16px; }
  .testimonial-related-content .article-card { display: grid; grid-template-columns: 116px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 0 16px; min-height: 116px; padding: 0 0 16px; }
  .testimonial-related-content .article-image { grid-column: 1; grid-row: 1 / 3; height: 116px; margin: 0; aspect-ratio: 1; }
  .testimonial-related-content .article-card p { grid-column: 2; margin-top: 4px; }
  .testimonial-related-content .article-card h3 { grid-column: 2; padding-right: 28px; }
  .testimonial-related-content .card-arrow { right: 0; bottom: 14px; }
  .testimonial-return { justify-content: stretch; margin-top: 28px; }
  .testimonial-return a { width: 100%; }
}

@media (max-width: 600px) {
  .testimonial-archive-grid { grid-template-columns: 1fr; gap: 18px; }
  .testimonial-archive-card { display: grid; grid-template-columns: minmax(112px, .78fr) minmax(0, 1.22fr); }
  .testimonial-archive-media { height: 100%; min-height: 230px; padding: 10px; }
  .testimonial-archive-copy { min-height: 230px; padding: 20px 18px; }
  .testimonial-archive-copy > p { display: block; margin-bottom: 12px; }
  .testimonial-archive-copy > p time { display: block; margin-top: 5px; }
  .testimonial-archive-copy > div { -webkit-line-clamp: 2; }
}

/* Studio Salux: infografía horizontal para orientar la elección de disciplina. */
.studio-practice-map {
  padding: clamp(58px, 6vw, 88px) max(var(--pad), calc((100% - var(--container)) / 2));
  border-top: 1px solid rgba(236,25,134,.42);
  background: radial-gradient(circle at 92% 5%, rgba(236,25,134,.13), transparent 31%), #0b0b0b;
}
.studio-practice-map > header { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); align-items: end; gap: clamp(38px, 7vw, 112px); margin-bottom: clamp(34px, 4vw, 54px); }
.studio-practice-map > header h2 { max-width: 760px; margin: 5px 0 0; color: var(--paper); font-size: clamp(2.1rem, 3vw, 3.45rem); line-height: 1; letter-spacing: -.048em; text-wrap: balance; }
.studio-practice-map > header > p { max-width: 560px; margin: 0; color: #aaa; line-height: 1.65; }
.studio-practice-routes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: #393939; border: 1px solid #393939; }
.studio-practice-route { position: relative; display: grid; grid-template-columns: minmax(0, .8fr) 38px minmax(0, 1.2fr); min-width: 0; min-height: 310px; padding: clamp(26px, 2.6vw, 38px); overflow: hidden; color: var(--paper); background: #111; }
.studio-practice-route::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ""; background: linear-gradient(90deg, var(--pink), rgba(236,25,134,.08)); }
.studio-practice-need { align-self: center; }
.studio-practice-need span { display: block; margin-bottom: 32px; color: var(--pink); font-size: .72rem; font-weight: 700; letter-spacing: .12em; }
.studio-practice-need small,
.studio-practice-family > small { display: block; margin-bottom: 8px; color: #858585; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.studio-practice-need strong { display: block; font-size: clamp(1.05rem, 1.35vw, 1.42rem); line-height: 1.12; letter-spacing: -.025em; }
.studio-practice-route > i { align-self: center; color: var(--pink); font-size: 1.35rem; font-style: normal; }
.studio-practice-family { align-self: center; min-width: 0; }
.studio-practice-family h3 { margin: 0 0 17px; font-size: clamp(1.2rem, 1.6vw, 1.68rem); line-height: 1.04; letter-spacing: -.035em; }
.studio-practice-family nav { display: flex; flex-wrap: wrap; gap: 7px; }
.studio-practice-family a { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 7px 10px; color: #c6c6c6; background: #1c1c1c; border: 1px solid #343434; font-size: .72rem; line-height: 1.2; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.studio-practice-family a b { color: var(--pink); font-weight: 400; }
.studio-practice-family a:hover,
.studio-practice-family a:focus-visible { color: #fff; background: rgba(236,25,134,.12); border-color: var(--pink); }
.studio-practice-map > footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 22px 2px 0; color: #8c8c8c; font-size: .82rem; }
.studio-practice-map > footer a { color: var(--paper); border-bottom: 1px solid var(--pink); }
.studio-practice-map > footer a b { color: var(--pink); }

@media (max-width: 1080px) {
  .studio-practice-routes { grid-template-columns: 1fr; }
  .studio-practice-route { min-height: 230px; grid-template-columns: minmax(170px, .68fr) 54px minmax(0, 1.32fr); }
}

@media (max-width: 760px) {
  .studio-practice-map { padding: 48px 20px 54px; }
  .studio-practice-map > header { grid-template-columns: 1fr; gap: 18px; margin-bottom: 30px; }
  .studio-practice-route { grid-template-columns: 1fr; gap: 18px; min-height: 0; padding: 26px 22px; }
  .studio-practice-route > i { display: none; }
  .studio-practice-need { padding-bottom: 20px; border-bottom: 1px solid #363636; }
  .studio-practice-need span { margin-bottom: 18px; }
  .studio-practice-map > footer { align-items: flex-start; flex-direction: column; }
}

/* Equipo Studio: perfil editorial compacto, sin la retícula heredada de WordPress. */
.studio-team-page .inner-hero { min-height: min(660px, 72vh); }
.studio-team-profile { color: var(--ink); background: var(--paper); }
.studio-profile-intro,
.studio-profile-credentials,
.studio-profile-training,
.studio-profile-closing { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: 0 auto; }
.studio-profile-intro { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); align-items: center; gap: clamp(42px, 7vw, 112px); padding: clamp(68px, 8vw, 118px) 0; }
.studio-profile-portrait { position: relative; min-height: 560px; margin: 0; overflow: hidden; background: #e3dfda; }
.studio-profile-portrait::before { position: absolute; z-index: 1; inset: 18px; content: ""; border: 1px solid rgba(236,25,134,.55); pointer-events: none; }
.studio-profile-portrait img { width: 100%; height: 100%; min-height: 560px; filter: grayscale(1) contrast(1.04); object-fit: cover; }
.studio-profile-copy { max-width: 760px; }
.studio-profile-copy h2,
.studio-profile-credentials h2,
.studio-profile-training h2,
.studio-profile-closing h2 { margin: 8px 0 24px; font-size: clamp(2.35rem, 4.2vw, 4.9rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.studio-profile-copy > p { max-width: 700px; color: #444; font-size: 1.05rem; line-height: 1.72; }
.studio-profile-copy .studio-profile-lead { color: var(--ink); font-size: clamp(1.16rem, 1.55vw, 1.42rem); line-height: 1.55; letter-spacing: -.018em; }
.studio-profile-copy blockquote { margin: 34px 0; padding: 22px 0 22px 28px; color: var(--ink); border-left: 3px solid var(--pink); font-family: Georgia, serif; font-size: clamp(1.28rem, 2vw, 1.8rem); font-style: italic; line-height: 1.4; }
.studio-profile-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 36px 0 0; background: #d8d3cd; border: 1px solid #d8d3cd; }
.studio-profile-facts > div { min-width: 0; padding: 18px; background: #f6f3ef; }
.studio-profile-facts dt { margin-bottom: 6px; color: var(--pink-dark); font-size: .64rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.studio-profile-facts dd { margin: 0; font-size: .9rem; font-weight: 650; line-height: 1.35; }
.studio-profile-origin { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(46px, 9vw, 150px); padding: clamp(70px, 7vw, 104px) max(var(--pad), calc((100% - var(--container)) / 2)); background: radial-gradient(circle at 90% 15%, rgba(236,25,134,.13), transparent 30%), #090909; }
.studio-profile-origin h2,
.studio-profile-experience h2 { max-width: 680px; margin: 9px 0 0; color: var(--paper); font-size: clamp(2.35rem, 4vw, 4.6rem); line-height: .96; letter-spacing: -.055em; }
.studio-profile-origin > div:last-child { max-width: 720px; padding-top: 28px; border-top: 1px solid rgba(236,25,134,.55); }
.studio-profile-origin > div:last-child p { color: #bbb; font-size: 1.03rem; line-height: 1.72; }
.studio-profile-credentials { padding: clamp(72px, 8vw, 118px) 0; }
.studio-profile-credentials header { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: end; gap: 48px; margin-bottom: 44px; }
.studio-profile-credentials header .label { align-self: start; padding-top: 12px; }
.studio-profile-credentials ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; background: #d2ccc5; border: 1px solid #d2ccc5; list-style: none; }
.studio-profile-credentials li { min-height: 270px; padding: clamp(26px, 3vw, 42px); background: #f4f1ed; }
.studio-profile-credentials li span { color: var(--pink-dark); font-size: .72rem; font-weight: 750; letter-spacing: .1em; }
.studio-profile-credentials li h3 { margin: 58px 0 12px; font-size: clamp(1.45rem, 2vw, 2.05rem); letter-spacing: -.035em; }
.studio-profile-credentials li p { margin: 0; color: #555; line-height: 1.62; }
.studio-profile-training { padding: 0 0 clamp(74px, 8vw, 120px); }
.studio-profile-training > header { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: end; gap: clamp(42px, 8vw, 130px); margin-bottom: 44px; }
.studio-profile-training > header > p { max-width: 560px; margin: 0 0 8px; color: #555; line-height: 1.7; }
.studio-training-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #cfc9c2; }
.studio-training-grid details { border-bottom: 1px solid #cfc9c2; }
.studio-training-grid details:nth-child(odd) { border-right: 1px solid #cfc9c2; }
.studio-training-grid summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) 28px; gap: 18px; min-height: 182px; padding: 28px 30px; cursor: pointer; list-style: none; }
.studio-training-grid summary::-webkit-details-marker { display: none; }
.studio-training-grid summary > span { color: var(--pink-dark); font-size: .7rem; font-weight: 750; letter-spacing: .1em; }
.studio-training-grid summary h3 { margin: 0 0 9px; font-size: clamp(1.28rem, 1.7vw, 1.72rem); letter-spacing: -.035em; }
.studio-training-grid summary p { margin: 0; color: #5c5c5c; line-height: 1.55; }
.studio-training-grid summary b { color: var(--pink-dark); font-size: 1.35rem; font-weight: 400; transition: transform .2s ease; }
.studio-training-grid details[open] summary b { transform: rotate(45deg); }
.studio-training-grid details > p { margin: -12px 30px 28px 90px; color: #3e3e3e; line-height: 1.65; }
.studio-profile-experience { display: grid; grid-template-columns: minmax(0, .83fr) minmax(0, 1.17fr); gap: clamp(58px, 9vw, 150px); padding: clamp(74px, 8vw, 116px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #090909; }
.studio-profile-experience ol { margin: 0; padding: 0; border-top: 1px solid #393939; list-style: none; }
.studio-profile-experience li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 24px; padding: 24px 0; color: #aaa; border-bottom: 1px solid #393939; }
.studio-profile-experience li > span { color: var(--pink); font-size: .72rem; font-weight: 750; letter-spacing: .08em; }
.studio-profile-experience h3 { margin: 0 0 8px; color: var(--paper); font-size: 1.22rem; }
.studio-profile-experience p { margin: 0; line-height: 1.58; }
.studio-profile-archive { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: clamp(62px, 8vw, 112px) auto 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.studio-profile-archive summary { display: flex; align-items: center; justify-content: space-between; gap: 34px; padding: 32px 0; cursor: pointer; list-style: none; }
.studio-profile-archive summary::-webkit-details-marker { display: none; }
.studio-profile-archive summary h2 { max-width: 820px; margin: 0; font-size: clamp(2rem, 3.5vw, 4rem); line-height: .98; letter-spacing: -.055em; }
.studio-profile-archive summary b { color: var(--pink); font-size: 1.8rem; transition: transform .2s ease; }
.studio-profile-archive details[open] summary b { transform: rotate(45deg); }
.studio-profile-archive .legacy-content { width: min(100%, 1180px); margin: 0 auto; padding: 10px 0 72px; }
.studio-profile-archive .legacy-content ul { columns: 2; column-gap: 54px; }
.studio-profile-archive .legacy-content li { break-inside: avoid; }
.studio-profile-closing { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); align-items: end; gap: clamp(46px, 8vw, 130px); padding: clamp(72px, 8vw, 112px) 0; }
.studio-profile-closing > div:last-child p { margin: 0 0 26px; color: #505050; font-size: 1.06rem; line-height: 1.7; }

@media (max-width: 920px) {
  .studio-profile-intro { grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr); gap: 34px; }
  .studio-profile-portrait,
  .studio-profile-portrait img { min-height: 480px; }
  .studio-profile-origin,
  .studio-profile-experience { grid-template-columns: 1fr; gap: 42px; }
  .studio-profile-credentials header,
  .studio-profile-training > header,
  .studio-profile-closing { grid-template-columns: 1fr; gap: 24px; }
}

@media (max-width: 700px) {
  .studio-team-page .inner-hero { min-height: 0; }
  .studio-profile-intro { grid-template-columns: 1fr; padding: 52px 0 62px; }
  .studio-profile-portrait { min-height: 390px; max-height: 540px; }
  .studio-profile-portrait img { min-height: 390px; }
  .studio-profile-copy blockquote { margin: 26px 0; padding-left: 20px; }
  .studio-profile-facts,
  .studio-profile-credentials ol,
  .studio-training-grid { grid-template-columns: 1fr; }
  .studio-profile-facts > div { padding: 15px 17px; }
  .studio-profile-credentials li { min-height: 210px; }
  .studio-profile-credentials li h3 { margin-top: 38px; }
  .studio-training-grid details:nth-child(odd) { border-right: 0; }
  .studio-training-grid summary { grid-template-columns: 32px minmax(0, 1fr) 22px; gap: 12px; min-height: 0; padding: 24px 4px; }
  .studio-training-grid details > p { margin: -4px 4px 24px 44px; }
  .studio-profile-experience li { grid-template-columns: 84px minmax(0, 1fr); gap: 16px; }
  .studio-profile-archive .legacy-content ul { columns: 1; }
  .studio-profile-closing { padding: 58px 0 70px; }
}

/* Organometría funcional: artículo editorial y proceso visual. */
.organometry-article { color: var(--ink); background: var(--paper); }
.organometry-overview,
.organometry-process,
.organometry-scope { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin: 0 auto; }
.organometry-overview { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(360px, .96fr); align-items: center; gap: clamp(48px, 8vw, 132px); padding: clamp(72px, 8vw, 122px) 0; }
.organometry-overview-copy h2,
.organometry-process > header h2,
.organometry-scope > header h2,
.organometry-map h2,
.organometry-faq h2 { margin: 8px 0 26px; font-size: clamp(2.45rem, 4.5vw, 5.2rem); line-height: .95; letter-spacing: -.058em; text-wrap: balance; }
.organometry-overview-copy > p { max-width: 710px; color: #484848; font-size: 1.04rem; line-height: 1.72; }
.organometry-overview-copy .organometry-lead { color: var(--ink); font-size: clamp(1.25rem, 1.75vw, 1.58rem); line-height: 1.5; letter-spacing: -.02em; }
.organometry-overview-copy aside { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 22px; margin-top: 34px; padding: 22px 0; border-top: 1px solid var(--green); border-bottom: 1px solid #d7d2ca; }
.organometry-overview-copy aside strong { color: var(--green-dark); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.organometry-overview-copy aside p { margin: 0; color: #393939; line-height: 1.55; }
.organometry-device { position: relative; margin: 0; padding: clamp(28px, 4vw, 50px); background: #e8e4de; box-shadow: 28px 32px 0 #d6e2bc; }
.organometry-device > span { display: block; margin-bottom: 22px; color: var(--green-dark); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.organometry-device img { width: 100%; height: auto; mix-blend-mode: multiply; }
.organometry-device figcaption { margin-top: 22px; color: #5a5a5a; font-size: .84rem; line-height: 1.55; }
.organometry-map { padding: clamp(72px, 8vw, 112px) max(var(--pad), calc((100% - var(--container)) / 2)); background: radial-gradient(circle at 88% 12%, rgba(172,218,0,.13), transparent 29%), #090909; }
.organometry-map > header { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr); align-items: end; gap: clamp(42px, 8vw, 130px); margin-bottom: 50px; }
.organometry-map h2 { max-width: 790px; color: var(--paper); }
.organometry-map > header > p { max-width: 570px; margin: 0 0 8px; color: #aaa; line-height: 1.7; }
.organometry-map ol { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 0; padding: 0; background: #3a3a3a; border: 1px solid #3a3a3a; list-style: none; }
.organometry-map li { position: relative; min-height: 290px; padding: clamp(26px, 2.6vw, 40px); background: #111; }
.organometry-map li::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; content: ""; background: linear-gradient(90deg, var(--green), rgba(172,218,0,.08)); }
.organometry-map li span { color: var(--green); font-size: .7rem; font-weight: 750; letter-spacing: .1em; }
.organometry-map li h3 { margin: 78px 0 14px; color: var(--paper); font-size: clamp(1.25rem, 1.7vw, 1.72rem); line-height: 1.05; letter-spacing: -.035em; }
.organometry-map li p { margin: 0; color: #aaa; line-height: 1.58; }
.organometry-process { padding: clamp(76px, 8vw, 126px) 0; }
.organometry-process > header { display: grid; grid-template-columns: minmax(0, 1.16fr) minmax(320px, .84fr); align-items: end; gap: clamp(46px, 8vw, 130px); margin-bottom: 56px; }
.organometry-process > header .label { grid-column: 1 / -1; margin-bottom: -30px; }
.organometry-process > header h2 { max-width: 820px; margin-bottom: 0; }
.organometry-process > header > p { max-width: 540px; margin: 0 0 8px; color: #555; line-height: 1.7; }
.organometry-step { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr); align-items: stretch; min-height: 500px; border-top: 1px solid #cfc9c1; }
.organometry-step + .organometry-step { grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr); }
.organometry-step + .organometry-step figure { order: 2; }
.organometry-step figure { display: grid; align-items: center; margin: 0; padding: clamp(28px, 4vw, 58px); overflow: hidden; background: #e4e0da; }
.organometry-step figure img { width: 100%; height: min(410px, 30vw); object-fit: cover; }
.organometry-step > div { display: flex; justify-content: center; flex-direction: column; padding: clamp(34px, 5vw, 76px); background: #f7f4ef; }
.organometry-step > div > span { align-self: flex-start; margin-bottom: 62px; color: var(--green-dark); font-size: .72rem; font-weight: 750; letter-spacing: .1em; }
.organometry-step h3 { max-width: 520px; margin: 6px 0 18px; font-size: clamp(1.75rem, 2.7vw, 3rem); line-height: 1; letter-spacing: -.045em; }
.organometry-step > div > p:last-child { max-width: 550px; margin: 0; color: #505050; line-height: 1.68; }
.organometry-scope { padding: 0 0 clamp(78px, 8vw, 126px); }
.organometry-scope > header { display: grid; grid-template-columns: minmax(0, .62fr) minmax(0, 1.38fr); align-items: start; gap: 48px; margin-bottom: 44px; }
.organometry-scope > header h2 { max-width: 920px; margin-top: 0; }
.organometry-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: #cbc6bf; border: 1px solid #cbc6bf; }
.organometry-scope-grid section { min-height: 390px; padding: clamp(32px, 4.5vw, 64px); background: #f3f0eb; }
.organometry-scope-grid section:last-child { color: var(--paper); background: #111; }
.organometry-scope-grid section > span { display: block; color: var(--green-dark); font-size: 2rem; }
.organometry-scope-grid section:last-child > span { color: var(--pink); }
.organometry-scope-grid h3 { margin: 34px 0 24px; font-size: clamp(1.55rem, 2.3vw, 2.55rem); letter-spacing: -.04em; }
.organometry-scope-grid ul { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.organometry-scope-grid li { position: relative; padding-left: 24px; color: #4d4d4d; line-height: 1.55; }
.organometry-scope-grid section:last-child li { color: #bcbcbc; }
.organometry-scope-grid li::before { position: absolute; left: 0; content: "↗"; color: var(--green-dark); }
.organometry-scope-grid section:last-child li::before { color: var(--pink); }
.organometry-faq { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(54px, 9vw, 150px); padding: clamp(74px, 8vw, 116px) max(var(--pad), calc((100% - var(--container)) / 2)); background: #090909; }
.organometry-faq h2 { max-width: 650px; color: var(--paper); }
.organometry-faq > div:last-child { border-top: 1px solid #393939; }
.organometry-faq details { border-bottom: 1px solid #393939; }
.organometry-faq summary { display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 18px; padding: 25px 0; color: var(--paper); cursor: pointer; font-size: 1.04rem; font-weight: 650; list-style: none; }
.organometry-faq summary::-webkit-details-marker { display: none; }
.organometry-faq summary b { color: var(--green); font-size: 1.3rem; font-weight: 400; transition: transform .2s ease; }
.organometry-faq details[open] summary b { transform: rotate(45deg); }
.organometry-faq details p { max-width: 620px; margin: -4px 40px 25px 0; color: #aaa; line-height: 1.65; }

@media (max-width: 980px) {
  .organometry-overview { grid-template-columns: 1fr 1fr; gap: 34px; }
  .organometry-map ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .organometry-map li { min-height: 240px; }
  .organometry-step,
  .organometry-step + .organometry-step { grid-template-columns: 1fr 1fr; }
  .organometry-scope > header { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 720px) {
  .organometry-overview,
  .organometry-map > header,
  .organometry-process > header,
  .organometry-faq { grid-template-columns: 1fr; }
  .organometry-overview { padding: 56px 0 70px; }
  .organometry-device { box-shadow: 14px 16px 0 #d6e2bc; }
  .organometry-overview-copy aside { grid-template-columns: 1fr; gap: 8px; }
  .organometry-map { padding: 58px 20px 64px; }
  .organometry-map ol,
  .organometry-scope-grid { grid-template-columns: 1fr; }
  .organometry-map li { min-height: 215px; }
  .organometry-map li h3 { margin-top: 48px; }
  .organometry-process { padding: 62px 0 76px; }
  .organometry-process > header .label { grid-column: auto; margin-bottom: -5px; }
  .organometry-step,
  .organometry-step + .organometry-step { grid-template-columns: 1fr; min-height: 0; }
  .organometry-step + .organometry-step figure { order: 0; }
  .organometry-step figure { padding: 22px; }
  .organometry-step figure img { height: auto; max-height: 340px; object-fit: contain; }
  .organometry-step > div { padding: 34px 24px 42px; }
  .organometry-step > div > span { margin-bottom: 38px; }
  .organometry-scope-grid section { min-height: 0; }
  .organometry-faq { gap: 32px; padding: 60px 20px 70px; }
}

/* Lectura editorial para párrafos heredados excepcionalmente largos. */
.content-page:not(.legal-page) .legacy-content p.legacy-longform,
.studio-content-page .legacy-content p.legacy-longform {
  width: min(100%, 1080px) !important;
  max-width: none !important;
  margin: 38px auto 48px !important;
  padding: clamp(28px, 4vw, 48px) !important;
  column-count: 2;
  column-gap: clamp(36px, 5vw, 68px);
  column-rule: 1px solid #cbc6be;
  color: #343434 !important;
  background: linear-gradient(135deg, rgba(172,218,0,.08), transparent 42%), #f0ede7;
  border-top: 3px solid var(--green);
  font-size: clamp(.98rem, 1.05vw, 1.08rem) !important;
  line-height: 1.72 !important;
}
.studio-content-page .legacy-content p.legacy-longform { background: linear-gradient(135deg, rgba(236,25,134,.08), transparent 42%), #f0ede7; border-top-color: var(--pink); }

@media (max-width: 700px) {
  .content-page:not(.legal-page) .legacy-content p.legacy-longform,
  .studio-content-page .legacy-content p.legacy-longform { margin: 24px auto 34px !important; padding: 24px 20px !important; column-count: 1; column-rule: 0; }
}

/* Respuesta inicial para artículos con alta visibilidad orgánica. */
.article-search-brief { width: min(100%, var(--container)); margin: 0 auto; padding: clamp(58px, 7vw, 108px) var(--pad); display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: clamp(50px, 8vw, 130px); border-bottom: 1px solid var(--line-dark); background: linear-gradient(120deg, rgba(168,210,27,.09), transparent 38%); }
.article-search-brief h2 { max-width: 780px; margin: 0 0 24px; font-size: clamp(2.25rem, 4.3vw, 5.1rem); line-height: .96; letter-spacing: -.06em; }
.article-search-brief > div > p:last-child { max-width: 780px; margin: 0; font-size: clamp(1.15rem, 1.55vw, 1.45rem); line-height: 1.5; }
.article-search-brief ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.article-search-brief li { display: grid; grid-template-columns: 28px 1fr; gap: 14px; padding: 20px 0; border-bottom: 1px solid var(--line-dark); }
.article-search-brief li span { color: var(--green-dark); }
.article-search-brief li p { margin: 0; }

.team-history { width: min(100%, var(--container)); margin: 0 auto; padding: clamp(70px, 8vw, 118px) var(--pad); }
.team-history summary { display: flex; align-items: flex-start; justify-content: space-between; gap: 40px; padding-bottom: 34px; cursor: pointer; list-style: none; border-bottom: 1px solid var(--line-dark); }
.team-history summary::-webkit-details-marker { display: none; }
.team-history summary > div { max-width: 900px; }
.team-history summary h2 { margin: 0 0 18px; font-size: clamp(2.35rem, 4vw, 4.8rem); line-height: .96; letter-spacing: -.06em; }
.team-history summary p:last-child { max-width: 760px; margin: 0; color: #565656; }
.team-history summary > b { color: var(--green-dark); font-size: 2rem; transition: transform .2s ease; }
.team-history details[open] summary > b { transform: rotate(45deg); }
.team-history nav { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 28px; border-top: 1px solid var(--line-dark); border-left: 1px solid var(--line-dark); }
.team-history nav a { display: flex; justify-content: space-between; gap: 24px; min-height: 92px; padding: 24px; border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.team-history nav a:hover { color: var(--green-dark); background: rgba(168,210,27,.08); }
.team-history nav a > b { color: var(--green-dark); }

/* Studio discipline editorial system */
.studio-practice { background: var(--paper); }
.studio-practice-intro,
.studio-practice-session,
.studio-practice-before,
.studio-practice-faq,
.studio-practice-next,
.studio-practice-source,
.studio-practice-focus { width: min(100%, var(--container)); margin: 0 auto; padding-left: var(--pad); padding-right: var(--pad); }
.studio-practice-intro { display: grid; grid-template-columns: minmax(0, .9fr) minmax(320px, 1.1fr); gap: clamp(44px, 8vw, 140px); padding-top: clamp(72px, 9vw, 132px); padding-bottom: clamp(64px, 8vw, 118px); }
.studio-practice-intro h2,
.studio-practice-focus h2,
.studio-practice-session h2,
.studio-practice-before h2,
.studio-practice-faq h2 { margin: 0; font-size: clamp(2.35rem, 4.8vw, 5.5rem); line-height: .94; letter-spacing: -.065em; }
.studio-practice-intro > p { align-self: end; max-width: 760px; margin: 0; font-size: clamp(1.1rem, 1.55vw, 1.5rem); line-height: 1.55; }
.studio-practice-focus { padding-bottom: clamp(72px, 9vw, 132px); }
.studio-practice-focus > header { display: grid; grid-template-columns: .65fr 1.35fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--line-dark); }
.studio-practice-focus > header h2 { max-width: 820px; }
.studio-practice-focus > div { display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line-dark); }
.studio-practice-focus article { min-height: 300px; padding: clamp(28px, 3vw, 48px); border-right: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.studio-practice-focus article > span { color: var(--pink); font-size: .78rem; font-weight: 800; letter-spacing: .12em; }
.studio-practice-focus h3 { max-width: 260px; margin: 66px 0 18px; font-size: clamp(1.55rem, 2.2vw, 2.5rem); line-height: 1; letter-spacing: -.045em; }
.studio-practice-focus article p { margin: 0; color: #535353; }
.studio-practice-session { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(48px, 9vw, 150px); width: 100%; max-width: none; padding-top: clamp(76px, 9vw, 132px); padding-bottom: clamp(76px, 9vw, 132px); }
.studio-practice-session > div { margin-left: max(0px, calc((100vw - var(--container)) / 2)); }
.studio-practice-session > p { align-self: end; max-width: 650px; margin: 0 max(var(--pad), calc((100vw - var(--container)) / 2)) 0 0; color: #d1d1d1; font-size: clamp(1.08rem, 1.45vw, 1.4rem); line-height: 1.6; }
.studio-practice-before { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(50px, 9vw, 150px); padding-top: clamp(72px, 9vw, 132px); padding-bottom: clamp(72px, 9vw, 132px); border-bottom: 1px solid var(--line-dark); }
.studio-practice-before > p { align-self: end; margin: 0; padding: clamp(28px, 4vw, 56px); border-left: 3px solid var(--pink); background: #fff; font-size: 1.1rem; line-height: 1.65; }
.studio-practice-faq { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(48px, 9vw, 150px); padding-top: clamp(72px, 9vw, 132px); padding-bottom: clamp(72px, 9vw, 132px); }
.studio-practice-faq details { border-top: 1px solid var(--line-dark); }
.studio-practice-faq details:last-child { border-bottom: 1px solid var(--line-dark); }
.studio-practice-faq summary { display: flex; justify-content: space-between; gap: 28px; padding: 24px 0; cursor: pointer; list-style: none; font-weight: 750; }
.studio-practice-faq summary::-webkit-details-marker { display: none; }
.studio-practice-faq summary b { color: var(--pink); font-size: 1.4rem; transition: transform .2s ease; }
.studio-practice-faq details[open] summary b { transform: rotate(45deg); }
.studio-practice-faq details p { max-width: 720px; margin: 0 0 28px; color: #515151; }
.studio-practice-next { width: 100%; max-width: none; padding-top: 72px; padding-bottom: 72px; }
.studio-practice-next > p,
.studio-practice-next > div { width: min(calc(100% - (var(--pad) * 2)), var(--container)); margin-left: auto; margin-right: auto; }
.studio-practice-next > div { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: 20px; border-top: 1px solid #343434; border-left: 1px solid #343434; }
.studio-practice-next a { display: flex; justify-content: space-between; gap: 24px; padding: 28px; border-right: 1px solid #343434; border-bottom: 1px solid #343434; color: #fff; font-size: 1.1rem; }
.studio-practice-next a:hover { color: var(--pink); background: rgba(225,0,113,.08); }
.studio-practice-source { padding-top: 44px; padding-bottom: 80px; }
.studio-practice-source > summary { display: flex; justify-content: space-between; gap: 24px; padding: 26px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); cursor: pointer; list-style: none; font-weight: 750; }
.studio-practice-source > summary::-webkit-details-marker { display: none; }
.studio-practice-source > summary b { color: var(--pink); font-size: 1.5rem; transition: transform .2s ease; }
.studio-practice-source[open] > summary b { transform: rotate(45deg); }
.studio-practice-source .legacy-content { width: min(100%, 1040px); margin: 0 auto; padding: 56px 0 0; }
.historical-profile-shell { grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr); }
.historical-profile-note { margin-bottom: 54px; padding: 30px; border-left: 3px solid var(--green); background: rgba(168,210,27,.08); }
.historical-profile-note strong { display: block; margin-bottom: 10px; font-size: 1.1rem; }
.historical-profile-note p { max-width: 720px; margin: 0 0 16px; }
.historical-profile-note a { font-weight: 750; color: var(--green-dark); }

/* Contenido completo integrado en técnicas, tratamientos y disciplinas. */
.integrated-article-content {
  width: 100%;
  margin: 0;
  padding: clamp(72px, 8vw, 126px) max(var(--pad), calc((100% - var(--container)) / 2));
  overflow: clip;
  background:
    radial-gradient(circle at 92% 3%, rgba(168,210,27,.13), transparent 27%),
    linear-gradient(180deg, #efede7 0%, #f7f4ef 42%, #efede7 100%);
  border-top: 1px solid var(--line-dark);
  border-bottom: 1px solid var(--line-dark);
}
.integrated-article-studio {
  background:
    radial-gradient(circle at 92% 3%, rgba(225,0,113,.11), transparent 28%),
    linear-gradient(180deg, #efebe9 0%, #f8f5f2 42%, #eee9e7 100%);
}
.integrated-article-header {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, .88fr);
  align-items: end;
  gap: clamp(44px, 8vw, 132px);
  width: min(100%, var(--container));
  margin: 0 auto clamp(54px, 7vw, 92px);
  padding-bottom: clamp(34px, 4vw, 52px);
  border-bottom: 1px solid #c8c3bb;
}
.integrated-article-header h2 {
  max-width: 880px;
  margin: 0;
  font-size: clamp(2.45rem, 4.8vw, 5.55rem);
  line-height: .94;
  letter-spacing: -.065em;
  text-wrap: balance;
}
.integrated-article-header > p {
  max-width: 660px;
  margin: 0 0 6px;
  color: #4e4e4e;
  font-size: clamp(1.04rem, 1.3vw, 1.24rem);
  line-height: 1.65;
}
.integrated-article-body {
  width: min(100%, var(--container));
  max-width: none;
  margin: 0 auto;
}
.integrated-article-body > p,
.integrated-article-body > ul,
.integrated-article-body > ol,
.integrated-article-body > blockquote,
.integrated-article-body > h2,
.integrated-article-body > h3,
.integrated-article-body > h4 {
  width: min(100%, 920px);
  margin-right: auto;
  margin-left: auto;
}
.integrated-article-body > h2,
.integrated-article-body > h3 {
  margin-top: clamp(48px, 6vw, 82px);
  padding-top: 24px;
  border-top: 2px solid var(--green);
  font-size: clamp(1.85rem, 3vw, 3.45rem);
  line-height: 1;
  letter-spacing: -.045em;
}
.integrated-article-studio .integrated-article-body > h2,
.integrated-article-studio .integrated-article-body > h3 { border-top-color: var(--pink); }
.integrated-article-body > p,
.integrated-article-body > li { color: #3f3f3f; font-size: clamp(1rem, 1.06vw, 1.1rem); line-height: 1.76; }
.integrated-article-body .elementor > .elementor-top-section { counter-increment: integrated-section; }
.integrated-article-body .elementor > .elementor-top-section:has(h2, h3, h4, p, li, blockquote, table) {
  position: relative;
  width: 100%;
  margin: 0 0 clamp(24px, 4vw, 54px);
}
.integrated-article-body .elementor > .elementor-top-section:has(img) {
  box-shadow: 0 28px 70px rgba(64,55,43,.08);
}
.integrated-article-body .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.integrated-article-body .elementor-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin: 8px 8px 8px 0;
  padding: 11px 18px;
  border: 1px solid var(--green-dark);
  color: var(--ink);
  font-weight: 700;
}
.integrated-article-studio .integrated-article-body .elementor-button { border-color: var(--pink); }

/* Vídeo contextual: lectura y audiovisual forman una única composición editorial. */
.context-video {
  position: relative;
  display: grid;
  grid-template-columns: minmax(280px, .76fr) minmax(0, 1.24fr);
  gap: clamp(34px, 6vw, 94px);
  align-items: center;
  width: min(calc(100% - (var(--pad) * 2)), var(--container));
  margin: clamp(62px, 7vw, 108px) auto;
  padding: clamp(34px, 4.5vw, 66px);
  color: #f6f4ee;
  background:
    radial-gradient(circle at 8% 100%, rgba(168,210,27,.18), transparent 32%),
    #10110f;
  overflow: visible;
}
.context-video-copy { max-width: 540px; }
.context-video-copy h2 { margin: 12px 0 22px; color: #fff; font-size: clamp(2rem, 3.4vw, 4.15rem); line-height: .96; letter-spacing: -.055em; text-wrap: balance; }
.context-video-copy > p:not(.label) { margin: 0; color: #c9cbc3; font-size: clamp(1rem, 1.15vw, 1.12rem); line-height: 1.66; }
.context-video-copy > a { display: inline-flex; gap: 14px; align-items: center; margin-top: 28px; padding-bottom: 6px; color: var(--green-bright); border-bottom: 1px solid rgba(168,210,27,.6); font-weight: 750; }
.context-video-frame { position: relative; z-index: 1; aspect-ratio: 16 / 9; background: #000; box-shadow: 0 30px 70px rgba(0,0,0,.38); }
.context-video-frame::before { content: ""; position: absolute; z-index: -1; inset: -13px 15px 15px -13px; border: 1px solid rgba(168,210,27,.68); transform: rotate(-.75deg); pointer-events: none; }
.context-video-frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.context-video-article { margin-top: clamp(54px, 6vw, 88px); margin-bottom: clamp(54px, 6vw, 88px); }

/* Relacionados del blog: la misma fórmula visual que el archivo, no una tarjeta genérica. */
.related-blog-content { padding-top: clamp(66px, 7vw, 106px); padding-bottom: clamp(78px, 8vw, 124px); background: #efede7; }
.related-blog-content .related-heading { display: grid; grid-template-columns: minmax(0, .72fr) minmax(320px, 1.28fr); align-items: end; gap: 34px; margin-bottom: clamp(38px, 5vw, 68px); }
.related-blog-content .related-heading h2 { max-width: 760px; margin: 0; font-size: clamp(2.25rem, 4vw, 4.8rem); line-height: .96; letter-spacing: -.055em; }
.related-blog-grid { gap: clamp(34px, 4vw, 60px) clamp(20px, 2.4vw, 38px); }
.related-blog-grid .blog-archive-card.is-shifted { margin-top: 42px; }

/* Ritmo editorial para artículos: titulares anclados, lectura medida e imágenes enmarcadas. */
.article-page:not(.testimonial-page) .article-content { counter-reset: article-section; }
.article-page:not(.testimonial-page) .article-content > h2 {
  counter-increment: article-section;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 22px;
  align-items: baseline;
  max-width: 980px;
  margin-top: clamp(68px, 8vw, 116px);
  padding-top: 22px;
  border-top: 1px solid rgba(22,24,18,.22);
  font-size: clamp(2rem, 3.5vw, 4rem);
  line-height: .98;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.article-page:not(.testimonial-page) .article-content > h2::before { content: counter(article-section, decimal-leading-zero); color: var(--green-dark); font-size: .72rem; font-weight: 750; letter-spacing: .08em; }
.article-page:not(.testimonial-page) .article-content > h3 { max-width: 800px; margin-top: clamp(44px, 5vw, 72px); font-size: clamp(1.45rem, 2.3vw, 2.45rem); line-height: 1.05; letter-spacing: -.035em; }
.article-page:not(.testimonial-page) .article-content > p,
.article-page:not(.testimonial-page) .article-content > ul,
.article-page:not(.testimonial-page) .article-content > ol { max-width: 820px; }
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p,
.article-page:not(.testimonial-page) .article-content > div:not([class]) > ul,
.article-page:not(.testimonial-page) .article-content > div:not([class]) > ol { max-width: 820px; }
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p:first-of-type {
  max-width: 980px;
  margin: clamp(42px, 5vw, 70px) 0;
  padding: clamp(28px, 4vw, 52px);
  color: #34362f;
  background: #e8eadf;
  border-left: 2px solid var(--green);
  column-count: 2;
  column-gap: clamp(32px, 5vw, 66px);
  column-rule: 1px solid rgba(22,24,18,.13);
  font-size: clamp(1.02rem, 1.18vw, 1.16rem);
  line-height: 1.75;
}
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p.legacy-longform {
  max-width: 980px;
  margin: clamp(42px, 5vw, 72px) 0;
  padding: clamp(28px, 4vw, 48px);
  background: #f0eee8;
  border-top: 1px solid rgba(74,91,39,.34);
  column-count: 2;
  column-gap: clamp(32px, 5vw, 66px);
  column-rule: 1px solid rgba(22,24,18,.12);
  line-height: 1.75;
}
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p:has(> strong:first-child):not(.legacy-longform) {
  margin-top: clamp(34px, 4vw, 58px);
  color: #1c1e19;
  font-size: clamp(1.08rem, 1.35vw, 1.32rem);
  line-height: 1.48;
}
.article-page:not(.testimonial-page) .article-content > div:not([class]) > h2 {
  max-width: 980px;
  margin: clamp(70px, 8vw, 116px) 0 28px;
  padding: 22px 0 0 70px;
  border-top: 1px solid rgba(22,24,18,.22);
  font-size: clamp(2rem, 3.5vw, 4rem);
  line-height: .98;
  letter-spacing: -.05em;
  text-wrap: balance;
}
.article-page:not(.testimonial-page) .article-content > div:not([class]) > h3 {
  max-width: 850px;
  margin: clamp(50px, 6vw, 82px) 0 22px;
  padding-top: 18px;
  border-top: 1px solid rgba(22,24,18,.18);
  font-size: clamp(1.55rem, 2.35vw, 2.55rem);
  line-height: 1.03;
  letter-spacing: -.04em;
  text-wrap: balance;
}
.article-page:not(.testimonial-page) .article-content .wp-block-columns {
  display: grid;
  grid-template-columns: minmax(260px, .82fr) minmax(0, 1.18fr);
  gap: clamp(32px, 6vw, 78px);
  align-items: center;
  max-width: 980px;
  margin: clamp(54px, 7vw, 96px) 0;
}
.article-page:not(.testimonial-page) .article-content .wp-block-column { min-width: 0; }
.article-page:not(.testimonial-page) .article-content > blockquote { max-width: 980px; margin: clamp(58px, 7vw, 96px) 0; padding: clamp(30px, 4vw, 54px) clamp(34px, 5vw, 72px); background: #e8edd9; border: 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.4rem, 2.4vw, 2.65rem); line-height: 1.28; }
.article-page:not(.testimonial-page) .article-content figure:has(> img),
.article-page:not(.testimonial-page) .article-content .elementor-widget-image {
  position: relative;
  isolation: isolate;
  overflow: visible;
  padding: clamp(10px, 1.4vw, 18px);
  background: #e6e3db;
  box-shadow: 0 24px 58px rgba(60,52,43,.12);
}
.article-page:not(.testimonial-page) .article-content figure:has(> img)::before,
.article-page:not(.testimonial-page) .article-content .elementor-widget-image::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -9px 11px 10px -10px;
  border: 1px solid rgba(74,91,39,.38);
  transform: rotate(-.55deg);
  pointer-events: none;
}
.article-page:not(.testimonial-page) .article-content figure:nth-of-type(even):has(> img)::before,
.article-page:not(.testimonial-page) .article-content .elementor-widget-image:nth-of-type(even)::before { inset: -8px -10px 11px 10px; transform: rotate(.7deg); }

/* El texto completo heredado se recompone como revista: capítulos, columnas y pausas visuales. */
.integrated-article-body .legacy-section-longform {
  width: min(100%, 1160px);
  margin-right: auto !important;
  margin-left: auto !important;
  padding: clamp(42px, 6vw, 84px) clamp(28px, 6vw, 92px) !important;
  background: rgba(255,255,255,.58);
  box-shadow: 0 28px 76px rgba(58,50,40,.08);
}
.integrated-article-body .legacy-section-longform .elementor-widget-heading,
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor { width: min(100%, 980px); }
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor > div {
  column-count: 2;
  column-gap: clamp(34px, 5vw, 72px);
  column-rule: 1px solid rgba(22,24,18,.12);
}
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor h2,
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor h3 { column-span: all; }
.integrated-article-body .legacy-section-longform h2,
.integrated-article-body .legacy-section-longform h3,
.integrated-article-body .legacy-section-text h2,
.integrated-article-body .legacy-section-text h3 {
  margin: clamp(42px, 5vw, 68px) 0 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(74,91,39,.34);
  font-size: clamp(1.65rem, 2.7vw, 3.2rem);
  line-height: 1;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.integrated-article-body .legacy-section-longform h3,
.integrated-article-body .legacy-section-text h3 { font-size: clamp(1.28rem, 1.8vw, 2rem); }
.integrated-article-body .legacy-section-longform p,
.integrated-article-body .legacy-section-text p { color: #3f403b; font-size: clamp(.99rem, 1.04vw, 1.08rem); line-height: 1.76; text-align: left !important; }
.integrated-article-body .legacy-section-longform p { break-inside: avoid-column; }
.integrated-article-body .legacy-section-text {
  width: min(100%, 1120px) !important;
  margin: clamp(30px, 5vw, 74px) auto !important;
  padding: clamp(32px, 5vw, 68px) !important;
  background: rgba(255,255,255,.44);
  border-top: 1px solid rgba(22,24,18,.13);
  border-bottom: 1px solid rgba(22,24,18,.13);
}
.integrated-article-body .legacy-section-text:nth-of-type(even) { width: min(94%, 1040px) !important; margin-left: 0 !important; background: #e7eadb; }
.integrated-article-body .legacy-section-text:nth-of-type(odd) { margin-right: 0 !important; }
.integrated-article-body .legacy-section-text > .elementor-container {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(360px, 100%), 1fr));
  gap: clamp(30px, 5vw, 74px);
}
.integrated-article-body .legacy-section-gallery {
  position: relative;
  width: min(100%, 1160px) !important;
  margin: clamp(54px, 7vw, 98px) auto !important;
  padding: clamp(22px, 3vw, 38px) !important;
  background: #e4e0d6;
  box-shadow: 0 28px 70px rgba(64,55,43,.11);
}
.integrated-article-body .legacy-section-gallery::before { content: ""; position: absolute; inset: -12px 14px 13px -13px; border: 1px solid rgba(74,91,39,.36); transform: rotate(-.4deg); pointer-events: none; }
.integrated-article-body .legacy-section-gallery .elementor-widget-image { position: relative; overflow: hidden; background: #d7d3c8; }
.integrated-article-body .legacy-section-gallery .elementor-widget-image img { transition: transform .5s cubic-bezier(.2,.72,.2,1); }
.integrated-article-body .legacy-section-gallery .elementor-widget-image:hover img { transform: scale(1.018); }
.integrated-article-studio .legacy-section-longform h2,
.integrated-article-studio .legacy-section-longform h3,
.integrated-article-studio .legacy-section-text h2,
.integrated-article-studio .legacy-section-text h3 { border-top-color: rgba(184,0,92,.38); }
.integrated-article-studio .legacy-section-text:nth-of-type(even) { background: #f2dfe8; }
.integrated-article-studio .legacy-section-gallery::before { border-color: rgba(225,0,113,.38); }

/*
 * Armonía editorial: la lectura continua es el patrón base. Las columnas
 * quedan reservadas para comparaciones breves y nunca se anidan entre sí.
 */
.content-page:not(.legal-page) .legacy-content p.legacy-longform,
.studio-content-page .legacy-content p.legacy-longform,
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p:first-of-type,
.article-page:not(.testimonial-page) .article-content > div:not([class]) > p.legacy-longform,
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor > div {
  column-count: 1;
  column-rule: 0;
}
.content-page:not(.legal-page) .legacy-content p.legacy-longform,
.studio-content-page .legacy-content p.legacy-longform {
  width: min(100%, 860px) !important;
}
.integrated-article-body .legacy-section-longform .elementor-widget-text-editor {
  width: min(100%, 860px);
  margin-right: auto;
  margin-left: auto;
}
.integrated-article-body .legacy-section-longform p { break-inside: auto; }

/* Panel ancho: comparte los ejes de la cabecera sin ensanchar la línea de lectura. */
.integrated-article-body .legacy-section-text.editorial-panel-wide,
.integrated-article-body .legacy-section-text.editorial-panel-wide:nth-of-type(even),
.integrated-article-body .legacy-section-text.editorial-panel-wide:nth-of-type(odd) {
  position: relative;
  width: min(100%, var(--container)) !important;
  margin: clamp(34px, 5vw, 76px) auto !important;
  padding: clamp(44px, 5vw, 76px) clamp(38px, 6vw, 88px) clamp(50px, 6vw, 86px) !important;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 14%, rgba(225, 0, 113, .12), transparent 30%),
    linear-gradient(112deg, #f2dfe8 0%, #f5e8ee 58%, #eee8e7 100%);
  border-top: 1px solid rgba(184, 0, 92, .24);
  border-bottom: 1px solid rgba(184, 0, 92, .2);
}
.integrated-article-body .legacy-section-text.editorial-panel-wide::after {
  content: "01";
  position: absolute;
  right: clamp(24px, 4vw, 62px);
  bottom: -0.22em;
  color: rgba(184, 0, 92, .065);
  font-size: clamp(7rem, 16vw, 14rem);
  font-weight: 780;
  line-height: .8;
  letter-spacing: -.08em;
  pointer-events: none;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide > .elementor-container {
  position: relative;
  z-index: 1;
  display: block !important;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div {
  display: grid;
  grid-template-columns: minmax(150px, 210px) minmax(0, 860px);
  gap: clamp(34px, 5vw, 76px);
  align-items: start;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p {
  margin: 0;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:empty,
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:has(> br:only-child) {
  display: none;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:first-child {
  grid-column: 1;
  padding-top: .42rem;
  color: #b8005c !important;
  font-size: .76rem;
  font-weight: 760;
  line-height: 1.3;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:last-child:not(:first-child) {
  grid-column: 2;
  max-width: 860px;
  color: #26231f !important;
  font-size: clamp(1.16rem, 1.45vw, 1.43rem);
  line-height: 1.58;
  text-wrap: pretty;
}

/*
 * Collage editorial adaptativo. El generador asigna cantidad y orientación
 * para que cada conjunto use una composición propia sin marcos vacíos.
 */
.legacy-content .legacy-section-gallery.editorial-collage,
.integrated-article-body .legacy-section-gallery.editorial-collage {
  --collage-accent: #86b900;
  --collage-accent-soft: rgba(134, 185, 0, .12);
  --collage-plate: #e7e5df;
  position: relative;
  isolation: isolate;
  width: min(100%, var(--container)) !important;
  margin: clamp(58px, 7vw, 104px) auto !important;
  padding: clamp(18px, 2.8vw, 38px) !important;
  overflow: visible;
  background: transparent !important;
  border-top: 0 !important;
  box-shadow: none !important;
}
.studio-content-page .legacy-section-gallery.editorial-collage,
.integrated-article-studio .legacy-section-gallery.editorial-collage {
  --collage-accent: #e10071;
  --collage-accent-soft: rgba(225, 0, 113, .11);
  --collage-plate: #eee7ea;
}
.legacy-content .legacy-section-gallery.editorial-collage::before,
.integrated-article-body .legacy-section-gallery.editorial-collage::before {
  content: "" !important;
  position: absolute;
  z-index: 0;
  left: 1.5%;
  bottom: 4%;
  width: 62%;
  height: 61%;
  border: 2px solid var(--collage-accent);
  border-radius: 18px;
  transform: none;
  pointer-events: none;
}
.legacy-content .legacy-section-gallery.editorial-collage::after {
  content: "";
  position: absolute;
  z-index: 0;
  right: 1%;
  bottom: 0;
  width: 46%;
  height: 46%;
  border-radius: 24px;
  background: linear-gradient(135deg, var(--collage-plate), var(--collage-accent-soft));
  pointer-events: none;
}
.legacy-content .legacy-section-gallery.editorial-collage > .elementor-container {
  position: relative;
  z-index: 1;
  display: block !important;
  width: min(100%, 1180px);
  margin: 0 auto;
  aspect-ratio: 16 / 9.25;
}
.legacy-content .legacy-section-gallery.editorial-collage > .elementor-container > .elementor-column {
  position: absolute !important;
  width: auto;
  min-width: 0;
}
.legacy-content .legacy-section-gallery.editorial-collage > .elementor-container > .elementor-column:has(img) {
  display: block !important;
}
.legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-wrap,
.legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-image,
.legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-image > div {
  width: 100%;
  height: 100%;
}
.legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-image {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(42, 40, 35, .16);
  border-radius: 18px;
  background: #f3f1eb;
  box-shadow: 0 22px 48px rgba(47, 42, 34, .14);
}
.legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-image::after {
  content: none;
}
.legacy-content .legacy-section-gallery.editorial-collage img.legacy-image {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  transition: transform .5s cubic-bezier(.2, .72, .2, 1);
}
.legacy-content .legacy-section-gallery.editorial-collage img.legacy-image-square.is-low-resolution {
  object-fit: contain !important;
}

/* Una imagen: presencia amplia, sin fingir una galería. */
.legacy-content .editorial-collage--single > .elementor-container { aspect-ratio: 16 / 7.4 !important; }
.legacy-content .editorial-collage--single > .elementor-container > .editorial-collage-item--1 {
  inset: 0 5%;
  z-index: 1;
}
.legacy-content .editorial-collage--single::before { left: 2%; width: 72%; height: 72%; }
.legacy-content .editorial-collage--single::after { right: 2%; width: 36%; height: 58%; }

/* Dos imágenes: una base dominante y otra pieza superpuesta. */
.legacy-content .editorial-collage--duo > .elementor-container > .editorial-collage-item--1 {
  z-index: 1;
  top: 0;
  left: 1%;
  width: 70% !important;
  height: 82%;
}
.legacy-content .editorial-collage--duo > .elementor-container > .editorial-collage-item--2 {
  z-index: 2;
  right: 1%;
  bottom: 0;
  width: 41% !important;
  height: 57%;
}
.legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-landscape) {
  z-index: 1;
  top: 0;
  right: auto;
  bottom: auto;
  left: 1%;
  width: 70% !important;
  height: 82%;
}
.legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-landscape) ~ .elementor-column:has(img),
.legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img):not(:has(img.legacy-image-landscape)) {
  z-index: 2;
  top: auto;
  right: 1%;
  bottom: 0;
  left: auto;
  width: 41% !important;
  height: 57%;
}
.legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container,
.legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container { aspect-ratio: 16 / 10 !important; }
.legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container > .editorial-collage-item--1,
.legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container > .editorial-collage-item--1 {
  left: 8%;
  width: 48% !important;
  height: 88%;
}
.legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container > .editorial-collage-item--2,
.legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container > .editorial-collage-item--2 {
  right: 8%;
  width: 45% !important;
  height: 76%;
}

/* Tres imágenes: la tercera cierra el hueco inferior y evita una fila rígida. */
.legacy-content .editorial-collage--trio > .elementor-container { aspect-ratio: 16 / 10.2 !important; }
.legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--1 {
  z-index: 1;
  top: 3%;
  left: 0;
  width: 63% !important;
  height: 64%;
}
.legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--2 {
  z-index: 3;
  top: 0;
  right: 0;
  width: 38% !important;
  height: 50%;
}
.legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--3 {
  z-index: 2;
  right: 7%;
  bottom: 0;
  width: 49% !important;
  height: 48%;
}
.legacy-content .editorial-collage--trio.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-portrait) {
  z-index: 3;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
  width: 34% !important;
  height: 82%;
}

/* Cuatro y más: mosaico compacto, con una imagen que ordena la lectura. */
.legacy-content .editorial-collage--quad > .elementor-container,
.legacy-content .editorial-collage--mosaic > .elementor-container { aspect-ratio: 16 / 10 !important; }
.legacy-content .editorial-collage--quad > .elementor-container > .editorial-collage-item--1,
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--1 {
  z-index: 1;
  top: 0;
  left: 0;
  width: 64% !important;
  height: 63%;
}
.legacy-content .editorial-collage--quad > .elementor-container > .editorial-collage-item--2,
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--2 {
  z-index: 2;
  top: 3%;
  right: 0;
  width: 35% !important;
  height: 40%;
}
.legacy-content .editorial-collage--quad > .elementor-container > .editorial-collage-item--3,
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--3 {
  z-index: 3;
  right: 5%;
  bottom: 8%;
  width: 38% !important;
  height: 42%;
}
.legacy-content .editorial-collage--quad > .elementor-container > .editorial-collage-item--4,
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--4 {
  z-index: 2;
  bottom: 0;
  left: 8%;
  width: 35% !important;
  height: 33%;
}
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--5 {
  z-index: 4;
  bottom: 0;
  left: 41%;
  width: 27% !important;
  height: 31%;
}
.legacy-content .editorial-collage--mosaic > .elementor-container { aspect-ratio: 16 / 10.7 !important; }
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--1 {
  top: 0;
  left: 0;
  width: 62% !important;
  height: 100%;
}
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--2 {
  top: 0;
  right: 0;
  width: 37% !important;
  height: 42%;
}
.legacy-content .editorial-collage--mosaic > .elementor-container > .editorial-collage-item--3 {
  right: 0;
  bottom: 0;
  width: 37% !important;
  height: 55%;
}
.legacy-content .editorial-collage--mosaic .elementor-column > .elementor-widget-wrap {
  display: grid;
  grid-auto-rows: minmax(0, 1fr);
  gap: clamp(10px, 1vw, 14px);
}
.legacy-content .editorial-collage--mosaic .elementor-background-overlay { display: none; }
.legacy-content .editorial-collage--mosaic .elementor-widget-image,
.legacy-content .editorial-collage--mosaic .elementor-widget-image > div {
  min-height: 0;
}
.legacy-content .editorial-collage--mosaic .elementor-widget-image {
  height: auto !important;
  align-self: stretch;
}

@media (max-width: 800px) {
  .article-search-brief { grid-template-columns: 1fr; gap: 36px; }
  .team-history nav { grid-template-columns: 1fr; }
  .studio-practice-intro,
  .studio-practice-focus > header,
  .studio-practice-session,
  .studio-practice-before,
  .studio-practice-faq { grid-template-columns: 1fr; gap: 28px; }
  .studio-practice-focus > div { grid-template-columns: 1fr; }
  .studio-practice-focus article { min-height: 0; }
  .studio-practice-focus h3 { margin-top: 34px; }
  .studio-practice-session > div { margin-left: 0; }
  .studio-practice-session > p { margin-right: 0; }
  .studio-practice-next > div { grid-template-columns: 1fr; }
  .integrated-article-content { padding: 58px 20px 68px; }
  .integrated-article-header { grid-template-columns: 1fr; gap: 24px; margin-bottom: 42px; }
  .integrated-article-header h2 { font-size: clamp(2.35rem, 12vw, 4rem); }
  .integrated-article-body > h2,
  .integrated-article-body > h3 { margin-top: 44px; }
  .context-video { grid-template-columns: 1fr; width: calc(100% - 32px); gap: 32px; margin: 54px auto; padding: 30px 20px 24px; }
  .context-video-copy h2 { font-size: clamp(2rem, 10vw, 3.15rem); }
  .context-video-frame::before { inset: -7px 8px 8px -7px; }
  .related-blog-content .related-heading { grid-template-columns: 1fr; gap: 16px; }
  .related-blog-grid .blog-archive-card.is-shifted { margin-top: 0; }
  .integrated-article-body .legacy-section-longform { padding: 32px 20px !important; }
  .integrated-article-body .legacy-section-longform .elementor-widget-text-editor > div { column-count: 1; column-rule: 0; }
  .integrated-article-body .legacy-section-text,
  .integrated-article-body .legacy-section-text:nth-of-type(even),
  .integrated-article-body .legacy-section-text:nth-of-type(odd) { width: 100% !important; margin: 28px 0 !important; padding: 28px 20px !important; }
  .integrated-article-body .legacy-section-gallery { width: 100% !important; padding: 14px !important; }
  .article-page:not(.testimonial-page) .article-content > h2 { grid-template-columns: 34px minmax(0, 1fr); gap: 12px; font-size: clamp(1.72rem, 8.4vw, 2.65rem); }
  .article-page:not(.testimonial-page) .article-content > div:not([class]) > p:first-of-type,
  .article-page:not(.testimonial-page) .article-content > div:not([class]) > p.legacy-longform { padding: 24px 20px; column-count: 1; column-rule: 0; }
  .article-page:not(.testimonial-page) .article-content > div:not([class]) > h2 { padding-left: 0; font-size: clamp(1.72rem, 8.4vw, 2.65rem); }
  .article-page:not(.testimonial-page) .article-content .wp-block-columns { grid-template-columns: 1fr; gap: 26px; }
  .article-page:not(.testimonial-page) .article-content figure:has(> img)::before,
  .article-page:not(.testimonial-page) .article-content .elementor-widget-image::before { inset: -5px 6px 7px -6px; }
  .article-page:not(.testimonial-page) .legacy-media-row {
    grid-template-columns: 1fr;
    gap: 22px;
    align-items: start;
  }
  .integrated-article-body .legacy-section-text.editorial-panel-wide,
  .integrated-article-body .legacy-section-text.editorial-panel-wide:nth-of-type(even),
  .integrated-article-body .legacy-section-text.editorial-panel-wide:nth-of-type(odd) {
    padding: 32px 22px 38px !important;
  }
  .integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:first-child,
  .integrated-article-body .legacy-section-text.editorial-panel-wide .elementor-widget-text-editor > div > p:last-child:not(:first-child) {
    grid-column: 1;
  }
  .integrated-article-body .legacy-section-text.editorial-panel-wide::after {
    right: 8px;
    bottom: -0.12em;
    font-size: 8rem;
  }
  .legacy-content .legacy-section-gallery.editorial-collage,
  .integrated-article-body .legacy-section-gallery.editorial-collage {
    margin: 44px auto 58px !important;
    padding: 10px 0 18px !important;
  }
  .legacy-content .legacy-section-gallery.editorial-collage::before,
  .integrated-article-body .legacy-section-gallery.editorial-collage::before {
    left: -4px;
    bottom: 4%;
    width: 70%;
    height: 58%;
    border-radius: 14px;
  }
  .legacy-content .legacy-section-gallery.editorial-collage::after {
    right: -4px;
    width: 52%;
    height: 42%;
    border-radius: 18px;
  }
  .legacy-content .legacy-section-gallery.editorial-collage > .elementor-container {
    width: 100%;
  }
  .legacy-content .legacy-section-gallery.editorial-collage .elementor-widget-image {
    border-radius: 14px;
  }
  .legacy-content .editorial-collage--single > .elementor-container { aspect-ratio: 4 / 2.9 !important; }
  .legacy-content .editorial-collage--single > .elementor-container > .editorial-collage-item--1 { inset: 0 3%; }
  .legacy-content .editorial-collage--duo > .elementor-container,
  .legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container,
  .legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container { aspect-ratio: 4 / 4.05 !important; }
  .legacy-content .editorial-collage--duo > .elementor-container > .editorial-collage-item--1,
  .legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-landscape) {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 86% !important;
    height: 65%;
  }
  .legacy-content .editorial-collage--duo > .elementor-container > .editorial-collage-item--2,
  .legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-landscape) ~ .elementor-column:has(img),
  .legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img):not(:has(img.legacy-image-landscape)) {
    top: auto;
    right: 0;
    bottom: 0;
    left: auto;
    width: 62% !important;
    height: 48%;
  }
  .legacy-content .editorial-collage--duo.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-landscape) {
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
    width: 86% !important;
    height: 65%;
  }
  .legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container > .editorial-collage-item--1,
  .legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container > .editorial-collage-item--1 {
    left: 2%;
    width: 67% !important;
    height: 72%;
  }
  .legacy-content .editorial-collage--duo.editorial-collage--portrait > .elementor-container > .editorial-collage-item--2,
  .legacy-content .editorial-collage--duo.editorial-collage--square > .elementor-container > .editorial-collage-item--2 {
    right: 2%;
    width: 60% !important;
    height: 64%;
  }
  .legacy-content .editorial-collage--trio > .elementor-container { aspect-ratio: 4 / 5.1 !important; }
  .legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--1 {
    top: 0;
    left: 0;
    width: 82% !important;
    height: 45%;
  }
  .legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--2,
  .legacy-content .editorial-collage--trio.editorial-collage--mixed > .elementor-container > .elementor-column:has(img.legacy-image-portrait) {
    top: 29%;
    right: 0;
    width: 58% !important;
    height: 42%;
  }
  .legacy-content .editorial-collage--trio > .elementor-container > .editorial-collage-item--3 {
    right: auto;
    bottom: 0;
    left: 4%;
    width: 72% !important;
    height: 36%;
  }
  .legacy-content .legacy-section-gallery.editorial-collage.editorial-collage--quad > .elementor-container,
  .legacy-content .legacy-section-gallery.editorial-collage.editorial-collage--mosaic > .elementor-container {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    aspect-ratio: auto !important;
  }
  .legacy-content .legacy-section-gallery.editorial-collage.editorial-collage--quad > .elementor-container > .elementor-column,
  .legacy-content .legacy-section-gallery.editorial-collage.editorial-collage--mosaic > .elementor-container > .elementor-column {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
  }
  .legacy-content .editorial-collage--quad > .elementor-container > .elementor-column:first-child,
  .legacy-content .editorial-collage--mosaic > .elementor-container > .elementor-column:first-child {
    grid-column: 1 / -1;
  }
  .legacy-content .editorial-collage--quad .elementor-widget-image,
  .legacy-content .editorial-collage--mosaic .elementor-widget-image { aspect-ratio: 4 / 3; }
  .legacy-content .editorial-collage--mosaic .elementor-column > .elementor-widget-wrap {
    height: auto;
    gap: 12px;
  }
}
