/* ============================================================
   soydiegoup.com — capa "Pensamiento"
   Estructura espejo de darioamodei.com, tipografia y color de la
   marca Diego Urquijo (brandbook: espresso #362920 / hueso #F5F1EA
   / arcilla #A8542F). Contraste verificado WCAG AA en claro y oscuro.
   ============================================================ */
:root{
  --sw-hueso:#F5F1EA;      /* fondo claro */
  --sw-hueso-puro:#FBF9F5;
  --sw-espresso:#362920;   /* texto claro */
  --sw-espresso-hondo:#241A14; /* fondo oscuro */
  --sw-tinta:#5B4A3D;
  --sw-greige:#7A6A5C;
  --sw-lino:#E4DBCC;
  --sw-lino-mute:#B4AB9E;
  --sw-arcilla:#A8542F;        /* enlace en claro  -> 4.63:1 sobre hueso */
  --sw-arcilla-clara:#D98E66;  /* enlace en oscuro -> 6.52:1 sobre espresso-hondo */

  --fondo:var(--sw-hueso);
  --texto:var(--sw-espresso);
  --texto-2:var(--sw-tinta);
  --texto-3:var(--sw-greige);
  --enlace:var(--sw-arcilla);
  --borde:rgba(54,41,32,.16);
  --superficie:var(--sw-hueso-puro);

  --display:"Fraunces",Georgia,"Times New Roman",serif;
  --cuerpo:"Newsreader",Georgia,"Times New Roman",serif;
  --ui:"Instrument Sans",system-ui,-apple-system,'Segoe UI',sans-serif;

  --ancho:38.75rem;
  --fs-body:1.25rem;
  --lh-body:1.62;
}
html.modo-oscuro{
  --fondo:var(--sw-espresso-hondo);
  --texto:var(--sw-hueso);
  --texto-2:var(--sw-lino);
  --texto-3:var(--sw-lino-mute);
  --enlace:var(--sw-arcilla-clara);
  --borde:rgba(245,241,234,.18);
  --superficie:#2E231B;
}
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{
  background:var(--fondo);color:var(--texto);
  font-family:var(--cuerpo);font-size:var(--fs-body);line-height:var(--lh-body);
  font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  transition:background-color .25s linear,color .25s linear;
}
img{max-width:100%;display:block}
::selection{background:rgba(168,84,47,.24);color:var(--texto)}
:focus-visible{outline:2px solid var(--enlace);outline-offset:3px;border-radius:3px}
a{color:var(--enlace);text-decoration:underline;text-underline-offset:.14em;text-decoration-thickness:.055em}
a:hover{color:var(--texto)}

.contenedor{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,26px);width:100%}
/* el texto vive en una columna de lectura pegada al borde izquierdo del wrap,
   de modo que el titular arranca en la misma vertical que el logo */
main .contenedor > *{max-width:var(--ancho)}
.contenedor.cc-articulo > *{max-width:42rem}
.cc-articulo > section:first-child{padding-top:clamp(24px,4vw,48px)}
.indice .contenedor > *{max-width:42rem}

/* ---------- Cabecera: el nav del sitio (logo + enlaces + CTA) ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(20px,5vw,26px);width:100%}
body{padding-top:78px}
@media(max-width:900px){body{padding-top:66px}}

.cabecera{position:fixed;top:0;left:0;right:0;z-index:80;background:transparent;
  border-bottom:1px solid transparent;transition:background .35s,border-color .35s}
.cabecera.scrolled{background:rgba(251,249,245,.88);backdrop-filter:saturate(140%) blur(16px);
  -webkit-backdrop-filter:saturate(140%) blur(16px);border-bottom:1px solid var(--borde)}
.modo-oscuro .cabecera.scrolled{background:rgba(36,26,20,.88)}
.cabecera .wrap{display:flex;align-items:center;gap:1rem;height:78px;transition:height .35s}
.cabecera.scrolled .wrap{height:64px}
@media(max-width:900px){.cabecera .wrap,.cabecera.scrolled .wrap{height:66px}}

.logo{display:flex;align-items:center;flex:0 0 auto;text-decoration:none}
.logo img{height:44px;width:auto;display:block;transition:height .35s}
.cabecera.scrolled .logo img{height:36px}
@media(max-width:900px){.logo img,.cabecera.scrolled .logo img{height:34px}}
.logo .logo-oscuro{display:none}
.modo-oscuro .logo .logo-claro{display:none}
.modo-oscuro .logo .logo-oscuro{display:block}

.navlinks{display:flex;gap:26px;margin-left:auto;font-family:var(--ui);font-weight:500;font-size:14px}
.navlinks a{color:var(--texto-2);text-decoration:none;position:relative;transition:color .2s;white-space:nowrap}
.navlinks a:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:0;background:var(--enlace);
  transition:width .28s cubic-bezier(.2,.7,.2,1)}
.navlinks a:hover{color:var(--texto)}
.navlinks a:hover:after{width:100%}
/* «Archivo» viaja con su clase historica: dentro del nav se comporta como un enlace mas */
.navlinks .etiqueta-archivo{border:none;border-radius:0;padding:0;margin:0;font-size:14px;font-weight:500;
  letter-spacing:normal;text-transform:none;color:var(--texto-2)}
