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

:root {
  --brand-primary: #8c6239;
  --brand-accent: #d4a74a;
  --brand-secondary: #948d80;
  --brand-background: #f8f7f5;
  --brand-surface: #866a55;
  --brand-surface-deep: #6f5b4b;
  --area-warm: #916d52;
  --area-brown: #79685b;
  --porcelain: var(--brand-background);
  --ivory: #fffefd;
  --mist: #eeeae5;
  --stone: #ddd7d0;
  --graphite: #4b3b32;
  --charcoal: #2e2722;
  --gold: var(--brand-primary);
  --gold-light: var(--brand-accent);
  --text-primary: var(--brand-primary);
  --text-accent: var(--text-primary);
  --on-dark: #fff;
  --line: rgba(140, 98, 57, .2);
  --light-line: rgba(248, 247, 245, .28);
  --font-brand: "Tenor Sans", "Century Gothic", sans-serif;
  --font-display: var(--font-brand);
  --font-body: var(--font-brand);
  --type-title: clamp(2.15rem, 3.3vw, 3.35rem);
  --type-section-title: clamp(1.95rem, 3vw, 3rem);
  --type-subtitle: clamp(1.55rem, 2vw, 2rem);
  --type-body: 1rem;
  --line-title: 1.12;
  --line-body: 1.75;
  --ease-out: cubic-bezier(.2, .75, .2, 1);
  --wrap: min(1180px, calc(100% - 96px));
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--brand-background);
  color: var(--text-primary);
  font-family: var(--font-body);
  font-size: var(--type-body);
  font-weight: 400;
  line-height: var(--line-body);
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }

.wrap { width: var(--wrap); margin-inline: auto; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--text-primary);
  font-family: var(--font-brand);
  font-size: .67rem;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.eyebrow::before { content: ""; width: 24px; height: 1px; background: var(--brand-secondary); }
h1, h2, h3, h4 {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--font-brand);
  font-weight: 400;
  line-height: var(--line-title);
}
p { margin-top: 0; }
.display-title, .section-title, .final-cta h2 { letter-spacing: .01em; line-height: var(--line-title); }
.display-title { font-size: var(--type-title); }
.section-title, .final-cta h2 { font-size: var(--type-section-title); }
.section-title, .final-cta h2 { max-width: 860px; text-transform: uppercase; }
.eyebrow + .section-title { margin-top: 26px; }
.section-lead { max-width: 700px; margin: 24px 0 0; font: inherit; }
.body-copy { max-width: 680px; font-size: var(--type-body); line-height: var(--line-body); }
.section { padding: 112px 0; }
.home main > section + section { margin-top: clamp(64px, 7vw, 100px); }
.section--ivory { background: var(--ivory); }
.section--mist { background: var(--mist); }
.section--stone { background: var(--stone); }
.section--dark { background: var(--brand-surface); color: var(--on-dark); }
.section--dark h2, .section--dark h3 { color: var(--on-dark); }
.section--dark .eyebrow { color: var(--on-dark); }
.section--dark .section-title { max-width: 780px; font-size: var(--type-section-title); }
.section--green { background: var(--brand-surface-deep); color: var(--on-dark); }
.section--green h2, .section--green h3 { color: var(--on-dark); }
.section--green .eyebrow { color: var(--on-dark); }

