/* ============ TEMPLATE EMBER — HOME ============ */

/* 1. HERO */
.e-hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;}
.e-hero-media{position:absolute;inset:0;z-index:0;}
.e-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,35,32,.55) 0%,rgba(42,35,32,.3) 40%,rgba(42,35,32,.55) 100%);}
.e-hero-inner{position:relative;z-index:2;max-width:900px;padding:0 30px;}
.e-hero h1{font-family:var(--title);font-weight:300;color:var(--cream);text-transform:uppercase;letter-spacing:.10em;font-size:clamp(30px,4.6vw,62px);line-height:1.28;}
.e-hero h1 em{font-weight:400;}
.e-hero h1 strong{font-weight:600;}
.e-hero-scroll{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--cream);opacity:.8;}

/* 2. INTRO */
.e-intro{background:var(--paper);padding:120px 0 110px;text-align:center;}
.e-intro-lead{font-family:var(--title);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(17px,1.9vw,25px);line-height:1.85;color:var(--ink);max-width:620px;margin:0 auto;}
.e-intro-line{width:1px;height:78px;background:var(--ink);margin:44px auto;opacity:.6;}
.e-intro-word{font-family:var(--title);font-style:italic;font-weight:400;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(20px,2.1vw,28px);color:var(--ink);}

/* 3. SESIONES */
.e-sessions{background:var(--paper);padding:20px 0 120px;}
.e-sessions-grid{display:grid;grid-template-columns:0.9fr 2.6fr;border-top:1px solid var(--line);}
.e-sessions-list{border-right:1px solid var(--line);padding:60px 0;display:flex;flex-direction:column;}
.session-item{font-family:var(--title);font-size:19px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding:20px 46px;background:none;border:0;text-align:left;cursor:pointer;border-left:2px solid transparent;transition:color .3s ease,border-color .3s ease,background .3s ease;font-weight:400;}
.session-item:hover{color:var(--ink);}
.session-item.is-active{color:var(--ink);border-left-color:var(--ink);background:rgba(0,0,0,.02);}
.e-sessions-panels{padding:60px 60px 40px;position:relative;}
.session-panel{display:none;animation:efade .5s ease;}
.session-panel.is-active{display:block;}
@keyframes efade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.panel-head{display:flex;align-items:center;gap:26px;margin-bottom:44px;}
.panel-head .the{font-family:var(--title);font-weight:400;text-transform:uppercase;letter-spacing:.14em;font-size:clamp(22px,2.4vw,34px);color:var(--ink);}
.panel-head .rule{flex:0 0 120px;height:1px;background:var(--ink);opacity:.5;}
.panel-head .name{font-family:var(--title);font-style:italic;font-weight:500;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(24px,2.8vw,40px);color:var(--ink);}
.panel-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:34px;}
.panel-photos figure{position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--paper-2);}
.panel-photos .ph{position:absolute;inset:0;background:linear-gradient(135deg,#E7E2D8,#C9C3B6);}
.panel-photos img,.panel-photos video{filter:none;transition:transform .8s ease;}
.panel-photos figure:hover img{transform:scale(1.05);}
.panel-text{max-width:640px;color:var(--ink);opacity:.85;font-size:14.5px;line-height:1.9;}
.panel-cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px;}
.panel-note{font-family:var(--body);font-weight:300;font-size:12px;letter-spacing:.04em;color:var(--muted);line-height:1.4;margin-top:16px;}
/* Enlace secundario junto al botón sólido (por ejemplo, «Reservar sesión»). */
.link-quiet{font-family:var(--body);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:5px;transition:border-color .3s ease;}
.link-quiet:hover{border-bottom-color:var(--ink);}
/* Las fotos del panel llevan al detalle de la sesión. */
.photo-link{display:block;position:relative;width:100%;height:100%;}
.photo-veil{position:absolute;inset:0;background:rgba(42,35,32,.42);opacity:0;transition:opacity .35s ease;display:flex;align-items:center;justify-content:center;}
.photo-veil span{font-family:var(--body);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);transform:translateY(6px);transition:transform .35s ease;}
.photo-link:hover .photo-veil,.photo-link:focus-visible .photo-veil{opacity:1;}
.photo-link:hover .photo-veil span,.photo-link:focus-visible .photo-veil span{transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.photo-veil,.photo-veil span{transition:none;}}

/* 4. FEATURE */
.e-feature{position:relative;min-height:64vh;display:flex;overflow:hidden;}
.e-feature-media{position:absolute;inset:0;z-index:0;}
.e-feature-media::after{content:"";position:absolute;inset:0;background:rgba(42,35,32,.30);}
.e-feature-inner{position:relative;z-index:2;width:100%;display:flex;flex-direction:column;justify-content:space-between;padding:56px 60px;min-height:64vh;}
.e-feature-title{font-family:var(--title);font-weight:300;color:var(--cream);text-transform:uppercase;letter-spacing:.08em;font-size:clamp(26px,3.4vw,50px);max-width:640px;line-height:1.2;}
.e-feature-btn{align-self:flex-end;font-family:var(--title);font-style:italic;font-size:17px;color:var(--cream);border:1px solid rgba(237,233,225,.6);padding:15px 40px;letter-spacing:.04em;transition:background .35s ease,color .35s ease;}
.e-feature-btn:hover{background:var(--cream);color:var(--ink);}

