
:root{--red:#a72f2f;--paper:#f2ede4;--dark:#111;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:#191919;font-family:Georgia, "Times New Roman", serif;line-height:1.6}img{display:block;width:100%}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:10px max(22px,calc((100vw - var(--max))/2));background:#111;color:#fff}.brand{width:170px}.brand img{max-height:56px;object-fit:contain}.site-header nav{display:flex;gap:22px;flex-wrap:wrap;font:500 .9rem Oswald,sans-serif;text-transform:uppercase}.site-header nav a:hover{color:#d65a54}.hero{min-height:520px;max-height:600px;display:grid;grid-template-columns:.78fr 1.22fr;background:linear-gradient(135deg,#1d1d1d,#090909);color:#fff}.hero-photo{overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:center 20%}.hero-copy{padding:60px clamp(35px,6vw,90px);align-self:center}.eyebrow{color:var(--red);font:600 .8rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.16em}.hero h1{margin:4px 0 0;color:#c23c39;font:700 clamp(4rem,8vw,7.2rem)/.95 Oswald,sans-serif;text-transform:uppercase}.hero h1 small{color:#fff;font-size:.55em}.hero h2{margin:10px 0 20px;font:500 1.35rem Oswald,sans-serif;text-transform:uppercase;letter-spacing:.2em}.hero p{max-width:600px;font-size:1.2rem;color:#d8d2c8}.actions{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;padding:13px 20px;background:var(--red);color:#fff;font:500 .9rem Oswald,sans-serif;text-transform:uppercase}.ghost{background:transparent;border:1px solid #777}.manifest,.about,.contact,.dark,.gallery{padding:88px max(22px,calc((100vw - var(--max))/2))}.manifest{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px}.manifest h3{font:600 clamp(1.6rem,2.8vw,2.8rem)/1.2 Oswald,sans-serif;text-transform:uppercase}.manifest h3 b,.manifest h2 em{color:var(--red);font-style:normal}.manifest h2{font-size:clamp(2rem,4vw,3.8rem);line-height:1.08}.manifest p{font-size:1.08rem}.manifest blockquote{margin:30px 0 0;padding:22px 26px;background:#ded3c4;border-left:5px solid var(--red);font-size:1.25rem}.dark{background:#141414;color:#fff}.section-title,.about h2,.contact h2{margin:8px 0 28px;font:700 clamp(2.5rem,5vw,5rem)/1 Oswald,sans-serif;text-transform:uppercase}.portals{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portals a{position:relative;min-height:430px;overflow:hidden;background:#222}.portals img{height:430px;object-fit:cover;opacity:.65;transition:.3s}.portals a:hover img{transform:scale(1.04);opacity:.8}.portals div{position:absolute;inset:auto 0 0;padding:24px;background:linear-gradient(transparent,#000)}.portals h3{font:600 2rem Oswald,sans-serif;text-transform:uppercase;margin:35px 0 4px}.portals p{margin:0;color:#ddd}.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.about>img{max-width:420px;aspect-ratio:4/5.1;object-fit:cover;object-position:center top;box-shadow:20px 20px 0 #c9b9a7}.about p{font-size:1.14rem;max-width:680px}.contact{display:grid;grid-template-columns:1.15fr .85fr;gap:55px;background:#101010;color:#fff}.contact p{color:#c8c0b6}.contactbox{padding:28px;border:1px solid #333;background:#191919}.pagehero{padding:82px max(22px,calc((100vw - var(--max))/2)) 58px;background:linear-gradient(135deg,#202020,#080808);color:#fff}.pagehero h1{margin:8px 0 12px;font:700 clamp(4rem,9vw,8.5rem)/1 Oswald,sans-serif;text-transform:uppercase}.pagehero p{max-width:760px;font-size:1.25rem;color:#d0c9bf}.gallery{padding-top:42px}.gallerytop{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.gallerytop a{color:var(--red);font:500 .9rem Oswald,sans-serif;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid #d8cfc3;box-shadow:0 10px 24px #0000000d}.zoom{width:100%;padding:0;border:0;overflow:hidden;background:#222;cursor:zoom-in}.zoom img{aspect-ratio:4/3.5;object-fit:cover;transition:.3s}.zoom:hover img{transform:scale(1.04)}.card>div{padding:18px 20px 22px}.card span{color:var(--red);font:500 .72rem Oswald,sans-serif;text-transform:uppercase}.card h3{margin:4px 0 6px;font:600 1.45rem Oswald,sans-serif;text-transform:uppercase}.card p{margin:0;color:#665f57}.lightbox{display:none;position:fixed;inset:0;z-index:20;background:#000e;align-items:center;justify-content:center;padding:35px}.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:88vh;width:auto}.lightbox button{position:absolute;right:25px;top:15px;background:none;border:0;color:#fff;font-size:3rem;cursor:pointer}footer{display:flex;justify-content:space-between;gap:20px;padding:22px max(22px,calc((100vw - var(--max))/2));background:#080808;color:#999;font-size:.9rem}@media(max-width:900px){.site-header{position:static;align-items:flex-start;flex-direction:column}.hero,.manifest,.about,.contact{grid-template-columns:1fr}.hero{max-height:none}.hero-photo{height:430px}.portals,.grid{grid-template-columns:1fr 1fr}.about>img{max-width:100%}}@media(max-width:560px){.portals,.grid{grid-template-columns:1fr}.gallerytop,footer{align-items:flex-start;flex-direction:column}.manifest,.about,.contact,.dark,.gallery{padding-top:62px;padding-bottom:62px}.hero h1{font-size:3.8rem}}


/* --- Hero-Foto Anpassung: Heimo proportional und kompakter --- */
.compact-hero {
  min-height: 500px;
  max-height: none;
  grid-template-columns: minmax(280px, 420px) minmax(0, 1fr);
  align-items: center;
  justify-content: center;
  padding: 42px max(22px, calc((100vw - var(--max)) / 2));
  gap: clamp(36px, 6vw, 82px);
}

.compact-hero .hero-photo {
  min-height: 0;
  max-height: none;
  width: 100%;
  max-width: 400px;
  justify-self: center;
  background: transparent;
  overflow: visible;
}

.compact-hero .hero-photo img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center;
  border-radius: 2px;
  box-shadow: 18px 18px 0 rgba(167, 47, 47, .18);
}

