
:root{
  --crema:#FAF6EC;
  --crema-2:#F3ECDB;
  --terracota:#922F12;
  --oliva:#5D5B35;
  --oro:#E9B04C;
  --tinta:#2B2A22;
  --gris:#7A766A;
  --linea:rgba(93,91,53,.22);
  --serif:'Crimson Pro',Georgia,serif;
  --display:'Marcellus SC',Georgia,serif;
  --sans:'Krub',system-ui,sans-serif;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{background:var(--crema);color:var(--tinta);font-family:var(--serif);font-size:1.15rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.kicker{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terracota);font-weight:500}
h1,h2,h3{font-family:var(--display);font-weight:400;line-height:1.1;color:var(--terracota)}
h2{font-size:clamp(2rem,4.6vw,3.2rem);margin:.35rem 0 .8rem}
h3{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.6rem}
.lead{font-size:1.4rem;color:var(--oliva);line-height:1.4;margin-bottom:1.6rem}
p+p{margin-top:1rem}
.nota{font-family:var(--sans);font-size:.8rem;color:var(--gris);margin-top:.6rem}
section{padding:96px 0}
.fuente{font-family:var(--sans);font-size:.76rem;color:var(--gris);margin-top:2rem;padding-top:1rem;border-top:1px solid var(--linea)}

/* header */
header.top{position:fixed;inset:0 0 auto 0;z-index:50;transition:background .3s,box-shadow .3s}
header.top .bar{display:flex;align-items:center;justify-content:space-between;height:68px}
header.top .marca{display:flex;align-items:center;gap:12px;text-decoration:none;color:#fff;font-family:var(--display);font-size:1.4rem}
header.top .marca img{height:34px;width:auto}
header.top.solid{background:rgba(250,246,236,.96);box-shadow:0 1px 0 var(--linea);backdrop-filter:blur(8px)}
header.top.solid .marca{color:var(--terracota)}
header.top.solid .marca img{filter:invert(1) sepia(1) saturate(6) hue-rotate(-20deg) brightness(.55)}
.menu-btn{font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;background:none;border:1px solid currentColor;color:#fff;padding:9px 16px;cursor:pointer;display:flex;gap:10px;align-items:center}
header.top.solid .menu-btn{color:var(--terracota)}
.menu-btn i{display:block;width:16px;height:10px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;position:relative}
.menu-btn i:after{content:"";position:absolute;left:0;right:0;top:3.5px;border-top:1.5px solid currentColor}

/* drawer */
.drawer{position:fixed;inset:0;background:var(--oliva);color:var(--crema);z-index:60;transform:translateY(-100%);transition:transform .45s cubic-bezier(.7,0,.2,1);overflow-y:auto;visibility:hidden}
.drawer.open{transform:none;visibility:visible}
.drawer .head{display:flex;justify-content:space-between;align-items:center;height:68px}
.drawer .close{background:none;border:1px solid var(--crema);color:var(--crema);font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;padding:9px 16px;cursor:pointer}
.drawer .tit{font-family:var(--display);font-size:clamp(1.8rem,4vw,2.6rem);color:#fff;margin:24px 0 28px}
.drawer ol{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px;padding-bottom:48px}
.drawer li a{display:flex;gap:20px;align-items:baseline;text-decoration:none;padding:15px 0;border-bottom:1px solid rgba(250,246,236,.18);transition:color .2s,padding .2s}
.drawer li a:hover{color:var(--oro);padding-left:8px}
.drawer li b{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--oro);min-width:2.2rem}
.drawer li span{font-size:1.25rem}

/* hero */
.hero{min-height:100svh;position:relative;display:flex;align-items:flex-end;color:#fff;padding:0;background:#2a2418}
.hero:before{content:"";position:absolute;inset:0;background:url(img/cover.jpg) center/cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,15,8,.55) 0%,rgba(20,15,8,.15) 40%,rgba(20,15,8,.7) 100%)}
.hero .wrap{position:relative;z-index:2;padding-bottom:72px;padding-top:120px;width:100%}
.hero .logo{width:min(560px,86%);margin-bottom:28px}
.hero .kicker{color:#fff;opacity:.9}
.hero h1{color:#fff;font-size:clamp(2.2rem,5.5vw,4rem);margin:18px 0 14px;max-width:11em}
.hero p.sub{font-size:1.5rem;max-width:26em;line-height:1.35}
.hero .tags{font-family:var(--sans);font-size:.74rem;letter-spacing:.14em;margin-top:30px;opacity:.9}
.hero .cta{display:inline-block;margin-top:30px;font-family:var(--sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;border:1px solid #fff;padding:13px 24px;transition:.25s}
.hero .cta:hover{background:#fff;color:var(--terracota)}

/* layouts */
.split{display:grid;grid-template-columns:1.25fr 1fr;gap:64px;align-items:start}
.split.rev{grid-template-columns:1fr 1.25fr}
.cols{columns:2;column-gap:56px}
.cols p{break-inside:avoid-column}
.foto{overflow:hidden;background:var(--crema-2)}
.foto img{width:100%;height:100%;object-fit:cover}
.foto figcaption,figcaption{font-family:var(--sans);font-size:.76rem;color:var(--gris);margin-top:8px}
.alt{background:var(--crema-2)}
.banner{width:100%;height:clamp(260px,42vw,520px);object-fit:cover}

/* directorio */
.dir{display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px;margin-top:36px}
.dir div{padding:16px 0;border-bottom:1px solid var(--linea)}
.dir strong{display:block;font-family:var(--display);font-weight:400;font-size:1.22rem;color:var(--terracota);letter-spacing:.02em}
.dir span{font-family:var(--sans);font-size:.82rem;color:var(--oliva)}

.destacado{display:grid;grid-template-columns:1.1fr 1fr;gap:0;background:var(--crema);margin-top:0}
.destacado .foto{min-height:420px}
.destacado .txt{padding:56px 48px}
.destacado .nm{font-family:var(--display);font-size:2.6rem;color:var(--terracota)}
.destacado .nm-s{font-size:1.5rem;color:var(--oliva);margin:.4rem 0 1.4rem}

.pareja{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:36px 0}
.pareja .foto{aspect-ratio:1/1}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:1.4rem}
.chips span{font-family:var(--sans);font-size:.8rem;border:1px solid var(--linea);padding:6px 12px;color:var(--oliva);background:rgba(255,255,255,.4)}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:56px}

/* ecuestre */
.ecuestre{background:var(--oliva);color:var(--crema);padding:0}
.ecuestre .grid{display:grid;grid-template-columns:1fr 1fr;min-height:640px}
.ecuestre .txt{padding:96px 56px 96px max(24px,calc((100vw - var(--max))/2 + 24px));}
.ecuestre .kicker{color:var(--oro)}
.ecuestre h2{color:#fff}
.ecuestre .foto{background:#444}
.ecuestre .tel{color:var(--oro);text-decoration:none;border-bottom:1px solid var(--oro)}

/* hospedaje */
.hotel{margin-top:40px}
.hotel li{list-style:none;display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--linea)}
.hotel b{font-family:var(--display);font-weight:400;font-size:1.9rem;color:var(--oliva);min-width:3rem}
.hotel strong{display:block;font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--oliva)}
.hotel span{font-size:1.05rem}

/* agenda */
.evento{border-top:2px solid var(--terracota);padding-top:20px}
.evento .fecha{font-family:var(--display);font-size:2.4rem;color:var(--terracota);line-height:1}
.evento h3{color:var(--oliva);margin:.5rem 0 1rem}

/* planea */
.ruta{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:20px}
.ruta div{border-top:2px solid var(--oliva);padding-top:14px}
.ruta b{font-family:var(--display);font-weight:400;color:var(--terracota);font-size:1.8rem}
.ruta h4{font-family:var(--display);font-weight:400;color:var(--oliva);font-size:1.3rem;margin:.2rem 0 .4rem}
.ruta p{font-size:1.02rem;line-height:1.5}
.info{display:grid;grid-template-columns:repeat(2,1fr);gap:36px 56px;margin:36px 0 56px}
.info h4{font-family:var(--display);font-weight:400;font-size:1.4rem;color:var(--terracota);margin-bottom:.3rem}
.info p{font-size:1.05rem}

/* legal */
.legal dl{display:grid;grid-template-columns:240px 1fr;gap:0 40px;margin-top:28px}
.legal dt,.legal dd{padding:16px 0;border-bottom:1px solid var(--linea)}
.legal dt{font-family:var(--display);color:var(--terracota);font-size:1.15rem}
.legal dd{font-size:1.02rem}
.aviso{background:#fff7e0;border-left:3px solid var(--oro);padding:12px 16px;font-family:var(--sans);font-size:.82rem;margin-top:20px}

/* fuentes */
.fuentes ol{columns:3;column-gap:40px;margin:24px 0 32px 1.4rem;font-family:var(--sans);font-size:.9rem;color:var(--oliva)}
.fuentes li{padding:4px 0}
.cierre{position:relative;color:#fff;text-align:center;padding:140px 0;background:#2a2418}
.cierre:before{content:"";position:absolute;inset:0;background:url(img/carrusel.jpg) center/cover;opacity:.9}
.cierre:after{content:"";position:absolute;inset:0;background:rgba(20,30,40,.45)}
.cierre .wrap{position:relative;z-index:2}
.cierre img{width:min(420px,80%);margin:0 auto 32px}
.cierre h2{color:#fff}
footer{font-family:var(--sans);font-size:.74rem;letter-spacing:.06em;color:var(--gris);padding:22px 0;text-align:center}

/* reveal */
.rv{opacity:0;transform:translateY(20px);transition:opacity .8s,transform .8s}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}html{scroll-behavior:auto}}

@media(max-width:900px){
  section{padding:64px 0}
  .split,.split.rev,.dos,.destacado,.ecuestre .grid,.info{grid-template-columns:1fr;gap:32px}
  .cols{columns:1}
  .dir{grid-template-columns:repeat(2,1fr)}
  .ruta{grid-template-columns:1fr 1fr}
  .drawer ol{grid-template-columns:1fr}
  .destacado .txt{padding:32px 24px}
  .ecuestre .txt{padding:64px 24px}
  .ecuestre .foto{min-height:380px}
  .legal dl{grid-template-columns:1fr}
  .legal dt{border:none;padding-bottom:0}
  .fuentes ol{columns:2}
}
@media(max-width:560px){
  .dir{grid-template-columns:1fr}
  .pareja{grid-template-columns:1fr}
  .ruta{grid-template-columns:1fr}
  .fuentes ol{columns:1}
  .hero .tags{line-height:1.9}
}

/* multipágina */
.inner main{padding-top:68px}
.inner header.top{background:rgba(250,246,236,.96);box-shadow:0 1px 0 var(--linea);backdrop-filter:blur(8px)}
.inner header.top .marca{color:var(--terracota)}
.inner header.top .marca img{filter:invert(1) sepia(1) saturate(6) hue-rotate(-20deg) brightness(.55)}
.inner header.top .menu-btn{color:var(--terracota)}
.drawer li a.actual{color:var(--oro)}
.pagehead{padding:56px 0 8px}
.crumbs{font-family:var(--sans);font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gris)}
.crumbs a{text-decoration:none;color:var(--terracota)}
.pager{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--linea);background:var(--crema)}
.pager a{display:block;padding:36px 24px;text-decoration:none;transition:background .25s}
.pager a:hover{background:var(--crema-2)}
.pager .dir-l{font-family:var(--sans);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.pager b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(1.2rem,2.6vw,1.7rem);color:var(--terracota);margin-top:6px}
.pager .sig{text-align:right;border-left:1px solid var(--linea)}
.pager .vacio{border:none}
.tarjetas{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.tarjeta{display:block;text-decoration:none;background:var(--crema);transition:transform .3s,box-shadow .3s}
.tarjeta:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(60,40,10,.12)}
.tarjeta .foto{aspect-ratio:4/3}
.tarjeta .foto.sin{background:var(--oliva);display:flex;align-items:center;justify-content:center;color:var(--oro);font-family:var(--display);font-size:3rem}
.tarjeta .t{padding:18px 20px 22px}
.tarjeta .n{font-family:var(--display);color:var(--oro);font-size:1.3rem}
.tarjeta h3{font-size:1.45rem;color:var(--terracota);margin:.1rem 0 .3rem}
.tarjeta p{font-size:1rem;line-height:1.45;color:var(--oliva)}
@media(max-width:900px){.tarjetas{grid-template-columns:1fr 1fr}.pager a{padding:24px 16px}}
@media(max-width:560px){.tarjetas{grid-template-columns:1fr}}
