/* styles.css — paleta tierra/noche/aro, tipografía editorial */
:root{
  --noche:#0E1B2C;
  --noche-2:#16263D;
  --tierra:#C44B2E;
  --tierra-2:#A23A20;
  --arena:#E8DCC4;
  --arena-2:#F5EFE2;
  --oro:#C99A3F;
  --tinta:#1A2434;
  --gris:#6B7280;
  --linea:#E2D8C2;
  --sombra:0 1px 2px rgba(14,27,44,.06),0 8px 24px rgba(14,27,44,.08);
  --max:1180px;
  --radio:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--tinta);
  background:var(--arena-2);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,'Times New Roman',serif;
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--noche);
  margin:0 0 .5em;
}
h1{font-size:clamp(2.2rem,6vw,4rem);font-weight:700}
h2{font-size:clamp(1.6rem,3.6vw,2.6rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.6rem)}
p{margin:0 0 1.1em}
a{color:var(--tierra);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
a:hover{border-bottom-color:currentColor}
img{max-width:100%;height:auto;display:block}
ul,ol{margin:0 0 1.2em;padding-left:1.2em}
li+li{margin-top:.4em}
.container{max-width:var(--max);margin:0 auto;padding:0 22px}

/* ── Header / Nav ── */
.site-header{
  position:sticky;top:0;z-index:30;
  background:rgba(245,239,226,.92);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--linea);
}
.bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 22px;max-width:var(--max);margin:0 auto;gap:18px;
}
.brand-mark{
  font-family:'Fraunces',serif;font-weight:700;font-size:1.4rem;color:var(--noche);
  display:flex;align-items:center;gap:10px;text-decoration:none;border:0;
}
.brand-mark::before{
  content:"";width:14px;height:14px;border-radius:50%;
  background:var(--tierra);box-shadow:0 0 0 3px var(--arena-2),0 0 0 4px var(--tierra);
}
.brand-mark:hover{color:var(--tierra)}
.main-nav ul{list-style:none;display:flex;gap:6px;margin:0;padding:0;flex-wrap:wrap}
.main-nav a{
  color:var(--noche);font-weight:600;font-size:.95rem;padding:8px 12px;border-radius:6px;border:0;
}
.main-nav a:hover{background:var(--arena);color:var(--tierra)}
.nav-toggle{
  display:none;background:none;border:1px solid var(--linea);cursor:pointer;
  padding:8px 10px;border-radius:8px;font-size:.9rem;color:var(--noche);
}
/* ── Hero ── */
.hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden}
.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,27,44,.05) 0%,rgba(14,27,44,.55) 65%,rgba(14,27,44,.85) 100%);
}
.hero-inner{position:relative;z-index:2;padding:60px 22px 70px;max-width:var(--max);margin:0 auto;width:100%}
.hero-inner .kicker{
  display:inline-block;font-family:'Manrope';font-weight:700;font-size:.78rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--oro);margin-bottom:14px;
}
.hero h1{color:#fff;max-width:16ch;margin-bottom:18px}
.hero p{color:rgba(255,255,255,.92);font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:52ch;margin-bottom:26px}
.btn{
  display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;
  font-weight:700;font-size:.98rem;border:0;cursor:pointer;text-decoration:none;
  transition:transform .12s,background .15s,color .15s;
}
.btn-primary{background:var(--tierra);color:#fff}
.btn-primary:hover{background:var(--tierra-2);transform:translateY(-1px);border:0}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
.btn-ghost:hover{background:rgba(255,255,255,.1);border-color:#fff}
.btn-dark{background:var(--noche);color:#fff}
.btn-dark:hover{background:var(--noche-2)}

/* ── Sectioning ── */
section{padding:64px 0}
section.tight{padding:40px 0}
.lead{font-size:clamp(1.1rem,1.7vw,1.3rem);color:var(--noche-2);max-width:62ch}
.eyebrow{
  font-family:'Manrope';font-weight:700;font-size:.78rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--tierra);margin-bottom:10px;
}
.split{
  display:grid;grid-template-columns:1fr;gap:32px;align-items:center;
}
@media(min-width:760px){.split{grid-template-columns:1.1fr .9fr;gap:48px}}
@media(min-width:980px){.split{gap:64px}}
.split.reverse > .media{order:0}
.split .media img{border-radius:var(--radio);box-shadow:var(--sombra);width:100%}
.split .text p{font-size:1.02rem}

/* ── Stats / magazine ── */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden}
.stats .cell{background:var(--arena-2);padding:26px 22px}
.stats .num{font-family:'Fraunces';font-weight:700;font-size:clamp(1.9rem,4vw,2.8rem);color:var(--tierra);line-height:1}
.stats .lab{font-size:.85rem;color:var(--gris);margin-top:6px}
@media(min-width:680px){.stats{grid-template-columns:repeat(4,1fr)}}

/* ── Cards (variedad, no 3-icon cliché) ── */
.tiles{display:grid;gap:22px;grid-template-columns:1fr}
.tile{
  background:#fff;border:1px solid var(--linea);border-radius:var(--radio);overflow:hidden;
  box-shadow:var(--sombra);display:flex;flex-direction:column;transition:transform .15s,box-shadow .2s;
}
.tile:hover{transform:translateY(-3px);box-shadow:0 6px 14px rgba(14,27,44,.1),0 18px 40px rgba(14,27,44,.12)}
.tile img{aspect-ratio:16/10;object-fit:cover;width:100%}
.tile .pad{padding:20px 22px 24px}
.tile h3{margin:0 0 6px}
.tile .meta{font-size:.82rem;color:var(--gris);margin-bottom:8px}
@media(min-width:620px){.tiles{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.tiles{grid-template-columns:repeat(3,1fr)}}

/* ── Article layout ── */
.article{padding:48px 0 64px}
.article .wrap{max-width:760px;margin:0 auto;padding:0 22px}
.article h1{margin-bottom:14px}
.article .meta{color:var(--gris);font-size:.9rem;margin-bottom:30px;border-bottom:1px solid var(--linea);padding-bottom:14px}
.article .lede{font-size:1.25rem;color:var(--noche-2);margin-bottom:26px}
.article figure{margin:30px 0;border-radius:var(--radio);overflow:hidden}
.article figure img{width:100%}
.article figcaption{font-size:.82rem;color:var(--gris);padding:10px 4px;text-align:center}
.article .dropcap::first-letter{
  font-family:'Fraunces';font-weight:700;font-size:3.6em;line-height:.8;float:left;
  padding:6px 10px 0 0;color:var(--tierra);
}
.pullquote{
  border-left:4px solid var(--tierra);padding:6px 0 6px 22px;margin:30px 0;
  font-family:'Fraunces';font-style:italic;font-size:1.4rem;color:var(--noche);
}
.faq-item{border-bottom:1px solid var(--linea);padding:18px 0}
.faq-item h3{margin:0 0 6px;color:var(--tierra);font-family:'Manrope';font-size:1.05rem;letter-spacing:0}
.faq-item h3::before{content:"Q. ";color:var(--oro);font-weight:700}
.faq-item p{margin:0;color:var(--tinta)}

/* ── CTA band ── */
.cta-band{background:var(--noche);color:#fff;border-radius:var(--radio);padding:46px 36px;display:flex;flex-direction:column;gap:18px}
@media(min-width:680px){.cta-band{flex-direction:row;align-items:center;justify-content:space-between}}
.cta-band h2{color:#fff;margin:0;max-width:20ch}
.cta-band p{color:rgba(255,255,255,.85);margin:0;max-width:46ch}
.cta-band .btn-primary{background:var(--tierra)}

/* ── Form ── */
.form{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:30px;box-shadow:var(--sombra);max-width:620px}
.form .row{margin-bottom:18px}
.form label{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;color:var(--noche)}
.form input,.form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:8px;
  font:inherit;background:var(--arena-2);color:var(--tinta);
}
.form input:focus,.form textarea:focus{outline:2px solid var(--tierra);outline-offset:1px;border-color:var(--tierra)}
.form .err{color:var(--tierra);font-size:.84rem;margin-top:5px;min-height:1em}
.form .consent{display:flex;gap:10px;align-items:flex-start;font-size:.92rem}
.form .consent input{width:auto;margin-top:4px}
.form .btn{margin-top:6px}
#form-status{margin-top:14px;font-weight:600;color:var(--noche)}

.contact-grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:780px){.contact-grid{grid-template-columns:1fr 1.1fr}}
.info-card{background:#fff;border:1px solid var(--linea);border-radius:var(--radio);padding:26px;box-shadow:var(--sombra)}
.info-card dl{margin:0}
.info-card dt{font-weight:700;color:var(--noche);margin-top:14px}
.info-card dt:first-child{margin-top:0}
.info-card dd{margin:0 0 4px}

/* ── Footer ── */
.site-footer{background:var(--noche);color:rgba(255,255,255,.78);padding:54px 0 28px;margin-top:30px}
.site-footer a{color:rgba(255,255,255,.92)}
.site-footer a:hover{color:var(--oro)}
.foot-grid{display:grid;gap:30px;grid-template-columns:1fr}
@media(min-width:680px){.foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.site-footer h4{color:#fff;font-family:'Manrope';font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px}
.foot-links{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.foot-links a{border:0}
.foot-bottom{margin-top:36px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;display:flex;flex-direction:column;gap:10px;justify-content:space-between;flex-wrap:wrap}
@media(min-width:680px){.foot-bottom{flex-direction:row;align-items:center}}
.foot-brand{font-family:'Fraunces';font-weight:700;font-size:1.3rem;color:#fff}

/* ── 404 ── */
.center-wrap{max-width:620px;margin:0 auto;padding:90px 22px;text-align:center}
.center-wrap h1{font-size:clamp(3rem,12vw,7rem);color:var(--tierra);margin-bottom:0}

/* ── Mobile nav ── */
@media(max-width:820px){
  .nav-toggle{display:inline-flex;align-items:center}
  .main-nav{
    position:fixed;top:60px;left:0;right:0;background:var(--arena-2);
    border-bottom:1px solid var(--linea);padding:18px 22px 24px;transform:translateY(-130%);
    transition:transform .25s ease;z-index:25;box-shadow:var(--sombra);
  }
  .main-nav.open{transform:translateY(0)}
  .main-nav ul{flex-direction:column;gap:4px}
  .main-nav a{display:block;padding:11px 12px;font-size:1.05rem}
}
/* util */
.muted{color:var(--gris)}
.small{font-size:.9rem}
.center{text-align:center}
.divider{height:1px;background:var(--linea);margin:48px 0}
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.tag{font-size:.78rem;background:var(--arena);color:var(--noche);padding:5px 10px;border-radius:999px;font-weight:600}
.legal h2{margin-top:36px}
.legal h2:first-of-type{margin-top:0}
.legal .wrap{max-width:760px;margin:0 auto;padding:0 22px}
.legal ul{margin-bottom:1.2em}
.disclaimer{background:#FFF8E7;border:1px solid #EAD8A6;border-left:4px solid var(--oro);padding:14px 18px;border-radius:8px;font-size:.92rem;margin:24px 0}
.skip-link{position:absolute;left:-999px;top:0;background:#fff;padding:10px 16px;z-index:50;border:1px solid var(--linea)}
.skip-link:focus{left:8px;top:8px}