*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

:root {
  --color-negro:       #0A0A08;
  --color-grafito:     #1E1E1A;
  --color-grafito-2:   #131310;
  --color-linea:       #2A2A25;
  --color-humo:        #6B6B62;
  --color-ceniza:      #8A8A80;
  --color-piedra:      #B8B8AE;
  --color-marfil:      #F0EDE0;
  --color-dorado:      #C9A84C;
  --color-dorado-deep: #A88A3A;
  --color-dorado-hover:#D7B860;

  /* Semánticas — dark mode por defecto */
  --bg-body:       #0A0A08;
  --bg-section:    #1E1E1A;
  --bg-section2:   #131310;
  --bg-card:       #1E1E1A;
  --bg-form:       #0A0A08;
  --text-primary:  #F0EDE0;
  --text-secondary:#B8B8AE;
  --text-muted:    #6B6B62;
  --border-color:  #2A2A25;
  --nav-bg:        rgba(10,10,8,0.92);

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-ui:      'Josefin Sans', sans-serif;
  --font-body:    'Source Serif 4', Georgia, serif;

  --fs-xs:   10px;
  --fs-sm:   12px;
  --fs-base: 15px;
  --fs-md:   18px;
  --fs-lg:   24px;
  --fs-xl:   32px;
  --fs-2xl:  42px;
  --fs-3xl:  52px;
  --fs-4xl:  72px;
  --fs-hero: 96px;

  --nav-h: 68px;
  --max-w: 1280px;
  --gutter: clamp(24px, 5vw, 80px);
}

[data-theme="light"] {
  --bg-body:       #F5F3EC;
  --bg-section:    #EAE7DC;
  --bg-section2:   #E0DDD4;
  --bg-card:       #EAE7DC;
  --bg-form:       #F5F3EC;
  --text-primary:  #0A0A08;
  --text-secondary:#2A2A25;
  --text-muted:    #525249;  /* era #7A7A70 — subido para contraste mínimo 4.5:1 */
  --border-color:  #B8B5A0;
  --nav-bg:        rgba(245,243,236,0.97);
  --color-linea:   #C8C5B0;
  --color-marfil:  #0A0A08;  /* headings y texto destacado → negro en light */
  --color-humo:    #525249;  /* era #7A7A70 — textos secundarios legibles */
  --color-ceniza:  #3A3A35;  /* era #5A5A55 */
  --color-piedra:  #2A2A25;  /* era #3A3A35 */
}

/* ── THEME TOGGLE ── */
.theme-toggle {
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text-muted);
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  transition: border-color 0.2s, color 0.2s;
  flex-shrink: 0;
}
.theme-toggle:hover {
  border-color: var(--color-dorado);
  color: var(--color-dorado);
}

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-ui);
  background: var(--bg-body);
  color: var(--text-primary);
  line-height: 1.7;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  transition: background 0.35s ease, color 0.35s ease;
}

/* Transición suave al cambiar tema — excluye imágenes y elementos con transform */
body, header, nav, section, article, aside, footer, div, span, p, h1, h2, h3, h4, h5, a, button, input, textarea, label {
  transition: background-color 0.35s ease, border-color 0.35s ease, color 0.35s ease;
}

/* ── REVEAL ANIMATION ── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.is-visible {
  opacity: 1;
  transform: none;
}

/* ── NAV ── */
.lql-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  height: var(--nav-h);
  transition: background 0.4s, border-color 0.4s;
  border-bottom: 1px solid transparent;
}
.lql-nav.is-scrolled {
  background: var(--nav-bg);
  backdrop-filter: blur(16px);
  border-color: var(--color-linea);
}
.lql-nav-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  height: 100%;
  display: flex;
  align-items: center;
  gap: 32px;
}
.lql-mark {
  display: flex;
  align-items: center;
  text-decoration: none;
  cursor: pointer;
}
.lql-logo-img {
  height: 36px;
  width: auto;
  display: block;
}
.lql-nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-left: auto;
}
.lql-nav-links a {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-ceniza);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
}
.lql-nav-links a:hover,
.lql-nav-links a.active { color: var(--color-marfil); }
.lql-nav-cta {
  display: flex;
  align-items: center;
  gap: 20px;
}
.lang {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
  cursor: pointer;
}
.lang b { color: var(--color-marfil); }

