/* ==== Tipografías autoalojadas (sin Google Fonts) ==== */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./fonts/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./fonts/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --teal:       #32868C;
  --teal-mid:   #3A9898;
  --teal-light: #5DC0C0;
  --teal-dark:  #1C4A48;
  --teal-deep:  #133535;
  --green:      #639058;
  --green-lt:   #7AAD6A;
  --sage:       #8EC485;
  --cream:      #EDF5F4;
  --cream-w:    #E4EEEB;
  --sand:       #D8E8E4;
  --azul:       #72A8B3;
  --clay:       #A08060;
  --text:       #1A2E2C;
  --text-mid:   #3A5250;
  --text-lt:    #4C6A62;
  --white:      #F9FCFC;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'DM Sans', system-ui, sans-serif;
  --max: 1200px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--cream);color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.wrap{max-width:var(--max);margin:0 auto;padding:0 40px}
.label{display:inline-block;font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-light);margin-bottom:20px}
.label--dark{color:rgba(237,245,244,.6)}
.label--sand{color:var(--clay)}
.sr{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}
.sr.on{opacity:1;transform:none}
.sr-d1{transition-delay:.1s}
.sr-d2{transition-delay:.2s}
.sr-d3{transition-delay:.3s}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:500;display:flex;align-items:center;justify-content:space-between;padding:22px 40px;transition:padding .4s,background .4s,border-color .4s}
.nav.pinned{padding:13px 40px;background:rgba(237,245,244,.96);backdrop-filter:blur(18px);border-bottom:1px solid rgba(50,134,140,.1)}
.nav-brand{display:flex;align-items:center;gap:10px}
.nav-logo-img{width:44px;height:44px;object-fit:contain;flex-shrink:0}

.nav-logo-text{font-family:var(--serif);font-size:18px;font-weight:400;letter-spacing:.07em;color:var(--white);transition:color .4s}
.nav.pinned .nav-logo-text{color:var(--teal-dark)}
.nav-links{display:flex;align-items:center;gap:32px;list-style:none}
.nav-links a{font-size:11.5px;font-weight:400;letter-spacing:.06em;color:rgba(249,252,252,.88);transition:color .25s;text-shadow:0 1px 8px rgba(10,28,28,.35)}
.nav.pinned .nav-links a{color:var(--text-mid);text-shadow:none}
.nav-links a:hover{color:var(--teal-light)!important}
.nav-right{display:flex;align-items:center;gap:16px}
.lang{display:flex;align-items:center;border:1px solid rgba(249,252,252,.2);border-radius:2px;overflow:hidden;transition:border-color .4s}
.nav.pinned .lang{border-color:rgba(50,134,140,.2)}
.lang-btn{font-size:9.5px;font-weight:500;letter-spacing:.12em;padding:5px 10px;background:transparent;color:rgba(249,252,252,.72);border:none;cursor:pointer;transition:all .25s;text-shadow:0 1px 8px rgba(10,28,28,.35)}
.nav.pinned .lang-btn{color:var(--text-lt);text-shadow:none}
.lang-btn.active{background:var(--teal);color:var(--white)!important}
.lang-btn:hover:not(.active){color:var(--teal-light)!important}
.nav-wa{font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:10px 22px;border:1px solid rgba(249,252,252,.28);color:var(--white);border-radius:2px;transition:all .3s}
.nav.pinned .nav-wa{border-color:var(--teal);color:var(--teal)}
.nav-wa:hover{background:var(--teal);border-color:var(--teal);color:var(--white)!important}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px}
.hamburger span{display:block;width:22px;height:1.5px;background:var(--white);transition:background .4s}
.nav.pinned .hamburger span{background:var(--teal-dark)}
.drawer{position:fixed;inset:0;background:var(--teal-dark);z-index:490;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;opacity:0;pointer-events:none;transition:opacity .35s}
.drawer.open{opacity:1;pointer-events:all}
.drawer a{font-family:var(--serif);font-size:32px;font-weight:300;color:var(--cream);letter-spacing:.04em;transition:color .25s}
.drawer a:hover{color:var(--teal-light)}
.drawer-close{position:absolute;top:22px;right:28px;background:none;border:none;color:rgba(237,245,244,.6);font-size:30px;cursor:pointer;line-height:1}

/* ── HERO ── */
.hero{min-height:100svh;display:grid;grid-template-columns:48% 52%}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:60px 60px 60px 40px;background:var(--teal-deep);position:relative;overflow:hidden}
.hero-left::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 55% at 15% 85%,rgba(50,134,140,.3) 0%,transparent 70%),radial-gradient(ellipse 55% 75% at 85% 15%,rgba(99,144,88,.1) 0%,transparent 60%);pointer-events:none}
.hero-h1{font-family:var(--serif);font-size:clamp(46px,5.5vw,82px);font-weight:300;line-height:1.05;letter-spacing:-.01em;color:var(--white);margin-bottom:28px;position:relative;text-shadow:0 2px 20px rgba(10,28,28,.4)}
.hero-h1 em{font-style:italic;color:#9AD9D7}
.hero-desc{font-size:13.5px;font-weight:300;color:rgba(237,245,244,.82);line-height:1.82;margin-bottom:52px;max-width:360px;position:relative;text-shadow:0 1px 12px rgba(10,28,28,.35)}
.hero-cta{display:flex;align-items:center;gap:28px;position:relative}
.btn-primary{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:16px 34px;background:var(--teal);color:var(--white);border-radius:2px;transition:all .3s}
.btn-primary:hover{background:var(--teal-mid);transform:translateY(-2px);box-shadow:0 14px 42px rgba(50,134,140,.32)}
.btn-primary svg{flex-shrink:0;transition:transform .3s}
.btn-primary:hover svg{transform:translateX(4px)}
.btn-text{font-size:11.5px;font-weight:400;letter-spacing:.06em;color:rgba(237,245,244,.62);transition:color .25s}
.btn-text:hover{color:var(--teal-light)}
.btn-secondary{display:inline-flex;align-items:center;font-size:10.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding:16px 34px;background:var(--white);color:var(--teal-dark);border-radius:2px;transition:all .3s}
.btn-secondary:hover{background:var(--teal-light);color:var(--teal-deep);transform:translateY(-2px)}
.hero-right{position:relative;overflow:hidden}
.hero-right img{width:100%;height:100%;object-fit:cover;object-position:center 30%}

/* ── GALLERY ── */
.gallery{background:var(--cream);overflow:hidden}
.gallery-intro{padding:96px 40px 54px;max-width:var(--max);margin:0 auto}
.gallery-intro h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--teal-dark);max-width:460px;line-height:1.15;margin-bottom:12px}
.gallery-intro p{font-size:14px;font-weight:300;color:var(--text-mid);line-height:1.7}
.gallery-strip{display:flex;gap:4px;height:420px}
.g-item{flex:1 0 auto;overflow:hidden;cursor:pointer;position:relative;transition:flex .55s cubic-bezier(.22,1,.36,1)}
.g-item:hover{flex:2 0 auto}
.g-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;cursor:zoom-in}
.g-item:hover img{transform:scale(1.04)}
.g-caption{position:absolute;bottom:0;left:0;right:0;padding:26px 18px 16px;background:linear-gradient(transparent,rgba(19,53,53,.65));font-family:var(--serif);font-size:12px;font-style:italic;color:rgba(255,255,255,.55);opacity:0;transition:opacity .3s}
.g-item:hover .g-caption{opacity:1}

/* Lightbox de la galería: clic en cualquier foto para verla en grande,
   con flechas para pasar a la siguiente. Un solo componente compartido,
   funciona en cualquier página que tenga .gallery-strip. */
.lightbox{position:fixed;inset:0;z-index:600;background:rgba(19,53,53,.94);display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .25s}
.lightbox.open{display:flex}
.lightbox.show{opacity:1}
.lb-img{max-width:88vw;max-height:82vh;object-fit:contain;border-radius:2px;box-shadow:0 20px 60px rgba(0,0,0,.4);user-select:none}
.lb-close,.lb-prev,.lb-next{position:absolute;background:rgba(249,252,252,.1);border:1px solid rgba(249,252,252,.25);color:var(--white);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:22px;line-height:1;cursor:pointer;transition:background .25s}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(249,252,252,.22)}
.lb-close{top:22px;right:22px}
.lb-prev{left:22px;top:50%;transform:translateY(-50%)}
.lb-next{right:22px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(249,252,252,.7);font-size:12px;font-weight:300;letter-spacing:.04em}
@media(max-width:720px){
  .lb-img{max-width:92vw;max-height:76vh}
  .lb-close{top:14px;right:14px;width:38px;height:38px;font-size:18px}
  .lb-prev{left:8px;width:38px;height:38px;font-size:18px}
  .lb-next{right:8px;width:38px;height:38px;font-size:18px}
}

/* ── ESENCIA ── */
.esencia{background:var(--teal-dark);padding:120px 40px;position:relative;overflow:hidden}
.esencia::before{content:'';position:absolute;top:-35%;right:-8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(93,192,192,.07) 0%,transparent 70%);pointer-events:none}
.esencia-inner{max-width:740px;margin:0 auto;text-align:center}
.esencia-quote{font-family:var(--serif);font-size:clamp(22px,3vw,42px);font-weight:300;font-style:italic;color:var(--white);line-height:1.42;margin-bottom:36px;letter-spacing:.01em}
.esencia-quote span{color:var(--teal-light)}
.esencia-div{width:36px;height:1px;background:rgba(93,192,192,.28);margin:0 auto 36px}
.esencia-body{font-size:14.5px;font-weight:300;color:rgba(237,245,244,.7);line-height:1.9;max-width:490px;margin:0 auto}

/* ── IDENTIFICACIÓN ── */
.identify{padding:120px 40px;background:var(--cream-w)}
.identify-inner{max-width:var(--max);margin:0 auto}
.identify-head{margin-bottom:52px}
.identify-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.12}
.identify-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:56px}
.id-card{background:var(--cream);padding:28px 24px;border-left:2px solid transparent;transition:border-color .3s,background .3s;cursor:default}
.id-card:hover{border-left-color:var(--teal);background:var(--white)}
.id-card p{font-size:14px;font-weight:300;color:var(--text);line-height:1.65}
.identify-cta{text-align:center}
.identify-cta p{font-family:var(--serif);font-size:21px;font-style:italic;font-weight:300;color:var(--teal-dark);margin-bottom:30px;max-width:400px;margin-left:auto;margin-right:auto;line-height:1.45}
.btn-outline{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;padding:14px 32px;border:1px solid var(--teal);color:var(--teal);border-radius:2px;transition:all .3s}
.btn-outline:hover{background:var(--teal);color:var(--white)}
.btn-outline--dark{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white)}
.btn-outline--dark:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--white)}