/* 5. MI FILOSOFÍA */
.e-dark-gallery{background:var(--espresso);color:var(--cream);padding:110px 0 120px;position:relative;overflow:hidden;}
.e-dark-gallery .backword{position:absolute;top:40px;left:0;right:0;z-index:0;text-align:center;font-family:var(--title);font-weight:400;font-size:clamp(60px,13vw,190px);line-height:.9;color:var(--cream);opacity:.10;letter-spacing:.02em;white-space:nowrap;pointer-events:none;}
.e-dark-gallery .dg-inner{position:relative;z-index:2;}
.dg-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:980px;margin:70px auto 0;}
.dg-photos figure{position:relative;aspect-ratio:3/4;overflow:hidden;background:#241d1a;}
.dg-photos img,.dg-photos video{filter:none;transition:transform .8s ease;}
.dg-photos figure:hover img{transform:scale(1.05);}
.dg-captions{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;max-width:980px;margin:44px auto 0;text-align:center;}
.dg-num{font-family:var(--title);font-style:italic;font-size:22px;color:#CFC8BC;display:block;margin-bottom:8px;}
.dg-cap-title{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#CFC8BC;margin-bottom:10px;}
.dg-cap-text{font-size:13px;line-height:1.8;color:#B4AEA2;max-width:240px;margin:0 auto;}

/* 7. CONTACTO */
.e-contact{background:var(--paper);display:grid;grid-template-columns:1fr 1.1fr;align-items:center;}
.e-contact-photo{display:flex;align-items:center;justify-content:center;padding:90px 70px;background:var(--paper);}
.e-contact-photo figure{position:relative;width:100%;max-width:380px;aspect-ratio:4/5;overflow:hidden;background:var(--paper-2);}
.e-contact-form-wrap{padding:96px 80px;display:flex;flex-direction:column;justify-content:center;}
.e-contact-form-wrap .eyebrow{margin-bottom:22px;}
.e-contact-title{font-family:var(--title);font-weight:400;font-size:clamp(26px,2.9vw,40px);line-height:1.25;color:var(--ink);margin-bottom:18px;}
.e-contact-sub{font-size:14px;color:var(--muted);line-height:1.85;max-width:440px;margin-bottom:40px;}
.c-form{display:flex;flex-direction:column;gap:26px;max-width:480px;}
.c-row{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
.c-field{display:flex;flex-direction:column;gap:8px;}
.c-field label{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);}
.c-field input,.c-field textarea,.c-field select{background:none;border:0;border-bottom:1px solid var(--line);padding:8px 0;font-family:var(--body);font-size:15px;color:var(--ink);font-weight:300;}
.c-field input:focus,.c-field textarea:focus{outline:0;border-color:var(--ink);}
.c-submit{align-self:flex-start;margin-top:8px;font-family:var(--title);font-style:italic;font-size:16px;color:var(--paper);background:var(--ink);border:0;padding:15px 46px;cursor:pointer;letter-spacing:.03em;transition:opacity .3s ease;}
.c-submit:hover{opacity:.85;}

/* ============ RESPONSIVE ============ */
@media (max-width:900px){
  .e-hero{min-height:88vh;}
  .e-sessions-grid{grid-template-columns:1fr;}
  .e-sessions-list{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px;overflow:visible;border-right:0;border-bottom:1px solid var(--line);padding:26px 0;}
  .session-item{white-space:nowrap;padding:9px 16px;border-left:0;border:1px solid var(--line);font-size:13px;letter-spacing:.1em;}
  .session-item.is-active{border-left:0;border-color:var(--ink);background:var(--ink);color:var(--paper);}
  .e-sessions-panels{padding:40px 24px;}
  .panel-photos{grid-template-columns:1fr 1fr;gap:14px;}
  .panel-head{flex-wrap:wrap;gap:14px;}
  .panel-head .rule{flex-basis:60px;}
  .e-feature-inner{padding:40px 24px;}
  .dg-photos,.dg-captions{grid-template-columns:1fr;max-width:360px;}
  .e-contact{grid-template-columns:1fr;}
  .e-contact-photo{padding:50px 40px 20px;}
  .e-contact-photo figure{max-width:300px;}
  .e-contact-form-wrap{padding:60px 24px;}
  .c-row{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .e-hero h1{font-size:clamp(25px,7.6vw,34px);line-height:1.32;}
  .e-intro{padding:76px 0 70px;}
  .e-intro-lead{font-size:16px;line-height:1.75;}
  .e-intro-line{height:56px;margin:32px auto;}
  .e-sessions{padding:10px 0 70px;}
  .panel-head .the{font-size:20px;}
  .panel-head .name{font-size:22px;}
  .e-feature{min-height:56vh;}
  .e-feature-inner{min-height:56vh;padding:34px 20px;}
  .e-dark-gallery{padding:76px 0 84px;}
  .e-dark-gallery .backword{font-size:clamp(46px,17vw,74px);top:30px;}
  .dg-photos{margin-top:56px;max-width:260px;}
}