/* ── BUTTON ── */
.lql-btn {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-marfil);
  background: transparent;
  border: 1px solid var(--color-linea);
  padding: 10px 20px;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
  white-space: nowrap;
}
.lql-btn:hover {
  border-color: var(--color-dorado);
  color: var(--color-dorado);
}
.lql-btn.solid {
  background: var(--color-dorado);
  border-color: var(--color-dorado);
  color: var(--color-negro);
}
.lql-btn.solid:hover {
  background: var(--color-dorado-hover);
  border-color: var(--color-dorado-hover);
  color: var(--color-negro);
}
.arr { display: inline-block; margin-left: 4px; }

/* ── HERO ── */
.lql-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
}
.lql-hero-stage { position: absolute; inset: 0; }
.lql-hero-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 1.2s ease;
}
.lql-hero-img.is-active { opacity: 1; }
.lql-hero-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,10,8,0.3) 0%,
    rgba(10,10,8,0.1) 30%,
    rgba(10,10,8,0.5) 70%,
    rgba(10,10,8,0.85) 100%
  );
}
.lql-hero-counter {
  position: absolute;
  top: calc(var(--nav-h) + 28px);
  right: var(--gutter);
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.2em;
  color: var(--color-piedra);
  z-index: 2;
}
.lql-hero-counter b { color: var(--color-marfil); font-weight: 400; }
.lql-hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 var(--gutter) 120px;
  z-index: 2;
  max-width: var(--max-w);
  margin: 0 auto;
  left: 0; right: 0;
}
.lql-hero-stamp {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.lql-hero-stamp .tick {
  display: block;
  width: 20px; height: 1px;
  background: var(--color-dorado);
}
.lql-hero-stamp .eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-dorado);
}
.lql-hero-title {
  font-family: var(--font-display);
  font-size: clamp(52px, 7vw, var(--fs-hero));
  font-weight: 300;
  line-height: 1.05;
  color: var(--color-marfil);
  max-width: 12ch;
  margin-bottom: 28px;
}
.lql-hero-title em {
  font-style: italic;
  color: var(--color-dorado);
}
.lql-hero-meta {
  display: flex;
  align-items: flex-end;
  gap: 40px;
}
.lql-hero-meta .cap {
  font-family: var(--font-body);
  font-size: var(--fs-md);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  max-width: 40ch;
  line-height: 1.5;
}
.lql-hero-meta .who {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
  white-space: nowrap;
  padding-bottom: 4px;
}
.lql-hero-meta .who b { color: var(--color-ceniza); }
.lql-hero-footer {
  position: absolute;
  bottom: 36px;
  left: 0; right: 0;
  padding: 0 var(--gutter);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
  max-width: var(--max-w);
  margin: 0 auto;
}
.lql-hero-index {
  display: flex;
  gap: 8px;
  align-items: center;
}
.lql-hero-index .dot {
  width: 24px; height: 2px;
  background: var(--color-linea);
  cursor: pointer;
  transition: background 0.3s, width 0.3s;
}
.lql-hero-index .dot.active {
  background: var(--color-dorado);
  width: 40px;
}
.lql-hero-scroll {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

/* ── MANIFESTO ── */
.lql-manifesto {
  padding: 120px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
}
.lql-manifesto-grid {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 60px;
  align-items: start;
  border-top: 1px solid var(--color-linea);
  padding-top: 60px;
}
.lql-manifesto-label {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.lql-manifesto-label span {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.lql-manifesto-label .year {
  color: var(--color-dorado);
}
.lql-manifesto-quote {
  font-family: var(--font-display);
  font-size: clamp(26px, 3.5vw, 42px);
  font-weight: 300;
  font-style: italic;
  line-height: 1.4;
  color: var(--color-marfil);
}
.lql-manifesto-quote em {
  font-style: normal;
  color: var(--color-piedra);
}
.lql-manifesto-sig {
  margin-top: 32px;
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.lql-manifesto-sig b { color: var(--color-ceniza); }

/* ── SECTION COMMON ── */
.sec {
  padding: 100px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
}
.sec-head {
  margin-bottom: 64px;
}
.sec-num {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 16px;
}
.sec-title {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, var(--fs-3xl));
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-marfil);
  margin-bottom: 24px;
}
.sec-title em { font-style: italic; }
.sec-head .link {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-dorado);
  text-decoration: none;
  cursor: pointer;
}

/* ── GALERÍAS FEATURE ── */
.lql-galeria-feature {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 60px;
  margin-bottom: 80px;
  align-items: start;
}
.lql-galeria-feature-img {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}
.lql-galeria-feature-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.lql-galeria-feature:hover .lql-galeria-feature-img img {
  transform: scale(1.04);
}
.lql-galeria-feature-img .stamp {
  position: absolute;
  bottom: 16px; left: 16px;
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-marfil);
  background: rgba(10,10,8,0.6);
  padding: 6px 12px;
  border: 1px solid var(--color-linea);
}
.lql-galeria-feature-body {
  padding-top: 8px;
}
.lql-galeria-feature-eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 16px;
}
.lql-galeria-feature-title {
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 300;
  line-height: 1.15;
  color: var(--color-marfil);
  margin-bottom: 20px;
}
.lql-galeria-feature-cap {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.6;
  margin-bottom: 32px;
}
.lql-galeria-feature-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 36px;
  padding: 24px 0;
  border-top: 1px solid var(--color-linea);
  border-bottom: 1px solid var(--color-linea);
}
.lql-galeria-feature-meta .cell {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lql-galeria-feature-meta .cell span {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.lql-galeria-feature-meta .cell b {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: 300;
  color: var(--color-marfil);
}

/* ── GALERÍAS GRID ── */
.lql-galeria-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.gcard {
  cursor: pointer;
}
.gcard .frame {
  position: relative;
  overflow: hidden;
  margin-bottom: 14px;
}
.gcard.ratio-4-3 .frame { aspect-ratio: 4/3; }
.gcard.ratio-3-4 .frame { aspect-ratio: 3/4; }
.gcard.ratio-1-1 .frame { aspect-ratio: 1; }
.gcard.ratio-16-9 .frame { aspect-ratio: 16/9; }
.gcard .frame img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.gcard:hover .frame img { transform: scale(1.05); }
.gcard .pill {
  position: absolute;
  bottom: 12px; left: 12px;
  font-family: var(--font-ui);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-marfil);
  background: rgba(10,10,8,0.65);
  border: 1px solid rgba(240,237,224,0.15);
  padding: 4px 10px;
}
.gcard .info .year {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 4px;
}
.gcard .info .ttl {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 300;
  color: var(--color-marfil);
  line-height: 1.2;
  margin-bottom: 6px;
}
.gcard .info .count {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-dorado);
}
.gcard .info .loc {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-top: 4px;
}
.gcard.span-2 { grid-column: span 2; }
.gcard.offset-down { margin-top: 60px; }