.compact-hero .hero-copy {
  padding: 28px 0;
  max-width: 700px;
}

@media (max-width: 900px) {
  .compact-hero {
    grid-template-columns: 1fr;
    padding-top: 34px;
    padding-bottom: 54px;
    gap: 26px;
  }

  .compact-hero .hero-photo {
    max-width: 340px;
  }

  .compact-hero .hero-copy {
    padding: 0;
  }
}

@media (max-width: 560px) {
  .compact-hero .hero-photo {
    max-width: 280px;
  }
}


/* --- Startseite ohne Hero-Foto --- */
.compact-hero {
  display: block;
  min-height: 480px;
  padding: 70px max(22px, calc((100vw - var(--max)) / 2));
}

.compact-hero .hero-copy {
  max-width: 820px;
  padding: 25px 0;
}

@media (max-width: 900px) {
  .compact-hero {
    min-height: auto;
    padding-top: 60px;
    padding-bottom: 70px;
  }
}


/* --- Breiterer Hero-Text ohne Foto --- */
.compact-hero {
  min-height: 470px;
  display: flex;
  align-items: center;
}

.compact-hero .hero-copy {
  width: 100%;
  max-width: 1080px;
  padding: 25px 0;
}

.compact-hero .hero-text {
  max-width: 900px;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.compact-hero h1 {
  font-size: clamp(4.5rem, 10vw, 8.8rem);
}

.compact-hero .claim {
  font-size: clamp(1.15rem, 2.3vw, 1.75rem);
}

@media (max-width: 700px) {
  .compact-hero {
    min-height: auto;
  }

  .compact-hero .hero-copy {
    max-width: 100%;
  }
}


/* =========================================================
   Neuer Startbereich – typografisch, handwerklich, ohne Foto
   ========================================================= */
.hero-new {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 78% 24%, rgba(167,47,47,.20), transparent 25%),
    linear-gradient(120deg, #0d0d0d 0%, #181818 55%, #0c0c0c 100%);
  border-bottom: 1px solid rgba(255,255,255,.10);
}

.hero-new::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .22;
  background:
    repeating-linear-gradient(
      90deg,
      transparent 0,
      transparent 119px,
      rgba(255,255,255,.035) 120px
    );
}

