:root { --ink:#171716; --paper:#e7e7e5; --orange:#eb5b35; --line:rgba(23,23,22,.24); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',Arial,sans-serif; }
a { color:inherit; }
.site-header { display:flex; justify-content:space-between; align-items:center; padding:25px 5vw; border-bottom:1px solid var(--line); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.wordmark { font-size:clamp(10px,1.15vw,16px); font-weight:500; letter-spacing:.16em; text-decoration:none; white-space:nowrap; flex-shrink:0; }
nav { display:flex; gap:30px; } nav a, .footer-bottom a { text-decoration:none; } nav a:hover, .footer-bottom a:hover { color:var(--orange); }
.hero { min-height:70vh; display:grid; grid-template-columns:1fr 1fr; align-items:center; padding:8vw 10vw; overflow:hidden; }
.eyebrow, .section-label, .date, .muted { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.eyebrow { color:var(--orange); margin:0 0 25px; }.hero h1, h2 { margin:0; font-size:clamp(58px,9vw,145px); line-height:.88; letter-spacing:-.075em; font-weight:700; font-family:'DM Sans',Arial,sans-serif; }.hero h1 em, h2 em { display:block; font-family:'DM Sans',Arial,sans-serif; font-style:normal; font-size:inherit; font-weight:700; letter-spacing:-.075em; margin-top:.08em; }
.intro { max-width:360px; margin:40px 0 27px; font-size:17px; line-height:1.45; }.hero-contact { margin:28px 0 20px; font-size:13px; line-height:1.6; }.hero-contact a { display:block; text-decoration:none; }.text-link { display:inline-block; margin-top:16px; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:12px; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:6px; }.text-link span, .button span { color:var(--orange); margin-left:12px; }
.hero-portrait { position:relative; width:min(100%,430px); margin:0 0 0 auto; }.hero-portrait img { width:100%; display:block; aspect-ratio:3 / 4; object-fit:cover; object-position:center 22%; }
.exhibition, .contact { border-top:1px solid var(--line); padding:70px 10vw 110px; }.section-label { margin-bottom:70px; }.exhibition-grid, .contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; }.poster-frame { grid-row:span 2; max-width:480px; background:#d8d2c8; }.poster-frame img { width:100%; height:auto; display:block; object-fit:contain; object-position:top; }.exhibition h2, .contact h2 { font-size:clamp(55px,7vw,105px); }.exhibition-info { max-width:430px; padding-top:12px; font-size:21px; line-height:1.35; }.date { color:var(--orange); }.muted { color:#66635e; line-height:1.5; }.button { display:inline-block; margin-top:23px; padding:14px 17px; background:var(--ink); color:var(--paper); text-decoration:none; font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }.button:hover { background:var(--orange); }
.about { border-top:1px solid var(--line); padding:70px 10vw 110px; background:#dddddb; }.about-grid { display:block; }.about h2 { font-size:clamp(55px,7vw,105px); }.about-copy { max-width:none; font-size:17px; line-height:1.55; }.about-copy p { margin:0 0 28px; }.about-copy strong { letter-spacing:.04em; }
.contact { background:var(--ink); color:var(--paper); border-color:rgba(238,234,226,.3); }.contact-details { padding-top:12px; display:flex; flex-direction:column; align-items:flex-start; font-size:21px; line-height:1.5; }.contact-details a { text-decoration:none; border-bottom:1px solid var(--orange); }.address { margin-top:35px; font-size:15px; }.contact .muted { color:#aaa59d; }
.site-footer { padding:25px 5vw; background:var(--orange); font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:11px; text-transform:uppercase; letter-spacing:.05em; }.footer-top, .footer-bottom { display:flex; justify-content:space-between; gap:20px; }.footer-bottom { margin-top:45px; }.footer-bottom a { text-decoration:underline; }
.legal-wrap { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }.legal { padding:65px 10vw 80px; border-right:1px solid var(--line); }.legal:last-child { border-right:0; }.legal h2 { font-size:clamp(45px,5vw,75px); margin-bottom:40px; }.legal p { max-width:560px; font-size:14px; line-height:1.6; }.legal-note { border-left:3px solid var(--orange); padding-left:15px; }
.hero h1, h2 { font-size:clamp(29px,4.5vw,72px); }.exhibition h2, .contact h2, .about h2 { font-size:clamp(27px,3.5vw,53px); }.legal h2 { font-size:clamp(23px,2.5vw,38px); }
@media (max-width:700px) { .site-header { padding:20px; align-items:flex-start; gap:18px; }.wordmark { font-size:7px; letter-spacing:.04em; white-space:nowrap; max-width:none; line-height:1.35; } nav { gap:10px; font-size:9px; flex-wrap:wrap; justify-content:flex-end; }.hero { min-height:auto; grid-template-columns:1fr; padding:70px 9vw 80px; gap:55px; }.hero-portrait { justify-self:center; width:min(100%,340px); margin:auto; }.exhibition, .contact, .about { padding:55px 9vw 75px; }.section-label { margin-bottom:45px; }.exhibition-grid, .contact-grid, .about-grid, .legal-wrap { grid-template-columns:1fr; gap:40px; }.about-copy { column-count:1; }.poster-frame { grid-row:auto; max-width:none; }.exhibition-info { font-size:18px; }.legal { padding:50px 9vw; border-right:0; border-bottom:1px solid var(--line); }.legal:last-child { border-bottom:0; }.footer-top, .footer-bottom { flex-direction:column; gap:15px; }.footer-bottom { margin-top:30px; } }