/* ── RETIROS ── */
.retiros{padding:120px 40px;background:var(--cream)}
.retiros-inner{max-width:var(--max);margin:0 auto}
.retiros-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:60px}
.retiros-head h2{font-family:var(--serif);font-size:clamp(32px,4vw,58px);font-weight:300;color:var(--teal-dark);line-height:1.06}
.retiros-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:360px}
.retiros-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:24px}
.r-card{background:var(--cream-w);overflow:hidden;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s}
.r-card:hover{transform:translateY(-7px);box-shadow:0 22px 64px rgba(28,74,72,.1)}
.r-card-img{height:240px;overflow:hidden}
.r-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.r-card:hover .r-card-img img{transform:scale(1.06)}
.r-card-body{padding:26px 24px 28px;flex:1;display:flex;flex-direction:column}
.r-card-dur{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:9px}
.r-card-name{font-family:var(--serif);font-size:26px;font-weight:400;color:var(--teal-dark);line-height:1.12;margin-bottom:5px}
.r-card-tag{font-family:var(--serif);font-size:13.5px;font-style:italic;color:var(--text-lt);margin-bottom:18px}
.r-features{list-style:none;flex:1;display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.r-features li{font-size:13px;font-weight:300;color:var(--text);padding-left:16px;position:relative;line-height:1.5}
.r-features li::before{content:'—';position:absolute;left:0;color:var(--sage)}
.r-cta-row{border-top:1px solid rgba(50,134,140,.1);padding-top:16px}
.r-cta{font-size:9.5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--teal);color:var(--teal);border-radius:2px;display:inline-block;transition:all .28s}
.r-cta:hover{background:var(--teal);color:var(--white)}

.retiros-ver-todos{text-align:center;margin-bottom:4px}
.btn-ver-todos{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:14px 34px;background:transparent;border:1px solid var(--teal-dark);color:var(--teal-dark);border-radius:2px;transition:all .3s}
.btn-ver-todos:hover{background:var(--teal-dark);color:var(--white)}

/* regalo */
.regalo{margin-top:4px;background:var(--teal-dark);padding:68px 56px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.regalo-text h3{font-family:var(--serif);font-size:clamp(28px,3vw,46px);font-weight:300;color:var(--white);line-height:1.12;margin-bottom:18px}
.regalo-text p{font-size:14px;font-weight:300;color:rgba(237,245,244,.7);line-height:1.82;margin-bottom:32px;max-width:380px}
.btn-regalo{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:15px 30px;background:var(--white);color:var(--teal-deep);border-radius:2px;transition:all .3s}
.btn-regalo:hover{background:var(--teal-light);color:var(--teal-deep);transform:translateY(-2px)}
.regalo-visual{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.regalo-img{overflow:hidden;border-radius:2px;height:188px}
.regalo-img:first-child{grid-column:1/-1;height:210px}
.regalo-img img{width:100%;height:100%;object-fit:cover}

.retiros-note{text-align:center;padding:22px 0 0;font-size:12.5px;font-weight:300;color:var(--text-lt);letter-spacing:.04em}

/* ── CABALLOS ── */
.horses{background:var(--teal-deep);padding:120px 40px;position:relative;overflow:hidden}
.horses::after{content:'';position:absolute;bottom:-18%;left:-4%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(50,134,140,.1) 0%,transparent 70%);pointer-events:none}
.horses-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.horses-text h2{font-family:var(--serif);font-size:clamp(26px,3.3vw,48px);font-weight:300;color:var(--white);line-height:1.12;margin-bottom:20px}
.horses-lead{font-size:14.5px;font-weight:300;color:rgba(237,245,244,.7);line-height:1.88;margin-bottom:48px}
.pillars{display:flex;flex-direction:column;gap:28px}
.pillar{display:flex;gap:18px}
.pillar-num{font-family:var(--serif);font-size:14px;font-weight:400;color:var(--teal-light);opacity:.45;flex-shrink:0;padding-top:2px;min-width:22px}
.pillar-content h4{font-size:13px;font-weight:500;color:var(--white);letter-spacing:.03em;margin-bottom:5px}
.pillar-content p{font-size:13px;font-weight:300;color:rgba(237,245,244,.68);line-height:1.7}
.pillar-content cite{display:block;font-size:10px;font-style:italic;color:var(--teal-light);opacity:.55;margin-top:5px}
.horses-vis{display:block}
.hv-main{display:none}
.hv-main img{}
.hv-row{display:grid;grid-template-columns:1fr 1fr;gap:6px;height:520px}
.hv-small{height:100%;overflow:hidden;border-radius:2px;position:relative}
.hv-small img{width:100%;height:100%;object-fit:cover}




/* ── TESTIMONIOS ── */
.testis{padding:120px 40px;background:var(--cream-w)}
.testis-inner{max-width:var(--max);margin:0 auto}
.testis-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:50px;flex-wrap:wrap;gap:20px}
.testis-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,48px);font-weight:300;color:var(--teal-dark);line-height:1.1}
.google-proof{display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.google-stars{display:flex;gap:2px}
.google-stars span{color:#FBBC04;font-size:15px}
.google-meta{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:300;color:var(--text-lt)}
.google-meta a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.g-logo{width:15px;height:15px;flex-shrink:0}
.testis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:30px}
.testi{background:var(--cream);padding:32px 28px}
.testi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.testi-stars{display:flex;gap:2px}
.testi-stars span{color:#FBBC04;font-size:12px}
.testi-source{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-lt);letter-spacing:.05em}
.testi-quote{font-family:var(--serif);font-size:15.5px;font-style:italic;font-weight:300;color:var(--text);line-height:1.72;margin-bottom:22px}
.testi-author{display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(50,134,140,.08);padding-top:15px}
.testi-name{font-size:13px;font-weight:500;color:var(--teal-dark)}
.testi-type{font-size:11px;font-weight:300;color:var(--text-lt)}
.testis-more{text-align:center}
.testis-more a{font-size:13px;font-weight:400;color:var(--text-lt);text-decoration:underline;text-underline-offset:4px;transition:color .25s}
.testis-more a:hover{color:var(--teal)}

/* Testimonio en vídeo — puente entre las FAQ y las reseñas de texto */
.video-testi{padding:100px 40px;background:var(--cream-w)}
.video-testi-inner{max-width:var(--max);margin:0 auto;display:flex;align-items:center;justify-content:center;gap:64px}
.video-testi-media{flex:0 0 auto;width:290px}
.video-testi-media video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;border-radius:3px;background:var(--teal-deep)}
.video-testi-body{max-width:420px}
.video-testi-body .label{margin-bottom:16px}
.video-testi-body .testi-quote{margin-bottom:22px}
.video-testi-author{display:flex;align-items:center;gap:10px;padding-top:15px;border-top:1px solid rgba(50,134,140,.08)}

/* ── LARA ── */
.lara-sec{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--cream)}
.lara-img{position:relative;overflow:hidden}
.lara-img img{width:100%;height:100%;object-fit:cover;object-position:center top}
.lara-body{padding:88px 64px 88px 56px;background:var(--teal-deep);display:flex;flex-direction:column;justify-content:center}
.lara-body h2{font-family:var(--serif);font-size:clamp(38px,4vw,62px);font-weight:300;color:var(--white);line-height:1.06;margin-bottom:24px}
.lara-body h2 em{font-style:italic;color:var(--teal-light)}
.lara-body p{font-size:14px;font-weight:300;color:rgba(237,245,244,.68);line-height:1.86;margin-bottom:10px;max-width:390px}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;font-size:10.5px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:12px 24px;border:1px solid rgba(237,245,244,.18);color:rgba(237,245,244,.68);border-radius:2px;width:fit-content;margin-top:18px;transition:all .3s}
.btn-ghost:hover{border-color:var(--teal-light);color:var(--teal-light)}

/* ── CTA FINAL ── */
.cta-final{padding:130px 40px;background:var(--cream-w);text-align:center}
.cta-final h2{font-family:var(--serif);font-size:clamp(36px,5vw,72px);font-weight:300;color:var(--teal-dark);line-height:1.06;margin-bottom:16px}
.cta-final h2 em{font-style:italic}
.cta-final .sub{font-size:15px;font-weight:300;color:var(--text-mid);max-width:420px;margin:0 auto 50px;line-height:1.78}
.btn-wa{display:inline-flex;align-items:center;gap:13px;font-size:11.5px;font-weight:500;letter-spacing:.13em;text-transform:uppercase;padding:18px 44px;background:var(--teal);color:var(--white);border-radius:2px;transition:all .3s;margin-bottom:22px}
.btn-wa:hover{background:var(--teal-dark);transform:translateY(-3px);box-shadow:0 18px 54px rgba(50,134,140,.26)}
.wa-icon{width:20px;height:20px}
.cta-note{display:block;font-size:12px;font-weight:300;color:var(--text-mid);letter-spacing:.04em;margin-bottom:24px}
.ig-link{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:300;color:var(--text-mid);transition:color .25s}
.ig-link:hover{color:var(--teal)}

/* Enlace de vuelta al listado, al cierre de cada ficha de sesión */
.ses-back-link{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);border-bottom:1px solid rgba(50,134,140,.25);padding-bottom:3px;transition:color .25s,border-color .25s,transform .25s}
.ses-back-link:hover{color:var(--teal-dark);border-color:var(--teal-dark);transform:translateX(-3px)}

