:root{
  --paper:#efe9dc;
  --paper-dark:#e2dac8;
  --ink:#20261f;
  --forest:#2f4b3c;
  --forest-dark:#1e332a;
  --ochre:#b8842a;
  --ochre-light:#dcae5b;
  --line:#c9bfa4;
  --max: 1080px;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  line-height:1.55;
}
h1,h2,h3, .display{
  font-family:'Fraunces', serif;
  font-weight:600;
  margin:0;
  color:var(--forest-dark);
}
a{color:inherit;}
.wrap{max-width:var(--max); margin:0 auto; padding:0 48px;}

/* HEADER */
header{border-bottom:1px solid var(--line); padding:22px 0;}
header .wrap{display:flex; align-items:center; justify-content:space-between;}
.brand{
  font-family:'Fraunces', serif;
  font-size:1.35rem;
  font-weight:600;
  letter-spacing:0.2px;
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:var(--forest-dark);
}
.brand svg{width:30px;height:30px;flex-shrink:0;}
.brand-logo{width:40px;height:40px;flex-shrink:0;border-radius:50%;object-fit:cover;}
nav{display:flex; gap:28px; font-size:0.95rem;}
nav a{text-decoration:none; border-bottom:1px solid transparent;}
nav a:hover{border-bottom-color:var(--ochre);}

