/* placesinmexico — phase1 · phase1 institutional editorial (original trade dress) */
:root{
  --ink:#1b1f2a;
  --dusk:#241f3d;
  --deep:#2f2948;
  --adobe:#a84832;
  --parchment:#f6f1e8;
  --cream:#fbfaf7;
  --foam:#eef0f5;
  --muted:#5a6170;
  --line:#ddd4c8;
  --max:1100px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Source Sans 3","Nunito Sans","Segoe UI",system-ui,-apple-system,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.65;
  letter-spacing:.01em;
}
a{color:var(--deep);text-decoration:none}
a:hover{color:var(--adobe)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.5rem}
.skip{
  position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;
}
.skip:focus{
  position:fixed;left:1rem;top:1rem;z-index:100;
  width:auto;height:auto;padding:.75rem 1rem;
  background:var(--adobe);color:#fff;border-radius:4px;
  outline:3px solid var(--dusk);
}
.site-header{
  background:var(--dusk);
  color:var(--foam);
  position:sticky;top:0;z-index:30;
  border-bottom:1px solid rgba(168,72,50,.55);
}
.site-header .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0}
.logo{
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.88rem;
  color:var(--cream);
}
.nav{display:flex;flex-wrap:wrap;gap:.85rem;font-size:.88rem;align-items:center}
.nav a{color:#e8eaf2}
.nav a:hover,.nav a[aria-current="page"]{color:#f0c4b8}
.cta{
  background:var(--adobe);
  color:#fff!important;
  padding:.55rem 1rem;
  border-radius:4px;
  font-weight:700;
  letter-spacing:.02em;
  min-height:44px;
  display:inline-flex;align-items:center;
}
.menu-btn{
  display:none;
  background:transparent;
  border:1px solid rgba(238,240,245,.4);
  color:var(--cream);
  padding:.5rem .85rem;
  border-radius:4px;
  min-height:44px;
  cursor:pointer;
}
.hero{
  background:
    linear-gradient(155deg,rgba(36,31,61,.95),rgba(47,41,72,.85)),
    linear-gradient(45deg,var(--dusk),var(--deep));
  color:var(--foam);
  padding:5rem 1.5rem 4rem;
}
.hero .kicker{
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.72rem;
  color:#e0b5a8;
  margin:0 0 1rem;
  font-weight:700;
}
.hero h1{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,4vw,3rem);
  font-weight:500;
  line-height:1.15;
  margin:0 0 1rem;
  max-width:20ch;
}
.hero p{max-width:38rem;color:#d8dbe6;margin:0 0 1.5rem;font-size:1.05rem}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--adobe);
  color:#fff;
  padding:.85rem 1.35rem;
  border-radius:4px;
  font-weight:700;
  border:0;
  cursor:pointer;
  letter-spacing:.02em;
  min-height:44px;
  font-size:1rem;
}
.btn.ghost{
  background:transparent;
  border:1px solid rgba(251,250,247,.55);
  color:var(--cream);
  margin-left:.5rem;
}
.section{padding:3.75rem 1.5rem}
.section.alt{background:var(--parchment)}
.section h1,.section h2{
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(1.45rem,2.4vw,1.9rem);
  font-weight:500;
  margin:0 0 1.15rem;
  color:var(--dusk);
}
.section h1{font-size:clamp(1.8rem,3vw,2.4rem)}
.lead{color:var(--muted);max-width:42rem;margin:0 0 1.5rem;font-size:1.05rem}
.muted{color:var(--muted)}
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1.25rem;
}
.card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px;
  padding:1.35rem;
  box-shadow:0 1px 0 rgba(27,31,42,.04);
}
.card h2,.card h3{margin:0 0 .65rem;font-size:1.1rem;color:var(--dusk);font-weight:700;font-family:"Source Sans 3","Nunito Sans",system-ui,sans-serif}
.card p{margin:0 0 1rem;color:var(--muted);font-size:.95rem}
.card a{font-weight:700;color:var(--adobe)}
.band{
  background:var(--dusk);
  color:var(--foam);
  padding:3.75rem 1.5rem;
}
.band h2{color:var(--cream);margin:0 0 1rem;font-family:Georgia,"Times New Roman",serif;font-weight:500}
.band p{color:#d5d8e4;max-width:40rem}
form{display:grid;gap:1rem;max-width:32rem;margin-top:1.25rem}
label{display:grid;gap:.35rem;font-size:.9rem;font-weight:600}
input,textarea{
  font:inherit;
  padding:.75rem .9rem;
  border-radius:4px;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  min-height:44px;
}
.band input,.band textarea{border-color:rgba(255,255,255,.2);background:rgba(255,255,255,.96)}
.site-footer{
  background:#14121f;
  color:#c5c9d6;
  padding:3rem 1.5rem 2rem;
  font-size:.92rem;
}
.foot-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:1.5rem;
  margin-bottom:1.5rem;
}
.site-footer a{color:#e8eaf2}
.site-footer a:hover{color:#f0c4b8}
.site-footer strong{display:block;color:var(--cream);margin-bottom:.5rem}
.foot-blurb{margin:0;color:#9aa1b3;font-size:.88rem}
.legal{border-top:1px solid rgba(255,255,255,.1);padding-top:1rem;margin:0;font-size:.8rem;color:#7e8699}
@media (max-width:820px){
  .menu-btn{display:inline-flex;align-items:center}
  .nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding-bottom:1rem}
  .nav.open{display:flex}
  .site-header .inner{flex-wrap:wrap}
  .btn.ghost{margin-left:0;margin-top:.5rem}
}

.band-note{color:#e8eaf2;font-weight:400;font-size:.9rem;margin:0}
