:root{
  --font-ui: "Mukta", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  --font-serif: Cambria, "Times New Roman", serif;
  --header-h: 64px;
  --pad: 16px;
  --max: 1100px;

  --overlay-bg: rgba(255,255,255,0.82);
  --panel-bg: rgba(255,255,255,0.92);
  --panel-border: rgba(0,0,0,0.10);
  --panel-shadow: 0 18px 60px rgba(0,0,0,0.10);
  --panel-radius: 18px;
  --panel-pad: 16px;
  --type-size: 13.5px;
  --type-line: 1.65;

  --section-title-font: Cambria, "Times New Roman", serif;
  --section-title-size: clamp(22px, 4.2vw, 24px);
  --section-title-weight: 500;
  --section-title-line: 1;
}

[hidden]{ display:none !important; }
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; background:#fff; }
body{ font-family:var(--font-ui); color:#111; }
img,video{ max-width:100%; }

/* ===== Header / menu ===== */
.site-header{
  position:fixed;
  top:0; left:0; right:0;
  height:var(--header-h);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 var(--pad);
  background:transparent;
  border:0;
  box-shadow:none;
  z-index:1000;
}
.site-title{
  font-family:var(--font-serif);
  font-weight:500;
  font-size:clamp(22px, 4.2vw, 28px);
  letter-spacing:.02em;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  z-index:5000;
}
.menu-toggle{
  width:44px;
  height:44px;
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  cursor:pointer;
}
.menu-toggle span{
  display:block;
  height:2px;
  background:#111;
  border-radius:2px;
}
.section-menu{
  position:fixed;
  top:var(--header-h);
  right:0;
  width:min(320px,90vw);
  padding:14px 16px;
  background:rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-left:1px solid rgba(0,0,0,0.08);
  border-bottom:1px solid rgba(0,0,0,0.08);
  z-index:1000;
}
.section-menu ul{ list-style:none; margin:0; padding:0; }
.section-menu a{ display:block; padding:10px 0; color:#111; text-decoration:none; }

.page{ padding-top:var(--header-h); }

/* ===== General sections ===== */
.section{
  padding:0;
  border-bottom:1px solid #eee;
}
.section:not(.section-start){
  padding:56px var(--pad);
  display:grid;
  grid-template-columns:1fr minmax(280px,720px) .6fr;
  align-items:start;
}
.section:not(.section-start)>*{ grid-column:2; }
@media (min-width:900px){
  .section:not(.section-start){ grid-template-columns:1.2fr minmax(320px,740px) .4fr; }
}
@media (max-width:720px){
  .section:not(.section-start){ display:block; }
}
.section:not(.section-start)>h2,
.section:not(.section-start)>h2 a{
  font-family:var(--section-title-font) !important;
  font-size:var(--section-title-size) !important;
  font-weight:var(--section-title-weight) !important;
  line-height:var(--section-title-line) !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.section:not(.section-start) h2{
  margin:0 0 18px;
  opacity:.75;
}
.section:not(.section-start) p,
.section:not(.section-start) ul,
.section:not(.section-start) .pub-block{ margin-top:12px; }
section[id]{ position:relative; min-height:1px; }

/* ===== Section label ===== */
.section-label{
  position:fixed !important;
  left:16px !important;
  bottom:16px !important;
  z-index:5000 !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  font-family:var(--section-title-font) !important;
  font-size:var(--section-title-size) !important;
  font-weight:var(--section-title-weight) !important;
  line-height:var(--section-title-line) !important;
  color:#111 !important;
  pointer-events:none !important;
  user-select:none !important;
  transition:opacity .28s ease;
  opacity:1;
  transform:none;
  will-change:opacity;
}
.section-label.is-hidden,
.section-label.is-entering{ opacity:0; transform:none; }
.section-label.is-visible{ opacity:1; transform:none; }
@media (max-width:720px){
  .section-label{ color:rgba(0,0,0,.42) !important; }
}

/* ===== Start carousel ===== */
.section-start{
  position:relative;
  padding:0;
  min-height:calc(100vh - var(--header-h));
  background:#fff;
}
.start-carousel{
  position:relative;
  height:calc(100vh - var(--header-h));
  overflow:hidden;
  background:#fff;
}
.slide{
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity .75s ease;
  pointer-events:none;
  will-change:opacity;
}
.slide.is-active{ opacity:1; z-index:1; }
.slide img,
.slide video{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.carousel-controls{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:80;
  display:flex;
  align-items:center;
  gap:14px;
}
.carousel-dots{
  position:static !important;
  display:flex;
  gap:8px;
  pointer-events:auto;
  z-index:31;
}
.carousel-dots button{
  width:12px;
  height:12px;
  border-radius:999px;
  border:1px solid #111;
  background:rgba(255,255,255,.35);
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease, background .2s ease;
}
.carousel-dots button[aria-current="true"]{
  background:#111;
  transform:scale(1.08);
}
.carousel-caption{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  color:#111;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  pointer-events:none;
}
.news-overlay{
  position:absolute;
  right:16px;
  bottom:16px;
  width:min(420px, calc(100vw - 32px));
  padding:14px 16px;
  background:rgba(255,255,255,.55);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.7);
  opacity:.7;
  z-index:30;
  visibility:visible !important;
  transition:none !important;
}
.news-title{
  margin:0 0 8px;
  font-size:14px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.news-list{
  margin:0;
  padding-left:18px;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.015em;
  color:rgba(0,0,0,.72);
}
@media (max-width:720px){
  .section-start{
    padding:0 !important;
    margin:0 !important;
    height:auto !important;
    min-height:auto !important;
    overflow:visible !important;
    background:#fff !important;
  }
  .start-carousel{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    background:#fff !important;
    padding-top:96px !important;
    touch-action: pan-y;
  }
  .start-carousel::before{
    content:"";
    display:block;
    height:58svh;
    min-height:360px;
    max-height:560px;
  }
  .slide{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:96px !important;
    height:58svh !important;
    min-height:360px !important;
    max-height:560px !important;
  }
  .slide img,
  .slide video{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#fff !important;
    transform:scale(1.12);
  }
  .news-overlay{
    position:absolute !important;
    top:8px !important;
    left:14px !important;
    right:14px !important;
    bottom:auto !important;
    width:auto !important;
    max-width:none !important;
    margin:0 !important;
    padding:8px 0 10px !important;
    background:transparent !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
    border:0 !important;
    z-index:80 !important;
    pointer-events:auto !important;
  }
  .news-overlay .news-title{ margin:0 0 4px !important; }
  .news-overlay .news-list{ margin:0 !important; padding-left:16px !important; }
  .carousel-controls{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    z-index:90 !important;
    display:grid !important;
    grid-template-columns:auto 1fr;
    gap:10px;
    align-items:center;
    width:auto !important;
    padding:8px 14px 0 !important;
  }
  .carousel-caption{
    white-space:normal !important;
    font-size:9.5px !important;
    line-height:1.3 !important;
    color:rgba(0,0,0,.48) !important;
  }
}

/* ===== Exhibitions preview ===== */
.exhibitions-grid{
  display:flex;
  flex-direction:column;
  gap:0;
  align-items:stretch;
}
#exhibitions .ex-fullscreen-card{
  height:auto;
  min-height:0;
  padding:28px 0;
  display:flex;
}
#exhibitions .ex-fullscreen-btn{
  width:100%;
  height:auto;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
  display:flex;
  align-items:flex-start;
  overflow:hidden;
}
.ex-preview{
  width:100%;
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--pad);
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(520px,2fr);
  gap:22px;
  align-items:center;
}
.ex-preview__text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  height:100%;
}
.ex-preview__title{
  font-size:16px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.01em;
}
.ex-preview__gallery{
  margin-top:8px;
  font-size:14px;
  line-height:1.3;
  opacity:.78;
}
.ex-preview__meta{
  margin-top:8px;
  font-size:12px;
  line-height:1.35;
  opacity:.78;
  letter-spacing:.015em;
  color:rgba(0,0,0,.72);
}
.ex-preview__excerpt{
  margin-top:6px;
  font-size:10px;
  line-height:1.55;
  opacity:.75;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  line-clamp:3;
  overflow:hidden;
}
.ex-preview__media{
  width:100%;
  max-width:760px;
  max-height:33vh;
  aspect-ratio:4/3;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border-radius:0 !important;
}
.ex-preview__media img,
.ex-fullscreen-img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  border-radius:0 !important;
  transition:transform .45s ease, opacity .45s ease;
}
.ex-fullscreen-btn:hover .ex-preview__media img,
.ex-fullscreen-btn:hover .ex-fullscreen-img{
  transform:scale(1.015);
  opacity:.96;
}
@media (max-width:860px){
  .ex-preview{ grid-template-columns:1fr; gap:16px; }
  .ex-preview__media{ max-height:38vh; }
}