/* ── PRINTS ── */
.lql-prints {
  background: var(--color-grafito-2, #131310);
  padding: 100px 0;
}
.lql-prints-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.lql-prints-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
  margin-bottom: 64px;
}
.lql-prints-head .eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 16px;
}
.lql-prints-head h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 5vw, 64px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-marfil);
}
.lql-prints-head .lede {
  max-width: 40ch;
}
.lql-prints-head .lede p {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.7;
  margin-bottom: 12px;
}
.lql-prints-head .lede p em { font-style: normal; color: var(--color-ceniza); }
.lql-prints-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-bottom: 64px;
}
.print-card { cursor: pointer; }
.print-card .pframe {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  margin-bottom: 16px;
  background: var(--color-grafito);
}
.print-card .pframe img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.print-card:hover .pframe img { transform: scale(1.04); }
.print-card .edition {
  position: absolute;
  top: 14px; right: 14px;
  font-family: var(--font-ui);
  font-size: 9px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--color-dorado);
  color: var(--color-negro);
  padding: 4px 10px;
}
.print-card .pinfo { padding: 0 2px; }
.print-card .pno {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 6px;
}
.print-card .pt {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--color-marfil);
  line-height: 1.2;
  margin-bottom: 8px;
}
.print-card .pprice {
  font-family: var(--font-ui);
  font-size: var(--fs-sm);
  font-weight: 400;
  letter-spacing: 0.1em;
  color: var(--color-dorado);
  margin-bottom: 6px;
}
.print-card .pmeta {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.12em;
  color: var(--color-humo);
  display: flex;
  gap: 8px;
}
.lql-prints-foot {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding-top: 48px;
  border-top: 1px solid var(--color-linea);
  margin-bottom: 48px;
}
.lql-prints-foot .fact {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.lql-prints-foot .fact b {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-dorado);
}
.lql-prints-foot .fact {
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.6;
}

