:root { --ink:#2f2f2d; --muted:#666662; --line:#d2d2ce; --soft:#f5f5f2; --font:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; color:var(--ink); font-family:var(--font); font-weight:300; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; color:inherit; }
img { display:block; max-width:100%; }
.header { position:sticky; top:0; z-index:10; height:76px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(24px,4vw,64px); background:rgba(255,255,255,.95); border-bottom:1px solid var(--line); }
.name,.header nav { font-size:12px; letter-spacing:.08em; }
.header nav { display:flex; align-items:center; gap:30px; }
.header nav span { color:var(--muted); }
.works-nav,.exhibitions-nav { position:relative; }
.works-nav summary,.exhibitions-nav summary { list-style:none; cursor:pointer; }
.works-nav summary::-webkit-details-marker,.exhibitions-nav summary::-webkit-details-marker { display:none; }
.works-nav summary::after,.exhibitions-nav summary::after { content:'+'; display:inline-block; margin-left:7px; color:var(--muted); font-size:10px; }
.works-nav[open] summary::after,.exhibitions-nav[open] summary::after { content:'−'; }
.works-subnav { position:absolute; top:calc(100% + 18px); left:-16px; min-width:190px; display:flex; flex-direction:column; gap:0; padding:9px 0; background:#fff; border:1px solid var(--line); box-shadow:0 10px 24px rgba(0,0,0,.05); }
.works-subnav a,.works-subnav span { padding:10px 16px; white-space:nowrap; }
.works-subnav a:hover,.works-subnav a:focus,.works-subnav a.active { background:var(--soft); }
.works-subnav span { color:var(--muted); }
.exhibitions-subnav { min-width:305px; }

.intro { min-height:78vh; display:grid; grid-template-columns:1.05fr 1fr; gap:10vw; align-items:end; padding:clamp(100px,13vw,190px) clamp(24px,7vw,120px) clamp(90px,10vw,150px); border-bottom:1px solid var(--line); }
.intro h1 { margin:0; color:#666662; font-size:clamp(48px,6.8vw,98px); font-weight:300; line-height:.9; letter-spacing:-.045em; }
.statement { max-width:650px; padding-bottom:5px; }
.statement p { margin:0 0 1.3em; color:#424240; font-size:clamp(16px,1.35vw,21px); font-weight:400; line-height:1.58; letter-spacing:-.01em; }

.works,.exhibitions,.bio,.contact-section { padding:clamp(80px,10vw,150px) clamp(24px,7vw,120px); }
.works h2,.exhibitions h2,.bio h2,.contact-section h2 { margin:0 0 clamp(55px,7vw,100px); font-size:13px; font-weight:300; letter-spacing:.08em; }
.works-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(70px,9vw,150px) clamp(32px,6vw,100px); align-items:start; }
.work { min-width:0; margin:0; }
.work-image { width:100%; height:clamp(410px,40vw,690px); display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; }
.image-frame { display:block; width:100%; height:100%; overflow:hidden; }
.work-image img { width:100%; height:100%; object-fit:contain; }
.work-image.image-pair { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.work-image.image-pair .image-frame { min-width:0; background:#fff; }
.work--luna-techo { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,4fr) minmax(190px,1fr); gap:clamp(30px,4vw,72px); align-items:end; }
.work--luna-techo .work-image.image-pair { height:auto; gap:clamp(14px,2vw,30px); overflow:visible; align-items:stretch; }
.work--luna-techo .work-image.image-pair .image-frame { height:auto; aspect-ratio:.9; overflow:hidden; }
.work--luna-techo .work-image.image-pair img { width:100%; height:100%; object-fit:cover; object-position:center; }
.work--luna-techo .work-image.image-pair .image-frame:nth-child(2) img { transform:scale(1.2); transform-origin:center 80%; }
.work--luna-techo figcaption { padding:0 0 2px; }
.work--cafe-platanos .work-image { height:auto; aspect-ratio:1.38; }
.work--cafe-platanos .work-image img { transform:scale(1.08); transform-origin:left center; object-fit:cover; object-position:left center; }
.work--haciendo-tiempo .work-image { height:auto; aspect-ratio:1.86; }
.work--haciendo-tiempo .work-image img { transform:scale(1.33); transform-origin:left center; object-fit:cover; object-position:left center; }
figcaption { padding-top:18px; }
figcaption h3 { margin:0 0 10px; color:#50504d; font-size:15px; font-weight:500; line-height:1.4; }
figcaption p { margin:0; color:#4b4b48; font-size:13px; font-weight:400; line-height:1.65; }
.technical-sheet span { display:block; }
.exhibitions { border-top:1px solid var(--line); }
.bio { display:grid; grid-template-columns:1fr 2fr; gap:8vw; border-top:1px solid var(--line); }
.bio h2 { margin:0; }
.bio-copy { max-width:850px; }
.bio-copy p { margin:0 0 1.4em; color:#424240; font-size:15px; font-weight:400; line-height:1.7; }
.contact-section { display:grid; grid-template-columns:1fr 2fr; gap:8vw; border-top:1px solid var(--line); }
.contact-section h2 { margin:0; }
.contact-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.contact-section a { width:max-content; color:#555552; font-size:clamp(16px,1.8vw,25px); font-weight:300; letter-spacing:-.01em; border-bottom:1px solid var(--line); }
.archive-section { padding:clamp(95px,11vw,165px) clamp(24px,7vw,120px) clamp(100px,12vw,180px); }
.archive-section > h1 { margin:0 0 clamp(65px,8vw,115px); color:#50504d; font-size:13px; font-weight:300; letter-spacing:.08em; }
.archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(75px,10vw,160px) clamp(34px,6vw,100px); align-items:start; }
.archive-card { min-width:0; margin:0; }
.archive-image { width:100%; height:clamp(390px,38vw,660px); display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; }
.archive-image-inner { width:100%; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#fff; }
.archive-image img { width:100%; height:100%; object-fit:contain; }
.archive-card--caption-left .archive-image { aspect-ratio:.87; height:auto; }
.archive-card--caption-left .archive-image img { object-fit:cover; object-position:right center; transform:scale(1.015); }
.archive-card--white-wall .archive-image { background:#fff; }
.archive-card--white-wall .archive-image-inner { width:auto; height:88%; aspect-ratio:.78; box-shadow:0 7px 20px rgba(36,36,36,.08); }
.archive-card--white-wall .archive-image img { object-fit:cover; object-position:center 46%; transform:scale(1.1); }
.archive-card--tight-portrait .archive-image { aspect-ratio:.72; height:auto; }
.archive-card--tight-portrait .archive-image img { object-fit:cover; object-position:center; transform:scale(1.025); }
.archive-card--art-only-wide .archive-image { aspect-ratio:1.415; height:auto; }
.archive-card--art-only-wide .archive-image img { object-fit:cover; object-position:center 44%; transform:scale(1.3); }
.archive-card figcaption h2 { margin:0 0 10px; color:#50504d; font-size:15px; font-weight:500; line-height:1.4; }
.archive-card figcaption p { margin:0; color:#4b4b48; font-size:13px; font-weight:400; line-height:1.65; }
.exhibition-page { padding:clamp(100px,12vw,180px) clamp(24px,7vw,120px) clamp(110px,13vw,190px); }
.exhibition-heading { display:grid; grid-template-columns:1fr 2fr; gap:8vw; margin-bottom:clamp(70px,9vw,130px); }
.exhibition-heading h1 { margin:0; color:#50504d; font-size:clamp(30px,4.3vw,64px); font-weight:300; line-height:1.05; letter-spacing:-.035em; }
.exhibition-meta { margin:4px 0 0; color:#4b4b48; font-size:15px; font-weight:400; line-height:1.7; }
.curatorial-text { max-width:1180px; margin:0 0 clamp(90px,12vw,170px) auto; column-count:2; column-gap:clamp(42px,7vw,105px); }
.curatorial-text p { break-inside:avoid; margin:0 0 1.45em; color:#424240; font-size:15px; font-weight:400; line-height:1.75; }
.curatorial-author { text-align:right; letter-spacing:.06em; }
.curatorial-text--numbered { max-width:900px; column-count:1; }
.curatorial-section { margin:0 0 clamp(42px,6vw,82px); }
.curatorial-section:last-child { margin-bottom:0; }
.curatorial-section-number { margin-bottom:1.1em !important; font-size:13px !important; letter-spacing:.08em; }
.curatorial-poem { margin-top:2.3em; }
.curatorial-poem p { margin-bottom:1.8em; }
.exhibition-gallery { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(26px,4vw,64px); align-items:start; }
.exhibition-gallery figure { grid-column:span 6; margin:0; }
.exhibition-gallery figure:nth-child(1),.exhibition-gallery figure:nth-child(6) { grid-column:1 / -1; }
.exhibition-gallery figure:nth-child(2),.exhibition-gallery figure:nth-child(4),.exhibition-gallery figure:nth-child(8) { grid-column:span 5; }
.exhibition-gallery figure:nth-child(3),.exhibition-gallery figure:nth-child(5),.exhibition-gallery figure:nth-child(7) { grid-column:span 7; }
.exhibition-gallery img { width:100%; height:auto; }
.press-line { margin:clamp(70px,9vw,130px) 0 0; padding-top:24px; border-top:1px solid var(--line); color:#424240; font-size:14px; font-weight:400; line-height:1.65; }
.press-line a { border-bottom:1px solid var(--line); }
.collective-page { padding:clamp(100px,12vw,180px) clamp(24px,7vw,120px) clamp(110px,13vw,190px); }
.collective-page > h1 { margin:0 0 clamp(70px,9vw,130px); color:#50504d; font-size:13px; font-weight:300; letter-spacing:.08em; text-transform:uppercase; }
.collective-list { display:flex; flex-direction:column; gap:clamp(105px,13vw,190px); }
.collective-entry { display:grid; grid-template-columns:minmax(0,4fr) minmax(190px,1fr); gap:clamp(30px,5vw,80px); align-items:end; }
.collective-media { min-width:0; margin:0; }
.collective-media img { width:100%; height:auto; }
.collective-composite { display:grid; grid-template-columns:1.816fr 1fr; gap:clamp(12px,2vw,30px); align-items:start; }
.collective-sheet { padding-bottom:2px; }
.collective-sheet h2 { margin:0 0 11px; color:#50504d; font-size:15px; font-weight:400; font-style:italic; line-height:1.4; }
.collective-sheet p { margin:0; color:#4b4b48; font-size:13px; font-weight:400; line-height:1.65; }
.collective-sheet span { display:block; }
footer { min-height:100px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; padding:25px clamp(24px,4vw,64px); border-top:1px solid var(--line); font-size:11px; letter-spacing:.07em; }
footer span:nth-child(2) { color:var(--muted); text-align:center; }
footer a { justify-self:end; border-bottom:1px solid var(--ink); padding-bottom:2px; }

/* Editor privado */
.editor-body { background:var(--soft); }
.editor-header { position:sticky; top:0; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px clamp(20px,4vw,56px); background:#fff; border-bottom:1px solid var(--line); }
.editor-title { margin:0; font-size:13px; font-weight:300; letter-spacing:.08em; }
.editor-actions { display:flex; align-items:center; gap:12px; }
.button { border:1px solid var(--ink); padding:10px 16px; background:#fff; font-size:11px; letter-spacing:.06em; cursor:pointer; }
.button.primary { background:var(--ink); color:#fff; }
.editor-main { max-width:1180px; margin:0 auto; padding:55px 24px 100px; }
.editor-intro { max-width:700px; margin:0 0 45px; font-size:14px; line-height:1.6; }
.status { min-height:22px; margin:0 0 14px; color:var(--muted); font-size:12px; }
.editor-list { display:flex; flex-direction:column; gap:12px; }
.editor-card { display:grid; grid-template-columns:32px 120px 1fr auto; gap:18px; align-items:center; padding:14px; background:#fff; border:1px solid var(--line); }
.editor-card.dragging { opacity:.35; }
.drag-handle { color:var(--muted); font-size:18px; cursor:grab; text-align:center; }
.editor-thumb { width:120px; height:100px; object-fit:contain; background:var(--soft); }
.editor-fields { display:grid; grid-template-columns:2fr .55fr 1.6fr .8fr; gap:10px; }
.field { min-width:0; }
.field label { display:block; margin:0 0 5px; color:var(--muted); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.field input { width:100%; border:0; border-bottom:1px solid var(--line); padding:7px 2px; outline:none; background:#fff; font-size:12px; }
.field input:focus { border-color:var(--ink); }
.editor-controls { display:flex; flex-direction:column; gap:7px; align-items:stretch; }
.editor-controls button { border:0; padding:4px 8px; background:var(--soft); font-size:10px; cursor:pointer; }
.visibility { display:flex; align-items:center; gap:5px; color:var(--muted); font-size:10px; }
.editor-note { margin-top:30px; color:var(--muted); font-size:11px; line-height:1.55; }

@media (max-width:800px) {
  .header { height:auto; min-height:92px; flex-direction:column; align-items:flex-start; gap:14px; padding:15px 20px; }
  .header nav { width:100%; justify-content:space-between; gap:10px; font-size:10px; }
  .works-subnav { left:0; right:auto; }
  .exhibitions-nav .works-subnav { left:auto; right:0; }
  .intro { min-height:auto; grid-template-columns:1fr; gap:70px; align-items:start; }
  .works-grid { grid-template-columns:1fr; }
  .work-image { height:min(110vw,650px); }
  .work--luna-techo { grid-column:auto; grid-template-columns:1fr; gap:18px; }
  .work--luna-techo figcaption { padding-top:18px; }
  .bio,.contact-section { grid-template-columns:1fr; }
  .archive-grid { grid-template-columns:1fr; }
  .archive-image { height:min(110vw,650px); }
  .exhibition-heading { grid-template-columns:1fr; gap:22px; }
  .curatorial-text { margin-left:0; column-count:1; }
  .exhibition-gallery figure,.exhibition-gallery figure:nth-child(n) { grid-column:1 / -1; }
  .collective-entry { grid-template-columns:1fr; gap:18px; }
  .collective-composite { gap:10px; }
  footer { grid-template-columns:1fr; }
  footer span:nth-child(2) { text-align:left; }
  footer a { justify-self:start; }
  .editor-header { align-items:flex-start; flex-direction:column; }
  .editor-card { grid-template-columns:24px 80px 1fr; align-items:start; }
  .editor-thumb { width:80px; height:80px; }
  .editor-fields { grid-template-columns:1fr; }
  .editor-controls { grid-column:3; flex-direction:row; flex-wrap:wrap; }
}