/* ===== Exhibition overlay/gallery ===== */
.exhibition-overlay[hidden]{ display:none !important; }
.exhibition-overlay{
  position:fixed;
  inset:0;
  height:100vh !important;
  padding:14px !important;
  z-index:2000;
  display:flex;
  align-items:center !important;
  justify-content:center !important;
  background:var(--overlay-bg) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.overlay-backdrop{ position:absolute; inset:0; }
.overlay-content{
  width:min(1040px, calc(100vw - 28px)) !important;
  height:calc(100vh - 28px) !important;
  max-height:calc(100vh - 28px) !important;
  display:grid !important;
  grid-template-columns:1fr;
  grid-template-rows:1fr !important;
  align-items:stretch !important;
  gap:0;
  overflow:hidden !important;
  background:var(--panel-bg) !important;
  border:1px solid var(--panel-border) !important;
  border-radius:var(--panel-radius) !important;
  box-shadow:var(--panel-shadow) !important;
}
@media (min-width:900px){
  .overlay-content{ grid-template-columns:minmax(0,1fr) minmax(0,2fr) !important; }
}
.overlay-text,
.overlay-gallery{
  min-height:0 !important;
  min-width:0 !important;
  height:100% !important;
}
.overlay-text{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:calc(var(--panel-pad) + 6px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  font-size:var(--type-size);
  line-height:var(--type-line);
}
.overlay-text h3{
  margin:0 0 10px !important;
  font-size:14px !important;
  font-weight:500 !important;
  letter-spacing:.02em;
}
.overlay-text .meta,
.overlay-text .credits{
  font-size:12px !important;
  opacity:.72;
  margin:6px 0 0;
}
.overlay-text .description{ margin-top:12px; }
.overlay-gallery{
  padding:var(--panel-pad) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
}
.gallery-stage{
  flex:1 1 auto !important;
  position:relative;
  min-height:0 !important;
  display:flex !important;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #eee;
  touch-action:pan-y;
  user-select:none;
}
#gallery-image{
  -webkit-user-drag:none;
  user-select:none;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}
#gallery-image.is-portrait{
  max-height:75% !important;
  max-width:75% !important;
  height:auto !important;
  width:auto !important;
}
.gallery-prev,
.gallery-next{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:38px;
  height:38px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  background:rgba(255,255,255,.88);
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
.gallery-prev{ left:10px; }
.gallery-next{ right:10px; }
.gallery-dots{
  display:flex;
  gap:8px;
  padding-top:12px;
  flex-wrap:wrap;
}
.gallery-dots button{
  width:10px;
  height:10px;
  border-radius:999px;
  border:1px solid #111;
  background:transparent;
  cursor:pointer;
}
.gallery-dots button[aria-current="true"]{ background:#111; }
.overlay-close{
  position:absolute;
  right:10px;
  top:10px;
  width:36px;
  height:36px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  font-size:22px;
  line-height:1;
}
@media (max-width:720px){
  .overlay-content{
    grid-template-columns:1fr !important;
    grid-template-rows:20% 80% !important;
    height:calc(100svh - 28px) !important;
    max-height:calc(100svh - 28px) !important;
  }
  .overlay-text{
    justify-content:center;
    overflow:hidden !important;
  }
  .exhibition-overlay .gallery-dots{ display:none !important; }
}

/* ===== GLightbox: keep structure default, only visual/caption tuning ===== */
.goverlay,
.glightbox-container .goverlay,
.glightbox-container.glightbox-clean .goverlay{
  background:rgba(255,255,255,.85) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.glightbox-clean .gslide-media,
.glightbox-clean .gslide-image img,
.glightbox-clean .gslide-description,
.glightbox-clean .gdesc-inner,
.glightbox-clean .gslide-desc{
  background:transparent !important;
  box-shadow:none !important;
  border:0 !important;
}
@media (max-width:720px){
  .glightbox-container .gslide-title{
    font-size:10px !important;
    line-height:1.15 !important;
    font-weight:400 !important;
    letter-spacing:.01em !important;
    color:rgba(0,0,0,.42) !important;
    margin:0 0 2px !important;
    padding:0 !important;
  }
  .glightbox-container .gslide-desc,
  .glightbox-container .gslide-desc *,
  .glightbox-container .gdesc-inner{
    font-size:9px !important;
    line-height:1.18 !important;
    font-weight:400 !important;
    color:rgba(0,0,0,.36) !important;
  }
  .glightbox-container .gslide-description,
  .glightbox-container .gdesc-inner{
    background:transparent !important;
    box-shadow:none !important;
    border:0 !important;
  }
}

/* ===== Works + Best-of square grid ===== */
.bestof-grid,
.works-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
  max-width:var(--max);
}
.bestof-grid{ max-width:1400px; padding-bottom:14px; }
@media (min-width:900px){
  .bestof-grid,
  .works-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:60px;
  }
}
.works-grid .work-item,
.bestof-grid .work-item{
  display:flex !important;
  flex-direction:column !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  align-items:stretch !important;
  grid-template-rows:none !important;
}
.works-grid .work-preview-box,
.bestof-grid .work-preview-box{
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1/1 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  align-self:stretch !important;
  overflow:hidden !important;
  background:transparent !important;
}
.works-grid .work-preview-box img,
.bestof-grid .work-preview-box img{
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:auto !important;
  max-width:none !important;
  max-height:none !important;
}
.works-grid .work-item--large-landscape .work-preview-box img,
.bestof-grid .work-item--large-landscape .work-preview-box img{
  width:92% !important;
  height:auto !important;
}
.works-grid .work-item--medium-landscape .work-preview-box img,
.bestof-grid .work-item--medium-landscape .work-preview-box img{
  width:76% !important;
  height:auto !important;
}
.works-grid .work-item--large-portrait .work-preview-box img,
.bestof-grid .work-item--large-portrait .work-preview-box img{
  height:90% !important;
  width:auto !important;
}
.works-grid .work-item--medium-portrait .work-preview-box img,
.bestof-grid .work-item--medium-portrait .work-preview-box img{
  height:80% !important;
  width:auto !important;
}
.works-grid .work-item--small .work-preview-box img,
.bestof-grid .work-item--small .work-preview-box img{
  height:60% !important;
  width:auto !important;
}
.works-grid .work-item--wide,
.bestof-grid .work-item--wide{ grid-column:auto !important; }
.works-grid .work-item figcaption,
.bestof-grid .work-item figcaption{
  width:100% !important;
  max-width:none !important;
  display:flex !important;
  flex-direction:column !important;
  align-self:stretch !important;
  align-items:center !important;
  justify-self:stretch !important;
  margin-top:8px !important;
  padding-bottom:14px !important;
  text-align:center !important;
  font-size:11px !important;
  line-height:1.35 !important;
  letter-spacing:.015em;
  color:rgba(0,0,0,.72);
}
.works-grid .work-item .work-title,
.bestof-grid .work-item .work-title{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-weight:400 !important;
}
.work-meta,
.work-series{ color:rgba(0,0,0,.72); }
@media (max-width:720px){
  .works-grid,
  .bestof-grid{ gap:26px !important; }
  .works-grid .work-item figcaption,
  .bestof-grid .work-item figcaption,
  .works-grid .work-item .work-title,
  .bestof-grid .work-item .work-title{
    font-size:9.5px !important;
    line-height:1.35 !important;
    letter-spacing:.01em !important;
    color:rgba(0,0,0,.48) !important;
    font-weight:400 !important;
  }
}

/* ===== Works page ===== */
.works-period{ margin-top:56px; }
.works-period:first-of-type{ margin-top:0; }
.works-period-title{
  margin:0 0 24px;
  font-size:18px !important;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.01em;
}
.works-side-nav{
  position:fixed;
  left:24px;
  top:120px;
  z-index:2000;
  display:block;
}
.works-side-nav ul{ list-style:none; margin:0; padding:0; }
.works-side-nav li+li{ margin-top:10px; }
.works-side-nav a{
  font-size:16px;
  line-height:1.4;
  color:inherit;
  text-decoration:none;
}
.works-side-nav a:hover{ color:#111; }
@media (max-width:720px){
  .works-side-nav{ display:none !important; }
  .works-page-title,
  .works-header h1,
  main.page h1{
    font-size:18px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    color:rgba(0,0,0,.52) !important;
    letter-spacing:.01em !important;
    margin-bottom:22px !important;
  }
  .works-period-title{
    font-size:15px !important;
    line-height:1.25 !important;
    font-weight:400 !important;
    color:rgba(0,0,0,.48) !important;
    letter-spacing:.02em !important;
    margin-bottom:18px !important;
  }
  .works-period{ margin-top:42px !important; }
}

/* ===== Publications ===== */
.pub-block{ margin-top:18px; }
.pub-subtitle{
  margin:0 0 12px;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.04em;
  text-transform:none;
  color:rgba(0,0,0,.62);
  opacity:.7;
}
.pub-list{
  display:flex;
  flex-direction:column;
  gap:22px;
  max-width:var(--max);
}
.pub-row{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:18px;
  align-items:start;
}
.pub-cover img{
  width:100%;
  height:auto;
  display:block;
  border:1px solid #eee;
  border-radius:0;
}
.pub-info{ font-size:13px; line-height:1.55; white-space:pre-line; }
.pub-title{ font-weight:500; white-space:pre-line; letter-spacing:.01em; }
.pub-title-link{
  display:inline-block;
  color:inherit;
  text-decoration:none;
}
.pub-title-link:hover{ text-decoration:underline; }
.pub-meta{
  margin-top:4px;
  white-space:pre-line;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.015em;
  color:rgba(0,0,0,.72);
  opacity:.75;
}
.pub-desc{ margin-top:8px; opacity:.9; white-space:pre-line; }
.pub-link{
  display:inline-block;
  margin-top:6px;
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
}
@media (max-width:720px){
  .pub-row{ grid-template-columns:140px 1fr; gap:14px; }
}

/* ===== Text / CV / Impressum overlays ===== */
.open-text-overlay{
  padding:10px 12px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  cursor:pointer;
}
.h2-overlay-link{
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid rgba(0,0,0,.25);
  padding-bottom:2px;
}
.text-overlay{
  position:fixed;
  inset:0;
  z-index:1000;
}
.text-overlay__backdrop{
  position:absolute;
  inset:0;
  background:var(--overlay-bg) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.text-overlay__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%, -50%);
  width:min(980px, calc(100vw - 28px)) !important;
  max-height:calc(100vh - 28px) !important;
  border:1px solid var(--panel-border) !important;
  border-radius:var(--panel-radius) !important;
  background:var(--panel-bg) !important;
  box-shadow:var(--panel-shadow) !important;
  padding:14px 14px 16px !important;
}
.overlay-close--text{
  position:fixed;
  right:16px;
  top:16px;
  z-index:10000;
  display:flex !important;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:pointer;
  font-size:22px;
  line-height:1;
  text-align:center;
}
.reading-box{
  max-width:900px;
  border:1px solid #eee;
  background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:18px;
  padding:18px;
  margin-top:14px;
  max-height:65vh;
  overflow:auto;
  -webkit-overflow-scrolling:touch;
}
.reading-box--overlay{
  margin-top:10px !important;
  max-height:calc(100vh - 190px) !important;
  overflow:auto !important;
  -webkit-overflow-scrolling:touch;
  font-size:var(--type-size) !important;
  line-height:var(--type-line) !important;
}
.reading-box .text-content{
  font-size:14px;
  line-height:1.6;
}
.reading-box h1,
.reading-box h2,
.reading-box h3{ margin-top:18px; }
.reading-box p{ margin:10px 0; }
#overlay-texts .text-overlay__panel{ position:relative; padding:14px !important; }
#overlay-texts .language-switch{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
}
#overlay-texts .reading-box--overlay{ padding-top:44px; }
#overlay-texts .reading-box--overlay .text-content{
  font-size:clamp(13px,1.8vw,15px);
  line-height:1.65;
}
#overlay-texts .reading-box--overlay h1{
  font-size:clamp(16px,3.6vw,22px);
  margin:10px 0 12px;
}
#overlay-texts .reading-box--overlay h2{
  font-size:clamp(14px,3vw,18px);
  margin:16px 0 10px;
}
.language-switch .lang-btn{ border:1px solid rgba(0,0,0,.10); }

