/* gamercado.me — g.a. mercado · personal site */
/* Self-hosted fonts (variable woff2, latin) */
@font-face{
  font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/fonts/inter.woff2') format('woff2');
}
@font-face{
  font-family:'Yanone Kaffeesatz';font-style:normal;font-weight:200 700;font-display:swap;
  src:url('assets/fonts/yanonekaffeesatz.woff2') format('woff2');
}

:root{
  --ink:#161412;
  --ink-soft:#6b6660;
  --red:#f5241a;
  --line:rgba(22,20,18,.16);
}
*{margin:0;padding:0;box-sizing:border-box}
body{
  background:#ffffff;color:var(--ink);
  font-family:'Inter',-apple-system,'Helvetica Neue',sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{display:block}

/* header: wordmark left · icon links centered · language right */
header{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  padding:clamp(1.25rem,3vw,2rem) clamp(1.5rem,5vw,3.5rem);
}
.wordmark{
  justify-self:start;
  font-family:'Yanone Kaffeesatz','Arial Narrow',sans-serif;font-weight:700;
  font-size:clamp(1.4rem,2.4vw,1.75rem);letter-spacing:.01em;line-height:1;
  text-decoration:none;
}
.top-social{justify-self:center;display:flex;gap:1.5rem}
.top-social a{color:var(--ink-soft);display:inline-flex;align-items:center;transition:color .3s ease}
.top-social a:hover,.top-social a:focus-visible{color:var(--red)}
.top-social svg{width:1.0625rem;height:1.0625rem;display:block}
.lang{
  justify-self:end;font-size:.6875rem;letter-spacing:.22em;font-weight:500;
  color:var(--ink-soft);text-transform:uppercase;
}
.lang a{color:var(--ink-soft);text-decoration:none;transition:color .3s ease}
.lang a:hover{color:var(--red)}
.lang .on{color:var(--ink)}
.lang .sep{margin:0 .5em;color:var(--line)}

/* hero */
.hero{padding:clamp(2.75rem,9vh,6.5rem) clamp(1.5rem,5vw,3.5rem) 1.5rem;max-width:72rem;margin:0 auto}
.hero .quote{
  font-family:'Yanone Kaffeesatz','Arial Narrow',sans-serif;font-weight:600;
  font-size:clamp(1.2rem,2.76vw,2.04rem);line-height:1.1;letter-spacing:.005em;
  max-width:40rem;margin-top:2.25rem;
}
.hero .sub{margin-top:0;font-size:1.05rem;line-height:1.6;color:var(--ink-soft);max-width:46rem}
.hero .sub{margin-top:.6rem}
.hero .sub:first-of-type{margin-top:0}
.hero .sub strong{
  font-family:'Yanone Kaffeesatz','Arial Narrow',sans-serif;font-weight:700;
  font-size:1.5rem;letter-spacing:.01em;color:var(--ink);
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* company cards */
.cards{
  display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;
  padding:0 clamp(1.5rem,5vw,3.5rem) 2.25rem;max-width:72rem;margin:0 auto;
}
.card{
  border:1px solid var(--line);border-radius:12px;padding:2rem;text-decoration:none;
  display:flex;flex-direction:column;gap:1.5rem;
  transition:border-color .3s ease,transform .3s ease;
}
.card:hover,.card:focus-visible{border-color:var(--ink);transform:translateY(-4px)}
.card img{width:auto;align-self:flex-start}
.card img.med{height:2.75rem}
.card img.ea{height:3.63rem}
.card .roles{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  font-family:'Yanone Kaffeesatz','Arial Narrow',sans-serif;font-weight:600;
  font-size:clamp(1.4rem,2.4vw,1.85rem);line-height:1.1;letter-spacing:.01em;
}
.card .go{flex:none;color:var(--ink-soft);transition:color .3s ease}
.card .go svg{width:1.25rem;height:1.25rem;display:block;transition:transform .3s ease}
.card:hover .go{color:var(--red)}
.card:hover .go svg{transform:translate(2px,-2px)}

/* footer */
footer{padding:1.75rem clamp(1.5rem,5vw,3.5rem) 3rem;text-align:center}
.social{display:flex;justify-content:center;gap:1.5rem;margin-bottom:1.5rem}
.social a{color:var(--ink-soft);display:inline-flex;align-items:center;transition:color .3s ease}
.social a:hover,.social a:focus-visible{color:var(--red)}
.social svg{width:1.0625rem;height:1.0625rem;display:block}
.social svg.imdb{width:auto;height:1.0625rem}
.legal{font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}

@media(max-width:48rem){
  .hero .sub{font-size:1rem}
  .hero .sub strong{font-size:1.3rem}
  .cards{grid-template-columns:1fr}
  .hero{padding-top:2rem}
  .top-social{gap:1.125rem}
}

/* hero hierarchy variants */
.hero .bio{max-width:none}
.hero .sub{margin-top:1rem;max-width:none;white-space:nowrap}
.hero .qrow{display:flex;align-items:center;gap:3rem;margin-top:3rem}
.hero .photo{
  flex:none;width:1.8rem;height:1.8rem;border-radius:50%;background:#f0ede9;
  display:flex;align-items:center;justify-content:center;
  font-family:'Yanone Kaffeesatz',sans-serif;font-weight:700;font-size:2.1rem;color:var(--ink-soft);
  overflow:hidden;
}
.hero .photo img{width:100%;height:100%;object-fit:cover}
@media(max-width:48rem){
  .hero .sub{white-space:normal}
  .hero .qrow{flex-direction:column;align-items:flex-start;gap:1.75rem;margin-top:2.5rem}
  .hero .photo{width:1.4rem;height:1.4rem}
}

.hero .sub{font-size:1.1rem}
.hero .sub strong{font-size:1.9rem;color:var(--ink)}
.hero .quote{font-size:clamp(1.35rem,2.2vw,1.75rem);max-width:38rem;margin-top:0;color:#3d3935}

@media(max-width:48rem){
  .hero .sub strong{font-size:1.45rem}
}

/* v12: centered quote + doubled photo */
.hero .qrow{flex-direction:column;align-items:center;gap:1.25rem;text-align:center}
.hero .quote{color:var(--ink-soft);margin-left:auto;margin-right:auto}
.hero .photo{width:3.6rem;height:3.6rem}
@media(max-width:48rem){
  .hero .qrow{align-items:center;text-align:center}
  .hero .photo{width:2.8rem;height:2.8rem}
}

/* v13: open-quote mark */
.hero .qmark{display:block;color:#cc1f16;margin:0 auto .75rem}
.hero .qmark svg{width:1.4rem;height:1.4rem;display:block;margin:0 auto}

/* v14: name under portrait */
.hero .qname{
  font-family:'Yanone Kaffeesatz','Arial Narrow',sans-serif;font-weight:600;
  font-size:1.1rem;letter-spacing:.02em;color:var(--ink);margin-top:-.25rem;
}

/* v17: centered card content, arrow pinned bottom-right */
.card{position:relative;align-items:center;text-align:center}
.card img{align-self:center}
.card .roles{display:block}
.card .go{position:absolute;right:1.25rem;bottom:1.25rem;margin-top:0}