/* ── DIARIO ── */
.lql-diario-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 60px;
}
.post-main .pframe {
  aspect-ratio: 4/3;
  overflow: hidden;
  margin-bottom: 20px;
}
.post-main .pframe img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.post-main:hover .pframe img { transform: scale(1.04); }
.post-main .meta,
.post-row .meta {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 12px;
  display: flex;
  gap: 8px;
  align-items: center;
}
.post-main .meta b,
.post-row .meta b { color: var(--color-dorado); }
.post-main .meta .dot,
.post-row .meta .dot { color: var(--color-linea); }
.post-main h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 300;
  line-height: 1.2;
  color: var(--color-marfil);
  margin-bottom: 12px;
}
.post-main .excerpt {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.65;
  margin-bottom: 20px;
}
.post-main .readmore {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-dorado);
  text-decoration: none;
  cursor: pointer;
}
.post-side {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-top: 4px;
}
.post-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 16px;
  cursor: pointer;
}
.post-row .thumb {
  aspect-ratio: 4/3;
  overflow: hidden;
}
.post-row .thumb img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
.post-row:hover .thumb img { transform: scale(1.06); }
.post-row h4 {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 300;
  color: var(--color-marfil);
  line-height: 1.3;
  margin-bottom: 6px;
}
.post-row .snip {
  font-family: var(--font-body);
  font-size: 13px;
  font-style: italic;
  font-weight: 300;
  color: var(--color-humo);
  line-height: 1.5;
}

/* ── STUDIO / ABOUT ── */
.lql-studio {
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 80px;
  padding: 100px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
  align-items: start;
}
.studio-portrait {
  position: relative;
}
.studio-portrait img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  display: block;
}
.studio-portrait .caption {
  position: absolute;
  bottom: -28px; left: 0;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.studio-body .eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 20px;
}
.studio-body h2 {
  font-family: var(--font-display);
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-marfil);
  margin-bottom: 28px;
}
.bio {
  margin-bottom: 40px;
}
.bio p {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.75;
  margin-bottom: 16px;
}
.stats {
  display: flex;
  gap: 40px;
  margin-bottom: 40px;
  padding: 28px 0;
  border-top: 1px solid var(--color-linea);
  border-bottom: 1px solid var(--color-linea);
}
.stats .s {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-humo);
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.stats .s b {
  font-family: var(--font-display);
  font-size: 40px;
  font-weight: 300;
  color: var(--color-marfil);
  line-height: 1;
}

/* ── CONTACTO ── */
.lql-contacto {
  background: var(--color-grafito);
  padding: 100px 0;
}
.lql-contacto-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
}
.contacto-left .eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 20px;
}
.contacto-left h2 {
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  font-weight: 300;
  line-height: 1.1;
  color: var(--color-marfil);
  margin-bottom: 20px;
}
.contacto-left h2 em { font-style: italic; color: var(--color-dorado); }
.contacto-left .lede {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  line-height: 1.7;
  margin-bottom: 48px;
  max-width: 42ch;
}
.channels {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.channel {
  display: flex;
  align-items: baseline;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--color-linea);
  cursor: pointer;
}
.channel:hover .val { color: var(--color-marfil); }
.channel .lab {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-humo);
  min-width: 80px;
}
.channel .val {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 300;
  color: var(--color-ceniza);
  flex: 1;
  transition: color 0.2s;
}
.channel .hint {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-dorado);
}