/* ── FOOTER ── */
footer{background:var(--teal-deep);padding:64px 40px 30px}
.footer-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
.footer-brand-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}
.footer-logo{width:32px;height:32px;object-fit:contain}
.footer-brand p{font-family:var(--serif);font-size:19px;font-weight:300;color:var(--white);letter-spacing:.05em}
.footer-brand small{font-size:12.5px;font-weight:300;color:rgba(237,245,244,.5);line-height:1.7;display:block;max-width:220px}
.footer-col h5{font-size:9px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:rgba(237,245,244,.5);margin-bottom:16px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:13px;font-weight:300;color:rgba(237,245,244,.65);transition:color .25s}
.footer-col a:hover{color:var(--teal-light)}
.footer-bottom{max-width:var(--max);margin:0 auto;border-top:1px solid rgba(237,245,244,.07);padding-top:24px;display:flex;align-items:center;justify-content:space-between}
.footer-bottom small{font-size:11px;color:rgba(237,245,244,.42)}
.footer-social{display:flex;gap:20px}
.footer-social a{font-size:10.5px;font-weight:400;letter-spacing:.07em;text-transform:uppercase;color:rgba(237,245,244,.55);transition:color .25s}
.footer-social a:hover{color:var(--teal-light)}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr}
  .hero-right{height:50vw;min-height:290px}
  .hero-left{padding:60px 30px 40px}
  .nav-links,.nav-wa{display:none}
  .hamburger{display:flex}
  .retiros-head{grid-template-columns:1fr;gap:32px}
  .retiros-cards{grid-template-columns:1fr;max-width:430px;gap:14px}
  .regalo{grid-template-columns:1fr;gap:40px;padding:52px 32px}
  .horses-inner{grid-template-columns:1fr;gap:48px}
  .testis-grid{grid-template-columns:1fr;max-width:450px}
  .lara-sec{grid-template-columns:1fr}
  .lara-img{min-height:380px}
  .lara-body{padding:56px 32px}
  .identify-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .footer-brand{grid-column:1/-1}
}
@media(max-width:640px){
  .wrap,.retiros,.horses,.testis,.identify,.gallery-intro,.cta-final,footer,.esencia{padding-left:20px;padding-right:20px}
  .nav{padding:18px 20px}
  .nav.pinned{padding:12px 20px}
  .hero-left{padding:50px 20px 30px}
  .gallery-strip{height:230px}
  .g-item:nth-child(5),.g-item:nth-child(6){display:none}
  .identify-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:13px;text-align:center}
  .regalo{padding:44px 20px}
  /* Las dos fotos son verticales y con la escena repartida en todo el encuadre:
     forzarlas a un recuadro corto y ancho las recortaba mal. En móvil se muestran
     enteras, a su proporción natural, en vez de recortadas a una altura fija. */
  .hv-row{grid-template-columns:1fr;height:auto;gap:14px}
  .hv-small{height:auto}
  .hv-small img{height:auto;object-fit:initial;object-position:center!important}
}

/* HERO LOGO GRANDE */
.hero-logo-wrap{display:flex;justify-content:center;width:100%;margin-bottom:28px}
.hero-logo-big{width:300px;height:300px;object-fit:contain;mix-blend-mode:screen;opacity:1}

/* IDENTIFY LIST */
.identify-list{list-style:none;display:flex;flex-direction:column;gap:0;margin-bottom:56px}
.identify-list li{display:flex;align-items:baseline;gap:20px;padding:22px 0;border-bottom:1px solid rgba(46,125,130,.12);transition:padding-left .2s}
.identify-list li:first-child{border-top:1px solid rgba(46,125,130,.12)}

.id-check{font-family:var(--serif);font-size:22px;color:var(--teal);flex-shrink:0;line-height:1;font-style:italic}
.identify-list li span:last-child{font-family:var(--serif);font-size:clamp(18px,2.2vw,26px);font-weight:300;color:var(--teal-dark);line-height:1.3}

/* PILLAR sin número */
.pillar{display:flex;gap:0;flex-direction:column;border-left:2px solid rgba(255,255,255,.15);padding-left:24px;margin-bottom:32px}
.pillar-num{display:none}

