/* ============================================================
   DESCUBRE COLOMBIA — sistema de diseño
   Paleta: selva, esmeralda, oro, azul caribe, crema, tinta
   Tipografía: Fraunces (display) / Work Sans (texto) / IBM Plex Mono (datos)
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap');

:root{
  --verde-selva: #0B3D2E;
  --verde-selva-2: #0E4D38;
  --esmeralda: #1F9D6F;
  --esmeralda-d: #16734F;
  --oro: #E3A732;
  --azul-caribe: #2C7DA0;
  --terracota-suave: #C9683B;
  --crema: #FBF7EC;
  --crema-2: #F3ECDB;
  --tinta: #16241C;
  --tinta-suave: #3B4A41;
  --blanco: #FFFFFF;
  --linea: rgba(22,36,28,0.12);
  --sombra: 0 18px 40px -20px rgba(11,61,46,0.35);
  --radio: 18px;
  --max: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--crema);
  color:var(--tinta);
  font-family:'Work Sans',-apple-system,Segoe UI,sans-serif;
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}

h1,h2,h3,h4{
  font-family:'Fraunces',Georgia,serif;
  font-weight:600;
  line-height:1.08;
  margin:0;
  color:var(--verde-selva);
  letter-spacing:-0.01em;
}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--esmeralda-d);
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.eyebrow::before{
  content:"";
  width:18px;height:1px;background:var(--esmeralda-d);
  display:inline-block;
}
p{margin:0 0 1em;}
.lede{font-size:1.15rem;color:var(--tinta-suave);max-width:60ch;}

.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 26px;border-radius:999px;
  font-weight:600;font-size:0.98rem;
  border:1.5px solid transparent;
  cursor:pointer;transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn-primary{background:var(--oro);color:var(--verde-selva);}
.btn-primary:hover{transform:translateY(-2px);background:#EEB94C;}
.btn-ghost{border-color:rgba(251,247,236,0.4);color:var(--crema);}
.btn-ghost:hover{border-color:var(--crema);transform:translateY(-2px);}
.btn-line{border-color:var(--linea);color:var(--verde-selva);}
.btn-line:hover{border-color:var(--esmeralda-d);color:var(--esmeralda-d);}

/* ---------- HEADER ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(251,247,236,0.92);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--linea);
}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:10px;color:var(--verde-selva);}
.brand-mark{color:var(--esmeralda-d);display:flex;}
.brand-text{font-family:'Fraunces',serif;font-size:1.18rem;font-weight:500;}
.brand-text strong{font-weight:700;}
.nav-list{display:flex;gap:30px;}
.nav-list a{font-weight:600;font-size:0.95rem;color:var(--tinta-suave);transition:color .15s;}
.nav-list a:hover{color:var(--esmeralda-d);}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.nav-toggle span{width:24px;height:2px;background:var(--verde-selva);border-radius:2px;}

/* ---------- HERO ---------- */
.hero{
  position:relative;
  background:radial-gradient(circle at 18% 20%, var(--verde-selva-2), var(--verde-selva) 60%);
  color:var(--crema);
  overflow:hidden;
  padding:96px 0 0;
}
.hero-inner{
  display:grid;grid-template-columns:1.05fr 0.95fr;gap:40px;
  align-items:center;
  position:relative;z-index:2;
}
.hero h1{
  color:var(--crema);
  font-size:clamp(2.6rem,5vw,4.1rem);
  margin:18px 0 22px;
}
.hero h1 em{color:var(--oro);font-style:normal;}
.hero .lede{color:rgba(251,247,236,0.82);}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hero-stats{display:flex;gap:28px;margin-top:48px;flex-wrap:wrap;}
.hero-stats div{font-family:'IBM Plex Mono',monospace;}
.hero-stats b{display:block;font-size:1.5rem;color:var(--oro);}
.hero-stats span{font-size:0.8rem;color:rgba(251,247,236,0.7);}

.hero-art{position:relative;height:420px;}
.hero-art svg{position:absolute;inset:0;width:100%;height:100%;}

.hero-wave{display:block;width:100%;line-height:0;margin-top:60px;}

/* ---------- REGIONES (signature interactivo) ---------- */
.regiones{padding:90px 0 70px;}
.section-head{max-width:680px;margin-bottom:46px;}
.section-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-top:14px;}