.site-header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 900;
  height: 82px;
  background: rgba(248,247,245,.94);
  border-bottom: 1px solid var(--line);
  backdrop-filter: blur(18px);
}
.site-header--hero {
  position: absolute;
  background: transparent;
  border-bottom-color: rgba(248,247,245,.32);
  color: var(--on-dark);
  backdrop-filter: none;
}
.site-header--hero .nav-links a::after { background: var(--brand-accent); }
.site-header--hero .nav-contact { border-color: rgba(248,247,245,.7); color: var(--on-dark); }
.site-header--hero .burger span { background: var(--on-dark); }
.nav-row {
  width: min(1400px, calc(100% - 72px));
  height: 100%;
  margin-inline: auto;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 40px;
}
.logo { display: inline-flex; align-items: center; text-decoration: none; }
.brand-logo { display: block; width: auto; object-fit: contain; }
.brand-logo--header { height: 46px; max-width: 190px; }
.brand-logo--footer { height: 72px; max-width: min(320px, 78vw); }
.nav-links { display: flex; justify-content: center; align-items: center; gap: clamp(18px, 2vw, 34px); }
.nav-links a, .nav-contact {
  position: relative;
  text-decoration: none;
  font-size: .68rem;
  font-weight: 400;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
}
.nav-links a::after { content: ""; position: absolute; inset: auto 50% -9px; height: 1px; background: var(--gold); transition: inset .25s; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { inset-inline: 0; }
.nav-contact { padding: 11px 17px; border: 1px solid var(--gold); color: var(--text-accent); }
.burger { display: none; width: 44px; height: 44px; padding: 11px; border: 0; background: transparent; cursor: pointer; }
.burger span { display: block; width: 100%; height: 1px; margin: 6px 0; background: var(--charcoal); transition: transform .25s, opacity .25s; }
.site-header.is-revealing .logo { animation: header-logo-reveal .72s .06s cubic-bezier(.2,.75,.2,1) both; will-change: transform, opacity; }
.site-header.is-revealing .nav-links a { animation: header-link-reveal .62s cubic-bezier(.2,.75,.2,1) both; will-change: transform, opacity, clip-path; }
.site-header.is-revealing .nav-links a:nth-child(1) { animation-delay: .18s; }
.site-header.is-revealing .nav-links a:nth-child(2) { animation-delay: .25s; }
.site-header.is-revealing .nav-links a:nth-child(3) { animation-delay: .32s; }
.site-header.is-revealing .nav-links a:nth-child(4) { animation-delay: .39s; }
.site-header.is-revealing .nav-links a:nth-child(5) { animation-delay: .46s; }
.site-header.is-revealing .nav-contact { animation: header-link-reveal .64s .54s cubic-bezier(.2,.75,.2,1) both; will-change: transform, opacity, clip-path; }
.site-header.is-revealing .burger { animation: header-link-reveal .64s .24s cubic-bezier(.2,.75,.2,1) both; will-change: transform, opacity, clip-path; }
.overlay { position: fixed; inset: 0; z-index: 920; pointer-events: none; opacity: 0; background: rgba(25,24,22,.45); transition: opacity .3s; }
.drawer { position: fixed; inset: 0 0 0 auto; z-index: 930; width: min(430px, 88vw); padding: 100px 40px 40px; transform: translateX(100%); background: var(--porcelain); transition: transform .35s ease; }
.drawer-links { display: grid; }
.drawer-links a { padding: 16px 0; border-bottom: 1px solid var(--line); font-family: var(--font-display); font-size: 1.65rem; text-decoration: none; }
.drawer-note { margin-top: 36px; color: var(--text-accent); font-size: .67rem; letter-spacing: .15em; text-transform: uppercase; }
.menu-open .drawer { transform: translateX(0); }
.menu-open .overlay { opacity: 1; pointer-events: auto; }
.menu-open .burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-open .burger span:nth-child(2) { opacity: 0; }
.menu-open .burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero {
  --hero-content-y: 0px;
  --hero-content-opacity: 1;
  --hero-media-scale: 1;
  --hero-orbit-y: 0px;
  --hero-orbit-turn: 0deg;
  position: relative;
  min-height: 100svh;
  padding-top: 82px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--brand-surface-deep);
  color: var(--brand-background);
}
.hero-media, .hero-media > div, .hero-media img, .hero-shade { position: absolute; inset: 0; height: 100%; }
.hero-media { width: 100%; transform: scale(var(--hero-media-scale)); transform-origin: center; will-change: transform; }
.hero-slide { opacity: 0; transition: opacity 1s ease; }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { object-fit: cover; filter: saturate(.88) contrast(.98); }
.hero-slide:nth-child(3) img { object-position: center 48%; }
.hero-slide:nth-child(4) img { object-position: center 54%; }
.hero-shade { z-index: 1; width: 100%; background: linear-gradient(90deg, rgba(60,52,46,.76), rgba(60,52,46,.38) 62%, rgba(60,52,46,.12)); }
.hero-content { position: absolute; z-index: 2; left: 50%; bottom: 0; width: var(--wrap); margin: 0; padding: 78px 0 38px; transform: translate3d(-50%, var(--hero-content-y), 0); opacity: var(--hero-content-opacity); will-change: transform, opacity; }
.hero .eyebrow { color: var(--on-dark); }
.hero h1 { max-width: 980px; color: var(--on-dark); }
.hero-content > .eyebrow { animation: hero-copy-reveal .78s cubic-bezier(.2,.75,.2,1) both; }
.hero-content > .hero-actions { opacity: 0; animation: hero-copy-reveal .85s .28s cubic-bezier(.2,.75,.2,1) both; }
.hero-brand { display: block; margin-bottom: 26px; font-family: var(--font-brand); font-size: clamp(.8rem, 1.25vw, 1rem); font-style: normal; letter-spacing: .24em; }
.hero-promise { display: block; }
.hero-subtitle { margin: 26px 0 0; font: inherit; }
.hero-orbit { position: absolute; z-index: 2; right: 7vw; top: 50%; width: min(31vw, 430px); transform: translateY(calc(-44% + var(--hero-orbit-y))) rotate(var(--hero-orbit-turn)); opacity: .28; will-change: transform; }
@keyframes hero-copy-reveal {
  from { opacity: 0; transform: translate3d(0, 34px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes header-logo-reveal {
  from { opacity: 0; transform: translate3d(-24px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
@keyframes header-link-reveal {
  from { opacity: 0; clip-path: inset(0 100% 0 0); transform: translate3d(-18px, 0, 0); }
  to { opacity: 1; clip-path: inset(0 0 0 0); transform: translate3d(0, 0, 0); }
}
.page-orbit { position: absolute; z-index: 1; right: 8vw; top: 50%; width: min(28vw, 380px); transform: translateY(-35%); opacity: .34; }
.page-hero--image .page-orbit { border-color: rgba(248,247,245,.48); }
.page-hero--image .page-orbit::after { border-color: var(--brand-accent); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }


.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border: 1px solid var(--gold); color: var(--text-accent); text-decoration: none; font-size: .68rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; transition: background .25s, color .25s; }
.btn:hover, .btn--filled { background: var(--gold); color: var(--porcelain); }
.hero .btn { border-color: var(--gold-light); color: var(--porcelain); }
.hero .btn:hover { background: var(--gold-light); color: var(--charcoal); }
.text-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 20px; color: var(--text-accent); text-decoration: none; font-size: .68rem; letter-spacing: .15em; text-transform: uppercase; }
.text-link::after { content: "→"; font-size: 1rem; transition: transform .2s; }
.text-link:hover::after { transform: translateX(5px); }
.whatsapp-float { position: fixed; right: 24px; bottom: 24px; z-index: 800; display: inline-flex; align-items: center; gap: 11px; min-height: 58px; padding: 0 22px 0 13px; border: 1px solid var(--brand-accent); border-radius: 999px; background: var(--brand-primary); box-shadow: 0 14px 32px rgba(46,39,34,.26), 0 0 0 5px rgba(255,254,253,.74); color: var(--on-dark); font-size: .69rem; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: background .25s, transform .25s, box-shadow .25s; }
.whatsapp-float:hover { background: var(--brand-surface); box-shadow: 0 18px 36px rgba(46,39,34,.3), 0 0 0 6px rgba(212,167,74,.2); transform: translateY(-3px); }
.whatsapp-float-symbol { width: 31px; height: 31px; padding: 5px; border: 1px solid rgba(255,254,253,.78); border-radius: 50%; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }

.brand-orbit {
  position: relative;
  width: clamp(190px, 26vw, 380px);
  aspect-ratio: 1;
  border: 1px solid rgba(212,167,74,.72);
  border-radius: 50%;
  pointer-events: none;
}
.brand-orbit::after {
  content: "";
  position: absolute;
  inset: 22%;
  border: clamp(5px, .75vw, 10px) solid var(--brand-primary);
  border-radius: 50%;
}
.brand-orbit--inner::after { inset: 19%; border-width: clamp(8px, 1vw, 13px); }
.brand-orbit--outer { border-width: clamp(5px, .75vw, 10px); border-color: var(--brand-primary); }
.brand-orbit--outer::after { border-width: 1px; border-color: var(--brand-accent); }
.brand-concept { display: flex; justify-content: center; align-items: center; min-height: 420px; }
.section--green .brand-pillars { display: flex; flex-wrap: wrap; gap: 14px 30px; margin-top: 38px; color: var(--on-dark); font-family: var(--font-brand); font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; }

.manifesto-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 9vw; align-items: start; }
.manifesto-copy p { font: inherit; }
.manifesto-copy p + p { margin-top: 28px; }
.section--origin-home { padding-bottom: 0; overflow: hidden; }
.section--origin-home .wrap { width: calc(100% - 48px); margin-right: 0; margin-left: 48px; }
.manifesto-grid--home { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 0; align-items: stretch; background: transparent; }
.manifesto-grid--home .manifesto-image { position: relative; order: 2; height: 560px; min-height: 0; overflow: hidden; background: var(--ivory); }
.manifesto-grid--home .manifesto-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ivory) 0%, rgba(248,247,245,.82) 12%, rgba(248,247,245,0) 40%); pointer-events: none; }
.manifesto-grid--home .manifesto-image img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.82) contrast(.98); }
.origin-reveal .manifesto-image img { object-position: center 28%; }
.manifesto-grid--home .manifesto-copy { order: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 clamp(42px, 6vw, 110px) 0 0; background: transparent; }
.manifesto-grid--home .section-title { margin-top: 22px; }
.manifesto-grid--home .manifesto-copy > p:first-of-type { margin-top: 30px; }
.origin-reveal .manifesto-copy strong { font-weight: 700; }
.has-scroll-reveals .origin-reveal .manifesto-copy > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .origin-reveal .manifesto-image { opacity: 0; clip-path: inset(0 0 0 100%); transform: translate3d(24px, 0, 0); transition: opacity .7s ease, clip-path .95s cubic-bezier(.2,.75,.2,1), transform .95s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity, clip-path; }
.has-scroll-reveals .origin-reveal.is-revealed .manifesto-copy > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .origin-reveal.is-revealed .manifesto-image { opacity: 1; clip-path: inset(0 0 0 0); transform: translate3d(0, 0, 0); }
.has-scroll-reveals .origin-reveal .eyebrow { transition-delay: .06s; }
.has-scroll-reveals .origin-reveal .section-title { transition-delay: .14s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(1) { transition-delay: .23s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(2) { transition-delay: .32s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(3) { transition-delay: .41s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(4) { transition-delay: .5s; }

.section--areas { padding-block: clamp(52px, 6vw, 76px); background: var(--mist); }
.area-section-heading { max-width: 640px; }
.section--areas .section-title { max-width: 640px; font-size: clamp(1.5rem, 2.1vw, 2.15rem); }
.section--areas .section-title > span { display: block; }
.section--areas .section-title > span + span { margin-top: .1em; }
.section--areas .section-lead { max-width: 620px; margin-top: 18px; font-size: .94rem; line-height: 1.62; }
.area-origin-statement { margin: 22px 0 0; color: var(--text-primary); font-family: var(--font-brand); font-size: clamp(.78rem, .9vw, .92rem); letter-spacing: .1em; text-transform: uppercase; }
.area-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(22px, 3vw, 36px); margin-top: clamp(32px, 3vw, 40px); align-items: stretch; }
.area-panel { min-height: 0; padding: 0; display: flex; flex-direction: column; color: var(--text-primary); }
.section--areas .area-panel-media { position: relative; height: clamp(240px, 21vw, 300px); overflow: hidden; background: var(--mist); }
.area-panel-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; }
.area-panel-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) contrast(.97); }
.area-panel-body { min-height: 220px; padding: 30px 0 0; display: flex; flex-direction: column; color: var(--text-primary); }
.area-panel--longevity { background: var(--area-brown); color: var(--on-dark); }
.area-panel--longevity .area-panel-media::after { background: linear-gradient(180deg, rgba(121,104,91,0) 48%, var(--area-brown) 100%); }
.area-panel--longevity .area-panel-media img { filter: saturate(.48) sepia(.16) contrast(.9); }
.area-panel--longevity .area-panel-media img { object-position: center 43%; }
.area-panel--longevity .area-panel-body { padding: 22px 28px 26px; color: var(--on-dark); }
.area-panel--regenerative { background: var(--area-brown); color: var(--on-dark); }
.area-panel--regenerative .area-panel-media::after { background: linear-gradient(180deg, rgba(121,104,91,0) 48%, var(--area-brown) 100%); }
.area-panel--regenerative .area-panel-media img { filter: saturate(.48) sepia(.16) contrast(.9); }
.area-panel--regenerative .area-panel-media img { object-position: center 42%; }
.area-panel--regenerative .area-panel-body { padding: 22px 28px 26px; color: var(--on-dark); }
.section--dark .area-number { margin-bottom: 62px; color: var(--on-dark); font-family: var(--font-brand); font-size: .68rem; letter-spacing: .2em; }
.section--areas .area-number { margin-bottom: 16px; color: currentColor; font-family: var(--font-brand); font-size: .62rem; letter-spacing: .2em; }
.area-panel h3 { max-width: 500px; font-size: var(--type-subtitle); line-height: var(--line-title); }
.section--areas .area-panel h3 { font-size: clamp(1.38rem, 1.7vw, 1.8rem); }
.area-panel h3 { min-height: calc(2 * 1.12em); }
.section--areas .area-panel--longevity h3 { color: var(--on-dark); }
.section--areas .area-panel--regenerative h3 { color: var(--on-dark); }
.section--areas .area-panel-body p { max-width: 520px; margin: 0; font-size: .9rem; line-height: 1.58; }
.area-panel-body > p + p { margin-top: 14px; }
.section--areas .area-panel-claim { margin-top: 16px !important; font-family: var(--font-brand); font-size: clamp(.96rem, 1.12vw, 1.08rem); line-height: 1.3; }
.section--areas .area-panel-outcome { font-size: .94rem; }
.area-panel-outcome { font-weight: 700; }
.area-section-closing { display: grid; grid-template-columns: minmax(140px, .5fr) minmax(0, 1.5fr); gap: clamp(24px, 4vw, 56px); margin-top: clamp(40px, 5vw, 58px); padding-top: clamp(24px, 3vw, 32px); border-top: 1px solid rgba(140,98,57,.32); }
.area-section-closing .eyebrow { align-self: start; margin-top: .35em; }
.area-section-closing-copy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; max-width: 780px; }
.area-section-closing-copy p { margin: 0; font-size: clamp(.84rem, .96vw, .92rem); line-height: 1.55; }
.area-section-closing-copy p:first-child { grid-column: 1 / -1; font-family: var(--font-brand); font-size: clamp(1rem, 1.24vw, 1.16rem); line-height: 1.34; }
.has-scroll-reveals .area-closing-reveal > .eyebrow, .has-scroll-reveals .area-closing-reveal .area-section-closing-copy > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .area-closing-reveal.is-revealed > .eyebrow, .has-scroll-reveals .area-closing-reveal.is-revealed .area-section-closing-copy > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .area-closing-reveal .eyebrow { transition-delay: .06s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(2) { transition-delay: .26s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(3) { transition-delay: .36s; }
.has-scroll-reveals .areas-reveal .area-section-heading > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .areas-reveal.is-revealed .area-section-heading > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .areas-reveal .eyebrow { transition-delay: .06s; }
.has-scroll-reveals .areas-reveal .section-title { transition-delay: .14s; }
.has-scroll-reveals .areas-reveal .section-lead { transition-delay: .24s; }
.has-scroll-reveals .areas-reveal .area-origin-statement { transition-delay: .34s; }
.has-scroll-reveals .area-reveal .area-panel-media { opacity: 0; transform: translate3d(24px, 0, 0); transition: opacity .7s ease, transform .9s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .area-reveal .area-panel-body > * { opacity: 0; transform: translate3d(42px, 0, 0); transition: opacity .65s ease, transform .75s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .area-reveal.is-revealed .area-panel-media { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .area-reveal.is-revealed .area-panel-body > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .area-reveal .area-number { transition-delay: .08s; }
.has-scroll-reveals .area-reveal h3 { transition-delay: .16s; }
.has-scroll-reveals .area-reveal .area-panel-claim { transition-delay: .24s; }
.has-scroll-reveals .area-reveal .area-panel-body > p:not(.area-panel-claim) { transition-delay: .32s; }
.has-scroll-reveals .area-reveal .text-link { transition-delay: .5s; }
.area-panel-body .text-link { margin-top: auto; padding-top: 26px; color: currentColor; }
.section--areas .area-panel-body .text-link { padding-top: 18px; font-size: .6rem; }
.section--dark .text-link, .section--green .text-link { color: var(--on-dark); }

.section--green .method-sequence { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 42px 0 0; color: var(--on-dark); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.method-sequence i { width: 28px; height: 1px; background: rgba(199,173,106,.45); }
.method-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 60px; border-top: 1px solid var(--light-line); }
.method-step { min-height: 350px; padding: 34px 26px; border-right: 1px solid var(--light-line); }
.method-step:last-child { border-right: 0; }
.section--green .method-step span { color: var(--on-dark); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; }
.method-step h3 { margin-top: 75px; font-size: var(--type-subtitle); }
.method-step p { margin-top: 18px; }
.section--method-home { padding-block: clamp(72px, 6vw, 84px); overflow: hidden; background: var(--mist); }
.section--method-home .method-home-heading { max-width: 700px; }
.section--method-home .section-title { font-size: clamp(1.65rem, 2.35vw, 2.45rem); }
.section--method-home .method-home-lead { max-width: 620px; margin: 18px 0 0; font-size: .95rem; line-height: 1.62; }
.has-scroll-reveals .method-home-reveal .method-home-heading > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity .7s ease, transform .8s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .method-home-reveal.is-revealed .method-home-heading > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .method-home-reveal .method-home-heading .eyebrow { transition-delay: .06s; }
.has-scroll-reveals .method-home-reveal .method-home-heading .section-title { transition-delay: .14s; }
.has-scroll-reveals .method-home-reveal .method-home-lead { transition-delay: .24s; }
.has-scroll-reveals .method-home-reveal .method-card { opacity: 0; transform: translate3d(32px, 0, 0); transition: opacity .65s ease, transform .8s cubic-bezier(.2,.75,.2,1); will-change: transform, opacity; }
.has-scroll-reveals .method-home-reveal.is-revealed .method-card { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(1) { transition-delay: .18s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(2) { transition-delay: .28s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(3) { transition-delay: .38s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(4) { transition-delay: .48s; }
.has-scroll-reveals .method-home-reveal > .wrap > .text-link { opacity: 0; transform: translate3d(32px, 0, 0); transition: opacity .6s ease .56s, transform .7s cubic-bezier(.2,.75,.2,1) .56s; }
.has-scroll-reveals .method-home-reveal.is-revealed > .wrap > .text-link { opacity: 1; transform: translate3d(0, 0, 0); }
.method-carousel { margin-top: clamp(46px, 4vw, 56px); }
.method-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; overflow-x: auto; padding-bottom: 6px; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.method-rail::-webkit-scrollbar { display: none; }
.method-card { min-width: 0; color: var(--text-primary); scroll-snap-align: start; }
.method-card-media { position: relative; overflow: hidden; background: var(--mist); isolation: isolate; }
.method-card-media::after { content: ""; position: absolute; inset: 0; background: rgba(121,104,91,.28); mix-blend-mode: multiply; pointer-events: none; }
.method-card-media img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.27) saturate(.72) contrast(.9) brightness(.94); }
.method-card--measure .method-card-media { aspect-ratio: 4 / 5; }
.method-card--measure .method-card-media img { object-position: center 45%; }
.method-card--understand .method-card-media { aspect-ratio: 4 / 5; }
.method-card--understand .method-card-media img { object-position: center 48%; }
.method-card--act .method-card-media { aspect-ratio: 4 / 5; }
.method-card--act .method-card-media img { object-position: center 50%; }
.method-card--evolve .method-card-media { aspect-ratio: 4 / 5; }
.method-card--evolve .method-card-media img { object-position: center 46%; }
.method-card-copy { padding-top: 20px; }
.method-card-copy > span { display: block; color: var(--text-primary); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; }
.method-card h3 { margin-top: 20px; color: var(--text-primary); font-size: clamp(1.24rem, 1.6vw, 1.72rem); line-height: 1.06; }
.method-card h3 { min-height: calc(2 * 1.06em); }
.method-card p { margin-top: 12px; color: var(--text-primary); }
.section--method-home .text-link { margin-top: 32px; }

.image-story { display: grid; grid-template-columns: 1.1fr .9fr; min-height: 700px; }
.image-story-media { min-height: 620px; overflow: hidden; }
.image-story-media img { height: 100%; object-fit: cover; filter: saturate(.9) contrast(.98); }
.image-story-copy { padding: 90px clamp(44px, 7vw, 110px); display: flex; flex-direction: column; justify-content: center; background: var(--mist); }
.image-story-copy h2 { margin-top: 22px; }
.image-story-copy p { margin-top: 28px; }
.image-story--team { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 560px; overflow: hidden; background: var(--brand-surface); color: var(--on-dark); }
.image-story--team .image-story-media { position: relative; order: 2; height: 560px; min-height: 0; overflow: hidden; background: var(--brand-surface); }
.image-story--team .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--brand-surface) 0%, rgba(134,106,85,.82) 12%, rgba(134,106,85,0) 40%); pointer-events: none; }
.image-story--team .image-story-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; filter: saturate(.82) contrast(.97); }
.image-story--team .image-story-copy { order: 1; padding: 0 clamp(42px, 6vw, 110px) 0 48px; background: transparent; }
.image-story--team .eyebrow, .image-story--team .section-title, .image-story--team .body-copy, .image-story--team .text-link { color: var(--on-dark); }
.has-scroll-reveals .team-home-reveal .image-story-copy > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity .72s var(--ease-out), transform .72s var(--ease-out); }
.has-scroll-reveals .team-home-reveal .image-story-media { opacity: 0; transform: translate3d(32px, 0, 0); transition: opacity .86s var(--ease-out), transform .86s var(--ease-out); }
.has-scroll-reveals .team-home-reveal.is-revealed .image-story-copy > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .team-home-reveal.is-revealed .image-story-media { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(1) { transition-delay: 40ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(2) { transition-delay: 110ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(3) { transition-delay: 180ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(4) { transition-delay: 250ms; }
.has-scroll-reveals .team-home-reveal .image-story-media { transition-delay: 120ms; }
.image-story--clinic-home { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); min-height: 560px; overflow: hidden; background: var(--ivory); }
.image-story--clinic-home .image-story-media { position: relative; height: 560px; min-height: 0; overflow: hidden; background: var(--ivory); }
.image-story--clinic-home .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, var(--ivory) 0%, rgba(255,254,253,.82) 12%, rgba(255,254,253,0) 40%); pointer-events: none; }
.image-story--clinic-home .image-story-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; filter: saturate(.82) contrast(.97); }
.image-story--clinic-home .image-story-copy { padding: 0 clamp(42px, 6vw, 110px) 0 48px; background: transparent; }
.has-scroll-reveals .clinic-home-reveal .image-story-copy > * { opacity: 0; transform: translate3d(-48px, 0, 0); transition: opacity .72s var(--ease-out), transform .72s var(--ease-out); }
.has-scroll-reveals .clinic-home-reveal .image-story-media { opacity: 0; transform: translate3d(-32px, 0, 0); transition: opacity .86s var(--ease-out), transform .86s var(--ease-out); }
.has-scroll-reveals .clinic-home-reveal.is-revealed .image-story-copy > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .clinic-home-reveal.is-revealed .image-story-media { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(1) { transition-delay: 40ms; }
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(2) { transition-delay: 110ms; }
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(3) { transition-delay: 180ms; }
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(4) { transition-delay: 250ms; }
.has-scroll-reveals .clinic-home-reveal .image-story-media { transition-delay: 120ms; }

/* Pausa editorial compartida para los reveals de las secciones Home */
.has-scroll-reveals .origin-reveal .manifesto-copy > *,
.has-scroll-reveals .area-closing-reveal > .eyebrow,
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy > *,
.has-scroll-reveals .areas-reveal .area-section-heading > *,
.has-scroll-reveals .area-reveal .area-panel-body > *,
.has-scroll-reveals .method-home-reveal .method-home-heading > *,
.has-scroll-reveals .method-home-reveal .method-card,
.has-scroll-reveals .team-home-reveal .image-story-copy > *,
.has-scroll-reveals .clinic-home-reveal .image-story-copy > * { transition-duration: 1.12s, 1.36s; }
.has-scroll-reveals .origin-reveal .manifesto-image { transition-duration: 1.12s, 1.45s, 1.45s; }
.has-scroll-reveals .area-reveal .area-panel-media,
.has-scroll-reveals .team-home-reveal .image-story-media,
.has-scroll-reveals .clinic-home-reveal .image-story-media { transition-duration: 1.16s, 1.45s; }
.has-scroll-reveals .method-home-reveal > .wrap > .text-link { transition-duration: 1.06s, 1.3s; }

.has-scroll-reveals .origin-reveal .eyebrow,
.has-scroll-reveals .area-closing-reveal .eyebrow,
.has-scroll-reveals .areas-reveal .eyebrow,
.has-scroll-reveals .method-home-reveal .method-home-heading .eyebrow { transition-delay: .16s; }
.has-scroll-reveals .origin-reveal .section-title,
.has-scroll-reveals .areas-reveal .section-title,
.has-scroll-reveals .method-home-reveal .method-home-heading .section-title { transition-delay: .36s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(1),
.has-scroll-reveals .method-home-reveal .method-home-lead { transition-delay: .56s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(2),
.has-scroll-reveals .areas-reveal .section-lead { transition-delay: .78s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(3) { transition-delay: 1s; }
.has-scroll-reveals .origin-reveal p:nth-of-type(4) { transition-delay: 1.2s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(1) { transition-delay: .38s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(2) { transition-delay: .64s; }
.has-scroll-reveals .area-closing-reveal .area-section-closing-copy p:nth-child(3) { transition-delay: .9s; }
.has-scroll-reveals .areas-reveal .area-origin-statement { transition-delay: 1s; }
.has-scroll-reveals .area-reveal .area-panel-media { transition-delay: .18s; }
.has-scroll-reveals .area-reveal .area-number { transition-delay: .22s; }
.has-scroll-reveals .area-reveal h3 { transition-delay: .42s; }
.has-scroll-reveals .area-reveal .area-panel-claim { transition-delay: .62s; }
.has-scroll-reveals .area-reveal .area-panel-body > p:not(.area-panel-claim) { transition-delay: .84s; }
.has-scroll-reveals .area-reveal .text-link { transition-delay: 1.1s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(2) { transition-delay: .78s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(3) { transition-delay: 1.06s; }
.has-scroll-reveals .method-home-reveal .method-card:nth-child(4) { transition-delay: 1.34s; }
.has-scroll-reveals .method-home-reveal > .wrap > .text-link { transition-delay: 1.62s; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(1),
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(1) { transition-delay: 160ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(2),
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(2) { transition-delay: 370ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(3),
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(3) { transition-delay: 600ms; }
.has-scroll-reveals .team-home-reveal .image-story-copy > :nth-child(4),
.has-scroll-reveals .clinic-home-reveal .image-story-copy > :nth-child(4) { transition-delay: 830ms; }
.has-scroll-reveals .team-home-reveal .image-story-media,
.has-scroll-reveals .clinic-home-reveal .image-story-media { transition-delay: 280ms; }

.service-page .section,
.page-philosophy .section,
.page-team .section,
.page-clinic .section,
.page-contact .section { padding-block: clamp(72px, 6vw, 84px); }
.service-page .section-title,
.page-philosophy .section-title,
.page-team .section-title,
.page-clinic .section-title { max-width: 680px; font-size: clamp(1.65rem, 2.35vw, 2.45rem); }
.image-story--service .section-title,
.image-story--method-intro .section-title,
.page-team main > .section .section-title,
.page-clinic .section--clinic-intro .section-title { font-size: var(--type-section-title); }
.page-longevity #medicion .feature,
.page-longevity #motivos .feature { min-height: 240px; background: transparent; }
.page-longevity #punto-partida,
.page-longevity #medicion,
.page-longevity #programas,
.page-longevity #mujer,
.page-longevity #motivos { scroll-margin-top: 140px; }
.page-longevity #medicion .feature h3,
.page-longevity #motivos .feature h3 { margin-top: 34px; }
.page-longevity .longevity-card-rail { margin-top: 50px; }
.page-longevity .method-card--longevity .method-card-media { aspect-ratio: 4 / 5; }
.page-longevity #medicion .method-rail { grid-auto-flow: initial; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-columns: auto; }
.page-longevity #medicion .editorial-list { margin-top: 64px; }
.page-longevity #programas .method-card,
.page-longevity #programas .method-card h3,
.page-longevity #programas .method-card p,
.page-longevity #programas .method-card-copy > span { color: var(--on-dark); }
.page-longevity #programas .method-card-media::after { background: rgba(111,91,75,.44); }
.page-team .team-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-top: 48px; }
.page-team .team-portrait { display: none; }
.page-team .team-card { display: flex; background: var(--ivory); }
.page-team .team-info { display: flex; flex: 1; flex-direction: column; min-height: 226px; padding: 30px; }
.page-team .team-card:nth-child(n+2):nth-child(-n+5) .team-info h2 { min-height: calc(3 * 1.12em); }
.page-team .team-card:nth-child(n+2):nth-child(-n+5) .team-role { min-height: calc(2 * 1.75em); }
.page-team .team-meta { margin-top: 0; }
.page-team .team-links { margin-top: auto; padding-top: 18px; }
.page-team .team-card:nth-child(2) { grid-column: 1 / span 3; }
.page-team .team-card:nth-child(3) { grid-column: 4 / span 3; }
.page-team .team-card:nth-child(4) { grid-column: 7 / span 3; }
.page-team .team-card:nth-child(5) { grid-column: 10 / span 3; }
.page-team .team-card:nth-child(6) { grid-column: 2 / span 3; grid-row: 2; }
.page-team .team-card:nth-child(7) { grid-column: 5 / span 3; grid-row: 2; }
.page-team .team-card:nth-child(8) { grid-column: 8 / span 3; grid-row: 2; }
.page-team .team-card:nth-child(6),
.page-team .team-card:nth-child(7),
.page-team .team-card:nth-child(8) { transform: translateX(clamp(32px, 3.9vw, 58px)); }
.page-team .team-card:nth-child(1) { order: 8; grid-column: 5 / span 4; grid-row: 3; width: clamp(240px, 22vw, 277px); justify-self: center; }
.section--clinic-intro { padding-bottom: 0; overflow: hidden; }
.section--clinic-intro .gallery { grid-template-columns: 1.2fr .8fr; gap: 0; margin-top: 48px; }
.section--clinic-intro .gallery figure:first-child,
.section--clinic-intro .gallery figure:not(:first-child) { grid-row: auto; min-height: 560px; }
.image-story--clinic-page { min-height: 560px; overflow: hidden; background: var(--mist); }
.image-story--clinic-page .image-story-media { position: relative; height: 560px; min-height: 0; }
.image-story--clinic-page .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(238,234,229,0) 58%, var(--mist) 100%); pointer-events: none; }
.image-story--clinic-page .image-story-copy { background: transparent; }
.page-contact .contact-details { background: var(--ivory); }

.editorial-list { margin-top: 54px; border-top: 1px solid var(--line); }
.editorial-row { display: grid; grid-template-columns: 80px minmax(220px,.65fr) minmax(0,1.35fr); gap: 34px; padding: 34px 0; border-bottom: 1px solid var(--line); }
.editorial-row > span { color: var(--text-accent); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; }
.editorial-row h3 { font-size: var(--type-subtitle); }
.editorial-row p { margin: 0; }
.section--dark .editorial-list, .section--dark .editorial-row { border-color: var(--light-line); }
.section--dark .editorial-row > span, .section--green .editorial-row > span { color: var(--on-dark); }

.page-hero { position: relative; min-height: 54svh; padding: 118px 0 50px; display: flex; align-items: flex-end; overflow: hidden; background: var(--mist); }
.page-hero--image { color: var(--brand-background); background: var(--brand-surface-deep); }
.page-hero--image > img, .page-hero--image::after { position: absolute; inset: 0; height: 100%; }
.page-hero--image > img { object-fit: cover; filter: saturate(.88) contrast(.98); }
.page-hero--image::after { content: ""; background: linear-gradient(90deg, rgba(60,52,46,.72), rgba(60,52,46,.12)); }
.page-hero-content { position: relative; z-index: 1; }
.page-hero h1 { max-width: 950px; margin-top: 22px; }
.page-hero .display-title { font-size: var(--type-title); }
.page-hero--image h1 { color: var(--on-dark); }
.page-hero--image .eyebrow { color: var(--on-dark); }
.page-hero p { max-width: 700px; margin: 28px 0 0; font: inherit; }
.page-contact .page-hero--image > img { object-position: center 36%; }

.topic-nav { position: sticky; top: 82px; z-index: 50; overflow-x: auto; background: rgba(238,234,229,.95); border-bottom: 1px solid var(--line); }
.topic-nav .wrap { display: flex; justify-content: center; gap: 30px; }
.topic-nav a { padding: 17px 0; text-decoration: none; font-size: .65rem; letter-spacing: .13em; text-transform: uppercase; white-space: nowrap; }

.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 50px; background: var(--line); border: 1px solid var(--line); }
.feature { min-height: 280px; padding: 34px; background: var(--ivory); }
.feature span { color: var(--text-accent); font-family: var(--font-brand); font-size: .64rem; letter-spacing: .18em; }
.feature h3 { margin-top: 54px; font-size: var(--type-subtitle); }
.feature h3 { min-height: calc(2 * 1.12em); }
.feature p { margin-top: 16px; }

.care-area { scroll-margin-top: 130px; }
.care-intro { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; align-items: start; }
.care-intro h2 { margin-top: 20px; }
.concern-list { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 54px; border-top: 1px solid var(--line); }
.concern { padding: 30px 28px 30px 0; border-bottom: 1px solid var(--line); }
.concern:nth-child(even) { padding-left: 28px; border-left: 1px solid var(--line); }
.concern h3 { font-size: var(--type-subtitle); }
.concern p { margin: 12px 0 0; }
.concern small { display: block; margin-top: 12px; color: var(--text-accent); line-height: 1.6; }
.section--dark .concern-list, .section--dark .concern, .section--dark .concern:nth-child(even) { border-color: var(--light-line); }
.section--dark .concern small { color: var(--on-dark); }

.team-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 60px; }
.team-card { background: var(--ivory); border: 1px solid var(--line); }
.team-portrait { aspect-ratio: 4/5; display: grid; place-items: center; overflow: hidden; background: var(--mist); }
.team-portrait img { width: 42%; height: auto; opacity: .64; }
.team-info { padding: 28px; }
.team-info h2 { font-size: var(--type-subtitle); }
.team-role { margin: 10px 0 18px; color: var(--text-accent); font-size: .67rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.team-meta { margin: 0; font-size: var(--type-body); line-height: var(--line-body); }
.team-links { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 18px; }
.team-links a { color: var(--text-accent); font-size: .63rem; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }

.gallery { display: grid; grid-template-columns: 1.2fr .8fr; gap: 18px; margin-top: 54px; }
.gallery figure { margin: 0; overflow: hidden; background: var(--stone); }
.gallery figure:first-child { grid-row: span 2; min-height: 690px; }
.gallery figure:not(:first-child) { min-height: 336px; }
.gallery img { height: 100%; object-fit: cover; filter: saturate(.9) contrast(.98); }
.image--rotate-180 { transform: rotate(180deg); }
.trust-row { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 52px; border-top: 1px solid var(--light-line); }
.trust-item { padding: 28px 24px 28px 0; border-right: 1px solid var(--light-line); }
.trust-item:not(:first-child) { padding-left: 24px; }
.trust-item:last-child { border-right: 0; }
.section--green .trust-item span { color: var(--on-dark); font-size: .63rem; letter-spacing: .13em; text-transform: uppercase; }
.trust-item p { margin: 10px 0 0; font-family: var(--font-display); font-size: var(--type-subtitle); color: var(--on-dark); }

.contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 7vw; }
.contact-details { padding: 36px; background: var(--mist); }
.contact-details h2 { margin: 18px 0 24px; font-size: var(--type-subtitle); }
.page-contact .contact-details h2.section-title { font-size: var(--type-section-title); }
.contact-details a { display: block; margin-top: 12px; color: var(--text-accent); text-decoration: none; }
.page-contact .section--contact { background: var(--ivory); }
.contact-form-wrap { width: min(660px, var(--wrap)); margin-inline: auto; }
.contact-form-intro { margin-bottom: 42px; }
.contact-form-intro > p { max-width: 560px; margin: 18px 0 0; color: var(--graphite); font-size: .9rem; line-height: 1.7; }
.contact-directions { display: inline-flex !important; align-items: center; gap: 12px; width: fit-content; margin-top: 24px !important; padding-bottom: 8px; border-bottom: 1px solid var(--brand-secondary); color: var(--graphite) !important; font-size: .72rem; letter-spacing: .13em; text-transform: uppercase; }
.contact-directions::after { content: "→"; font-size: 1rem; }
.contact-direct-links { display: flex; flex-wrap: wrap; gap: 12px 22px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.contact-direct-links a { margin: 0; color: var(--graphite); font-size: .72rem; letter-spacing: .1em; }
.page-contact .form { grid-template-columns: 1fr; gap: 15px; }
.page-contact .form label { gap: 8px; font-size: .68rem; }
.page-contact .form input, .page-contact .form select, .page-contact .form textarea { padding: 12px 14px; font-size: .96rem; }
.page-contact .form textarea { min-height: 118px; }
.page-contact .form-note { font-size: .82rem; }
.form { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.form label { display: grid; gap: 8px; color: var(--text-accent); font-size: .66rem; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; }
.form .full, .form .check, .form-note, .form-status, .form-button { grid-column: 1/-1; }
.form input, .form select, .form textarea { width: 100%; padding: 13px 14px; border: 1px solid var(--line); border-radius: 0; background: var(--ivory); color: var(--charcoal); }
.form textarea { min-height: 130px; resize: vertical; }
.form .check { grid-template-columns: auto 1fr; align-items: start; text-transform: none; letter-spacing: 0; color: var(--graphite); }
.form .check input { width: auto; margin-top: 5px; }
.form-note { margin: 0; font-size: .8rem; }
.form-status { min-height: 1.5em; margin: 0; color: var(--text-accent); }
.form-button { justify-self: start; min-height: 46px; padding: 0 24px; border: 1px solid var(--gold); background: var(--gold); color: var(--porcelain); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.hidden-field { position: absolute !important; left: -10000px !important; }

.final-cta { padding: 100px 0; text-align: center; background: var(--stone); }
.instagram-feed { padding: 112px 0; overflow: hidden; background: var(--mist); }
.instagram-feed-heading { max-width: 700px; }
.instagram-feed-heading .text-link { display: inline-flex; margin-top: 30px; }
.instagram-rail { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 72px) / 4); gap: 24px; margin-top: clamp(58px, 7vw, 104px); overflow-x: auto; padding-bottom: 10px; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.instagram-rail::-webkit-scrollbar { display: none; }
.instagram-card { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--stone); scroll-snap-align: start; }
.instagram-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(121,104,91,0) 48%, rgba(121,104,91,.52) 100%); pointer-events: none; }
.instagram-card img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.16) saturate(.72) contrast(.92) brightness(.96); transition: transform .5s ease; }
.instagram-card:hover img, .instagram-card:focus-visible img { transform: scale(1.04); }
.instagram-card-type { position: absolute; right: 18px; bottom: 16px; z-index: 1; color: var(--on-dark); font-family: var(--font-brand); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; }
.instagram-status { grid-column: 1 / -1; margin: 0; color: var(--text-primary); }
.has-scroll-reveals .instagram-reveal .instagram-feed-heading > * { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity 1.12s var(--ease-out), transform 1.36s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .instagram-reveal .instagram-rail { opacity: 0; transform: translate3d(32px, 0, 0); transition: opacity 1.16s var(--ease-out), transform 1.45s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .instagram-reveal.is-revealed .instagram-feed-heading > *,
.has-scroll-reveals .instagram-reveal.is-revealed .instagram-rail { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .instagram-reveal .eyebrow { transition-delay: .16s; }
.has-scroll-reveals .instagram-reveal .section-title { transition-delay: .36s; }
.has-scroll-reveals .instagram-reveal .text-link { transition-delay: .56s; }
.has-scroll-reveals .instagram-reveal .instagram-rail { transition-delay: .48s; }
.has-scroll-reveals .instagram-reveal.is-feed-prepared .instagram-card { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity .82s var(--ease-out), transform 1.02s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .instagram-reveal.is-revealed.is-feed-loaded .instagram-card { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(2) { transition-delay: .32s; }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(3) { transition-delay: .48s; }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(4) { transition-delay: .64s; }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(5) { transition-delay: .8s; }
.has-scroll-reveals .instagram-reveal .instagram-card:nth-child(6) { transition-delay: .96s; }
.final-cta--home { padding: clamp(64px, 6vw, 82px) 0; overflow: hidden; background: var(--ivory); color: var(--text-primary); }
.final-cta--home .final-cta-mark { width: 112px; aspect-ratio: 1; margin: 0 auto 24px; display: grid; place-items: center; }
.final-cta--home .final-cta-mark img { width: 112px; height: 112px; object-fit: contain; }
.final-cta--home h2 { max-width: 620px; margin: 0 auto; color: var(--text-primary); font-size: clamp(1.72rem, 2.35vw, 2.3rem); }
.final-cta--home p { max-width: 500px; margin: 16px auto 24px; color: var(--text-primary); }
.final-cta h2 { max-width: 850px; margin: 0 auto; }
.final-cta p { margin: 22px auto 30px; }
.site-footer { padding: 64px 0 36px; background: var(--brand-surface-deep); color: rgba(248,247,245,.9); text-align: center; }
.footer-logo { justify-content: center; color: var(--porcelain); }
.site-footer > .wrap > p { margin: 22px 0 0; }
.footer-links, .footer-legal { display: flex; flex-wrap: wrap; justify-content: center; gap: 18px 28px; margin-top: 24px; }
.footer-links a, .footer-legal a { text-decoration: none; font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-legal { padding-top: 24px; border-top: 1px solid var(--light-line); }

@media (max-width: 1280px) {
  .nav-row { display: flex; }
  .nav-row .logo { margin-right: auto; }
  .nav-links, .nav-contact { display: none; }
  .burger { display: block; position: relative; z-index: 940; }
}

@media (max-width: 1180px) {
  .nav-row { width: calc(100% - 48px); gap: 24px; }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: .61rem; }
}

@media (max-width: 900px) {
  :root { --wrap: min(720px, calc(100% - 48px)); }
  .site-header { height: 70px; }
  .nav-row { display: flex; }
  .nav-row .logo { margin-right: auto; }
  .nav-links, .nav-contact { display: none; }
  .burger { display: block; position: relative; z-index: 940; }
  .hero { min-height: 100svh; padding-top: 70px; }
  .hero-content { padding: 74px 0 42px; }

  .topic-nav { top: 70px; }
  .section { padding: 82px 0; }
  .section--areas { padding-bottom: var(--section-y); }
  .manifesto-grid, .care-intro, .image-story, .contact-layout { grid-template-columns: 1fr; }
  .manifesto-grid, .care-intro { gap: 38px; }
  .section--origin-home .wrap { width: calc(100% - 48px); margin-right: 0; margin-left: 48px; }
  .manifesto-grid--home { gap: 0; }
  .manifesto-grid--home .manifesto-image { height: 460px; min-height: 0; }
  .manifesto-grid--home .manifesto-copy { padding: 0 58px 0 0; }
  .area-split { grid-template-columns: 1fr; }
  .area-panel { min-height: 0; }
  .section--areas, .section--method-home { padding-block: 72px; }
  .area-panel-media { height: 390px; }
  .area-panel-body { min-height: 210px; }
  .method-grid { grid-template-columns: repeat(2,1fr); }
  .method-step:nth-child(2) { border-right: 0; }
  .method-step:nth-child(-n+2) { border-bottom: 1px solid var(--light-line); }
  .section--method-home .method-step { border: 0; }
  .method-rail { grid-auto-columns: minmax(260px, 43vw); }
  .instagram-rail { grid-auto-columns: minmax(260px, 43vw); }
  .image-story { min-height: 0; }
  .image-story-media { min-height: 520px; }
  .image-story--team .image-story-media { height: 440px; min-height: 0; }
  .image-story--team .image-story-copy { padding: 0 58px 0 48px; }
  .image-story--clinic-home .image-story-media { height: 440px; min-height: 0; }
  .image-story--clinic-home .image-story-copy { padding: 0 58px 0 48px; }
  .image-story--clinic-page .image-story-media { height: 440px; min-height: 0; }
  .page-hero { min-height: 52svh; padding: 108px 0 48px; }
  .feature-grid, .team-grid { grid-template-columns: repeat(2,1fr); }
  .page-team .team-grid { grid-template-columns: repeat(2,1fr); }
  .page-longevity #medicion .method-rail { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: minmax(260px, 43vw); }
  .page-team .team-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .page-team .team-card:nth-child(6), .page-team .team-card:nth-child(7), .page-team .team-card:nth-child(8) { transform: none; }
  .page-team .team-card:nth-child(1) { grid-column: 1 / -1; grid-row: auto; width: calc((100% - 24px) / 2); }
  .editorial-row { grid-template-columns: 54px 1fr; }
  .editorial-row p { grid-column: 2; }
  .trust-row { grid-template-columns: repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right: 0; }
  .trust-item:nth-child(-n+2) { border-bottom: 1px solid var(--light-line); }
}

@media (max-width: 620px) {
  :root { --wrap: calc(100% - 36px); }
  .nav-row { width: calc(100% - 32px); }
  .brand-logo--header { height: 40px; max-width: 160px; }

  .hero-shade { background: linear-gradient(90deg, rgba(60,52,46,.76), rgba(60,52,46,.36)); }
  .hero-orbit { right: -14vw; width: 68vw; opacity: .18; }
  .page-orbit { right: -24vw; width: 74vw; opacity: .16; }
  .hero-brand { font-size: .68rem; }

  .topic-nav .wrap { width: max-content; min-width: 100%; justify-content: flex-start; padding-inline: 18px; }
  .section { padding: 68px 0; }
  .section--areas { padding-bottom: var(--section-y); }
  .section--areas .section-title { font-size: clamp(1.15rem, 6vw, 2.45rem); }
  .section--areas .section-title > span { white-space: nowrap; }

  .area-panel { min-height: 0; padding: 0; }
  .section--areas, .section--method-home { padding-block: 64px; }
  .area-panel-media { height: 320px; }
  .area-panel-body { min-height: 0; padding: 26px 0 0; }
  .area-panel--longevity .area-panel-body, .area-panel--regenerative .area-panel-body { padding: 26px 28px 30px; }
  .section--areas .area-number { margin-bottom: 20px; }
  .area-section-closing { grid-template-columns: 1fr; gap: 18px; margin-top: 56px; }
  .area-section-closing-copy { grid-template-columns: 1fr; gap: 16px; }
  .area-section-closing-copy p:first-child { grid-column: auto; }
  .method-grid, .feature-grid, .team-grid, .concern-list, .gallery, .trust-row, .form { grid-template-columns: 1fr; }
  .page-team .team-grid { grid-template-columns: 1fr; }
  .method-step { min-height: 260px; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .section--method-home .method-step { min-height: 250px; border: 0; }
  .method-carousel { margin-top: 40px; }
  .method-rail { grid-auto-columns: 76vw; gap: 18px; padding-bottom: 8px; }
  .page-longevity #medicion .method-rail { grid-auto-columns: 76vw; }
  .instagram-feed { padding: 68px 0; }
  .instagram-rail { grid-auto-columns: 76vw; gap: 18px; margin-top: 48px; padding-bottom: 8px; }
  .instagram-card-type { right: 16px; bottom: 14px; }
  .method-card-copy { padding-top: 24px; }
  .method-card h3 { margin-top: 24px; }
  .method-step h3 { margin-top: 40px; }
  .method-sequence i { width: 12px; }
  .image-story-media { min-height: 430px; }
  .section--origin-home .wrap { width: 100%; margin: 0; }
  .manifesto-grid--home .manifesto-image { order: 2; height: 380px; min-height: 0; }
  .manifesto-grid--home .manifesto-image::after { background: linear-gradient(180deg, var(--ivory) 0%, rgba(248,247,245,.68) 16%, rgba(248,247,245,0) 38%); }
  .manifesto-grid--home .manifesto-copy { order: 1; padding: 0 28px 52px; }
  .image-story--team .image-story-media { order: 2; height: 360px; min-height: 0; }
  .image-story--team .image-story-media::after { background: linear-gradient(180deg, var(--brand-surface) 0%, rgba(134,106,85,.68) 16%, rgba(134,106,85,0) 38%); }
  .image-story--team .image-story-copy { order: 1; padding: 0 28px 52px; }
  .image-story--clinic-home .image-story-media { height: 360px; min-height: 0; }
  .image-story--clinic-home .image-story-media::after { background: linear-gradient(to top, var(--ivory) 0%, rgba(255,254,253,.68) 16%, rgba(255,254,253,0) 38%); }
  .image-story--clinic-home .image-story-copy { padding: 0 28px 52px; }
  .image-story--clinic-page .image-story-media { height: 360px; min-height: 0; }
  .image-story--clinic-page .image-story-media::after { background: linear-gradient(180deg, var(--mist) 0%, rgba(238,234,229,.68) 16%, rgba(238,234,229,0) 38%); }
  .image-story--clinic-page .image-story-copy { padding: 0 28px 52px; }
  .image-story-copy { padding: 62px 24px; }
  .image-story--team .image-story-copy { padding-block: 52px; }
  .editorial-row { grid-template-columns: 1fr; gap: 10px; }
  .editorial-row p { grid-column: auto; }
  .concern, .concern:nth-child(even) { padding: 25px 0; border-left: 0; }
  .team-grid { gap: 18px; }
  .page-team .team-card:nth-child(1) { grid-column: auto; width: 100%; }
  .page-team .team-card:nth-child(n+2):nth-child(-n+5) .team-info h2,
  .page-team .team-card:nth-child(n+2):nth-child(-n+5) .team-role { min-height: 0; }
  .gallery figure:first-child, .gallery figure:not(:first-child) { min-height: 440px; grid-row: auto; }
  .trust-item, .trust-item:not(:first-child) { padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .form .full, .form .check, .form-note, .form-status, .form-button { grid-column: auto; }
  .form-button, .btn { width: 100%; }
  .whatsapp-float { right: 18px; bottom: calc(88px + env(safe-area-inset-bottom)); min-height: 52px; padding: 0 18px 0 11px; font-size: .64rem; }
  .whatsapp-float-symbol { width: 28px; height: 28px; }
  .final-cta { padding: 74px 18px; }
  .final-cta--home { padding: 60px 18px; }
  .final-cta--home .final-cta-mark { width: 92px; margin-bottom: 20px; }
  .final-cta--home .final-cta-mark img { width: 92px; height: 92px; }
  .site-footer { padding-inline: 18px; }
}

/* Filosofía The Noor Clinic */
.page-philosophy main > section + section { margin-top: clamp(64px, 7vw, 100px); }
.page-philosophy .philosophy-hero { min-height: min(70svh, 640px); }
.page-philosophy .philosophy-hero > img { object-position: center 52%; }
.page-philosophy .philosophy-hero .page-hero-content { max-width: var(--wrap); padding-bottom: clamp(42px, 5vw, 72px); }
.philosophy-hero-statement { max-width: 680px; color: var(--on-dark); font-size: clamp(1.18rem, 1.95vw, 2.15rem) !important; line-height: 1.3; letter-spacing: .005em; text-transform: none; }
.image-story--philosophy { min-height: 560px; overflow: hidden; }
.image-story--philosophy .image-story-media { position: relative; height: 560px; min-height: 0; overflow: hidden; }
.image-story--philosophy .image-story-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(.97); }
.image-story--philosophy .image-story-copy { padding: 0 clamp(42px, 6vw, 110px); background: transparent; }
.philosophy-origin { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); background: var(--mist); }
.philosophy-origin .image-story-media { order: 1; background: var(--mist); }
.philosophy-origin .image-story-copy { order: 2; padding-right: 48px; }
.philosophy-origin .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(270deg, var(--mist) 0%, rgba(238,234,229,.8) 13%, rgba(238,234,229,0) 42%); pointer-events: none; }
.philosophy-origin .image-story-media img { object-position: center 42%; }
.philosophy-origin .body-copy { margin-top: 18px; font-size: clamp(.88rem, .98vw, .96rem); line-height: 1.62; }
.philosophy-section-heading { max-width: 760px; }
.philosophy-section-heading .section-title { margin-top: 22px; }
.philosophy-values { overflow: hidden; background: var(--brand-surface); }
.philosophy-value-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(36px, 4vw, 52px); border-top: 1px solid var(--light-line); }
.philosophy-value { padding: 32px clamp(24px, 2.4vw, 40px) 36px 0; border-right: 1px solid var(--light-line); }
.philosophy-value:not(:first-child) { padding-left: clamp(24px, 2.4vw, 40px); }
.philosophy-value:last-child { border-right: 0; }
.philosophy-value-media { position: relative; height: clamp(210px, 19vw, 285px); overflow: hidden; background: var(--brand-surface); }
.philosophy-value-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(111,91,75,.04), rgba(111,91,75,.42)); pointer-events: none; }
.philosophy-value-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) sepia(.14) contrast(.92); }
.philosophy-value:nth-child(1) .philosophy-value-media img { object-position: center 52%; }
.philosophy-value:nth-child(2) .philosophy-value-media img { object-position: center 47%; }
.philosophy-value:nth-child(3) .philosophy-value-media img { object-position: center 46%; }
.philosophy-value-copy { padding-top: 28px; }
.philosophy-value-copy > span, .philosophy-method-copy > span { display: block; color: var(--on-dark); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.philosophy-value h2 { margin-top: 34px; color: var(--on-dark); font-size: clamp(1.65rem, 2.25vw, 2.35rem); }
.philosophy-value p { max-width: 320px; margin: 18px 0 0; color: var(--on-dark); }
.philosophy-method { overflow: hidden; background: var(--brand-surface-deep); }
.philosophy-method .method-sequence { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 42px 0 0; color: var(--on-dark); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .14em; text-transform: uppercase; }
.philosophy-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(40px, 5vw, 72px); margin-top: clamp(52px, 5vw, 70px); border-top: 1px solid var(--light-line); }
.philosophy-method-card { display: grid; grid-template-columns: minmax(132px, .64fr) minmax(0, 1.36fr); gap: clamp(20px, 2.4vw, 34px); padding: 34px 0; border-bottom: 1px solid var(--light-line); }
.philosophy-method-media { align-self: start; aspect-ratio: 4 / 5; overflow: hidden; background: var(--brand-surface); }
.philosophy-method-media img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.2) saturate(.68) contrast(.91) brightness(.94); }
.philosophy-method-card:nth-child(1) .philosophy-method-media img { object-position: center 46%; }
.philosophy-method-card:nth-child(2) .philosophy-method-media img { object-position: center 50%; }
.philosophy-method-card:nth-child(3) .philosophy-method-media img { object-position: center 46%; }
.philosophy-method-card:nth-child(4) .philosophy-method-media img { object-position: center 48%; }
.philosophy-method-copy h3 { margin-top: 17px; color: var(--on-dark); font-size: clamp(1.38rem, 1.72vw, 1.75rem); }
.philosophy-method-copy p { margin: 14px 0 0; color: var(--on-dark); font-size: clamp(.86rem, .98vw, .94rem); line-height: 1.6; }
.philosophy-method-copy .philosophy-method-claim { font-family: var(--font-brand); font-size: clamp(.98rem, 1.16vw, 1.1rem); line-height: 1.34; }
.philosophy-closing { min-height: 440px; }
.has-scroll-reveals .philosophy-hero > img { opacity: 0; transform: scale(1.06); transition: opacity 1.35s var(--ease-out), transform 1.65s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-hero .page-hero-content > *,
.has-scroll-reveals .philosophy-method .philosophy-section-heading > *,
.has-scroll-reveals .philosophy-method .philosophy-method-card { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-values .philosophy-value { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-origin .image-story-copy > * { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-origin .image-story-media { opacity: 0; transform: translate3d(0, -32px, 0); transition: opacity 1.36s var(--ease-out), transform 1.68s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-closing > * { opacity: 0; transform: translate3d(0, -32px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .philosophy-hero.is-revealed > img,
.has-scroll-reveals .philosophy-hero.is-revealed .page-hero-content > *,
.has-scroll-reveals .philosophy-origin.is-revealed .image-story-copy > *,
.has-scroll-reveals .philosophy-origin.is-revealed .image-story-media,
.has-scroll-reveals .philosophy-values.is-revealed .philosophy-value,
.has-scroll-reveals .philosophy-method.is-revealed .philosophy-section-heading > *,
.has-scroll-reveals .philosophy-method.is-revealed .philosophy-method-card,
.has-scroll-reveals .philosophy-closing.is-revealed > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .philosophy-hero .page-hero-content > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .philosophy-hero .page-hero-content > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .philosophy-origin .image-story-copy > :nth-child(1),
.has-scroll-reveals .philosophy-method .philosophy-section-heading > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .philosophy-origin .image-story-copy > :nth-child(2),
.has-scroll-reveals .philosophy-method .philosophy-section-heading > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .philosophy-origin .image-story-copy > :nth-child(3) { transition-delay: .56s; }
.has-scroll-reveals .philosophy-origin .image-story-copy > :nth-child(4) { transition-delay: .76s; }
.has-scroll-reveals .philosophy-values .philosophy-value:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .philosophy-values .philosophy-value:nth-child(2) { transition-delay: .78s; }
.has-scroll-reveals .philosophy-values .philosophy-value:nth-child(3) { transition-delay: 1.06s; }
.has-scroll-reveals .philosophy-method .philosophy-method-card:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .philosophy-method .philosophy-method-card:nth-child(2) { transition-delay: .78s; }
.has-scroll-reveals .philosophy-method .philosophy-method-card:nth-child(3) { transition-delay: 1.06s; }
.has-scroll-reveals .philosophy-method .philosophy-method-card:nth-child(4) { transition-delay: 1.34s; }

@media (hover: hover) and (pointer: fine) {
  .philosophy-method-card { position: relative; z-index: 0; transform-origin: center; }
  .philosophy-method-media img { transition: transform .62s var(--ease-out); }
  .philosophy-method-grid:has(.philosophy-method-card:hover) .philosophy-method-card:not(:hover) { opacity: .42; transform: scale(.975); }
  .philosophy-method-card:hover { z-index: 2; transform: translate3d(0, -12px, 0) scale(1.035); }
  .philosophy-method-card:hover .philosophy-method-media img { transform: scale(1.08); }
  .has-scroll-reveals .philosophy-method.is-revealed .philosophy-method-card { transition: opacity .48s var(--ease-out), transform .62s var(--ease-out); }
  .has-scroll-reveals .philosophy-method.is-revealed .philosophy-method-grid:has(.philosophy-method-card:hover) .philosophy-method-card:not(:hover) { opacity: .42; transform: translate3d(0, 0, 0) scale(.975); }
  .has-scroll-reveals .philosophy-method.is-revealed .philosophy-method-card:hover { z-index: 2; opacity: 1; transform: translate3d(0, -12px, 0) scale(1.035); }
}

.has-scroll-reveals .philosophy-closing > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .philosophy-closing > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .philosophy-closing > :nth-child(3) { transition-delay: .56s; }

@media (max-width: 900px) {
  .image-story--philosophy { min-height: 0; }
  .philosophy-origin { grid-template-columns: 1fr; }
  .image-story--philosophy .image-story-media { height: 440px; }
  .philosophy-origin .image-story-copy { padding: 0 58px 0 48px; }
  .philosophy-value-list, .philosophy-method-grid { grid-template-columns: 1fr; }
  .philosophy-value { min-height: 0; padding: 30px 0; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .philosophy-value:not(:first-child) { padding-left: 0; }
  .philosophy-value:last-child { border-bottom: 0; }
  .philosophy-value-media { height: 320px; }
  .philosophy-value-copy { padding-top: 24px; }
  .philosophy-value h2 { margin-top: 30px; }
  .philosophy-method-grid { gap: 0; }
}

@media (max-width: 620px) {
  .page-philosophy .philosophy-hero { min-height: 62svh; }
  .page-philosophy .philosophy-hero .page-hero-content { padding-bottom: 42px; }
  .philosophy-hero-statement { font-size: clamp(1.18rem, 4.85vw, 1.42rem) !important; }
  .image-story--philosophy .image-story-media { height: 360px; }
  .philosophy-origin .image-story-copy { padding: 0 28px 52px; }
  .philosophy-origin .image-story-media { order: 1; }
  .philosophy-value-media { height: 250px; }
  .philosophy-method-card { grid-template-columns: 1fr; gap: 24px; }
  .philosophy-method-media { width: min(100%, 260px); aspect-ratio: 4 / 3; }
  .philosophy-method .method-sequence { gap: 9px; }
}

/* Medicina de longevidad */
.page-longevity main > section + section { margin-top: clamp(64px, 7vw, 100px); }
.page-longevity .longevity-hero { min-height: min(70svh, 640px); }
.page-longevity [id] { scroll-margin-top: 142px; }
.page-longevity .longevity-hero > img { object-position: center 52%; }
.page-longevity .longevity-hero .page-hero-content { position: absolute; left: 50%; bottom: 0; width: var(--wrap); max-width: var(--wrap); margin: 0; transform: translateX(-50%); padding-bottom: clamp(42px, 5vw, 72px); }
.longevity-hero-statement { max-width: 760px; color: var(--on-dark); font-size: clamp(1.22rem, 2.1vw, 2.28rem) !important; line-height: 1.3; letter-spacing: .005em; text-transform: none; }
.longevity-intake { overflow: hidden; background: var(--ivory); }
.longevity-intake .image-story-media, .longevity-diagnosis .image-story-media, .longevity-follow-up .image-story-media { position: relative; overflow: hidden; }
.longevity-intake .image-story-media::after, .longevity-follow-up .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ivory) 0%, rgba(255,254,253,.72) 15%, rgba(255,254,253,0) 42%); pointer-events: none; }
.longevity-diagnosis { overflow: hidden; background: var(--stone); }
.longevity-diagnosis .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--stone) 0%, rgba(221,215,208,.72) 15%, rgba(221,215,208,0) 42%); pointer-events: none; }
.longevity-intake .image-story-media img, .longevity-diagnosis .image-story-media img, .longevity-follow-up .image-story-media img { height: 100%; object-fit: cover; filter: saturate(.78) sepia(.12) contrast(.95); }
.longevity-intake .image-story-media img { object-position: center 45%; }
.longevity-diagnosis .image-story-media img { object-position: center 44%; }
.longevity-follow-up .image-story-media img { object-position: center 50%; }
.longevity-focuses { display: flex; flex-wrap: wrap; gap: 10px 18px; max-width: 680px; margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); }
.longevity-focuses span { font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
.longevity-tests { overflow: hidden; }
.longevity-tests .section-title, .longevity-programs .section-title, .longevity-symptoms .section-title { margin-top: 22px; }
.longevity-test-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: clamp(48px, 5vw, 64px); border-top: 1px solid var(--line); }
.longevity-test { min-height: 100%; padding: 32px clamp(22px, 2.5vw, 40px) 36px 0; border-right: 1px solid var(--line); }
.longevity-test:not(:first-child) { padding-left: clamp(22px, 2.5vw, 40px); }
.longevity-test:last-child { border-right: 0; }
.longevity-test-media { height: clamp(230px, 20vw, 300px); overflow: hidden; background: var(--stone); }
.longevity-test-media img { height: 100%; object-fit: cover; filter: saturate(.72) sepia(.15) contrast(.93); }
.longevity-test:first-child .longevity-test-media img { object-position: center 48%; }
.longevity-test:nth-child(2) .longevity-test-media img { object-position: center 52%; }
.longevity-test:nth-child(3) .longevity-test-media img { object-position: center 25%; }
.longevity-test-copy { padding-top: 28px; }
.longevity-test-copy > span, .longevity-protocol > span { display: block; color: var(--text-primary); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; text-transform: uppercase; }
.longevity-test h3 { margin-top: 28px; font-size: clamp(1.28rem, 1.65vw, 1.68rem); }
.longevity-test p { margin: 16px 0 0; line-height: 1.62; }
.longevity-test-reference { color: var(--text-primary); font-size: .64rem; letter-spacing: .16em; text-transform: uppercase; }
.longevity-programs { padding: clamp(80px, 7vw, 96px) 0; overflow: hidden; }
.longevity-programs .section-lead { color: var(--on-dark); }
.longevity-program-duration { margin: 24px 0 0; color: var(--on-dark); }
.longevity-protocol-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(40px, 5vw, 72px); margin-top: clamp(52px, 5vw, 70px); border-top: 1px solid var(--light-line); }
.longevity-protocol { padding: 34px 0; border-bottom: 1px solid var(--light-line); }
.longevity-protocol:nth-child(5) { grid-column: 1 / -1; max-width: calc(50% - clamp(20px, 2.5vw, 36px)); }
.longevity-protocol > span { color: var(--on-dark); }
.longevity-protocol h3 { margin-top: 18px; color: var(--on-dark); font-size: clamp(1.28rem, 1.65vw, 1.72rem); }
.longevity-protocol p { margin: 14px 0 0; color: var(--on-dark); font-size: clamp(.86rem, .98vw, .94rem); line-height: 1.62; }
.longevity-follow-up { overflow: hidden; background: var(--ivory); }
.longevity-women .care-intro { gap: clamp(48px, 7vw, 120px); }
.longevity-women .section-title { margin-top: 22px; }
.longevity-symptoms { overflow: hidden; }
.longevity-symptom-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: clamp(48px, 5vw, 64px) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.longevity-symptom-list li { min-height: 116px; padding: 28px clamp(18px, 2vw, 32px) 28px 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: clamp(.95rem, 1.1vw, 1.05rem); line-height: 1.45; }
.longevity-symptom-list li:nth-child(3n + 2), .longevity-symptom-list li:nth-child(3n + 3) { padding-left: clamp(18px, 2vw, 32px); }
.longevity-symptom-list li:nth-child(3n) { border-right: 0; }
.longevity-closing { min-height: 390px; }
.longevity-closing .btn { margin-top: 30px; }
.has-scroll-reveals .longevity-hero > img { opacity: 0; transform: scale(1.06); transition: opacity 1.35s var(--ease-out), transform 1.65s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .longevity-hero .page-hero-content > *,
.has-scroll-reveals .longevity-intake .image-story-copy > *,
.has-scroll-reveals .longevity-tests > .wrap > .eyebrow,
.has-scroll-reveals .longevity-tests > .wrap > .section-title,
.has-scroll-reveals .longevity-diagnosis .image-story-copy > *,
.has-scroll-reveals .longevity-programs > .wrap > .eyebrow,
.has-scroll-reveals .longevity-programs > .wrap > .section-title,
.has-scroll-reveals .longevity-programs > .wrap > .section-lead,
.has-scroll-reveals .longevity-program-duration,
.has-scroll-reveals .longevity-follow-up .image-story-copy > *,
.has-scroll-reveals .longevity-women .care-intro > div,
.has-scroll-reveals .longevity-symptoms > .wrap > .eyebrow,
.has-scroll-reveals .longevity-symptoms > .wrap > .section-title,
.has-scroll-reveals .longevity-symptom-list,
.has-scroll-reveals .longevity-closing > * { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .longevity-tests .longevity-test,
.has-scroll-reveals .longevity-programs .longevity-protocol { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .longevity-intake .image-story-media,
.has-scroll-reveals .longevity-diagnosis .image-story-media,
.has-scroll-reveals .longevity-follow-up .image-story-media { opacity: 0; transform: translate3d(0, -32px, 0); transition: opacity 1.36s var(--ease-out), transform 1.68s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .longevity-hero.is-revealed > img,
.has-scroll-reveals .longevity-hero.is-revealed .page-hero-content > *,
.has-scroll-reveals .longevity-intake.is-revealed .image-story-copy > *,
.has-scroll-reveals .longevity-intake.is-revealed .image-story-media,
.has-scroll-reveals .longevity-tests.is-revealed > .wrap > .eyebrow,
.has-scroll-reveals .longevity-tests.is-revealed > .wrap > .section-title,
.has-scroll-reveals .longevity-tests.is-revealed .longevity-test,
.has-scroll-reveals .longevity-diagnosis.is-revealed .image-story-copy > *,
.has-scroll-reveals .longevity-diagnosis.is-revealed .image-story-media,
.has-scroll-reveals .longevity-programs.is-revealed > .wrap > .eyebrow,
.has-scroll-reveals .longevity-programs.is-revealed > .wrap > .section-title,
.has-scroll-reveals .longevity-programs.is-revealed > .wrap > .section-lead,
.has-scroll-reveals .longevity-programs.is-revealed .longevity-program-duration,
.has-scroll-reveals .longevity-programs.is-revealed .longevity-protocol,
.has-scroll-reveals .longevity-follow-up.is-revealed .image-story-copy > *,
.has-scroll-reveals .longevity-follow-up.is-revealed .image-story-media,
.has-scroll-reveals .longevity-women.is-revealed .care-intro > div,
.has-scroll-reveals .longevity-symptoms.is-revealed > .wrap > .eyebrow,
.has-scroll-reveals .longevity-symptoms.is-revealed > .wrap > .section-title,
.has-scroll-reveals .longevity-symptoms.is-revealed .longevity-symptom-list,
.has-scroll-reveals .longevity-closing.is-revealed > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .longevity-hero .page-hero-content > :nth-child(1),
.has-scroll-reveals .longevity-intake .image-story-copy > :nth-child(1),
.has-scroll-reveals .longevity-diagnosis .image-story-copy > :nth-child(1),
.has-scroll-reveals .longevity-follow-up .image-story-copy > :nth-child(1),
.has-scroll-reveals .longevity-programs > .wrap > .eyebrow,
.has-scroll-reveals .longevity-tests > .wrap > .eyebrow,
.has-scroll-reveals .longevity-symptoms > .wrap > .eyebrow { transition-delay: .16s; }
.has-scroll-reveals .longevity-hero .page-hero-content > :nth-child(2),
.has-scroll-reveals .longevity-intake .image-story-copy > :nth-child(2),
.has-scroll-reveals .longevity-diagnosis .image-story-copy > :nth-child(2),
.has-scroll-reveals .longevity-follow-up .image-story-copy > :nth-child(2),
.has-scroll-reveals .longevity-programs > .wrap > .section-title,
.has-scroll-reveals .longevity-tests > .wrap > .section-title,
.has-scroll-reveals .longevity-symptoms > .wrap > .section-title { transition-delay: .36s; }
.has-scroll-reveals .longevity-intake .image-story-copy > :nth-child(3),
.has-scroll-reveals .longevity-diagnosis .image-story-copy > :nth-child(3),
.has-scroll-reveals .longevity-follow-up .image-story-copy > :nth-child(3),
.has-scroll-reveals .longevity-programs > .wrap > .section-lead { transition-delay: .56s; }
.has-scroll-reveals .longevity-intake .image-story-copy > :nth-child(4),
.has-scroll-reveals .longevity-program-duration { transition-delay: .78s; }
.has-scroll-reveals .longevity-intake .image-story-media,
.has-scroll-reveals .longevity-diagnosis .image-story-media,
.has-scroll-reveals .longevity-follow-up .image-story-media { transition-delay: .3s; }
.has-scroll-reveals .longevity-tests .longevity-test:nth-child(1),
.has-scroll-reveals .longevity-programs .longevity-protocol:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .longevity-tests .longevity-test:nth-child(2),
.has-scroll-reveals .longevity-programs .longevity-protocol:nth-child(2) { transition-delay: .78s; }
.has-scroll-reveals .longevity-tests .longevity-test:nth-child(3),
.has-scroll-reveals .longevity-programs .longevity-protocol:nth-child(3) { transition-delay: 1.06s; }
.has-scroll-reveals .longevity-programs .longevity-protocol:nth-child(4) { transition-delay: 1.34s; }
.has-scroll-reveals .longevity-programs .longevity-protocol:nth-child(5) { transition-delay: 1.62s; }
.has-scroll-reveals .longevity-women .care-intro > div:nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .longevity-women .care-intro > div:nth-child(2) { transition-delay: .42s; }
.has-scroll-reveals .longevity-symptom-list { transition-delay: .56s; }
.has-scroll-reveals .longevity-closing > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .longevity-closing > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .longevity-closing > :nth-child(3) { transition-delay: .56s; }

@media (max-width: 900px) {
  .page-longevity .longevity-hero { min-height: 62svh; }
  .longevity-test-grid, .longevity-protocol-list { grid-template-columns: 1fr; }
  .longevity-test, .longevity-test:not(:first-child) { padding: 30px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .longevity-test:last-child { border-bottom: 0; }

  .longevity-protocol:nth-child(5) { grid-column: auto; max-width: none; }
  .longevity-symptom-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .longevity-symptom-list li:nth-child(n) { padding-left: 0; border-right: 0; }
  .longevity-symptom-list li:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
}

@media (max-width: 620px) {
  .page-longevity .longevity-hero .page-hero-content { width: calc(100% - 36px); max-width: none; margin: 0; padding-bottom: 42px; }
  .longevity-hero-statement { font-size: clamp(1.18rem, 4.85vw, 1.42rem) !important; }
  .longevity-intake .image-story-media, .longevity-diagnosis .image-story-media, .longevity-follow-up .image-story-media { height: 360px; min-height: 0; }
  .longevity-focuses { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .longevity-test-media { height: 250px; }
  .longevity-symptom-list { grid-template-columns: 1fr; }
  .longevity-symptom-list li:nth-child(n) { min-height: 0; padding: 24px 0; border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .hero-slide:not(.is-active) { display: none; }
}

/* Medicina estética regenerativa */
.page-aesthetics main > section + section { margin-top: clamp(64px, 7vw, 100px); }
.page-aesthetics [id] { scroll-margin-top: 142px; }
.page-aesthetics .aesthetics-hero { min-height: min(70svh, 640px); }
.page-aesthetics .aesthetics-hero > img { object-position: center 48%; }
.page-aesthetics .aesthetics-hero .page-hero-content { position: absolute; left: 50%; bottom: 0; width: var(--wrap); max-width: var(--wrap); margin: 0; transform: translateX(-50%); padding-bottom: clamp(42px, 5vw, 72px); }
.aesthetics-hero-statement { max-width: 900px; color: var(--on-dark); font-size: clamp(1.22rem, 2.1vw, 2.28rem) !important; line-height: 1.3; letter-spacing: .005em; text-transform: none; }
.aesthetics-intro { overflow: hidden; background: var(--ivory); }
.aesthetics-intro .image-story-media { position: relative; overflow: hidden; }
.aesthetics-intro .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ivory) 0%, rgba(255,254,253,.72) 15%, rgba(255,254,253,0) 42%); pointer-events: none; }
.aesthetics-intro .image-story-media img { height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(.78) sepia(.12) contrast(.95); }
.aesthetics-intro .body-copy + .body-copy { margin-top: 18px; }
.aesthetics-cosmeceutics { padding-top: 18px; border-top: 1px solid var(--line); }
.aesthetics-care-intro { gap: clamp(48px, 7vw, 120px); }
.aesthetics-care-intro .body-copy { margin-bottom: 16px; }
.aesthetic-treatment-heading { margin-top: clamp(54px, 6vw, 76px); }
.aesthetic-treatment-heading h3 { margin: 18px 0 0; font-size: clamp(1.35rem, 1.85vw, 1.9rem); }
.aesthetic-treatment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(40px, 5vw, 72px); margin-top: 34px; border-top: 1px solid var(--line); }
.aesthetic-treatment { min-width: 0; border-bottom: 1px solid var(--line); }
.aesthetic-treatment summary { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 18px; min-height: 112px; padding: 26px 0; cursor: pointer; list-style: none; }
.aesthetic-treatment summary::-webkit-details-marker { display: none; }
.aesthetic-treatment summary > span { display: block; color: var(--text-primary); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; }
.aesthetic-treatment summary h3 { color: var(--text-primary); font-size: clamp(1.12rem, 1.45vw, 1.48rem); line-height: 1.22; }
.aesthetic-treatment summary b { color: var(--text-primary); font-size: .61rem; font-weight: 400; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.aesthetic-treatment summary b::after { content: "+"; display: inline-block; margin-left: 12px; font-size: 1rem; line-height: 0; vertical-align: -1px; }
.aesthetic-treatment[open] summary { padding-bottom: 16px; }
.aesthetic-treatment[open] summary b::after { content: "−"; }
.aesthetic-treatment-detail { padding: 0 0 30px 60px; }
.aesthetic-treatment-detail p { margin: 0 0 14px; line-height: 1.62; }
.aesthetic-treatment-detail ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.aesthetic-treatment-detail li { position: relative; padding-left: 16px; line-height: 1.56; }
.aesthetic-treatment-detail li::before { content: ""; position: absolute; left: 0; top: .7em; width: 5px; height: 1px; background: currentColor; }
@media (hover: hover) and (pointer: fine) {
  .aesthetic-treatment summary { cursor: default; }
}
.has-treatment-disclosures .aesthetic-treatment summary { transition: padding .82s var(--ease-out); }
.has-treatment-disclosures .aesthetic-treatment-detail { display: block; max-height: 0; padding: 0 0 0 60px; overflow: hidden; opacity: 0; transition: max-height 820ms var(--ease-out), padding 820ms var(--ease-out), opacity 420ms ease; }
.has-treatment-disclosures .aesthetic-treatment-detail-content { overflow: hidden; transform: translate3d(0, -10px, 0); transition: transform 700ms var(--ease-out); }
.has-treatment-disclosures .aesthetic-treatment[open] .aesthetic-treatment-detail { max-height: var(--treatment-detail-height, 0px); padding: 0 0 30px 60px; opacity: 1; }
.has-treatment-disclosures .aesthetic-treatment[open] .aesthetic-treatment-detail-content { transform: translate3d(0, 0, 0); }
.aesthetic-condition-list { margin-top: clamp(50px, 5vw, 68px); padding-top: 26px; border-top: 1px solid var(--light-line); }
.aesthetic-condition-list > .eyebrow { color: var(--on-dark); }
.aesthetic-condition-list ul { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; margin: 24px 0 0; padding: 0; list-style: none; }
.aesthetic-condition-list li { min-height: 72px; padding-right: 18px; border-right: 1px solid var(--light-line); color: var(--on-dark); font-size: clamp(.86rem, 1vw, .96rem); line-height: 1.45; }
.aesthetic-condition-list li:last-child { border-right: 0; }
.section--dark .aesthetic-treatment-grid { border-color: var(--light-line); }
.section--dark .aesthetic-treatment { border-color: var(--light-line); }
.section--dark .aesthetic-treatment summary > span, .section--dark .aesthetic-treatment summary h3, .section--dark .aesthetic-treatment summary b, .section--dark .aesthetic-treatment-detail { color: var(--on-dark); }
.aesthetic-treatment-grid--capillary { max-width: 820px; }
.aesthetics-method { overflow: hidden; }
.aesthetics-method .section-title { margin-top: 22px; }
.aesthetic-method-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(40px, 5vw, 72px); margin-top: clamp(52px, 5vw, 70px); border-top: 1px solid var(--light-line); }
.aesthetic-method-card { padding: 34px 0; border-bottom: 1px solid var(--light-line); }
.aesthetic-method-card > span { display: block; color: var(--on-dark); font-family: var(--font-brand); font-size: .65rem; letter-spacing: .18em; }
.aesthetic-method-card h3 { margin-top: 18px; color: var(--on-dark); font-size: clamp(1.35rem, 1.75vw, 1.72rem); }
.aesthetic-method-card p { margin: 14px 0 0; color: var(--on-dark); font-size: clamp(.86rem, .98vw, .94rem); line-height: 1.62; }
.aesthetic-method-card .aesthetic-method-claim { font-family: var(--font-brand); font-size: clamp(.98rem, 1.18vw, 1.12rem); line-height: 1.36; }
.aesthetics-closing { min-height: 390px; }
.aesthetics-closing .btn { margin-top: 30px; }
.has-scroll-reveals .aesthetics-hero > img { opacity: 0; transform: scale(1.06); transition: opacity 1.35s var(--ease-out), transform 1.65s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .aesthetics-hero .page-hero-content > *,
.has-scroll-reveals .aesthetics-intro .image-story-copy > *,
.has-scroll-reveals .aesthetics-care-intro > div,
.has-scroll-reveals .aesthetic-treatment-heading > *,
.has-scroll-reveals .aesthetic-condition-list,
.has-scroll-reveals .aesthetics-method > .wrap > .eyebrow,
.has-scroll-reveals .aesthetics-method > .wrap > .section-title,
.has-scroll-reveals .aesthetics-method > .wrap > .section-lead,
.has-scroll-reveals .aesthetics-closing > * { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .aesthetic-treatment, .has-scroll-reveals .aesthetic-method-card { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .aesthetics-intro .image-story-media { opacity: 0; transform: translate3d(0, -32px, 0); transition: opacity 1.36s var(--ease-out), transform 1.68s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .aesthetics-hero.is-revealed > img,
.has-scroll-reveals .aesthetics-hero.is-revealed .page-hero-content > *,
.has-scroll-reveals .aesthetics-intro.is-revealed .image-story-copy > *,
.has-scroll-reveals .aesthetics-intro.is-revealed .image-story-media,
.has-scroll-reveals .aesthetics-facial.is-revealed .aesthetics-care-intro > div,
.has-scroll-reveals .aesthetics-facial.is-revealed .aesthetic-treatment-heading > *,
.has-scroll-reveals .aesthetics-facial.is-revealed .aesthetic-treatment,
.has-scroll-reveals .aesthetics-corporal.is-revealed .aesthetics-care-intro > div,
.has-scroll-reveals .aesthetics-corporal.is-revealed .aesthetic-condition-list,
.has-scroll-reveals .aesthetics-corporal.is-revealed .aesthetic-treatment,
.has-scroll-reveals .aesthetics-capillary.is-revealed .aesthetics-care-intro > div,
.has-scroll-reveals .aesthetics-capillary.is-revealed .aesthetic-treatment,
.has-scroll-reveals .aesthetics-method.is-revealed > .wrap > .eyebrow,
.has-scroll-reveals .aesthetics-method.is-revealed > .wrap > .section-title,
.has-scroll-reveals .aesthetics-method.is-revealed > .wrap > .section-lead,
.has-scroll-reveals .aesthetics-method.is-revealed .aesthetic-method-card,
.has-scroll-reveals .aesthetics-closing.is-revealed > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .aesthetics-hero .page-hero-content > :nth-child(1),
.has-scroll-reveals .aesthetics-intro .image-story-copy > :nth-child(1),
.has-scroll-reveals .aesthetics-care-intro > div:nth-child(1),
.has-scroll-reveals .aesthetics-method > .wrap > .eyebrow { transition-delay: .16s; }
.has-scroll-reveals .aesthetics-hero .page-hero-content > :nth-child(2),
.has-scroll-reveals .aesthetics-intro .image-story-copy > :nth-child(2),
.has-scroll-reveals .aesthetics-care-intro > div:nth-child(2),
.has-scroll-reveals .aesthetics-method > .wrap > .section-title { transition-delay: .36s; }
.has-scroll-reveals .aesthetics-intro .image-story-copy > :nth-child(3),
.has-scroll-reveals .aesthetics-method > .wrap > .section-lead { transition-delay: .56s; }
.has-scroll-reveals .aesthetics-intro .image-story-copy > :nth-child(4) { transition-delay: .78s; }
.has-scroll-reveals .aesthetics-intro .image-story-copy > :nth-child(5) { transition-delay: 1s; }
.has-scroll-reveals .aesthetic-treatment-heading > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .aesthetic-treatment-heading > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .aesthetics-intro .image-story-media { transition-delay: .3s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(1), .has-scroll-reveals .aesthetic-method-card:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(2), .has-scroll-reveals .aesthetic-method-card:nth-child(2) { transition-delay: .7s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(3), .has-scroll-reveals .aesthetic-method-card:nth-child(3) { transition-delay: .9s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(4), .has-scroll-reveals .aesthetic-method-card:nth-child(4) { transition-delay: 1.1s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(5) { transition-delay: 1.3s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(6) { transition-delay: 1.5s; }
.has-scroll-reveals .aesthetic-treatment:nth-child(n+7) { transition-delay: 1.62s; }
.has-scroll-reveals .aesthetics-closing > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .aesthetics-closing > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .aesthetics-closing > :nth-child(3) { transition-delay: .56s; }

@media (max-width: 900px) {
  .page-aesthetics .aesthetics-hero { min-height: 62svh; }
  .aesthetic-treatment-grid, .aesthetic-method-grid { grid-template-columns: 1fr; }
  .aesthetic-condition-list ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aesthetic-condition-list li:nth-child(even) { padding-left: 24px; }
  .aesthetic-condition-list li:nth-child(2), .aesthetic-condition-list li:nth-child(4) { border-right: 0; }
  .aesthetic-treatment-grid--capillary { max-width: none; }
}

@media (max-width: 620px) {
  .page-aesthetics .aesthetics-hero .page-hero-content { width: calc(100% - 36px); max-width: none; margin: 0; padding-bottom: 42px; }
  .aesthetics-hero-statement { font-size: clamp(1.18rem, 4.85vw, 1.42rem) !important; }
  .aesthetics-intro .image-story-media { height: 360px; min-height: 0; }
  .aesthetic-treatment-heading { margin-top: 54px; }
  .aesthetic-treatment summary { grid-template-columns: 32px minmax(0, 1fr); gap: 12px; min-height: 0; padding: 25px 0; }
  .aesthetic-treatment summary b { grid-column: 2; margin-top: 2px; }
  .aesthetic-treatment-detail { padding-left: 44px; }
  .has-treatment-disclosures .aesthetic-treatment-detail { padding-left: 44px; }
  .aesthetic-condition-list ul { grid-template-columns: 1fr; gap: 0; }
  .aesthetic-condition-list li, .aesthetic-condition-list li:nth-child(even) { min-height: 0; padding: 18px 0; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .aesthetic-condition-list li:last-child { border-bottom: 0; }
}

/* Equipo: encuadre de conjunto y movimiento editorial */
.page-team .team-hero { min-height: 560px; }
.page-team .team-hero > img { object-position: center 30%; }
.has-scroll-reveals .team-hero > img { opacity: 0; transform: scale(1.06); transition: opacity 1.35s var(--ease-out), transform 1.65s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .team-hero .page-hero-content > *,
.has-scroll-reveals .team-main > .wrap > .eyebrow,
.has-scroll-reveals .team-main > .wrap > .section-title,
.has-scroll-reveals .team-main .team-card,
.has-scroll-reveals .team-main > .wrap > .body-copy,
.has-scroll-reveals .team-closing > * { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .team-hero.is-revealed > img,
.has-scroll-reveals .team-hero.is-revealed .page-hero-content > *,
.has-scroll-reveals .team-main.is-revealed > .wrap > .eyebrow,
.has-scroll-reveals .team-main.is-revealed > .wrap > .section-title,
.has-scroll-reveals .team-main.is-revealed .team-card,
.has-scroll-reveals .team-main.is-revealed > .wrap > .body-copy,
.has-scroll-reveals .team-closing.is-revealed > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .team-hero .page-hero-content > :nth-child(1),
.has-scroll-reveals .team-main > .wrap > .eyebrow,
.has-scroll-reveals .team-closing > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .team-hero .page-hero-content > :nth-child(2),
.has-scroll-reveals .team-main > .wrap > .section-title,
.has-scroll-reveals .team-closing > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .team-hero .page-hero-content > :nth-child(3),
.has-scroll-reveals .team-closing > :nth-child(3) { transition-delay: .56s; }
.has-scroll-reveals .team-main .team-card:nth-child(1) { transition-delay: .5s; }
.has-scroll-reveals .team-main .team-card:nth-child(2) { transition-delay: .66s; }
.has-scroll-reveals .team-main .team-card:nth-child(3) { transition-delay: .82s; }
.has-scroll-reveals .team-main .team-card:nth-child(4) { transition-delay: .98s; }
.has-scroll-reveals .team-main .team-card:nth-child(5) { transition-delay: 1.14s; }
.has-scroll-reveals .team-main .team-card:nth-child(6) { transition-delay: 1.3s; }
.has-scroll-reveals .team-main .team-card:nth-child(7) { transition-delay: 1.46s; }
.has-scroll-reveals .team-main .team-card:nth-child(8) { transition-delay: 1.62s; }
.has-scroll-reveals .team-main > .wrap > .body-copy { transition-delay: 1.78s; }

@media (max-width: 620px) {
  .page-team .team-hero { min-height: 360px; }
  .page-team .team-hero > img { object-position: center 30%; }
}

/* Clínica: espacio editorial */
.page-clinic main > section + section { margin-top: clamp(64px, 7vw, 100px); }
.page-clinic .clinic-hero { min-height: min(70svh, 640px); }
.page-clinic .clinic-hero > img { object-position: center 50%; }
.page-clinic .clinic-hero .page-hero-content { position: absolute; left: 50%; bottom: 0; width: var(--wrap); max-width: var(--wrap); margin: 0; transform: translateX(-50%); padding-bottom: clamp(42px, 5vw, 72px); }
.clinic-hero-statement { max-width: 1050px; color: var(--on-dark); font-size: clamp(1.45rem, 2.85vw, 3.1rem) !important; line-height: 1.18; letter-spacing: .01em; }
.clinic-space-intro { overflow: hidden; background: var(--ivory); }
.clinic-space-intro .image-story-copy { background: var(--ivory); }
.clinic-space-intro .image-story-media { position: relative; overflow: hidden; }
.clinic-space-intro .image-story-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--ivory) 0%, rgba(255,254,253,.72) 15%, rgba(255,254,253,0) 42%); pointer-events: none; }
.clinic-space-intro .image-story-media img { height: 100%; object-fit: cover; object-position: center 50%; filter: saturate(.76) sepia(.12) contrast(.95); }
.clinic-space-intro .body-copy { margin: 22px 0 0; }
.clinic-progression { overflow: hidden; }
.clinic-progression .section-lead { max-width: 790px; color: var(--on-dark); }
.clinic-progress-lines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(52px, 5vw, 76px); border-top: 1px solid var(--light-line); }
.clinic-progress-lines p { min-height: 128px; margin: 0; padding: 28px clamp(20px, 2.6vw, 40px) 28px 0; border-right: 1px solid var(--light-line); color: var(--on-dark); font-size: clamp(1rem, 1.25vw, 1.18rem); line-height: 1.46; }
.clinic-progress-lines p:not(:first-child) { padding-left: clamp(20px, 2.6vw, 40px); }
.clinic-progress-lines p:last-child { border-right: 0; }
.page-clinic .clinic-hero + .clinic-space-visuals { margin-top: 0; }
.clinic-space-visuals { padding: clamp(36px, 5vw, 76px) 0; overflow: hidden; background: var(--ivory); }
.clinic-space-visuals .wrap { width: 100%; max-width: none; }
.clinic-space-gallery { display: flex; align-items: flex-start; gap: clamp(12px, 1.8vw, 26px); overflow-x: auto; padding: 0 max(24px, calc((100vw - var(--wrap)) / 2)) 14px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: rgba(140, 98, 57, .42) transparent; }
.clinic-space-gallery::-webkit-scrollbar { height: 3px; }
.clinic-space-gallery::-webkit-scrollbar-thumb { background: rgba(140, 98, 57, .42); }
.clinic-space-gallery figure { flex: 0 0 clamp(290px, 31vw, 470px); height: clamp(340px, 34vw, 500px); margin: 0; overflow: hidden; scroll-snap-align: start; background: var(--stone); }
.clinic-space-gallery figure:first-child { flex-basis: clamp(480px, 52vw, 740px); height: clamp(400px, 47vw, 620px); }
.clinic-space-gallery figure:nth-child(2) { flex-basis: clamp(290px, 29vw, 430px); height: clamp(420px, 42vw, 570px); margin-top: clamp(34px, 5vw, 76px); }
.clinic-space-gallery figure:nth-child(3) { flex-basis: clamp(380px, 40vw, 580px); height: clamp(300px, 32vw, 430px); margin-top: clamp(16px, 2vw, 34px); }
.clinic-space-gallery figure:nth-child(4) { flex-basis: clamp(270px, 27vw, 390px); height: clamp(400px, 39vw, 520px); margin-top: clamp(62px, 7vw, 110px); }
.clinic-space-gallery img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) sepia(.12) contrast(.95); }
.clinic-space-gallery figure:nth-child(1) img { object-position: center 48%; }
.clinic-space-gallery figure:nth-child(2) img { object-position: center 50%; }
.clinic-space-gallery figure:nth-child(3) img { object-position: center 52%; }
.clinic-space-gallery figure:nth-child(4) img { object-position: center 50%; }
.clinic-closing { min-height: 390px; }
.clinic-closing .btn { margin-top: 30px; }
.has-scroll-reveals .clinic-hero > img { opacity: 0; transform: scale(1.06); transition: opacity 1.35s var(--ease-out), transform 1.65s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .clinic-hero .page-hero-content > *,
.has-scroll-reveals .clinic-space-intro .image-story-copy > *,
.has-scroll-reveals .clinic-progression .section-lead,
.has-scroll-reveals .clinic-progress-lines p,
.has-scroll-reveals .clinic-space-gallery figure,
.has-scroll-reveals .clinic-closing > * { opacity: 0; transform: translate3d(0, -48px, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .clinic-space-intro .image-story-media { opacity: 0; transform: translate3d(0, -32px, 0); transition: opacity 1.36s var(--ease-out), transform 1.68s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .clinic-hero.is-revealed > img,
.has-scroll-reveals .clinic-hero.is-revealed .page-hero-content > *,
.has-scroll-reveals .clinic-space-intro.is-revealed .image-story-copy > *,
.has-scroll-reveals .clinic-space-intro.is-revealed .image-story-media,
.has-scroll-reveals .clinic-progression.is-revealed .section-lead,
.has-scroll-reveals .clinic-progression.is-revealed .clinic-progress-lines p,
.has-scroll-reveals .clinic-space-visuals.is-revealed .clinic-space-gallery figure,
.has-scroll-reveals .clinic-closing.is-revealed > * { opacity: 1; transform: translate3d(0, 0, 0); }
.has-scroll-reveals .clinic-space-intro .image-story-copy > :nth-child(1),
.has-scroll-reveals .clinic-closing > :nth-child(1) { transition-delay: .16s; }
.has-scroll-reveals .clinic-space-intro .image-story-copy > :nth-child(2),
.has-scroll-reveals .clinic-closing > :nth-child(2) { transition-delay: .36s; }
.has-scroll-reveals .clinic-space-intro .image-story-media { transition-delay: .3s; }
.has-scroll-reveals .clinic-progression .section-lead { transition-delay: .16s; }
.has-scroll-reveals .clinic-progress-lines p:nth-child(1), .has-scroll-reveals .clinic-space-gallery figure:nth-child(1) { transition-delay: .48s; }
.has-scroll-reveals .clinic-progress-lines p:nth-child(2), .has-scroll-reveals .clinic-space-gallery figure:nth-child(2) { transition-delay: .7s; }
.has-scroll-reveals .clinic-progress-lines p:nth-child(3), .has-scroll-reveals .clinic-space-gallery figure:nth-child(3) { transition-delay: .92s; }
.has-scroll-reveals .clinic-space-gallery figure:nth-child(4) { transition-delay: 1.14s; }
.has-scroll-reveals .clinic-closing > :nth-child(3) { transition-delay: .56s; }

@media (max-width: 900px) {
  .page-clinic .clinic-hero { min-height: 62svh; }
  .clinic-progress-lines { grid-template-columns: 1fr; }
  .clinic-progress-lines p, .clinic-progress-lines p:not(:first-child) { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid var(--light-line); }
  .clinic-progress-lines p:last-child { border-bottom: 0; }
  .clinic-space-gallery { padding-inline: 32px; }
}

@media (max-width: 620px) {
  .page-clinic .clinic-hero .page-hero-content { width: calc(100% - 36px); max-width: none; margin: 0; padding-bottom: 42px; }
  .clinic-hero-statement { font-size: clamp(1.32rem, 5.4vw, 1.72rem) !important; }
  .clinic-space-intro .image-story-media { height: 360px; min-height: 0; }
  .clinic-space-gallery { gap: 12px; padding: 0 18px 10px; }
  .clinic-space-gallery figure { flex-basis: 76vw; height: 340px; margin-top: 0; }
  .clinic-space-gallery figure:first-child { flex-basis: 84vw; height: 420px; }
  .clinic-space-gallery figure:nth-child(2) { flex-basis: 70vw; height: 380px; margin-top: 28px; }
  .clinic-space-gallery figure:nth-child(3) { flex-basis: 78vw; height: 320px; margin-top: 12px; }
  .clinic-space-gallery figure:nth-child(4) { flex-basis: 68vw; height: 380px; margin-top: 38px; }
}

/* Fotografía seleccionada — nueva orden web */
.aesthetics-care-media { height: clamp(260px, 28vw, 410px); margin: clamp(38px, 5vw, 68px) 0; overflow: hidden; background: var(--stone); }
.aesthetics-care-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.76) sepia(.12) contrast(.95); }
.aesthetics-facial .aesthetics-care-media img { object-position: center 38%; }
.aesthetics-corporal .aesthetics-care-media img { object-position: center 44%; }
.aesthetics-capillary .aesthetics-care-media { height: auto; aspect-ratio: 3 / 2; }
.aesthetics-capillary .aesthetics-care-media img { object-position: center; }
.aesthetics-method-media { width: min(100%, 620px); height: clamp(330px, 34vw, 520px); margin: clamp(38px, 5vw, 64px) 0 0; overflow: hidden; background: var(--brand-surface); }
.aesthetics-method-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 44%; filter: saturate(.76) sepia(.12) contrast(.95); }
.page-team .team-card { flex-direction: column; overflow: hidden; }
.page-team .team-portrait { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--stone); }
.page-team .team-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.76) sepia(.12) contrast(.95); }
.page-team .team-info { min-height: 0; }
.page-team .team-card:nth-child(1) .team-portrait { aspect-ratio: 1 / 1; }

@media (max-width: 900px) {
  .aesthetics-care-media { height: clamp(250px, 44vw, 390px); }
  .aesthetics-method-media { height: 420px; }
  .page-team .team-portrait { display: block; }
}

@media (max-width: 620px) {
  .aesthetics-care-media { height: 290px; margin: 34px 0 44px; }
  .aesthetics-capillary .aesthetics-care-media { height: auto; }
  .aesthetics-method-media { width: 100%; height: 380px; }
}

/* Ajuste editorial de fotografía — revisión por sección */
.manifesto-grid--home { grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr); }
.manifesto-grid--home .manifesto-copy { padding-right: clamp(42px, 4.2vw, 72px); }
.manifesto-grid--home .section-title { max-width: 470px; font-size: clamp(1.32rem, 1.85vw, 1.78rem); line-height: 1.2; }
.origin-reveal .manifesto-image img { object-position: center 20%; }
.area-panel--longevity .area-panel-media img { object-position: center 28%; }
.image-story--team .image-story-media::after { background: linear-gradient(90deg, var(--brand-surface) 0%, rgba(134,106,85,.70) 10%, rgba(134,106,85,0) 34%); }

.page-longevity .longevity-diagnosis { min-height: min(44vw, 520px); }
.page-longevity .longevity-diagnosis .image-story-media { height: min(44vw, 520px); min-height: 0; }
.page-longevity .longevity-diagnosis .image-story-copy { padding-block: clamp(48px, 5vw, 72px); }
.page-longevity .longevity-diagnosis .image-story-media img { object-position: center 35%; }
.longevity-program-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(32px, 4vw, 64px); align-items: center; margin-top: clamp(34px, 3.5vw, 48px); }
.longevity-program-copy { display: flex; flex-direction: column; justify-content: center; }
.longevity-program-copy .section-title { margin-top: 22px; }
.longevity-program-copy .section-lead { margin-top: 22px; }
.longevity-program-media { position: relative; isolation: isolate; justify-self: end; width: min(100%, 360px); height: 500px; min-height: 0; margin: 0; overflow: hidden; background: var(--brand-surface); }
.longevity-program-media img { position: relative; z-index: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(.76) sepia(.12) contrast(.95); }
.longevity-program-media::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, var(--brand-surface) 0%, rgba(134,106,85,.72) 22%, rgba(134,106,85,0) 58%); pointer-events: none; }
.longevity-programs .longevity-protocol-list { margin-top: clamp(40px, 4vw, 52px); }
.has-scroll-reveals .longevity-program-media { opacity: 0; transform: translate3d(32px, 0, 0); transition: opacity 1.36s var(--ease-out), transform 1.68s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .longevity-programs.is-revealed .longevity-program-media { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: .3s; }

.page-aesthetics .care-area .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(42px, 6vw, 104px); align-items: stretch; }
.page-aesthetics .aesthetics-care-intro { display: block; grid-column: 1; grid-row: 1; }
.page-aesthetics .aesthetics-care-intro > div + div { margin-top: 30px; }
.page-aesthetics .aesthetics-care-media { grid-column: 2; grid-row: 1; align-self: stretch; width: 100% !important; max-width: 100%; box-sizing: border-box; height: auto; min-height: clamp(400px, 40vw, 590px); margin: 0; display: grid; place-items: center; background: var(--stone); }
.page-aesthetics .aesthetics-care-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.page-aesthetics .aesthetic-treatment-heading, .page-aesthetics .aesthetic-condition-list, .page-aesthetics .aesthetic-treatment-grid { grid-column: 1 / -1; }
.page-aesthetics .aesthetics-method > .wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(42px, 6vw, 104px); align-items: stretch; }
.page-aesthetics .aesthetics-method > .wrap > .eyebrow, .page-aesthetics .aesthetics-method > .wrap > .section-title, .page-aesthetics .aesthetics-method > .wrap > .section-lead { grid-column: 1; }
.page-aesthetics .aesthetics-method-media { grid-column: 2; grid-row: 1 / span 3; align-self: stretch; width: 100%; max-width: 100%; box-sizing: border-box; height: auto; min-height: clamp(390px, 38vw, 560px); margin: 0; display: grid; place-items: center; }
.page-aesthetics .aesthetics-method-media img { object-fit: contain; object-position: center; }
.page-aesthetics .aesthetic-method-grid { grid-column: 1 / -1; }
.has-scroll-reveals .aesthetics-care-media, .has-scroll-reveals .aesthetics-method-media { opacity: 0; transform: translate3d(48px, 0, 0); transition: opacity 1.32s var(--ease-out), transform 1.58s var(--ease-out); will-change: transform, opacity; }
.has-scroll-reveals .aesthetics-facial.is-revealed .aesthetics-care-media, .has-scroll-reveals .aesthetics-corporal.is-revealed .aesthetics-care-media, .has-scroll-reveals .aesthetics-capillary.is-revealed .aesthetics-care-media, .has-scroll-reveals .aesthetics-method.is-revealed .aesthetics-method-media { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: .28s; }

.clinic-space-gallery { align-items: stretch; }
.clinic-space-gallery figure, .clinic-space-gallery figure:first-child, .clinic-space-gallery figure:nth-child(2), .clinic-space-gallery figure:nth-child(3), .clinic-space-gallery figure:nth-child(4) { flex: 0 0 clamp(300px, 28vw, 420px); height: clamp(390px, 34vw, 500px); margin-top: 0; }
.clinic-space-gallery img { object-position: center; }

/* El rail del Método conserva su desplazamiento interno sin ensanchar la página móvil */
.section--method-home .method-carousel { width: 100%; min-width: 0; overflow: hidden; }
.section--method-home .method-rail { width: 100%; min-width: 0; }

/* El menú móvil permanece fuera del flujo sin crear desplazamiento horizontal */
html, body { overflow-x: hidden; }

@media (max-width: 900px) {
  .page-longevity .longevity-diagnosis { min-height: 0; }
  .page-longevity .longevity-diagnosis .image-story-media { height: 440px; }
  .longevity-program-intro, .page-aesthetics .care-area .wrap, .page-aesthetics .aesthetics-method > .wrap { grid-template-columns: 1fr; }
  .longevity-program-media { width: min(100%, 320px); height: 480px; min-height: 0; justify-self: start; }
  .page-aesthetics .aesthetics-care-media { min-height: 460px; }
  .page-aesthetics .aesthetics-care-intro, .page-aesthetics .aesthetics-care-media, .page-aesthetics .aesthetics-method > .wrap > .eyebrow, .page-aesthetics .aesthetics-method > .wrap > .section-title, .page-aesthetics .aesthetics-method > .wrap > .section-lead, .page-aesthetics .aesthetics-method-media { grid-column: 1; grid-row: auto; }
  .page-aesthetics .aesthetics-care-media, .page-aesthetics .aesthetics-method-media { width: 100%; margin-top: 38px; }
}

@media (max-width: 620px) {
  .manifesto-grid--home .manifesto-copy { padding-right: 36px; }
  .manifesto-grid--home .section-title { max-width: 360px; font-size: clamp(1.26rem, 6.4vw, 1.64rem); }
  .page-longevity .longevity-diagnosis .image-story-media { height: 310px; }
  .longevity-program-media { width: min(100%, 300px); height: 450px; min-height: 0; }
  .page-aesthetics .aesthetics-care-media, .page-aesthetics .aesthetics-method-media { min-height: 360px; }
  .clinic-space-gallery figure, .clinic-space-gallery figure:first-child, .clinic-space-gallery figure:nth-child(2), .clinic-space-gallery figure:nth-child(3), .clinic-space-gallery figure:nth-child(4) { flex-basis: 78vw; height: 390px; margin-top: 0; }
}

/* Medicina de Origen: el retrato prioriza el encuadre de las dos personas */
.section--origin-home .manifesto-grid--home .manifesto-image { height: 680px; }
.section--origin-home .manifesto-grid--home .manifesto-image img { object-position: center 60%; }

@media (max-width: 900px) {
  .section--origin-home .manifesto-grid--home { grid-template-columns: 1fr; }
  .section--origin-home .manifesto-grid--home .manifesto-image { height: 620px; }
}

@media (max-width: 620px) {
  .section--origin-home .manifesto-grid--home .manifesto-image { height: 500px; }
}

/* Feedback de marketing — ajuste de proporciones y encuadres */
.section--areas .area-split { margin-top: clamp(46px, 4vw, 56px); }
.section--areas .area-panel-media { height: clamp(280px, 23vw, 330px); }

.image-story--team { grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); }
.image-story--team .image-story-media::after { background: linear-gradient(90deg, var(--brand-surface) 0%, rgba(134,106,85,.5) 8%, rgba(134,106,85,0) 28%); }
.image-story--team .image-story-media img { object-position: center 47%; }

.clinic-home-chair { object-position: center 58% !important; }

.page-philosophy .philosophy-hero > img { object-position: center 48%; }

.page-aesthetics .aesthetics-intro { min-height: 0; align-items: stretch; }
.page-aesthetics .aesthetics-intro .image-story-media { height: auto; min-height: 100%; }
.page-aesthetics .aesthetics-intro .image-story-media img { object-position: center 52%; }
.page-aesthetics .aesthetics-care-media { position: relative; isolation: isolate; min-height: clamp(360px, 34vw, 500px); }
.page-aesthetics .aesthetics-care-media img { position: relative; z-index: 0; object-fit: contain; object-position: center; }
.page-aesthetics .aesthetics-care-media::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; }
.page-aesthetics .aesthetics-facial .aesthetics-care-media { background: var(--mist); }
.page-aesthetics .aesthetics-facial .aesthetics-care-media::after { background: linear-gradient(90deg, var(--mist) 0%, rgba(238,234,229,.72) 18%, rgba(238,234,229,0) 50%); }
.page-aesthetics .aesthetics-corporal .aesthetics-care-media { background: var(--brand-surface); }
.page-aesthetics .aesthetics-corporal .aesthetics-care-media::after { background: linear-gradient(90deg, var(--brand-surface) 0%, rgba(134,106,85,.72) 18%, rgba(134,106,85,0) 50%); }
.page-aesthetics .aesthetics-capillary .aesthetics-care-media { background: var(--stone); }
.page-aesthetics .aesthetics-capillary .aesthetics-care-media::after { background: linear-gradient(90deg, var(--stone) 0%, rgba(221,215,208,.72) 18%, rgba(221,215,208,0) 50%); }

.page-team .team-hero { min-height: min(70svh, 640px); }
/* Equipo: dirección destacada y filas alineadas sobre una retícula común */
.page-team .team-grid { --team-card-width: calc((100% - 72px) / 4); grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; }
.page-team .team-grid > .team-card:nth-child(n),
.page-team .team-support-grid > .team-card:nth-child(n) { order: initial; grid-column: auto; grid-row: auto; width: auto; height: 100%; justify-self: stretch; transform: none; }
.page-team .team-info { min-height: 242px; }
.page-team .team-card .team-portrait { aspect-ratio: 1 / 1; }
.page-team .team-grid > .team-card:nth-child(1) { grid-column: 4 / span 6; grid-row: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.page-team .team-grid > .team-card:nth-child(2) { grid-column: 1 / span 3; grid-row: 2; }
.page-team .team-grid > .team-card:nth-child(3) { grid-column: 4 / span 3; grid-row: 2; }
.page-team .team-grid > .team-card:nth-child(4) { grid-column: 7 / span 3; grid-row: 2; }
.page-team .team-grid > .team-card:nth-child(5) { grid-column: 10 / span 3; grid-row: 2; }
.page-team .team-support-grid { grid-column: 1 / -1; grid-row: 3; display: grid; grid-template-columns: repeat(3, var(--team-card-width)); justify-content: center; gap: 24px; align-items: stretch; }
.page-team .team-grid > .team-card:nth-child(1) .team-portrait img { object-position: center 58%; }
.page-team .team-grid > .team-card:nth-child(2) .team-portrait img { object-position: center 38%; }
.page-team .team-grid > .team-card:nth-child(3) .team-portrait img { object-position: center 42%; }
.page-team .team-grid > .team-card:nth-child(4) .team-portrait img { object-position: center 35%; }
.page-team .team-grid > .team-card:nth-child(5) .team-portrait img { object-position: center 48%; }
.page-team .team-support-grid > .team-card:nth-child(1) .team-portrait img { object-position: center 32%; }
.page-team .team-support-grid > .team-card:nth-child(2) .team-portrait img { object-position: center 25%; }
.page-team .team-support-grid > .team-card:nth-child(3) .team-portrait img { object-position: center 42%; }

@media (max-width: 900px) {
  .section--areas .area-panel-media { height: 420px; }
  .page-aesthetics .aesthetics-care-media { min-height: 420px; }
  .page-team .team-hero { min-height: 62svh; }
  .page-team .team-grid { --team-card-width: calc((100% - 24px) / 2); grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-team .team-grid > .team-card:nth-child(n) { grid-column: auto; grid-row: auto; }
  .page-team .team-grid > .team-card:nth-child(1) { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-team .team-support-grid { grid-column: 1 / -1; grid-row: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); width: auto; }
}

@media (max-width: 620px) {
  .section--areas .area-panel-media { height: 350px; }
  .page-aesthetics .aesthetics-care-media { min-height: 320px; }
  .page-team .team-hero { min-height: 62svh; }
  .page-team .team-grid { --team-card-width: 100%; grid-template-columns: 1fr; }
  .page-team .team-grid > .team-card:nth-child(n) { width: auto; }
  .page-team .team-grid > .team-card:nth-child(1) { grid-column: auto; display: flex; grid-template-columns: none; }
  .page-team .team-support-grid { grid-column: auto; grid-template-columns: 1fr; width: auto; }
  .page-team .team-info { min-height: 0; }
}

/* Sistema común de héroes editoriales */
.page-philosophy .philosophy-hero,
.page-longevity .longevity-hero,
.page-aesthetics .aesthetics-hero,
.page-team .team-hero,
.page-clinic .clinic-hero,
.page-contact .page-hero {
  height: min(70svh, 640px);
  min-height: min(70svh, 640px);
}

.page-hero .page-orbit { position: absolute; }
.page-team .team-main .section-title { text-transform: none; }

.page-philosophy .philosophy-hero .page-hero-content,
.page-longevity .longevity-hero .page-hero-content,
.page-aesthetics .aesthetics-hero .page-hero-content,
.page-team .team-hero .page-hero-content,
.page-clinic .clinic-hero .page-hero-content,
.page-contact .page-hero .page-hero-content {
  position: relative;
  left: auto;
  bottom: auto;
  width: var(--wrap);
  max-width: var(--wrap);
  margin: 0 auto;
  transform: none;
  padding-bottom: clamp(42px, 5vw, 72px);
}

.page-philosophy .philosophy-hero .philosophy-hero-statement,
.page-longevity .longevity-hero .longevity-hero-statement,
.page-aesthetics .aesthetics-hero .aesthetics-hero-statement,
.page-team .team-hero .display-title,
.page-clinic .clinic-hero .clinic-hero-statement,
.page-contact .page-hero .display-title {
  max-width: 680px;
  color: var(--on-dark);
  font-size: clamp(1.18rem, 1.95vw, 2.15rem) !important;
  line-height: 1.3;
  letter-spacing: .005em;
  text-transform: none;
}

@media (max-width: 620px) {
  .page-philosophy .philosophy-hero,
  .page-longevity .longevity-hero,
  .page-aesthetics .aesthetics-hero,
  .page-team .team-hero,
  .page-clinic .clinic-hero,
  .page-contact .page-hero {
    height: 62svh;
    min-height: 62svh;
  }

  .page-philosophy .philosophy-hero .page-hero-content,
  .page-longevity .longevity-hero .page-hero-content,
  .page-aesthetics .aesthetics-hero .page-hero-content,
  .page-team .team-hero .page-hero-content,
  .page-clinic .clinic-hero .page-hero-content,
  .page-contact .page-hero .page-hero-content {
    width: var(--wrap);
    max-width: var(--wrap);
    padding-bottom: 42px;
  }

  .page-philosophy .philosophy-hero .philosophy-hero-statement,
  .page-longevity .longevity-hero .longevity-hero-statement,
  .page-aesthetics .aesthetics-hero .aesthetics-hero-statement,
  .page-team .team-hero .display-title,
  .page-clinic .clinic-hero .clinic-hero-statement,
  .page-contact .page-hero .display-title {
    font-size: clamp(1.18rem, 4.85vw, 1.42rem) !important;
  }
}