/* subtítulo retiro card */
.r-card-sub{font-size:13px;font-weight:300;color:#5a8080;line-height:1.5;margin-bottom:12px;font-style:italic}

.cta-instagram-note{font-size:13px;color:rgba(255,255,255,.5);margin-top:20px;letter-spacing:.03em}
.r-scarcity{font-size:11px;color:var(--teal-mid,#3D9199);letter-spacing:.06em;text-transform:uppercase;margin-top:10px;opacity:.8}

/* ── YOGA AÉREO ── */
.ya-hero{min-height:100svh;display:grid;grid-template-columns:52% 48%}
.ya-hero-right{background:var(--teal-deep);display:flex;flex-direction:column;justify-content:flex-end;padding:60px 56px 60px 48px;position:relative;overflow:hidden}
.ya-hero-right::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 55% at 80% 15%,rgba(50,134,140,.25) 0%,transparent 65%),radial-gradient(ellipse 50% 60% at 20% 90%,rgba(99,144,88,.1) 0%,transparent 60%);pointer-events:none}
.ya-hero-tag{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-light);margin-bottom:24px;display:block}
.ya-hero-h1{font-family:var(--serif);font-size:clamp(42px,5vw,76px);font-weight:300;line-height:1.06;letter-spacing:-.01em;color:var(--white);margin-bottom:24px;position:relative;text-shadow:0 2px 20px rgba(10,28,28,.4)}
.ya-hero-h1 em{font-style:italic;color:#9AD9D7}
.ya-hero-desc{font-size:14px;font-weight:300;color:rgba(237,245,244,.82);line-height:1.82;margin-bottom:48px;max-width:380px;position:relative;text-shadow:0 1px 12px rgba(10,28,28,.35)}
.ya-hero-cta{display:flex;align-items:center;gap:24px;position:relative}
.ya-hero-img{position:relative;overflow:hidden}
.ya-hero-img img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.ya-que-es{padding:120px 40px;background:var(--cream)}
.ya-que-es-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.ya-que-es-text h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:24px}
.ya-que-es-text p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.88;margin-bottom:16px;max-width:480px}
.ya-que-es-img{border-radius:2px;overflow:hidden;height:560px}
.ya-que-es-img img{width:100%;height:100%;object-fit:cover}
.ya-para-quien{padding:120px 40px;background:var(--teal-dark)}
.ya-para-quien-inner{max-width:var(--max);margin:0 auto;text-align:center}
.ya-para-quien h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:16px}
.ya-para-quien .intro{font-size:14.5px;font-weight:300;color:rgba(237,245,244,.7);line-height:1.82;max-width:520px;margin:0 auto 64px}
.ya-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:52px}
.ya-card{background:rgba(237,245,244,.05);padding:36px 32px;text-align:left;border-top:1px solid rgba(255,255,255,.07)}
.ya-card-icon{font-family:var(--serif);font-size:30px;font-weight:300;font-style:italic;color:var(--teal-light);margin-bottom:16px;line-height:1}
.ya-card h4{font-size:13px;font-weight:500;color:var(--white);letter-spacing:.04em;margin-bottom:10px}
.ya-card p{font-size:13.5px;font-weight:300;color:rgba(237,245,244,.68);line-height:1.72}
.ya-como{padding:120px 40px;background:var(--cream-w)}
.ya-como-inner{max-width:var(--max);margin:0 auto}
.ya-como-head{margin-bottom:64px}
.ya-como-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ya-como-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ya-pasos{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.ya-paso{background:var(--cream);padding:32px 26px;border-top:2px solid transparent;transition:border-color .3s}
.ya-paso:hover{border-top-color:var(--teal)}
.ya-paso-num{font-family:var(--serif);font-size:13px;font-style:italic;color:var(--teal-light);margin-bottom:14px}
.ya-paso h4{font-family:var(--serif);font-size:20px;font-weight:300;color:var(--teal-dark);margin-bottom:10px}
.ya-paso p{font-size:13px;font-weight:300;color:var(--text-mid);line-height:1.72}
.ya-modalidades{padding:120px 40px;background:var(--cream)}
.ya-modalidades-inner{max-width:var(--max);margin:0 auto}
.ya-modalidades-head{margin-bottom:56px}
.ya-modalidades-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ya-modalidades-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ya-mods{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ya-mod{background:var(--cream-w);padding:44px 40px;display:flex;flex-direction:column}
.ya-mod-label{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.ya-mod h3{font-family:var(--serif);font-size:clamp(24px,2.5vw,36px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:16px}
.ya-mod p{font-size:14px;font-weight:300;color:var(--text-mid);line-height:1.82;margin-bottom:24px;flex:1}
.ya-mod-includes{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:32px}
.ya-mod-includes li{font-size:13px;font-weight:300;color:var(--text);padding-left:16px;position:relative;line-height:1.5}
.ya-mod-includes li::before{content:'—';position:absolute;left:0;color:var(--sage)}
.ya-lara{display:grid;grid-template-columns:1fr 1fr;min-height:580px;background:var(--cream-w)}
.ya-lara-body{padding:88px 64px 88px 56px;background:var(--teal-deep);display:flex;flex-direction:column;justify-content:center}
.ya-lara-body h2{font-family:var(--serif);font-size:clamp(30px,3.5vw,52px);font-weight:300;color:var(--white);line-height:1.08;margin-bottom:24px}
.ya-lara-body h2 em{font-style:italic;color:var(--teal-light)}
.ya-lara-body p{font-size:14px;font-weight:300;color:rgba(237,245,244,.68);line-height:1.86;margin-bottom:10px;max-width:390px}
.ya-lara-img{position:relative;overflow:hidden}
.ya-lara-img img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
@media(max-width:1024px){
  .ya-hero{grid-template-columns:1fr}
  .ya-hero-img{height:55vw;min-height:300px}
  .ya-hero-right{padding:52px 30px 48px}
  .ya-que-es-inner{grid-template-columns:1fr;gap:48px}
  .ya-que-es-img{height:340px}
  .ya-cards{grid-template-columns:1fr}
  .ya-pasos{grid-template-columns:1fr 1fr}
  .ya-mods{grid-template-columns:1fr}
  .ya-lara{grid-template-columns:1fr}
  .ya-lara-img{min-height:360px}
  .ya-lara-body{padding:56px 32px}
}
@media(max-width:640px){
  .ya-que-es,.ya-para-quien,.ya-como,.ya-modalidades{padding-left:20px;padding-right:20px}
  .ya-pasos{grid-template-columns:1fr}
  .ya-hero-right{padding:44px 20px 40px}
}

/* ── YOGA AÉREO — HORARIOS ── */
.ya-horarios{padding:120px 40px;background:var(--cream-w)}
.ya-horarios-inner{max-width:var(--max);margin:0 auto}
.ya-horarios-head{margin-bottom:56px}
.ya-horarios-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ya-horarios-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ya-hor-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ya-hor-col{background:var(--cream);padding:40px 36px}
.ya-hor-col-title{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:8px}
.ya-hor-col h3{font-family:var(--serif);font-size:24px;font-weight:300;color:var(--teal-dark);margin-bottom:28px;line-height:1.2}
.ya-hor-table{width:100%;border-collapse:collapse}
.ya-hor-table tr{border-bottom:1px solid rgba(50,134,140,.08)}
.ya-hor-table td{padding:14px 0;font-size:13.5px;font-weight:300;color:var(--text-mid);line-height:1.5;vertical-align:top}
.ya-hor-table td:first-child{font-weight:500;color:var(--teal-dark);width:45%;padding-right:16px}
.ya-hor-empty{font-style:italic;color:var(--text-lt)}
.ya-hor-note{font-size:12px;font-weight:300;color:var(--text-lt);margin-top:20px;line-height:1.6}

/* ── YOGA AÉREO — PRECIOS ── */
.ya-precios{padding:120px 40px;background:var(--teal-deep)}
.ya-precios-inner{max-width:var(--max);margin:0 auto}
.ya-precios-head{margin-bottom:56px}
.ya-precios-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:14px}
.ya-precios-head p{font-size:14.5px;font-weight:300;color:rgba(237,245,244,.7);line-height:1.82;max-width:520px}
.ya-precio-cards{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ya-precio-card{background:rgba(237,245,244,.06);padding:44px 40px;border-top:2px solid rgba(93,192,192,.2)}
.ya-precio-card-tag{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-light);margin-bottom:12px}
.ya-precio-card h3{font-family:var(--serif);font-size:28px;font-weight:300;color:var(--white);line-height:1.1;margin-bottom:32px}
.ya-precio-list{list-style:none}
.ya-precio-item{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid rgba(237,245,244,.07)}
.ya-precio-item:first-child{border-top:1px solid rgba(237,245,244,.07)}
.ya-precio-item-name{font-size:14px;font-weight:300;color:rgba(237,245,244,.65);line-height:1.4;max-width:65%}
.ya-precio-item-price{font-family:var(--serif);font-size:22px;font-weight:300;color:var(--teal-light);white-space:nowrap;padding-left:16px}
.ya-precio-note{font-size:12.5px;font-weight:300;color:rgba(237,245,244,.68);margin-top:24px;line-height:1.7}

/* ── YOGA AÉREO — UBICACIÓN ── */
.ya-ubicacion{padding:120px 40px;background:var(--cream)}
.ya-ubicacion-inner{max-width:var(--max);margin:0 auto}
.ya-ubicacion-head{margin-bottom:56px}
.ya-ubicacion-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ya-ubicacion-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ya-loc-cards{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.ya-loc-card{background:var(--cream-w);overflow:hidden;display:flex;flex-direction:column}
.ya-loc-img{height:320px;overflow:hidden;position:relative}
.ya-loc-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.ya-loc-card:hover .ya-loc-img img{transform:scale(1.04)}
.ya-loc-body{padding:36px 32px;flex:1;display:flex;flex-direction:column}
.ya-loc-tag{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}
.ya-loc-body h3{font-family:var(--serif);font-size:clamp(22px,2.5vw,32px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ya-loc-body p{font-size:13.5px;font-weight:300;color:var(--text-mid);line-height:1.82;margin-bottom:16px;flex:1}
.ya-loc-detail{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;font-weight:300;color:var(--text-lt);margin-bottom:6px;line-height:1.5}
.ya-loc-maps{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-top:20px;transition:color .25s;border-bottom:1px solid rgba(50,134,140,.2);padding-bottom:2px}
.ya-loc-maps:hover{color:var(--teal-dark)}
.ya-loc-img-placeholder{width:100%;height:100%;background:var(--sand);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-lt);letter-spacing:.1em;text-transform:uppercase}

@media(max-width:1024px){
  .ya-hor-grid,.ya-precio-cards,.ya-loc-cards{grid-template-columns:1fr}
}
@media(max-width:640px){
  .ya-horarios,.ya-precios,.ya-ubicacion{padding-left:20px;padding-right:20px}
  .ya-hor-col{padding:32px 20px}
  .ya-precio-card{padding:36px 24px}
  .ya-loc-body{padding:28px 20px}
}

/* ── PILLAR OVERRIDES — sección clara ── */
.ya-que-es .pillar{border-left-color:rgba(50,134,140,.25)}
.ya-que-es .pillar-content h4{color:var(--teal-dark)}
.ya-que-es .pillar-content p{color:var(--text-mid)}

/* ── FIX cta-instagram-note (fondo crema) ── */
.cta-instagram-note{color:var(--text-lt)}

/* ── YOGA AÉREO — hero logo centrado ── */
.ya-hero-right{justify-content:center}

/* ── GALERÍA CAROUSEL ── */
.ya-galeria{background:var(--teal-deep);overflow:hidden}
.ya-galeria-head{text-align:center;padding:80px 40px 52px}
.ya-galeria-head h2{font-family:var(--serif);font-size:clamp(26px,3vw,44px);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:10px}
.ya-galeria-head p{font-size:14px;font-weight:300;color:rgba(237,245,244,.68);max-width:460px;margin:0 auto}
.ya-carousel{position:relative;height:560px;overflow:hidden}
.ya-carousel-slide{position:absolute;inset:0;opacity:0;transition:opacity .9s ease}
.ya-carousel-slide.active{opacity:1}
.ya-carousel-slide img{width:100%;height:100%;object-fit:cover}
.ya-carousel-nav{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}
.ya-carousel-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.22);border:none;cursor:pointer;padding:0;transition:all .3s}
.ya-carousel-dot.active{background:var(--teal-light);transform:scale(1.3)}
@media(max-width:640px){.ya-carousel{height:300px}.ya-galeria-head{padding:56px 20px 36px}}

/* ── PAGE HERO (retiros, sesiones, otras páginas) ── */
.page-hero{min-height:65vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--teal-deep)}
.page-hero-img{position:absolute;inset:0}
.page-hero-img img{width:100%;height:100%;object-fit:cover;opacity:.28;object-position:center 35%}
.page-hero-body{position:relative;z-index:2;padding:80px 40px 72px;max-width:var(--max);margin:0 auto;width:100%}
.page-hero-tag{font-size:10px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--teal-light);margin-bottom:20px;display:block}
.page-hero-h1{font-family:var(--serif);font-size:clamp(40px,5vw,74px);font-weight:300;line-height:1.06;letter-spacing:-.01em;color:var(--white);margin-bottom:20px;text-shadow:0 2px 20px rgba(10,28,28,.4)}
.page-hero-h1 em{font-style:italic;color:#9AD9D7}
.page-hero-desc{font-size:14px;font-weight:300;color:rgba(237,245,244,.82);line-height:1.82;max-width:460px;text-shadow:0 1px 12px rgba(10,28,28,.35)}
@media(max-width:640px){.page-hero-body{padding:60px 20px 52px}}

/* ── RETIRO DETAIL EXPANDABLE ── */
.r-detail{display:none;background:var(--cream-w);border-top:2px solid var(--teal)}
.r-detail.open{display:block}
.r-detail-inner{max-width:var(--max);margin:0 auto;padding:64px 40px}
.r-detail-body{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:start;margin-top:28px}
.r-detail h3{font-family:var(--serif);font-size:clamp(26px,3vw,44px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:10px}
.r-detail-dur{font-size:9.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--teal)}
.r-detail-desc p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.88;margin-bottom:14px}
.r-detail-aside{background:var(--cream);padding:36px 30px}
.r-detail-aside h4{font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:18px}
.r-detail-aside p{font-size:13.5px;font-weight:300;color:var(--text-mid);line-height:1.7;margin-bottom:14px}
.r-cta.active{background:var(--teal);color:var(--white);border-color:var(--teal)}
@media(max-width:1024px){.r-detail-body{grid-template-columns:1fr;gap:36px}}
@media(max-width:640px){.r-detail-inner{padding:48px 20px}}

/* ── RETIROS OVERVIEW PAGE ── */
.ret-section{padding:90px 40px;background:var(--cream)}
.ret-section-inner{max-width:var(--max);margin:0 auto}
.ret-head{margin-bottom:60px}
.ret-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ret-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ret-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.ret-detalles-sec{padding:80px 40px;background:var(--teal-dark)}
.ret-detalles-sec-inner{max-width:var(--max);margin:0 auto}
.ret-detalles-sec h2{font-family:var(--serif);font-size:clamp(24px,3vw,40px);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:28px}
.ret-detalles-sec p{font-size:14.5px;font-weight:300;color:rgba(237,245,244,.68);line-height:1.88;margin-bottom:14px;max-width:680px}
@media(max-width:1024px){.ret-cards{grid-template-columns:1fr}}
@media(max-width:640px){.ret-section,.ret-detalles-sec{padding-left:20px;padding-right:20px}}

/* ── SESIONES OVERVIEW PAGE ── */
.ses-section{padding:90px 40px;background:var(--cream)}
.ses-section-inner{max-width:var(--max);margin:0 auto}
.ses-head{margin-bottom:60px}
.ses-head h2{font-family:var(--serif);font-size:clamp(28px,3.5vw,50px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:14px}
.ses-head p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.82;max-width:520px}
.ses-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.ses-detail{display:none;background:var(--cream-w);border-top:2px solid var(--teal)}
.ses-detail.open{display:block}
.ses-detail-inner{max-width:var(--max);margin:0 auto;padding:64px 40px}
.ses-detail h3{font-family:var(--serif);font-size:clamp(24px,3vw,42px);font-weight:300;color:var(--teal-dark);line-height:1.1;margin-bottom:16px}
.ses-detail p{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.88;margin-bottom:14px;max-width:680px}
.ses-detail-coming{font-family:var(--serif);font-size:17px;font-style:italic;color:var(--teal);margin-top:8px}
@media(max-width:1024px){.ses-cards{grid-template-columns:1fr 1fr}}

/* ── OVERVIEW VERTICAL LIST (retiros + sesiones) ── */
.rlist{}
.rlist-item{display:grid;grid-template-columns:1fr 1fr;min-height:500px}
.rlist-item:nth-child(even){direction:rtl}
.rlist-item:nth-child(even)>*{direction:ltr}
.rlist-img{overflow:hidden}
.rlist-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s ease}
.rlist-item:hover .rlist-img img{transform:scale(1.04)}
.rlist-body{padding:72px 80px;display:flex;flex-direction:column;justify-content:center;gap:18px;background:var(--cream-w)}
.rlist-item:nth-child(even) .rlist-body{background:var(--cream)}
.rlist-kicker{font:300 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);display:block}
.rlist-h2{font:300 clamp(32px,3.5vw,52px)/1.05 var(--serif);color:var(--text);margin:0}
.rlist-h2 em{font-style:italic;color:var(--teal)}
.rlist-desc{font:300 15px/1.82 var(--sans);color:var(--text-mid);max-width:440px}
.rlist-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.rlist-feats li{font:300 13.5px/1.5 var(--sans);color:var(--text);padding-left:18px;position:relative}
.rlist-feats li::before{content:'—';position:absolute;left:0;color:var(--teal)}
.rlist-cta-row{display:flex;gap:14px;align-items:center;margin-top:6px}
@media(max-width:900px){
  .rlist-item{grid-template-columns:1fr;min-height:auto}
  .rlist-item:nth-child(even){direction:ltr}
  .rlist-img{height:280px}
  .rlist-body{padding:48px 24px;gap:14px}
}

