@font-face{font-family:Bubybins;src:url('https://assets.zyrosite.com/AQEpJkb5lyizkRok/Bubybins Regular.woff2') format('woff2');font-display:swap}
:root{--lavender:#d7d0f1;--soft:#f8f6ff;--yellow:#f9ea9f;--ink:#121212;--muted:#64616d;--white:#fff;--max:1120px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Poppins,Arial,sans-serif;color:var(--ink);background:#fff}section[id]{scroll-margin-top:98px}a{color:inherit}.topbar{min-height:38px;background:var(--lavender);display:flex;align-items:center;justify-content:center;text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;padding:8px 14px}.topbar a{color:#fff;text-decoration:underline;text-underline-offset:3px}.site-header{height:60px;background:var(--lavender);display:flex;align-items:center;gap:25px;padding:0 34px;position:sticky;top:0;z-index:20}.logo{font-family:Bubybins,cursive;color:#fff;font-size:19px;text-decoration:none;letter-spacing:1px;white-space:nowrap}.nav{display:flex;align-items:center;gap:23px}.nav a{color:#fff;text-decoration:none;font-size:14px;font-weight:800;transition:.2s;white-space:nowrap}.nav a:hover,.nav a.active{color:var(--yellow);border-bottom:2px solid var(--yellow);padding-bottom:5px}.profile-link{margin-left:auto;display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.24);color:#fff;text-decoration:none;border-radius:999px;padding:9px 14px;font-weight:800;font-size:13px;white-space:nowrap}.menu-toggle{display:none;margin-left:auto;background:transparent;border:0;color:white;font-size:28px}.hero{height:510px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 57%;transform:scale(1.01)}.hero-overlay{position:absolute;inset:0;background:rgba(0,0,0,.42)}.hero-content{position:relative;text-align:center;color:var(--lavender);padding:20px}.hero h1{font-family:Bubybins,cursive;font-size:clamp(88px,14vw,175px);line-height:.82;margin:0 0 22px;letter-spacing:4px}.hero p{font-size:21px;font-weight:500;line-height:1.25;margin:0 0 24px}.hero-btn,.cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;border-radius:999px;background:var(--lavender);color:#fff;text-decoration:none;font-weight:800}.white-cta{background:#fff;color:var(--lavender)}section{padding:66px 24px}.lavender{background:var(--lavender)}.section-head{text-align:center;max-width:880px;margin:0 auto 34px}.section-head h2{font-family:Bubybins,cursive;font-size:clamp(36px,5vw,62px);line-height:1;color:var(--lavender);margin:0 0 16px;letter-spacing:2px}.section-head.light h2,.section-head.light p{color:#fff}.section-head p{font-size:16px;color:var(--muted);font-weight:600;line-height:1.5;margin:0 auto 20px;max-width:680px}.eyebrow{display:block;color:var(--lavender);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;margin-bottom:10px}.eyebrow.white{color:#fff}.mini-pillars{max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mini-pillars article{background:var(--soft);border-radius:20px;padding:22px;text-align:center}.mini-pillars strong{display:block;font-size:23px}.mini-pillars span{display:block;color:#9d92d7;font-weight:700;margin-top:4px}.experiencias{padding-top:62px;padding-bottom:82px}.model-grid{max-width:1060px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.model-card{position:relative;display:block;height:220px;overflow:hidden;border-radius:24px;text-decoration:none;color:#fff;background:#ddd}.model-card img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.66);transition:.35s}.model-card:hover img{transform:scale(1.04);filter:brightness(.54)}.model-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px}.model-overlay h3{margin:0;font-size:25px;line-height:1.05;font-weight:900;text-transform:uppercase}.model-overlay p{margin:8px 0 0;font-size:13px;font-weight:700;max-width:240px}.purpose{background:#fff}.purpose-wrap{max-width:1080px;margin:0 auto}.purpose h2{font-size:42px;line-height:1.08;margin:0 0 28px;max-width:720px}.purpose-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.purpose-grid article{background:var(--soft);border-radius:20px;padding:22px}.purpose-grid b{display:block;font-size:20px;margin-bottom:8px}.purpose-grid span{font-size:14px;color:#555;line-height:1.45}.passport-card{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.passport-card>div:first-child,.passport-box{border-radius:26px;padding:34px;background:rgba(255,255,255,.22);color:#fff}.passport-card h2{font-size:42px;line-height:1.05;margin:0 0 14px}.passport-card p{font-size:16px;line-height:1.6;margin:0 0 22px}.passport-box{background:#fff;color:var(--ink)}.passport-box h3{font-size:24px;margin:0 0 14px}.passport-box ul{display:grid;gap:10px;margin:0;padding-left:20px}.reviews{background:#fff}.review-grid{max-width:960px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.review-grid article{background:var(--soft);border-radius:20px;padding:24px;text-align:center}.review-grid b{display:block;color:var(--lavender);font-size:18px;margin-bottom:12px}.review-grid span{font-weight:700;line-height:1.45}.community{padding-top:70px;padding-bottom:70px}.location-wrap{max-width:1080px;margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:58px}.location-text h2{font-size:42px;margin:0 0 8px;color:var(--lavender)}.location-text p{font-size:16px;line-height:1.55;max-width:500px}.location iframe{width:100%;height:320px;border:0;border-radius:22px}.footer{min-height:280px;background:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;max-width:1100px;margin:0 auto;padding:66px 24px;color:var(--lavender)}.footer a{color:var(--lavender)}.socials{display:flex;gap:18px;font-weight:800}.footer p{grid-column:1/2;font-size:13px}.footer ul{grid-column:2/3;grid-row:1/3;justify-self:end;list-style:none;margin:0;padding:0;display:grid;gap:14px;font-weight:600}.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}.profile-page{background:var(--lavender)}.profile-header{position:relative}.profile-main{max-width:1000px;margin:0 auto;padding:54px 22px}.profile-hero{text-align:center;color:#fff;padding:30px 0}.profile-hero h1{font-family:Bubybins,cursive;font-size:82px;margin:0;line-height:.9}.profile-hero p{font-weight:700}.login-card{background:#fff;border-radius:28px;max-width:520px;margin:0 auto;padding:30px}.login-card h2{margin:0 0 8px}.login-card p{color:#666}.login-card form{display:grid;gap:10px;margin:22px 0}.login-card label{font-size:13px;font-weight:800}.login-card input{height:46px;border:1px solid #ddd;border-radius:14px;padding:0 14px;font-family:inherit}.login-card button{height:48px;border:0;border-radius:999px;background:var(--lavender);color:white;font-weight:900;font-family:inherit}.login-card>a{display:block;text-align:center;color:var(--lavender);font-weight:800}.passport-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:760px;margin:22px auto}.passport-preview article{background:rgba(255,255,255,.25);border-radius:18px;color:#fff;text-align:center;padding:22px}.passport-preview b{display:block;font-size:34px}.passport-preview span{font-weight:800}
@media(max-width:980px){.site-header{height:auto;min-height:58px;padding:12px 18px;flex-wrap:wrap}.menu-toggle{display:block}.profile-link{margin-left:0}.nav{display:none;width:100%;flex-direction:column;gap:12px;align-items:flex-start;padding:10px 0}.nav.open{display:flex}.hero{height:360px}.mini-pillars,.model-grid,.review-grid{grid-template-columns:repeat(2,1fr)}.purpose-grid{grid-template-columns:repeat(2,1fr)}.passport-card,.location-wrap{grid-template-columns:1fr}.footer{grid-template-columns:1fr}.footer ul{grid-column:auto;grid-row:auto;justify-self:start}}
@media(max-width:560px){.topbar{font-size:11px;line-height:1.35;padding:7px 10px}.site-header{position:relative;gap:14px;min-height:54px}.logo{font-size:17px}.profile-link{padding:8px 11px;font-size:12px}.profile-link span{display:none}.hero{height:255px}.hero h1{font-size:72px}.hero p{font-size:18px;margin-bottom:16px}.hero-btn{min-height:42px;font-size:13px;padding:0 20px}section{padding:50px 18px}.section-head h2{font-size:31px;line-height:1.05;letter-spacing:1px}.section-head p{font-size:14.5px}.mini-pillars,.model-grid,.review-grid,.purpose-grid{grid-template-columns:1fr}.mini-pillars article{padding:16px}.model-grid{max-width:390px;gap:14px}.model-card{height:145px;border-radius:22px}.model-overlay h3{font-size:22px}.model-overlay p{font-size:12px}.purpose h2{font-size:29px}.purpose-grid article{padding:18px}.passport-card h2{font-size:32px}.passport-card>div:first-child,.passport-box{padding:24px}.location-text h2{font-size:32px}.location iframe{height:260px}.footer{padding:58px 20px}.profile-hero h1{font-size:58px}.passport-preview{grid-template-columns:1fr}.login-card{padding:24px}}

/* Ajuste final: solo 3 modelos principales */
.model-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 1180px;
  gap: 28px;
}
.model-card{
  min-height: 280px;
}
@media (max-width: 900px){
  .model-grid{grid-template-columns: 1fr; max-width: 430px; gap: 22px;}
  .model-card{min-height: 190px;}
}

