:root{
  --canopy:#12201a;
  --canopy-2:#0b1712;
  --bark:#2a1b12;
  --achiote:#c1381f;
  --achiote-dim:#8a2916;
  --ochre:#c98a2c;
  --bone:#efe7d6;
  --bone-dim:#c9beA8;
  --leaf:#5a7d54;
  --line: rgba(239,231,214,0.18);
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--canopy);
  color:var(--bone);
  font-family:'Work Sans',sans-serif;
  font-weight:400;
  line-height:1.6;
  overflow-x:hidden;
}
h1,h2,h3,.display{
  font-family:'Fraunces',serif;
  font-weight:600;
  letter-spacing:-0.01em;
  margin:0;
}
.eyebrow{
  font-family:'Space Mono',monospace;
  text-transform:uppercase;
  letter-spacing:0.18em;
  font-size:0.72rem;
  color:var(--ochre);
}
a{color:inherit;}
img{display:block;width:100%;height:100%;object-fit:cover;}
.wrap{max-width:1180px;margin:0 auto;padding:0 6vw;}
@media(min-width:900px){.wrap{padding:0 4rem;}}

.brush{width:120px;height:22px;margin:1.4rem 0;}
.brush.center{margin-left:auto;margin-right:auto;}
.brush svg{width:100%;height:100%;display:block;}

/* NAV */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  display:flex;justify-content:space-between;align-items:center;
  padding:1.3rem 6vw;gap:1rem;
  background:rgba(11,23,18,0.92);
  backdrop-filter:blur(6px);
  box-shadow:0 1px 0 var(--line);
}
@media(min-width:900px){header{padding:1.5rem 4rem;}}
.brand{
  font-family:'Fraunces',serif;font-weight:700;font-size:1.15rem;
  letter-spacing:0.02em;
  display:flex;align-items:center;gap:.6rem;
  text-decoration:none;flex-shrink:0;
}
.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--achiote);display:inline-block;}
nav.links{display:none;gap:1.7rem;font-family:'Space Mono',monospace;font-size:0.7rem;letter-spacing:.07em;text-transform:uppercase;}
@media(min-width:1000px){nav.links{display:flex;}}
nav.links a{text-decoration:none;color:var(--bone-dim);position:relative;padding-bottom:4px;white-space:nowrap;}
nav.links a:hover{color:var(--bone);}
nav.links a.active{color:var(--ochre);}
.header-right{display:flex;align-items:center;gap:1rem;margin-left:auto;}
.lang-switch{display:flex;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.05em;border:1px solid var(--line);}
.lang-switch button{background:none;border:none;color:var(--bone-dim);padding:.4rem .65rem;cursor:pointer;font-family:inherit;font-size:inherit;letter-spacing:inherit;}
.lang-switch button.active{background:var(--ochre);color:var(--canopy-2);}
.nav-cta{
  font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  border:1px solid var(--ochre);color:var(--ochre)!important;padding:.55rem 1rem;text-decoration:none;
  transition:background .25s,color .25s;white-space:nowrap;
}
.nav-cta:hover{background:var(--ochre);color:var(--canopy-2)!important;}
.burger{display:flex;align-items:center;}
@media(min-width:1000px){.burger{display:none;}}
.burger button{background:none;border:1px solid var(--line);color:var(--bone);padding:.5rem .7rem;font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.05em;cursor:pointer;text-transform:uppercase;}
.mobile-nav{
  display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:var(--canopy-2);z-index:99;
  flex-direction:column;justify-content:center;align-items:flex-start;padding:0 8vw;gap:1.4rem;
}
.mobile-nav.open{display:flex;}
.mobile-nav a{
  font-family:'Fraunces',serif;font-size:2rem;text-decoration:none;color:var(--bone);
}
.mobile-nav a.active{color:var(--ochre);}
.mobile-nav .close-x{position:absolute;top:1.6rem;right:6vw;background:none;border:none;color:var(--bone);font-size:1.6rem;cursor:pointer;}