/* ── DETAIL PAGE CONTENT (retiro + sesion individual) ── */
.detail-section{background:var(--cream-w);padding:80px 40px}
.detail-wrap{max-width:var(--max);margin:0 auto}
.detail-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:start}
.detail-lead{font:300 20px/1.75 var(--serif);color:var(--text);margin-bottom:24px}
.detail-body-p{font:300 15px/1.85 var(--sans);color:var(--text-mid);margin-bottom:18px}
.detail-h-small{font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin:28px 0 12px}
.detail-feats{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.detail-feats li{font:300 15px/1.5 var(--sans);color:var(--text);padding-left:20px;position:relative}
.detail-feats li::before{content:'—';position:absolute;left:0;color:var(--teal)}
.detail-aside-box{background:var(--cream);border-left:3px solid var(--teal);padding:36px 32px;margin-bottom:24px}
.detail-aside-box h4{font:500 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:10px;margin-top:20px}
.detail-aside-box h4:first-child{margin-top:0}
.detail-aside-box p{font:300 14px/1.72 var(--sans);color:var(--text-mid)}
.detail-aside-note{font:300 13px/1.6 var(--sans);color:var(--teal-dark);font-style:italic;margin-top:12px}
@media(max-width:900px){.detail-grid{grid-template-columns:1fr;gap:40px}.detail-section{padding:60px 20px}}

/* ── CONOCEME ── */
.km-section{padding:90px 40px;background:var(--cream-w)}
.km-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.km-lead{font:300 20px/1.75 var(--serif);color:var(--text);margin-bottom:20px}
.km-body p{font:300 15px/1.85 var(--sans);color:var(--text-mid);margin-bottom:18px}
.km-img-col{overflow:hidden}
.km-img-col img{width:100%;height:600px;object-fit:cover;display:block}
.km-formacion-section{padding:90px 40px;background:var(--cream)}
.km-formacion-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:start}
.km-formacion-inner h2{font:300 clamp(28px,3.5vw,50px)/1.1 var(--serif);color:var(--teal-dark);position:sticky;top:100px}
.km-formacion-inner h2 em{font-style:italic}
.km-form-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px}
.km-form-item{display:flex;align-items:center;gap:20px;padding:22px 24px;background:var(--cream-w)}
.km-form-item:nth-child(even){background:var(--sand)}
.km-form-bar{width:3px;height:28px;background:var(--teal);flex-shrink:0}
.km-form-item span{font:300 15px/1.4 var(--sans);color:var(--text)}
.km-quote-section{padding:80px 40px;background:var(--teal-deep);text-align:center}
.km-quote{font:300 clamp(22px,3vw,40px)/1.35 var(--serif);color:var(--white);font-style:italic;max-width:740px;margin:0 auto 24px}
.km-quote-cite{font:300 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-light)}
.km-inner--long{grid-template-columns:1.2fr 1fr}
.km-inner--long .km-img-col{position:sticky;top:100px}
.km-body h2{font:300 clamp(26px,3vw,42px)/1.12 var(--serif);color:var(--teal-dark);margin-bottom:28px}
.km-body h2 em{font-style:italic}
@media(max-width:900px){
  .km-inner,.km-formacion-inner,.km-inner--long{grid-template-columns:1fr;gap:40px}
  .km-section,.km-formacion-section,.km-quote-section{padding-left:20px;padding-right:20px}
  .km-img-col img{height:380px}
  .km-formacion-inner h2{position:static}
  .km-inner--long .km-img-col{position:static}
}

/* ── EL ESPACIO ── */
.esp-section{padding:90px 40px;background:var(--cream-w)}
.esp-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.esp-text h2{font:300 clamp(28px,3.5vw,50px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:24px}
.esp-text h2 em{font-style:italic}
.esp-text p{font:300 15px/1.85 var(--sans);color:var(--text-mid);margin-bottom:16px}
.esp-img{overflow:hidden}
.esp-img img{width:100%;height:560px;object-fit:cover;display:block}
.esp-caballos-section{padding:90px 40px;background:var(--teal-deep)}
.esp-caballos-inner{max-width:var(--max);margin:0 auto}
.esp-caballos-inner h2{font:300 clamp(28px,3.5vw,52px)/1.1 var(--serif);color:var(--white);margin-bottom:12px}
.esp-caballos-inner h2 em{font-style:italic;color:var(--teal-light)}
.esp-caballos-intro{font:300 15px/1.82 var(--sans);color:rgba(237,245,244,.7);margin-bottom:52px;max-width:580px}
.esp-caballos-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:56px}
.esp-caballo{overflow:visible;display:flex;flex-direction:column;align-items:center;text-align:center}
.esp-caballo-img{width:100%;max-width:260px;aspect-ratio:1;overflow:hidden;margin-bottom:20px}
.esp-caballo-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.esp-caballo:hover .esp-caballo-img img{transform:scale(1.04)}
.esp-caballo-body{padding:0 4px 36px;max-width:460px;margin:0 auto}
/* La misma forma (un "pick" redondeado, como la referencia) girada en un ángulo distinto para cada caballo,
   elegido para que la punta caiga fuera de la cara — SVG clipPath en el markup */
