/* ============================================================
   GALERIE SILBERKORN – Eröffnung Sommer 2026
   Minimal pre-launch landing. Leica monochrome + a single red.
   ============================================================ */

:root{
  --bg:#f6f5f1;
  --ink:#15140f;
  --ink-2:rgba(21,20,15,.60);
  --ink-3:rgba(21,20,15,.38);
  --line:rgba(21,20,15,.16);
  --line-2:rgba(21,20,15,.08);
  --accent:#cc2b25;
  --accent-ink:#fff;
  --field:#fff;

  --font-display:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:"Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-mono:"Space Mono",ui-monospace,Menlo,monospace;
  --display-weight:700;
  --display-tracking:-0.025em;

  --gut:clamp(22px,5vw,68px);
  --maxw:1320px;
}

[data-theme="dark"]{
  --bg:#0a0a0b;
  --ink:#f3f2ec;
  --ink-2:rgba(243,242,236,.62);
  --ink-3:rgba(243,242,236,.40);
  --line:rgba(243,242,236,.18);
  --line-2:rgba(243,242,236,.09);
  --field:#161618;
}

[data-type="editorial"]{
  --font-display:"Newsreader",Georgia,serif;
  --display-weight:500;
  --display-tracking:-0.014em;
}

*{box-sizing:border-box;}
html,body{margin:0;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}

.site{
  background:var(--bg);color:var(--ink);
  font-family:var(--font-body);font-size:16.5px;line-height:1.55;
  letter-spacing:-0.003em;min-height:100vh;overflow-x:hidden;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut);}
::selection{background:var(--accent);color:var(--accent-ink);}

.mono{
  font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--ink-2);line-height:1.6;
}
.dot{color:var(--accent);}
.display{
  font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);line-height:0.94;margin:0;text-wrap:balance;
}

/* ---- Top bar ---- */
.bar{
  position:sticky;top:0;z-index:50;
  background:var(--bg);border-bottom:1px solid var(--line);
}
.bar-inner{
  display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);
  padding-block:16px;
}
.brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;color:inherit;}
.logo{font-family:var(--font-display);font-weight:700;letter-spacing:-0.02em;color:var(--ink);font-size:16px;line-height:1;}
.logo .star{color:var(--accent);}
.logo.sm{font-size:14px;}
.brand small{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;color:var(--ink-3);text-transform:uppercase;}
.brand small::before{content:"·";margin-right:9px;color:var(--line);}

/* ---- Nav ---- */
.nav-links{display:flex;gap:clamp(16px,2.2vw,32px);align-items:center;margin-left:auto;}
.nav-links a{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;transition:color .2s;white-space:nowrap;
}
.nav-links a:hover,.nav-links a.is-active{color:var(--ink);}

.lang{display:flex;gap:7px;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;}
.lang button{background:none;border:0;padding:0;cursor:pointer;color:var(--ink-3);font:inherit;letter-spacing:inherit;}
.lang button[data-on="1"]{color:var(--ink);}
.lang span{color:var(--line);}

/* ============================================================
   HERO – the announcement
   ============================================================ */
.hero{
  display:flex;flex-direction:column;justify-content:flex-start;
  padding-top:clamp(40px,6vw,80px);padding-bottom:clamp(14px,2vw,28px);position:relative;
}
.hero-eyebrow{display:inline-flex;align-items:center;gap:12px;}
.hero-eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);}
.hero h1{
  font-size:clamp(40px,8vw,104px);
  margin:clamp(14px,2.2vw,26px) 0 0;
}
.hero h1 .yr{color:var(--accent);}
.hero .lede{
  margin:clamp(26px,3.4vw,44px) 0 0;max-width:30ch;
  font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:var(--ink-2);
}