/* CV */
#overlay-cv .text-overlay__panel{ padding:14px !important; }
#overlay-cv .cv-split{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:16px;
  height:calc(100vh - 220px);
  min-height:520px;
  align-items:stretch;
}
#overlay-cv .cv-portrait{
  position:relative;
  height:100%;
  border:1px solid rgba(0,0,0,.10);
  border-radius:0 !important;
  overflow:hidden;
  background:rgba(255,255,255,.5);
}
#overlay-cv .cv-portrait img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0 !important;
}
#overlay-cv .cv-content{
  height:100%;
  min-height:0;
  position:relative;
}
#overlay-cv .language-switch{
  position:absolute;
  top:10px;
  right:10px;
  z-index:2;
}
#overlay-cv .reading-box--overlay{
  height:100% !important;
  max-height:none !important;
  overflow:auto !important;
  margin-top:0 !important;
  padding-top:44px;
}
#overlay-cv .text-content h2{
  margin:18px 0 10px;
  font-size:15px;
  line-height:1.3;
}
#overlay-cv .text-content p{
  margin:0 0 8px;
  padding-left:5ch;
  text-indent:-5ch;
  white-space:pre-line;
}
#overlay-cv .text-content li{
  padding-left:5ch;
  text-indent:-5ch;
  margin-bottom:4px;
}
@media (max-width:720px){
  #overlay-cv .text-overlay__panel{
    height:calc(100svh - 28px) !important;
    max-height:calc(100svh - 28px) !important;
    overflow:hidden !important;
  }
  #overlay-cv .cv-split{
    display:block !important;
    height:100% !important;
    min-height:0 !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  #overlay-cv .cv-portrait{
    height:auto !important;
    max-height:none !important;
    min-height:0 !important;
  }
  #overlay-cv .cv-portrait img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
    display:block;
  }
  #overlay-cv .cv-content{
    height:auto !important;
    min-height:0 !important;
  }
  #overlay-cv .reading-box--overlay{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* ===== Contact / footer ===== */