/* Form */
.contacto-form {
  background: var(--color-negro);
  padding: 40px;
}
.contacto-form.sent {
  text-align: center;
  padding: 80px 40px;
}
.feye {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 12px;
}
.contacto-form h3 {
  font-family: var(--font-display);
  font-size: 28px;
  font-weight: 300;
  color: var(--color-marfil);
  margin-bottom: 32px;
}
.contacto-form .big {
  font-family: var(--font-display);
  font-size: 52px;
  font-weight: 300;
  color: var(--color-marfil);
  margin-bottom: 20px;
}
.field {
  margin-bottom: 20px;
}
.field label {
  display: block;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--color-humo);
  margin-bottom: 8px;
}
.field input,
.field textarea {
  width: 100%;
  background: var(--color-grafito);
  border: 1px solid var(--color-linea);
  color: var(--color-marfil);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  padding: 12px 16px;
  outline: none;
  resize: none;
  transition: border-color 0.2s;
}
.field input:focus,
.field textarea:focus {
  border-color: var(--color-dorado);
}
.field input::placeholder,
.field textarea::placeholder {
  color: var(--color-humo);
}
.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 20px;
}
.field-row .field { margin-bottom: 0; }
.pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.pill {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--color-ceniza);
  background: transparent;
  border: 1px solid var(--color-linea);
  padding: 8px 16px;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}
.pill:hover { border-color: var(--color-humo); color: var(--color-marfil); }
.pill.active {
  border-color: var(--color-dorado);
  color: var(--color-dorado);
}
.submit-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid var(--color-linea);
}
.tiny {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--color-humo);
  line-height: 1.6;
}

/* ── NEWSLETTER ── */
.lql-news {
  padding: 100px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
  border-top: 1px solid var(--color-linea);
}
.lql-news h3 {
  font-family: var(--font-display);
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 300;
  font-style: italic;
  color: var(--color-piedra);
  max-width: 60ch;
  line-height: 1.5;
  margin-bottom: 40px;
}
.lql-news form {
  display: flex;
  gap: 0;
  max-width: 480px;
}
.lql-news form input {
  flex: 1;
  background: var(--color-grafito);
  border: 1px solid var(--color-linea);
  border-right: none;
  color: var(--color-marfil);
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  padding: 12px 20px;
  outline: none;
}
.lql-news form input::placeholder { color: var(--color-humo); }
.lql-news form input:focus { border-color: var(--color-dorado); }
.lql-news form button {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  background: var(--color-dorado);
  color: var(--color-negro);
  border: 1px solid var(--color-dorado);
  padding: 12px 24px;
  cursor: pointer;
  transition: background 0.2s;
  white-space: nowrap;
}
.lql-news form button:hover { background: var(--color-dorado-hover); }
.news-done {
  font-family: var(--font-ui);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--color-dorado);
}

/* ── FOOTER ── */
.lql-footer {
  background: var(--color-grafito-2, #131310);
  padding: 80px 0 0;
  border-top: 1px solid var(--color-linea);
}
.lql-footer-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 var(--gutter);
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  padding-bottom: 64px;
}
.lql-footer-brand .big {
  font-family: var(--font-display);
  font-size: 26px;
  font-weight: 300;
  color: var(--color-marfil);
  margin-bottom: 12px;
}
.lql-footer-brand .big em {
  font-style: italic;
  color: var(--color-dorado);
}
.lql-footer-brand .tag {
  font-family: var(--font-body);
  font-size: 13px;
  font-style: italic;
  font-weight: 300;
  color: var(--color-humo);
  line-height: 1.6;
  max-width: 30ch;
}
.lql-footer h5 {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-ceniza);
  margin-bottom: 20px;
}
.lql-footer ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.lql-footer ul li a {
  font-family: var(--font-ui);
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: var(--color-humo);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.2s;
}
.lql-footer ul li a:hover { color: var(--color-piedra); }
.lql-footer-foot {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 24px var(--gutter);
  border-top: 1px solid var(--color-linea);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.lql-footer-foot div,
.lql-footer-foot a {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-humo);
  text-decoration: none;
}
.lql-footer-foot a:hover { color: var(--color-piedra); }
.lql-footer-foot .pairs {
  display: flex;
  gap: 24px;
}