.simple-header{position:sticky;top:0;}
.talleres-hero{padding:90px 24px 110px;min-height:calc(100vh - 80px);}
.talleres-hero h1{font-family:'Bubybins Regular','Poppins',sans-serif;font-size:clamp(48px,8vw,100px);color:#fff;margin:0 0 12px;}
.talleres-options{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1240px;}
.talleres-options .model-card{min-height:250px;}
@media(max-width:1000px){.talleres-options{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.talleres-hero{padding:58px 18px 80px}.talleres-options{grid-template-columns:1fr;max-width:420px}.talleres-options .model-card{min-height:170px}}

/* Página Retiros / Viajes */
.retiros-page{background:#fff}.retiros-hero{background:#fff;padding-top:62px;min-height:calc(100vh - 98px)}.retiros-hero .section-head h1{font-family:Bubybins,cursive;color:var(--lavender);font-size:clamp(40px,6vw,76px);line-height:1.12;letter-spacing:2px;max-width:980px;margin:0 auto 18px}.retiros-hero .section-head p{color:var(--lavender);font-weight:800;max-width:760px}.retiros-options{grid-template-columns:repeat(2,1fr);max-width:940px;gap:34px}.retiro-option{height:330px;border-radius:0}.retiro-option img{filter:brightness(.72);object-position:center}.retiro-option .model-overlay h3{font-size:24px}.retiro-option .model-overlay p{font-size:13px;color:#fff;max-width:280px}@media(max-width:760px){.retiros-hero{padding-top:42px}.retiros-options{grid-template-columns:1fr;max-width:360px;gap:18px}.retiro-option{height:230px;border-radius:18px}.retiros-hero .section-head h1{font-size:38px}.retiros-hero .section-head p{font-size:14px}}

/* Menú final limpio + desplegable de contacto */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown>button{background:transparent;border:0;color:#fff;font-family:inherit;font-size:14px;font-weight:800;cursor:pointer;padding:0;white-space:nowrap}
.nav-dropdown>button:hover{color:var(--yellow)}
.nav-dropdown-menu{position:absolute;top:28px;left:50%;transform:translateX(-50%);min-width:145px;background:#fff;border-radius:16px;padding:10px;box-shadow:0 14px 35px rgba(0,0,0,.12);display:none;z-index:50}
.nav-dropdown:hover .nav-dropdown-menu{display:grid;gap:4px}
.nav-dropdown-menu a{color:var(--lavender)!important;border:0!important;padding:9px 12px!important;border-radius:12px;font-size:13px;font-weight:800;text-decoration:none}
.nav-dropdown-menu a:hover{background:var(--soft);color:#9d92d7!important}
@media(max-width:980px){.nav-dropdown{display:block}.nav-dropdown>button{font-size:14px}.nav-dropdown-menu{position:static;transform:none;box-shadow:none;margin-top:8px;background:rgba(255,255,255,.18);display:grid}.nav-dropdown-menu a{color:#fff!important}}

/* Perfil cliente / CRM */
.profile-auth-card{background:#fff;border-radius:30px;max-width:760px;margin:0 auto;padding:30px;box-shadow:0 18px 50px rgba(68,54,124,.12)}
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--soft);border-radius:999px;padding:6px;margin-bottom:24px}
.auth-tab{height:44px;border:0;border-radius:999px;background:transparent;color:var(--lavender);font-family:inherit;font-weight:900;cursor:pointer}
.auth-tab.active{background:var(--lavender);color:#fff}
.auth-panel{display:none;gap:12px}
.auth-panel.active{display:grid}
.auth-panel h2{margin:0;color:var(--ink);font-size:26px}
.auth-panel p{margin:0 0 12px;color:#666;font-weight:600;line-height:1.5}
.auth-panel label{font-size:13px;font-weight:900;color:var(--ink);margin-top:4px}
.auth-panel input,.auth-panel select{height:48px;border:1px solid #e4e0ef;border-radius:15px;padding:0 14px;font-family:inherit;background:#fff;color:var(--ink);width:100%}
.auth-panel button[type="button"]{height:50px;border:0;border-radius:999px;background:var(--lavender);color:#fff;font-family:inherit;font-weight:900;margin-top:10px;cursor:pointer}
.auth-panel small{display:block;text-align:center;color:#948bbd;font-weight:700;line-height:1.45}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.clean-preview{margin-top:24px}
@media(max-width:620px){.profile-auth-card{padding:22px;border-radius:24px}.form-grid{grid-template-columns:1fr}.auth-tabs{grid-template-columns:1fr;border-radius:20px}.auth-tab{border-radius:16px}.auth-panel h2{font-size:22px}}

/* Conexión real perfil / CRM */
.form-message{max-width:760px;margin:0 auto 18px;border-radius:18px;padding:14px 18px;text-align:center;font-weight:800;background:#fff;color:var(--lavender)}
.form-message.error{color:#b64242;background:#fff2f2}.form-message.success{color:#5d9c70;background:#f0fff4}
.auth-panel button[type="submit"],.logout-form button{height:50px;border:0;border-radius:999px;background:var(--lavender);color:#fff;font-family:inherit;font-weight:900;margin-top:10px;cursor:pointer;padding:0 26px}
.profile-dashboard h2{font-size:30px;margin:0 0 8px}.profile-dashboard>p{color:#666;font-weight:600;line-height:1.5;margin:0 0 22px}.crm-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.crm-summary article{background:var(--soft);border-radius:18px;padding:16px}.crm-summary span{display:block;color:#948bbd;font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:5px}.crm-summary b{font-size:15px}.dashboard-preview{max-width:none;margin:20px 0}.logout-form{text-align:center}@media(max-width:620px){.crm-summary{grid-template-columns:1fr}}

/* ===== FIX MENÚ FINAL ETHEREAL ===== */
.site-header{
  height:60px;
  background:var(--lavender);
  display:flex;
  align-items:center;
  gap:25px;
  padding:0 34px;
  position:sticky;
  top:0;
  z-index:9999;
}

.nav{
  display:flex;
  align-items:center;
  gap:23px;
}

.nav > a{
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  white-space:nowrap;
  border:0;
  padding:0;
}

.nav > a:hover,
.nav > a.active{
  color:var(--yellow);
  border-bottom:2px solid var(--yellow);
  padding-bottom:5px;
}

.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.nav-dropdown-btn{
  appearance:none;
  -webkit-appearance:none;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
  color:#fff!important;
  font-family:Poppins,Arial,sans-serif!important;
  font-size:14px!important;
  font-weight:800!important;
  line-height:1!important;
  padding:0!important;
  margin:0!important;
  cursor:pointer;
  white-space:nowrap;
}

.nav-dropdown-btn:hover{
  color:var(--yellow)!important;
}

.nav-dropdown-menu{
  position:absolute;
  top:30px;
  left:50%;
  transform:translateX(-50%);
  min-width:150px;
  background:#fff;
  border-radius:16px;
  padding:8px;
  box-shadow:0 14px 35px rgba(0,0,0,.14);
  display:none!important;
  z-index:10000;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  display:grid!important;
  gap:4px;
}

.nav-dropdown-menu a{
  display:block;
  color:var(--lavender)!important;
  text-decoration:none!important;
  font-size:13px!important;
  font-weight:800!important;
  padding:10px 12px!important;
  border-radius:12px;
  border:0!important;
  text-align:center;
  white-space:nowrap;
}

.nav-dropdown-menu a:hover{
  background:var(--soft);
  color:#9d92d7!important;
}

@media(max-width:980px){
  .nav{
    display:none;
    width:100%;
    flex-direction:column;
    gap:12px;
    align-items:flex-start;
    padding:10px 0;
  }

  .nav.open{
    display:flex;
  }

  .nav-dropdown{
    width:100%;
    display:block;
  }

  .nav-dropdown-btn{
    font-size:14px!important;
  }

  .nav-dropdown-menu{
    position:static;
    transform:none;
    width:max-content;
    min-width:150px;
    margin-top:10px;
    background:#fff;
  }
}
/* Página ¿ETHEREAL? - branding corregido */

.ethereal-page{
  background:#fff;
}

.ethereal-hero{
  background:var(--lavender);
  text-align:center;
  padding:70px 24px 54px;
}

.ethereal-hero h1{
  font-family:Bubybins,cursive;
  color:#fff;
  font-size:clamp(42px,6vw,74px);
  line-height:1;
  margin:0 0 14px;
  letter-spacing:2px;
}

.ethereal-hero p{
  color:#fff;
  font-size:17px;
  font-weight:800;
  margin:0;
}

.ethereal-intro{
  max-width:1040px;
  margin:0 auto;
  padding:58px 24px;
  display:grid;
  grid-template-columns:1.05fr .85fr;
  gap:34px;
  align-items:center;
}

.ethereal-intro h2,
.mv-grid h2,
.values-section h2,
.team-section h2,
.final-phrase h2{
  font-family:Bubybins,cursive;
  color:var(--lavender);
  font-size:clamp(34px,4.5vw,56px);
  line-height:1;
  margin:0 0 18px;
  letter-spacing:1.5px;
}

.ethereal-intro p{
  font-size:15px;
  line-height:1.65;
  font-weight:700;
  color:#7c7590;
  margin:0 0 14px;
}

.ethereal-intro img{
  width:100%;
  max-height:310px;
  object-fit:cover;
  border-radius:24px;
}

.mv-grid{
  max-width:1040px;
  margin:0 auto;
  padding:20px 24px 58px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.mv-grid article,
.values-grid article,
.team-grid article{
  background:var(--soft);
  border-radius:24px;
  padding:26px;
}

.mv-grid p,
.values-grid p,
.team-grid p{
  color:#7c7590;
  font-weight:700;
  line-height:1.55;
  font-size:14.5px;
  margin:0;
}

.values-section,
.team-section{
  max-width:1040px;
  margin:0 auto;
  padding:54px 24px;
  text-align:center;
}

.values-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}

.values-grid h3,
.team-grid h3{
  color:var(--lavender);
  font-size:21px;
  margin:0 0 8px;
  font-weight:900;
}

.team-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.final-phrase{
  background:var(--lavender);
  text-align:center;
  padding:64px 24px;
}

.final-phrase h2{
  color:#fff;
  font-size:clamp(34px,4vw,58px);
}

.final-phrase a{
  display:inline-flex;
  margin-top:22px;
  background:#fff;
  color:var(--lavender);
  padding:13px 28px;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
}

@media(max-width:800px){
  .ethereal-hero{
    padding:56px 20px 44px;
  }

  .ethereal-intro,
  .mv-grid,
  .values-grid,
  .team-grid{
    grid-template-columns:1fr;
  }

  .ethereal-intro{
    padding:46px 20px;
  }

  .ethereal-intro img{
    max-height:230px;
  }

  .mv-grid,
  .values-section,
  .team-section{
    padding-left:20px;
    padding-right:20px;
  }
}
/* ==============================
   Página ¿ETHEREAL? definitiva
   ============================== */
.ethereal-story-page{background:#fff;overflow:hidden}.ethereal-story-page .eyebrow{color:var(--lavender);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.ethereal-story-page .eyebrow.white{color:#fff}.ethereal-story-hero{background:var(--lavender);min-height:520px;padding:64px 7%;display:grid;grid-template-columns:1fr .9fr;gap:52px;align-items:center}.ethereal-story-hero__text{max-width:620px;color:#fff}.ethereal-story-hero h1{font-family:Bubybins,cursive;font-size:clamp(54px,8vw,102px);line-height:.92;margin:16px 0 18px;color:#fff;letter-spacing:2px;font-weight:400}.ethereal-story-hero p{font-size:18px;line-height:1.55;font-weight:800;margin:0 0 26px;color:#fff;max-width:560px}.ethereal-story-hero__image img{width:100%;height:360px;object-fit:cover;border-radius:30px;display:block;box-shadow:0 18px 50px rgba(65,49,124,.16)}.ethereal-story-intro{max-width:1120px;margin:0 auto;padding:72px 24px;display:grid;grid-template-columns:1.05fr .85fr;gap:42px;align-items:center}.ethereal-story-intro h2,.ethereal-values h2,.ethereal-team h2,.ethereal-final h2{font-family:Bubybins,cursive;color:var(--lavender);font-size:clamp(40px,5vw,68px);line-height:.96;margin:12px 0 22px;letter-spacing:1.4px;font-weight:400}.ethereal-story-intro p{font-size:15.5px;line-height:1.75;color:#7c7590;font-weight:700;margin:0 0 14px}.ethereal-story-intro .big-question{font-size:18px;color:var(--ink);font-weight:900}.ethereal-story-intro img{width:100%;height:310px;object-fit:cover;border-radius:26px;display:block}.ethereal-mission-strip{background:var(--lavender);padding:60px 7%;display:grid;grid-template-columns:1fr 1fr;gap:24px}.ethereal-mission-strip article{background:#fff;border-radius:28px;padding:34px;min-height:190px;display:flex;flex-direction:column;justify-content:center}.ethereal-mission-strip h2{font-family:Bubybins,cursive;color:var(--lavender);font-size:clamp(38px,4vw,58px);line-height:.95;margin:0 0 16px;font-weight:400}.ethereal-mission-strip p{font-size:15.5px;line-height:1.65;color:#7c7590;font-weight:800;margin:0}.ethereal-values{max-width:1120px;margin:0 auto;padding:72px 24px;text-align:center}.ethereal-values .section-head h2{color:var(--lavender);margin-bottom:10px}.ethereal-values .section-head p{color:#7c7590}.ethereal-values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.ethereal-values-grid article{background:var(--soft);border-radius:26px;padding:28px 24px;text-align:left}.ethereal-values-grid span{display:inline-flex;width:38px;height:38px;border-radius:999px;background:var(--lavender);color:#fff;align-items:center;justify-content:center;font-weight:900;font-size:13px;margin-bottom:18px}.ethereal-values-grid h3{color:var(--lavender);font-size:24px;line-height:1;margin:0 0 12px;font-weight:900}.ethereal-values-grid p{color:#7c7590;font-size:14.5px;line-height:1.6;font-weight:700;margin:0}.ethereal-team{background:var(--soft);padding:72px 7%;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center}.ethereal-team__text p{color:#7c7590;font-size:15.5px;line-height:1.75;font-weight:700;max-width:520px}.ethereal-team__cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.ethereal-team__cards article{background:#fff;border-radius:24px;padding:28px;text-align:center}.ethereal-team__cards h3{font-family:Bubybins,cursive;color:var(--lavender);font-size:42px;line-height:.9;margin:0 0 8px;font-weight:400}.ethereal-team__cards p{margin:0;color:#7c7590;font-size:15px;font-weight:900}.ethereal-final{background:var(--lavender);text-align:center;padding:76px 24px}.ethereal-final h2{color:#fff;margin:0 auto 24px;max-width:900px}.ethereal-final .cta{margin-top:4px}@media(max-width:900px){.ethereal-story-hero,.ethereal-story-intro,.ethereal-mission-strip,.ethereal-team{grid-template-columns:1fr}.ethereal-story-hero{padding:54px 22px;gap:30px}.ethereal-story-hero__image img{height:260px}.ethereal-story-intro{padding:58px 20px}.ethereal-story-intro img{height:230px}.ethereal-mission-strip{padding:46px 20px}.ethereal-values-grid,.ethereal-team__cards{grid-template-columns:1fr}.ethereal-team{padding:58px 20px}.ethereal-final{padding:58px 20px}}
/* Arreglo visual página ¿ETHEREAL? */

.ethereal-page .lavender {
  background: #d7d0f1;
}

.ethereal-page .section-head h2,
.ethereal-page .section-head p,
.ethereal-page .eyebrow {
  color: #d7d0f1;
}

.ethereal-page .section-head.light h2,
.ethereal-page .section-head.light p,
.ethereal-page .section-head.light .eyebrow {
  color: #ffffff;
}

.mission-vision {
  padding: 56px 24px;
}

.ethereal-mv-grid {
  max-width: 960px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.ethereal-mv-grid article {
  background: #ffffff;
  border-radius: 26px;
  padding: 28px;
  text-align: left;
}

.ethereal-mv-grid article span {
  display: block;
  color: #9d92d7;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 8px;
}

.ethereal-mv-grid article h2 {
  color: #d7d0f1;
  font-size: 34px;
  line-height: 1;
  margin-bottom: 14px;
}

.ethereal-mv-grid article p {
  color: #6d667d;
  font-size: 15px;
  line-height: 1.6;
  font-weight: 700;
}

.ethereal-values {
  background: #ffffff;
  padding: 64px 24px;
}

.ethereal-values-grid article {
  background: #f8f6ff;
  border-radius: 24px;
  padding: 26px;
}

.ethereal-values-grid strong {
  display: block;
  color: #d7d0f1;
  font-size: 22px;
  margin-bottom: 10px;
}

.ethereal-values-grid p {
  color: #6d667d;
  font-size: 14.5px;
  line-height: 1.55;
  font-weight: 700;
}

.ethereal-team {
  padding: 64px 24px;
}

.ethereal-team-grid article {
  background: #ffffff;
  color: #6d667d;
  border-radius: 22px;
  padding: 24px;
  text-align: center;
}

.ethereal-team-grid h3 {
  color: #d7d0f1;
  font-size: 24px;
  margin-bottom: 6px;
}

.ethereal-team-grid p {
  color: #6d667d;
  font-weight: 800;
}

.ethereal-hero-image img,
.story-grid img {
  max-height: 320px;
  object-fit: cover;
  border-radius: 26px;
}

@media(max-width: 760px) {
  .ethereal-mv-grid,
  .ethereal-values-grid,
  .ethereal-team-grid {
    grid-template-columns: 1fr;
  }

  .ethereal-mv-grid article h2 {
    font-size: 30px;
  }

  .ethereal-hero-image img,
  .story-grid img {
    max-height: 240px;
  }
}
/* FIX DEFINITIVO ¿ETHEREAL? */

.ethereal-page .reveal,
.ethereal-page .reveal.visible {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
}

.ethereal-page section {
  display: block !important;
}

.mission-vision,
.ethereal-team {
  background: #d7d0f1 !important;
  padding: 70px 24px !important;
}

.ethereal-mv-grid,
.ethereal-values-grid,
.ethereal-team-grid {
  display: grid !important;
  gap: 20px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}

.ethereal-mv-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

.ethereal-values-grid {
  grid-template-columns: repeat(3, 1fr) !important;
}

.ethereal-team-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}

.ethereal-mv-grid article,
.ethereal-values-grid article,
.ethereal-team-grid article {
  background: #ffffff !important;
  border-radius: 24px !important;
  padding: 28px !important;
  text-align: center !important;
}

.ethereal-page h1,
.ethereal-page h2,
.ethereal-page h3,
.ethereal-page p,
.ethereal-page span,
.ethereal-page strong {
  opacity: 1 !important;
  visibility: visible !important;
}

.ethereal-mv-grid h2,
.ethereal-values h2,
.ethereal-team h2,
.ethereal-final h2 {
  color: #ffffff !important;
}

.ethereal-mv-grid article h2,
.ethereal-values-grid strong,
.ethereal-team-grid h3 {
  color: #d7d0f1 !important;
}

.ethereal-mv-grid article p,
.ethereal-values-grid p,
.ethereal-team-grid p {
  color: #5f5872 !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

.ethereal-mv-grid article span {
  color: #9d92d7 !important;
  font-weight: 900 !important;
}

@media(max-width: 800px) {
  .ethereal-mv-grid,
  .ethereal-values-grid,
  .ethereal-team-grid {
    grid-template-columns: 1fr !important;
  }
}

/* =====================================================
   PERFIL CLIENTE ETHEREAL · VERSIÓN ARREGLADA VISUALMENTE
   Pega este bloque al final del style.css si lo haces manualmente.
   ===================================================== */

body.profile-page{
  background: linear-gradient(180deg, var(--lavender) 0%, #f8f6ff 36%, #ffffff 100%) !important;
  color: var(--ink) !important;
}

.profile-main.profile-v2{
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 34px 22px 72px !important;
}

.profile-v2-hero{
  text-align: center !important;
  color: #fff !important;
  padding: 46px 20px 34px !important;
}

.profile-v2-hero h1{
  font-family: Bubybins, cursive !important;
  font-size: clamp(56px, 8vw, 104px) !important;
  line-height: .88 !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  margin: 8px 0 12px !important;
  color: #fff !important;
}

.profile-v2-hero p{
  max-width: 620px !important;
  margin: 0 auto !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 15.5px !important;
  line-height: 1.55 !important;
}

.client-dashboard{
  display: grid !important;
  gap: 22px !important;
}

.client-welcome-card,
.profile-auth-card-v2,
.passport-card-v2,
.profile-info-grid > article,
.orders-section{
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(215,208,241,.55) !important;
  box-shadow: 0 20px 55px rgba(75, 58, 133, .10) !important;
  border-radius: 30px !important;
}

.client-welcome-card{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 22px !important;
  padding: 30px !important;
}

.client-welcome-card h2{
  margin: 6px 0 8px !important;
  color: var(--lavender) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.client-welcome-card p{
  color: #6d667d !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  max-width: 720px !important;
}

.client-number-card{
  min-width: 220px !important;
  background: var(--lavender) !important;
  color: #fff !important;
  border-radius: 24px !important;
  padding: 22px !important;
  text-align: center !important;
}

.client-number-card span,
.client-stat-card span,
.passport-code-box span,
.orders-head small{
  display: block !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

.client-number-card strong{
  display: block !important;
  font-size: 32px !important;
  line-height: 1 !important;
  margin: 8px 0 !important;
  letter-spacing: .04em !important;
}

.client-number-card small{
  color: rgba(255,255,255,.9) !important;
  font-weight: 700 !important;
}

.client-dashboard-grid{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
}

.client-stat-card{
  background: #fff !important;
  border: 1px solid rgba(215,208,241,.60) !important;
  border-radius: 24px !important;
  padding: 22px !important;
  box-shadow: 0 14px 36px rgba(75, 58, 133, .08) !important;
}

.client-stat-card span{
  color: #9d92d7 !important;
  margin-bottom: 10px !important;
}

.client-stat-card b{
  display: block !important;
  color: var(--lavender) !important;
  font-size: 34px !important;
  line-height: 1 !important;
  margin-bottom: 8px !important;
}

.client-stat-card small{
  color: #7c7590 !important;
  font-weight: 700 !important;
}

.passport-card-v2{
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: .86fr 1.14fr !important;
  gap: 0 !important;
  padding: 0 !important;
}

.passport-left{
  background: var(--lavender) !important;
  color: #fff !important;
  padding: 34px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 22px !important;
}

.passport-left h2{
  font-family: Bubybins, cursive !important;
  color: #fff !important;
  font-size: clamp(46px, 5vw, 72px) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  margin: 10px 0 12px !important;
}

.passport-left p{
  color: #fff !important;
  font-weight: 750 !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

.passport-code-box{
  background: rgba(255,255,255,.22) !important;
  border: 1px solid rgba(255,255,255,.32) !important;
  border-radius: 22px !important;
  padding: 20px !important;
}

.passport-code-box strong{
  display: block !important;
  font-size: 38px !important;
  line-height: 1 !important;
  margin: 8px 0 !important;
  color: #fff !important;
  letter-spacing: .05em !important;
}

.passport-code-box small{
  color: rgba(255,255,255,.92) !important;
  font-weight: 700 !important;
}

.passport-right{
  padding: 34px !important;
  background: #fff !important;
}

.passport-progress-head{
  display: flex !important;
  justify-content: space-between !important;
  gap: 18px !important;
  align-items: flex-end !important;
  margin-bottom: 14px !important;
}

.passport-progress-head span{
  color: #9d92d7 !important;
  font-weight: 900 !important;
  font-size: 14px !important;
}

.passport-progress-head b{
  color: var(--lavender) !important;
  font-size: 22px !important;
  line-height: 1 !important;
  text-align: right !important;
}

.passport-progress-bar{
  height: 14px !important;
  border-radius: 999px !important;
  background: #f0ecfb !important;
  overflow: hidden !important;
  margin: 10px 0 14px !important;
}

.passport-progress-bar i{
  display: block !important;
  height: 100% !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--lavender), #bfaeea) !important;
}

.passport-right > p{
  color: #6d667d !important;
  font-weight: 750 !important;
  line-height: 1.55 !important;
  margin: 0 0 18px !important;
}

.stamp-row{
  display: grid !important;
  grid-template-columns: repeat(7, 1fr) !important;
  gap: 9px !important;
  margin: 18px 0 !important;
}

.stamp{
  aspect-ratio: 1 / 1 !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f8f6ff !important;
  color: #b8addf !important;
  border: 1px solid #e4ddf5 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.stamp.filled{
  background: var(--lavender) !important;
  color: #fff !important;
  border-color: var(--lavender) !important;
}

.reward-list{
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-top: 18px !important;
}

.reward-list div{
  background: #f8f6ff !important;
  border-radius: 16px !important;
  padding: 14px 10px !important;
  text-align: center !important;
  min-height: 86px !important;
}

.reward-list b{
  display: block !important;
  color: var(--lavender) !important;
  font-size: 13px !important;
  margin-bottom: 6px !important;
}

.reward-list span{
  color: #6d667d !important;
  font-weight: 800 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
}

.profile-info-grid{
  display: grid !important;
  grid-template-columns: 1.15fr .85fr !important;
  gap: 20px !important;
}

.profile-info-grid > article{
  padding: 28px !important;
}

.profile-info-grid h3,
.orders-head h3{
  margin: 0 0 18px !important;
  color: var(--lavender) !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.profile-info-grid dl{
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
}

.profile-info-grid dl div{
  display: grid !important;
  grid-template-columns: .8fr 1.2fr !important;
  gap: 12px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #f0ecfb !important;
}

.profile-info-grid dt{
  color: #9d92d7 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}

.profile-info-grid dd{
  margin: 0 !important;
  color: #5f5872 !important;
  font-weight: 800 !important;
  overflow-wrap: anywhere !important;
}

.passport-rules{
  display: grid !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.passport-rules li{
  background: #f8f6ff !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  color: #5f5872 !important;
  font-weight: 800 !important;
}

.passport-rules b{
  color: var(--lavender) !important;
  margin-right: 8px !important;
}

.friend-code-editor{
  margin-top: 22px !important;
  background: #f8f6ff !important;
  border-radius: 18px !important;
  padding: 18px !important;
  border: 1px solid #eee8fb !important;
}

.friend-code-editor summary{
  cursor: pointer !important;
  color: var(--lavender) !important;
  font-weight: 900 !important;
  font-size: 15px !important;
}

.friend-code-editor form{
  margin-top: 14px !important;
  display: grid !important;
  gap: 10px !important;
}

.friend-code-editor label{
  font-size: 12px !important;
  font-weight: 900 !important;
  color: #5f5872 !important;
}

.friend-code-row{
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 10px !important;
  align-items: center !important;
}

.friend-code-row input{
  height: 44px !important;
  border: 1px solid #e4e0ef !important;
  border-radius: 14px !important;
  padding: 0 14px !important;
  font-family: inherit !important;
  font-weight: 800 !important;
  color: #5f5872 !important;
  background: #fff !important;
}

.friend-code-row button,
.logout-form button,
.auth-panel button[type="submit"]{
  height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  font-family: inherit !important;
  font-weight: 900 !important;
  color: #fff !important;
  background: var(--lavender) !important;
  cursor: pointer !important;
}

.friend-code-editor small{
  display: block !important;
  color: #948bbd !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.orders-section{
  padding: 28px !important;
}

.orders-head{
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 20px !important;
  margin-bottom: 18px !important;
}

.orders-head small{
  color: #9d92d7 !important;
  max-width: 360px !important;
  text-align: right !important;
}

.orders-table-wrap{
  overflow-x: auto !important;
}

.orders-table{
  width: 100% !important;
  border-collapse: collapse !important;
  min-width: 660px !important;
}

.orders-table th{
  text-align: left !important;
  color: #9d92d7 !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  padding: 12px !important;
  background: #f8f6ff !important;
}

.orders-table td{
  padding: 14px 12px !important;
  border-bottom: 1px solid #f0ecfb !important;
  color: #5f5872 !important;
  font-weight: 700 !important;
}

.empty-orders{
  background: #f8f6ff !important;
  border-radius: 20px !important;
  padding: 24px !important;
  text-align: center !important;
}

.empty-orders b{
  display: block !important;
  color: var(--lavender) !important;
  margin-bottom: 8px !important;
}

.empty-orders p{
  color: #6d667d !important;
  margin: 0 !important;
  font-weight: 700 !important;
}

.logout-form{
  text-align: center !important;
  margin-top: 6px !important;
}

.profile-auth-card-v2{
  max-width: 760px !important;
  margin: 0 auto !important;
  padding: 30px !important;
}

.auth-tabs{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  background: #f8f6ff !important;
  border-radius: 999px !important;
  padding: 6px !important;
  margin-bottom: 24px !important;
}

.auth-tab{
  height: 44px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: var(--lavender) !important;
  font-family: inherit !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.auth-tab.active{
  background: var(--lavender) !important;
  color: #fff !important;
}

.auth-panel{
  display: none !important;
  gap: 12px !important;
}

.auth-panel.active{
  display: grid !important;
}

.auth-panel h2{
  margin: 0 0 6px !important;
  color: var(--lavender) !important;
  font-size: 28px !important;
}

.auth-panel p{
  margin: 0 0 12px !important;
  color: #6d667d !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.auth-panel label{
  color: #5f5872 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  margin-top: 4px !important;
}

.auth-panel input,
.auth-panel select{
  width: 100% !important;
  height: 48px !important;
  border: 1px solid #e4e0ef !important;
  border-radius: 15px !important;
  padding: 0 14px !important;
  font-family: inherit !important;
  font-weight: 700 !important;
  background: #fff !important;
  color: #5f5872 !important;
}

.form-grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}

.form-message{
  max-width: 760px !important;
  margin: 0 auto 18px !important;
  border-radius: 18px !important;
  padding: 14px 18px !important;
  text-align: center !important;
  font-weight: 800 !important;
  background: #fff !important;
  color: var(--lavender) !important;
}

.form-message.error{color:#b64242!important;background:#fff2f2!important}
.form-message.success{color:#5d9c70!important;background:#f0fff4!important}

@media(max-width: 980px){
  .client-welcome-card,
  .passport-card-v2,
  .profile-info-grid{
    grid-template-columns: 1fr !important;
  }

  .client-dashboard-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .client-number-card{
    min-width: 0 !important;
  }

  .reward-list{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width: 640px){
  .profile-main.profile-v2{padding: 24px 16px 56px !important;}
  .profile-v2-hero{padding: 34px 12px 26px !important;}
  .client-welcome-card,
  .passport-left,
  .passport-right,
  .profile-info-grid > article,
  .orders-section,
  .profile-auth-card-v2{padding: 22px !important;border-radius: 24px !important;}
  .client-dashboard-grid{grid-template-columns: 1fr !important;}
  .stamp-row{grid-template-columns: repeat(5, 1fr) !important;}
  .reward-list{grid-template-columns: 1fr !important;}
  .profile-info-grid dl div{grid-template-columns: 1fr !important;gap: 4px !important;}
  .friend-code-row{grid-template-columns: 1fr !important;}
  .friend-code-row button{width: 100% !important;}
  .orders-head{display: block !important;}
  .orders-head small{text-align: left !important;margin-top: 8px !important;display: block !important;}
  .form-grid{grid-template-columns: 1fr !important;}
  .auth-tabs{grid-template-columns: 1fr !important;border-radius: 20px !important;}
  .auth-tab{border-radius: 16px !important;}
}
.calendar-page{
  background:#fff;
  min-height:100vh;
}

.calendar-hero{
  background:var(--lavender);
  text-align:center;
  padding:76px 24px 58px;
  color:#fff;
}

.calendar-hero h1{
  font-family:Bubybins,cursive;
  font-size:clamp(48px,8vw,92px);
  line-height:.95;
  margin:10px 0 14px;
  font-weight:400;
  color:#fff;
}

.calendar-hero p{
  margin:0;
  font-size:16px;
  font-weight:800;
  color:#fff;
}

.calendar-grid{
  max-width:1050px;
  margin:0 auto;
  padding:58px 22px 80px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.calendar-card{
  background:var(--soft);
  border-radius:26px;
  overflow:hidden;
  box-shadow:0 14px 35px rgba(80,65,130,.08);
}

.calendar-card img{
  width:100%;
  height:190px;
  object-fit:cover;
  display:block;
}

.calendar-content{
  padding:24px;
}

.calendar-content span{
  display:block;
  color:#9d92d7;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:10px;
}

.calendar-content h2{
  color:var(--lavender);
  font-size:23px;
  line-height:1.1;
  margin:0 0 10px;
}

.calendar-content p{
  color:#6d667d;
  font-size:14px;
  font-weight:700;
  margin:0 0 18px;
}

.calendar-content a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 22px;
  background:var(--lavender);
  color:#fff;
  border-radius:999px;
  text-decoration:none;
  font-weight:900;
  font-size:13px;
}

.empty-calendar{
  grid-column:1/-1;
  background:var(--soft);
  border-radius:28px;
  text-align:center;
  padding:50px 24px;
}

.empty-calendar h2{
  font-family:Bubybins,cursive;
  color:var(--lavender);
  font-size:46px;
  margin:0 0 12px;
}

.empty-calendar p{
  color:#6d667d;
  font-weight:700;
}

@media(max-width:900px){
  .calendar-grid{
    grid-template-columns:1fr;
    max-width:430px;
  }
}

/* CALENDARIOS ETHEREAL estilo moodboard/pastel */
.calendar-body{background:radial-gradient(circle at top left,rgba(255,255,255,.55),transparent 28%),linear-gradient(180deg,#e6def8 0%,#f7f2ff 48%,#fff 100%)}
.ethereal-calendar-page{padding:44px 22px 70px;background:radial-gradient(circle at 10% 12%,rgba(255,255,255,.7),transparent 24%),radial-gradient(circle at 95% 0%,rgba(215,208,241,.45),transparent 28%)}
.calendar-board{max-width:1080px;margin:0 auto;background:#fffdf9;border:1px solid rgba(100,88,130,.22);border-radius:32px;padding:34px 36px 42px;box-shadow:0 22px 60px rgba(86,72,125,.12)}
.calendar-top{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;margin-bottom:30px}.calendar-arrow,.calendar-plus{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#8f72bd;font-size:44px;line-height:1;font-weight:300}.calendar-plus{font-size:34px;justify-self:end}.calendar-title{text-align:center}.calendar-title span{color:#694f6c;font-size:16px;font-weight:900}.calendar-title h1{font-family:Georgia,'Times New Roman',serif;color:#9c7bca;font-size:clamp(60px,10vw,116px);line-height:.85;margin:8px 0 4px;font-weight:700;letter-spacing:-4px}.calendar-title p{font-family:Bubybins,cursive;color:#9c7bca;font-size:clamp(34px,4vw,54px);margin:0;line-height:.9}
.weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid rgba(91,73,87,.45)}.weekdays span{padding:0 10px 14px;color:#6b4d68;font-size:13px;font-weight:900;text-transform:uppercase}.calendar-month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:128px;border-right:1px solid rgba(91,73,87,.28);border-bottom:1px solid rgba(91,73,87,.28);position:relative;padding:10px 8px;background:rgba(255,255,255,.58);overflow:hidden}.calendar-day:nth-child(7n){border-right:none}.calendar-day.empty{background:rgba(248,246,255,.48)}.day-number{display:block;color:#71577c;font-size:13px;font-weight:800;position:relative;z-index:2}
.calendar-event{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;text-decoration:none;padding:8px 5px;min-height:78px;margin-top:5px;position:relative;z-index:2;color:#61476f;font-family:'Courier New',monospace}.calendar-event strong{font-size:12px;line-height:1.05;font-weight:900;text-transform:lowercase}.calendar-event small{font-size:10px;font-weight:800}.calendar-event em{font-style:normal;color:#9c7bca;font-size:21px;line-height:1}.calendar-event img{width:68px;height:74px;object-fit:cover;display:block;margin:-2px auto 4px;border:5px solid #fff;box-shadow:0 6px 15px rgba(0,0,0,.18);transform:rotate(-2deg)}.lavender-note{background:linear-gradient(145deg,#e7d8ff,#d4c3f1)}.blue-note{background:linear-gradient(145deg,#d7e6fb,#f2f8ff)}.cream-note{background:linear-gradient(145deg,#fff3da,#fffaf0)}.photo-note{background:transparent}
.calendar-next-card{max-width:880px;margin:36px auto 0;background:linear-gradient(145deg,#f2eaff,#fffaf5);border-radius:30px;padding:28px;box-shadow:0 18px 50px rgba(110,88,150,.12);position:relative}.calendar-next-card:after{content:'♧';position:absolute;right:28px;bottom:18px;color:rgba(156,123,202,.36);font-size:58px;transform:rotate(-12deg)}.calendar-next-title{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:#6c4e8f}.calendar-next-title span{font-size:26px}.calendar-next-title h2{margin:0;font-size:21px;color:#6c4e8f}.calendar-next-list{display:grid;gap:16px}.next-workshop{display:grid;grid-template-columns:74px 1fr auto;align-items:center;gap:18px;position:relative;z-index:2}.next-workshop img{width:74px;height:74px;object-fit:cover;border-radius:4px}.next-workshop h3{margin:0 0 5px;color:#5d4382;font-size:17px}.next-workshop p{margin:0 0 3px;color:#6b5f79;font-size:13px;font-weight:800}.next-workshop small{color:#7c7590;font-size:12px;font-weight:700}.next-workshop a,.calendar-empty-soft a{min-height:42px;padding:0 24px;border-radius:999px;background:#9c7bca;color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;font-weight:900}.calendar-empty-soft{text-align:center;padding:28px}.calendar-empty-soft h3{margin:0 0 8px;color:#9c7bca;font-size:24px}.calendar-empty-soft p{color:#6b5f79;font-weight:700;max-width:520px;margin:0 auto 18px}.calendar-footer{max-width:1080px;margin:0 auto 30px;background:#b99cdd;color:#fff;border-radius:0 0 22px 22px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;align-items:center;padding:22px 30px}.calendar-footer strong{font-family:Bubybins,cursive;font-size:28px;font-weight:400}.calendar-footer span{text-align:center;font-size:13px;font-weight:700}.calendar-footer a{justify-self:end;color:#fff;text-decoration:none;font-weight:700}
.admin-calendar-page{background:#f8f6ff;min-height:100vh;padding:54px 22px;display:grid;gap:24px}.admin-calendar-card{max-width:760px;width:100%;margin:0 auto;background:#fff;border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(86,72,125,.12)}.admin-calendar-card h1,.admin-calendar-card h2{color:var(--lavender);margin:0 0 8px}.admin-calendar-card p{color:#6d667d;font-weight:700}.admin-workshop-form{display:grid;gap:12px;margin-top:24px}.admin-workshop-form label{font-size:13px;font-weight:900;color:#5f5872}.admin-workshop-form input,.admin-workshop-form select{height:48px;border:1px solid #e4e0ef;border-radius:15px;padding:0 14px;font-family:inherit}.admin-workshop-form button{height:50px;border:0;border-radius:999px;background:var(--lavender);color:#fff;font-weight:900;cursor:pointer;margin-top:10px}.admin-workshop-list{display:grid;gap:10px;margin-top:18px}.admin-workshop-list article{background:var(--soft);border-radius:16px;padding:14px}.admin-workshop-list strong{display:block;color:var(--lavender)}.admin-workshop-list span{color:#6d667d;font-size:13px;font-weight:700}
@media(max-width:780px){.ethereal-calendar-page{padding:24px 12px 50px}.calendar-board{padding:24px 14px 28px;border-radius:26px}.calendar-top{grid-template-columns:40px 1fr 40px}.calendar-title h1{font-size:54px;letter-spacing:-2px}.calendar-title p{font-size:32px}.weekdays span{font-size:10px;padding:0 3px 10px}.calendar-day{min-height:92px;padding:6px 4px}.day-number{font-size:11px}.calendar-event{min-height:58px;padding:4px 2px}.calendar-event strong{font-size:9px}.calendar-event small,.calendar-event em{display:none}.calendar-event img{width:44px;height:48px;border-width:3px}.next-workshop{grid-template-columns:58px 1fr}.next-workshop a{grid-column:1/-1;width:100%}.calendar-footer{grid-template-columns:1fr;text-align:center;margin:0 12px 24px}.calendar-footer a{justify-self:center}}
/* FIX HOME VISUAL */
.hero,
.home-hero,
.experiences-hero{
  padding-top: 70px !important;
}

.model-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 34px !important;
  max-width: 1380px !important;
  margin: 0 auto !important;
  padding: 40px 52px 24px !important;
}

.model-card{
  height: 350px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}

.model-card img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.model-overlay h3{
  font-size: 36px !important;
  line-height: 1 !important;
}

.model-overlay p{
  font-size: 16px !important;
}

@media(max-width: 900px){
  .model-grid{
    grid-template-columns: 1fr !important;
    padding: 28px 22px !important;
  }

  .model-card{
    height: 260px !important;
  }
}

/* =====================================================
   FIX DEFINITIVO PASSPORT HOME · ETHEREAL
   Sustituye el bloque antiguo de Passport de la home.
   ===================================================== */

.lavender .passport-card{
  max-width:1180px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:30px !important;
  align-items:stretch !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.lavender .passport-card > div:first-child{
  background:rgba(255,255,255,.24) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  border-radius:34px !important;
  padding:46px !important;
  color:#fff !important;
  box-shadow:0 24px 60px rgba(95,75,140,.10) !important;
}

.lavender .passport-card > div:first-child .eyebrow,
.lavender .passport-card > div:first-child span{
  color:#fff !important;
}

.lavender .passport-card > div:first-child h2{
  color:#fff !important;
  font-size:clamp(44px,5vw,70px) !important;
  line-height:.95 !important;
  margin:18px 0 22px !important;
  font-weight:900 !important;
}

.lavender .passport-card > div:first-child p{
  color:#fff !important;
  font-size:18px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
  max-width:520px !important;
  margin:0 0 24px !important;
}

.lavender .passport-card > div:first-child .hero-btn,
.lavender .passport-card > div:first-child a{
  background:#fff !important;
  color:#9c7bca !important;
  margin-top:18px !important;
  box-shadow:0 12px 30px rgba(255,255,255,.22) !important;
}

.lavender .passport-box{
  background:#fff !important;
  border-radius:34px !important;
  padding:44px !important;
  color:#121212 !important;
  box-shadow:0 24px 60px rgba(95,75,140,.10) !important;
  border:1px solid rgba(255,255,255,.70) !important;
}

.lavender .passport-box h2,
.lavender .passport-box h3{
  color:#9c7bca !important;
  font-size:44px !important;
  line-height:1 !important;
  margin:0 0 24px !important;
  font-weight:900 !important;
}

.lavender .passport-box ul{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid !important;
  gap:14px !important;
}

.lavender .passport-box li{
  background:#f8f6ff !important;
  border-radius:18px !important;
  padding:16px 18px !important;
  font-size:16px !important;
  font-weight:700 !important;
  color:#5f5872 !important;
  line-height:1.35 !important;
}

.lavender .passport-box li::before{
  content:"✦";
  color:#9c7bca;
  font-weight:900;
  margin-right:8px;
}

.lavender .passport-box strong{
  color:#9c7bca !important;
  font-weight:900 !important;
}

@media(max-width:900px){
  .lavender .passport-card{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  .lavender .passport-card > div:first-child,
  .lavender .passport-box{
    padding:32px 24px !important;
    border-radius:28px !important;
  }

  .lavender .passport-box h2,
  .lavender .passport-box h3{
    font-size:34px !important;
  }

  .lavender .passport-box li{
    font-size:15px !important;
  }
}

@media(max-width:560px){
  .lavender .passport-card > div:first-child h2{
    font-size:38px !important;
  }

  .lavender .passport-card > div:first-child p{
    font-size:15.5px !important;
  }
}
