/* Gamero Gil — child theme custom styles. Re-built from /Gamero Gil Web.html. */

/* PALETTE: Blanco crema · Pino · Negro · Tierras. Marcos negros en imágenes. */

:root{
  --bg:           var(--wp--preset--color--bg, #FAFAF7);
  --bg-warm:      var(--wp--preset--color--bg-warm, #F0EAD8);
  --bg-wood:      var(--wp--preset--color--bg-wood, #C9A878);
  --bg-wood-dark: var(--wp--preset--color--bg-wood-dark, #8B5A2B);
  --fg:           var(--wp--preset--color--fg, #0E0C0B);
  --muted:        var(--wp--preset--color--muted, #6B655C);
  --rule:         var(--wp--preset--color--rule, #0E0C0B1A);
  --rule-strong:  var(--fg);
  --accent:       var(--wp--preset--color--accent, #B5895C);
  --accent-warm:  var(--wp--preset--color--accent-warm, #A56B3B);
  --inv-bg:       var(--wp--preset--color--inv-bg, #0E0C0B);
  --inv-fg:       var(--wp--preset--color--inv-fg, #FAFAF7);
  --frame:6px;
  --serif:        var(--wp--preset--font-family--serif, 'Instrument Serif', serif);
  --sans:         var(--wp--preset--font-family--sans, 'Manrope', system-ui, sans-serif);
  --mono:         var(--wp--preset--font-family--mono, 'JetBrains Mono', monospace);
}
body{
  background:var(--bg); color:var(--fg);
  font-family:var(--sans); font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.wp-site-blocks{ overflow-x:hidden }
.mono{font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase}
.serif{font-family:var(--serif); font-weight:400; letter-spacing:-0.01em}
.italic,.em{font-style:italic}
.em{color:var(--accent-warm)} .accent{color:var(--accent-warm)}
::selection{background:var(--accent); color:var(--inv-fg)}
.wrap{padding:0 32px}
@media (min-width:900px){.wrap{padding:0 56px}}
@media (min-width:1400px){.wrap{padding:0 80px}}
.skip{position:absolute;left:-9999px;top:0;background:var(--fg);color:var(--bg);padding:10px 14px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;z-index:1000}
.skip:focus{left:8px;top:8px}


/* === HOME (hero, selected, series, manifiesto, obrador, materiales, press, contact) === */

/* HERO */
  .hero{
    min-height:100vh;
    padding:120px 32px 56px;
    display:flex; flex-direction:column; justify-content:space-between;
    position:relative;
  }
  @media (min-width:900px){ .hero{ padding:130px 56px 64px } }
  @media (min-width:1400px){ .hero{ padding:140px 80px 80px } }
  .hero-meta{
    display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:24px;
    align-items:start;
  }
  .hero-meta .cell{ display:flex; flex-direction:column; gap:6px }
  .hero-meta .cell .k{ color:var(--muted); }
  .hero-meta .cell .v{ font-family:var(--serif); font-size:17px; }
  .hero-name{
    font-family:var(--serif);
    font-size:clamp(76px, 18.5vw, 280px);
    line-height:.86;
    letter-spacing:-0.025em;
    margin:54px 0 0;
    font-weight:400;
  }
  .hero-name .line{ display:block; }
  .hero-name .line2{ padding-left:6vw; }
  .hero-name .amp{ font-style:italic; color:var(--accent); font-weight:300 }
  .hero-foot{
    display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px; align-items:end;
    padding-top:42px;
  }
  .hero-foot .pull{
    font-family:var(--serif); font-size:clamp(22px,2.3vw,30px); line-height:1.18;
    max-width:32ch; letter-spacing:-0.005em;
  }
  .hero-foot .pull .em{ font-style:italic; color:var(--accent) }
  .hero-foot .pull-meta{ color:var(--muted); margin-top:14px; }
  .hero-foot .nowplaying{
    border-top:1px solid var(--rule); padding-top:12px;
  }
  .hero-foot .nowplaying .label{ color:var(--muted); margin-bottom:6px }
  .hero-foot .nowplaying .work{ font-family:var(--serif); font-size:20px }
  .hero-foot .scroll{
    text-align:right; color:var(--muted);
    display:flex; flex-direction:column; align-items:flex-end; gap:8px;
  }
  .hero-foot .scroll .arrow{
    width:22px; height:22px; border:1px solid var(--rule); border-radius:50%;
    display:inline-grid; place-items:center;
  }
  .hero-foot .scroll .arrow svg{ width:10px; height:10px }

  @media (max-width:760px){
    .hero-meta{ grid-template-columns:1fr 1fr; gap:18px }
    .hero-name{ font-size:24vw }
    .hero-name .line2{ padding-left:8vw }
    .hero-foot{ grid-template-columns:1fr; gap:18px }
    .hero-foot .scroll{ align-items:flex-start; text-align:left }
  }

  /* TICKER */
  .ticker{
    overflow:hidden;
    border-top:1px solid var(--rule);
    border-bottom:1px solid var(--rule);
    padding:18px 0;
  }
  .ticker-track{
    display:flex; gap:48px; white-space:nowrap;
    animation:ticker 60s linear infinite;
    font-family:var(--serif); font-size:clamp(28px, 4vw, 56px);
    letter-spacing:-0.01em;
  }
  .ticker-track .sep{ color:var(--accent); font-style:italic; padding:0 6px }
  @keyframes ticker{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
  }

  /* SECTION HEAD */
  .sec-head{
    display:grid; grid-template-columns:120px 1fr 1fr; gap:32px;
    padding:96px 0 36px;
    align-items:start;
  }
  .sec-head .num{
    font-family:var(--mono); color:var(--muted); padding-top:8px;
    font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:400;
    line-height:1.5;
  }
  .sec-head .title{
    font-family:var(--serif); font-size:clamp(48px, 7vw, 96px); line-height:.94;
    letter-spacing:-0.02em; font-weight:400;
  }
  .sec-head .title .em{ font-style:italic; color:var(--accent) }
  .sec-head .lede{
    font-size:16px; line-height:1.55; max-width:42ch; color:var(--fg);
    align-self:end;
    text-wrap:pretty;
  }
  @media (max-width:760px){
    .sec-head{ grid-template-columns:1fr; gap:14px; padding-top:64px }
  }

  /* SELECTED WORK GRID */
  .selected{
    display:grid; grid-template-columns:repeat(12, 1fr); gap:24px;
    padding-bottom:24px;
  }
  .selected .item{ position:relative }
  .selected .item .ph{ aspect-ratio:4/5; width:100%; }
  .selected .item.wide .ph{ aspect-ratio:16/10 }
  .selected .item.tall .ph{ aspect-ratio:3/5 }
  .selected .item .caption{
    margin-top:12px; display:flex; justify-content:space-between; gap:12px;
  }
  .selected .item .caption .t{ font-family:var(--serif); font-size:20px; }
  .selected .item .caption .y{ font-family:var(--mono); color:var(--muted); }
  .item.a{ grid-column:1 / span 7 }
  .item.b{ grid-column:8 / span 5; align-self:end }
  .item.c{ grid-column:1 / span 4 }
  .item.d{ grid-column:5 / span 4 }
  .item.e{ grid-column:9 / span 4 }
  /* hueco neutro: aparece cuando hay obras reales pero menos de 5 */
  .selected .item.is-empty{ pointer-events:none }
  .selected .item .placeholder.empty-slot{
    background:
      repeating-linear-gradient(45deg, transparent 0 11px, color-mix(in srgb, var(--fg) 4%, transparent) 11px 12px);
    border:1px dashed var(--rule);
    display:flex; align-items:center; justify-content:center;
  }
  .selected .item .placeholder.empty-slot .ph-tag{
    position:static; color:var(--muted); font-size:11px;
    letter-spacing:.12em; text-transform:uppercase;
  }
  @media (max-width:760px){
    .selected{ grid-template-columns:1fr; gap:32px }
    .item.a,.item.b,.item.c,.item.d,.item.e{ grid-column:1 }
  }

  /* SERIES INDEX */
  .series-list{ border-top:1px solid var(--rule); }
  .series-row{
    display:grid; grid-template-columns:80px 1fr 1fr 1.2fr 120px;
    gap:24px; padding:26px 0;
    border-bottom:1px solid var(--rule);
    align-items:center; position:relative;
    transition:background .25s, padding .25s;
    cursor:pointer;
  }
  .series-row .num{ font-family:var(--mono); color:var(--muted) }
  .series-row .name{ font-family:var(--serif); font-size:clamp(28px, 3.4vw, 44px); line-height:1; letter-spacing:-0.01em; }
  .series-row .name .em{ font-style:italic; color:var(--accent); }
  .series-row .disc{ font-family:var(--mono); color:var(--muted) }
  .series-row .desc{ color:var(--fg); max-width:38ch; }
  .series-row .yr{ font-family:var(--mono); color:var(--muted); text-align:right }
  .series-row:hover{ background:var(--fg); color:var(--inv-fg); padding-left:18px; padding-right:18px; }
  .series-row:hover .num,
  .series-row:hover .disc,
  .series-row:hover .yr{ color:#ffffff70 }
  .series-row:hover .name .em{ color:#f2c39f }
  .series-row .peek{
    position:absolute; right:140px; top:50%; transform:translateY(-50%) translateX(20px);
    width:170px; aspect-ratio:4/5; opacity:0; pointer-events:none; transition:opacity .25s, transform .25s;
    z-index:2; overflow:hidden;
  }
  .series-row .peek img{ width:100%; height:100%; object-fit:cover; display:block; }
  .series-row:hover .peek{ opacity:1; transform:translateY(-50%) translateX(0) }
  @media (max-width:900px){
    .series-row{ grid-template-columns:60px 1fr 60px; }
    .series-row .disc, .series-row .desc{ display:none }
    .series-row .peek{ display:none }
  }

  /* MANIFESTO — sobre madera (pino), no negro */
  .manifesto{
    background:var(--bg-wood); color:var(--fg);
    margin-top:96px; padding:120px 32px;
    position:relative;
    background-image:
      repeating-linear-gradient(
        90deg,
        rgba(14,12,11,.025) 0 1px,
        transparent 1px 60px,
        rgba(14,12,11,.012) 60px 61px,
        transparent 61px 220px
      ),
      linear-gradient(180deg, var(--bg-wood) 0%, #B59866 100%);
  }
  @media (min-width:900px){ .manifesto{ padding:140px 56px } }
  @media (min-width:1400px){ .manifesto{ padding:160px 80px } }
  .manifesto .mhead{ display:flex; justify-content:space-between; margin-bottom:80px }
  .manifesto .mhead .mono{ color:#0E0C0B99 }
  .manifesto .quote{
    font-family:var(--serif);
    font-size:clamp(40px, 6.4vw, 92px);
    line-height:1.02;
    letter-spacing:-0.02em;
    max-width:18ch;
    font-weight:400;
    color:var(--fg);
  }
  .manifesto .quote .em{ font-style:italic; color:var(--bg-wood-dark) }
  .manifesto .quote .accent{ color:var(--bg-wood-dark); font-style:italic }
  .manifesto .mfoot{
    margin-top:80px; display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px;
    padding-top:36px; border-top:1px solid #0E0C0B33;
  }
  .manifesto .mfoot .cell .k{ color:#0E0C0B99 }
  .manifesto .mfoot .cell .v{ font-family:var(--serif); font-size:18px; margin-top:6px; color:var(--fg) }
  .manifesto .signature{
    position:absolute; right:48px; bottom:48px;
    font-family:var(--serif); font-style:italic; font-size:34px; color:var(--bg-wood-dark);
    transform:rotate(-6deg);
    opacity:.95;
  }
  @media (max-width:760px){
    .manifesto .mfoot{ grid-template-columns:1fr; gap:18px }
    .manifesto .signature{ position:static; transform:none; margin-top:48px; display:block }
  }

  /* OBRADOR */
  .obrador{
    display:grid; grid-template-columns:1.1fr 1fr; gap:48px;
    padding:96px 0 16px;
    align-items:stretch;
  }
  .obrador .copy{ display:flex; flex-direction:column; justify-content:space-between; gap:32px }
  .obrador h3{
    font-family:var(--serif); font-weight:400;
    font-size:clamp(40px, 5.5vw, 80px); line-height:.96; letter-spacing:-0.02em;
    margin:0;
  }
  .obrador h3 .em{ font-style:italic; color:var(--accent) }
  .obrador .body{ font-size:16px; line-height:1.6; max-width:44ch; color:var(--fg); text-wrap:pretty }
  .obrador .body p{ margin:0 0 14px }
  .obrador .ph{ aspect-ratio:4/5; min-height:520px }
  .obrador .meta{
    display:grid; grid-template-columns:1fr 1fr; gap:18px; padding-top:24px;
    border-top:1px solid var(--rule);
  }
  .obrador .meta .k{ color:var(--muted) }
  .obrador .meta .v{ font-family:var(--serif); font-size:18px; margin-top:4px }
  @media (max-width:900px){
    .obrador{ grid-template-columns:1fr; gap:32px }
  }

  /* PRESS */
  .press{ padding:80px 0 24px }
  .press-row{
    display:grid; grid-template-columns:80px 1fr 1.4fr 1fr 100px;
    gap:24px; padding:22px 0;
    border-top:1px solid var(--rule); align-items:baseline;
  }
  .press-row:last-child{ border-bottom:1px solid var(--rule) }
  .press-row .yr{ font-family:var(--mono); color:var(--muted) }
  .press-row .ven{ font-family:var(--serif); font-size:22px }
  .press-row .loc{ color:var(--muted) }
  .press-row .type{ font-family:var(--mono); color:var(--muted) }
  .press-row .link{ font-family:var(--mono); text-align:right; color:var(--muted) }
  .press-row:hover{ color:var(--accent) }
  .press-row:hover .yr, .press-row:hover .loc, .press-row:hover .type, .press-row:hover .link{ color:var(--accent) }
  @media (max-width:900px){
    .press-row{ grid-template-columns:60px 1fr 60px; }
    .press-row .loc, .press-row .type{ display:none }
  }

  /* CONTACT / FOOTER */
  .contact{
    margin-top:96px; padding:120px 32px 56px;
    background:var(--bg); border-top:1px solid var(--rule);
  }
  @media (min-width:900px){ .contact{ padding:140px 56px 56px } }
  @media (min-width:1400px){ .contact{ padding:160px 80px 64px } }
  .contact .big{
    font-family:var(--serif);
    font-size:clamp(60px, 14vw, 220px);
    line-height:.86;
    letter-spacing:-0.025em;
    margin:0;
  }
  .contact .big .em{ font-style:italic; color:var(--accent) }
  .contact .crow{
    display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:24px;
    margin-top:64px; padding-top:32px;
    border-top:1px solid var(--rule);
  }
  .contact .crow .k{ color:var(--muted) }
  .contact .crow .v{ font-family:var(--serif); font-size:18px; margin-top:6px }
  .contact .crow a.v{ display:block }
  .contact .crow a.v:hover{ color:var(--accent) }
  .footnote{
    display:flex; justify-content:space-between; align-items:center;
    margin-top:72px; color:var(--muted);
    flex-wrap:wrap; gap:12px;
  }
  @media (max-width:760px){
    .contact .crow{ grid-template-columns:1fr 1fr; gap:18px }
  }

  /* MODE: Madera — paleta de pino para secciones / Customizer */
  body.mode-madera{
    --bg:#C9A878;
    --fg:#0E0C0B;
    --muted:#5E4A33;
    --rule:#0E0C0B22;
    --accent:#0E0C0B;
    --inv-bg:#8B5A2B;
    --inv-fg:#FAFAF7;
  }
  body.mode-madera .placeholder{
    background:
      repeating-linear-gradient(135deg, rgba(14,12,11,.05) 0 1px, transparent 1px 14px),
      #B59866;
    border-color:#0E0C0B22;
  }

  /* MODE: Noche — inverted, used for special pages */
  body.mode-noche{
    --bg:#0E0C0B;
    --fg:#FAFAF7;
    --muted:#8a8276;
    --rule:#FAFAF722;
    --accent:#C9A878;
    --inv-bg:#FAFAF7;
    --inv-fg:#0E0C0B;
  }
  body.mode-noche .placeholder{
    background:
      repeating-linear-gradient(135deg, rgba(250,250,247,.06) 0 1px, transparent 1px 14px),
      #1a1714;
    border-color:#FAFAF722;
    color:#FAFAF780;
  }
  body.mode-noche header.site .mark img.logo{ filter:invert(1) brightness(.95); }

  /* Hero variant: manifesto-led */
  body.hero-manifesto .hero-name{ display:none }
  body.hero-manifesto .hero-statement{ display:block }
  .hero-statement{ display:none }
  body.hero-manifesto .hero-statement{
    font-family:var(--serif);
    font-size:clamp(40px, 7.2vw, 120px);
    line-height:.96;
    letter-spacing:-0.02em;
    margin:54px 0 0;
    max-width:14ch;
  }
  body.hero-manifesto .hero-statement .em{ font-style:italic; color:var(--accent) }

  /* Hero variant: image-led — adds a large hero image strip below the name */
  body.hero-image .hero-image-strip{ display:block }
  .hero-image-strip{ display:none }
  body.hero-image .hero-name{ font-size:clamp(56px, 11vw, 160px) }

  /* dotted divider used between sections */
  .div-dot{
    border-top:1px dashed var(--rule);
    margin:0;
  }

  /* ==========================================================
     CREATIVE ADDITIONS
     ========================================================== */

  /* MATERIALES — typographic grid of materials/techniques */
  .materiales{ padding-bottom:32px }
  .mat-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:48px 40px;
    padding-top:16px;
  }
  .mat{
    display:flex; flex-direction:column; gap:12px;
    padding:24px 0 0;
    border-top:2px solid var(--fg);
    position:relative;
  }
  .mat .m-row{
    display:flex; justify-content:space-between; align-items:baseline;
    font-family:var(--mono); font-size:11px; color:var(--muted);
    letter-spacing:.08em; text-transform:uppercase;
  }
  .mat .m-name{
    font-family:var(--serif); font-weight:400; font-size:clamp(36px, 4vw, 56px);
    line-height:.96; letter-spacing:-0.015em; margin:0;
  }
  .mat .m-name .em{ font-style:italic; color:var(--accent-warm) }
  .mat .m-tech{ color:var(--fg) }
  .mat .m-body{ margin:6px 0 0; font-size:14px; line-height:1.55; max-width:32ch; color:var(--fg); text-wrap:pretty }
  .mat .m-img{ aspect-ratio:4/3; margin-top:14px }
  .mat .m-img .ph-corner{ display:none }
  @media (max-width:900px){ .mat-grid{ grid-template-columns:1fr 1fr; gap:32px } }
  @media (max-width:600px){ .mat-grid{ grid-template-columns:1fr } }

  /* HERO sticky-note — "en estudio" annotation */
  .stamp{
    position:absolute;
    background:var(--bg-warm); color:var(--fg);
    padding:14px 18px;
    transform:rotate(-3deg);
    box-shadow:0 8px 24px -8px rgba(14,12,11,.18);
    font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
    line-height:1.5; max-width:200px;
    border:1px solid var(--fg);
    z-index:3;
  }
  .stamp .big{
    font-family:var(--serif); font-style:italic; font-size:22px;
    color:var(--accent-warm); letter-spacing:-0.005em;
    display:block; margin-bottom:4px; text-transform:none;
  }
  .hero{ position:relative }
  .hero .stamp{ right:5vw; top:30vh }
  @media (max-width:900px){ .hero .stamp{ display:none } }

  /* PRESS — first row with image */
  .press-row.featured{
    grid-template-columns:140px 80px 1.4fr 1fr 100px;
    align-items:center;
  }
  .press-row.featured .thumb{
    width:140px; aspect-ratio:5/4;
    grid-row:1; grid-column:1;
  }
  .press-row.featured .yr{ grid-column:2 }
  @media (max-width:900px){
    .press-row.featured{ grid-template-columns:60px 1fr 60px }
    .press-row.featured .thumb{ display:none }
  }

  /* SCALE BAR — vertical museum-label strip on hero left */
  .scale-rail{
    position:absolute; left:32px; top:140px; bottom:80px;
    width:80px;
    display:flex; flex-direction:column; justify-content:space-between;
    font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--muted);
    pointer-events:none;
  }
  .scale-rail .tick{ display:flex; align-items:center; gap:8px }
  .scale-rail .tick::before{
    content:''; display:inline-block;
    width:14px; height:1px; background:var(--muted);
  }
  .scale-rail .tick.major::before{ width:22px; background:var(--fg); height:2px }
  .scale-rail .tick.major{ color:var(--fg) }
  @media (max-width:1100px){ .scale-rail{ display:none } }

/* === SERIE === */

/* SERIES HERO */
.series-hero{
  padding:140px 32px 56px;
  display:grid; grid-template-columns:1fr; gap:48px;
}
@media (min-width:900px){ .series-hero{ padding:160px 56px 64px } }
@media (min-width:1400px){ .series-hero{ padding:180px 80px 80px } }

.series-hero .meta-row{
  display:grid; grid-template-columns:repeat(6, 1fr); gap:24px;
  padding-bottom:32px; border-bottom:1px solid var(--rule);
}
.series-hero .meta-row .cell .k{
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); margin-bottom:6px;
}
.series-hero .meta-row .cell .v{ font-family:var(--serif); font-size:18px; }

.series-hero .title-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  align-items:end;
}
.series-hero h1{
  font-family:var(--serif);
  font-size:clamp(96px, 22vw, 360px);
  line-height:.82; letter-spacing:-0.03em; font-weight:400;
  margin:0;
}
.series-hero h1 .em{ font-style:italic; color:var(--accent); font-weight:300; display:inline-block }
.series-hero .subtitle{
  font-family:var(--serif); font-size:clamp(20px, 1.8vw, 26px); line-height:1.3;
  max-width:36ch; letter-spacing:-0.005em;
  padding-bottom:18px;
}
.series-hero .subtitle .em{ font-style:italic; color:var(--accent) }

@media (max-width:900px){
  .series-hero .meta-row{ grid-template-columns:1fr 1fr 1fr; gap:18px }
  .series-hero .title-grid{ grid-template-columns:1fr; gap:24px }
}

/* HERO PLATE */
.hero-plate{
  padding:0 32px 96px;
}
@media (min-width:900px){ .hero-plate{ padding:0 56px 120px } }
@media (min-width:1400px){ .hero-plate{ padding:0 80px 140px } }
.hero-plate .ph{ aspect-ratio:21/9; width:100% }

/* INTRO BLOCK — two columns */
.intro{
  display:grid; grid-template-columns:1fr 1.4fr; gap:64px;
  padding:0 32px 96px;
}
@media (min-width:900px){ .intro{ padding:0 56px 120px } }
@media (min-width:1400px){ .intro{ padding:0 80px 140px } }
.intro .left{ position:sticky; top:120px; align-self:start }
.intro .left .label{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px;
}
.intro .left .pull{
  font-family:var(--serif);
  font-size:clamp(28px, 3vw, 44px); line-height:1.08;
  letter-spacing:-0.015em;
  max-width:18ch;
}
.intro .left .pull .em{ font-style:italic; color:var(--accent) }
.intro .right{ display:flex; flex-direction:column; gap:18px }
.intro .right p{
  font-size:17px; line-height:1.6; max-width:62ch;
  text-wrap:pretty; margin:0;
}
.intro .right p.lead{
  font-family:var(--serif); font-size:22px; line-height:1.4;
}
.intro .right .signoff{
  font-family:var(--serif); font-style:italic; color:var(--accent);
  margin-top:24px;
}
@media (max-width:900px){
  .intro{ grid-template-columns:1fr; gap:32px }
  .intro .left{ position:static }
}

/* GALLERY GRID — irregular */
.gallery{
  padding:0 32px 120px;
  display:grid; grid-template-columns:repeat(12, 1fr); gap:32px;
}
@media (min-width:900px){ .gallery{ padding:0 56px 140px } }
@media (min-width:1400px){ .gallery{ padding:0 80px 160px } }
.gallery .work{ position:relative }
.gallery .work .ph{ width:100%; transition:transform .6s cubic-bezier(.16,1,.3,1) }
.gallery .work:hover .ph{ transform:translateY(-4px) }
.gallery .work .cap{
  margin-top:14px; display:grid; grid-template-columns:1fr auto; gap:16px;
  align-items:baseline;
}
.gallery .work .cap .t{ font-family:var(--serif); font-size:22px; }
.gallery .work .cap .t .em{ font-style:italic; color:var(--accent) }
.gallery .work .cap .meta{
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); text-align:right; line-height:1.6;
}
.gallery .work .cap .meta .num{ display:block; color:var(--fg) }
.gallery .work .blurb{
  font-family:var(--serif); font-style:italic; color:var(--muted);
  margin-top:6px; max-width:38ch; font-size:15px;
}

.g1{ grid-column:1 / span 8 } .g1 .ph{ aspect-ratio:16/10 }
.g2{ grid-column:9 / span 4; align-self:end } .g2 .ph{ aspect-ratio:3/4 }
.g3{ grid-column:1 / span 4 } .g3 .ph{ aspect-ratio:3/4 }
.g4{ grid-column:5 / span 4 } .g4 .ph{ aspect-ratio:4/5 }
.g5{ grid-column:9 / span 4; align-self:end } .g5 .ph{ aspect-ratio:1/1 }
.g6{ grid-column:2 / span 6 } .g6 .ph{ aspect-ratio:5/6 }
.g7{ grid-column:8 / span 4; align-self:center } .g7 .ph{ aspect-ratio:3/4 }
.g8{ grid-column:1 / span 12 } .g8 .ph{ aspect-ratio:21/9 }
.g9{ grid-column:1 / span 5 } .g9 .ph{ aspect-ratio:4/5 }
.g10{ grid-column:7 / span 6 } .g10 .ph{ aspect-ratio:16/11 }

@media (max-width:900px){
  .gallery{ grid-template-columns:1fr; gap:48px }
  .gallery .work{ grid-column:1 !important }
}

/* PROCESS / SKETCHBOOK */
.process{
  background:var(--inv-bg); color:var(--inv-fg);
  padding:120px 32px;
}
@media (min-width:900px){ .process{ padding:140px 56px } }
@media (min-width:1400px){ .process{ padding:160px 80px } }
.process .phead{
  display:grid; grid-template-columns:120px 1fr 1fr; gap:32px;
  margin-bottom:64px; align-items:start;
}
.process .phead .num{ font-family:var(--mono); color:#ffffff70; padding-top:8px }
.process .phead .title{
  font-family:var(--serif); font-size:clamp(40px, 5.5vw, 80px); line-height:.96;
  letter-spacing:-0.02em; margin:0; font-weight:400;
}
.process .phead .title .em{ font-style:italic; color:#f2c39f }
.process .phead .lede{ max-width:42ch; color:#e6e4dc; align-self:end; line-height:1.55 }

.process-grid{
  display:grid; grid-template-columns:repeat(4, 1fr); gap:20px;
}
.process-grid .pcard .ph{ aspect-ratio:3/4 }
.process-grid .pcard .label{
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:#ffffff70; margin-top:12px;
}
.process-grid .pcard .name{
  font-family:var(--serif); font-size:18px; margin-top:4px;
  font-style:italic;
}
@media (max-width:900px){
  .process .phead{ grid-template-columns:1fr; gap:14px }
  .process-grid{ grid-template-columns:1fr 1fr; gap:16px }
}

/* TEXT BLOCK — manifesto-quote */
.long-text{
  padding:120px 32px;
  display:grid; grid-template-columns:1fr 1.6fr 1fr; gap:48px;
}
@media (min-width:900px){ .long-text{ padding:140px 56px } }
@media (min-width:1400px){ .long-text{ padding:160px 80px } }
.long-text .body{
  font-family:var(--serif); font-size:clamp(22px, 2vw, 28px);
  line-height:1.35; letter-spacing:-0.005em; max-width:42ch;
  grid-column:2 / span 1;
}
.long-text .body .em{ font-style:italic; color:var(--accent) }
.long-text .body .lead-letter{
  float:left; font-family:var(--serif); font-size:6em; line-height:.82;
  padding:0.05em 12px 0 0; color:var(--accent); font-style:italic;
}
.long-text .body p{ margin:0 0 1em }
@media (max-width:900px){
  .long-text{ grid-template-columns:1fr }
  .long-text .body{ grid-column:1 }
}

/* EXHIBITIONS LIST (series-specific) */
.exh{ padding:96px 32px 16px }
@media (min-width:900px){ .exh{ padding:96px 56px 16px } }
@media (min-width:1400px){ .exh{ padding:96px 80px 16px } }
.exh .row{
  display:grid; grid-template-columns:80px 1fr 1.4fr 1fr 100px;
  gap:24px; padding:22px 0;
  border-top:1px solid var(--rule); align-items:baseline;
  transition:padding .2s, color .2s;
}
.exh .row:last-child{ border-bottom:1px solid var(--rule) }
.exh .row:hover{ color:var(--accent); padding-left:8px }
.exh .row .yr{ font-family:var(--mono); color:var(--muted) }
.exh .row:hover .yr,
.exh .row:hover .loc,
.exh .row:hover .type,
.exh .row:hover .link{ color:var(--accent) }
.exh .row .ven{ font-family:var(--serif); font-size:22px }
.exh .row .ven .em{ font-style:italic }
.exh .row .loc, .exh .row .type{ color:var(--muted) }
.exh .row .type{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase }
.exh .row .link{ font-family:var(--mono); text-align:right; color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase }
@media (max-width:900px){
  .exh .row{ grid-template-columns:60px 1fr 60px }
  .exh .row .loc, .exh .row .type{ display:none }
}

/* SERIES NAV — prev/next */
.series-nav{
  padding:96px 32px 16px;
  display:grid; grid-template-columns:1fr 1fr; gap:24px;
}
@media (min-width:900px){ .series-nav{ padding:96px 56px 16px } }
@media (min-width:1400px){ .series-nav{ padding:96px 80px 16px } }
.series-nav a{
  display:flex; flex-direction:column; gap:8px;
  padding:32px; border:1px solid var(--rule);
  transition:background .25s, color .25s;
}
.series-nav a:hover{ background:var(--fg); color:var(--inv-fg) }
.series-nav a:hover .label{ color:#ffffff70 }
.series-nav a .label{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted) }
.series-nav a .name{ font-family:var(--serif); font-size:clamp(28px, 3vw, 44px); line-height:1.05; letter-spacing:-0.015em }
.series-nav a .name .em{ font-style:italic; color:var(--accent) }
.series-nav a:hover .name .em{ color:#f2c39f }
.series-nav a.next{ text-align:right; align-items:flex-end }
@media (max-width:760px){
  .series-nav{ grid-template-columns:1fr }
}

/* === OBRA === */

/* WORK STAGE — main piece + sidebar */
.stage{
  padding:140px 32px 24px;
  display:grid; grid-template-columns:1.7fr 1fr; gap:48px;
  align-items:start;
}
@media (min-width:900px){ .stage{ padding:160px 56px 32px } }
@media (min-width:1400px){ .stage{ padding:180px 80px 40px; gap:64px } }
@media (max-width:900px){
  .stage{ grid-template-columns:1fr; padding-top:140px; gap:32px }
}

.stage .main-view{ position:relative }
.stage .main-view .ph{ aspect-ratio:4/5; width:100% }
.stage .main-view .toolbar{
  position:absolute; bottom:14px; left:14px; right:14px;
  display:flex; justify-content:space-between; align-items:center;
  pointer-events:none;
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted);
}
.stage .main-view .toolbar .right{ display:flex; gap:14px; pointer-events:auto }
.stage .main-view .toolbar .right span{ cursor:pointer }
.stage .main-view .toolbar .right span:hover{ color:var(--accent) }

/* SIDEBAR */
.sidebar{ position:sticky; top:110px; align-self:start }
@media (max-width:900px){ .sidebar{ position:static } }

.sb-eyebrow{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px;
  display:flex; align-items:center; gap:10px;
}
.sb-eyebrow .pill{
  display:inline-flex; align-items:center; gap:6px;
  border:1px solid var(--rule); border-radius:999px;
  padding:4px 10px; font-size:10px;
}
.sb-eyebrow .pill .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block }

.sb-title{
  font-family:var(--serif);
  font-size:clamp(56px, 7vw, 96px);
  line-height:.94; letter-spacing:-0.02em; font-weight:400;
  margin:0;
}
.sb-title .em{ font-style:italic; color:var(--accent) }
.sb-sub{
  font-family:var(--serif); font-style:italic;
  color:var(--muted); margin-top:14px; font-size:20px; line-height:1.3;
  max-width:30ch;
}

/* SPEC TABLE */
.specs{
  margin-top:36px; border-top:1px solid var(--rule);
}
.specs .row{
  display:grid; grid-template-columns:1fr 1.4fr;
  padding:14px 0; border-bottom:1px solid var(--rule);
  gap:24px; align-items:baseline;
}
.specs .row .k{
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
}
.specs .row .v{ font-family:var(--serif); font-size:18px; }
.specs .row .v.italic{ font-style:italic; color:var(--accent) }
.specs .row .v.mono{ font-family:var(--mono); font-size:13px; letter-spacing:0; text-transform:none; color:var(--fg) }

/* PRICE BLOCK */
.price{
  margin-top:28px; padding:24px 0;
  display:flex; align-items:baseline; justify-content:space-between; gap:24px;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);
}
.price .k{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted) }
.price .v{ font-family:var(--serif); font-size:32px; letter-spacing:-0.01em }
.price .v small{ font-size:14px; color:var(--muted); margin-left:8px }

.cta-row{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px;
}
.cta-row .btn{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:14px 18px; border:1px solid var(--fg);
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer; transition:background .2s, color .2s;
}
.cta-row .btn:hover{ background:var(--fg); color:var(--inv-fg) }
.cta-row .btn.primary{ background:var(--accent); color:var(--inv-fg); border-color:var(--accent) }
.cta-row .btn.primary:hover{ background:var(--fg); border-color:var(--fg) }
.cta-row .btn .arr{ transform:rotate(-45deg) }

.helper{
  margin-top:18px; font-family:var(--mono); font-size:11px; letter-spacing:.06em;
  color:var(--muted); line-height:1.7; text-transform:uppercase;
}
.helper b{ color:var(--fg); font-weight:500 }

/* DETAILS THUMBNAILS */
.thumbs{
  padding:48px 32px 96px;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;
}
@media (min-width:900px){ .thumbs{ padding:48px 56px 120px } }
@media (min-width:1400px){ .thumbs{ padding:48px 80px 140px } }
.thumbs .t{ position:relative; cursor:pointer }
.thumbs .t .ph{ aspect-ratio:4/5 }
.thumbs .t .lbl{
  position:absolute; left:10px; bottom:10px;
  font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--inv-fg); background:rgba(23,20,19,.78); padding:4px 8px; border-radius:2px;
}
.thumbs .t.active .ph{ border-color:var(--accent); box-shadow:0 0 0 1px var(--accent) inset }
@media (max-width:760px){ .thumbs{ grid-template-columns:1fr 1fr; gap:12px } }

/* ARTIST STATEMENT */
.stmt{
  padding:120px 32px;
  display:grid; grid-template-columns:1fr 1fr; gap:64px;
  border-top:1px solid var(--rule);
}
@media (min-width:900px){ .stmt{ padding:140px 56px } }
@media (min-width:1400px){ .stmt{ padding:160px 80px } }
.stmt .stmt-head{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-bottom:14px }
.stmt .pull{
  font-family:var(--serif); font-size:clamp(36px, 4.4vw, 60px);
  line-height:1.04; letter-spacing:-0.018em;
  max-width:18ch;
}
.stmt .pull .em{ font-style:italic; color:var(--accent) }
.stmt .body p{ font-size:17px; line-height:1.65; margin:0 0 1em; max-width:55ch }
.stmt .body p:last-child{ margin-bottom:0 }
.stmt .body .signoff{
  font-family:var(--serif); font-style:italic; color:var(--accent); margin-top:24px;
}
@media (max-width:900px){
  .stmt{ grid-template-columns:1fr; gap:32px }
}

/* TIMELINE — provenance / exhibitions */
.timeline-wrap{ padding:96px 32px 48px; border-top:1px solid var(--rule) }
@media (min-width:900px){ .timeline-wrap{ padding:96px 56px 48px } }
@media (min-width:1400px){ .timeline-wrap{ padding:96px 80px 48px } }
.timeline{ position:relative; margin-top:32px }
.timeline .event{
  display:grid; grid-template-columns:120px 1fr 1.4fr 1fr;
  gap:32px; padding:24px 0; border-bottom:1px solid var(--rule);
  align-items:baseline;
}
.timeline .event .yr{ font-family:var(--mono); color:var(--muted); font-size:11px; letter-spacing:.1em; text-transform:uppercase }
.timeline .event .what{ font-family:var(--serif); font-size:22px }
.timeline .event .what .em{ font-style:italic; color:var(--accent) }
.timeline .event .where{ color:var(--muted) }
.timeline .event .type{
  font-family:var(--mono); color:var(--muted); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  text-align:right;
}
@media (max-width:900px){
  .timeline .event{ grid-template-columns:80px 1fr; gap:14px }
  .timeline .event .where, .timeline .event .type{ grid-column:2 }
}

/* RELATED */
.related-head{ padding:96px 32px 16px }
@media (min-width:900px){ .related-head{ padding:96px 56px 16px } }
@media (min-width:1400px){ .related-head{ padding:96px 80px 16px } }
.related{
  padding:0 32px 96px;
  display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;
}
@media (min-width:900px){ .related{ padding:0 56px 120px } }
@media (min-width:1400px){ .related{ padding:0 80px 140px } }
.related a .ph{ aspect-ratio:4/5 }
.related a .cap{
  margin-top:12px; display:flex; justify-content:space-between; gap:12px; align-items:baseline;
}
.related a .cap .t{ font-family:var(--serif); font-size:20px }
.related a .cap .t .em{ font-style:italic; color:var(--accent) }
.related a .cap .y{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted) }
@media (max-width:760px){ .related{ grid-template-columns:1fr; gap:32px } }

/* PREV / NEXT */
.work-nav{
  padding:48px 32px 96px;
  display:grid; grid-template-columns:1fr auto 1fr; gap:24px;
  align-items:center;
  border-top:1px solid var(--rule);
}
@media (min-width:900px){ .work-nav{ padding:48px 56px 96px } }
@media (min-width:1400px){ .work-nav{ padding:48px 80px 120px } }
.work-nav a{ display:flex; align-items:center; gap:14px }
.work-nav a .arr{ font-family:var(--serif); font-size:32px; color:var(--accent); line-height:1 }
.work-nav a .info .label{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted) }
.work-nav a .info .name{ font-family:var(--serif); font-size:22px; margin-top:2px }
.work-nav a .info .name .em{ font-style:italic; color:var(--accent) }
.work-nav .index{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:center;
}
.work-nav a.next{ justify-content:flex-end; text-align:right }
@media (max-width:760px){
  .work-nav{ grid-template-columns:1fr }
  .work-nav .index{ display:none }
  .work-nav a.next{ justify-content:flex-start; text-align:left }
}

/* === ARCHIVO === */

/* ARCHIVE HERO */
.arch-hero{
  padding:140px 32px 24px;
}
@media (min-width:900px){ .arch-hero{ padding:160px 56px 32px } }
@media (min-width:1400px){ .arch-hero{ padding:180px 80px 40px } }

.arch-hero .row{
  display:grid; grid-template-columns:1.4fr 1fr; gap:48px; align-items:end;
}
.arch-hero h1{
  font-family:var(--serif);
  font-size:clamp(80px, 16vw, 240px);
  line-height:.84; letter-spacing:-0.025em; font-weight:400;
  margin:0;
}
.arch-hero h1 .em{ font-style:italic; color:var(--accent) }
.arch-hero .lede{
  font-family:var(--serif); font-size:clamp(20px, 1.8vw, 26px); line-height:1.32;
  max-width:34ch; padding-bottom:24px;
}
.arch-hero .lede .em{ font-style:italic; color:var(--accent) }
@media (max-width:900px){
  .arch-hero .row{ grid-template-columns:1fr; gap:24px }
}

/* STATS STRIP */
.stats{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:24px;
  padding:32px 32px 0;
  border-top:1px solid var(--rule);
}
@media (min-width:900px){ .stats{ padding:32px 56px 0 } }
@media (min-width:1400px){ .stats{ padding:32px 80px 0 } }
.stats .cell{ display:flex; flex-direction:column; gap:6px; padding:14px 0 }
.stats .cell .k{
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
}
.stats .cell .v{ font-family:var(--serif); font-size:32px; letter-spacing:-0.01em; line-height:1 }
.stats .cell .v .em{ font-style:italic; color:var(--accent) }
.stats .cell .note{ color:var(--muted); font-size:13px; font-family:var(--mono); letter-spacing:.04em }
@media (max-width:900px){ .stats{ grid-template-columns:1fr 1fr; gap:14px } }

/* FILTER BAR */
.filterbar{
  position:sticky; top:64px; z-index:20;
  margin-top:48px;
  background:color-mix(in srgb, var(--bg) 92%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
}
.filterbar .inner{
  padding:14px 32px;
  display:grid; grid-template-columns:auto 1fr auto auto; gap:24px;
  align-items:center;
}
@media (min-width:900px){ .filterbar .inner{ padding:14px 56px } }
@media (min-width:1400px){ .filterbar .inner{ padding:14px 80px } }
.filterbar .label{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted) }
.fchips{ display:flex; gap:8px; flex-wrap:wrap }
.fchip{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border:1px solid var(--rule); border-radius:999px;
  font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); cursor:pointer; user-select:none;
  transition:background .2s, color .2s, border-color .2s;
  background:transparent;
}
.fchip:hover{ color:var(--fg); border-color:var(--fg) }
.fchip.active{ background:var(--fg); color:var(--inv-fg); border-color:var(--fg) }
.fchip .count{ opacity:.6 }
.fchip.active .count{ opacity:.7 }

.search{
  display:flex; align-items:center; gap:8px;
  border:1px solid var(--rule); border-radius:999px;
  padding:7px 14px; min-width:240px;
  background:transparent;
}
.search input{
  border:0; outline:0; background:transparent; color:var(--fg);
  font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  flex:1; padding:1px 0;
}
.search input::placeholder{ color:var(--muted) }
.search .ic{ color:var(--muted); font-family:var(--mono); font-size:11px }

.viewtog{ display:flex; border:1px solid var(--rule); border-radius:999px; overflow:hidden }
.viewtog button{
  border:0; background:transparent; padding:7px 14px;
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:var(--muted); cursor:pointer;
}
.viewtog button.active{ background:var(--fg); color:var(--inv-fg) }

@media (max-width:1200px){
  .filterbar .inner{ grid-template-columns:1fr; gap:14px }
  .search{ width:100% }
}

/* RESULT META */
.resultmeta{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:28px 32px 14px; color:var(--muted);
}
@media (min-width:900px){ .resultmeta{ padding:28px 56px 14px } }
@media (min-width:1400px){ .resultmeta{ padding:28px 80px 14px } }
.resultmeta .count{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase }
.resultmeta .count .num{ color:var(--accent); font-family:var(--serif); font-style:italic; font-size:18px; vertical-align:-2px; margin:0 4px }
.resultmeta .sort{ font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase }
.resultmeta .sort a{ color:var(--fg); border-bottom:1px solid var(--rule); padding-bottom:2px }

/* GRID VIEW */
.archive-grid{
  padding:0 32px 96px;
  display:grid; grid-template-columns:repeat(4, 1fr); gap:24px 24px;
}
@media (min-width:900px){ .archive-grid{ padding:0 56px 120px } }
@media (min-width:1400px){ .archive-grid{ padding:0 80px 140px } }
.archive-grid .card{ position:relative; transition:opacity .2s }
.archive-grid .card.hide{ display:none }
.archive-grid .card a{ display:block }
.archive-grid .card .ph{ aspect-ratio:4/5; transition:transform .5s cubic-bezier(.16,1,.3,1) }
.archive-grid .card:hover .ph{ transform:translateY(-3px) }
.archive-grid .card .cap{
  margin-top:12px; display:flex; justify-content:space-between; gap:12px; align-items:baseline;
}
.archive-grid .card .cap .t{ font-family:var(--serif); font-size:19px }
.archive-grid .card .cap .t .em{ font-style:italic; color:var(--accent) }
.archive-grid .card .cap .y{ font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.06em }
.archive-grid .card .sub{
  margin-top:2px; font-family:var(--mono); font-size:10px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted);
}
.archive-grid .card .badge{
  position:absolute; top:10px; left:10px;
  font-family:var(--mono); font-size:9px; letter-spacing:.1em; text-transform:uppercase;
  background:var(--inv-bg); color:var(--inv-fg);
  padding:4px 8px; border-radius:2px;
}
.archive-grid .card .badge.sold{ background:var(--accent) }
.archive-grid .card .badge.available{ background:#1F8A5B; color:#fff }

@media (max-width:1200px){ .archive-grid{ grid-template-columns:repeat(3, 1fr) } }
@media (max-width:900px){ .archive-grid{ grid-template-columns:1fr 1fr; gap:18px } }
@media (max-width:520px){ .archive-grid{ grid-template-columns:1fr } }

/* LIST VIEW */
.archive-list{
  padding:0 32px 96px;
}
@media (min-width:900px){ .archive-list{ padding:0 56px 120px } }
@media (min-width:1400px){ .archive-list{ padding:0 80px 140px } }
.archive-list .lrow{
  display:grid; grid-template-columns:80px 80px 1.4fr 1fr 1fr 1fr 80px;
  gap:24px; padding:18px 0; border-top:1px solid var(--rule);
  align-items:center; position:relative;
  transition:background .2s, padding .2s, color .2s;
  cursor:pointer;
}
.archive-list .lrow.hide{ display:none }
.archive-list .lrow:hover{ background:var(--fg); color:var(--inv-fg); padding-left:14px; padding-right:14px }
.archive-list .lrow:hover .num,
.archive-list .lrow:hover .yr,
.archive-list .lrow:hover .disc,
.archive-list .lrow:hover .ser,
.archive-list .lrow:hover .dim,
.archive-list .lrow:hover .av{ color:#ffffff70 }
.archive-list .lrow:hover .av.available{ color:#7ad6a4 }
.archive-list .lrow:hover .av.sold{ color:#f2c39f }
.archive-list .lrow:hover .nm .em{ color:#f2c39f }
.archive-list .lrow .num{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted) }
.archive-list .lrow .yr{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted) }
.archive-list .lrow .nm{ font-family:var(--serif); font-size:24px; line-height:1.1 }
.archive-list .lrow .nm .em{ font-style:italic; color:var(--accent) }
.archive-list .lrow .disc{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted); text-transform:uppercase }
.archive-list .lrow .ser{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:var(--muted); text-transform:uppercase }
.archive-list .lrow .dim{ font-family:var(--mono); font-size:11px; color:var(--muted); letter-spacing:.04em }
.archive-list .lrow .av{ font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; text-align:right }
.archive-list .lrow .av.available{ color:#1F8A5B }
.archive-list .lrow .av.sold{ color:var(--accent) }
.archive-list .lrow .peek{
  position:absolute; right:90px; top:50%; transform:translateY(-50%) translateX(20px);
  width:120px; aspect-ratio:4/5;
  opacity:0; pointer-events:none; transition:opacity .25s, transform .25s;
  z-index:2;
}
.archive-list .lrow:hover .peek{ opacity:1; transform:translateY(-50%) translateX(0) }

@media (max-width:900px){
  .archive-list .lrow{ grid-template-columns:60px 1fr 80px }
  .archive-list .lrow .yr, .archive-list .lrow .disc,
  .archive-list .lrow .ser, .archive-list .lrow .dim,
  .archive-list .lrow .peek{ display:none }
}

/* EMPTY STATE */
.empty{
  padding:96px 32px; text-align:center;
  display:none;
}
.empty.show{ display:block }
.empty .big{
  font-family:var(--serif); font-style:italic; color:var(--accent);
  font-size:64px; line-height:1; margin-bottom:18px;
}
.empty .txt{ color:var(--muted); font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase }
.empty button{
  margin-top:24px; background:transparent; border:1px solid var(--fg);
  padding:10px 18px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer;
}
.empty button:hover{ background:var(--fg); color:var(--inv-fg) }

/* LOAD MORE */
.loadmore{
  display:flex; justify-content:center; padding:24px 0 96px;
}
.loadmore button{
  background:transparent; border:1px solid var(--fg);
  padding:14px 24px; font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  cursor:pointer;
  display:inline-flex; align-items:center; gap:14px;
}
.loadmore button:hover{ background:var(--fg); color:var(--inv-fg) }

/* === HEADER (block-based, fully editable) === */
/* The header part is a Site Editor-editable Group block. Class .site keeps
   the editorial styling; everything inside is native WP blocks the client
   can drag, edit, or remove from Apariencia → Editor → Patrones / Cabecera. */
header.site, .wp-block-group.site{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:linear-gradient(var(--bg), color-mix(in srgb, var(--bg) 70%, transparent));
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
@media (min-width:900px){ header.site, .wp-block-group.site{ padding-left:56px; padding-right:56px } }
@media (min-width:1400px){ header.site, .wp-block-group.site{ padding-left:80px; padding-right:80px } }

/* Site Logo block — sized to brand */
header.site .wp-block-site-logo,
.wp-block-group.site .wp-block-site-logo{ line-height:0 }
header.site .wp-block-site-logo img,
.wp-block-group.site .wp-block-site-logo img{
  height:28px; width:auto; display:block;
}
body.mode-noche header.site .wp-block-site-logo img,
body.mode-noche .wp-block-group.site .wp-block-site-logo img{
  filter:invert(1) brightness(.95);
}

/* Site Title block — wordmark editorial con punto de acento.
   Es texto nativo (editable): Apariencia → Editor → Cabecera. */
header.site .wp-block-site-title,
.wp-block-group.site .wp-block-site-title{
  display:flex; align-items:center; gap:10px; margin:0;
  font-family:var(--serif); font-weight:400; letter-spacing:-0.01em;
}
header.site .wp-block-site-title::before,
.wp-block-group.site .wp-block-site-title::before{
  content:""; flex:0 0 auto;
  width:7px; height:7px; border-radius:50%;
  background:var(--accent); transform:translateY(-1px);
}
header.site .wp-block-site-title a,
.wp-block-group.site .wp-block-site-title a{
  color:var(--fg); text-decoration:none; transition:opacity .2s;
}
header.site .wp-block-site-title a:hover,
.wp-block-group.site .wp-block-site-title a:hover{ opacity:.7; color:var(--fg); }

/* Navigation block — render like our editorial nav */
header.site .wp-block-navigation,
.wp-block-group.site .wp-block-navigation{
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
}
header.site .wp-block-navigation a,
.wp-block-group.site .wp-block-navigation a{ color:var(--fg) }
header.site .wp-block-navigation a:hover,
.wp-block-group.site .wp-block-navigation a:hover{ color:var(--accent) }

/* Navegación numerada (01·02·…) — contadores CSS sobre ítems nativos,
   sin <span> manuales: la nav sigue siendo 100% editable. */
header.site .wp-block-navigation,
.wp-block-group.site .wp-block-navigation{ counter-reset:ggnav; }
header.site .wp-block-navigation .wp-block-navigation-item,
.wp-block-group.site .wp-block-navigation .wp-block-navigation-item{ counter-increment:ggnav; }
header.site .wp-block-navigation .wp-block-navigation-item__content::before,
.wp-block-group.site .wp-block-navigation .wp-block-navigation-item__content::before{
  content:counter(ggnav, decimal-leading-zero);
  margin-right:7px; color:var(--muted);
  font-variant-numeric:tabular-nums; font-weight:400;
}
header.site .wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation-item__content::before,
.wp-block-group.site .wp-block-navigation .wp-block-navigation-item:hover .wp-block-navigation-item__content::before{ color:var(--accent); }
/* el menu móvil desplegado no necesita numeración forzada de color */
header.site .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content::before{ color:var(--muted); }
/* icono hamburguesa + overlay móvil con la paleta de la marca */
header.site .wp-block-navigation__responsive-container-open,
header.site .wp-block-navigation__responsive-container-close{ color:var(--fg); }
header.site .wp-block-navigation__responsive-container.is-menu-open{
  background:var(--bg); color:var(--fg);
}

/* CTA button */
header.site .wp-block-button.cta .wp-block-button__link,
.wp-block-group.site .wp-block-button.cta .wp-block-button__link{
  background:transparent; color:var(--fg);
  border:1px solid var(--fg); border-radius:999px;
  padding:8px 14px;
  font-family:var(--mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
}
header.site .wp-block-button.cta .wp-block-button__link:hover,
.wp-block-group.site .wp-block-button.cta .wp-block-button__link:hover{
  background:var(--fg); color:var(--inv-fg);
}

/* Push first section below the fixed header */
.wp-site-blocks > main:first-of-type{ padding-top:80px }

@media (max-width:760px){
  /* En móvil la Navegación nativa colapsa a su menú hamburguesa (overlayMenu:mobile);
     NO la ocultamos. Sólo retiramos el CTA para dar aire. */
  header.site .wp-block-buttons,
  .wp-block-group.site .wp-block-buttons{ display:none }
  header.site .wp-block-navigation .wp-block-navigation-item__content::before,
  .wp-block-group.site .wp-block-navigation .wp-block-navigation-item__content::before{ display:none }
}