/* ── GALERÍA PAGE ── */
.galeria-hero {
  position: relative;
  height: 70vh;
  min-height: 480px;
  overflow: hidden;
}
.galeria-hero-img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
}
.galeria-hero-img::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(10,10,8,0.2) 0%,
    rgba(10,10,8,0.05) 35%,
    rgba(10,10,8,0.55) 65%,
    rgba(10,10,8,0.92) 100%
  );
}
.galeria-hero-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 0 var(--gutter) 56px;
  max-width: var(--max-w);
  margin: 0 auto;
  z-index: 2;
}
.galeria-hero-eye {
  font-family: var(--font-ui);
  font-size: var(--fs-xs);
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-dorado);
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.galeria-hero-eye::before {
  content: '';
  display: block;
  width: 20px; height: 1px;
  background: var(--color-dorado);
  flex-shrink: 0;
}
.galeria-hero-title {
  font-family: var(--font-display);
  font-size: clamp(42px, 6vw, 80px);
  font-weight: 300;
  line-height: 1.05;
  color: var(--color-marfil);
  margin-bottom: 28px;
}
.galeria-hero-meta {
  display: flex;
  gap: 40px;
  align-items: flex-end;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.12);
}
.galeria-hero-meta .item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.galeria-hero-meta .item span {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.galeria-hero-meta .item b {
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 300;
  color: var(--color-piedra);
}
.galeria-breadcrumb {
  padding: 18px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid var(--color-linea);
}
.galeria-breadcrumb a,
.galeria-breadcrumb span {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--color-humo);
  text-decoration: none;
  transition: color 0.2s;
}
.galeria-breadcrumb a:hover { color: var(--color-piedra); }
.galeria-breadcrumb .sep { color: var(--color-linea); }
.galeria-breadcrumb .current { color: var(--color-ceniza); }
.galeria-content {
  padding: 80px var(--gutter);
  max-width: var(--max-w);
  margin: 0 auto;
}
.galeria-loading {
  text-align: center;
  padding: 60px 0;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--color-humo);
}
.galeria-empty {
  text-align: center;
  padding: 80px 0;
}
.galeria-empty p {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  color: var(--color-humo);
}
.galeria-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.galeria-photo-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  background: var(--color-grafito);
  aspect-ratio: 4/3;
}
.galeria-photo-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.galeria-photo-item:hover img { transform: scale(1.05); }
.galeria-photo-overlay {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 48px 16px 14px;
  background: linear-gradient(to top, rgba(10,10,8,0.82) 0%, transparent 100%);
  opacity: 0;
  transition: opacity 0.3s;
}
.galeria-photo-item:hover .galeria-photo-overlay { opacity: 1; }
.galeria-photo-overlay span {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: 300;
  color: var(--color-marfil);
}

/* Lightbox */
.gal-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(10,10,8,0.97);
  z-index: 500;
  align-items: center;
  justify-content: center;
}
.gal-lightbox.is-open { display: flex; }
.gal-lightbox-img {
  max-width: min(90vw, 1200px);
  max-height: 85vh;
  object-fit: contain;
  display: block;
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
}
.gal-lightbox-close {
  position: fixed;
  top: 24px; right: 24px;
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-humo);
  background: transparent;
  border: 1px solid var(--color-linea);
  padding: 8px 16px;
  cursor: pointer;
  transition: color 0.2s, border-color 0.2s;
  z-index: 501;
}
.gal-lightbox-close:hover { color: var(--color-marfil); border-color: var(--color-ceniza); }
.gal-lightbox-nav {
  position: fixed;
  top: 50%; transform: translateY(-50%);
  background: transparent;
  border: 1px solid var(--color-linea);
  color: var(--color-ceniza);
  width: 48px; height: 48px;
  cursor: pointer;
  font-size: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 501;
  transition: color 0.2s, border-color 0.2s;
}
.gal-lightbox-nav:hover { color: var(--color-marfil); border-color: var(--color-ceniza); }
.gal-lightbox-prev { left: 24px; }
.gal-lightbox-next { right: 24px; }
.gal-lightbox-info {
  position: fixed;
  bottom: 32px; left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 501;
  white-space: nowrap;
}
.gal-lightbox-info .lb-caption {
  font-family: var(--font-body);
  font-size: var(--fs-base);
  font-style: italic;
  font-weight: 300;
  color: var(--color-piedra);
  margin-bottom: 6px;
}
.gal-lightbox-info .lb-counter {
  font-family: var(--font-ui);
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.2em;
  color: var(--color-humo);
}

/* Light mode overrides galería */
[data-theme="light"] .galeria-breadcrumb { border-color: var(--border-color); }
[data-theme="light"] .galeria-photo-item { background: var(--bg-card); }