/* HERO (home) */
.hero{
  padding:72px 0 56px;
  border-bottom:1px solid var(--line);
}
.hero .wrap{display:grid; grid-template-columns:1.2fr 0.8fr; gap:48px; align-items:center;}
.hero h1{ font-size:clamp(2.3rem, 4.4vw, 3.4rem); line-height:1.08; max-width:11ch;}
.hero p{ margin-top:22px; font-size:1.12rem; max-width:44ch; color:#3a4238;}
.hero .cta-row{margin-top:30px; display:flex; gap:16px; flex-wrap:wrap;}

.btn{
  display:inline-block; padding:13px 24px; border-radius:2px;
  font-size:0.98rem; font-weight:500; text-decoration:none;
  border:1px solid var(--forest-dark);
}
.btn.primary{background:var(--forest-dark); color:var(--paper);}
.btn.primary:hover{background:var(--forest);}
.btn.ghost{background:transparent; color:var(--forest-dark);}
.btn.ghost:hover{background:rgba(47,75,60,0.06);}

.stamp{
  justify-self:center; width:240px; height:240px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  text-align:center; transform:rotate(-6deg); position:relative;
}
.stamp .stamp-text{
  font-family:'Fraunces', serif; font-style:italic; font-size:1rem;
  color:var(--ochre); line-height:1.3; padding:0 18px;
}
.hero-logo{width:100%; height:100%; border-radius:50%; object-fit:cover; box-shadow:0 10px 30px rgba(30,51,42,0.25);}

/* SECTION LABELS */
.section-head{display:flex; align-items:baseline; gap:14px; margin-bottom:34px;}
.section-head .mark{width:22px; height:2px; background:var(--ochre); display:inline-block;}
.section-head h2{font-size:1.7rem;}

section{padding:64px 0;}
section.alt{background:var(--paper-dark);}

/* CATEGORY GRID */
.cat-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.cat{background:var(--paper); padding:32px 26px;}
.cat h3{font-size:1.15rem; margin-bottom:10px;}
.cat p{margin:0; font-size:0.95rem; color:#4a5248;}
.cat .num{
  font-family:'Fraunces', serif; font-style:italic; color:var(--ochre);
  font-size:0.95rem; display:block; margin-bottom:14px;
}

/* NUESTROS VIAJES */
.section-intro{
  margin:-14px 0 34px; font-size:1.02rem; color:#3a4238; max-width:56ch;
}
.trip-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:28px;
}
.trip{
  background:var(--paper); border:1px solid var(--line);
}
.trip-photo{
  width:100%; height:170px; object-fit:cover; display:block;
}
.trip-body{padding:22px;}
.trip-date{
  font-family:'Fraunces', serif; font-style:italic; color:var(--ochre);
  font-size:0.88rem; display:block; margin-bottom:10px;
}
.trip h3{font-size:1.1rem; margin-bottom:8px;}
.trip p{margin:0; font-size:0.94rem; color:#4a5248;}

@media (max-width:760px){
  .trip-grid{grid-template-columns:1fr;}
}

/* ARTICLE LIST (home) */
.articles{display:flex; flex-direction:column;}
.article-row{
  display:grid; grid-template-columns:120px 1fr auto; gap:24px; align-items:start;
  padding:26px 0; border-top:1px solid var(--line); text-decoration:none; color:inherit;
}
.article-row:last-child{border-bottom:1px solid var(--line);}
.article-row .tag{
  font-size:0.85rem; color:var(--ochre); font-family:'Fraunces', serif;
  font-style:italic; padding-top:4px;
}
.article-row h3{font-size:1.2rem; margin-bottom:6px;}
.article-row p{margin:0; color:#4a5248; font-size:0.95rem; max-width:56ch;}
.article-row .go{
  align-self:center; font-size:0.9rem; text-decoration:underline;
  text-decoration-color:var(--ochre); text-underline-offset:4px; white-space:nowrap;
}

/* NEWSLETTER */
.news{background:var(--forest-dark); color:var(--paper); padding:64px 0;}
.news .wrap{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
.news h2{color:var(--paper); font-size:1.9rem; max-width:14ch;}
.news p{color:#cfd6cb; margin-top:14px; max-width:42ch;}
.news form{display:flex; gap:10px;}
.news input[type=email]{
  flex:1; padding:13px 16px; border:1px solid #4c6155; background:#28392f;
  color:var(--paper); border-radius:2px; font-family:'Work Sans', sans-serif;
}
.news input::placeholder{color:#9fae98;}
.news button{
  background:var(--ochre); border:none; color:#221704; font-weight:600;
  padding:13px 22px; border-radius:2px; cursor:pointer;
}
.news button:hover{background:var(--ochre-light);}

/* FOOTER */
footer{padding:40px 0; font-size:0.85rem; color:#5b6255;}
footer .wrap{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
  border-top:1px solid var(--line); padding-top:28px;
}
.disclosure{max-width:640px;}

/* ===== ARTICLE / GUIDE PAGES ===== */
.breadcrumb{
  font-size:0.88rem; color:#5b6255; padding-top:26px;
}
.breadcrumb a{text-decoration:none; border-bottom:1px solid transparent;}
.breadcrumb a:hover{border-bottom-color:var(--ochre);}

.article-header{padding-top:22px; padding-bottom:40px; border-bottom:1px solid var(--line);}
.article-header .tag{
  font-family:'Fraunces', serif; font-style:italic; color:var(--ochre); font-size:1rem;
}
.article-header h1{
  font-size:clamp(2rem, 4vw, 2.9rem); line-height:1.12; margin-top:14px; max-width:20ch;
}
.article-header .dek{
  margin-top:18px; font-size:1.1rem; color:#3a4238; max-width:60ch;
}
.article-meta{
  margin-top:22px; display:flex; gap:18px; font-size:0.88rem; color:#5b6255; flex-wrap:wrap;
}

.article-body{
  max-width:680px; margin:0 auto; padding-top:48px; padding-bottom:48px;
  font-size:1.06rem;
}
.article-body h2{font-size:1.5rem; margin-top:44px; margin-bottom:16px;}
.article-body h3{font-size:1.2rem; margin-top:32px; margin-bottom:12px;}
.article-body p{margin:0 0 20px; color:#2b3129;}
.article-body ul, .article-body ol{margin:0 0 20px; padding-left:22px; color:#2b3129;}
.article-body li{margin-bottom:8px;}
.article-body strong{color:var(--forest-dark);}

.pull-note{
  border-left:3px solid var(--ochre);
  background:var(--paper-dark);
  padding:18px 22px;
  margin:28px 0;
  font-size:0.98rem;
}
.pull-note strong{display:block; margin-bottom:6px; color:var(--forest-dark);}

.pick-box{
  border:1px solid var(--line);
  padding:24px;
  margin:30px 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
}
.pick-box .label{
  font-family:'Fraunces', serif; font-style:italic; color:var(--ochre); font-size:0.9rem; display:block; margin-bottom:6px;
}
.pick-box h4{font-family:'Fraunces', serif; font-size:1.15rem; margin:0; color:var(--forest-dark);}
.pick-box p{margin:6px 0 0; font-size:0.92rem; color:#4a5248;}

.related{padding-top:56px; padding-bottom:70px; border-top:1px solid var(--line);}

@media (max-width:760px){
  .hero .wrap{grid-template-columns:1fr;}
  .hero{padding-top:48px; padding-bottom:48px;}
  .stamp{justify-self:center; width:170px; height:170px; margin-top:48px; margin-bottom:8px;}
  .cat-grid{grid-template-columns:1fr;}
  .article-row{grid-template-columns:1fr; gap:8px;}
  .article-row .go{justify-self:start;}
  .news .wrap{grid-template-columns:1fr;}
  nav{display:none;}
  .pick-box{flex-direction:column; align-items:flex-start;}
}

.related .cat-grid{grid-template-columns:repeat(2, 1fr);}
@media (max-width:760px){.related .cat-grid{grid-template-columns:1fr;}}

/* INSTAGRAM LINK */
.ig-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:50%;
  border:1px solid var(--forest-dark);
  flex-shrink:0;
}
.ig-link svg{width:18px; height:18px;}
footer .ig-link{border-color:var(--line);}
.footer-right{display:flex; align-items:center; gap:14px;}