.navlinks .etiqueta-archivo:hover{color:var(--texto)}

.nav-controles{display:flex;align-items:center;gap:.85rem;flex:0 0 auto;margin-left:26px}
@media(max-width:900px){.nav-controles{margin-left:auto}}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--sw-arcilla);
  color:var(--sw-hueso-puro);font-family:var(--ui);font-weight:600;font-size:13px;letter-spacing:.2px;
  padding:11px 22px;border-radius:999px;border:1.5px solid var(--sw-arcilla);text-decoration:none;cursor:pointer;
  white-space:nowrap;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s,color .25s}
.btn:hover{background:transparent;color:var(--enlace);transform:translateY(-2px);box-shadow:0 12px 28px rgba(54,41,32,.14)}
.btn:active{transform:translateY(0)}
.modo-oscuro .btn{background:var(--sw-arcilla-clara);border-color:var(--sw-arcilla-clara);color:var(--sw-espresso-hondo)}
.modo-oscuro .btn:hover{background:transparent;color:var(--sw-arcilla-clara)}

.burger{display:none;width:44px;height:44px;border:none;background:none;cursor:pointer;position:relative;
  -webkit-tap-highlight-color:transparent}
.burger span{position:absolute;left:10px;right:10px;top:21px;height:2px;background:var(--texto);border-radius:2px;
  transform-origin:center;transition:transform .3s cubic-bezier(.2,.7,.2,1),opacity .2s ease}
.burger span:nth-child(1){transform:translateY(-6px)}
.burger span:nth-child(3){transform:translateY(6px)}
body.menu-abierto .burger span:nth-child(1){transform:rotate(45deg)}
body.menu-abierto .burger span:nth-child(2){opacity:0;transform:scaleX(0)}
body.menu-abierto .burger span:nth-child(3){transform:rotate(-45deg)}

.mobmenu{position:fixed;inset:0;z-index:70;background:var(--superficie);display:flex;flex-direction:column;
  justify-content:center;padding:0 32px calc(40px + env(safe-area-inset-bottom));visibility:hidden;
  transform:translateY(-12px);transition:transform .34s cubic-bezier(.2,.7,.2,1),visibility 0s linear .34s}
.mobmenu.abierto{visibility:visible;transform:none;transition:transform .34s cubic-bezier(.2,.7,.2,1),visibility 0s linear 0s}
.mobmenu a{font-family:var(--display);font-weight:600;font-size:clamp(28px,7.5vw,42px);letter-spacing:-.01em;
  color:var(--texto);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--borde);
  transform:translateY(12px);transition:transform .36s cubic-bezier(.2,.7,.2,1),color .2s}
.mobmenu.abierto a{transform:none}
.mobmenu a:active{color:var(--enlace)}
.mobmenu .mm-cta{margin-top:30px;transform:translateY(12px);transition:transform .36s cubic-bezier(.2,.7,.2,1)}
.mobmenu.abierto .mm-cta{transform:none}
.mobmenu .mm-cta .btn{width:100%;font-size:16px;padding:15px 24px;color:var(--sw-hueso-puro);border-bottom:1.5px solid var(--sw-arcilla)}
.modo-oscuro .mobmenu .mm-cta .btn{color:var(--sw-espresso-hondo);border-bottom-color:var(--sw-arcilla-clara)}

@media(max-width:900px){
  .navlinks{display:none}
  .burger{display:block}
  .nav-controles > .btn{display:none}
}

/* interruptor claro/oscuro */
.interruptor{position:relative;flex:0 0 auto}
.interruptor input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:2}
.interruptor label{display:block;width:2.6rem;height:1.45rem;border-radius:999px;border:1px solid var(--borde);
  background:var(--superficie);position:relative;cursor:pointer}