.hero-new::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -160px;
  bottom: -230px;
  border: 1px solid rgba(167,47,47,.45);
  border-radius: 50%;
  box-shadow:
    0 0 0 70px rgba(167,47,47,.025),
    0 0 0 140px rgba(167,47,47,.018);
}

.hero-new-inner {
  position: relative;
  z-index: 1;
  width: min(var(--max), calc(100% - 44px));
  min-height: 610px;
  margin: 0 auto;
  padding: 46px 0 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.hero-kicker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 26px;
  color: #aaa39a;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .78rem;
}

.hero-kicker span:not(:last-child)::after {
  content: "•";
  margin-left: 26px;
  color: var(--red);
}

.hero-new-main {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .55fr);
  gap: clamp(45px, 8vw, 110px);
  align-items: end;
  padding: 38px 0 46px;
}

.hero-small {
  margin: 0 0 7px;
  color: #c64a46;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  text-transform: uppercase;
  letter-spacing: .25em;
}

.hero-title-wrap h1 {
  margin: 0;
  max-width: 820px;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: clamp(4.8rem, 9.5vw, 9rem);
  font-weight: 600;
  line-height: .88;
  letter-spacing: -.025em;
  text-transform: uppercase;
}

.hero-side {
  padding: 0 0 5px 28px;
  border-left: 3px solid var(--red);
}

.hero-side-lead {
  margin: 0 0 20px !important;
  color: var(--white) !important;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.65rem) !important;
  line-height: 1.05;
  text-transform: uppercase;
}

.hero-side p {
  margin: 0 0 25px;
  color: #c9c3ba;
  font-size: 1.06rem;
}

.hero-new-bottom {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 25px;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.14);
}