.region-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px;}
.region-tab{
  font-family:'IBM Plex Mono',monospace;
  font-size:0.82rem;font-weight:600;
  padding:10px 18px;border-radius:999px;
  border:1.5px solid var(--linea);
  background:var(--blanco);cursor:pointer;
  color:var(--tinta-suave);
  transition:all .18s;
}
.region-tab:hover{border-color:var(--esmeralda);}
.region-tab.is-active{background:var(--verde-selva);color:var(--crema);border-color:var(--verde-selva);}

.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.region-card{
  background:var(--blanco);border-radius:var(--radio);
  padding:30px 26px;border:1px solid var(--linea);
  transition:transform .2s ease, box-shadow .2s ease;
}
.region-card:hover{transform:translateY(-4px);box-shadow:var(--sombra);}
.region-card .ricon{
  width:48px;height:48px;border-radius:14px;
  display:flex;align-items:center;justify-content:center;
  background:var(--crema-2);color:var(--esmeralda-d);margin-bottom:18px;
}
.region-card h3{font-size:1.18rem;margin-bottom:8px;}
.region-card p{color:var(--tinta-suave);font-size:0.96rem;margin-bottom:14px;}
.region-meta{
  display:flex;gap:14px;flex-wrap:wrap;
  font-family:'IBM Plex Mono',monospace;font-size:0.74rem;
  color:var(--esmeralda-d);font-weight:600;
}

