/* 017 / compact, viewport-aware interface. The original art direction remains. */
.archive-section{padding:clamp(60px,8vw,110px) clamp(16px,4vw,65px) clamp(55px,7vw,90px)!important}
.archive-section .section-head{align-items:end;gap:12px;padding-bottom:clamp(18px,3vw,34px)}
.archive-section .section-head h2{font-size:clamp(44px,8vw,112px)!important;line-height:.95;letter-spacing:-.09em;white-space:normal;overflow-wrap:normal}
.archive-section .section-head>p{flex:0 1 190px;font-size:9px;line-height:1.6;text-align:right}
.archive-tools{margin:clamp(15px,2.3vw,26px) 0 10px!important}
.archive-main-tabs{gap:clamp(18px,3vw,40px)!important;margin-bottom:12px!important}
.archive-main-tabs button{font-size:clamp(26px,3.7vw,48px)!important;padding:7px 0 13px!important;line-height:1.1!important}
.archive-main-tabs button small{font-size:9px!important}
.archive-tools .filters{gap:6px}
.archive-tools .filters button{padding:8px 11px;font-size:9px}
.archive-tools .filters:empty{display:none}
.archive-grid{min-height:0!important;padding:clamp(25px,4vw,45px) 1% clamp(38px,6vw,75px)!important;gap:clamp(12px,2.5vw,34px)!important}
.archive-grid>.tile{max-width:320px!important;aspect-ratio:1.04!important;min-height:0!important;min-width:0!important}
.archive-grid>.tile:nth-child(n){margin-top:0!important}
.archive-grid>.tile:nth-child(6n+2),.archive-grid>.tile:nth-child(6n+5){margin-top:35px!important}
.archive-grid>.tile .tile-bottom h3{font-size:clamp(17px,2vw,26px)!important;line-height:1.05;overflow-wrap:anywhere}
.archive-grid>.tile .tile-icon{width:clamp(45px,6vw,76px)!important;height:clamp(45px,6vw,76px)!important}
.archive-grid>.tile .tile-top,.archive-grid>.tile .tile-bottom{left:clamp(12px,1.6vw,20px);right:clamp(12px,1.6vw,20px)}
.archive-grid>.tile .tile-top{top:clamp(12px,1.6vw,20px)}.archive-grid>.tile .tile-bottom{bottom:clamp(12px,1.6vw,20px)}
.archive-grid>.tile .tile-bottom .tile-arrow{font-size:23px}
/* A compact, centered modal with an artwork panel and a readable text column. */
.detail-shell{inset:50% auto auto 50%!important;width:min(1040px,calc(100vw - 48px));height:min(680px,calc(100dvh - 48px));max-height:calc(100dvh - 48px);overflow:hidden!important;transform:translate(-50%,-45%) scale(.96)!important}
.detail.open .detail-shell{transform:translate(-50%,-50%) scale(1)!important}
.detail-head{flex:0 0 auto;padding:clamp(12px,2vw,19px) clamp(15px,2.4vw,26px)!important;min-height:52px}
.detail-content{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,.92fr)!important;min-height:0!important;flex:1;overflow:hidden}
.detail-art{min-height:0!important;height:100%;min-width:0}
.detail-info{min-height:0!important;min-width:0;padding:clamp(18px,3.5vw,48px)!important;justify-content:center;overflow-y:auto;overscroll-behavior:contain}
.detail-info h2{font-size:clamp(30px,4.3vw,64px)!important;line-height:.98!important;letter-spacing:-.075em!important;margin:clamp(12px,2vw,22px) 0!important;overflow-wrap:anywhere}
.detail-info p{font-size:clamp(12px,1.1vw,14px)!important;line-height:1.6!important;margin:0}
.detail-actions{margin:clamp(16px,2.5vw,27px) 0!important}.detail-actions a{padding:11px 16px!important}
.detail-pagination{padding-top:15px!important;margin-top:clamp(16px,3vw,35px)!important;flex-wrap:wrap}
.detail-art-label{bottom:16px;left:16px}
@media(max-width:900px){.archive-grid>.tile{grid-column:span 4!important}.archive-grid>.tile:nth-child(n){margin-top:0!important}.archive-grid>.tile:nth-child(3n+2){margin-top:26px!important}}
@media(max-width:700px){.archive-section .section-head h2{font-size:clamp(39px,9.5vw,68px)!important}.archive-section .section-head>p{display:none}.archive-grid>.tile{grid-column:span 6!important;max-width:none!important;aspect-ratio:.9!important}.archive-grid>.tile:nth-child(n){margin-top:0!important}.archive-grid>.tile:nth-child(even){margin-top:22px!important}.archive-grid>.tile .tile-bottom h3{font-size:clamp(15px,3.4vw,23px)!important}.detail-shell{width:calc(100vw - 20px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.detail-content{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(135px,38%) minmax(0,1fr);overflow:hidden}.detail-art{min-height:0!important}.detail-info{padding:clamp(14px,4vw,26px)!important;justify-content:flex-start}.detail-info h2{font-size:clamp(27px,8vw,46px)!important;margin:10px 0 14px!important}.detail-info p{font-size:13px!important}.detail-pagination{margin-top:18px!important}.detail-art-label{font-size:8px}}
@media(max-width:420px){.archive-section{padding-inline:14px!important}.archive-section .section-head h2{font-size:clamp(36px,9.2vw,46px)!important}.archive-main-tabs{gap:18px!important}.archive-main-tabs button{font-size:clamp(24px,7vw,32px)!important}.archive-grid{gap:12px!important}.archive-grid>.tile{aspect-ratio:.82!important}.archive-grid>.tile .tile-top{font-size:8px}.archive-grid>.tile .tile-bottom h3{font-size:clamp(13px,3.9vw,17px)!important}.archive-grid>.tile .tile-icon{width:45px!important;height:45px!important}.detail-head{font-size:9px}.detail-content{grid-template-rows:minmax(120px,32%) minmax(0,1fr)}}
@media(max-height:620px) and (min-width:701px){.detail-shell{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.detail-info{padding:18px!important}.detail-info h2{font-size:clamp(28px,4vw,44px)!important;margin:10px 0!important}.detail-actions{margin:12px 0!important}.detail-pagination{margin-top:12px!important}}
@media(hover:none){.archive-grid>.tile:hover{transform:rotate(var(--tilt,0deg))!important;box-shadow:none!important}}
@media(prefers-reduced-motion:reduce){.detail-shell,.detail-backdrop{transition:none!important}}