/* ---- inline signup in hero ---- */
.signup{margin-top:clamp(30px,4vw,52px);max-width:480px;}
.signup-label{margin-bottom:13px;}
.field-row{
  display:flex;gap:0;border:1px solid var(--ink);background:var(--field);
}
[data-theme="dark"] .field-row{border-color:var(--line);}
.field-row input{
  flex:1;min-width:0;border:0;background:transparent;color:var(--ink);
  font:inherit;padding:15px 16px;outline:none;
}
.field-row input::placeholder{color:var(--ink-3);}
.field-row button{
  border:0;background:var(--ink);color:var(--bg);cursor:pointer;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;
  padding:0 22px;white-space:nowrap;transition:background .2s,color .2s;
}
.field-row button:hover{background:var(--accent);color:var(--accent-ink);}
.field-row.ok{border-color:var(--accent);}
.signup .fine{margin-top:12px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.06em;color:var(--ink-3);text-transform:uppercase;}

/* ---- now showing (pop-up hook) ---- */
.now-showing{
  margin-top:clamp(26px,3.2vw,42px);
  display:flex;flex-direction:column;gap:5px;
  padding:18px 22px;max-width:480px;
  background:var(--field);
  border:1px solid var(--line);border-left:3px solid var(--accent);
}
a.now-showing{text-decoration:none;color:inherit;transition:border-color .2s,transform .2s;}
a.now-showing:hover{border-color:var(--ink);transform:translateY(-2px);}
.now-showing .ns-more{color:var(--accent);margin-top:10px;}

/* On wide screens, float the notice top-right next to the headline. */
@media (min-width:980px){
  .now-showing{
    position:absolute;top:clamp(40px,6vw,80px);right:0;
    width:300px;margin-top:0;
  }
}
.now-showing .ns-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--ink-2);}
.now-showing .live-dot{
  width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;
}
@media (prefers-reduced-motion:no-preference){
  .now-showing .live-dot{animation:livePulse 2.4s ease-out infinite;}
  @keyframes livePulse{
    0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent);}
    70%{box-shadow:0 0 0 8px transparent;}
    100%{box-shadow:0 0 0 0 transparent;}
  }
}
.now-showing .ns-title{
  font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);line-height:1.06;
  font-size:clamp(21px,2.4vw,28px);margin-top:5px;
}
.now-showing .ns-artist{font-size:15px;color:var(--ink-2);line-height:1.4;}
.now-showing .ns-desc{font-size:14.5px;color:var(--ink-2);line-height:1.5;margin-top:9px;max-width:42ch;}
.now-showing .ns-note{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--ink-3);margin-top:7px;
}

/* ---- bottom meta of hero ---- */
.hero-foot{
  margin-top:clamp(34px,5vw,60px);
  display:flex;justify-content:space-between;gap:18px;align-items:flex-end;
  padding-top:18px;border-top:1px solid var(--line-2);
}
.hero-foot .scroll{display:flex;align-items:center;gap:9px;}

/* ============================================================
   DETAILS – gallery data
   ============================================================ */
.details{padding-block:clamp(4px,1vw,14px) clamp(56px,9vw,120px);}
.details-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,56px);
}
.dcol h3{margin:0 0 16px;}
.dcol .ln{display:block;font-size:16px;line-height:1.85;color:var(--ink);}
.dcol .ln.muted{color:var(--ink-2);}
.dcol a.ln{text-decoration:none;border-bottom:1px solid var(--line);width:fit-content;transition:border-color .2s;}
.dcol a.ln:hover{border-color:var(--ink);}
.dcol .note{margin-top:10px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.06em;color:var(--ink-3);text-transform:uppercase;}
.dcol .note-link{text-decoration:none;color:var(--accent);transition:color .2s;display:inline-block;}
.dcol .note-link:hover{color:var(--ink);}

/* ============================================================
   NEWSLETTER (moved out of hero)
   ============================================================ */