.esp-caballo:nth-child(1) .esp-caballo-img{clip-path:polygon(70.29% 93.50%,68.63% 94.52%,66.75% 95.27%,64.68% 95.76%,62.43% 96.03%,60.04% 96.09%,57.54% 95.96%,54.94% 95.66%,52.29% 95.21%,49.60% 94.62%,46.90% 93.92%,44.23% 93.12%,41.60% 92.25%,39.04% 91.33%,36.59% 90.36%,34.26% 89.38%,32.09% 88.40%,29.95% 87.37%,27.70% 86.22%,25.39% 84.96%,23.03% 83.60%,20.68% 82.14%,18.35% 80.60%,16.08% 78.99%,13.90% 77.30%,11.84% 75.56%,9.94% 73.77%,8.23% 71.94%,6.74% 70.07%,5.51% 68.17%,4.56% 66.26%,3.92% 64.34%,3.64% 62.42%,3.71% 60.44%,4.12% 58.34%,4.83% 56.14%,5.82% 53.85%,7.05% 51.51%,8.50% 49.12%,10.15% 46.71%,11.96% 44.29%,13.90% 41.89%,15.95% 39.52%,18.07% 37.20%,20.25% 34.96%,22.45% 32.80%,24.64% 30.75%,26.80% 28.84%,28.90% 27.07%,31.07% 25.32%,33.43% 23.50%,35.97% 21.64%,38.64% 19.76%,41.41% 17.90%,44.25% 16.10%,47.13% 14.38%,50.02% 12.78%,52.88% 11.34%,55.68% 10.08%,58.39% 9.04%,60.98% 8.26%,63.41% 7.76%,65.65% 7.58%,67.67% 7.75%,69.44% 8.31%,71.00% 9.31%,72.44% 10.75%,73.74% 12.58%,74.92% 14.76%,75.98% 17.25%,76.93% 19.99%,77.77% 22.94%,78.50% 26.06%,79.13% 29.30%,79.67% 32.61%,80.11% 35.95%,80.47% 39.27%,80.75% 42.52%,80.95% 45.66%,81.07% 48.64%,81.13% 51.42%,81.12% 54.17%,81.04% 57.05%,80.88% 60.05%,80.65% 63.12%,80.32% 66.23%,79.92% 69.35%,79.42% 72.44%,78.83% 75.47%,78.14% 78.41%,77.35% 81.22%,76.45% 83.87%,75.45% 86.32%,74.33% 88.55%,73.10% 90.51%,71.76% 92.17%)}
.esp-caballo:nth-child(2) .esp-caballo-img{clip-path:polygon(10.68% 77.53%,9.39% 76.08%,8.33% 74.36%,7.48% 72.40%,6.82% 70.24%,6.35% 67.89%,6.04% 65.41%,5.89% 62.80%,5.88% 60.10%,5.99% 57.35%,6.21% 54.58%,6.53% 51.80%,6.93% 49.06%,7.40% 46.38%,7.92% 43.80%,8.48% 41.34%,9.07% 39.03%,9.72% 36.74%,10.46% 34.33%,11.30% 31.83%,12.23% 29.28%,13.25% 26.70%,14.37% 24.14%,15.56% 21.63%,16.84% 19.19%,18.20% 16.86%,19.64% 14.68%,21.14% 12.68%,22.73% 10.89%,24.38% 9.34%,26.09% 8.07%,27.87% 7.11%,29.71% 6.50%,31.68% 6.23%,33.82% 6.26%,36.11% 6.58%,38.53% 7.16%,41.06% 7.97%,43.66% 8.98%,46.32% 10.18%,49.01% 11.54%,51.72% 13.04%,54.41% 14.64%,57.06% 16.34%,59.65% 18.09%,62.15% 19.88%,64.55% 21.69%,66.81% 23.48%,68.92% 25.24%,71.01% 27.07%,73.22% 29.09%,75.50% 31.26%,77.81% 33.56%,80.12% 35.97%,82.39% 38.45%,84.58% 40.99%,86.65% 43.56%,88.57% 46.12%,90.30% 48.66%,91.79% 51.15%,93.01% 53.56%,93.93% 55.87%,94.49% 58.05%,94.67% 60.07%,94.43% 61.91%,93.72% 63.62%,92.55% 65.28%,90.97% 66.88%,89.03% 68.42%,86.77% 69.90%,84.23% 71.31%,81.47% 72.65%,78.52% 73.91%,75.44% 75.09%,72.28% 76.20%,69.07% 77.21%,65.86% 78.14%,62.71% 78.98%,59.65% 79.72%,56.73% 80.36%,54.01% 80.91%,51.30% 81.37%,48.44% 81.79%,45.47% 82.16%,42.40% 82.46%,39.28% 82.68%,36.14% 82.82%,33.01% 82.87%,29.92% 82.81%,26.90% 82.64%,24.00% 82.35%,21.24% 81.93%,18.65% 81.37%,16.26% 80.66%,14.12% 79.79%,12.25% 78.75%)}
.esp-caballo:nth-child(3) .esp-caballo-img{clip-path:polygon(89.32% 77.53%,88.39% 79.24%,87.14% 80.82%,85.59% 82.29%,83.78% 83.65%,81.74% 84.90%,79.51% 86.04%,77.11% 87.07%,74.59% 88.01%,71.96% 88.84%,69.28% 89.58%,66.56% 90.23%,63.85% 90.79%,61.17% 91.27%,58.57% 91.66%,56.06% 91.98%,53.69% 92.21%,51.32% 92.39%,48.80% 92.52%,46.16% 92.58%,43.45% 92.58%,40.68% 92.50%,37.89% 92.33%,35.11% 92.07%,32.39% 91.70%,29.74% 91.22%,27.20% 90.61%,24.80% 89.88%,22.57% 89.01%,20.55% 87.98%,18.77% 86.81%,17.27% 85.46%,16.06% 83.94%,15.13% 82.19%,14.43% 80.16%,13.95% 77.90%,13.66% 75.43%,13.56% 72.78%,13.62% 69.99%,13.84% 67.08%,14.20% 64.08%,14.68% 61.03%,15.27% 57.95%,15.95% 54.88%,16.72% 51.85%,17.54% 48.88%,18.42% 46.01%,19.33% 43.27%,20.26% 40.69%,21.27% 38.10%,22.41% 35.34%,23.67% 32.45%,25.04% 29.49%,26.51% 26.50%,28.07% 23.51%,29.71% 20.59%,31.41% 17.76%,33.16% 15.08%,34.96% 12.59%,36.79% 10.34%,38.64% 8.36%,40.49% 6.72%,42.34% 5.44%,44.18% 4.58%,45.99% 4.18%,47.84% 4.26%,49.80% 4.79%,51.85% 5.72%,53.96% 7.02%,56.12% 8.65%,58.32% 10.55%,60.52% 12.69%,62.71% 15.02%,64.88% 17.51%,67.00% 20.11%,69.05% 22.77%,71.02% 25.47%,72.89% 28.15%,74.63% 30.77%,76.23% 33.29%,77.67% 35.66%,79.04% 38.05%,80.41% 40.59%,81.77% 43.26%,83.10% 46.04%,84.38% 48.89%,85.58% 51.80%,86.70% 54.73%,87.70% 57.65%,88.57% 60.54%,89.29% 63.37%,89.84% 66.11%,90.20% 68.73%,90.35% 71.22%,90.26% 73.53%,89.93% 75.64%)}
.esp-caballo:nth-child(4) .esp-caballo-img{clip-path:polygon(91.57% 74.00%,90.80% 75.78%,89.69% 77.47%,88.27% 79.07%,86.59% 80.58%,84.67% 82.00%,82.54% 83.33%,80.24% 84.57%,77.81% 85.72%,75.27% 86.78%,72.65% 87.75%,70.01% 88.64%,67.35% 89.43%,64.73% 90.14%,62.16% 90.76%,59.70% 91.29%,57.36% 91.73%,55.01% 92.11%,52.51% 92.46%,49.89% 92.75%,47.18% 92.99%,44.42% 93.15%,41.62% 93.22%,38.84% 93.20%,36.09% 93.07%,33.41% 92.83%,30.82% 92.45%,28.37% 91.92%,26.08% 91.25%,23.98% 90.41%,22.10% 89.39%,20.48% 88.18%,19.15% 86.77%,18.07% 85.10%,17.20% 83.15%,16.52% 80.94%,16.02% 78.50%,15.68% 75.87%,15.50% 73.08%,15.47% 70.16%,15.56% 67.15%,15.78% 64.06%,16.09% 60.95%,16.51% 57.83%,17.00% 54.74%,17.57% 51.71%,18.19% 48.78%,18.86% 45.97%,19.56% 43.31%,20.34% 40.65%,21.23% 37.80%,22.24% 34.81%,23.35% 31.74%,24.55% 28.63%,25.85% 25.53%,27.22% 22.47%,28.67% 19.50%,30.18% 16.68%,31.76% 14.04%,33.38% 11.64%,35.05% 9.51%,36.75% 7.71%,38.49% 6.28%,40.24% 5.26%,42.01% 4.70%,43.87% 4.62%,45.86% 4.98%,47.98% 5.73%,50.20% 6.84%,52.50% 8.27%,54.85% 9.97%,57.23% 11.91%,59.61% 14.05%,61.99% 16.34%,64.33% 18.74%,66.61% 21.22%,68.80% 23.73%,70.89% 26.24%,72.86% 28.69%,74.67% 31.06%,76.32% 33.31%,77.88% 35.56%,79.47% 37.97%,81.06% 40.52%,82.63% 43.17%,84.15% 45.90%,85.61% 48.69%,86.97% 51.51%,88.22% 54.33%,89.35% 57.14%,90.31% 59.89%,91.10% 62.57%,91.68% 65.16%,92.04% 67.62%,92.16% 69.93%,92.01% 72.07%)}
.esp-caballo-name{font:300 clamp(26px,2.5vw,40px)/1.05 var(--serif);color:var(--white);margin-bottom:8px}
.esp-caballo-energy{font:300 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--teal-light);margin-bottom:18px}
.esp-caballo-body p{font:300 14.5px/1.8 var(--sans);color:rgba(237,245,244,.7)}
.esp-fotos-section{padding:90px 40px;background:var(--cream)}
.esp-fotos-inner{max-width:var(--max);margin:0 auto}
.esp-fotos-h{font:300 clamp(28px,3.5vw,50px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:52px;text-align:center}
.esp-fotos-h em{font-style:italic}
.esp-fotos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.esp-foto{overflow:hidden;aspect-ratio:3/4;position:relative}
.esp-foto img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.esp-foto:hover img{transform:scale(1.06)}
.esp-llegar-section{padding:80px 40px;background:var(--cream-w)}
.esp-llegar-inner{max-width:var(--max);margin:0 auto}
.esp-llegar-inner h2{font:300 clamp(26px,3vw,44px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:40px}
.esp-llegar-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.esp-llegar-item{display:flex;flex-direction:column;gap:10px;padding:36px 32px;background:var(--cream)}
.esp-llegar-item:nth-child(even){background:var(--cream-w)}
.esp-llegar-item h4{font:500 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--teal)}
.esp-llegar-item p{font:300 14.5px/1.72 var(--sans);color:var(--text-mid)}
@media(max-width:900px){
  .esp-inner,.esp-caballos-grid,.esp-fotos-grid,.esp-llegar-grid{grid-template-columns:1fr}
  .esp-section,.esp-caballos-section,.esp-fotos-section,.esp-llegar-section{padding-left:20px;padding-right:20px}
  .esp-img img{height:320px}
}
@media(max-width:640px){.ses-section{padding-left:20px;padding-right:20px}.ses-cards{grid-template-columns:1fr}.ses-detail-inner{padding:48px 20px}}

/* ── SESIÓN: QUÉ OCURRE + FAQ ── */
.ses-process{padding:80px 40px;background:var(--cream)}
.ses-process-inner{max-width:860px;margin:0 auto}
.ses-process-inner h2{font:300 clamp(26px,3vw,44px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:44px}
.ses-steps{list-style:none;padding:0;margin:0;counter-reset:step;display:flex;flex-direction:column;gap:2px}
.ses-steps li{counter-increment:step;display:flex;gap:24px;padding:28px 32px;background:var(--cream-w);align-items:flex-start}
.ses-steps li:nth-child(even){background:var(--sand)}
.ses-steps li::before{content:counter(step);font:300 28px/1 var(--serif);color:var(--teal);flex-shrink:0;min-width:32px}
.ses-steps li span,.ses-steps li{font:300 15px/1.8 var(--sans);color:var(--text-mid)}
.ses-faq-section{padding:80px 40px;background:var(--cream-w)}
.ses-faq-inner{max-width:860px;margin:0 auto}
.ses-faq-inner h2{font:300 clamp(26px,3vw,44px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:44px}
.ses-faq-list{display:flex;flex-direction:column;gap:2px}
.ses-faq-item{padding:32px 36px;background:var(--cream)}
.ses-faq-item:nth-child(even){background:var(--cream-w)}
.ses-faq-item h4{font:500 13px/1 var(--sans);letter-spacing:.06em;color:var(--teal-dark);margin-bottom:12px}
.ses-faq-item p{font:300 14.5px/1.82 var(--sans);color:var(--text-mid);margin:0}
.ses-retiro-cta{padding:100px 40px;background:var(--teal-deep);text-align:center}
.ses-retiro-cta-inner{max-width:640px;margin:0 auto}
.ses-retiro-cta .label{color:var(--teal-light);margin-bottom:20px}
.ses-retiro-cta h2{font:300 clamp(28px,3.5vw,52px)/1.06 var(--serif);color:var(--white);margin-bottom:20px}
.ses-retiro-cta h2 em{font-style:italic}
.ses-retiro-cta p{font:300 15px/1.8 var(--sans);color:rgba(237,245,244,.68);max-width:480px;margin:0 auto 40px}
.btn-outline-light{display:inline-flex;align-items:center;gap:10px;padding:14px 28px;border:1px solid rgba(237,245,244,.35);color:var(--white);font:400 13px/1 var(--sans);letter-spacing:.06em;transition:background .2s,border-color .2s}
.btn-outline-light:hover{background:rgba(237,245,244,.08);border-color:rgba(237,245,244,.6)}

/* Teaser de yoga aéreo en la Home: claro, con la foto como protagonista (mismo patrón que .lara-sec) */
.ya-feature{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--cream)}
.ya-feature-img{position:relative;overflow:hidden}
.ya-feature-img img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.ya-feature-body{padding:80px 56px 80px 64px;background:var(--cream);display:flex;flex-direction:column;justify-content:center}
.ya-feature-body .label{margin-bottom:20px}
.ya-feature-body h2{font-family:var(--serif);font-size:clamp(32px,3.8vw,54px);font-weight:300;color:var(--teal-dark);line-height:1.08;margin-bottom:12px}
.ya-feature-tagline{font-family:var(--serif);font-style:italic;font-size:19px;color:var(--teal);margin-bottom:22px}
.ya-feature-desc{font-size:14.5px;font-weight:300;color:var(--text-mid);line-height:1.85;margin-bottom:30px;max-width:440px}
@media(max-width:900px){
  .ya-feature{grid-template-columns:1fr}
  .ya-feature-img{min-height:340px}
  .ya-feature-body{padding:56px 32px}
}
@media(max-width:768px){
  .ses-process,.ses-faq-section,.ses-retiro-cta{padding-left:20px;padding-right:20px}
  .ses-steps li{flex-direction:column;gap:10px;padding:24px 20px}
  .ses-faq-item{padding:24px 20px}
}

/* ── RETIRO: SESIONES INCLUIDAS ── */
.ret-ses-block{padding:80px 40px;background:var(--cream)}
.ret-ses-inner{max-width:860px;margin:0 auto}
.ret-ses-inner h2{font:300 clamp(24px,2.8vw,40px)/1.1 var(--serif);color:var(--teal-dark);margin-bottom:36px}
.ret-ses-inner h2 em{font-style:italic}
.ret-ses-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2px}
.ret-ses-item{display:flex;flex-direction:column;gap:8px;padding:24px 28px;background:var(--cream-w);text-decoration:none;transition:background .18s}
.ret-ses-item:hover{background:var(--sand)}
.ret-ses-item-name{font:500 13px/1 var(--sans);letter-spacing:.06em;color:var(--teal-dark)}
.ret-ses-item-desc{font:300 13.5px/1.6 var(--sans);color:var(--text-mid)}
.ret-ses-item-link{font:400 12px/1 var(--sans);letter-spacing:.08em;color:var(--teal);text-transform:uppercase;margin-top:4px}
@media(max-width:768px){
  .ret-ses-block{padding-left:20px;padding-right:20px}
  .ret-ses-grid{grid-template-columns:1fr}
}

/* ── MÉTODO ── */
.metodo{background:var(--teal-deep);padding:100px 40px}
.metodo-inner{max-width:var(--max);margin:0 auto}
.metodo-head{text-align:center;margin-bottom:72px}
.metodo-head .label{color:var(--teal-light)}
.metodo-title{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:300;line-height:1.05;color:var(--white);margin-bottom:16px}
.metodo-sub{font:300 15px/1.8 var(--sans);color:rgba(237,245,244,.7);max-width:520px;margin:0 auto}
.metodo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}
.metodo-step{position:relative;padding:44px 32px;background:rgba(255,255,255,.04);overflow:hidden}
.metodo-num{font-family:var(--serif);font-size:96px;font-weight:300;line-height:1;color:var(--teal-light);opacity:.13;position:absolute;top:8px;left:22px;pointer-events:none;user-select:none}
.metodo-step-title{font-family:var(--serif);font-size:clamp(22px,2.2vw,32px);font-weight:300;font-style:italic;line-height:1.1;color:var(--white);margin-bottom:16px;padding-top:60px}
.metodo-step-body{font:300 13.5px/1.82 var(--sans);color:rgba(237,245,244,.68)}
.metodo--expanded .metodo-steps{grid-template-columns:repeat(2,1fr)}
.metodo--expanded .metodo-step{padding:64px 56px}
.metodo--expanded .metodo-num{font-size:120px;opacity:.11}
.metodo--expanded .metodo-step-title{font-size:clamp(26px,3vw,44px);padding-top:76px}
.metodo--expanded .metodo-step-body{font-size:15px;line-height:1.85}
.metodo-foot{text-align:center;margin-top:56px}
.metodo-foot-note{font-family:var(--serif);font-size:17px;font-style:italic;font-weight:300;color:rgba(237,245,244,.65);margin-bottom:28px}
.btn-metodo{display:inline-flex;align-items:center;gap:10px;font:400 10.5px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;padding:14px 28px;border:1px solid rgba(237,245,244,.28);color:var(--white);border-radius:2px;transition:background .25s,border-color .25s}
.btn-metodo:hover{background:rgba(237,245,244,.08);border-color:rgba(237,245,244,.55)}
@media(max-width:900px){
  .metodo{padding:72px 20px}
  .metodo-steps,.metodo--expanded .metodo-steps{grid-template-columns:1fr}
  .metodo--expanded .metodo-step{padding:40px 28px}
}
/* Tarjetas de retiro/sesión reutilizables (home, índices) */
.ses-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:52px 40px}
.ses-grid--3{grid-template-columns:repeat(3,1fr);gap:44px 32px;max-width:none;padding:0}
.ses-card{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:inherit}
.ses-card-img{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:4/3;width:100%;background:var(--sand)}
.ses-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.7,.3,1)}
.ses-card:hover .ses-card-img img{transform:scale(1.05)}
.ses-card h2,.ses-card h3{font-family:var(--serif);font-weight:500;font-size:30px;line-height:1.15;color:var(--text);margin:26px 0 12px;letter-spacing:.005em}
.ses-card p{font:300 14.5px/1.75 var(--sans);color:var(--text-mid);margin:0 auto;max-width:44ch}
.ses-card-link{display:inline-flex;align-items:center;gap:9px;margin-top:22px;padding:12px 26px;border:1px solid var(--teal);border-radius:100px;font:500 11.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:transparent;transition:background .35s ease,color .35s ease,border-color .35s ease}
.ses-card-link .arrow{display:inline-block;transition:transform .35s ease}
.ses-card:hover .ses-card-link{background:var(--teal);color:var(--white);border-color:var(--teal)}
.ses-card:hover .ses-card-link .arrow{transform:translateX(4px)}
/* En la home: tarjetas de igual alto y botón siempre abajo */
.ses-grid--3 .ses-card{height:100%}
.ses-grid--3 .ses-card p{margin-bottom:22px}
.ses-grid--3 .ses-card-link{margin-top:auto}
@media(max-width:980px){ .ses-grid--3{grid-template-columns:1fr;gap:44px} }
@media(max-width:880px){
  .ses-grid{grid-template-columns:1fr;gap:44px}
  .ses-card h2,.ses-card h3{font-size:26px;margin:22px 0 10px}
  .ses-card-link{margin-top:18px;padding:11px 22px}
}
/* Botón sólido "ver todos" — mismo color que "Hablar con Lara" (.btn-outline--dark) */
.btn-ver-todos--solid{background:var(--teal-dark);border-color:var(--teal-dark);color:var(--white);padding:17px 44px;font-size:11.5px;box-shadow:0 10px 30px rgba(28,74,72,.22)}
.btn-ver-todos--solid:hover{background:var(--teal-deep);border-color:var(--teal-deep);color:var(--white);transform:translateY(-2px);box-shadow:0 16px 44px rgba(28,74,72,.34)}
.btn-ver-todos--solid svg{transition:transform .3s}
.btn-ver-todos--solid:hover svg{transform:translateX(4px)}

