@font-face{font-family:"Space Grotesk";src:url("fonts/SpaceGrotesk-variable.woff2") format("woff2");font-style:normal;font-weight:300 700;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/DMSans-variable.ttf") format("truetype");font-style:normal;font-weight:100 1000;font-display:swap}
@font-face{font-family:"DM Sans";src:url("fonts/DMSans-Italic-variable.ttf") format("truetype");font-style:italic;font-weight:100 1000;font-display:swap}
:root{--font-body:"DM Sans",Arial,Helvetica,sans-serif;--font-display:"Space Grotesk","DM Sans",Arial,Helvetica,sans-serif;--paper:#f4efdf;--ink:#111;--muted:#686868;--accent:#c52854;--line:#d7d1c2;--site-width:1240px;--text-width:720px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font-body);font-size:18px;line-height:1.58}
img{display:block;max-width:100%}
a{color:inherit}
.skip{position:absolute;left:-9999px;top:1rem;background:#fff;padding:.7rem 1rem;z-index:5}.skip:focus{left:1rem}
.site-header{background:#fff;padding:22px clamp(22px,3vw,44px) 0}
.header-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;padding-bottom:20px}
.header-actions{display:flex;align-items:center;justify-content:flex-end;gap:clamp(16px,2.4vw,34px);margin-left:auto}
.brand{display:inline-block;text-decoration:none;color:#111;line-height:1}
.brand-logo{display:block;width:clamp(250px,31vw,350px);height:auto}
.tagline{font:500 17px/1.3 var(--font-body);color:#686868;margin:11px 0 0}
.lang{display:flex;gap:8px;align-items:center;white-space:nowrap;font:700 13px/1 var(--font-body)}
.lang button{background:none;border:0;padding:8px 4px;color:#666;font:inherit;cursor:pointer;text-underline-offset:4px}.lang button[aria-pressed="true"]{color:#111;text-decoration:underline}
.primary-nav{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(12px,1.8vw,26px);font:700 13px/1.2 var(--font-display);letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.primary-nav a{text-decoration:none;padding:4px 0}.primary-nav a:hover,.primary-nav a[aria-current="page"]{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
h1,h2,h3{font-family:var(--font-display);line-height:1.12;letter-spacing:-.035em}
h1{font-size:clamp(34px,5vw,64px);margin:0 auto 14px;max-width:960px}
.hero{padding-bottom:64px}.hero-gallery{position:relative;width:100%;aspect-ratio:2048/1365;height:auto;overflow:hidden;background:var(--paper)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease}.hero-slide.is-leaving{opacity:1;z-index:1}.hero-slide.is-active{opacity:1;z-index:2}.hero-slide img{width:100%;height:100%;object-fit:contain;object-position:center}.gallery-controls{position:absolute;z-index:5;left:50%;bottom:9px;transform:translateX(-50%);display:flex;align-items:center;gap:8px}.gallery-controls button{appearance:none;width:9px;height:9px;padding:0;border:1px solid #fff;border-radius:50%;background:rgba(0,0,0,.35);box-shadow:0 1px 3px rgba(0,0,0,.6);cursor:pointer}.gallery-controls button[aria-pressed="true"]{background:#fff;transform:scale(1.25)}.gallery-controls button:focus-visible{outline:2px solid #fff;outline-offset:3px}.photo-credit{position:absolute;z-index:4;right:clamp(12px,2vw,28px);bottom:10px;margin:0;color:#fff;font:10px/1.2 var(--font-body);text-shadow:0 1px 4px rgba(0,0,0,.9);pointer-events:none}
.artist-gallery-section{max-width:1024px;margin:20px auto 54px}
.hero-copy{max-width:var(--site-width);margin:0 auto;padding:48px clamp(22px,4vw,64px) 0;text-align:center}
.artist{font-family:var(--font-display);font-size:clamp(24px,3.4vw,38px);font-weight:700;margin:0 0 10px}
.opening-event{max-width:880px;margin:18px auto 22px;padding:20px 12px;border-block:1px solid var(--line)}.opening-label{font:700 14px/1.3 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 7px}.opening-date{font:700 clamp(32px,5vw,58px)/1.08 var(--font-display);color:var(--accent);margin:0 0 9px}.exhibition-dates{font:700 clamp(16px,2vw,21px)/1.4 var(--font-body);margin:0}.past-event{font:500 12px/1.4 var(--font-body);color:var(--muted);margin:0 auto 20px}.dates{font-family:var(--font-body);font-weight:700;font-size:clamp(18px,2.2vw,24px);margin:0 0 28px}
.place{font-family:var(--font-body);font-size:17px;margin:0 0 34px}
.schedule{display:flex;justify-content:center;gap:clamp(30px,7vw,96px);border-top:1px solid var(--line);padding-top:22px;margin:auto;max-width:720px}
.schedule h2{font-family:var(--font-display);font-size:15px;letter-spacing:.06em;text-transform:uppercase;margin:0 0 6px}.schedule p{font:600 16px/1.5 var(--font-body);margin:0}
main{width:min(100% - 44px,var(--site-width));margin:auto}.editorial,.prose{max-width:var(--text-width);margin:0 auto;padding:28px 0 46px}
.editorial h2,.prose h2{font-size:clamp(27px,3.7vw,42px);margin:0 0 20px}.editorial p,.prose p{margin:0 0 1.15em}
.photo{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto 60px}
.instagram-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:var(--site-width);margin:0 auto 64px}.instagram-gallery.instagram-gallery-single{grid-template-columns:minmax(0,1fr)}.instagram-gallery figure{margin:0}.instagram-gallery img{width:100%;height:auto}.instagram-gallery figcaption{padding:12px 2px 0;font:500 13px/1.5 var(--font-body);color:var(--muted)}.instagram-gallery figcaption a{color:var(--ink);text-underline-offset:2px}
.activity-visual{margin:0 auto 36px;max-width:1024px}.activity-image{width:100%;height:auto;display:block}
.activity-list{list-style:none;padding:0;margin:0 auto;max-width:940px}.activity-list li{border-top:1px solid var(--line);padding:24px 0}.activity-list li:last-child{border-bottom:1px solid var(--line)}
.activity-list a{text-decoration:none}.activity-list a:hover h2{color:var(--accent)}.activity-list h2{font-size:clamp(22px,3vw,31px);margin:5px 0 8px}.activity-list p{margin:0}.activity-date{font:700 13px/1.3 var(--font-body);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.subpage{padding:56px 0 72px}.subpage .kicker{font:700 13px/1.3 var(--font-display);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 15px}.subpage h1{margin:0 0 18px;font-size:clamp(34px,5vw,56px)}.subpage .subtitle{font-family:var(--font-body);font-size:clamp(18px,2vw,23px);margin:0 0 8px}.subpage .meta{font:600 16px/1.5 var(--font-body);margin:0 0 36px}.back-link{display:inline-block;margin-top:18px;color:var(--accent);font:700 14px/1.4 var(--font-body);text-underline-offset:3px}
.about{max-width:var(--text-width);margin:0 auto;padding:22px 0 65px}.about h2{font-size:clamp(27px,3.7vw,42px);margin:0 0 18px}.about p{margin:0 0 1.15em}
.contact-lines{font-size:18px}.contact-lines p{margin:0 0 20px}.contact-lines strong{display:block;font-family:var(--font-body)}.contact-lines a{color:var(--accent);text-underline-offset:3px}
.site-footer{background:#fff;padding:52px clamp(22px,5.5vw,74px) 22px;margin-top:20px}.footer-inner{max-width:var(--site-width);margin:auto}.footer-brand{margin:0 0 52px}.footer-brand .brand-logo{width:min(280px,100%)}
.footer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 60px;max-width:800px}.footer-grid p{margin:0}.footer-grid strong{display:block}.footer-grid a{color:var(--accent);text-underline-offset:2px}
.footer-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:60px;display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap;font:700 13px/1.4 var(--font-body)}.footer-bottom a{font-weight:400;color:#666;text-decoration:none}.footer-legal{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
[hidden]{display:none!important}
@media(max-width:420px){.opening-event{padding:16px 8px;margin:14px auto 18px}.opening-date{font-size:clamp(30px,9vw,38px)}.exhibition-dates{font-size:15px}.past-event{font-size:11px}.schedule{flex-direction:column;gap:16px}.schedule>div{min-width:0}}
@media(max-width:680px){.instagram-gallery{grid-template-columns:1fr;gap:22px;margin-bottom:40px}body{font-size:17px;line-height:1.55}.site-header{padding:20px 20px 0}.header-top{align-items:flex-start;gap:16px;padding-bottom:14px}.header-actions{width:100%;justify-content:flex-end;gap:10px}.brand-logo{width:min(250px,55vw)}.tagline{font-size:14px;max-width:250px}.lang{gap:2px;font-size:11px}.lang button{padding:7px 2px}.primary-nav{gap:clamp(7px,2.2vw,15px);font-size:clamp(9px,2.7vw,12px);letter-spacing:0}.primary-nav a{padding:4px 0}.hero{padding-bottom:38px}.hero-gallery{height:auto;min-height:0;max-height:none}.hero-copy{padding:32px 22px 0}h1{font-size:clamp(29px,9vw,44px)}.artist{font-size:25px}.dates{margin-bottom:22px}.place{font-size:15px;margin-bottom:25px}.schedule{gap:20px;padding-top:18px}.schedule h2{font-size:13px}.schedule p{font-size:14px}main{width:min(100% - 36px,var(--site-width))}.editorial,.prose{padding:18px 0 32px}.photo{margin-bottom:38px}.subpage{padding:36px 0 48px}.activity-list li{padding:19px 0}.about{padding:14px 0 42px}.footer-grid{grid-template-columns:1fr;gap:18px}.footer-brand{margin-bottom:34px}.site-footer{padding:40px 22px 18px}.footer-bottom{margin-top:40px;align-items:flex-start;flex-direction:column;gap:12px}.footer-legal{gap:6px 14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