.newsletter{padding-block:clamp(64px,9vw,128px);border-top:1px solid var(--line);}
.nl-inner{max-width:640px;}
.nl-h{font-size:clamp(28px,4.4vw,52px);margin:16px 0 0;max-width:18ch;}
.newsletter .signup{margin-top:clamp(28px,3.6vw,44px);max-width:520px;}

/* big statement strip */
.statement{
  padding-block:clamp(56px,8vw,112px);border-top:1px solid var(--line);
}
.statement p{
  margin:0;max-width:24ch;font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);line-height:1.04;
  font-size:clamp(28px,5vw,64px);text-wrap:balance;
}
[data-type="editorial"] .statement p{line-height:1.1;}

/* ============================================================
   FOOTER
   ============================================================ */
.foot{border-top:1px solid var(--line);padding-block:34px 40px;}
.foot-inner{display:flex;justify-content:space-between;gap:24px 36px;flex-wrap:wrap;align-items:flex-start;}
.foot-left{display:flex;flex-direction:column;align-items:flex-start;gap:7px;}
.foot-left a{text-decoration:none;}
.foot-links{display:flex;gap:22px;align-items:center;flex-wrap:wrap;}
.foot-links button,.foot-links a{
  background:none;border:0;cursor:pointer;font:inherit;color:var(--ink-2);
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  padding:0;transition:color .2s;text-decoration:none;
}
.foot-links button:hover,.foot-links a:hover{color:var(--ink);}
.foot-slogan{font-family:var(--font-mono);font-size:11px;letter-spacing:0.03em;color:var(--ink-3);}
.foot-copy{font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.06em;color:var(--ink-3);text-transform:uppercase;}

/* ============================================================
   LEGAL MODAL
   ============================================================ */
.modal-scrim{
  position:fixed;inset:0;z-index:300;background:color-mix(in srgb,var(--ink) 42%,transparent);
  -webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  display:flex;justify-content:center;align-items:flex-start;
  padding:clamp(16px,5vh,72px) var(--gut);
  opacity:0;pointer-events:none;transition:opacity .28s;
}
.modal-scrim[data-open="1"]{opacity:1;pointer-events:auto;}
.modal{
  background:var(--bg);border:1px solid var(--line);max-width:760px;width:100%;
  max-height:86vh;display:flex;flex-direction:column;
  transform:translateY(14px);transition:transform .28s cubic-bezier(.2,.7,.3,1);
}
.modal-scrim[data-open="1"] .modal{transform:none;}
.modal-hd{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px clamp(22px,4vw,40px);border-bottom:1px solid var(--line);
  position:sticky;top:0;background:var(--bg);
}
.modal-hd h2{margin:0;font-family:var(--font-display);font-weight:var(--display-weight);font-size:22px;letter-spacing:-0.01em;}
.modal-x{
  appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);
  width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:15px;flex-shrink:0;transition:.2s;
}
.modal-x:hover{background:var(--ink);color:var(--bg);}
.modal-body{
  overflow-y:auto;padding:clamp(24px,4vw,40px);
  scrollbar-width:thin;
}
.modal-body h4{
  margin:26px 0 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--ink);font-weight:400;
}
.modal-body h4:first-child{margin-top:0;}
.modal-body h4::before{content:"";display:inline-block;width:14px;height:1px;background:var(--accent);margin-right:9px;vertical-align:middle;}
.modal-body p{margin:0 0 14px;font-size:14.5px;line-height:1.7;color:var(--ink-2);max-width:62ch;}
.modal-body p strong{color:var(--ink);font-weight:600;}
.modal-body .ph-fill{color:var(--accent);font-family:var(--font-mono);font-size:13px;background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1px 5px;}
.modal-body a{color:var(--ink);}
.modal-body .disclaimer{
  margin-top:24px;padding:14px 16px;border:1px dashed var(--line);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.04em;line-height:1.7;
  text-transform:none;color:var(--ink-3);max-width:none;
}

