:root{--bg:#fff;--ink:#111;--muted:#666;--line:#dededb;--max:1600px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.45}
img{display:block;width:100%}a{color:inherit}button{font:inherit;color:inherit;-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible{outline:2px solid #555;outline-offset:5px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.paper-color-definitions{position:absolute;pointer-events:none;overflow:hidden}
img[src*="dibujo-marco-01.webp"]{filter:url(#paper-balance-01)}img[src*="dibujo-marco-02.webp"]{filter:url(#paper-balance-02)}img[src*="dibujo-marco-03.webp"]{filter:url(#paper-balance-03)}img[src*="dibujo-marco-04.webp"]{filter:url(#paper-balance-04)}
/* Header and opening artwork. */
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:25px clamp(18px,4.8vw,72px);background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.brand{font-size:1.3rem;font-weight:500;letter-spacing:-.035em;text-decoration:none}
.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:0;background:transparent}
.menu-toggle span{height:1.5px;width:24px;background:#111;transition:transform .2s,opacity .2s}
.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}
.site-header nav{display:none;position:absolute;top:100%;right:clamp(18px,4.8vw,72px);min-width:270px;padding:26px;background:#fff;border:1px solid var(--line);flex-direction:column;gap:20px}
.site-header nav.open{display:flex}.site-header nav a{font-size:1rem;color:#555;text-decoration:none;line-height:1.5}
.museum-hero{display:flex;max-width:var(--max);margin:auto;justify-content:center;padding:35px 20px 75px}
.hero-art-button{width:min(76vw,740px);border:0;background:transparent;padding:0;cursor:zoom-in}.hero-art-button img{height:min(70svh,690px);object-fit:contain}
/* Series and text hierarchy. */
section[id]{scroll-margin-top:110px}.section{max-width:var(--max);margin:auto;padding:120px clamp(18px,4.8vw,72px);border-top:1px solid var(--line)}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;margin:0 0 18px}.section h2{font-size:clamp(2.3rem,4.8vw,5.2rem);font-weight:500;letter-spacing:-.045em;line-height:1.08;margin:0}
.section-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);column-gap:7vw;row-gap:70px;padding-bottom:90px;align-items:start}
.intro-text{max-width:650px;min-width:0;padding-top:38px}.intro-text>p{font-size:clamp(1.1rem,1.5vw,1.5rem);line-height:1.5;margin:0 0 26px}
.read-more,.series-statement summary,.info summary{font-size:1rem;background:none;border:0;padding:0;text-decoration:none;color:#555;line-height:1.5;white-space:normal;max-width:100%;overflow-wrap:break-word}
.read-more:hover,.series-statement summary:hover,.info summary:hover,.site-header nav a:hover{color:#222}
.read-more span,.view-series span,summary span,.site-header nav a span{display:inline-block;margin-right:5px}
.series-statement{margin:0 0 10px;color:#5b5b57}.series-statement summary,.info summary{list-style:none}.series-statement summary::-webkit-details-marker,.info summary::-webkit-details-marker{display:none}
.series-statement p{font-size:1rem;line-height:1.65;margin:24px 0}.series-entry{grid-column:1/-1;text-align:center}
.view-series{border:1px solid #222;background:#fff;color:#555;padding:14px 40px;font-size:1rem;line-height:1.5}.view-series:hover{background:#111;color:#fff}
.gallery-series{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:70px 44px;padding:0}.selected-series{grid-column:1/-1;gap:44px;align-items:end}
.work{margin:0;min-width:0}.work-button{display:block;width:100%;border:0;padding:0;background:transparent;cursor:zoom-in;overflow:hidden}
.gallery-series .work-button img{width:100%;height:clamp(220px,28vw,410px);object-fit:contain}.selected-series .work-button img{height:330px}
.work>p{font-size:.875rem;line-height:1.45;margin:12px 0 0;overflow-wrap:break-word}.work>p span{display:block;color:#666;font-size:.875rem;margin-top:4px}
.gallery-series .work-drawing .work-button{border:10px solid;border-color:#fff #eeeeeb #e6e6e2 #f8f8f5;outline:1px solid #deded9;box-shadow:inset 0 0 0 1px #deded8,0 2px 5px #0000000d;padding:7.14%;background:#fafaf8}
.drawing-window{display:block;width:100%;aspect-ratio:792/1108;overflow:hidden;position:relative}.drawing-crop-03{aspect-ratio:773/1076}.drawing-crop-04{aspect-ratio:766/1076}
.gallery-series .work-drawing .drawing-window img{position:absolute;width:113.636%;height:auto;max-width:none;left:-6.818%;top:-4.152%;padding:0}
.gallery-series .work-drawing .drawing-crop-03 img{width:116.429%;left:-6.986%;top:-6.32%}.gallery-series .work-drawing .drawing-crop-04 img{width:117.493%;left:-9.138%;top:-6.32%}
/* Historical rail: complete artwork at a shared height, with captions no wider than it. */
.archive{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);column-gap:80px;row-gap:28px;align-items:start}.archive>div:first-child{display:contents}
.archive>div:first-child>.eyebrow{grid-column:1;grid-row:1;margin:0}.archive>div:first-child>h2{grid-column:1;grid-row:2}
.archive>p{grid-column:2;grid-row:2;font-size:clamp(1.12rem,1.45vw,1.5rem);line-height:1.38;margin:0;min-width:0;max-width:680px}
.archive>p .read-more{display:block;margin-top:24px;text-align:left}.archive .archive-heading{grid-column:1/-1;grid-row:3;margin:60px 0 10px}
.rail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.rail-heading h3{font-size:1.35rem;font-weight:400;margin:0}.rail-controls{display:flex;gap:12px}
.rail-controls button{border:0;background:transparent;font-size:1.8rem;line-height:1;padding:8px;min-width:44px;min-height:44px}.rail-controls button:disabled{opacity:.25;cursor:default}
.archive-grid.art-rail{--archive-height:320px;grid-column:1/-1;grid-row:4;display:flex;align-items:flex-start;gap:42px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ddd transparent;padding-bottom:28px}
.archive-grid figure{scroll-snap-align:start;flex:none;width:var(--archive-width,calc(var(--archive-height) * var(--archive-ratio)));min-width:0;margin:0;cursor:zoom-in}
.archive-grid img{width:100%;height:var(--archive-height);object-fit:contain}.archive-grid figcaption{width:100%;max-width:100%;font-size:.875rem;line-height:1.5;margin-top:9px;color:#666;overflow-wrap:break-word}
.archive-grid figure:focus-visible{outline-offset:-2px}
/* Installation and biography. */
.project{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.4fr);gap:36px 60px;align-items:start}.project-title{grid-column:1/-1}
.project-copy{grid-column:1;grid-row:2;min-height:380px}.project-place{font-size:1.15rem;color:#666;margin:0;line-height:1.4}
.project-copy>p:last-child{margin:34px 0 0;max-width:420px;font-size:1.05rem;line-height:1.55}.project-gallery{grid-column:2;grid-row:2;align-self:stretch;position:relative;min-height:0}
.project-image{position:absolute;inset:0;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px}.project-image img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center}.project-image figcaption{margin:0;font-size:.875rem;color:#666}
.info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:80px;align-items:start}.info-copy{min-width:0;max-width:760px;padding-top:38px}
.info-copy>p{font-size:clamp(1.15rem,1.65vw,1.72rem);line-height:1.32;margin:0 0 32px}.info details{margin-top:55px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cv-content{font-size:1rem;line-height:1.6;color:#333}.cv-content h3{font-weight:500;font-size:1.1rem;color:#111;margin:32px 0 12px}.cv-content p{max-width:70ch}.cv-content ul{padding-left:1.2rem;line-height:1.55}.cv-content li{margin-bottom:9px}
footer{padding:32px clamp(18px,4.8vw,72px);display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);font-size:.875rem;color:#555}
footer p{margin:0;white-space:nowrap}footer>div{display:flex;flex-direction:row;align-items:center;gap:28px;white-space:nowrap}footer a{text-decoration:none}
.instagram-link{display:inline-flex;align-items:center;gap:8px}.instagram-link svg{width:20px;height:20px;flex:none;color:#666}
/* Text and series dialogs. */
dialog{border:0;padding:45px clamp(22px,5vw,64px);background:#fff;color:#111;width:min(92vw,780px);max-width:none;max-height:88svh;overflow:auto;box-shadow:0 22px 80px #00000038}
dialog::backdrop{background:#0000007a}dialog h2{font-size:clamp(1.7rem,3vw,2.6rem);font-weight:500;line-height:1.15;letter-spacing:-.04em;margin:32px 0}dialog p{max-width:65ch;line-height:1.7}.signature{margin-top:36px;font-size:.9rem;color:#666}
.dialog-close{float:right;display:inline-grid;place-items:center;position:sticky;top:0;width:40px;height:40px;min-width:40px;padding:0;border:0;border-radius:0;background:#111;color:#fff;text-decoration:none;z-index:3}.dialog-close svg{display:block;width:23px;height:23px}
#series-dialog{width:min(96vw,1450px);max-height:94svh;padding:50px clamp(20px,4vw,60px);overscroll-behavior:contain}#series-dialog h2{font-size:clamp(2.2rem,4vw,4rem);margin-bottom:65px}
body:has(dialog[open]){overflow:hidden}
/* Full-screen viewer: only the picture area can scroll. */
#work-dialog{position:fixed;inset:0;width:100vw;height:100svh;height:100dvh;max-height:100svh;max-height:100dvh;max-width:100vw;padding:0;margin:0;overflow:hidden;z-index:100}
#work-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.work-viewer-header{display:flex;align-items:center;gap:24px;padding:14px 24px;padding-top:max(14px,env(safe-area-inset-top));padding-right:max(24px,env(safe-area-inset-right));padding-left:max(24px,env(safe-area-inset-left));border-bottom:1px solid #e5e5e5;background:#fff;z-index:3}
.viewer-name{font-size:1rem;color:#555;margin-right:auto}.work-viewer-header .zoom-toggle{border:0;background:none;text-decoration:underline;text-underline-offset:4px;font-size:.875rem;white-space:normal;color:#555;line-height:1.4;text-align:right;padding:8px 0}
#work-dialog .dialog-close{position:static;float:none;flex:none}.work-image-stage{position:relative;min-height:0;height:100%;padding:20px 64px;overflow:hidden}
.dialog-image-wrap{width:100%;height:100%;min-height:0;overflow:auto;display:flex;align-items:center;justify-content:center;background:#fff;touch-action:pan-y}
#work-dialog .dialog-image-wrap img{display:block;max-width:100%;max-height:100%;object-fit:contain;margin:0;flex:none;cursor:zoom-in}
.dialog-image-wrap.is-zoomed{display:block;cursor:grab;touch-action:pan-x pan-y;overscroll-behavior:contain}.dialog-image-wrap.dragging{cursor:grabbing;user-select:none}
#work-dialog .dialog-image-wrap img.zoomed{max-width:none;max-height:none;cursor:zoom-out}
.viewer-side{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:56px;border:0;background:#fff;color:#555;font-size:2.6rem;line-height:1;text-decoration:none;z-index:2}.viewer-side:hover{color:#111}.viewer-left{left:0}.viewer-right{right:0}
.dialog-work-info{display:flex;align-items:flex-start;height:auto;overflow:visible;padding:16px 24px 20px;padding-bottom:max(20px,env(safe-area-inset-bottom));gap:24px;border-top:1px solid #e5e5e5;background:#fff;z-index:3}
.dialog-work-info>div:first-child{min-width:0;flex:1}#work-dialog h2{font-size:1.15rem;line-height:1.25;margin:0 0 3px}#work-dialog .dialog-work-info p{display:none}
.work-facts{margin:8px 0 0;display:flex;gap:8px 24px;flex-wrap:wrap;font-size:.875rem;line-height:1.5;color:#555}.work-facts>div{min-width:0;max-width:100%}.work-facts dt{font-size:.75rem;color:#777}.work-facts dd{margin:0;overflow-wrap:break-word}
.dialog-actions{margin:0;padding:0;flex:none;align-self:flex-end}.work-position{font-size:.875rem;color:#777;white-space:nowrap}
@media(max-width:760px){
 body{font-size:16px}.site-header{padding:12px 16px}.brand{font-size:1rem}.site-header nav{left:16px;right:16px;min-width:0}
 section[id]{scroll-margin-top:95px}.museum-hero{padding:28px 16px 55px}.hero-art-button{width:100%}.hero-art-button img{height:min(76vw,540px)}
 .section{padding:65px 16px}.section h2{font-size:clamp(2.15rem,9vw,3rem);line-height:1.1}
 .section-intro{grid-template-columns:minmax(0,1fr);row-gap:32px}.intro-text,.info-copy{padding-top:0}.intro-text>p{font-size:1.1rem}
 .selected-series{grid-template-columns:minmax(0,1fr);gap:48px;max-width:520px;margin:12px auto 0;width:100%}.selected-series .work-button img{height:min(85vw,450px)}.selected-series .work-drawing{width:72%;justify-self:center}
 .full-series{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 18px}.full-series .work-button img{height:40vw}.gallery-series .work-drawing .work-button{border-width:7px}
 .archive{grid-template-columns:minmax(0,1fr);row-gap:28px}.archive>p{grid-column:1;grid-row:3}.archive .archive-heading{grid-row:4;margin:35px 0 10px}.archive-grid.art-rail{grid-row:5;--archive-height:220px;gap:25px;padding-bottom:25px}
 .project{grid-template-columns:minmax(0,1fr);gap:28px}.project-title,.project-copy,.project-gallery{grid-column:1;grid-row:auto}.project-copy{min-height:0}.project-gallery{position:static}.project-image{position:static;display:block}.project-image img{height:auto;aspect-ratio:3/2}.project-image figcaption{margin-top:12px}
 .info{grid-template-columns:minmax(0,1fr);gap:32px}.info-copy>p{font-size:1.15rem}
 footer{justify-content:flex-start;gap:28px;overflow-x:auto;scrollbar-width:thin}footer>p,footer>div{flex:none}footer>div{gap:24px}
 dialog{max-height:92svh}#series-dialog{width:100vw;max-width:100vw;height:100svh;height:100dvh;max-height:100dvh;margin:0;padding:25px 16px}#series-dialog h2{margin-bottom:45px}
 .work-viewer-header{gap:12px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.viewer-name{font-size:.875rem}.work-viewer-header .zoom-toggle{max-width:140px}
 .work-image-stage{padding:12px 36px}.viewer-side{width:32px;height:48px;font-size:2.2rem}
 .dialog-work-info{padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom));gap:10px}.work-facts{display:block;margin:5px 0 0;font-size:.875rem;line-height:1.4}.work-facts>div{display:block;margin:3px 0}.work-facts dt,.work-facts dd{display:inline;font-size:inherit}.work-facts dt::after{content:': '}
}
@media(max-height:500px){.work-viewer-header{padding-top:6px;padding-bottom:6px}.dialog-work-info{padding-top:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.work-facts{display:flex;gap:4px 16px;margin-top:3px}.work-facts>div{margin:0}#work-dialog h2{font-size:1rem}.work-image-stage{padding-top:8px;padding-bottom:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.menu-toggle span{transition:none}}

/* A matte white wooden frame and pale gutter remain visible in the work viewer. */
.viewer-artwork{position:relative;flex:none;box-sizing:border-box;max-width:none;max-height:none}
.viewer-paper{width:100%;height:100%}
#work-dialog .viewer-paper img{width:100%;height:100%;max-width:none;max-height:none}
.viewer-artwork.is-drawing{border:var(--frame) solid;border-color:#fff #eeeeeb #e6e6e2 #f8f8f5;background:#fafaf8;outline:1px solid #deded9;box-shadow:inset 0 0 0 1px #deded8,0 2px 5px #0000000d;padding:var(--gutter)}
.viewer-artwork.is-drawing .viewer-paper{position:relative;overflow:hidden;box-shadow:0 0 0 1px #efefea}
#work-dialog .viewer-artwork.is-drawing img{position:absolute;width:113.636%;height:auto;left:-6.818%;top:-4.152%;object-fit:initial;user-select:none;-webkit-user-drag:none}
#work-dialog .viewer-artwork[data-drawing="03"] img{width:116.429%;left:-6.986%;top:-6.32%}
#work-dialog .viewer-artwork[data-drawing="04"] img{width:117.493%;left:-9.138%;top:-6.32%}

/* Full photographed white frames; no second simulated mat or crop. */
.gallery-series .work-framed .work-button{border:0;padding:0;background:#fff;box-shadow:none;outline:0}
.gallery-series .work-framed img{position:static;width:100%;height:clamp(220px,28vw,410px);object-fit:contain}
.selected-series .work-framed img{height:330px}
@media(max-width:760px){.selected-series .work-framed img{height:min(85vw,450px)}.full-series .work-framed img{height:40vw}}

/* Prices follow each caption and remain visible in the artwork viewer. */
.work>p .work-price,.archive-grid .work-price{display:block;margin-top:8px;color:#444;font-size:.875rem;font-weight:400;letter-spacing:.015em;white-space:nowrap}
.work-price-fact dd{color:#333;font-variant-numeric:tabular-nums}
