:root{--paper:#f3f0e8;--ink:#292d26;--olive:#555b43;--muted:#7d8074;--line:#dcded2;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans)}body{overflow:hidden}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #a99452;outline-offset:5px}button{border:0}button svg,svg.icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button svg use{pointer-events:none}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}button:active{transform:translateY(1px)}[hidden]{display:none!important}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:600;line-height:1.6}.tiny-line{display:inline-block;width:30px;height:1px;background:currentColor;margin:0 12px 3px 0}.text-button{padding:8px 0;background:transparent;font-size:12px}.primary,.outline-button{display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:18px 25px;font-size:12px;letter-spacing:.02em;background:var(--olive);color:white}.primary:hover{background:#3f462f}.outline-button{border:1px solid #aeb3a2;background:transparent;color:var(--ink);gap:16px}.outline-button:hover{background:#e8e9de}.quiet{font-size:11px!important;color:var(--muted);line-height:1.7!important}
#welcome{display:grid;grid-template-columns:53% 47%;height:100%;min-height:640px}.welcome-copy{padding:34px 8% 26px 9%;display:flex;flex-direction:column;position:relative}.brand-mark{font-family:var(--serif);font-style:italic;font-size:38px;line-height:1;display:flex;align-items:center;gap:16px}.brand-mark span{font-family:var(--sans);font-style:normal;font-size:9px;letter-spacing:.19em;border-left:1px solid #bdc0b1;padding:9px 16px}.welcome-main{margin:auto 0}.welcome-main .eyebrow{margin-bottom:30px;color:var(--olive)}h1{font:normal clamp(52px,5.6vw,88px)/1.02 var(--serif);letter-spacing:-.055em;margin:0 0 28px}h1 em,h2 em{font-weight:normal;color:#70775b}h2{font:normal 42px/1.1 var(--serif);letter-spacing:-.035em}.welcome-lead{font:normal clamp(22px,2.2vw,30px)/1.25 var(--serif);margin:0 0 18px}.welcome-text{font-size:12px;line-height:1.9;color:#73766b}.welcome-actions{display:flex;align-items:center;gap:26px;margin:30px 0 12px}.welcome-actions .text-button{border-bottom:1px solid #b8bcab;padding-bottom:8px}.welcome-actions .text-button span{padding-left:20px}.load-status{font-size:10px;min-height:15px;color:var(--muted)}.welcome-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:24px}.welcome-foot>span{font-size:8px;letter-spacing:.13em}.welcome-foot b{margin:0 10px}.welcome-art{background:#d9d3bf;position:relative;padding:58px 11% 50px 10%;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.welcome-art:before{content:'';position:absolute;width:100%;height:65%;left:30%;top:0;background:linear-gradient(125deg,#ffffff66,transparent);transform:skewX(-22deg);pointer-events:none}.edition{font-size:9px;letter-spacing:.18em;position:absolute;top:50px}.hero-frame{background:#ece7d9;box-shadow:18px 25px 50px #68644e44,3px 3px 5px #48433233;padding:14px;transform:rotate(-1deg);margin:30px 0 24px;position:relative}.hero-frame img{display:block;width:100%;max-height:68vh;object-fit:contain}.hero-caption{display:flex;justify-content:space-between;gap:18px;align-items:baseline;font-size:9px;color:#585c4d}.hero-caption span:first-child{font:italic 19px var(--serif)}.vertical-note{position:absolute;right:20px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;top:50%}
#gallery{position:fixed;inset:0;background:#dad8cd}#stage{position:absolute;inset:0;outline:none;touch-action:none;transition:right .3s}#stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#stage canvas:active{cursor:grabbing}.gallery-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px;gap:12px;pointer-events:none;background:linear-gradient(#f3f0e8e6,transparent)}.gallery-header button{pointer-events:auto}.artist-lockup{background:none;text-align:left;padding:0}.artist-lockup>span{display:block;font:22px var(--serif);letter-spacing:-.02em}.artist-lockup small{display:block;font-size:8px;letter-spacing:.2em;margin-top:9px;color:#6a6d60}.top-actions{display:flex;gap:8px;align-items:center}.pill,.icon-button{background:#f8f7f0e8;display:flex;justify-content:center;align-items:center;gap:9px;min-height:40px;backdrop-filter:blur(16px);border:1px solid #cecfc266;border-radius:5px}.pill{font-size:11px;padding:10px 14px}.pill:hover,.icon-button:hover{background:white}.pill[aria-pressed=true]{background:var(--olive);color:white}.icon-button{width:40px;padding:10px}.flip{transform:rotate(180deg)}.room-nav{position:absolute;top:100px;left:28px;display:flex;gap:4px;flex-wrap:wrap}.room-nav button{font-size:9px;letter-spacing:.08em;padding:9px 12px;background:#f3f0e8dc;border-radius:3px;color:#666c59}.room-nav button[aria-current=true]{color:white;background:#555b43}.movement{position:absolute;left:28px;bottom:30px;display:flex;gap:16px;align-items:center}.movement p{font-size:10px;line-height:1.8;color:#4f5645;text-shadow:0 1px 4px white}.movement p span{color:#656c59}.direction-pad{display:grid;grid-template-columns:32px 32px 32px;grid-template-rows:30px 30px;gap:3px}.direction-pad button{background:#f8f7f0d9;border:1px solid #caccbd88;border-radius:4px;font-size:19px;touch-action:none;user-select:none}.direction-pad button:first-child{grid-column:2}.direction-pad button:nth-child(2){grid-column:1;grid-row:2}.direction-pad button:nth-child(3){grid-column:2;grid-row:2}.direction-pad button:nth-child(4){grid-column:3;grid-row:2}.direction-pad button.pressed{background:var(--olive);color:white}.work-nav{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#f9f8f0f5;border:1px solid #c7ccbc;box-shadow:0 6px 20px #3b40341a;border-radius:6px;padding:4px;gap:3px}.work-nav .icon-button{border:0;background:transparent}#current-work{min-width:175px;max-width:260px;background:transparent;padding:5px 10px;text-align:center}#current-work small{display:block;font-size:8px;letter-spacing:.16em;color:#808774;margin-bottom:4px}#current-work span{font:16px var(--serif)}.overview-button{position:absolute;right:28px;bottom:36px;background:#f9f8f0e9;padding:12px 15px;display:flex;align-items:center;gap:9px;font-size:10px;border-radius:4px}.overview-button svg{width:15px;height:15px}.hover-label{position:absolute;pointer-events:none;background:#282e22ed;color:#fff;padding:8px 12px;border-radius:3px;font-size:12px;box-shadow:0 6px 20px #0002}
.detail{position:absolute;right:0;top:0;bottom:0;width:370px;padding:62px 30px 30px;background:var(--paper);box-shadow:-10px 0 30px #353b271c;overflow:auto}.detail h2{font-size:39px;margin:15px 0 8px}.detail-author{font-size:11px;color:#7b806d;margin-bottom:24px}.close-button{position:absolute;right:18px;top:18px;background:transparent;display:grid;place-items:center;width:35px;height:35px;border:1px solid #c7cbbd;border-radius:50%}.close-button:hover{background:#e0e4d5}.detail-image-button{background:#e3e1d5;width:100%;padding:13px;margin-bottom:20px}.detail-image-button img{width:100%;max-height:250px;object-fit:contain;display:block}.detail-image-button span{display:flex;align-items:center;justify-content:center;gap:7px;font-size:10px;margin-top:12px}.detail-image-button svg{width:12px;height:12px}.detail dl{margin:0 0 20px}.detail dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #dcded3;padding:11px 0;font-size:10px}.detail dt{color:#7c826f}.detail dd{margin:0;text-align:right}.detail>p:not(.eyebrow):not(.detail-author){font-size:12px;line-height:1.8}.detail .size-note{font-size:10px!important;color:#808571;margin-top:20px}.detail .outline-button{width:100%;margin-top:12px;font-size:11px;padding:13px}.detail-open #stage{right:370px}.detail-open .gallery-header{right:370px}.detail-open .room-nav{max-width:calc(100% - 410px)}.detail-open .work-nav{left:calc((100% - 370px)/2)}.detail-open .overview-button{display:none}.detail-open .movement p{display:none}.detail-open .top-actions .pill span{display:none}.detail-open .top-actions .pill{padding:10px}.detail-open .artist-lockup>span{font-size:19px}
#catalog{position:fixed;inset:0;overflow:auto;padding:45px max(5vw,24px);background:var(--paper);z-index:20}.catalog-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.catalog-header h2{margin:15px 0 24px;font-size:48px}.catalog-header .outline-button{padding:13px 18px;font-size:11px}.catalog-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;border-bottom:1px solid #cdd1c1;padding-bottom:28px;margin-bottom:32px}.catalog-intro p{font-size:12px;line-height:1.8;margin:0;color:#747b66}.catalog-filters{display:flex;gap:6px}.catalog-filters button{background:transparent;border:1px solid #cdd1c1;padding:10px 14px;border-radius:30px;font-size:10px;white-space:nowrap}.catalog-filters button.selected{background:var(--olive);color:white;border-color:var(--olive)}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}.art-card{background:transparent;padding:0;text-align:left;display:block;width:100%}.art-card .image-well{display:flex;align-items:center;justify-content:center;background:#e5e4d9;height:315px;padding:24px;position:relative}.art-card img{max-height:100%;max-width:100%;object-fit:contain;box-shadow:4px 6px 14px #3c402123;transition:transform .3s}.art-card:hover img{transform:scale(1.025)}.art-card .art-card-number{position:absolute;top:13px;left:14px;font-size:9px;color:#6d765c}.art-card .art-card-title{display:block;font:25px var(--serif);margin:16px 0 7px}.art-card .art-card-meta{font-size:10px;color:#7c826e;line-height:1.7}.catalog-footer{border-top:1px solid #d0d4c4;margin-top:45px;padding:25px 0;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:#7c826e}
dialog{color:var(--ink);border:0;padding:0;box-shadow:0 20px 100px #0005;max-width:calc(100vw - 36px);max-height:calc(100dvh - 36px)}dialog::backdrop{background:#22281ee6;backdrop-filter:blur(6px)}.info-dialog{background:var(--paper);width:520px;padding:48px}.info-dialog h2{font-size:38px}.help-list p{display:grid;grid-template-columns:130px 1fr;gap:15px;border-bottom:1px solid #d9ddcf;padding:13px 0;font-size:12px;line-height:1.7}.help-list b{font-weight:500}.help-list span{color:#727a63}.image-dialog{background:#171c14;width:95vw;height:94dvh;padding:35px 35px 70px}.image-dialog>img{width:100%;height:100%;object-fit:contain}.image-caption{position:absolute;left:35px;right:35px;bottom:25px;display:flex;justify-content:space-between;color:white;gap:20px}.image-caption span:first-child{font:22px var(--serif)}.image-caption span:last-child{font-size:9px;letter-spacing:.15em;color:#bcc3ad;align-self:center}.close-button.light{color:white;background:#172013ba;border-color:#9ca688;z-index:2}.close-button.light:hover{background:#424b36}.about-dialog{width:950px;background:var(--paper);display:grid;grid-template-columns:42% 58%}.about-dialog:not([open]){display:none}.about-dialog>img{width:100%;height:100%;min-height:600px;object-fit:cover}.about-copy{padding:50px 45px}.about-copy h2{margin:18px 0 25px;font-size:48px}.about-copy>p{font-size:12px;line-height:1.9;color:#667058}.about-copy a{font-size:12px;color:var(--olive)}.about-copy details{border-top:1px solid #ced3c1;margin-top:24px;padding-top:20px;font-size:10px;line-height:1.8;color:#6d775e}.about-copy summary{cursor:pointer;font-size:11px}.about-copy details a{font-size:10px}#source-list{margin:12px 0}#source-list a{display:block;padding:3px 0}#fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:600px;padding:30px;background:var(--paper);text-align:center}#fallback h2{font-size:30px}#fallback p{font-size:13px;line-height:1.8}#toast{position:fixed;z-index:100;bottom:115px;left:50%;transform:translate(-50%,20px);background:#303927;color:white;font-size:12px;padding:13px 20px;border-radius:4px;opacity:0;pointer-events:none;transition:.25s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:1600px){.welcome-copy{padding-left:14%;padding-right:10%}.welcome-text{font-size:14px}.welcome-foot>span{font-size:10px}}
@media(max-width:1050px){.movement p{display:none}.welcome-copy{padding-left:8%;padding-right:7%}.welcome-actions{gap:18px}.primary{gap:15px;padding:16px 18px}.welcome-foot{align-items:flex-start;flex-direction:column}.welcome-art{padding-left:9%;padding-right:10%}.hero-caption{flex-direction:column;gap:6px}.gallery-header{padding:20px}.room-nav{left:20px}.top-actions{gap:4px}.pill{padding:10px}.pill span{display:none}.detail-open .artist-lockup small{display:none}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}.art-card .image-well{height:250px;padding:20px}}
@media(max-width:700px){#welcome{grid-template-columns:1fr;min-height:0;overflow:auto;display:flex;flex-direction:column}.welcome-copy{padding:24px 26px 28px;min-height:65dvh}.brand-mark{font-size:30px}.brand-mark span{font-size:8px}.welcome-main{margin:35px 0 5px}h1{font-size:60px;margin-bottom:20px}.welcome-main .eyebrow{margin-bottom:22px}.welcome-lead{font-size:25px}.welcome-text{font-size:11px}.welcome-text br{display:none}.welcome-foot{margin-top:20px;flex-direction:row;align-items:center}.welcome-foot>span{font-size:7px;letter-spacing:.05em}.welcome-foot b{margin:0 4px}.welcome-foot .text-button{font-size:10px}.welcome-art{padding:38px 18% 30px;min-height:480px}.hero-frame img{max-height:420px}.edition{top:25px;font-size:8px}.hero-caption{flex-direction:row;font-size:8px}.hero-caption span:first-child{font-size:16px}.vertical-note{right:22px;font-size:7px}.gallery-header{padding:17px 15px;align-items:center}.artist-lockup>span{font-size:17px;max-width:150px}.artist-lockup small{font-size:6px;margin-top:6px}.top-actions .icon-button{min-width:32px;width:32px;height:34px;min-height:34px;padding:7px}.top-actions .pill{min-height:34px;padding:7px}.top-actions svg{width:17px;height:17px}#fullscreen-button{display:none}.room-nav{left:15px;right:15px;top:80px;gap:4px}.room-nav button{font-size:8px;letter-spacing:0;padding:9px 10px}.movement{left:16px;bottom:105px}.direction-pad{grid-template-columns:34px 34px 34px;grid-template-rows:34px 34px}.overview-button{right:15px;bottom:118px;padding:11px}.overview-button span{font-size:9px}.work-nav{bottom:26px;width:calc(100% - 32px);justify-content:space-between}#current-work{min-width:150px}.detail{width:100%;top:auto;height:47dvh;bottom:0;padding:26px 24px;display:grid;grid-template-columns:95px 1fr;column-gap:20px;align-content:start}.detail .eyebrow{grid-column:2;margin:0}.detail h2{grid-column:2;font-size:28px;margin:8px 35px 4px 0}.detail-author{grid-column:2;margin:0 0 16px;font-size:10px}.detail-image-button{grid-column:1;grid-row:1/5;margin:0;padding:6px;align-self:start}.detail-image-button img{max-height:160px}.detail-image-button span{font-size:8px;margin:6px 0}.detail dl{grid-column:2;margin:0}.detail dl div{font-size:9px;padding:7px 0}.detail>p:not(.eyebrow):not(.detail-author){grid-column:1/3;font-size:11px;line-height:1.6}.detail .size-note{margin-top:5px}.detail .outline-button{grid-column:1/3;margin-top:0}.detail-open #stage{right:0;bottom:47dvh}.detail-open .gallery-header{right:0}.detail-open .artist-lockup>span{font-size:17px}.detail-open .room-nav{max-width:none}.detail-open .movement,.detail-open .work-nav{display:none}.detail-open .top-actions .icon-button{display:none}.catalog-header{align-items:flex-start}.catalog-header h2{font-size:34px}.catalog-header .eyebrow{font-size:8px}.catalog-header .outline-button{padding:10px;gap:10px;font-size:10px}.catalog-intro{align-items:flex-start;flex-direction:column}.catalog-filters{width:100%;justify-content:space-between;gap:4px}.catalog-filters button{padding:9px 12px;font-size:9px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 15px}.art-card .image-well{height:210px;padding:17px}.art-card .art-card-title{font-size:22px}.art-card .art-card-meta{font-size:9px}.catalog-footer{flex-direction:column;align-items:flex-start}.info-dialog{padding:38px 25px}.info-dialog h2{font-size:30px}.help-list p{grid-template-columns:1fr;gap:4px}.image-dialog{padding:40px 10px 72px;width:96vw;height:90dvh}.image-caption{left:20px;right:20px;bottom:20px;flex-direction:column;gap:5px}.image-caption span:last-child{align-self:flex-start;font-size:8px}.about-dialog{display:block}.about-dialog>img{height:270px;min-height:0;object-position:50% 37%}.about-copy{padding:30px}.about-copy h2{font-size:40px}.about-dialog>.close-button{background:#f3f0e8}.hover-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Controles cómodos al recorrer desde un teléfono. */
@media(max-width:700px){.direction-pad{grid-template-columns:44px 44px 44px;grid-template-rows:44px 44px}.direction-pad button{font-size:23px}.top-actions .pill,.top-actions .icon-button{min-width:40px;min-height:40px;height:40px}.room-nav button{min-height:40px}.detail-open .work-nav{display:flex;left:50%;bottom:calc(47dvh + 9px);width:calc(100% - 32px)}.detail-open .movement{display:none}.close-button{width:40px;height:40px}.detail{padding-top:28px}.art-card .image-well{height:200px}}
