/* ===========================================================
   Sistema de diseño compartido — Ovino-caprinocultura sostenible
   Usado por equipo.html y proceso.html (mismos tokens que index/plan).
   =========================================================== */
:root{
  --sand:#E7DCC6;--sand-2:#DFD2B8;--sand-3:#D2C2A2;
  --ink:#241C15;--ink-2:#5C4B39;
  --brick:#93331F;--brick-d:#6E2716;--gold:#C6852A;--jade:#1E6A54;
  --night:#271A12;--paper:#EFE7D5;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--sand);color:var(--ink);
  font-family:"Newsreader",Georgia,serif;font-size:19px;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;}
.wrap{max-width:1140px;margin:0 auto;padding:0 32px;}
.narrow{max-width:860px;}
section{position:relative;}

.eyebrow{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:600;
  font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--brick);
  display:inline-flex;align-items:center;gap:.7em;margin:0 0 1.4rem;}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--brick);display:inline-block;}
.eyebrow.on-dark{color:var(--gold);}
.eyebrow.on-dark::before{background:var(--gold);}

h1,h2,h3,h4{font-family:"Bricolage Grotesque",system-ui,sans-serif;font-weight:700;
  line-height:1.04;letter-spacing:-.015em;margin:0;color:var(--ink);}
.display{font-size:clamp(2.5rem,6.2vw,5rem);font-weight:800;letter-spacing:-.03em;line-height:.98;}
h2{font-size:clamp(1.9rem,4vw,3.1rem);}
h3{font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.01em;}
h4{font-size:1.02rem;letter-spacing:.01em;}
p{margin:0 0 1.15rem;}
.lead{font-size:clamp(1.12rem,1.6vw,1.38rem);color:var(--ink-2);line-height:1.55;}
strong{font-weight:600;color:var(--ink);}
.band-dark strong,.band-brick strong{color:#fff;}

/* top nav */
.topnav{position:sticky;top:0;z-index:40;background:rgba(39,26,18,.92);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(198,133,42,.28);}
.topnav .wrap{display:flex;align-items:center;justify-content:space-between;min-height:60px;gap:16px;flex-wrap:wrap;}
.topnav .brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;color:var(--paper);
  font-size:.95rem;display:flex;align-items:center;gap:.5em;letter-spacing:-.01em;white-space:nowrap;}
.topnav .brand .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);}
.topnav nav{display:flex;align-items:center;gap:4px;font-family:"Bricolage Grotesque",sans-serif;flex-wrap:wrap;}
.topnav a{color:#e6d6b8;text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.02em;
  padding:8px 11px;border-radius:5px;transition:background .18s,color .18s;white-space:nowrap;}
.topnav a:hover{background:rgba(198,133,42,.16);color:#fff;}
.topnav a.here{color:var(--night);background:var(--gold);}
.nav-toggle{display:none;}
.topnav a .lk{width:13px;height:13px;margin-left:.42em;vertical-align:-.12em;opacity:.72;}

/* ===== sub-navegación del área reservada (plan · estudios · estudio G) =====
   Segundo nivel: el topnav navega el SITIO; esta barra navega los documentos
   con clave. Aparece solo en las páginas gateadas y marca la actual. */
.docbar{background:var(--sand-2);border-bottom:1px solid var(--sand-3);}
.docbar .wrap{display:flex;align-items:center;gap:10px 20px;min-height:48px;flex-wrap:wrap;}
/* el candado era un emoji; ahora es el mismo filete que usa .eyebrow en todo el sitio */
.docbar .lbl{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--brick);
  display:inline-flex;align-items:center;gap:.6em;white-space:nowrap;}
.docbar .lbl::before{content:"";width:20px;height:1.5px;background:var(--brick);flex:none;}
.docbar .docnav{display:flex;gap:4px;flex-wrap:wrap;}
.docbar .docnav a{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.8rem;
  color:var(--ink-2);text-decoration:none;padding:6px 13px;border-radius:100px;
  transition:background .18s,color .18s;white-space:nowrap;}
