:root{
  --marfil:#FAF8F5;
  --piedra:#EFECE6;
  --arena:#E2DDD3;
  --linea:#D6D0C4;
  --carbon:#1C1B19;
  --gris:#4E4A45;
  --bronce:#5C4B3B;
  --bronce-osc:#2B2623;
  --blanco:#FFFFFF;
  --g:clamp(1rem,4vw,3.25rem);
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--marfil);color:var(--carbon);font:400 1rem/1.65 'Plus Jakarta Sans',sans-serif;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:'Cormorant Garamond',serif;font-weight:600;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2.2rem,4.6vw,3.9rem)}
h2{font-size:clamp(1.75rem,3.4vw,2.85rem)}
h3{font-size:clamp(1.35rem,2.1vw,1.8rem)}
h1 em,h2 em,h3 em{font-style:italic;font-weight:600;color:var(--bronce)}
:focus-visible{outline:3px solid var(--bronce);outline-offset:3px}
.aviso{position:sticky;top:0;z-index:40;background:var(--bronce-osc);color:var(--marfil);font-size:.75rem;line-height:1.35;padding:.45rem .75rem;text-align:center}
.aviso a{font-weight:600;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
.w{max-width:1240px;margin-inline:auto;padding-inline:var(--g)}
.sedes-top{background:var(--piedra);border-bottom:1px solid var(--linea);font-size:.76rem;padding:.45rem 0;color:var(--gris)}
.sedes-top .w{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1.25rem}
.sedes-pills{display:flex;flex-wrap:wrap;gap:.35rem .9rem;list-style:none;padding:0;font-weight:600;color:var(--carbon)}
.sedes-pills span{color:var(--bronce);font-weight:700}
.cab{border-bottom:1px solid var(--linea);background:var(--marfil)}
.cab .w{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;flex-wrap:wrap;padding-block:.85rem}
.brand{display:inline-flex;align-items:center;text-decoration:none}
.brand img{width:132px;height:auto;object-fit:contain}
.nav{display:flex;gap:.2rem 1.5rem;flex-wrap:wrap;font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.nav a{text-decoration:none;padding:.45rem 0;min-height:44px;display:inline-flex;align-items:center;color:var(--gris)}
.nav a[aria-current]{color:var(--carbon);box-shadow:inset 0 -2px var(--bronce)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.7rem 1.35rem;border:1px solid transparent;border-radius:4px;background:var(--bronce-osc);color:var(--blanco);font:600 .78rem/1.2 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s}
.btn:hover{background:var(--bronce)}
.btn-sec{background:transparent;color:var(--carbon);border-color:var(--carbon)}
.btn-sec:hover{background:var(--piedra)}
.ceja{font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bronce);display:block;margin-bottom:.55rem}
.hero{padding-block:clamp(2rem,4.5vw,4rem);border-bottom:1px solid var(--linea)}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(1.75rem,4vw,3.5rem);align-items:center}
.hero-txt>*+*{margin-top:1.1rem}
.hero-txt p{font-size:1.04rem;color:var(--gris);max-width:54ch}
.acciones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.hero-foto{max-width:540px;width:100%;justify-self:end;border-radius:6px;overflow:hidden;border:1px solid var(--linea);background:var(--piedra)}
.hero-foto img{width:100%;height:100%;object-fit:cover}
.cred-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--linea);background:var(--piedra)}
.cred-item{padding:1.35rem var(--g);border-right:1px solid var(--linea)}
.cred-item:last-child{border-right:0}
.cred-item strong{display:block;font-family:'Cormorant Garamond',serif;font-size:1.65rem;font-weight:700;line-height:1.1;color:var(--carbon)}
.cred-item span{font-size:.83rem;color:var(--gris)}
.sec{padding-block:clamp(2.5rem,5.5vw,4.5rem);border-bottom:1px solid var(--linea)}
.sec-alt{background:var(--piedra)}
.enc{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:2rem}
.enc p{max-width:52ch;color:var(--gris);font-size:.95rem}
.dos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.5rem,3.5vw,2.75rem);align-items:start}
.tres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.ficha-dra{background:var(--blanco);border:1px solid var(--linea);border-radius:6px;overflow:hidden;display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr)}
.ficha-dra .retrato{aspect-ratio:4/5;max-width:260px;width:100%;background:var(--piedra)}
.ficha-dra .retrato img{width:100%;height:100%;object-fit:cover}
.ficha-dra .bio{padding:1.5rem;display:flex;flex-direction:column;gap:.65rem}
.ficha-dra .esp{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--bronce)}
.ficha-dra p{font-size:.9rem;color:var(--gris)}
.badges{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin-top:.35rem}
.badges li{background:var(--piedra);border:1px solid var(--linea);padding:.22rem .6rem;font-size:.73rem;font-weight:600;color:var(--carbon);border-radius:3px}
.trat-dest{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.5rem,4vw,3.25rem);align-items:center;background:var(--blanco);border:1px solid var(--linea);border-radius:6px;padding:clamp(1.4rem,3vw,2.5rem)}
.trat-foto{max-width:456px;width:100%;justify-self:center;border-radius:4px;overflow:hidden;border:1px solid var(--linea)}
.aviso-med{margin-top:1.25rem;padding:.85rem 1.1rem;background:var(--piedra);border-left:3px solid var(--bronce);font-size:.85rem;color:var(--carbon)}
.tag-conf{display:inline-block;background:var(--bronce-osc);color:var(--blanco);font-size:.66rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.15rem .55rem;border-radius:3px;margin-right:.35rem;vertical-align:middle}
.lab-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.prod{background:var(--blanco);border:1px solid var(--linea);border-radius:6px;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}
.prod-img{aspect-ratio:1;max-width:260px;width:100%;margin-inline:auto;border-radius:4px;overflow:hidden;background:#F4F1EA}
.prod-img img{width:100%;height:100%;object-fit:contain}
.prod .marca{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bronce)}
.prod h3{font-family:'Plus Jakarta Sans',sans-serif;font-size:.96rem;font-weight:700;line-height:1.35}
.prod .precio{font-family:'Cormorant Garamond',serif;font-size:1.55rem;font-weight:700;color:var(--carbon);margin-top:auto}
.sede-card{background:var(--blanco);border:1px solid var(--linea);border-radius:6px;padding:1.5rem;display:flex;flex-direction:column;gap:.7rem}
.sede-card p{font-size:.9rem;color:var(--gris)}
.sede-card .datos{font-size:.88rem;font-weight:600;color:var(--carbon);display:grid;gap:.3rem;margin-top:auto;padding-top:.6rem;border-top:1px solid var(--linea)}
.evento-bar{background:var(--bronce-osc);color:var(--marfil);border-radius:6px;padding:clamp(1.6rem,3.5vw,2.6rem);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem}
.evento-bar h2{color:var(--blanco)}
.evento-bar p{color:#E2DDD3;max-width:56ch;font-size:.95rem;margin-top:.4rem}
.evento-bar .btn{background:var(--marfil);color:var(--carbon)}
form{display:grid;gap:1rem;background:var(--blanco);border:1px solid var(--linea);border-radius:6px;padding:1.6rem}
label{display:grid;gap:.3rem;font-size:.84rem;font-weight:600}
input,select,textarea{font:400 .96rem 'Plus Jakarta Sans',sans-serif;padding:.7rem .85rem;border:1px solid #948D82;border-radius:4px;background:var(--marfil);color:var(--carbon);width:100%;min-height:46px}
.pie{background:var(--bronce-osc);color:var(--arena);padding-block:2.5rem;font-size:.85rem}
.pie .w{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1.25rem 2.5rem;align-items:center}
.pie a{color:var(--blanco)}
dialog{border:1px solid var(--linea);border-radius:6px;padding:2rem;max-width:26rem;width:calc(100% - 2rem);margin:auto;background:var(--marfil);color:var(--carbon)}
dialog::backdrop{background:rgba(28,27,25,.6);backdrop-filter:blur(2px)}
dialog h2{font-size:1.6rem;margin-bottom:.6rem}
dialog .btn{margin-top:1.15rem}
@media (max-width:920px){
  .hero-grid,.trat-dest,.dos,.cred-bar{grid-template-columns:minmax(0,1fr)}
  .hero-foto{justify-self:start}
  .cred-item{border-right:0;border-bottom:1px solid var(--linea)}
  .ficha-dra{grid-template-columns:minmax(0,1fr)}
  .ficha-dra .retrato{max-width:280px}
  .tres,.lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  .aviso{font-size:.66rem;padding:.35rem .5rem}
  .sedes-top{font-size:.68rem}
  .cab .btn{display:none}
  .nav{width:100%;justify-content:space-between;gap:0 .35rem;font-size:.67rem;border-top:1px solid var(--linea);padding-top:.4rem}
  .tres,.lab-grid{grid-template-columns:minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