/* Cabecera de vídeo a ancho completo — yoga aéreo */
.ya-hero--video{display:block;position:relative;overflow:hidden;background:var(--teal-deep);min-height:100svh}
.ya-hero-video{position:absolute;inset:0;z-index:0}
.ya-hero-video video,.ya-hero-video .ya-hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;opacity:.34}
.ya-hero-video .ya-hero-fallback{display:none}
.ya-hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,58,62,.86) 0%,rgba(20,58,62,.62) 42%,rgba(20,58,62,.34) 100%),linear-gradient(0deg,rgba(20,58,62,.55) 0%,transparent 45%)}
.ya-hero--video .ya-hero-right{position:relative;z-index:2;background:transparent;justify-content:center;min-height:100svh;max-width:var(--max);margin:0 auto;padding:120px 40px 96px}
.ya-hero--video .ya-hero-right::before{display:none}
.ya-hero--video .ya-hero-h1,.ya-hero--video .ya-hero-desc,.ya-hero--video .ya-hero-cta{max-width:620px}
.ya-hero--video .hero-logo-wrap{justify-content:flex-start;margin-bottom:20px}
.ya-hero--video .hero-logo-big{width:190px;height:190px}
@media(max-width:640px){ .ya-hero--video .hero-logo-big{width:130px;height:130px} }
.ya-hero--video .ya-hero-desc{max-width:520px;color:rgba(237,245,244,.85)}
@media(max-width:1024px){ .ya-hero--video .ya-hero-right{padding:110px 30px 84px} }
@media(max-width:640px){
  .ya-hero--video .ya-hero-right{padding:100px 20px 72px}
  /* vídeo vertical dedicado (cuerpo entero en el columpio): mismo encuadre que el desktop */
  .ya-hero-video video,.ya-hero-video .ya-hero-fallback{object-position:center 38%;opacity:.30}
  .ya-hero-video::after{background:linear-gradient(0deg,rgba(20,58,62,.82) 0%,rgba(20,58,62,.52) 55%,rgba(20,58,62,.42) 100%)}
}
@media(prefers-reduced-motion:reduce){
  .ya-hero-video video{display:none}
  .ya-hero-video .ya-hero-fallback{display:block}
}