.docbar .docnav a:hover{background:rgba(147,51,31,.10);color:var(--brick);}
.docbar .docnav a.here{background:var(--brick);color:#fff;}

.band{padding:clamp(64px,10vh,120px) 0;}
.band-sand2{background:var(--sand-2);}
.band-dark{background:var(--night);color:var(--paper);}
.band-dark h2,.band-dark h3,.band-dark h4{color:var(--paper);}.band-dark .lead{color:#e6d6b8;}
.band-brick{background:linear-gradient(135deg,var(--brick-d),var(--brick));color:var(--paper);}
.band-brick h2,.band-brick h3{color:#fff;}.band-brick .lead{color:#f4e0c4;}

/* hero */
.hero{position:relative;color:var(--paper);background-size:cover;background-position:center 40%;
  padding:clamp(80px,14vh,150px) 0 clamp(56px,9vh,96px);}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(to top, rgba(39,26,18,.95) 0%, rgba(39,26,18,.5) 44%, rgba(39,26,18,.2) 76%, rgba(39,26,18,.5) 100%),
    linear-gradient(105deg, rgba(39,26,18,.82) 0%, rgba(39,26,18,.14) 60%);}
.hero .wrap{position:relative;z-index:1;}
.hero h1{color:var(--paper);max-width:22ch;text-shadow:0 2px 30px rgba(20,12,6,.5);}
.hero .lead{color:#f0dcbb;max-width:54ch;margin-top:1.6rem;text-shadow:0 1px 16px rgba(20,12,6,.5);}
.hero .meta{margin-top:2.2rem;display:flex;flex-wrap:wrap;gap:10px 12px;}
.hero .chip{font-family:"Bricolage Grotesque",sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:#f2dcb6;border:1px solid rgba(242,220,182,.35);border-radius:100px;padding:7px 14px;}

.lede-note{font-size:1.04rem;color:var(--ink-2);line-height:1.55;}
.band-dark .lede-note{color:#e6d6b8;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:start;}

.quote{font-family:"Newsreader",serif;font-style:italic;font-weight:500;
  font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.18;color:var(--brick);letter-spacing:-.01em;margin:0;max-width:26ch;}
.quote .mk{color:var(--gold);font-style:normal;}
.band-dark .quote{color:var(--gold);}.band-dark .quote .mk{color:var(--paper);}

/* cards grid */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1.5px;background:var(--sand-3);
  margin-top:clamp(40px,5vw,60px);border:1px solid var(--sand-3);}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--sand-3);
  margin-top:clamp(40px,5vw,60px);border:1px solid var(--sand-3);}
.cardc{background:var(--sand);padding:clamp(26px,3vw,40px);}
.band-sand2 .cardc{background:var(--paper);}
.cardc .k{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;color:var(--brick);
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;margin-bottom:1rem;display:block;}
.cardc .k.jade{color:var(--jade);}
.cardc h3{margin-bottom:.6rem;font-size:1.28rem;}
.cardc p{margin:0;font-size:1.01rem;color:var(--ink-2);line-height:1.5;}
.cardc p + p{margin-top:.7rem;}

/* team cards */
.teamgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--sand-3);
  margin-top:clamp(40px,5vw,58px);border:1px solid var(--sand-3);}
.tcard{background:var(--paper);padding:clamp(24px,2.6vw,36px);}
.band-sand2 .tcard{background:var(--sand);}
.tcard .role{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;color:var(--jade);font-size:.68rem;
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:.9rem;display:block;}
.tcard h3{font-size:1.24rem;margin-bottom:.5rem;}
.tcard .inst{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;color:var(--brick);font-size:.9rem;margin-bottom:.7rem;display:block;}
.tcard p{margin:0;font-size:.97rem;color:var(--ink-2);line-height:1.48;}