/* Responsive galería */
@media (max-width: 1024px) {
  .galeria-photo-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .galeria-hero { height: 55vh; }
  .galeria-hero-meta { flex-wrap: wrap; gap: 20px; }
  .galeria-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 6px; }
  .gal-lightbox-prev { left: 12px; }
  .gal-lightbox-next { right: 12px; }
}

/* ── LIGHT MODE OVERRIDES ── */
[data-theme="light"] body { background: var(--bg-body); color: var(--text-primary); }

[data-theme="light"] .lql-nav {
  background: var(--nav-bg);
  border-bottom: 1px solid var(--border-color);
}
[data-theme="light"] .lql-nav.is-scrolled {
  background: var(--nav-bg);
  border-color: var(--border-color);
}
[data-theme="light"] .lql-nav-links a { color: var(--color-ceniza); }
[data-theme="light"] .lql-nav-links a:hover,
[data-theme="light"] .lql-nav-links a.active { color: var(--text-primary); }
[data-theme="light"] .lql-btn { color: var(--text-primary); border-color: var(--border-color); }
[data-theme="light"] .lang { color: var(--color-humo); }
[data-theme="light"] .lang b { color: var(--text-primary); }
[data-theme="light"] .lql-logo-img { filter: brightness(0); }
[data-theme="light"] .theme-toggle { color: var(--color-humo); border-color: var(--border-color); }

[data-theme="light"] .lql-manifesto { background: var(--bg-body); }
[data-theme="light"] .lql-manifesto-quote { color: var(--text-primary); }
[data-theme="light"] .lql-manifesto-quote em { color: var(--color-piedra); }
[data-theme="light"] .lql-manifesto-grid { border-color: var(--border-color); }
[data-theme="light"] .lql-manifesto-label span { color: var(--color-humo); }
[data-theme="light"] .lql-manifesto-sig { color: var(--color-humo); }
[data-theme="light"] .lql-manifesto-sig b { color: var(--color-ceniza); }

[data-theme="light"] .sec { background: var(--bg-body); }
[data-theme="light"] .sec-title { color: var(--text-primary); }
[data-theme="light"] .sec-num { color: var(--color-humo); }
[data-theme="light"] .sec-head .link { color: var(--color-dorado); }

[data-theme="light"] .gcard .frame { background: var(--bg-card); }
[data-theme="light"] .gcard .info .ttl { color: var(--text-primary); }
[data-theme="light"] .gcard .info .year,
[data-theme="light"] .gcard .info .loc { color: var(--text-muted); }

[data-theme="light"] .lql-galeria-feature-title { color: var(--text-primary); }
[data-theme="light"] .lql-galeria-feature-cap { color: var(--text-secondary); }
[data-theme="light"] .lql-galeria-feature-meta { border-color: var(--border-color); }
[data-theme="light"] .lql-galeria-feature-meta .cell b { color: var(--text-primary); }

[data-theme="light"] .lql-prints { background: var(--bg-section); }
[data-theme="light"] .lql-prints-head h2 { color: var(--text-primary); }
[data-theme="light"] .lql-prints-head .eye { color: var(--color-humo); }
[data-theme="light"] .lql-prints-head .lede p { color: var(--text-secondary); }
[data-theme="light"] .lql-prints-head .lede p em { color: var(--color-ceniza); }
[data-theme="light"] .print-card .pframe { background: var(--bg-card); }
[data-theme="light"] .print-card .pno { color: var(--color-humo); }
[data-theme="light"] .print-card .pt { color: var(--text-primary); }
[data-theme="light"] .print-card .pmeta { color: var(--color-humo); }
[data-theme="light"] .lql-prints-foot { border-color: var(--border-color); }
[data-theme="light"] .lql-prints-foot .fact { color: var(--text-secondary); }

[data-theme="light"] .post-main h3,
[data-theme="light"] .post-row h4 { color: var(--text-primary); }
[data-theme="light"] .post-main .excerpt,
[data-theme="light"] .post-row .snip { color: var(--text-secondary); }
[data-theme="light"] .post-main .meta,
[data-theme="light"] .post-row .meta { color: var(--color-humo); }
[data-theme="light"] .post-main .readmore { color: var(--color-dorado); }

