:root{
  --purple:#6B3FA0; --purple-d:#4E2D78;
  --bg:#F7F5F9; --ink:#2C2833; --muted:#625C6B; --line:#D9D3E0;
  --lila:#E9E3F1; --salvia:#DFE7DD; --azul:#DCE5EC; --arena:#F0E7DD; --rosa:#EBDDE3;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:"Nunito Sans",system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.7;font-size:17px}
h1,h2,h3{font-family:Lora,Georgia,serif;font-weight:600;line-height:1.25;color:var(--purple-d)}
h1{font-size:clamp(2rem,5vw,3.1rem)}
h2{font-size:clamp(1.6rem,3.5vw,2.2rem);margin-bottom:.7rem}
h3{font-size:1.15rem;margin-bottom:.3rem}
p{max-width:62ch}
img{max-width:100%;display:block}
a{color:var(--purple)}
:focus-visible{outline:3px solid var(--purple);outline-offset:3px}
.wrap{max-width:1080px;margin:auto;padding:0 1.25rem}

/* Encabezado y menú */
header{position:sticky;top:0;z-index:10;background:rgba(247,245,249,.96);border-bottom:1px solid var(--line)}
.bar{max-width:1080px;margin:auto;padding:.6rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{display:flex;align-items:center;text-decoration:none}
.logo{height:50px;width:auto}
.logo-txt{font-family:Lora,serif;font-size:1.6rem;color:var(--purple);font-weight:600}
nav ul{list-style:none;padding:0;display:flex;gap:1.3rem}
nav a{text-decoration:none;color:var(--ink);font-size:.97rem;padding:.2rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a.activo{border-color:var(--purple)}
.menu-btn{display:none;background:none;border:1.5px solid var(--purple);color:var(--purple-d);border-radius:8px;padding:.45rem .8rem;font:inherit;font-weight:600;cursor:pointer}

/* Inicio */
.hero{background:var(--lila);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:2.5rem;align-items:center;padding-top:4rem;padding-bottom:4rem}
.hero p{font-size:1.1rem;margin-top:1rem;color:var(--muted)}
.btns{margin-top:1.6rem;display:flex;gap:.8rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.7rem 1.3rem;border-radius:8px;text-decoration:none;font:inherit;font-weight:600;background:var(--purple);color:#fff;border:1.5px solid var(--purple);cursor:pointer}
.btn:hover{background:var(--purple-d)}
.btn.sec{background:transparent;color:var(--purple-d)}
.btn.sec:hover{background:#fff}
.logo-big{background:#fff;border:1px solid var(--line);border-radius:10px;display:grid;place-items:center;padding:2.5rem 1.5rem}
.logo-big .logo-txt{font-size:2.2rem}

/* Secciones */
section{padding:4rem 0;border-bottom:1px solid var(--line)}
.blanco{background:#fff}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.txt p+p{margin-top:.9rem}
.list{margin-top:1rem;padding-left:1.2rem}
.list li{margin-bottom:.45rem;max-width:60ch}
.note{margin-top:1.2rem;padding:.9rem 1.1rem;border-left:4px solid var(--purple);background:#fff;border-radius:0 8px 8px 0;font-size:.97rem}
.blanco .note{background:var(--bg)}
.foto{border-radius:28px 12px 28px 12px;width:100%}
.datos{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}
.dato{padding:1.1rem 1.2rem;border-radius:14px;font-size:.96rem}
.dato b{font-family:Lora,serif;font-size:1.05rem;display:block;color:var(--purple-d)}

/* Pestañas de información */
.tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.5rem 0 1.8rem}
.tab{font:inherit;font-weight:600;padding:.55rem 1.1rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.tab:hover{border-color:var(--purple)}
.tab[aria-selected="true"]{background:var(--purple);border-color:var(--purple);color:#fff}
.panel[hidden]{display:none}
.emos{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:1.2rem}
.emo{padding:.8rem 1rem;border-radius:12px;font-size:.92rem;line-height:1.5}
.emo b{display:block;font-family:Lora,serif}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;margin-top:.6rem}
summary{cursor:pointer;font-weight:600;color:var(--purple-d)}
details p{margin-top:.5rem}

/* Galería */
.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2rem}
.galeria figure{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.galeria figure:nth-child(1){grid-column:span 2}
.galeria img{width:100%;height:100%;max-height:260px;object-fit:cover}
.galeria figcaption{padding:.7rem 1rem;font-size:.92rem;color:var(--muted)}

/* Contacto */
.contacto{display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem}
.contacto address{font-style:normal;margin-top:1rem}
.contacto address p{margin-bottom:.5rem}
form{background:#fff;border:1px solid var(--line);border-radius:14px;padding:1.5rem}
label{display:block;font-weight:600;margin:.8rem 0 .25rem;font-size:.95rem}
input,select,textarea{width:100%;font:inherit;padding:.6rem .8rem;border:1.5px solid var(--line);border-radius:8px;background:var(--bg)}
textarea{min-height:120px;resize:vertical}
form .btn{margin-top:1.2rem}
#mensaje-form{margin-top:1rem;font-weight:600}
.ok{color:#2F6B45}.error{color:#9B2C2C}

.ayuda{background:var(--purple-d);color:#EDE7F5;padding:2.5rem 0;border:0}
.ayuda h2{color:#fff}
footer{padding:1.8rem 0;font-size:.9rem;color:var(--muted)}
footer p{max-width:80ch}

/* Responsivo: tabletas y celulares */
@media(max-width:900px){
  .hero .wrap,.split,.contacto{grid-template-columns:1fr}
  .logo-big{max-width:340px;margin:auto;order:-1}
  .datos,.emos,.galeria{grid-template-columns:1fr 1fr}
  .galeria figure:nth-child(1){grid-column:span 2}
  .menu-btn{display:block}
  nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);display:none}
  nav.abierto{display:block}
  nav ul{flex-direction:column;gap:0;padding:.5rem 1.25rem 1rem}
  nav li a{display:block;padding:.6rem 0}
}
@media(max-width:560px){
  .datos,.emos,.galeria{grid-template-columns:1fr}
  .galeria figure:nth-child(1){grid-column:auto}
  section{padding:3rem 0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