/* ============================================================
   SUBPAGES — head, exhibitions, visit, legal prose
   ============================================================ */
.page-head{padding-block:clamp(40px,7vw,96px) clamp(20px,3vw,36px);}
.page-head .eyebrow{display:inline-flex;align-items:center;gap:12px;}
.page-head .eyebrow::before{content:"";width:26px;height:1px;background:var(--accent);}
.page-head h1{font-size:clamp(38px,6.5vw,84px);margin:clamp(14px,2vw,24px) 0 0;}
.page-head .sub{margin:clamp(18px,2.4vw,28px) 0 0;max-width:48ch;font-size:clamp(16px,1.4vw,19px);color:var(--ink-2);line-height:1.5;}
.page-head .back-link{display:block;width:fit-content;margin-bottom:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);text-decoration:none;transition:color .2s;}
.page-head .back-link:hover{color:var(--ink);}

/* Exhibition detail body */
.exh-detail-body p{margin:0 0 18px;max-width:60ch;font-size:17px;line-height:1.65;color:var(--ink-2);}
.exh-detail-body p:first-child{color:var(--ink);font-size:18.5px;}
.exh-detail-body p:last-child{margin-bottom:0;}

/* ---- Exhibitions ---- */
.exh{border-top:1px solid var(--line);}
.exh-row{
  display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1fr);gap:clamp(20px,4vw,64px);
  padding-block:clamp(34px,5vw,68px);border-bottom:1px solid var(--line);align-items:start;
}
.exh-side{display:flex;flex-direction:column;}
.exh-title{
  font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);font-size:clamp(24px,2.8vw,38px);
  line-height:1.06;margin:0;text-wrap:balance;
}
.exh-side .exh-status{margin-top:16px;}
.exh-side .exh-dates{margin-top:6px;}
.exh-artists{margin-top:18px;display:flex;flex-direction:column;}
.exh-artists .exh-names-label{color:var(--ink-3);margin-bottom:6px;}
.exh-artists .nm{font-size:16px;color:var(--ink);line-height:1.65;}
.exh-status{display:inline-flex;align-items:center;gap:9px;color:var(--accent);}
.exh-status .live-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;}
.exh-dates{font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-3);}
.exh-main h2{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-tracking);font-size:clamp(26px,3.4vw,44px);line-height:1.04;margin:0;}
.exh-artist{margin-top:9px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-2);}
.exh-main p{margin:0;max-width:56ch;color:var(--ink-2);line-height:1.6;}
.exh-names{margin-top:18px;display:flex;flex-wrap:wrap;align-items:baseline;row-gap:6px;}
.exh-names .exh-names-label{margin-right:14px;color:var(--ink-3);}
.exh-names .nm{font-size:16px;color:var(--ink);line-height:1.5;}
.exh-names .nm:not(:last-child)::after{content:"·";margin:0 10px;color:var(--line);}
.exh-meta{margin-top:18px;font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-3);}
.exh-link{display:inline-block;margin-top:18px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;transition:color .2s;}
.exh-link:hover{color:var(--ink);}

/* ---- About ---- */
.about{border-top:1px solid var(--line);}
.about-row{
  display:grid;grid-template-columns:300px 1fr;gap:clamp(16px,4vw,64px);
  padding-block:clamp(28px,4vw,52px);border-bottom:1px solid var(--line);
  align-items:start;
}
.about-head .rnum{font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:var(--accent);}
.about-head h3{
  font-family:var(--font-display);font-weight:var(--display-weight);
  letter-spacing:var(--display-tracking);font-size:clamp(22px,2.6vw,32px);
  line-height:1.06;margin:10px 0 0;text-wrap:balance;
}
.about-row p{margin:0;align-self:center;color:var(--ink-2);line-height:1.65;max-width:54ch;font-size:16.5px;}
.statement .ac{color:var(--accent);}
@media (max-width:720px){
  .about-row{grid-template-columns:1fr;gap:10px;}
  .about-row p{align-self:start;}
}

