/* INHOA: fotografía documental, verde petróleo, salvia y acentos dorados. */
:root {
  --brand-night: #142a2f;
  --brand-indigo: #203c40;
  --brand-blue: #375e61;
  --brand-gold: #dcc684;
  --brand-gradient: linear-gradient(125deg, #142a2f 0%, #244549 58%, #375e61 100%);
  --bg-dark: #142a2f;
  --bg-medium: #315355;
  --bg-card: #244549;
  --purple-deep: #203c40;
  --purple-mid: #315355;
  --purple-light: #49706c;
  --purple-pale: #6b9484;
  --gold: #dcc684;
  --gold-light: #f0d99c;
  --text-white: #f8f5ec;
  --text-muted: #d9e3dc;
  --text-dim: #b9cbc1;
  --border: rgba(215,229,214,.2);
  --gradient-hero: linear-gradient(125deg, #142a2f, #244549 58%, #375e61);
}
.btn { box-shadow: none; }
.btn-gold { background: #f0ce65; color: #191333; }
.btn-whatsapp { background: #117950; color: #fff; }
.btn-whatsapp:hover { background: #0d6542; box-shadow: none; }
.navbar { background: linear-gradient(105deg, #0d0318, #1b1b52 72%, #29297b); border-bottom: 1px solid var(--border); }
.navbar.scrolled { background: #10102af7; box-shadow: none; }
.whatsapp-float { box-shadow: none; }
.whatsapp-btn { animation: none; box-shadow: none; background: #117950; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #f0ce65; outline-offset: 5px; }
.skip-link { position: fixed; left: 16px; top: -100px; z-index: 2000; background: #f0ce65; color: #17132d; padding: 12px 20px; }
.skip-link:focus { top: 16px; }
section[id] { scroll-margin-top: 100px; }
.section-label { color: #e2c775; font-size: .7rem; letter-spacing: .16em; }
.section-title { line-height: 1.12; }
.text-link { display: inline-flex; gap: 18px; align-items: center; color: #edd589; font-size: .88rem; font-weight: 600; }
.text-link:hover { color: #fff; }
.home-hero { background: var(--brand-gradient); padding: 146px 0 68px; }
.hero-layout { display: grid; grid-template-columns: 1.05fr 1fr; gap: 60px; align-items: center; }
.home-hero-copy h1 { font-family: var(--font-head); font-size: clamp(3.2rem, 5.1vw, 5rem); font-weight: 500; line-height: 1.02; letter-spacing: -.035em; margin: 23px 0; }
.home-hero-copy h1 em { color: #efd58b; font-weight: 400; }
.home-hero-copy > p { max-width: 490px; font-size: 1rem; line-height: 1.85; }
.home-hero-actions { display: flex; align-items: center; gap: 25px; margin-top: 32px; flex-wrap: wrap; }
.home-hero-copy .hero-footnote { border-top: 1px solid var(--border); margin: 35px 0 0; padding-top: 20px; font-size: .75rem; letter-spacing: .04em; }
.home-hero-photo { position: relative; margin: 0; }
.home-hero-photo img { width: 100%; height: 515px; object-fit: cover; object-position: 60% center; border-radius: 110px 8px 8px 8px; }
.home-hero-photo figcaption { position: absolute; bottom: 0; left: 0; right: 0; padding: 65px 28px 25px; background: linear-gradient(transparent, #17132dee); border-radius: 0 0 8px 8px; }
.home-hero-photo figcaption span { display: block; text-transform: uppercase; letter-spacing: .14em; color: #edd589; font-size: .65rem; }
.home-hero-photo figcaption strong { font-family: var(--font-head); font-size: 1.5rem; font-weight: 500; }
.home-intro { background: linear-gradient(110deg, #0d0318, #1a1a4e); padding: 24px 0; border-bottom: 1px solid var(--border); }
.home-intro .container { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.home-intro span { color: #d9c995; font-size: .76rem; }
.home-intro p { font-size: .8rem; margin: 0; }
.home-intro p span { margin: 0 16px; }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 38px; }
.section-heading-row .section-title { margin-bottom: 0; }
.section-heading-row > p { max-width: 350px; font-size: .9rem; }
.agenda-section { background: #f1eff6; color: #252038; }
.agenda-section p { color: #5c566a; }
.agenda-section .section-label, .agenda-section .text-link { color: #675122; }
.agenda-section .section-title { color: #28213c; }
.agenda-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 55px; align-items: center; }
.agenda-photo { margin: 0; }
.agenda-photo img { width: 100%; height: 460px; object-fit: cover; object-position: 40% center; border-radius: 8px; }
.agenda-photo figcaption, .community-layout figcaption { font-size: .72rem; margin-top: 12px; color: #726a80; }
.agenda-location { font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; }
.agenda-session { display: flex; gap: 22px; padding: 22px 0; border-bottom: 1px solid #d8d2e1; }
.date-tile { min-width: 78px; text-align: center; padding-top: 6px; color: #433265; }
.date-tile strong { display: block; font-family: var(--font-head); font-size: 2.4rem; line-height: 1.1; }
.date-tile span { font-size: .62rem; letter-spacing: .08em; }
.agenda-session h3 { font-size: 1.6rem; line-height: 1.15; margin: 7px 0 10px; color: #302342; }
.agenda-session p { font-size: .84rem; margin: 0; }
.facilitator-note { font-size: .82rem; margin: 22px 0; }
.agenda-content .agenda-note { font-size: .7rem; margin-top: 12px; }
.home-paths { background: radial-gradient(ellipse at 88% 5%, #7279dc6e 0, transparent 36%), radial-gradient(ellipse at 8% 94%, #7279dc30 0, transparent 38%), linear-gradient(130deg, #191943 0%, #29297b 100%); }
.path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.path-card { display: flex; flex-direction: column; padding: 32px; background: rgba(13,3,24,.42); border: 1px solid var(--border); border-radius: 8px; transition: border-color .2s, transform .2s; }
.path-card:hover { border-color: #ddc576; transform: translateY(-4px); }
.path-icon { color: #e5ce8b; font-size: 1.6rem; margin-bottom: 28px; }
.path-card h3 { font-size: 1.75rem; margin-bottom: 12px; line-height: 1.15; }
.path-card p { font-size: .88rem; margin-bottom: 28px; }
.path-card .text-link { margin-top: auto; }
.home-community { background: radial-gradient(ellipse at 92% 9%, #fff9 0, transparent 36%), linear-gradient(125deg, #eef0fa 0%, #e4e7f5 100%); color: #252540; }
.community-layout { display: grid; grid-template-columns: 1.15fr 1fr; align-items: center; gap: 65px; }
.community-layout figure { margin: 0; }
.community-layout img { width: 100%; border-radius: 8px; }
.community-layout figcaption { color: #625e73; }
.community-layout p { margin-bottom: 20px; font-size: .95rem; color: #535066; }
.community-layout h2 { color: #22213a; }
.community-layout .section-label { color: #635627; }
.community-layout em { color: #756129; font-weight: 400; }
.community-layout .text-link { color: #403c72; }
.community-layout .text-link:hover { color: #765f20; }
.community-layout figure { border-color: #fff; background: #fff; box-shadow: 0 20px 54px #29296923; }
.community-layout figure img { box-shadow: 0 5px 18px #25213b14; }
.home-contact { padding: 64px 0; background: radial-gradient(ellipse at 82% 10%, #8b91f060 0, transparent 37%), linear-gradient(110deg, #1a1a4e, #303789); }
.home-contact .container { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.home-contact h2 { font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: 1.1; }
.course-details { margin-top: 20px; padding-top: 15px; border-top: 1px solid var(--border); }
.course-details summary { cursor: pointer; color: #edd589; font-size: .85rem; }
.course-details p { margin-top: 14px; }
.catalog-note { margin-bottom: 30px; padding: 18px 22px; border-left: 3px solid #e2c775; background: #211b40; font-size: .88rem; }
.inner-page-intro { color: var(--text-muted); max-width: 640px; margin-top: 14px; font-size: 1.05rem; }
.pathways-page { background: linear-gradient(135deg, #0d0318 0%, #191943 100%); }
.pathway-list { display: grid; gap: 24px; }
.pathway-detail { display: grid; grid-template-columns: minmax(270px, .8fr) 1.2fr; gap: clamp(28px, 5vw, 70px); align-items: center; padding: clamp(22px, 4vw, 52px); background: linear-gradient(115deg, rgba(41,41,123,.62), rgba(26,26,78,.62)); border: 1px solid var(--border); border-radius: 10px; scroll-margin-top: 100px; }
.pathway-detail:nth-child(even) { grid-template-columns: 1.2fr minmax(270px, .8fr); }
.pathway-detail:nth-child(even) figure { order: 2; }
.pathway-detail figure { margin: 0; }
.pathway-detail img { display: block; width: 100%; height: 300px; object-fit: cover; border-radius: 6px; }
.pathway-detail h2 { font-family: var(--font-head); font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.08; margin: 12px 0; }
.pathway-detail p { font-size: .92rem; }
.pathway-question { margin: 22px 0 12px; color: #e5d79c !important; }
.resources-contact { max-width: 680px; text-align: center; padding: 65px 32px; border: 1px solid var(--border); border-radius: 10px; background: linear-gradient(135deg, #1a1a4e, #29297b); }
.resources-contact h2 { font-family: var(--font-head); font-size: clamp(2rem, 4vw, 3rem); }
.resources-contact p { max-width: 500px; margin: 12px auto 24px; }
.resources-mark { color: var(--brand-gold); font-size: 2rem; margin-bottom: 18px; }
.footer-col ul li span { color: var(--text-dim); font-size: .88rem; }
.hamburger { z-index: 1001; min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
@media (max-width: 1050px) {
  .navbar-menu { gap: 18px; }
  .hero-layout { gap: 32px; }
  .home-hero-photo img { height: 480px; }
  .agenda-layout, .community-layout { gap: 32px; }
  .path-card { padding: 24px; }
}
@media (max-width: 768px) {
  .navbar-menu { width: min(320px, 90vw); padding: 36px 28px; }
  .pathway-detail, .pathway-detail:nth-child(even) { grid-template-columns: 1fr; gap: 24px; }
  .pathway-detail:nth-child(even) figure { order: 0; }
  .pathway-detail img { height: 250px; }
  .navbar-menu:not(.open) { visibility: hidden; }
  .navbar-menu.open { visibility: visible; }
  .home-hero { padding: 116px 0 38px; }
  .hero-layout, .agenda-layout, .community-layout { grid-template-columns: 1fr; gap: 32px; }
  .home-hero-copy h1 { font-size: clamp(3rem, 10vw, 4.8rem); }
  .home-hero-photo img { height: 380px; border-top-left-radius: 75px; }
  .home-hero-actions { gap: 22px; }
  .home-intro .container, .section-heading-row, .home-contact .container { flex-direction: column; align-items: flex-start; }
  .home-intro p span { margin: 0 5px; }
  .path-grid { grid-template-columns: 1fr; }
  .agenda-photo img { height: 310px; }
  .agenda-session { gap: 14px; }
  .date-tile { min-width: 64px; }
  .home-contact h2 { font-size: 2.4rem; }
  .section-heading-row { gap: 20px; }
  .section-heading-row > p { max-width: none; }
}
/* Una misma línea gráfica: vínculos, crecimiento y aprendizaje. */
.home-hero, .home-paths, .home-community, .home-contact,
.agenda-section, .pathways-page, .page-header, .footer {
  position: relative;
  isolation: isolate;
}
.home-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: url('../img/brand-connections.svg') center / cover no-repeat;
  opacity: .32;
}
.home-hero::before { background-position: center 48%; opacity: .4; mask-image: linear-gradient(to right, #0003, #000 68%); }
.page-header::before { background: radial-gradient(ellipse at 78% 48%, rgba(124, 136, 232, .15), transparent 58%); }
.home-hero-photo { margin: 16px 12px 12px 0; }
.home-hero-photo::before {
  content: '';
  position: absolute;
  inset: -13px;
  border: 1px solid rgba(240,208,96,.48);
  border-radius: 124px 20px 20px 20px;
  pointer-events: none;
}
.home-hero-photo::after {
  content: '';
  position: absolute;
  width: 88px;
  height: 88px;
  right: -30px;
  top: -32px;
  border-radius: 50%;
  border: 1px solid #ad965c;
  background: #1a1a4e url('../img/icon-proceso.svg') center / 78px no-repeat;
  box-shadow: 0 8px 24px #09091b55;
  pointer-events: none;
}
.home-hero-photo img { box-shadow: 0 24px 70px #06062066; }
.home-hero-copy > .section-label { display: inline-flex; gap: 12px; align-items: center; }
.home-hero-copy > .section-label::before {
  content: '';
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  background: url('../img/icon-vinculos.svg') center / contain no-repeat;
}
.btn-gold { background: linear-gradient(115deg, #d9b75d, #f5dc87 55%, #e7c46a); border: 1px solid #ffe8ab77; box-shadow: inset 0 1px 0 #fff3cb88, 0 6px 20px #07072726; }
.home-intro { border-top: 1px solid #e5c87130; }
.agenda-section { background: radial-gradient(ellipse at 0% 80%, #dce0f1 0%, transparent 55%), #f1eff6; }
.agenda-photo { padding: 10px; background: #fff9; border: 1px solid #c9c2d4; border-radius: 100px 12px 12px 12px; box-shadow: 0 14px 40px #27245316; }
.agenda-photo img { border-radius: 90px 6px 6px 6px; }
.agenda-photo figcaption { padding: 2px 8px 4px; }
.date-tile { position: relative; align-self: flex-start; background: #fff; border: 1px solid #dcd7e6; border-top: 4px solid #b99c50; border-radius: 5px 5px 14px 14px; padding: 12px 6px; box-shadow: 0 5px 14px #29297b0a; }
.date-tile strong { font-size: 2rem; }
.path-card { position: relative; isolation: isolate; overflow: hidden; padding: 36px 32px; border-color: #bdbaf44a; border-radius: 24px 8px 24px 8px; background: radial-gradient(ellipse at 20% 0%, #55569b55, transparent 75%), linear-gradient(145deg, #242457, #13132f); box-shadow: inset 0 1px 0 #ffffff12, 0 16px 36px #05051e24; }
.path-card::before { content: ''; position: absolute; width: 185px; height: 185px; top: -60px; right: -60px; border: 1px solid #c2a65c35; border-radius: 50%; box-shadow: 0 0 0 22px #9b9edd08, 0 0 0 44px #9b9edd06; z-index: -1; }
.path-icon { display: block; width: 100px; height: 100px; padding: 5px; margin-bottom: 28px; border-radius: 50%; background: radial-gradient(circle, #41427c88 20%, #1c1c4300 72%); }
.path-icon img { width: 90px; height: 90px; transition: transform .3s ease; }
.path-card:hover .path-icon img { transform: translateY(-3px); }
.path-card:hover { border-color: #f0d060; box-shadow: inset 0 1px 0 #ffffff22, 0 20px 42px #05051e50; background: radial-gradient(ellipse at 50% 0%, #5d5aab77, transparent 76%), linear-gradient(145deg, #29296d, #151533); }
.path-card .text-link { border-top: 1px solid #d6c18e26; padding-top: 20px; }
.path-card .text-link > span { margin-left: auto; width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #e5ca7b55; border-radius: 50%; }
.community-layout figure { padding: 12px; border: 1px solid #b0a9da40; background: #39366825; border-radius: 12px; box-shadow: 0 14px 38px #05051e20; }
.community-layout figcaption { padding: 0 5px; }
.home-contact { border-top: 1px solid #e2c6753b; border-bottom: 1px solid #e2c6753b; }
.pathway-detail { box-shadow: inset 0 1px 0 #ffffff12, 0 12px 38px #05051e33; border-radius: 24px 8px 24px 8px; }
.pathway-detail figure { padding: 8px; border: 1px solid #c5bbdc55; border-radius: 9px; }
.pathway-detail .section-label::before { content: ''; display: inline-block; vertical-align: middle; margin-right: 12px; width: 48px; height: 48px; background: url('../img/icon-vinculos.svg') center / contain no-repeat; }
#coaching .section-label::before { background-image: url('../img/icon-proceso.svg'); }
#formacion .section-label::before { background-image: url('../img/icon-formacion.svg'); }
@media (max-width: 768px) {
  .home-hero::before { background-size: auto 900px; background-position: 60% top; opacity: .2; }
  .home-hero-photo { margin: 18px 8px 12px; }
  .home-hero-photo::before { inset: -9px; border-top-left-radius: 84px; }
  .home-hero-photo::after { width: 64px; height: 64px; background-size: 56px; right: -16px; top: -22px; }
  .home-hero-copy > .section-label { gap: 7px; font-size: .62rem; }
  .home-hero-copy > .section-label::before { width: 20px; height: 20px; }
  .path-card { padding: 28px; }
  .path-icon { margin-bottom: 20px; }
  .agenda-photo { border-top-left-radius: 72px; }
  .agenda-photo img { border-top-left-radius: 62px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .fade-in { opacity: 1; transform: none; }
}
@media (scripting: none) { .fade-in { opacity: 1; transform: none; } }

/* Fotografías reales y profundidad editorial en la portada. */
.hero-layout { perspective: 1400px; }
.hero-scene { position: relative; min-width: 0; padding: 22px 0 28px 48px; transform-style: preserve-3d; transform: translate3d(0, var(--hero-shift, 0px), 0) rotateY(var(--hero-rotate, -4deg)); will-change: transform; }
.hero-scene .home-hero-photo { margin: 0; transform: translateZ(0); }
.hero-scene .home-hero-photo::before { z-index: 1; }
.hero-scene .home-hero-photo::after { z-index: 3; }
.hero-scene .hero-main-image { display: block; width: 100%; height: 525px; object-position: 62% center; }
.hero-scene .home-hero-photo figcaption { z-index: 2; padding-left: 39%; }
.hero-scene-detail { position: absolute; z-index: 4; display: block; width: 39%; height: 245px; object-fit: cover; border: 7px solid #f7f0e5; border-radius: 92px 5px 5px 5px; box-shadow: 0 22px 46px #0505167d; }
.hero-scene-detail-one { left: 0; bottom: 0; transform: translateZ(70px) rotate(-7deg); }
.hero-scene-seal { position: absolute; z-index: 5; left: 3px; top: 25px; display: flex; align-items: center; gap: 10px; max-width: 190px; padding: 12px 16px; color: #221b3b; background: #f4d57a; border: 1px solid #fff1b2; border-radius: 3px; box-shadow: 0 12px 32px #0807206b; font-size: .68rem; font-weight: 700; line-height: 1.3; letter-spacing: .09em; text-transform: uppercase; transform: translateZ(100px) rotate(-8deg); }
.hero-scene-seal span { font-size: 1.8rem; line-height: 1; }
.home-moments { overflow: hidden; background: #f5f0e8; color: #242039; }
.moments-heading { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(230px, .7fr); align-items: end; column-gap: 42px; margin-bottom: 38px; }
.moments-heading .section-label { grid-column: 1 / -1; color: #7b642d; }
.moments-heading h2 { margin: 10px 0 0; color: #211e37; font-size: clamp(2.7rem, 4.3vw, 4.6rem); }
.moments-heading em { color: #65599a; font-weight: 400; }
.moments-heading p { margin: 0 0 7px; max-width: 330px; color: #5d5967; font-size: .93rem; line-height: 1.75; }
.moments-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px; align-items: start; }
.moment-card { position: relative; overflow: hidden; margin: 0; height: 390px; background: #242039; border: 1px solid #d2c8b8; border-radius: 100px 6px 6px 6px; box-shadow: 0 18px 35px #3d33531c; }
.moment-card-two { height: 440px; margin-top: 42px; border-radius: 6px 100px 6px 6px; }
.moment-card-three { height: 365px; margin-top: 90px; border-radius: 6px 6px 100px 6px; }
.moment-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.moment-card-one img { object-position: 33% center; }
.moment-card-two img { object-position: center 43%; }
.moment-card-three img { object-position: center 73%; }
.moment-card:hover img { transform: scale(1.035); }
.moment-card::after { content: ''; position: absolute; inset: 45% 0 0; pointer-events: none; background: linear-gradient(transparent, #111027d9); }
.moment-card figcaption { position: absolute; z-index: 1; right: 22px; bottom: 24px; left: 25px; color: #fff; }
.moment-card figcaption span { display: block; margin-bottom: 8px; color: #f4d57a; font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.moment-card figcaption strong { display: block; font-family: var(--font-head); font-size: clamp(1.65rem, 2.3vw, 2.35rem); font-weight: 500; line-height: 1.05; }
.motion-ready .motion-reveal { opacity: 0; transform: translateY(32px); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.7,.2,1); }
.motion-ready .motion-reveal.is-visible { opacity: 1; transform: translateY(0); }
.motion-ready .moment-card-two { transition-delay: .1s; }
.motion-ready .moment-card-three { transition-delay: .2s; }
@media (max-width: 1050px) {
  .hero-scene .hero-main-image { height: 480px; }
  .hero-scene-detail { height: 210px; }
  .moment-card { height: 340px; }
  .moment-card-two { height: 390px; }
  .moment-card-three { height: 320px; }
}
@media (max-width: 768px) {
  .hero-layout { perspective: none; }
  .hero-scene { padding: 22px 12px 35px 25px; transform: none; will-change: auto; }
  .hero-scene .hero-main-image { height: 380px; }
  .hero-scene-detail { width: 35%; height: 160px; border-width: 5px; border-top-left-radius: 60px; }
  .hero-scene-detail-one { left: 0; bottom: 0; transform: rotate(-6deg); }
  .hero-scene-seal { left: 0; top: 12px; padding: 9px 12px; max-width: 135px; font-size: .52rem; transform: rotate(-7deg); }
  .hero-scene-seal span { font-size: 1.3rem; }
  .moments-heading { grid-template-columns: 1fr; gap: 0; }
  .moments-heading .section-label { grid-column: auto; }
  .moments-heading p { margin-top: 18px; max-width: 550px; }
  .moments-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .moment-card, .moment-card-two, .moment-card-three { height: 330px; margin-top: 0; }
  .moment-card-three { grid-column: 1 / -1; height: 300px; }
}
@media (max-width: 520px) {
  .hero-scene .hero-main-image { height: 350px; }
  .hero-scene-detail { height: 135px; }
  .hero-scene .home-hero-photo figcaption { display: none; }
  .moments-grid { grid-template-columns: 1fr; }
  .moment-card, .moment-card-two, .moment-card-three { grid-column: auto; height: 335px; }
  .moment-card-two { height: 380px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-scene { transform: none; will-change: auto; }
  .motion-ready .motion-reveal { opacity: 1; transform: none; }
}

/* Cierre de la portada: una invitación personal con un encuentro en primer plano. */
.home-contact-feature { overflow: hidden; padding: 92px 0 96px; background: radial-gradient(ellipse at 91% 19%, #555bbb55, transparent 42%), linear-gradient(125deg, #11112f, #22235e 76%, #2d3178); }
.home-contact-feature::before { content: ''; position: absolute; width: min(72vw, 850px); aspect-ratio: 1; top: -42%; right: -16%; border: 1px solid #d6c88a25; border-radius: 50%; pointer-events: none; }
.home-contact-feature .contact-feature-layout { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(45px, 8vw, 120px); }
.contact-feature-copy { position: relative; z-index: 1; min-width: 0; }
.contact-feature-copy .section-label { display: inline-block; padding-bottom: 15px; border-bottom: 1px solid #e6cd8066; }
.contact-feature-copy h2 { margin: 25px 0 22px; font-family: var(--font-head); font-size: clamp(3.3rem, 5.5vw, 5.7rem); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
.contact-feature-copy h2 em { color: #efd58b; font-weight: 400; }
.contact-feature-copy > p { max-width: 490px; margin-bottom: 32px; color: #d4d2e8; font-size: 1rem; line-height: 1.8; }
.contact-feature-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.contact-feature-actions .btn { display: inline-flex; align-items: center; gap: 25px; }
.contact-feature-actions .btn span { display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid #433c6266; border-radius: 50%; font-size: 1rem; }
.contact-feature-secondary { display: inline-flex; align-items: center; gap: 14px; padding: 9px 0; border-bottom: 1px solid #e8d18b91; color: #f5e5bc; font-size: .88rem; font-weight: 600; transition: gap .25s ease, color .25s ease; }
.contact-feature-secondary:hover { gap: 20px; color: #fff; }
.contact-feature-note { display: block; margin-top: 25px; color: #aaa8cf; font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.contact-feature-photo { position: relative; isolation: isolate; margin: 12px 12px 12px 0; height: 505px; }
.contact-feature-photo::before { content: ''; position: absolute; z-index: -1; inset: -12px; border: 1px solid #e5cb7c85; border-radius: 230px 10px 10px 10px; }
.contact-feature-photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; border-radius: 220px 4px 4px 4px; box-shadow: 0 30px 65px #08091e8c; }
.contact-feature-photo::after { content: ''; position: absolute; inset: 45% 0 0; border-radius: 0 0 4px 4px; background: linear-gradient(transparent, #11122ba6); pointer-events: none; }
.contact-feature-photo figcaption { position: absolute; z-index: 1; right: 20px; bottom: 23px; left: 25px; color: #fff; font-family: var(--font-head); font-size: 1.55rem; line-height: 1.1; }
.contact-feature-photo figcaption span { display: block; margin-bottom: 8px; color: #f2d67e; font-family: var(--font-body); font-size: .64rem; font-weight: 700; letter-spacing: .16em; }
@media (max-width: 900px) {
  .home-contact-feature { padding: 76px 0 82px; }
  .home-contact-feature .contact-feature-layout { gap: 45px; }
  .contact-feature-copy h2 { font-size: clamp(3.1rem, 6vw, 4.8rem); }
  .contact-feature-photo { height: 440px; }
}
@media (max-width: 768px) {
  .home-contact-feature .contact-feature-layout { grid-template-columns: minmax(0, 1fr); gap: 50px; }
  .contact-feature-copy h2 { font-size: clamp(3.3rem, 9vw, 5rem); }
  .contact-feature-photo { width: min(100%, 520px); margin: 12px auto; }
}
@media (max-width: 520px) {
  .home-contact-feature { padding: 68px 0 72px; }
  .contact-feature-copy h2 { font-size: clamp(2.5rem, 10vw, 3.4rem); }
  .contact-feature-copy > p { max-width: 340px; }
  .contact-feature-actions { align-items: flex-start; gap: 16px; flex-direction: column; }
  .contact-feature-note { font-size: .64rem; }
  .contact-feature-photo { width: min(100%, 342px); height: 375px; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-feature-secondary { transition: none; }
}

/* Dirección serena compartida por todas las páginas. */
body { background: #142a2f; }
.navbar { background: linear-gradient(100deg, #142a2f, #244549 78%, #315355); }
.navbar.scrolled { background: #172f33f5; }
.btn-gold { color: #213336; background: linear-gradient(115deg, #ceb875, #f0daa0 55%, #dec684); border-color: #ffedbd77; }
.btn-gold:hover { color: #142a2f; }
.home-hero { background: var(--brand-gradient); }
.home-hero::before { opacity: .2; }
.home-hero-photo::after { background-color: #203c40; }
.home-hero-photo img, .hero-scene-detail, .contact-feature-photo img { box-shadow: 0 24px 60px #0c222566; }
.home-hero-photo figcaption, .moment-card::after { background: linear-gradient(transparent, #142a2fd9); }
.hero-scene-seal { color: #213336; background: #ead294; }
.home-intro { background: linear-gradient(110deg, #19363a, #264b4c); }
.home-paths { background: radial-gradient(ellipse at 89% 9%, #739e8540, transparent 38%), linear-gradient(130deg, #1e3b40, #31585a); }
.path-card { background: linear-gradient(145deg, #31575a, #203d42); border-color: #bad3c045; box-shadow: inset 0 1px 0 #ffffff12, 0 16px 36px #0b25272b; }
.path-card:hover { background: linear-gradient(145deg, #3c6563, #26484a); border-color: #e4ce90; box-shadow: 0 20px 42px #0b252744; }
.path-card::before { border-color: #e1cd8660; box-shadow: 0 0 0 22px #d5e7d80b, 0 0 0 44px #d5e7d807; }
.path-icon { background: radial-gradient(circle, #648d7970, transparent 70%); }
.home-community { background: radial-gradient(ellipse at 90% 8%, #fff9, transparent 38%), linear-gradient(125deg, #eff3e9, #e2ede5); color: #20363a; }
.community-layout h2, .moments-heading h2 { color: #20363a; }
.community-layout p, .moments-heading p { color: #4b6260; }
.community-layout em, .moments-heading em { color: #477363; }
.community-layout .text-link { color: #315e56; }
.community-layout .text-link:hover { color: #8c6e31; }
.community-layout figure { border-color: #bfd2c5; background: #f8f8f2; box-shadow: 0 14px 38px #2542401d; }
.community-layout figcaption { color: #536a63; }
.home-moments { background: #f4f1e9; color: #20363a; }
.moment-card { background: #203d42; box-shadow: 0 18px 35px #25424026; }
.agenda-section { background: radial-gradient(ellipse at 0% 80%, #dce9df, transparent 55%), #f3f2e9; color: #223a3b; }
.agenda-section .section-title, .agenda-session h3 { color: #20383a; }
.agenda-section p { color: #546864; }
.agenda-section .section-label, .agenda-section .text-link { color: #76612e; }
.agenda-photo { border-color: #bbd0c1; box-shadow: 0 14px 40px #20413d1c; }
.agenda-session { border-color: #ccdbcf; }
.date-tile { color: #35574f; border-color: #d5e1d7; border-top-color: #baa266; box-shadow: 0 5px 14px #34524612; }
.home-contact, .home-contact-feature { background: radial-gradient(ellipse at 92% 12%, #6b968644, transparent 42%), linear-gradient(125deg, #193238, #284b4b 76%, #365f5d); }
.contact-feature-copy > p { color: #d9e4dc; }
.contact-feature-note { color: #b8d1c4; }
.contact-feature-secondary { color: #f0dfb1; }
.footer { background: linear-gradient(125deg, #172f34, #27484b 78%, #315556); }
.footer-brand p, .footer-col ul li a, .footer-col ul li span, .footer-bottom p { color: #cfddd3; }
.footer-col h4 { color: #ebd596; }
.social-link { background: #ffffff0c; border-color: #d1e4d32b; }

/* Cabeceras editoriales con fotografías propias. */
.inner-hero { padding: 132px 0 68px; background: linear-gradient(125deg, #172f34, #2d5556); }
.inner-hero::before { background: radial-gradient(ellipse at 15% 20%, #91b59a1b, transparent 53%); }
.inner-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); align-items: center; gap: clamp(36px, 6vw, 90px); }
.inner-hero-copy h1 { max-width: 680px; margin: 18px 0 20px; font-size: clamp(3.2rem, 5.8vw, 5.6rem); line-height: .98; font-weight: 500; letter-spacing: -.035em; }
.inner-hero-copy h1 em { color: #ecd698; font-weight: 400; }
.inner-hero-copy .inner-page-intro { max-width: 510px; color: #d8e4dc; font-size: 1rem; line-height: 1.8; }
.inner-hero .breadcrumb { margin-top: 28px; }
.inner-hero-photo { position: relative; margin: 10px 10px 12px 0; height: 390px; }
.inner-hero-photo::before { content: ''; position: absolute; inset: -10px; border: 1px solid #e1c985a6; border-radius: 135px 10px 10px 10px; pointer-events: none; }
.inner-hero-photo img { width: 100%; height: 100%; object-fit: cover; border-radius: 125px 4px 4px 4px; box-shadow: 0 20px 50px #081d2370; }
.inner-hero-photo::after { content: ''; position: absolute; inset: 50% 0 0; border-radius: 0 0 4px 4px; background: linear-gradient(transparent, #122d34be); pointer-events: none; }
.inner-hero-photo figcaption { position: absolute; z-index: 1; left: 24px; bottom: 20px; color: #fff; font-family: var(--font-head); font-size: 1.65rem; line-height: 1.1; }
.inner-hero-symbol { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 340px; border: 1px solid #b9d3bf48; border-radius: 160px 8px 8px 8px; background: radial-gradient(circle at 50% 40%, #729e8860, transparent 55%), #234447; }
.inner-hero-symbol img { width: 150px; height: 150px; }
.inner-hero-symbol span { margin-top: 12px; color: #f0dfb1; font-family: var(--font-head); font-size: 1.65rem; }

/* Páginas interiores: lectura clara, iconos y cierres con presencia. */
.format-section { background: linear-gradient(145deg, #24464a, #315958); }
.format-section .section-heading-row > p { color: #d7e4db; }
.format-section .path-card { min-height: 310px; }
.pathways-page { background: linear-gradient(145deg, #edf2e9, #f8f4eb); color: #20373a; }
.catalog-note { color: #38544e; background: #e4eddf; border-left-color: #ae9659; }
.pathway-detail { background: #fffdf7; border-color: #cbd9ca; box-shadow: 0 16px 38px #20413d13; }
.pathway-detail:nth-child(even) { background: #e5eee5; }
.pathway-detail figure { border-color: #c4d7c8; }
.pathway-detail h2 { color: #20383a; }
.pathway-detail p { color: #4d625e; }
.pathway-detail .pathway-question { color: #816835 !important; }
.pathway-detail .section-label { color: #715a2b; }
.pathway-detail img { object-position: center 43%; }
#familia img { object-position: center 61%; }
#coaching img { object-position: center 39%; }
.resources-section { background: #f1f3e9; }
.resources-contact { background: #fffdf7; border-color: #c8d8c8; color: #20383a; box-shadow: 0 16px 45px #24474417; }
.resources-contact p { color: #526762; }
.resources-mark { display: block; width: 76px; height: 76px; margin: 0 auto 20px; }
.inner-cta { position: relative; overflow: hidden; padding: 85px 0; background: linear-gradient(120deg, #19353a, #315758); }
.inner-cta-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); align-items: center; gap: clamp(40px, 7vw, 105px); }
.inner-cta-icon { width: 76px; height: 76px; margin-bottom: 16px; }
.inner-cta h2 { margin: 18px 0; font-family: var(--font-head); font-size: clamp(2.9rem, 5vw, 4.8rem); font-weight: 500; line-height: 1.02; }
.inner-cta h2 em { color: #ecd698; font-weight: 400; }
.inner-cta p { max-width: 480px; margin: 0 0 26px; color: #d5e2d9; }
.inner-cta figure { margin: 0; height: 360px; padding: 9px; border: 1px solid #e2ca8a99; border-radius: 150px 8px 8px 8px; }
.inner-cta figure img { width: 100%; height: 100%; object-fit: cover; border-radius: 140px 4px 4px 4px; }
.agenda-cta-panel { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-height: 350px; padding: 46px; border: 1px solid #d9d0a266; border-radius: 150px 8px 8px 8px; background: radial-gradient(circle at 80% 10%, #8eae8f4d, transparent 50%), #24484a; }
.agenda-cta-panel span { color: #ecd698; font-size: .72rem; letter-spacing: .15em; text-transform: uppercase; }
.agenda-cta-panel strong { margin: 20px 0 0; font-family: var(--font-head); font-size: clamp(2.8rem, 4.6vw, 4.5rem); font-weight: 500; line-height: .9; }
.agenda-cta-panel img { width: 90px; height: 90px; align-self: flex-end; }
.agenda-section .section-heading-row .section-label,
.moments-heading .section-label,
.home-community .section-label { display: inline-flex; align-items: center; gap: 10px; }
.agenda-section .section-heading-row .section-label::before,
.moments-heading .section-label::before,
.home-community .section-label::before { content: ''; width: 26px; height: 26px; flex: 0 0 26px; background: url('../img/icon-agenda.svg') center / contain no-repeat; }
.moments-heading .section-label::before { background-image: url('../img/icon-encuentro.svg'); }
.home-community .section-label::before { background-image: url('../img/icon-vinculos.svg'); }
@media (max-width: 768px) {
  .inner-hero { padding: 112px 0 48px; }
  .inner-hero-layout, .inner-cta-layout { grid-template-columns: 1fr; gap: 36px; }
  .inner-hero-copy h1 { font-size: clamp(3rem, 9vw, 4.6rem); }
  .inner-hero-photo { height: 330px; margin: 8px 8px 10px; }
  .inner-hero-symbol { min-height: 260px; }
  .inner-cta { padding: 68px 0; }
  .inner-cta figure { height: 330px; }
}
@media (max-width: 520px) {
  .inner-hero-copy h1 { font-size: clamp(2.65rem, 10vw, 3.5rem); }
  .inner-hero-photo { height: 280px; }
  .inner-hero-photo::before { border-top-left-radius: 95px; }
  .inner-hero-photo img { border-top-left-radius: 85px; }
  .inner-cta h2 { font-size: clamp(2.6rem, 10vw, 3.5rem); }
  .agenda-cta-panel { min-height: 300px; padding: 32px; border-top-left-radius: 110px; }
}

/* Los títulos de sección usan una escala y una voz distintas del h1 editorial. */
h2,
.moments-heading h2,
.contact-feature-copy h2,
.inner-cta h2,
.pathway-detail h2,
.resources-contact h2 {
  font-family: var(--font-body);
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.035em;
  text-wrap: balance;
}
h2 em { font-style: normal; font-weight: 600; }
.section-title { line-height: 1.16; }
.moments-heading h2 { max-width: 760px; }
.contact-feature-copy h2 { max-width: 620px; margin: 22px 0 20px; }
.inner-cta { padding: 70px 0; }
.inner-cta h2 { max-width: 600px; margin: 14px 0 20px; }
.inner-cta figure { height: 330px; }
.home-contact-feature { padding: 76px 0; }
.contact-feature-photo { height: 440px; }
@media (max-width: 768px) {
  h2,
  .moments-heading h2,
  .contact-feature-copy h2,
  .inner-cta h2,
  .pathway-detail h2,
  .resources-contact h2 { font-size: clamp(1.8rem, 5.5vw, 2.45rem); }
  .inner-cta { padding: 58px 0; }
  .inner-cta figure { height: 300px; }
  .home-contact-feature { padding: 64px 0; }
  .contact-feature-photo { height: 390px; }
}
@media (max-width: 520px) {
  h2,
  .moments-heading h2,
  .contact-feature-copy h2,
  .inner-cta h2,
  .pathway-detail h2,
  .resources-contact h2 { font-size: clamp(1.75rem, 7.2vw, 2.1rem); }
  .contact-feature-photo { height: 350px; }
}

/* Índice visual entre la portada y la agenda. */
.home-intro {
  position: relative;
  z-index: 3;
  margin-top: -34px;
  padding: 0 0 30px;
  border: 0;
  background: linear-gradient(to bottom, transparent 0 34px, #f3f2e9 34px);
}
.home-intro .container { display: block; }
.intro-panel {
  display: grid;
  grid-template-columns: minmax(230px, 275px) minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid #cbd8ca;
  border-radius: 76px 9px 9px 9px;
  background: #fbfaf4;
  box-shadow: 0 20px 45px #152e302c;
}
.intro-lead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 215px;
  padding: 34px 30px 30px;
  background: radial-gradient(circle at 100% 100%, #54867555, transparent 54%), #2a5151;
}
.home-intro .intro-lead .section-label { margin: 0 0 15px; color: #e6d399; font-size: .62rem; letter-spacing: .12em; line-height: 1.5; }
.home-intro .intro-lead p { margin: 0; color: #fcf9ef; font-family: var(--font-head); font-size: clamp(1.9rem, 2.6vw, 2.5rem); font-weight: 500; line-height: 1.04; letter-spacing: -.025em; }
.intro-lead p em { color: #f0db9e; font-weight: 400; }
.intro-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.intro-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  min-height: 215px;
  padding: 23px clamp(17px, 2.2vw, 30px);
  color: #263e3c;
  background: #fbfaf4;
  transition: background .25s ease;
}
.intro-link + .intro-link { border-left: 1px solid #dbe4d8; }
.intro-link:hover, .intro-link:focus-visible { background: #eaf2e8; }
.home-intro .intro-link-icon { display: block; width: 64px; height: 64px; margin-bottom: 13px; }
.intro-link-icon img { display: block; width: 64px; height: 64px; filter: drop-shadow(0 3px 4px #7c9e8350); transition: transform .25s ease; }
.intro-link:hover .intro-link-icon img { transform: translateY(-3px); }
.home-intro .intro-link-text { display: flex; flex-direction: column; gap: 6px; }
.home-intro .intro-link-kicker { color: #6d7045; font-size: .58rem; font-weight: 700; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; }
.intro-link-text strong { max-width: 190px; color: #203a39; font-family: var(--font-body); font-size: .94rem; font-weight: 700; line-height: 1.35; }
.home-intro .intro-link-arrow { position: absolute; top: 24px; right: 20px; display: grid; place-items: center; width: 27px; height: 27px; border: 1px solid #c6d7c8; border-radius: 50%; color: #456f5c; font-size: .85rem; transition: transform .25s ease, background .25s ease; }
.intro-link:hover .intro-link-arrow { transform: translate(2px, -2px); background: #dce9da; }
@media (max-width: 768px) {
  .home-intro { margin-top: -24px; background: linear-gradient(to bottom, transparent 0 24px, #f3f2e9 24px); }
  .intro-panel { grid-template-columns: 1fr; border-radius: 60px 9px 9px 9px; }
  .intro-lead { min-height: 135px; padding: 24px 30px 22px; }
  .home-intro .intro-lead p { font-size: 2.1rem; }
  .intro-links { grid-template-columns: 1fr; }
  .intro-link { flex-direction: row; align-items: center; justify-content: flex-start; gap: 18px; min-height: 94px; padding: 13px 52px 13px 24px; }
  .intro-link + .intro-link { border-left: 0; border-top: 1px solid #dbe4d8; }
  .home-intro .intro-link-icon, .intro-link-icon img { width: 58px; height: 58px; margin-bottom: 0; flex: 0 0 58px; }
  .home-intro .intro-link-arrow { top: 50%; right: 18px; transform: translateY(-50%); }
  .intro-link:hover .intro-link-arrow { transform: translate(2px, calc(-50% - 2px)); }
  .intro-link-text strong { max-width: none; }
}
@media (max-width: 520px) {
  .home-intro .intro-lead p { font-size: 1.9rem; }
  .intro-link { gap: 13px; padding-left: 18px; }
  .home-intro .intro-link-icon, .intro-link-icon img { width: 52px; height: 52px; flex-basis: 52px; }
}
.home-intro .intro-link-icon { padding: 4px; border-radius: 50%; background: #2c5550; box-shadow: inset 0 0 0 1px #e4d29b55, 0 5px 12px #294d4533; }
.intro-link-icon img { width: 100%; height: 100%; filter: none; }
.intro-link:hover .intro-link-icon { background: #376a5e; }
