/* Base compartida de las páginas internas (Trabajos y legales). La portada lleva su CSS dentro de index.html. */
:root{
  color-scheme:dark;
  --obs:#0a0d0c;--obs-2:#111614;--obs-3:#19201d;
  --hueso:#ece6da;--ceniza:#9aa39e;
  --maiz:#e7c25d;--maiz-2:#f4dc95;--maiz-rgb:231,194,93;
  --jade:#6fd6a4;
  --linea:rgba(236,230,218,.11);--linea-2:rgba(236,230,218,.2);
  --sans:"Inter Tight",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --gutter-l:max(20px,env(safe-area-inset-left,0px));--gutter-r:max(20px,env(safe-area-inset-right,0px));
}
*{box-sizing:border-box}
html{background:var(--obs);scroll-behavior:smooth;overflow-x:clip}
body{margin:0;background:var(--obs);color:var(--hueso);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit}
h1,h2,h3,p,ul{margin:0}
h1,h2,h3{text-wrap:balance;font-weight:800;letter-spacing:-.045em;line-height:.95}
em.s{font-family:var(--serif);font-weight:400;font-style:italic;letter-spacing:-.01em;color:var(--maiz)}
:focus-visible{outline:2px solid var(--maiz);outline-offset:3px;border-radius:4px}
.wrap{max-width:1320px;margin:0 auto;padding-left:var(--gutter-l);padding-right:var(--gutter-r)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ceniza);font-weight:500}
.eyebrow b{font-family:var(--serif);font-style:italic;font-weight:400;font-size:20px;letter-spacing:0;text-transform:none;color:var(--maiz)}
.salto{position:absolute;left:12px;top:-60px;z-index:100;background:var(--maiz);color:var(--obs);padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none}
.salto:focus{top:12px}
.grano{position:fixed;inset:0;pointer-events:none;z-index:55;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:var(--dl,0s)}
.js .rv.in{opacity:1;transform:none}

/* barra */
.barra{position:sticky;top:0;z-index:40;padding-top:env(safe-area-inset-top,0px);background:rgba(10,13,12,.78);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border-bottom:1px solid var(--linea)}
.barra .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:800;font-size:18px;letter-spacing:-.035em;min-height:44px;white-space:nowrap}
.marca svg{width:36px;height:36px;flex:none}
.marca small{font-family:var(--serif);font-style:italic;font-weight:400;font-size:19px;letter-spacing:0;color:var(--maiz)}
.barra nav{display:flex;align-items:center;gap:2px}
.barra nav a.l{text-decoration:none;font-size:14.5px;color:var(--ceniza);padding:12px 11px;border-radius:8px}
.barra nav a.l:hover,.barra nav a.l[aria-current]{color:var(--hueso)}
.hamb{display:none;width:44px;height:44px;border-radius:50%;border:1px solid var(--linea-2);background:transparent;color:var(--hueso);cursor:pointer;position:relative;margin-left:8px}
.hamb span{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .6s var(--ease),top .6s var(--ease)}
.hamb span:nth-child(1){top:18px}.hamb span:nth-child(2){top:25px}
.menu-abierto .hamb span:nth-child(1){top:21.5px;transform:rotate(45deg)}
.menu-abierto .hamb span:nth-child(2){top:21.5px;transform:rotate(-45deg)}
.panel{position:fixed;inset:0;z-index:39;background:var(--obs);padding:calc(100px + env(safe-area-inset-top,0px)) var(--gutter-r) 40px var(--gutter-l);display:flex;flex-direction:column;gap:4px;opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s;overflow-y:auto}
.menu-abierto .panel{opacity:1;visibility:visible}
.menu-abierto{overflow:hidden}
.panel a{text-decoration:none;font-size:34px;font-weight:800;letter-spacing:-.045em;padding:10px 0;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;align-items:baseline}
.panel a i{font-family:var(--serif);font-weight:400;font-size:20px;color:var(--maiz)}
.panel .btn{margin-top:24px;font-size:16px;letter-spacing:0;border-bottom:0;justify-content:center}
@media (max-width:1140px){.barra nav a.l{display:none}.hamb{display:block}}
@media (max-width:520px){.barra nav .btn.chico{display:none}}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;text-decoration:none;font-weight:600;font-size:16px;padding:14px 22px;border-radius:999px;border:0;cursor:pointer;font-family:inherit;white-space:nowrap;line-height:1.2;transition:transform .2s var(--ease),background .2s}
.btn:active{transform:scale(.97)}
.btn.prim{background:var(--maiz);color:var(--obs);box-shadow:0 10px 40px -12px rgba(var(--maiz-rgb),.55)}
.btn.prim:hover{background:var(--maiz-2)}
.btn.alt{background:rgba(236,230,218,.06);color:var(--hueso);border:1px solid var(--linea-2)}
.btn.alt:hover{background:rgba(236,230,218,.12)}
.btn.chico{min-height:44px;padding:10px 18px;font-size:14.5px}
.btn svg{width:18px;height:18px;flex:none}

/* cabecera de página interna */
.cab{padding-block:clamp(72px,9vw,130px) clamp(40px,5vw,72px);position:relative;isolation:isolate}
.cab::before{content:"";position:absolute;inset:-30% -10% auto auto;width:60vw;height:60vw;max-width:800px;max-height:800px;border-radius:50%;background:radial-gradient(circle,rgba(var(--maiz-rgb),.12),transparent 62%);filter:blur(20px);z-index:-1}
.cab h1{font-size:clamp(48px,8vw,128px);letter-spacing:-.055em;line-height:.9;margin-top:22px;max-width:14ch}
.cab p{color:var(--ceniza);font-size:clamp(17px,1.4vw,20px);max-width:52ch;margin-top:26px}

/* pie */
footer{border-top:1px solid var(--linea);padding-block:44px calc(44px + env(safe-area-inset-bottom,0px));color:var(--ceniza);font-size:14px;margin-top:clamp(72px,9vw,120px)}
footer .wrap{display:grid;gap:22px}
footer .fila{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px 32px;align-items:center}
footer a{text-decoration:none}
footer a:hover{color:var(--hueso)}
footer nav{display:flex;gap:8px 20px;flex-wrap:wrap}
footer .legal{padding-top:22px;border-top:1px solid var(--linea);font-size:13px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* idioma */
.idioma{display:inline-flex;align-items:center;gap:3px;min-height:44px;padding:0 13px;margin-left:8px;border-radius:999px;border:1px solid var(--linea-2);text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.1em;color:var(--ceniza);transition:border-color .2s,color .2s}
.idioma b{color:var(--maiz);font-weight:700}
.idioma i{font-style:normal;opacity:.4}
.idioma:hover{border-color:rgba(var(--maiz-rgb),.6);color:var(--hueso)}
.panel a.idioma-panel{color:var(--ceniza)}