[data-theme="light"] .lql-studio { background: var(--bg-body); }
[data-theme="light"] .studio-body .eye { color: var(--color-humo); }
[data-theme="light"] .studio-body h2 { color: var(--text-primary); }
[data-theme="light"] .bio p { color: var(--text-secondary); }
[data-theme="light"] .stats { border-color: var(--border-color); }
[data-theme="light"] .stats .s { color: var(--color-humo); }
[data-theme="light"] .stats .s b { color: var(--text-primary); }

[data-theme="light"] .lql-contacto { background: var(--bg-section); }
[data-theme="light"] .contacto-left .eye { color: var(--color-humo); }
[data-theme="light"] .contacto-left h2 { color: var(--text-primary); }
[data-theme="light"] .contacto-left .lede { color: var(--text-secondary); }
[data-theme="light"] .channel { border-color: var(--border-color); }
[data-theme="light"] .channel .lab { color: var(--color-humo); }
[data-theme="light"] .channel .val { color: var(--text-secondary); }
[data-theme="light"] .channel .hint { color: var(--color-dorado); }
[data-theme="light"] .contacto-form { background: var(--bg-form); border: 1px solid var(--border-color); }
[data-theme="light"] .contacto-form h3,
[data-theme="light"] .contacto-form .big { color: var(--text-primary); }
[data-theme="light"] .feye { color: var(--color-humo); }
[data-theme="light"] .field label { color: var(--color-humo); }
[data-theme="light"] .pill { color: var(--text-secondary); border-color: var(--border-color); }
[data-theme="light"] .pill.active { border-color: var(--color-dorado); color: var(--color-dorado); }
[data-theme="light"] .field input,
[data-theme="light"] .field textarea {
  background: var(--bg-body);
  border-color: var(--border-color);
  color: var(--text-primary);
}
[data-theme="light"] .field input::placeholder,
[data-theme="light"] .field textarea::placeholder { color: var(--color-humo); }
[data-theme="light"] .submit-row { border-color: var(--border-color); }
[data-theme="light"] .tiny { color: var(--color-humo); }

[data-theme="light"] .lql-news { border-color: var(--border-color); }
[data-theme="light"] .lql-news h3 { color: var(--text-secondary); }
[data-theme="light"] .lql-news form input {
  background: var(--bg-section);
  border-color: var(--border-color);
  color: var(--text-primary);
}
[data-theme="light"] .lql-news form input::placeholder { color: var(--color-humo); }

[data-theme="light"] .lql-footer { background: var(--bg-section2); border-color: var(--border-color); }
[data-theme="light"] .lql-footer-brand .big { color: var(--text-primary); }
[data-theme="light"] .lql-footer-brand .tag { color: var(--color-humo); }
[data-theme="light"] .lql-footer h5 { color: var(--color-ceniza); }
[data-theme="light"] .lql-footer ul li a { color: var(--color-humo); }
[data-theme="light"] .lql-footer ul li a:hover { color: var(--text-primary); }
[data-theme="light"] .lql-footer-foot { border-color: var(--border-color); }
[data-theme="light"] .lql-footer-foot div,
[data-theme="light"] .lql-footer-foot a { color: var(--color-humo); }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .lql-galeria-grid { grid-template-columns: repeat(2, 1fr); }
  .lql-galeria-feature { grid-template-columns: 1fr; }
  .lql-studio { grid-template-columns: 280px 1fr; gap: 48px; }
  .lql-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 768px) {
  .lql-nav-links { display: none; }
  .lql-hero-title { font-size: 52px; }
  .lql-hero-meta { flex-direction: column; gap: 16px; }
  .lql-manifesto-grid { grid-template-columns: 1fr; gap: 32px; }
  .lql-galeria-feature { grid-template-columns: 1fr; }
  .lql-galeria-grid { grid-template-columns: 1fr; }
  .lql-prints-row { grid-template-columns: 1fr; }
  .lql-prints-head { flex-direction: column; }
  .lql-prints-foot { grid-template-columns: 1fr; }
  .lql-diario-grid { grid-template-columns: 1fr; }
  .lql-studio { grid-template-columns: 1fr; }
  .studio-portrait { max-width: 320px; }
  .lql-contacto-inner { grid-template-columns: 1fr; gap: 48px; }
  .lql-footer-inner { grid-template-columns: 1fr 1fr; }
  .field-row { grid-template-columns: 1fr; }
  .stats { flex-wrap: wrap; gap: 24px; }
}