/* PAGE HERO (small, for interior pages) */
.page-hero{
  position:relative;min-height:52vh;display:flex;align-items:flex-end;overflow:hidden;padding-top:5rem;
}
.page-hero-bg{position:absolute;inset:0;}
.page-hero-bg img{filter:saturate(1.05) contrast(1.05);}
.page-hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,23,18,0.25) 0%, rgba(11,23,18,0.4) 45%, rgba(11,23,18,0.96) 95%);
}
.page-hero-inner{position:relative;z-index:2;padding:0 6vw 3.5rem;width:100%;}
@media(min-width:900px){.page-hero-inner{padding:0 4rem 4rem;}}
.page-hero h1{font-size:clamp(2.4rem,7vw,4.6rem);line-height:1;color:var(--bone);margin-top:.6rem;}
.page-hero p{max-width:560px;margin-top:1rem;color:var(--bone-dim);font-size:1.02rem;}
.crumb{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--bone-dim);}
.crumb a{text-decoration:none;color:var(--bone-dim);}
.crumb a:hover{color:var(--ochre);}

/* HOME HERO (full) */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{filter:saturate(1.05) contrast(1.05);}
.hero-bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(11,23,18,0.15) 0%, rgba(11,23,18,0.35) 45%, rgba(11,23,18,0.96) 92%);
}
.hero-inner{position:relative;z-index:2;padding:0 6vw 5.5rem;width:100%;}
@media(min-width:900px){.hero-inner{padding:0 4rem 6rem;}}
.hero-inner .eyebrow{margin-bottom:1.1rem;display:block;}
.hero h1{font-size:clamp(3rem,10vw,7.2rem);line-height:0.92;color:var(--bone);}
.hero h1 em{font-style:italic;font-weight:300;color:var(--ochre);}
.hero-sub{max-width:540px;margin-top:1.6rem;font-size:1.05rem;color:var(--bone-dim);}
.hero-cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem;}
.btn{
  font-family:'Space Mono',monospace;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;
  text-decoration:none;padding:.95rem 1.6rem;display:inline-block;border:1px solid transparent;
  transition:transform .25s ease, background .25s, color .25s, border-color .25s;
}
.btn:hover{transform:translateY(-2px);}
.btn-solid{background:var(--achiote);color:var(--bone);}
.btn-solid:hover{background:#a52d19;}
.btn-ghost{border-color:var(--line);color:var(--bone);}
.btn-ghost:hover{border-color:var(--bone);}

.scroll-cue{
  position:absolute;right:6vw;bottom:2.2rem;z-index:2;
  writing-mode:vertical-rl;font-family:'Space Mono',monospace;font-size:.68rem;
  letter-spacing:.18em;color:var(--bone-dim);text-transform:uppercase;
  display:flex;align-items:center;gap:.6rem;
}
@media(max-width:700px){.scroll-cue{display:none;}}
.scroll-cue .line{width:1px;height:50px;background:var(--bone-dim);}

section{padding:6.5rem 0;position:relative;}
.section-head{max-width:640px;margin-bottom:3.2rem;}
.section-head h2{font-size:clamp(2.1rem,4.6vw,3.4rem);line-height:1.05;margin-top:.6rem;}
.section-head p{color:var(--bone-dim);margin-top:1.1rem;font-size:1.02rem;max-width:560px;}

/* QUIEN ES (home) */
.quien{background:var(--canopy);}
.quien-grid{display:grid;grid-template-columns:1fr;gap:2.6rem;align-items:center;}
@media(min-width:880px){.quien-grid{grid-template-columns:0.85fr 1.15fr;gap:4rem;}}
.quien-photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px;}
.quien-photo .tag{
  position:absolute;left:1rem;bottom:1rem;background:rgba(11,23,18,0.82);
  padding:.5rem .8rem;font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.05em;
  border-left:2px solid var(--achiote);
}
.quien-text p{margin:0 0 1.15rem;color:var(--bone-dim);}
.quien-text p.lead{color:var(--bone);font-size:1.15rem;font-family:'Fraunces',serif;font-weight:400;}
.stat-row{display:flex;gap:2.4rem;margin-top:2rem;flex-wrap:wrap;}
.stat b{display:block;font-family:'Fraunces',serif;font-size:2.1rem;color:var(--ochre);font-weight:600;}
.stat span{font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bone-dim);}