.photo-credits{
  margin-top:26px;
  text-align:center;
  opacity:.8;
  font-size:12px;
}
.contact-icons{
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:18px;
}
.contact-icons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.contact-icons img{
  width:34px;
  height:34px;
  display:block;
  transition:opacity .2s ease, transform .2s ease;
}
.contact-icons a:hover img{
  opacity:.75;
  transform:scale(1.04);
}
.site-copyright{
  margin-top:28px;
  padding-top:16px;
  font-size:11px;
  line-height:1.4;
  opacity:.7;
  text-align:center;
}
#contact p,
#contact li{
  margin-top:8px;
  font-size:12px;
  line-height:1.45;
  letter-spacing:.015em;
  color:rgba(0,0,0,.72);
}
@media (max-width:720px){
  #contact h2 .h2-overlay-link,
  #contact .h2-overlay-link{
    font-size:22px !important;
    line-height:1.25 !important;
    display:inline-block;
    max-width:100%;
    word-break:normal;
    overflow-wrap:anywhere;
  }
}

/* ===== Newsletter / privacy: currently safe if commented back in later ===== */
.newsletter-signup{ margin-top:28px; }
.newsletter-form{ max-width:760px; }
.newsletter-row{
  display:grid;
  grid-template-columns:1fr 1.2fr auto;
  gap:12px;
  align-items:center;
}
.newsletter-input{
  width:100%;
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  padding:10px 14px;
  font:inherit;
  background:rgba(255,255,255,.9);
}
.newsletter-button{
  border:1px solid rgba(0,0,0,.12);
  border-radius:999px;
  padding:10px 14px;
  background:rgba(255,255,255,.9);
  font:inherit;
  cursor:pointer;
}
.newsletter-hidden{ position:absolute; left:-5000px; }
.newsletter-hint{
  margin-top:10px;
  font-size:12px;
  opacity:.72;
}
.privacy-link{
  color:inherit;
  text-decoration:underline;
  border:0 !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:inline;
}
a.open-text-overlay.privacy-link{ appearance:none; }
@media (max-width:720px){
  .newsletter-row{ grid-template-columns:1fr; }
}

/* Swipen zulassen beim Carousel */
.start-carousel{
  touch-action: pan-y;
}

.start-carousel .slide{
  pointer-events: auto;
}