/* ---- Visit ---- */
.visit{padding-bottom:clamp(48px,8vw,120px);}
.visit-grid{
  display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(28px,5vw,72px);align-items:start;
  border-top:1px solid var(--line);padding-top:clamp(34px,5vw,60px);
}
.visit-info{display:flex;flex-direction:column;gap:clamp(26px,3vw,40px);}
.visit-block h3{margin:0 0 12px;}
.visit-block .ln{display:block;font-size:16px;line-height:1.8;color:var(--ink);}
.visit-block .ln.muted{color:var(--ink-2);}
.visit-block a.ln{text-decoration:none;border-bottom:1px solid var(--line);width:fit-content;transition:border-color .2s;}
.visit-block a.ln:hover{border-color:var(--ink);}
.visit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
.btn{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  border:1px solid var(--ink);color:var(--ink);background:transparent;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;text-transform:uppercase;
  padding:11px 16px;transition:background .2s,color .2s;
}
.btn:hover{background:var(--ink);color:var(--bg);}
.map{position:relative;width:100%;aspect-ratio:4/3;border:1px solid var(--line);background:var(--field);overflow:hidden;}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---- Legal prose ---- */
.prose{max-width:760px;padding-block:clamp(16px,2vw,28px) clamp(60px,9vw,120px);}
.prose h4{margin:26px 0 8px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);font-weight:400;}
.prose h4:first-child{margin-top:0;}
.prose h4::before{content:"";display:inline-block;width:14px;height:1px;background:var(--accent);margin-right:9px;vertical-align:middle;}
.prose p{margin:0 0 3px;font-size:15px;line-height:1.5;color:var(--ink-2);max-width:64ch;}
.prose p strong{color:var(--ink);font-weight:600;}
.prose .ph-fill{color:var(--accent);font-family:var(--font-mono);font-size:13px;background:color-mix(in srgb,var(--accent) 10%,transparent);padding:1px 5px;}
.prose a{color:var(--ink);}
.prose .disclaimer{
  margin-top:24px;padding:14px 16px;border:1px dashed var(--line);
  font-family:var(--font-mono);font-size:10.5px;letter-spacing:0.04em;line-height:1.7;
  text-transform:none;color:var(--ink-3);
}

/* ============================================================
   ENTRANCE
   ============================================================ */
@media (prefers-reduced-motion:no-preference){
  .rise{opacity:0;transform:translateY(20px);animation:rise .9s cubic-bezier(.2,.75,.3,1) forwards;}
  .rise[data-d="1"]{animation-delay:.10s;}
  .rise[data-d="2"]{animation-delay:.20s;}
  .rise[data-d="3"]{animation-delay:.30s;}
  .rise[data-d="4"]{animation-delay:.42s;}
  @keyframes rise{to{opacity:1;transform:none;}}
  .line-draw{transform-origin:left;animation:draw 1s cubic-bezier(.4,.7,.3,1) .1s both;}
  @keyframes draw{from{transform:scaleX(0);}to{transform:scaleX(1);}}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .details-grid{grid-template-columns:1fr 1fr;gap:36px 28px;}
}
@media (max-width:760px){
  .bar-inner{flex-wrap:wrap;gap:12px 18px;}
  .nav-links{order:3;width:100%;justify-content:flex-start;gap:22px;}
  .exh-row{grid-template-columns:1fr;gap:14px;}
  .visit-grid{grid-template-columns:1fr;}
  .map{aspect-ratio:3/2;}
}
@media (max-width:600px){
  .details-grid{grid-template-columns:1fr;}
  .hero-foot{margin-top:32px;flex-direction:column;align-items:flex-start;gap:12px;}
  .hero{min-height:auto;padding-top:36px;padding-bottom:8px;}
  .foot-inner{flex-direction:column;align-items:flex-start;gap:20px;}
}