/* nav cards on home */
.explore{background:var(--canopy-2);}
.card-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;}
@media(min-width:700px){.card-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1050px){.card-grid{grid-template-columns:repeat(3,1fr);}}
.nav-card{
  position:relative;aspect-ratio:4/5;overflow:hidden;text-decoration:none;color:var(--bone);
  display:block;border:1px solid var(--line);
}
.nav-card img{transition:transform .6s ease;}
.nav-card:hover img{transform:scale(1.06);}
.nav-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(11,23,18,0.05) 30%, rgba(11,23,18,0.92) 100%);}
.nav-card-inner{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:1.6rem;}
.nav-card .num{font-family:'Space Mono',monospace;font-size:.7rem;color:var(--ochre);letter-spacing:.05em;}
.nav-card h3{font-size:1.5rem;margin-top:.5rem;}
.nav-card .arrow{font-family:'Space Mono',monospace;font-size:.7rem;letter-spacing:.05em;color:var(--bone-dim);margin-top:.6rem;display:block;text-transform:uppercase;}

/* HISTORIA */
.historia{background:var(--canopy-2);}
.river{position:relative;margin-top:2rem;}
.river-path{position:absolute;left:11px;top:0;bottom:0;width:2px;background:linear-gradient(var(--achiote), var(--ochre), var(--leaf));opacity:.55;}
@media(min-width:760px){.river-path{left:50%;margin-left:-1px;}}
.tl-item{position:relative;padding:0 0 3.2rem 3.2rem;}
@media(min-width:760px){
  .tl-item{width:50%;padding:0 3rem 4rem;}
  .tl-item:nth-child(odd){margin-right:auto;text-align:right;}
  .tl-item:nth-child(even){margin-left:auto;}
}
.tl-dot{position:absolute;left:6px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--ochre);box-shadow:0 0 0 4px var(--canopy-2), 0 0 0 5px var(--line);}
@media(min-width:760px){
  .tl-item:nth-child(odd) .tl-dot{left:auto;right:-7px;}
  .tl-item:nth-child(even) .tl-dot{left:-7px;}
}
.tl-year{font-family:'Space Mono',monospace;color:var(--achiote);font-size:.82rem;letter-spacing:.05em;}
.tl-item h3{font-size:1.35rem;margin:.4rem 0 .5rem;}
.tl-item p{color:var(--bone-dim);margin:0;font-size:.96rem;}

/* PUEBLO */
.pueblo{background:var(--canopy);}
.pueblo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;}
@media(min-width:760px){.pueblo-grid{grid-template-columns:repeat(4,1fr);gap:1.1rem;}}
.pueblo-grid figure{margin:0;position:relative;overflow:hidden;}
.pueblo-grid figure:nth-child(1){grid-column:span 2;grid-row:span 2;}
.pueblo-grid img{aspect-ratio:1/1;transition:transform .6s ease;}
.pueblo-grid figure:nth-child(1) img{aspect-ratio:auto;height:100%;}
.pueblo-grid figure:hover img{transform:scale(1.05);}
.pueblo-copy{max-width:680px;margin-top:2.6rem;color:var(--bone-dim);}
.pueblo-copy strong{color:var(--bone);}