/* ── Cabeceras que caben en pantalla sin scroll ───────────────────── */
/* Home */
.hero-logo-wrap{justify-content:flex-start;margin-bottom:clamp(8px,1.8vh,20px)}
.hero-logo-big{width:clamp(78px,10.5vh,150px);height:auto}
.hero-left{padding:clamp(20px,3.6vh,60px) 60px clamp(20px,3.6vh,60px) 40px}
.hero-h1{font-size:clamp(30px,min(4.6vw,6.2vh),74px);margin-bottom:clamp(10px,1.8vh,28px)}
.hero-desc{margin-bottom:clamp(14px,2.8vh,52px);line-height:1.68}
/* Yoga aéreo (cabecera de vídeo) */
.ya-hero--video .ya-hero-right{padding:clamp(84px,13vh,120px) 40px clamp(32px,6vh,96px)}
.ya-hero--video .hero-logo-wrap{margin-bottom:clamp(8px,1.6vh,20px)}
.ya-hero--video .hero-logo-big{width:clamp(80px,11vh,170px);height:auto}
.ya-hero--video .ya-hero-h1{font-size:clamp(32px,min(4.8vw,6.6vh),70px);margin-bottom:clamp(12px,2vh,24px)}
.ya-hero--video .ya-hero-desc{margin-bottom:clamp(18px,3.4vh,48px);line-height:1.7}
@media(max-width:900px){
  .hero-left{padding:clamp(28px,5vh,60px) 30px clamp(28px,5vh,40px)}
}
@media(max-width:640px){
  .hero-logo-big{width:clamp(76px,11vh,120px)}
  .hero-left{padding:36px 20px 32px}
  .ya-hero--video .ya-hero-right{padding:clamp(76px,12vh,100px) 20px clamp(28px,5vh,72px)}
}

/* La foto del hero no debe decidir la altura de la cabecera */
@media(min-width:901px){
  .hero{height:100svh;min-height:540px}
  .hero-right img{position:absolute;inset:0}
  .ya-hero--video{height:100svh;min-height:540px}
}

/* Precio del cuadro lateral — mismo estilo en todas las sesiones y retiros */
.detail-aside-box .aside-precio{font:300 14px/1.72 var(--sans);color:var(--text-mid)}

/* Cabecera de vídeo a ancho completo — home */
.hero--video{display:block;position:relative;overflow:hidden;background:var(--teal-deep);min-height:100svh}
.hero-video{position:absolute;inset:0;z-index:0}
.hero-video video,.hero-video .hero-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;display:block;opacity:.34}
.hero-video .hero-fallback{display:none}
.hero-video::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,58,62,.88) 0%,rgba(20,58,62,.64) 44%,rgba(20,58,62,.34) 100%),linear-gradient(0deg,rgba(20,58,62,.55) 0%,transparent 45%)}
.hero--video .hero-left{position:relative;z-index:2;background:transparent;min-height:100svh;max-width:var(--max);margin:0 auto;padding:clamp(84px,13vh,130px) 40px clamp(28px,5vh,80px)}
.hero--video .hero-left::before{display:none}
.hero--video .hero-h1,.hero--video .hero-desc,.hero--video .hero-cta{max-width:620px}
.hero--video .hero-desc{max-width:480px;color:rgba(237,245,244,.85)}
@media(min-width:901px){ .hero--video{height:100svh;min-height:540px} }
@media(max-width:1024px){ .hero--video .hero-left{padding:clamp(80px,12vh,120px) 30px clamp(28px,5vh,72px)} }
@media(max-width:640px){
  .hero--video .hero-left{padding:clamp(76px,12vh,100px) 20px clamp(28px,5vh,64px)}
  .hero-video video,.hero-video .hero-fallback{object-position:center 48%;opacity:.30}
  .hero-video::after{background:linear-gradient(0deg,rgba(20,58,62,.82) 0%,rgba(20,58,62,.52) 55%,rgba(20,58,62,.42) 100%)}
  .hero-cta{gap:14px}
  .hero-cta a{flex:1;justify-content:center;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  .hero-video video{display:none}
  .hero-video .hero-fallback{display:block}
}

/* Conóceme: "Mi camino" con foto a la derecha y "Mi estilo de vida" a una columna */
.km-formacion-inner--foto{grid-template-columns:1fr 1.3fr;gap:64px;align-items:start}
.km-formacion-inner--foto .km-img-col{position:sticky;top:110px}
.km-formacion-inner--foto .km-img-col img{height:560px}
.km-formacion-inner--foto .km-body h2{position:static;font:300 clamp(28px,3.5vw,50px)/1.1 var(--serif);color:var(--teal-dark);margin:0 0 30px}
.km-formacion-inner--foto .km-body h2 em{font-style:italic;color:var(--teal)}
@media(max-width:900px){
  .km-formacion-inner--foto{grid-template-columns:1fr;gap:36px}
  .km-formacion-inner--foto .km-img-col{position:static}
  .km-formacion-inner--foto .km-img-col img{height:400px}
}

/* Enlace legal del pie */
.footer-legal{font:300 12px/1 var(--sans);color:rgba(237,245,244,.68);text-decoration:none;transition:color .3s}
.footer-legal:hover{color:var(--teal-light)}
@media(max-width:720px){ .footer-legal{margin-top:8px;font-size:12.5px;color:rgba(237,245,244,.68)} }

/* Bloques de reseñas con menos de tres tarjetas */
.testis-grid--2{grid-template-columns:repeat(2,1fr);max-width:840px;margin-left:auto;margin-right:auto}
.testis-grid--1{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
@media(max-width:900px){ .testis-grid--2,.testis-grid--1{grid-template-columns:1fr;max-width:450px} }

/* Tarjeta de actividad sin enlace (p. ej. Acroyoga, que no tiene página) */
.ret-ses-item--sin-enlace{cursor:default}
.ret-ses-item--sin-enlace:hover{transform:none}

/* Llamada de cierre reutilizable (sesiones y retiros) */
.ret-ses-extra{margin-top:56px;text-align:center}
.ret-ses-extra p{font:300 clamp(24px,2.8vw,40px)/1.25 var(--serif);color:var(--teal-dark);margin:0 0 30px}
.ret-ses-hl{color:var(--teal)}
/* Variante compacta: en las páginas de sesión, sin margen superior y algo más discreta */
.ret-ses-extra--compacta{margin-top:0}
.ret-ses-extra--compacta p{font:300 clamp(21px,2.2vw,30px)/1.35 var(--serif);max-width:760px;margin:0 auto 28px}

/* ═══════════ SOLO MÓVIL ═══════════ */

/* Galería de las fichas: mosaico asimétrico — una foto grande y dos
   apiladas al lado, todo visible sin deslizar ni tocar nada.
   `.gallery .gallery-strip` gana en especificidad al <style> de cada página. */
@media(max-width:720px){
  .gallery-strip{
    display:grid;
    grid-template-columns:1.5fr 1fr;
    grid-template-rows:1fr 1fr;
    gap:6px;
    height:380px;
  }
  .gallery .gallery-strip .g-item,
  .gallery .gallery-strip .g-item:nth-child(1),
  .gallery .gallery-strip .g-item:nth-child(2),
  .gallery .gallery-strip .g-item:nth-child(3){flex:none;min-width:0}
  .gallery .gallery-strip .g-item:nth-child(1){grid-column:1;grid-row:1/3}
  .gallery .gallery-strip .g-item:nth-child(2){grid-column:2;grid-row:1}
  .gallery .gallery-strip .g-item:nth-child(3){grid-column:2;grid-row:2}
  .gallery .gallery-strip .g-item:hover{flex:none}
  .g-caption{display:none}
}
@media(max-width:420px){ .gallery-strip{height:330px} }

/* Testimonio en vídeo: apilado y centrado */
@media(max-width:720px){
  .video-testi{padding:64px 20px}
  .video-testi-inner{flex-direction:column;gap:26px}
  .video-testi-media{width:100%;max-width:280px}
  .video-testi-body{text-align:center;max-width:100%}
  .video-testi-author{justify-content:center}
}

/* Pie de página en tres columnas, como en escritorio */
@media(max-width:640px){
  .footer-grid{grid-template-columns:repeat(3,1fr);gap:26px 14px}
  .footer-brand{grid-column:1/-1;text-align:center;margin-bottom:6px}
  .footer-brand-row{justify-content:center}
  .footer-brand small{max-width:none}
  .footer-col h5{font-size:8.5px;letter-spacing:.16em;margin-bottom:12px}
  .footer-col a{font-size:12px}
  .footer-col ul{gap:8px}
}
@media(max-width:360px){
  .footer-grid{gap:22px 8px}
  .footer-col a{font-size:11.5px}
}

/* Cabeceras de ficha en móvil: menos altas y con el encuadre ajustado por página */
@media(max-width:640px){
  .page-hero{min-height:52vh}
}

/* Botón secundario: regalar — blanco sobre el fondo oscuro de la sección */
.btn-regalo{display:inline-flex;align-items:center;gap:13px;font:500 11.5px/1 var(--sans);letter-spacing:.13em;
  text-transform:uppercase;padding:18px 44px;background:var(--white);color:var(--teal-deep);border-radius:2px;
  text-decoration:none;transition:background .3s ease,transform .3s ease,box-shadow .3s ease}
.btn-regalo:hover{background:var(--teal-light);color:var(--teal-deep);transform:translateY(-3px);box-shadow:0 18px 54px rgba(20,58,62,.28)}

/* ═══ SOLO MÓVIL ═══ Menos aire entre bloques.
   En pantalla pequeña 120 px arriba y abajo son casi un tercio de pantalla vacía. */
@media(max-width:640px){
  .esencia,.identify,.retiros,.horses,.testis,
  .ya-que-es,.ya-como,.ya-ubicacion,.ya-horarios,.ya-precios{padding-top:64px;padding-bottom:64px}
  .cta-final{padding-top:70px;padding-bottom:76px}
  .metodo-anahata{padding-top:64px;padding-bottom:64px}
  .detail-section{padding-top:44px;padding-bottom:44px}
  .ses-faq-section{padding-top:52px;padding-bottom:52px}
  .testis{padding-top:52px}
  .ret-ses-block{padding-top:52px;padding-bottom:52px}
  .ret-ses-extra{margin-top:0}
  .ret-ses-extra p{margin-bottom:22px}
  .km-section,.km-formacion-section{padding-top:56px;padding-bottom:56px}
  /* yoga-aereo.html: la sección "¿Es tu primera vez?" viene justo después de
     las tarjetas de ubicación — sumaban 64+52px de aire, demasiado en móvil */
  .ya-ubicacion{padding-bottom:36px}
  .ya-ubicacion + .ret-ses-block{padding-top:28px}
}

.ret-ses-block--aire{padding-top:96px}
/* mayor especificidad para ganar al <style> de cada ficha */
@media(max-width:640px){
  body .metodo-anahata{padding-top:64px;padding-bottom:64px}
  body .ret-ses-block--aire{padding-top:52px}
}

@media(max-width:640px){
  .esp-caballos-section{padding-top:56px;padding-bottom:56px}
  .prog-section{padding-top:48px;padding-bottom:48px}
}
