:root{--ink:#171718;--paper:#f4f3ef;--red:#de3f2e;--line:#c9c7c1;--quiet:#686762}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:16px;line-height:1.55}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit}
.site-header{height:92px;padding:0 clamp(24px,4vw,72px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(244,243,239,.94);backdrop-filter:blur(12px);z-index:10}
.wordmark{text-decoration:none;font-family:"Instrument Serif",serif;font-size:2rem;line-height:1}.wordmark span{font-style:italic;color:var(--red)}
nav{display:flex;align-items:center;gap:2rem}nav a,.dropdown-button{text-decoration:none;font-size:.875rem;text-transform:uppercase;letter-spacing:.08em}nav a:hover,.dropdown-button:hover{color:var(--red)}
.nav-dropdown{position:relative}.dropdown-button{border:0;background:transparent;padding:.75rem 0;cursor:pointer}.dropdown-menu{position:absolute;top:100%;left:0;width:min(390px,85vw);display:none;background:var(--ink);color:var(--paper);padding:.65rem;box-shadow:0 18px 45px rgba(0,0,0,.18)}.dropdown-menu.open{display:block}.dropdown-menu a{display:block;padding:.7rem .8rem;border-bottom:1px solid #3d3d3d;font-size:.75rem;line-height:1.35}.dropdown-menu a:last-child{border:0}
.menu-button{display:none;border:0;background:transparent;text-transform:uppercase;letter-spacing:.08em}
.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:clamp(48px,7vw,112px) clamp(24px,4vw,72px);gap:clamp(40px,7vw,110px);align-items:center}
.eyebrow{margin:0 0 1.25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em}
h1,h2{font-family:"Instrument Serif",serif;font-weight:400;margin:0;line-height:.92}
h1{font-size:clamp(5rem,10vw,10.5rem);letter-spacing:-.045em}h1 em{color:var(--red);font-weight:400}
.intro{max-width:34rem;font-size:clamp(1.1rem,1.4vw,1.35rem);margin:2.5rem 0;line-height:1.6}
.text-link{text-decoration:none;border-bottom:1px solid;padding-bottom:.25rem;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.text-link span{color:var(--red);margin-left:.5rem}
.hero-art{margin:0;align-self:stretch;min-height:620px;position:relative;overflow:hidden;background:#e8e7e2}
.hero-art img{height:100%;width:100%;object-fit:cover;object-position:center 38%}
.hero-art figcaption{position:absolute;bottom:18px;left:18px;background:var(--ink);color:white;padding:.55rem .75rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
.statement{padding:clamp(70px,10vw,150px) clamp(24px,9vw,160px);background:var(--ink);color:var(--paper)}
.statement p{font-family:"Instrument Serif",serif;font-size:clamp(2.5rem,5vw,6rem);line-height:1.08;margin:0;max-width:1300px}.statement p::first-letter{color:var(--red)}
.work-section{padding:clamp(80px,10vw,150px) clamp(24px,4vw,72px)}
.section-heading{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:2rem;align-items:end;margin-bottom:5rem}.section-heading .eyebrow{align-self:start}.section-heading h2,.about-section h2,.exhibition-section h2,.film-section h2,footer h2{font-size:clamp(3.2rem,6vw,7rem);letter-spacing:-.03em}.section-heading>p:last-child{margin:0;max-width:31rem}
.gallery-list{display:flex;flex-direction:column;gap:clamp(70px,10vw,150px)}
.gallery-card{width:100%;scroll-margin-top:120px}
.jazz-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin-bottom:2rem}
.jazz-heading p{margin:0;color:var(--quiet);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;text-align:right}
.art-grid{columns:3;column-gap:1.25rem}
.art-tile{position:relative;display:inline-block;width:100%;margin:0 0 1.25rem;break-inside:avoid;appearance:none;border:1px solid var(--line);background:#fff;padding:0;cursor:zoom-in;overflow:hidden;user-select:none}
.art-tile img{display:block;width:100%;height:auto;-webkit-user-drag:none;transition:transform .45s ease,filter .3s ease}
.art-tile::after{content:"© Martin Ehrling";position:absolute;right:.55rem;bottom:.55rem;padding:.28rem .42rem;background:rgba(255,255,255,.76);color:#171717;font:600 .62rem/1.1 "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}
.gallery-rights{max-width:52rem;margin:1.75rem auto 0;text-align:center;color:var(--quiet);font-size:.7rem;line-height:1.6;letter-spacing:.12em;text-transform:uppercase}
.art-tile:hover img,.art-tile:focus-visible img{transform:scale(1.018);filter:contrast(1.025)}
.gallery-card button,.exhibition-image{appearance:none;border:0;background:transparent;padding:0;text-align:left;width:100%;cursor:zoom-in}
.image-frame{display:block;overflow:hidden;background:#fff;border:1px solid var(--line)}
.gallery-card img{width:100%;height:auto;max-height:none;object-fit:contain;transition:transform .6s ease,filter .3s}.gallery-card button:hover img{transform:scale(1.008);filter:contrast(1.03)}
.card-meta{display:flex;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid;margin-top:.85rem}.card-meta strong{font-family:"Instrument Serif",serif;font-size:1.65rem;font-weight:400}.card-meta small{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--quiet);text-align:right}
.exhibition-section{background:var(--red);color:#111;padding:clamp(80px,10vw,150px) clamp(24px,4vw,72px);display:grid;grid-template-columns:.3fr .8fr 1.1fr;gap:clamp(30px,5vw,90px);align-items:start}
.exhibition-number{font-family:"Instrument Serif",serif;font-size:5rem}.exhibition-copy h2{margin-bottom:2rem}.exhibition-copy>p:last-child{max-width:31rem}.venue{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600;border-top:1px solid;padding-top:1rem}
.exhibition-image{overflow:hidden}.exhibition-image img{width:100%;max-height:720px;object-fit:cover;object-position:top}
.about-section{padding:clamp(80px,10vw,150px) clamp(24px,4vw,72px);display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(50px,8vw,140px)}
.about-columns{columns:2;column-gap:3rem;font-size:1.05rem}.about-columns p{break-inside:avoid;margin:0 0 1.5rem}.about-columns p:first-child::first-letter{font-family:"Instrument Serif",serif;color:var(--red);font-size:5rem;float:left;line-height:.7;padding:.18em .08em 0 0}
/* legacy film-line removed – see .film-section below */
footer{background:var(--ink);color:var(--paper);padding:clamp(70px,9vw,130px) clamp(24px,4vw,72px) 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem}footer h2{color:var(--red)}.contact-links{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:1rem}.contact-links a{text-decoration:none;border-bottom:1px solid #777;font-size:clamp(1rem,2vw,1.45rem);overflow-wrap:anywhere}.contact-links a:hover{color:var(--red)}.copyright{grid-column:1/-1;border-top:1px solid #444;padding-top:1.5rem;margin:2rem 0 0;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em}
.lightbox{width:min(94vw,1300px);max-height:92vh;border:0;padding:0;background:#111;color:white}.lightbox::backdrop{background:rgba(0,0,0,.88)}.lightbox-scroll{position:relative;max-height:78vh;overflow:auto}.lightbox img{display:block;width:100%;height:auto;cursor:zoom-out;user-select:none;-webkit-user-drag:none}.lightbox-copyright{position:absolute;right:1rem;bottom:1rem;padding:.45rem .65rem;background:rgba(17,17,17,.72);color:#fff;font:600 .7rem/1.2 "DM Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;pointer-events:none}.lightbox-close{position:sticky;top:0;float:right;z-index:2;border:0;background:#111;color:#fff;padding:1rem 1.25rem;cursor:pointer}.lightbox-title{padding:1rem 1.25rem;margin:0;font-family:"Instrument Serif",serif;font-size:1.5rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){.art-grid{columns:2}}
@media(max-width:620px){.jazz-heading{display:block}.jazz-heading p{margin-top:.75rem;text-align:left}.art-grid{columns:1}}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-art{min-height:460px}.section-heading,.about-section,.film-line{grid-template-columns:1fr}.exhibition-section{grid-template-columns:.2fr 1fr}.exhibition-image{grid-column:2}.about-columns{columns:1}}
@media(max-width:620px){.site-header{height:72px}.menu-button{display:block}nav{display:none;align-items:stretch;position:absolute;top:72px;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);padding:1.25rem 24px;flex-direction:column;gap:1rem}nav.open{display:flex}.dropdown-button{text-align:left}.nav-dropdown{width:100%}.dropdown-menu{position:static;width:100%;box-shadow:none;margin-top:.25rem}.hero{min-height:auto}.hero-art{min-height:420px}.statement p{font-size:2.6rem}.section-heading{margin-bottom:3rem}.exhibition-section{grid-template-columns:1fr}.exhibition-number{font-size:3rem}.exhibition-image{grid-column:1}.about-columns{font-size:1rem}footer{grid-template-columns:1fr;gap:3rem}.copyright{grid-column:1}h1{font-size:4.7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.gallery-card img{transition:none}}


/* About – Background + Style */
.about-section {
  padding: clamp(90px, 11vw, 160px) clamp(24px, 4vw, 72px);
}
.about-title {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  max-width: 42rem;
}
.about-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  max-width: 1100px;
}
.about-block h3 {
  font-family: "Instrument Serif", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 400;
  margin: 0 0 1.25rem;
  color: var(--red, #c0392b);
}
.about-block p {
  margin: 0 0 1.35rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #2a2a2b;
}
.about-block p:last-child { margin-bottom: 0; }
@media (max-width: 900px) {
  .about-body { grid-template-columns: 1fr; }
}





/* ===== Film / Video (stable desktop embed) ===== */
.film-section.no-reveal,
#film.film-section {
  opacity: 1 !important;
  transform: none !important;
}
.film-section {
  border-top: 1px solid var(--line, #e5e5e5);
  padding: clamp(70px, 9vw, 120px) clamp(24px, 4vw, 72px);
  width: 100%;
  box-sizing: border-box;
}
.film-header {
  max-width: 42rem;
  margin: 0 0 clamp(1.5rem, 3vw, 2.25rem);
}
.film-header .eyebrow { margin-bottom: 1rem; }
.film-header h2 { margin-bottom: 1rem; }
.film-header p { margin: 0; color: #333; line-height: 1.65; }

.video-wrap {
  width: 100%;
  max-width: 960px; /* comfortable desktop size, not full bleed */
}

.video-embed {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #111;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(0,0,0,0.12);
  /* isolate so iframe cannot affect page layout */
  contain: layout style;
  isolation: isolate;
  z-index: 1;
}

.video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  max-width: 100%;
}

.video-fallback {
  margin: 0.85rem 0 0;
  font-size: 0.78rem;
  color: #666;
}
.video-fallback a {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.15rem;
}
.video-fallback a:hover { color: var(--red, #c0392b); }

@media (max-width: 700px) {
  .video-wrap { max-width: 100%; }
}