/* AVENTURAS */
.aventuras{background:var(--bark);}
.av-grid{display:grid;grid-template-columns:1fr;gap:1.4rem;}
@media(min-width:760px){.av-grid{grid-template-columns:repeat(2,1fr);}}
.av-card{border:1px solid var(--line);padding:2.1rem 1.7rem;position:relative;transition:border-color .3s, background .3s;}
.av-card:hover{border-color:var(--ochre);background:rgba(201,138,44,0.05);}
.av-num{font-family:'Space Mono',monospace;color:var(--achiote);font-size:.8rem;}
.av-card h3{font-size:1.3rem;margin:1rem 0 .3rem;}
.av-card .av-meta{font-family:'Space Mono',monospace;font-size:.68rem;color:var(--ochre);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.8rem;display:block;}
.av-card p{color:var(--bone-dim);font-size:.92rem;margin:0;}
.av-audience{margin-top:2.2rem;border:1px dashed var(--line);padding:2rem;display:grid;gap:1.6rem;grid-template-columns:1fr;}
@media(min-width:760px){.av-audience{grid-template-columns:1fr auto;align-items:center;}}
.av-audience h4{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre);margin:0 0 .8rem;}
.av-audience ul{margin:0;padding:0;list-style:none;color:var(--bone-dim);font-size:.94rem;}
.av-audience li{margin-bottom:.4rem;padding-left:1.1rem;position:relative;}
.av-audience li::before{content:'—';position:absolute;left:0;color:var(--achiote);}

/* GALERIA */
.galeria{background:var(--canopy-2);}
.gal-grid{columns:2;column-gap:1rem;}
@media(min-width:700px){.gal-grid{columns:3;}}
.gal-grid figure{margin:0 0 1rem;break-inside:avoid;overflow:hidden;}
.gal-grid img{width:100%;height:auto;display:block;}

.artesania{background:var(--canopy);}
.art-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:760px){.art-grid{grid-template-columns:1fr 1fr 1.3fr;align-items:center;}}
.art-grid figure{margin:0;aspect-ratio:4/5;overflow:hidden;}
.art-text p{color:var(--bone-dim);}

/* PRENSA */
.prensa{background:var(--bark);}
.prensa-grid{display:grid;grid-template-columns:1fr;gap:2rem;}
@media(min-width:760px){.prensa-grid{grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}}
.clip{position:relative;overflow:hidden;border:1px solid var(--line);}
.clip img{filter:sepia(.12) contrast(1.02);}
blockquote{font-family:'Fraunces',serif;font-style:italic;font-weight:400;font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.4;margin:0 0 1.3rem;color:var(--bone);}
cite{font-family:'Space Mono',monospace;font-style:normal;font-size:.75rem;letter-spacing:.05em;color:var(--ochre);text-transform:uppercase;}

/* FOOTER */
footer{background:var(--canopy-2);padding:5.5rem 0 2.5rem;border-top:1px solid var(--line);}
.foot-grid{display:grid;grid-template-columns:1fr;gap:2.6rem;}
@media(min-width:760px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr;}}
footer h2{font-size:clamp(1.9rem,4vw,2.7rem);}
footer p{color:var(--bone-dim);}
.foot-col h4{font-family:'Space Mono',monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ochre);margin-bottom:1rem;}
.foot-col a{display:block;text-decoration:none;color:var(--bone-dim);margin-bottom:.6rem;font-size:.94rem;transition:color .2s;}
.foot-col a:hover{color:var(--bone);}
.foot-bottom{
  margin-top:4rem;padding-top:1.6rem;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;
  font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.05em;color:var(--bone-dim);
  text-transform:uppercase;
}

.contact-form{margin-top:2rem;max-width:480px;}
.hp-field{position:absolute;left:-9999px;}
.form-row{display:grid;grid-template-columns:1fr;gap:.9rem;margin-bottom:.9rem;}
@media(min-width:560px){.form-row{grid-template-columns:1fr 1fr;}}
.contact-form input[type="text"],
.contact-form input[type="email"],
.contact-form textarea{
  width:100%;background:transparent;border:1px solid var(--line);color:var(--bone);
  font-family:'Work Sans',sans-serif;font-size:.94rem;padding:.85rem 1rem;
  outline:none;transition:border-color .2s;resize:vertical;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{color:var(--bone-dim);opacity:.7;}
.contact-form input:focus,
.contact-form textarea:focus{border-color:var(--ochre);}
.contact-form textarea{margin-bottom:1.1rem;min-height:110px;}
.contact-form button{border:none;cursor:pointer;}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .reveal{opacity:1;transform:none;transition:none;}
  .btn:hover{transform:none;}
}
::selection{background:var(--achiote);color:var(--bone);}