.interruptor label:after{content:"";position:absolute;top:.18rem;left:.2rem;width:.95rem;height:.95rem;border-radius:50%;
  background:var(--texto);transition:transform .22s cubic-bezier(.2,.7,.2,1)}
.interruptor input:checked + label:after{transform:translateX(1.1rem)}
.interruptor input:focus-visible + label{outline:2px solid var(--enlace);outline-offset:3px}

/* boton de indice (solo articulos) */
.boton-indice{display:none;width:1.9rem;height:1.9rem;padding:.18rem;border:none;background:none;color:var(--texto);cursor:pointer}
.boton-indice svg{width:100%;height:auto;display:block}
.boton-indice .icono-cerrar{display:none}
body.indice-abierto .boton-indice .icono-cerrar{display:block}
body.indice-abierto .boton-indice .icono-menu{display:none}
body.con-indice .boton-indice{display:block}

.indice{position:fixed;top:78px;left:0;right:0;z-index:75;background:var(--fondo);max-height:0;overflow:hidden;
  transition:max-height .3s cubic-bezier(.2,.7,.2,1)}
@media(max-width:900px){.indice{top:66px}}
body.indice-abierto .indice{max-height:60vh;overflow-y:auto}
.indice .contenedor{padding-top:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--borde)}
.indice h2{font-family:var(--display);font-size:1.2em;font-weight:600;margin-bottom:.7em}
.indice ol{list-style:none;margin:0;padding:0}
.indice li{margin:0 0 .42rem}
.indice a{color:var(--texto-2);text-decoration:none;font-size:1.02rem;line-height:1.35;display:inline-block}
.indice a:hover{color:var(--enlace)}

/* ---------- Home ---------- */
main{display:block}

.kicker{display:inline-block;font-family:var(--ui);font-weight:600;font-size:11.5px;letter-spacing:1.8px;
  text-transform:uppercase;color:var(--enlace)}

.cabeza-pensamiento{padding:clamp(48px,8vw,86px) 0 clamp(26px,4vw,40px)}
.titulo-pensamiento{font-family:var(--display);font-weight:600;font-size:clamp(46px,8.5vw,92px);line-height:1.02;
  letter-spacing:-.022em;margin:.18em 0 .34em;color:var(--texto);
  font-optical-sizing:auto;font-variation-settings:"SOFT" 40,"WONK" 1}

.intro p{margin:0}
.intro-puntos{color:var(--texto-3)}
.intro-mas{cursor:pointer;font-family:var(--ui);font-size:.9rem;font-weight:600}
.intro-extra{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
.intro-extra.abierta{max-height:60rem}
.intro-extra p{margin-top:1em}
.intro.expandida .intro-puntos,.intro.expandida .intro-mas{display:none}

section{margin-top:2.4rem}
.bloque{margin-top:clamp(40px,6vw,64px);padding-top:clamp(22px,3vw,30px);border-top:1px solid var(--borde)}
.bloque.ultima{margin-bottom:clamp(56px,9vw,104px)}
h2.t3,.t3{font-family:var(--display);font-size:1.55em;font-weight:600;line-height:1.16;margin:.35em 0 .7em;
  letter-spacing:-.012em;color:var(--texto);
  font-optical-sizing:auto;font-variation-settings:"SOFT" 40,"WONK" 1}

ul.lista{list-style:none;margin:0;padding:0}
ul.lista > li{margin:0}
.fila{display:flex;align-items:baseline;gap:.7rem;padding:.72rem 0;border-bottom:1px solid var(--borde);
  color:var(--texto);text-decoration:none;transition:color .2s}
.fila:hover{color:var(--enlace)}
.fila-t{flex:1 1 auto;line-height:1.35;text-wrap:pretty}
.fila-f{flex:0 0 auto;font-family:var(--ui);color:var(--texto-3);transform:translateX(-4px);opacity:0;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),opacity .25s}
.fila:hover .fila-f{transform:none;opacity:1;color:var(--enlace)}
ul.lista > li:last-child .fila{border-bottom:none}
.fila-muda{cursor:default}
.fila-muda .fila-t{color:var(--texto-2)}
.dato-anio{flex:0 0 auto;font-family:var(--ui);font-size:.82rem;letter-spacing:.02em;color:var(--texto-3);
  white-space:nowrap;align-self:center}
.sin-enlace{color:var(--texto-2)}
@media(max-width:560px){
  .fila{flex-wrap:wrap;gap:.2rem .6rem}
  .fila-t{flex:1 1 100%}
}