/* generic data table */
.dtable{width:100%;border-collapse:collapse;margin-top:clamp(38px,4.5vw,56px);font-size:.98rem;}
.dtable th{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--brick);text-align:left;padding:0 16px 13px 0;border-bottom:2px solid var(--brick);vertical-align:bottom;}
.dtable td{padding:16px 16px 16px 0;border-bottom:1px solid var(--sand-3);vertical-align:top;color:var(--ink-2);line-height:1.46;}
.dtable td:last-child,.dtable th:last-child{padding-right:0;}
.dtable tr td:first-child{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;color:var(--ink);}
.dtable .hl{color:var(--jade);font-weight:600;}
.band-dark .dtable th{color:var(--gold);border-bottom-color:var(--gold);}
.band-dark .dtable td{color:#e6d6b8;border-bottom-color:rgba(239,231,213,.18);}
.band-dark .dtable tr td:first-child{color:#fff;}
.band-dark .dtable .hl{color:var(--gold);}

/* cross-cutting list */
.crosslist{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(22px,3vw,40px);margin-top:clamp(40px,5vw,60px);}
.xitem{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;}
.xitem .xd{width:12px;height:12px;border-radius:50%;background:var(--jade);margin-top:9px;flex:none;}
.band-dark .xitem .xd,.band-brick .xitem .xd{background:var(--gold);}
.xitem h4{font-family:"Bricolage Grotesque",sans-serif;color:var(--jade);font-size:1.06rem;margin-bottom:.4rem;letter-spacing:-.01em;}
.band-dark .xitem h4,.band-brick .xitem h4{color:#fff;}
.xitem p{margin:0;font-size:.98rem;color:var(--ink-2);line-height:1.5;}
.band-dark .xitem p,.band-brick .xitem p{color:#f4e0c4;}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(24px,3vw,44px);margin-top:clamp(44px,5vw,62px);}
.stat .fig{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;font-size:clamp(2.6rem,5.5vw,4.6rem);
  line-height:.9;letter-spacing:-.04em;color:var(--gold);}
.stat .lab{margin-top:.8rem;color:#e6d6b8;font-size:1rem;line-height:1.35;}

/* buttons + downloads */
.dl-actions{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:2.6rem auto 0;}
.btn{font-family:"Bricolage Grotesque",sans-serif;font-weight:700;font-size:1rem;letter-spacing:-.01em;
  text-decoration:none;display:inline-flex;align-items:center;gap:.6em;padding:15px 26px;border-radius:6px;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;line-height:1;cursor:pointer;border:none;}
.btn svg{width:20px;height:20px;flex:none;}
.btn-gold{background:var(--gold);color:var(--night);box-shadow:0 10px 30px -12px rgba(0,0,0,.6);}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 38px -12px rgba(0,0,0,.7);}
.btn-ghost{background:transparent;color:#fff;border:1.6px solid rgba(255,255,255,.55);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px);}
.dl-note{margin-top:1.5rem;font-family:"Bricolage Grotesque",sans-serif;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:#f0cfa4;font-weight:600;}

/* close */
.close{background:linear-gradient(160deg,var(--brick),var(--brick-d) 72%);color:#fff;text-align:center;
  padding:clamp(72px,12vh,140px) 0;}
.close h2{color:#fff;max-width:22ch;margin:0 auto;}
.close .lead{color:#f4e0c4;max-width:56ch;margin:1.6rem auto 0;}

footer{background:var(--night);color:#a68b70;text-align:center;padding:34px 22px;
  font-family:"Bricolage Grotesque",sans-serif;font-size:.72rem;letter-spacing:.1em;line-height:1.7;}
footer .cr{display:block;margin-top:.7rem;font-size:.6rem;letter-spacing:.04em;color:#7d6650;max-width:74ch;margin-left:auto;margin-right:auto;}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.09s;}.reveal.d2{transition-delay:.18s;}.reveal.d3{transition-delay:.27s;}
a:focus-visible,[tabindex]:focus-visible,button:focus-visible,input:focus-visible{outline:2.5px solid var(--jade);outline-offset:3px;}

@media (max-width:860px){
  body{font-size:18px;}
  .split{grid-template-columns:1fr;gap:30px;}
  .grid2,.grid3,.teamgrid,.crosslist{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;gap:34px 22px;}
  .topnav{position:static;background:transparent;border-bottom:none;backdrop-filter:none;}
  .topnav .wrap{min-height:0;padding:0;display:block;}
  .topnav .brand{display:none;}
  /* apila la sub-nav y le deja aire al botón flotante (46px @ top/right:14px) */
  .docbar .wrap{flex-direction:column;align-items:flex-start;gap:7px;min-height:0;
    padding-top:10px;padding-bottom:10px;padding-right:70px;}
  .docbar .docnav a{font-size:.76rem;padding:5px 11px;}
  .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;
    position:fixed;top:14px;right:14px;width:46px;height:46px;border-radius:12px;
    border:1px solid rgba(198,133,42,.55);background:rgba(39,26,18,.92);backdrop-filter:blur(6px);
    color:var(--paper);cursor:pointer;padding:0;z-index:62;box-shadow:0 8px 22px -8px rgba(0,0,0,.55);}
  .nav-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s;}
  .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .nav-toggle.open span:nth-child(2){opacity:0;}
  .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  .topnav nav{position:fixed;top:70px;right:14px;z-index:61;flex-direction:column;align-items:stretch;gap:4px;
    background:rgba(39,26,18,.97);border:1px solid rgba(198,133,42,.4);border-radius:12px;padding:8px;min-width:212px;
    box-shadow:0 22px 55px -18px rgba(0,0,0,.7);opacity:0;transform:translateY(-8px) scale(.98);
    pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
  .topnav nav.open{opacity:1;transform:none;pointer-events:auto;}
  .topnav nav a{padding:12px 14px;font-size:.95rem;border-radius:7px;width:100%;}
  .dtable,.dtable tbody,.dtable tr,.dtable td{display:block;width:100%;}
  .dtable thead{display:none;}
  .dtable tr{border-bottom:1px solid var(--sand-3);padding:14px 0;}
  .dtable td{border:none;padding:3px 0;}
  .dtable tr td:first-child{font-size:1.08rem;margin-bottom:.3rem;}
  .band-dark .dtable tr{border-bottom-color:rgba(239,231,213,.18);}
}
@media (max-width:560px){.wrap{padding:0 22px;}.stats{grid-template-columns:1fr;}}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}html{scroll-behavior:auto;}}
@media print{
  .topnav,.docbar{display:none;}
  .reveal{opacity:1!important;transform:none!important;}
  body,.band-dark,.band-brick,.hero,.close{-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact;}
  section{break-inside:avoid;}
}
