/* Presencias de Música — hoja de estilo del archivo
   Paleta tomada de los fondos originales: crema, verde profundo, oro apagado, verdemar. */

:root{
  --paper:#fbf7ec;
  --paper-2:#f4eede;
  --paper-3:#ece4cf;
  --ink:#2b2b24;
  --ink-soft:#5d5a4c;
  --green:#1f5f3f;
  --green-dark:#123c28;
  --green-pale:#e7f0e6;
  --gold:#a8842a;
  --gold-pale:#f3e6c4;
  --teal:#2c6f7c;
  --rule:#d8cfb6;
  --measure:37rem;
  --serif:"Spectral",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Helvetica Neue",Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.62;
  overflow-wrap:break-word;
}
img{max-width:100%;height:auto;display:block}

/* ---------- skip link ---------- */
.skip{position:absolute;left:-9999px;top:0;background:var(--green);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:0}

/* ---------- masthead ---------- */
.masthead{
  background:var(--green-dark);
  color:var(--paper);
  border-bottom:4px solid var(--gold);
}
.masthead__inner{
  max-width:74rem;margin:0 auto;padding:1.15rem 1.25rem .95rem;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1.25rem;min-width:0;
}
.wordmark{
  font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:.01em;
  color:var(--paper);text-decoration:none;line-height:1.15;min-width:0;
}
.wordmark span{color:var(--gold-pale)}
.wordmark:hover{color:#fff}
.tagline{
  font-family:var(--serif);font-style:italic;font-size:.95rem;color:#c9d8ca;min-width:0;
}

/* ---------- navigation (wraps; never clipped) ---------- */
.nav{background:var(--green);border-bottom:1px solid rgba(0,0,0,.18)}
.nav__inner{
  max-width:74rem;margin:0 auto;padding:0 1.25rem;
  display:flex;flex-wrap:wrap;min-width:0;
}
.nav a{
  display:block;padding:.62rem .95rem;color:#e4efe4;text-decoration:none;
  font-size:.94rem;font-weight:600;letter-spacing:.015em;min-width:0;
  border-bottom:3px solid transparent;
}
.nav a:hover{background:var(--green-dark);color:#fff}
.nav a[aria-current="page"]{border-bottom-color:var(--gold);color:#fff}

.subnav{background:var(--paper-2);border-bottom:1px solid var(--rule)}
.subnav__inner{
  max-width:74rem;margin:0 auto;padding:0 1.25rem;
  display:flex;flex-wrap:wrap;min-width:0;
}
.subnav a{
  display:block;padding:.5rem .9rem;color:var(--green-dark);text-decoration:none;
  font-size:.86rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;min-width:0;
}
.subnav a:hover{color:var(--gold);text-decoration:underline}
.subnav a[aria-current="page"]{color:var(--gold)}

/* ---------- layout ---------- */
.wrap{max-width:74rem;margin:0 auto;padding:0 1.25rem}
main{display:block;padding:2.1rem 0 3rem}
.eyebrow{
  font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;font-weight:700;
  color:var(--teal);margin:0 0 .55rem;
}
.eyebrow a{color:inherit;text-decoration:none}
.eyebrow a:hover{text-decoration:underline}

article{max-width:var(--measure)}
.home article{max-width:none}

/* ---------- typography ---------- */
h1{
  font-family:var(--serif);font-weight:600;font-size:clamp(1.85rem,1.2rem + 2.1vw,2.7rem);
  line-height:1.16;margin:0 0 .5rem;color:var(--green-dark);letter-spacing:-.005em;
}
h1::after{
  content:"";display:block;width:3.2rem;height:3px;background:var(--gold);margin:.85rem 0 0;
}
h2{
  font-family:var(--serif);font-weight:600;font-size:clamp(1.3rem,1.05rem + .85vw,1.62rem);
  line-height:1.25;margin:2.3rem 0 .7rem;color:var(--green-dark);
}
h3{
  font-family:var(--serif);font-weight:600;font-size:1.12rem;margin:1.7rem 0 .5rem;color:var(--teal);
}
p{margin:0 0 1.05rem}
.lead{
  font-family:var(--serif);font-style:italic;font-size:1.17rem;line-height:1.5;
  color:var(--ink-soft);margin:1.1rem 0 1.6rem;
}
a{color:var(--teal);text-underline-offset:.16em;text-decoration-thickness:1px}
a:hover{color:var(--gold)}
strong{font-weight:700;color:var(--green-dark)}
em{font-style:italic}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--paper-3);padding:.1em .35em}

ul,ol{margin:0 0 1.15rem;padding-left:1.3rem}
li{margin:0 0 .5rem}
ul li::marker{color:var(--gold)}
ol li::marker{color:var(--gold);font-weight:700}

/* ---------- figures ---------- */
figure{margin:0 0 1.8rem;max-width:var(--measure)}
figure.hero{max-width:none;margin-bottom:2rem}
figure img{border:1px solid var(--rule)}
figcaption{
  font-size:.85rem;color:var(--ink-soft);font-style:italic;
  padding:.5rem .1rem 0;border-top:1px solid var(--rule);margin-top:.5rem;
}

/* ---------- tables ---------- */
.tablewrap{overflow-x:auto;margin:0 0 1.8rem;border:1px solid var(--rule);background:#fff}
table{border-collapse:collapse;width:100%;font-size:.94rem;min-width:26rem}
thead th{
  background:var(--green-pale);color:var(--green-dark);text-align:left;
  font-family:var(--sans);font-weight:700;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.07em;padding:.6rem .85rem;
  border-bottom:2px solid var(--green);
}
tbody td{padding:.5rem .85rem;border-bottom:1px solid var(--paper-3);vertical-align:top}
tbody tr:nth-child(even){background:var(--paper)}
tbody tr:hover{background:var(--gold-pale)}
td.notes{font-family:var(--serif);color:var(--teal);white-space:nowrap}
table.catalogo tbody td:last-child{text-align:center;color:var(--ink-soft)}

/* ---------- footer ---------- */
.foot{
  margin-top:2rem;border-top:4px solid var(--gold);
  background:var(--green-dark);color:#cfdccf;
}
.foot__inner{max-width:74rem;margin:0 auto;padding:2rem 1.25rem 2.4rem}
.foot h2{
  font-family:var(--sans);font-size:.78rem;text-transform:uppercase;letter-spacing:.13em;
  color:var(--gold-pale);margin:0 0 .7rem;
}
.foot ul{list-style:none;margin:0;padding:0;columns:2;column-gap:2rem}
.foot li{margin:0 0 .4rem;break-inside:avoid}
.foot a{color:#dfeadf;text-decoration:none;font-size:.93rem}
.foot a:hover{color:var(--gold-pale);text-decoration:underline}
.foot__note{
  margin:1.6rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.14);
  font-size:.85rem;line-height:1.6;color:#a9bbaa;max-width:52rem;
}

/* ---------- home ---------- */
.home h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}
.home article > h2{border-top:1px solid var(--rule);padding-top:1.4rem}
.home article > ul > li{margin-bottom:.85rem}

/* ---------- 404 ---------- */
.err{max-width:var(--measure);padding:1rem 0 2rem}

@media (max-width:640px){
  body{font-size:16px}
  .masthead__inner{padding:.95rem 1rem .8rem}
  .nav__inner,.subnav__inner,.wrap,.foot__inner{padding-left:1rem;padding-right:1rem}
  .nav a{padding:.55rem .7rem;font-size:.9rem}
  .subnav a{padding:.45rem .65rem;font-size:.8rem}
  .foot ul{columns:1}
}

@media print{
  .nav,.subnav,.foot,.skip{display:none}
  body{background:#fff}
}