/* ---------- Articulo ---------- */
.titulo-post{font-family:var(--display);font-weight:600;font-size:3.1rem;line-height:1.08;letter-spacing:-.018em;
  margin:.6em 0 .1em;text-wrap:balance;font-optical-sizing:auto;font-variation-settings:"SOFT" 40,"WONK" 1}
@media(max-width:640px){.titulo-post{font-size:2.25rem}}
.titulo-post sup{font-size:.4em;font-weight:400;vertical-align:super;line-height:0}
.subtitulo-post{font-family:var(--cuerpo);font-size:1.3rem;line-height:1.35;color:var(--texto-2);margin-bottom:.5em;text-wrap:pretty}
.fecha-post{font-family:var(--ui);font-size:.88rem;letter-spacing:.02em;color:var(--texto-3);margin-bottom:2rem}
.texto{text-wrap:pretty}
.texto p{margin:0 0 1em}
.texto h2{font-family:var(--display);font-size:1.6em;font-weight:600;line-height:1.2;margin:1.6em 0 .5em;letter-spacing:-.01em;
  font-optical-sizing:auto;font-variation-settings:"SOFT" 40,"WONK" 1;scroll-margin-top:1.5rem}
.texto h3{font-family:var(--display);font-size:1.2em;font-weight:600;line-height:1.2;margin:1.4em 0 .5em}
.texto strong{font-weight:600;color:var(--texto)}
.texto em{font-style:italic}
.texto ul,.texto ol{margin:0 0 1em 1.4rem}
.texto li{margin-bottom:.5em}
.texto blockquote{border-left:3px solid var(--enlace);padding:.2em 0 .2em 1.1rem;margin:1.6em 0;color:var(--texto);
  font-family:var(--display);font-weight:400;font-size:1.18em;line-height:1.45}
.texto sup a,.texto sup{font-size:.62em;line-height:0;vertical-align:super}
.texto hr{border:none;border-top:1px solid var(--borde);margin:2.2em 0}

.notas-pie{margin-top:3rem;margin-bottom:1.2rem}
.notas-pie ol{margin:0 0 0 1.3rem}
.notas-pie li{margin-bottom:.7em;font-size:.95rem;line-height:1.5;color:var(--texto-2)}

.volver-arriba{text-align:left;margin:2rem 0 3.4rem}
.volver-arriba a{font-family:var(--ui);font-size:.85rem}

.pie-sitio{background:var(--sw-espresso-hondo);border-top:1px solid rgba(245,241,234,.14);
  padding:48px 0 calc(34px + env(safe-area-inset-bottom));color:var(--sw-lino-mute);
  font-family:var(--ui);font-size:13px}
.foot-grid{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}
.foot-copy{color:var(--sw-lino-mute)}
.foot-links{display:flex;gap:20px;flex-wrap:wrap;font-family:var(--ui);font-size:14px}
.foot-links a{color:var(--sw-lino);text-decoration:none;transition:color .2s}
.foot-links a:hover{color:var(--sw-arcilla-clara)}

/* ---------- Formulario ---------- */
.campo{display:block;width:100%;padding:.8rem .9rem;font-family:var(--ui);font-size:1rem;color:var(--texto);
  background:var(--superficie);border:1px solid var(--borde);border-radius:6px;-webkit-appearance:none;appearance:none}
.campo::placeholder{color:var(--texto-3)}
.boton{display:block;width:100%;margin-top:.7rem;padding:.85rem 1rem;font-family:var(--ui);font-size:1rem;font-weight:600;
  color:var(--sw-hueso-puro);background:var(--sw-arcilla);border:1.5px solid var(--sw-arcilla);border-radius:6px;cursor:pointer;
  transition:background .2s,color .2s}
.boton:hover{background:transparent;color:var(--enlace)}
.aviso-form{margin-top:.8rem;font-family:var(--ui);font-size:.9rem;color:var(--texto-2)}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Archivo ---------- */
.anio-bloque{margin-top:2.2rem}
.anio-bloque h2{font-family:var(--display);font-size:1.2em;font-weight:600;margin-bottom:.6em;color:var(--texto-3)}
.tipo-etiqueta{font-family:var(--ui);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--texto-3);border:1px solid var(--borde);border-radius:999px;padding:.1rem .45rem;margin-left:.35rem;white-space:nowrap}

/* ---------- 404 ---------- */
.bloque-404{margin:4rem 0 6rem;text-align:center}
.bloque-404 .codigo{font-family:var(--display);font-size:4rem;font-weight:600;line-height:1}