.hero-brandline {
  margin: 0;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: clamp(1.4rem, 2.7vw, 2.3rem);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.hero-brandline strong {
  color: #cf4a46;
  font-weight: 600;
}

.scroll-hint {
  color: #aaa39a;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: .09em;
  font-size: .78rem;
}

.scroll-hint span {
  display: inline-block;
  margin-left: 8px;
  color: #cf4a46;
  font-size: 1.2rem;
}

@media (max-width: 820px) {
  .hero-new-inner {
    min-height: auto;
    padding-top: 38px;
    padding-bottom: 32px;
  }

  .hero-new-main {
    grid-template-columns: 1fr;
    gap: 38px;
    padding: 48px 0;
  }

  .hero-title-wrap h1 {
    font-size: clamp(4rem, 15vw, 7rem);
  }

  .hero-side {
    max-width: 560px;
  }
}

@media (max-width: 520px) {
  .hero-kicker {
    gap: 6px 12px;
  }

  .hero-kicker span:not(:last-child)::after {
    margin-left: 12px;
  }

  .hero-title-wrap h1 {
    font-size: clamp(3.5rem, 17vw, 5rem);
  }

  .hero-side {
    padding-left: 18px;
  }

  .hero-new-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* ===== STARTBEREICH V4 – komplett neues Layout ===== */
.start-v4{
  background:#eee7dc;
  color:#151515;
  border-bottom:8px solid #a72f2f;
}
.start-v4-inner{
  width:min(1180px,calc(100% - 44px));
  margin:auto;
  padding:78px 0 70px;
}
.start-v4-overline{
  margin:0 0 26px;
  color:#a72f2f;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.2em;
}
.start-v4 h1{
  margin:0;
  max-width:1000px;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:clamp(5.5rem,12vw,11rem);
  font-weight:600;
  line-height:.78;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.start-v4 h1 em{
  color:#a72f2f;
  font-style:normal;
}
.start-v4-row{
  margin-top:60px;
  padding-top:28px;
  border-top:1px solid #aaa095;
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:end;
}
.start-v4-intro{
  max-width:700px;
  margin:0;
  font-size:clamp(1.15rem,2vw,1.45rem);
  line-height:1.45;
}
.start-v4-actions{
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
}
.start-v4-link{
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  color:#7f2222;
  letter-spacing:.05em;
}
.start-v4-band{
  min-height:58px;
  padding:12px 22px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  background:#121212;
  color:#eee7dc;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.82rem;
}
.start-v4-band i{
  width:5px;height:5px;border-radius:50%;background:#a72f2f;
}
@media(max-width:700px){
  .start-v4-inner{padding:55px 0 48px}
  .start-v4 h1{font-size:clamp(4.2rem,20vw,7rem);line-height:.84}
  .start-v4-row{grid-template-columns:1fr;gap:28px;margin-top:45px}
  .start-v4-band{justify-content:flex-start}
}


/* Aktuelles – echte Fotogalerie */
.gallery-photo-only {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.gallery-photo-only .gallery-image {
  background: #171717;
  border: 1px solid #d2c7b8;
}
.gallery-photo-only .gallery-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

/* Aktuelles: reine Fotogalerie */
.photo-card { padding:0; overflow:hidden; background:#171717; }
.photo-card .zoom { width:100%; border:0; padding:0; display:block; cursor:zoom-in; background:#171717; }
.photo-card .zoom img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .25s ease; }
.photo-card .zoom:hover img { transform:scale(1.025); }


/* Lightbox Navigation für "Aktuelles" */
body.lightbox-open { overflow: hidden; }

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 50%;
  background: rgba(15,15,15,.62);
  color: #fff;
  font-size: 3rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: .2s ease;
}

.lightbox-nav:hover {
  background: rgba(167,47,47,.88);
  border-color: rgba(255,255,255,.8);
}

.lightbox-prev { left: 24px; }
.lightbox-next { right: 24px; }

.lightbox-counter {
  position: absolute;
  left: 50%;
  bottom: 18px;
  transform: translateX(-50%);
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.55);
  color: #fff;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size: .82rem;
  letter-spacing: .08em;
}

@media (max-width: 700px) {
  .lightbox-nav {
    width: 46px;
    height: 46px;
    font-size: 2.4rem;
  }

  .lightbox-prev { left: 10px; }
  .lightbox-next { right: 10px; }
}


/* Korrektur der Lightbox-Navigation */
.lightbox-close {
  position: absolute;
  right: 25px;
  top: 15px;
  z-index: 4;
  background: none;
  border: 0;
  color: #fff;
  font-size: 3rem;
  cursor: pointer;
}

.lightbox .lightbox-nav {
  top: 50%;
  right: auto;
  transform: translateY(-50%);
  z-index: 3;
}

.lightbox .lightbox-prev { left: 24px; }
.lightbox .lightbox-next { left: auto; right: 24px; }

.lightbox .lightbox-counter {
  z-index: 3;
}


/* =========================================================
   AKTUELLES – neues Galerie-Design
   ========================================================= */
.atelier-hero{
  background:#f2ede4;
  color:#171717;
  border-bottom:1px solid #ddd3c5;
  overflow:hidden;
}

.atelier-hero-inner{
  position:relative;
  width:min(1180px,calc(100% - 44px));
  min-height:500px;
  margin:auto;
  display:flex;
  align-items:center;
  padding:70px 0 62px;
}

.atelier-hero-copy{
  position:relative;
  z-index:2;
  max-width:660px;
}

.atelier-kicker{
  display:block;
  margin-bottom:18px;
  color:#b07a32;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.95rem;
}

.atelier-hero h1{
  margin:0;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:clamp(4.1rem,8vw,7.7rem);
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-.03em;
}

.atelier-hero h1 span{color:#b07a32}

.atelier-rule{
  width:165px;
  height:2px;
  margin:32px 0 30px;
  background:#b07a32;
}

.atelier-hero-copy > p:not(.atelier-script){
  max-width:570px;
  margin:0;
  font-size:1.18rem;
  line-height:1.55;
}

.atelier-script{
  margin:24px 0 0;
  color:#b07a32;
  font-size:1.35rem;
  font-style:italic;
}

.tree-ring{
  position:absolute;
  right:-120px;
  top:-110px;
  width:560px;
  height:560px;
  border-radius:50%;
  opacity:.22;
  border:2px solid #b07a32;
}

.tree-ring span{
  position:absolute;
  inset:7%;
  border:1px solid #b07a32;
  border-radius:50%;
  transform:rotate(var(--r,0deg)) scaleX(var(--sx,1)) scaleY(var(--sy,1));
}

.tree-ring span:nth-child(2){inset:13%;--sx:.97;--sy:1.03;--r:5deg}
.tree-ring span:nth-child(3){inset:19%;--sx:1.04;--sy:.95;--r:-8deg}
.tree-ring span:nth-child(4){inset:25%;--sx:.96;--sy:1.06;--r:12deg}
.tree-ring span:nth-child(5){inset:31%;--sx:1.05;--sy:.97;--r:-4deg}
.tree-ring span:nth-child(6){inset:37%;--sx:.94;--sy:1.04;--r:7deg}
.tree-ring span:nth-child(7){inset:42%;--sx:1.04;--sy:.94;--r:-10deg}
.tree-ring span:nth-child(8){inset:47%;--sx:.95;--sy:1.06;--r:9deg}
.tree-ring span:nth-child(9){inset:52%;--sx:1.06;--sy:.93;--r:-6deg}
.tree-ring span:nth-child(10){inset:57%;--sx:.96;--sy:1.05;--r:11deg}

.atelier-gallery-section{
  padding:0 max(22px,calc((100vw - 1180px)/2)) 80px;
  background:#f7f3ec;
}

.atelier-toolbar{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  margin-bottom:20px;
}

.atelier-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.atelier-filters button{
  border:0;
  border-radius:5px;
  padding:11px 18px;
  background:transparent;
  color:#5f554a;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
  cursor:pointer;
}

.atelier-filters button.active,
.atelier-filters button:hover{
  background:#151515;
  color:#fff;
}

.atelier-count{
  color:#7e7266;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  font-size:.82rem;
  letter-spacing:.08em;
  white-space:nowrap;
}

/* Masonry without cropping the original photos */
.atelier-grid{
  columns:3 300px;
  column-gap:8px;
}

.atelier-item{
  break-inside:avoid;
  margin:0 0 8px;
  overflow:hidden;
  border-radius:8px;
  background:#1a1a1a;
}

.atelier-item .zoom{
  display:block;
  width:100%;
  padding:0;
  border:0;
  background:#1a1a1a;
  cursor:zoom-in;
}

.atelier-item img{
  display:block;
  width:100%;
  height:auto;
  transition:transform .28s ease,filter .28s ease;
}

.atelier-item .zoom:hover img{
  transform:scale(1.018);
  filter:brightness(.94);
}

.atelier-cta{
  margin-top:20px;
  padding:22px 28px;
  display:grid;
  grid-template-columns:auto auto 1fr auto;
  gap:24px;
  align-items:center;
  border-radius:9px;
  background:#ebe1d3;
  border:1px solid #e0d4c4;
}

.atelier-cta-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#171717;
  color:#b98a4b;
  font-size:1.4rem;
}

.atelier-cta-title{
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  font-size:1.15rem;
  white-space:nowrap;
}

.atelier-cta-copy{
  padding-left:24px;
  border-left:1px solid #c9aa7e;
  color:#514b44;
}

.atelier-cta-btn{
  padding:13px 22px;
  border-radius:4px;
  background:#171717;
  color:#fff;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
}

.atelier-cta-btn:hover{background:#7f2222}

@media(max-width:800px){
  .atelier-hero-inner{min-height:auto;padding:55px 0 48px}
  .tree-ring{width:400px;height:400px;right:-190px;top:-80px}
  .atelier-hero-copy{max-width:75%}
  .atelier-toolbar{align-items:flex-start;flex-direction:column;padding:18px 0}
  .atelier-grid{columns:2 220px}
  .atelier-cta{grid-template-columns:auto 1fr}
  .atelier-cta-copy{grid-column:1/-1;padding-left:0;border-left:0;border-top:1px solid #c9aa7e;padding-top:16px}
  .atelier-cta-btn{grid-column:1/-1;text-align:center}
}

@media(max-width:520px){
  .atelier-hero-copy{max-width:100%}
  .tree-ring{opacity:.10}
  .atelier-grid{columns:1}
  .atelier-filters{gap:6px}
  .atelier-filters button{padding:9px 12px;font-size:.78rem}
  .atelier-cta{grid-template-columns:1fr}
  .atelier-cta-icon{display:none}
  .atelier-cta-title{white-space:normal}
}


/* Aktuelles – bewusst ohne Kategorien/Filter */
.atelier-gallery-head{
  min-height:76px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  margin-bottom:20px;
  border-bottom:1px solid #ded5c9;
}
.atelier-gallery-head p{
  margin:0;
  color:#5f574e;
  font-size:1.05rem;
}
.atelier-gallery-head span{
  color:#8a7d70;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.8rem;
  white-space:nowrap;
}
@media(max-width:600px){
  .atelier-gallery-head{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
    padding:18px 0;
  }
}


/* Einheitliche Markenfarbe: Rot statt Gold auf allen Galerie-Seiten */
.atelier-kicker,
.atelier-hero h1 span,
.atelier-script {
  color: var(--red);
}
.atelier-rule {
  background: var(--red);
}
.tree-ring,
.tree-ring span {
  border-color: var(--red);
}
.atelier-cta-icon {
  color: var(--red);
}


/* Inspirationen – Geschichten ohne Fotos */
.idea-stories{
  margin-top:70px;
  padding:70px 0 18px;
  border-top:1px solid #d8cdbf;
}

.idea-stories-head{
  max-width:780px;
  margin-bottom:38px;
}

.idea-stories-head h2{
  margin:0 0 18px;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:clamp(3rem,6vw,5.8rem);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.025em;
}

.idea-stories-head p{
  max-width:690px;
  margin:0;
  color:#5b544c;
  font-size:1.12rem;
}

.idea-story-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.idea-story{
  position:relative;
  min-height:330px;
  padding:32px 34px 30px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#ebe2d6;
  border:1px solid #ded2c3;
  border-radius:8px;
}

.idea-story:nth-child(2),
.idea-story:nth-child(3){
  background:#1a1a1a;
  color:#f3eee7;
  border-color:#2c2c2c;
}

.idea-no{
  display:block;
  margin-bottom:30px;
  color:var(--red);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  font-size:.82rem;
  letter-spacing:.15em;
}

.idea-question{
  margin:0 0 34px;
  font-size:clamp(1.18rem,2vw,1.42rem);
  line-height:1.48;
}

.idea-result{
  padding-top:20px;
  border-top:1px solid rgba(130,110,90,.35);
}

.idea-story:nth-child(2) .idea-result,
.idea-story:nth-child(3) .idea-result{
  border-color:rgba(255,255,255,.18);
}

.idea-result span{
  color:var(--red);
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:.74rem;
}

.idea-result h3{
  margin:4px 0 0;
  font-family:"Arial Narrow", "Roboto Condensed", Arial, sans-serif;
  text-transform:uppercase;
  font-size:clamp(1.45rem,2.5vw,2.05rem);
  line-height:1.12;
}

.idea-result p{
  margin:10px 0 0;
  color:#6b6259;
  font-style:italic;
}

.idea-story:nth-child(2) .idea-result p,
.idea-story:nth-child(3) .idea-result p{
  color:#c8c0b7;
}

@media(max-width:760px){
  .idea-story-grid{grid-template-columns:1fr}
  .idea-story{min-height:auto}
}

/* Datenschutzfreundliche Systemschriften: keine externen Font-Requests */
body { font-family: Georgia, "Times New Roman", serif; }

/* Rechtliche Seiten */
.legal-hero{padding:78px max(22px,calc((100vw - var(--max))/2)) 58px;background:#151515;color:#fff}
.legal-hero span{color:var(--red);font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.82rem}
.legal-hero h1{margin:10px 0 0;font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:clamp(3.4rem,7vw,6.8rem);line-height:.94}
.legal-page{padding:64px max(22px,calc((100vw - 980px)/2)) 90px;background:#f2ede4}
.legal-block{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #d5cabc}
.legal-block h2{margin:0 0 12px;font-family:"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:1.45rem}
.legal-block p{margin:8px 0;max-width:900px}
.legal-block a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.legal-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 42px}
.legal-notice{margin:0 0 42px;padding:20px 24px;border-left:4px solid var(--red);background:#e6dbcc}
@media(max-width:700px){.legal-grid{grid-template-columns:1fr}}


/* Sanfte Seitenübergänge – nur Opacity, damit fixe Lightboxen korrekt funktionieren */
html { background:#111; }

body {
  opacity:0;
  transition:opacity .34s ease;
}

body.page-ready {
  opacity:1;
}

body.page-leaving {
  opacity:0;
}

@media (prefers-reduced-motion: reduce) {
  body,
  body.page-ready,
  body.page-leaving {
    opacity:1;
    transition:none;
  }
}


/* Lightbox-Kompatibilität mit Seitenübergängen */
body,
body.page-ready,
body.page-leaving {
  transform: none !important;
}

.lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
}


/* =========================================================
   Inspirationen: Geschichten mit echten Projektfotos
   ========================================================= */
.idea-story-list{
  display:grid;
  gap:14px;
}

.idea-story-with-image{
  display:grid;
  grid-template-columns:1fr 1.08fr;
  min-height:420px;
  overflow:hidden;
  border-radius:10px;
  border:1px solid #ded2c3;
  background:#ebe2d6;
}

.idea-story-with-image.reverse{
  grid-template-columns:1.08fr 1fr;
}

.idea-story-with-image.reverse .idea-story-copy{
  order:2;
}

.idea-story-with-image.reverse .idea-story-photo{
  order:1;
}

.idea-story-copy{
  padding:38px 40px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  background:#ebe2d6;
  color:#191919;
}

.idea-story-copy.dark-copy{
  background:#191919;
  color:#f5f0e8;
}

.idea-story-copy .idea-no{
  margin-bottom:24px;
}

.idea-story-copy .idea-question{
  margin:0 0 30px;
  font-size:clamp(1.15rem,1.8vw,1.38rem);
  line-height:1.5;
}

.idea-story-copy .idea-result{
  margin-top:auto;
}

.idea-story-copy.dark-copy .idea-result{
  border-color:rgba(255,255,255,.18);
}

.idea-story-copy .idea-result p{
  margin:10px 0 0;
  color:#6b6259;
  font-style:italic;
  line-height:1.45;
}

.idea-story-copy.dark-copy .idea-result p{
  color:#c8c0b7;
}

.idea-story-photo{
  min-height:420px;
  background:#272727;
  overflow:hidden;
}

.idea-story-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.idea-story-with-image:hover .idea-story-photo img{
  transform:scale(1.018);
}

/* Bei Hochformatfotos nicht zu aggressiv beschneiden */
.idea-story-with-image:nth-child(2) .idea-story-photo img,
.idea-story-with-image:nth-child(3) .idea-story-photo img{
  object-position:center center;
}

@media(max-width:850px){
  .idea-story-with-image,
  .idea-story-with-image.reverse{
    grid-template-columns:1fr;
  }

  .idea-story-with-image.reverse .idea-story-copy,
  .idea-story-with-image.reverse .idea-story-photo{
    order:initial;
  }

  .idea-story-photo{
    min-height:360px;
  }
}

@media(max-width:520px){
  .idea-story-copy{
    padding:28px 24px;
  }

  .idea-story-photo{
    min-height:300px;
  }
}


/* =========================================================
   NUR AKTUELLES: optionale Produktdetails in der Lightbox
   Details werden nur angezeigt, wenn beim jeweiligen
   <article class="atelier-item"> Daten eingetragen sind.
   ========================================================= */
.lightbox-details{
  display:none;
  position:absolute;
  right:26px;
  bottom:26px;
  z-index:4;
  width:min(340px,calc(100vw - 52px));
  max-height:70vh;
  overflow:auto;
  padding:24px 26px;
  border-radius:9px;
  background:rgba(20,20,20,.92);
  color:#f7f2eb;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(8px);
}

.lightbox-details.has-content{display:block}

.lightbox-detail-title{
  margin:0 0 10px;
  font-family:"Arial Narrow",Arial,sans-serif;
  font-size:1.55rem;
  line-height:1.1;
  text-transform:uppercase;
}

.lightbox-detail-description{
  margin:0 0 16px;
  color:#ded6cd;
  line-height:1.45;
}

.lightbox-detail-list{
  margin:0;
}

.lightbox-detail-list > div{
  display:grid;
  grid-template-columns:110px 1fr;
  gap:12px;
  padding:8px 0;
  border-top:1px solid rgba(255,255,255,.13);
}

.lightbox-detail-list dt{
  color:#b93434;
  font-family:"Arial Narrow",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.76rem;
}

.lightbox-detail-list dd{
  margin:0;
  color:#fff;
}

@media(max-width:700px){
  .lightbox-details{
    right:12px;
    left:12px;
    bottom:12px;
    width:auto;
    max-height:38vh;
    padding:18px 20px;
  }
  .lightbox-detail-list > div{
    grid-template-columns:92px 1fr;
  }
}


/* =========================================================
   AKTUELLES – Details sichtbar direkt unter den Bildern
   ========================================================= */
.atelier-item.has-details{
  background:#f2ede4;
  border:1px solid #ddd2c4;
}

.atelier-card-info{
  padding:18px 19px 20px;
  color:#191919;
}

.atelier-card-info h3{
  margin:0 0 8px;
  font-family:"Arial Narrow",Arial,sans-serif;
  font-size:1.25rem;
  line-height:1.15;
  text-transform:uppercase;
}

.atelier-card-desc{
  margin:0 0 14px;
  color:#5b554e;
  line-height:1.45;
  font-size:.96rem;
}

.atelier-card-facts{
  display:grid;
  gap:6px;
  padding-top:12px;
  border-top:1px solid #d5c8b8;
}

.atelier-card-facts > div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:baseline;
}

.atelier-card-facts span{
  color:var(--red);
  font-family:"Arial Narrow",Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:.7rem;
}

.atelier-card-facts strong{
  font-weight:600;
  text-align:right;
}

@media(max-width:600px){
  .atelier-card-info{
    padding:15px 16px 17px;
  }
}


/* Aktuelles: Details direkt im HTML, ohne JavaScript-Abhängigkeit */
.atelier-card-info.is-empty {
  display: none !important;
}

.atelier-card-info {
  display: block;
  padding: 18px 19px 20px;
  background: #f2ede4;
  color: #191919;
  border-top: 1px solid #ddd2c4;
}

.atelier-card-info h3:empty,
.atelier-card-desc:empty,
.atelier-card-facts strong:empty {
  display: none;
}

.atelier-card-facts > div:has(strong:empty) {
  display: none;
}


/* Aktuelles – Anfragebutton */
.product-inquiry-btn{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:13px 15px;
  background:#171717;
  color:#fff;
  text-decoration:none;
  font-family:"Arial Narrow",Arial,sans-serif;
  font-size:.86rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.055em;
  border-radius:4px;
  transition:background .2s ease, transform .2s ease;
}

.product-inquiry-btn:hover{
  background:var(--red);
  transform:translateY(-1px);
}

.product-inquiry-btn span{
  font-size:1.15rem;
}

/* Startseite: großes Logo rechts im Startbereich */
.start-v4-inner{position:relative;}
.start-v4-logo{
  position:absolute;
  top:70px;
  right:0;
  width:clamp(180px,19vw,285px);
  height:auto;
  object-fit:contain;
  z-index:1;
}
@media(max-width:1050px){
  .start-v4-logo{width:190px;opacity:.95;}
}
@media(max-width:820px){
  .start-v4-logo{display:none;}
}