/* ---------- DESTINOS ---------- */
.destinos{padding:70px 0;background:var(--crema-2);}
.destino-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.destino-card{
  background:var(--blanco);border-radius:var(--radio);
  overflow:hidden;border:1px solid var(--linea);
  display:flex;flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease;
}
.destino-card:hover{transform:translateY(-4px);box-shadow:var(--sombra);}
.destino-card[hidden]{display:none;}
.destino-art{height:130px;display:flex;align-items:center;justify-content:center;}
.destino-art svg{width:46px;height:46px;}
.bg-caribe{background:linear-gradient(135deg,#2C7DA0,#1d5e7a);}
.bg-andina{background:linear-gradient(135deg,#0E4D38,#0B3D2E);}
.bg-pacifica{background:linear-gradient(135deg,#1F9D6F,#16734F);}
.bg-orinoquia{background:linear-gradient(135deg,#E3A732,#c98f23);}
.bg-amazonia{background:linear-gradient(135deg,#16734F,#0B3D2E);}
.bg-insular{background:linear-gradient(135deg,#3F9CC9,#2C7DA0);}
.destino-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column;}
.destino-tag{
  font-family:'IBM Plex Mono',monospace;font-size:0.7rem;
  text-transform:uppercase;letter-spacing:0.08em;
  color:var(--azul-caribe);font-weight:600;margin-bottom:10px;
}
.destino-body h3{font-size:1.12rem;margin-bottom:8px;}
.destino-body p{font-size:0.92rem;color:var(--tinta-suave);margin-bottom:0;flex:1;}

/* ---------- EXPERIENCIAS ---------- */
.experiencias{padding:90px 0;}
.exp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.exp-card{
  border:1px solid var(--linea);border-radius:16px;
  padding:24px 18px;text-align:left;
  background:var(--blanco);
}
.exp-card .eicon{color:var(--oro);margin-bottom:14px;}
.exp-card h3{font-size:1rem;margin-bottom:6px;}
.exp-card p{font-size:0.88rem;color:var(--tinta-suave);margin:0;}

/* ---------- PRACTICO ---------- */
.practico{padding:90px 0;background:var(--verde-selva);color:var(--crema);}
.practico .section-head h2{color:var(--crema);}
.practico .eyebrow{color:var(--oro);}
.practico .eyebrow::before{background:var(--oro);}
.practico .lede{color:rgba(251,247,236,0.78);}
.practico-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.practico-item{
  background:rgba(251,247,236,0.06);
  border:1px solid rgba(251,247,236,0.14);
  border-radius:16px;padding:24px;
}
.practico-item h3{
  color:var(--crema);font-size:1.02rem;margin-bottom:10px;
  display:flex;align-items:center;gap:10px;
}
.practico-item h3 .pn{
  font-family:'IBM Plex Mono',monospace;color:var(--oro);font-size:0.8rem;
}
.practico-item p{color:rgba(251,247,236,0.75);font-size:0.92rem;margin:0;}

.aviso-box{
  margin-top:46px;padding:20px 24px;border-radius:14px;
  background:rgba(227,167,50,0.12);border:1px solid rgba(227,167,50,0.4);
  font-size:0.9rem;color:rgba(251,247,236,0.9);
}
.aviso-box strong{color:var(--oro);}

/* ---------- CTA ---------- */
.cta-final{padding:90px 0;text-align:center;}
.cta-final h2{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:18px;}
.cta-final .lede{margin:0 auto 30px;}
.cta-final .hero-cta{justify-content:center;}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--verde-selva);color:rgba(251,247,236,0.82);padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:50px;border-bottom:1px solid rgba(251,247,236,0.12);}
.brand-footer{color:var(--crema);margin-bottom:14px;}
.brand-footer .brand-mark{color:var(--oro);}
.footer-desc{font-size:0.88rem;color:rgba(251,247,236,0.65);max-width:32ch;}
.footer-heading{
  font-family:'IBM Plex Mono',monospace;font-size:0.76rem;
  text-transform:uppercase;letter-spacing:0.1em;
  color:var(--oro);margin-bottom:16px;font-weight:600;
}
.footer-list li{margin-bottom:10px;font-size:0.9rem;}
.footer-list a:hover{color:var(--oro);}
.footer-resp{font-size:0.88rem;color:rgba(251,247,236,0.7);line-height:1.7;}
.footer-bottom{padding:22px 0 26px;font-size:0.8rem;color:rgba(251,247,236,0.55);}
.footer-bottom p{margin:0;}

/* ---------- LEGAL PAGES ---------- */
.legal-hero{
  background:var(--verde-selva);color:var(--crema);
  padding:120px 0 60px;
}
.legal-hero .eyebrow{color:var(--oro);}
.legal-hero .eyebrow::before{background:var(--oro);}
.legal-hero h1{color:var(--crema);font-size:clamp(2rem,4vw,2.8rem);margin-top:14px;}
.legal-body{padding:60px 0 100px;}
.legal-content{max-width:760px;margin:0 auto;}
.legal-content h2{font-size:1.4rem;margin:42px 0 14px;}
.legal-content h2:first-child{margin-top:0;}
.legal-content p,.legal-content li{color:var(--tinta-suave);font-size:0.98rem;margin-bottom:12px;}
.legal-content ul{padding-left:22px;list-style:disc;}
.legal-content table{width:100%;border-collapse:collapse;margin:18px 0;font-size:0.92rem;}
.legal-content th,.legal-content td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--linea);color:var(--tinta-suave);}
.legal-content th{color:var(--verde-selva);font-family:'IBM Plex Mono',monospace;font-size:0.78rem;text-transform:uppercase;}
.legal-update{
  font-family:'IBM Plex Mono',monospace;font-size:0.8rem;
  color:var(--esmeralda-d);margin-bottom:30px;display:block;
}
.legal-note{
  background:var(--crema-2);border-left:3px solid var(--oro);
  padding:16px 20px;border-radius:8px;font-size:0.92rem;color:var(--tinta-suave);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;}
  .hero-art{height:280px;order:-1;}
  .region-grid{grid-template-columns:repeat(2,1fr);}
  .destino-grid{grid-template-columns:repeat(2,1fr);}
  .exp-grid{grid-template-columns:repeat(2,1fr);}
  .practico-grid{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:680px){
  .nav-toggle{display:flex;}
  .nav-list{
    position:absolute;top:74px;left:0;right:0;
    background:var(--crema);flex-direction:column;gap:0;
    border-bottom:1px solid var(--linea);
    max-height:0;overflow:hidden;transition:max-height .25s ease;
  }
  .nav-list.is-open{max-height:320px;}
  .nav-list li{border-top:1px solid var(--linea);}
  .nav-list a{display:block;padding:16px 28px;}
  .region-grid,.destino-grid,.exp-grid,.practico-grid,.footer-grid{grid-template-columns:1fr;}
  .hero{padding-top:84px;}
  .hero-stats{gap:20px;}
}
