/* Kunst im Oktogon – Webseite. Schriften liegen lokal unter assets/fonts (kein Google-Server, DSGVO) */
@import url(fonts/fonts.css);

:root{
  /* Farbwelt Wintergarten: helle, leicht grünliche Wände, Stein, kräftiges Grün, Koralle als Akzent */
  --paper:#F4F7F4; --paper-2:#E7EEE9; --card:#FFFFFF; --line:#D3DDD7;
  --ink:#1F2B27; --ink-2:#4A5A53; --ink-3:#71827A;
  --night:#1D2925; --night-2:#26352F; --night-ink:#EEF3EF; --night-ink-2:#A9BAB1;
  --brass:#B4513A; --brass-hi:#E27D60; --brass-ink:#1F2B27; --green:#4E7D63;
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;
  --f-body:"Instrument Sans","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",Consolas,ui-monospace,monospace;
  --r:12px; --gut:clamp(16px,4vw,40px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--f-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--f-display);line-height:1.08;margin:0 0 .5em;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(34px,4.6vw,56px);font-weight:800}
h2{font-size:clamp(28px,3.6vw,42px);font-weight:750}
h3{font-size:20px;font-weight:700}
p{margin:0 0 1em}
code{font-family:var(--f-mono);font-size:.86em;background:rgba(180,81,58,.12);padding:1px 5px;border-radius:4px}
.wrap{max-width:1160px;margin:0 auto;padding:0 var(--gut)}
.narrow-wrap{max-width:820px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:6px;z-index:99}
.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:4px}

.eyebrow{font-family:var(--f-mono);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 14px}
.lead{font-size:19px;color:var(--ink-2);max-width:60ch}
.lead.narrow{max-width:56ch}
.note{font-size:15px;color:var(--ink-3)}
.fine{font-size:14px;color:var(--ink-3);margin-top:18px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:11px 20px;border-radius:999px;border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);font:600 16px/1 var(--f-body);text-decoration:none;cursor:pointer;transition:transform .15s,background .15s,color .15s}
.btn:hover{transform:translateY(-1px)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);color:var(--paper)}
.btn.small{min-height:38px;padding:8px 15px;font-size:15px}
.btn[aria-disabled="true"]{opacity:.55;cursor:not-allowed;transform:none}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* Kopfzeile */
.top{position:sticky;top:0;z-index:20;background:rgba(244,247,244,.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top-in{display:flex;align-items:center;justify-content:space-between;min-height:68px;gap:16px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 19px/1 var(--f-display);white-space:nowrap}
.logo svg{width:30px;height:30px;color:var(--brass)}
.logo b,.logo-txt b{font-weight:800;color:var(--brass)}
.nav{display:flex;align-items:center;gap:22px}
.nav a:not(.btn){text-decoration:none;font-weight:500;color:var(--ink-2)}
.nav a:not(.btn):hover{color:var(--ink)}
.menu-btn{display:none;border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:7px 14px;font:600 15px var(--f-body);color:var(--ink)}
@media (max-width:900px){
  .menu-btn{display:inline-block}
  .nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;padding:8px var(--gut) 18px;background:var(--paper);border-bottom:1px solid var(--line);display:none}
  .nav.open{display:flex}
  .nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line)}
  .nav .btn{margin-top:12px}
}

/* Einstieg */
.hero{padding:clamp(40px,7vw,96px) 0 clamp(48px,7vw,88px)}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
.hero-art{margin:0}
.hero-art figcaption{font-size:14px;color:var(--ink-3);margin-top:12px;text-align:center}
.p-outer{fill:var(--card);stroke:var(--ink);stroke-width:2.5}
.p-inner{fill:#e3ece6;stroke:var(--ink);stroke-width:1.5}
.p-walls line{stroke:var(--ink);stroke-width:1.2;opacity:.55}
.p-door{fill:var(--paper)}
.p-shops rect{fill:var(--brass-hi);opacity:.55}
.p-dome{stroke:var(--brass);stroke-width:1.5}
.p-stelae circle{fill:var(--green)}
.p-lbl{font:600 15px var(--f-display);fill:var(--brass-ink)}
.p-lbl.small{font:500 11px var(--f-mono);letter-spacing:.14em;text-transform:uppercase;fill:var(--ink-3)}
@media (max-width:820px){.hero-in{grid-template-columns:1fr}.hero-art{max-width:380px;margin:0 auto}}

/* Abschnitte */
.band{padding:clamp(56px,8vw,104px) 0}
.band.alt{background:var(--paper-2)}
.band.dark{background:var(--night);color:var(--night-ink)}
.band.dark .lead{color:var(--night-ink-2)}
.band.dark .note{color:var(--night-ink-2)}
.band.dark .eyebrow{color:var(--brass-hi)}
.band.dark .btn{background:var(--brass-hi);border-color:var(--brass-hi);color:var(--brass-ink)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,64px);align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:28px}
@media (max-width:820px){.two,.grid3{grid-template-columns:1fr}}
.feat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.feat .num{display:block;font:500 13px var(--f-mono);color:var(--brass);margin-bottom:18px}
.feat p{color:var(--ink-2);margin:0}

.inline-link{color:var(--brass);font-weight:600;text-decoration:none;white-space:nowrap}
.inline-link:hover{text-decoration:underline}
.demo-sec{padding:0 0 clamp(24px,4vw,48px)}
.demo-card{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center;background:var(--night);color:var(--night-ink);border-radius:22px;padding:clamp(24px,4vw,48px);overflow:hidden}
.demo-card .eyebrow{color:var(--brass-hi)}
.demo-card .lead,.demo-card .note{color:var(--night-ink-2)}
.demo-card .btn{background:var(--brass-hi);border-color:var(--brass-hi);color:var(--brass-ink)}
.demo-list{margin:18px 0 0;padding-left:20px;color:var(--night-ink-2)}
.demo-list li{margin-bottom:6px}.demo-list b{color:var(--night-ink)}
.demo-visual{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(238,243,239,.14);text-decoration:none}
.demo-visual svg{width:100%;height:auto;transition:transform .4s}
.demo-visual:hover svg{transform:scale(1.03)}
.play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(29,41,37,.82);color:var(--night-ink);border:1px solid var(--brass-hi);border-radius:999px;padding:12px 20px;font:600 16px var(--f-body);white-space:nowrap}
@media (max-width:820px){.demo-card{grid-template-columns:1fr}.demo-visual{order:-1}}
@media (prefers-reduced-motion:reduce){.demo-visual svg{transition:none}}
.paths{padding:clamp(24px,4vw,48px) 0 clamp(56px,8vw,104px)}
.path{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(24px,4vw,40px);height:100%}
.path h2{font-size:clamp(26px,3vw,34px)}
.steps{list-style:none;counter-reset:s;padding:0;margin:20px 0}
.steps li{counter-increment:s;position:relative;padding:0 0 14px 44px;color:var(--ink-2)}
.steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--brass);color:var(--brass);font:600 14px/27px var(--f-mono);text-align:center}
.steps b{color:var(--ink)}

.checks{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px 32px}
.checks li{border-top:1px solid rgba(238,243,239,.18);padding-top:16px}
.checks b{display:block;font-family:var(--f-display);font-size:19px;margin-bottom:6px}
.checks span{color:var(--night-ink-2);font-size:16px}
@media (max-width:820px){.checks{grid-template-columns:1fr}}

.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:28px}
@media (max-width:820px){.gal-grid{grid-template-columns:1fr}}
.gal-card{border-radius:var(--r);padding:24px;background:var(--card);border:1px solid var(--line);min-height:190px;display:flex;flex-direction:column}
.gal-card.empty{border-style:dashed;background:transparent}
.gal-card p{color:var(--ink-2);flex:1}
.gal-card a{font-weight:600;color:var(--brass);text-decoration:none}
.gal-card a:hover{text-decoration:underline}
.tag{align-self:flex-start;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--brass);border:1px solid rgba(180,81,58,.5);border-radius:4px;padding:2px 7px;margin-bottom:14px}

.price-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.price-table th,.price-table td{padding:16px 20px;text-align:left;border-bottom:1px solid var(--line)}
.price-table thead th{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.price-table tbody th{font-weight:600}
.price-table td:nth-child(2){font:700 22px var(--f-display);white-space:nowrap}
.price-table td:nth-child(3){color:var(--ink-3);font-family:var(--f-mono);font-size:14px;white-space:nowrap}
.price-table tr:last-child>*{border-bottom:0}
.price-3 th,.price-3 td{padding:14px 12px}
.price-3 td:nth-child(n+2){font:700 19px var(--f-display);color:var(--ink);white-space:nowrap}
.price-3 td:nth-child(3),.price-3 td:nth-child(4){font-weight:600;color:var(--ink-2)}
.price-3 thead th{line-height:1.5}

details{border-bottom:1px solid var(--line);padding:4px 0}
summary{cursor:pointer;list-style:none;padding:16px 36px 16px 0;font:650 19px var(--f-display);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:4px;top:12px;font:400 26px var(--f-body);color:var(--brass)}
details[open] summary::after{content:"–"}
details p{color:var(--ink-2);margin:0 0 18px;max-width:66ch}

/* Demnächst: kommende Funktionen */
.kommt{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,4vw,56px);align-items:start;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:clamp(24px,4vw,44px)}
.kommt-liste{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.kommt-liste li{position:relative;border:1px dashed var(--line);border-radius:14px;padding:20px 22px 18px;background:var(--paper)}
.kommt-liste h3{margin:8px 0 6px}
.kommt-liste p{margin:0;color:var(--ink-2)}
.kommt-tag{display:inline-block;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--green);border:1px solid var(--green);border-radius:999px;padding:3px 10px}
@media (max-width:820px){.kommt{grid-template-columns:1fr}}

/* Formular */
.form{background:var(--night-2);border:1px solid rgba(238,243,239,.12);border-radius:18px;padding:clamp(22px,3vw,32px)}
.form label{display:block;font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--night-ink-2);margin:16px 0 7px}
.form .opt{text-transform:none;letter-spacing:0;font-family:var(--f-body)}
.form input[type=text],.form input[type=email]{width:100%;min-height:48px;border-radius:10px;border:1px solid rgba(238,243,239,.22);background:#16201c;color:var(--night-ink);font:16px var(--f-body);padding:10px 14px}
.form input::placeholder{color:#7f8e87}
.roles{border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.roles legend{font:500 12px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--night-ink-2);margin-bottom:8px;padding:0}
.roles label{margin:0;display:flex;align-items:center;gap:8px;border:1px solid rgba(238,243,239,.22);border-radius:999px;padding:9px 14px;font:500 15px var(--f-body);letter-spacing:0;text-transform:none;color:var(--night-ink);cursor:pointer}
.roles label:has(input:checked){border-color:var(--brass-hi);background:rgba(226,125,96,.16)}
.roles input,.consent input{accent-color:var(--brass-hi)}
.form .consent{display:flex;gap:10px;align-items:flex-start;font:15px/1.5 var(--f-body);letter-spacing:0;text-transform:none;color:var(--night-ink-2);margin:20px 0}
.consent input{margin-top:4px;width:18px;height:18px;flex:none}
.consent a{color:var(--brass-hi)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-msg{margin:14px 0 0;min-height:1.4em;font-size:15px;color:var(--night-ink-2)}
.form-msg.ok{color:#9ad7b8}.form-msg.err{color:#f0a48f}

/* Fußzeile */
.foot{background:var(--night);color:var(--night-ink-2);padding:40px 0;border-top:1px solid rgba(238,243,239,.1)}
.foot-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:flex-start}
.logo-txt{font:600 19px var(--f-display);color:var(--night-ink)}
.logo-txt b{color:var(--brass-hi)}
.foot p{margin:6px 0 0;font-size:15px}
.foot nav{display:flex;gap:22px}
.foot a{color:var(--night-ink);text-decoration:none}
.foot a:hover{text-decoration:underline}
.copy{font-size:14px}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 18px;border-radius:10px;font-size:15px;z-index:50;max-width:calc(100% - 32px);box-shadow:0 8px 30px rgba(0,0,0,.25)}

/* Unterseiten (Impressum, Datenschutz) */
.page{padding:clamp(40px,6vw,80px) 0}
.page h1{font-size:clamp(32px,5vw,48px)}
.page h2{font-size:24px;margin-top:1.6em}
.page p,.page li{color:var(--ink-2);max-width:72ch}
.ph{background:rgba(180,81,58,.18);border-radius:4px;padding:0 4px;color:var(--ink)}
.page h3{font-size:19px;margin-top:1.4em}
.page ol,.page ul{padding-left:1.4em}
.page li{margin:.35em 0}
.page .tbl{overflow-x:auto;margin:1em 0}
.page table{border-collapse:collapse;width:100%;min-width:560px;font-size:15px}
.page th,.page td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line)}
.page th{color:var(--ink);font-weight:600;background:var(--paper-2)}
.page th.w18{width:18%}.page th.w34{width:34%}
.page td{color:var(--ink-2)}
.page .box{background:var(--paper-2);border-left:4px solid var(--brass-hi);border-radius:8px;padding:18px 22px;margin:1.2em 0}
.page .box p,.page .box li{color:var(--ink)}
.page .toc{display:flex;flex-wrap:wrap;gap:8px 18px;margin:1em 0 0}

/* Betriebsmodus (vom Server in <html data-modus> geschrieben): nur Passendes zeigen */
[data-modus="live"] [data-nur="vorschau"]{display:none!important}
html:not([data-modus="live"]) [data-nur="live"]{display:none!important}
.art.deko{cursor:default}

/* ================= Kunst: Rahmen, Bilderwand, Ateliers, Werkstrecke, Vollbild ================= */
/* leichte Papierstruktur */
body{background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .35 0 0 0 0 .3 0 0 0 0 .22 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Ein Werk: figure.art > .fr (Rahmen) > .mat (Passepartout) > .cv (Bild) > canvas */
.art{position:relative;margin:0;cursor:zoom-in;outline:none}
.art .fr{position:relative;display:block;padding:7px;background:#1c2420;box-shadow:0 14px 30px -8px rgba(20,40,32,.45),0 3px 6px rgba(20,40,32,.18);
  transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .9s cubic-bezier(.2,.9,.25,1.2) var(--d,0s),opacity .6s ease var(--d,0s),box-shadow .3s}
.art.frame-wood .fr{padding:10px;background:linear-gradient(135deg,#8c6643,#6a4a2d 45%,#7d5a3a);box-shadow:inset 0 0 0 1px rgba(0,0,0,.25),0 14px 30px -8px rgba(20,40,32,.45),0 3px 6px rgba(20,40,32,.18)}
.art.frame-white .fr{background:#f7f8f6;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 14px 30px -8px rgba(20,40,32,.4),0 3px 6px rgba(20,40,32,.15)}
.art.frame-pp .fr{padding:4px;background:#1c2420}
.art.frame-pp .mat{padding:9%;background:#f8faf8;box-shadow:inset 0 0 6px rgba(0,0,0,.12)}
.art.frame-none .fr{padding:0;background:transparent;box-shadow:0 16px 26px -10px rgba(20,40,32,.45)}
.art .cv{position:relative;display:block;overflow:hidden;line-height:0}
.art .mat{display:block}
.art canvas{display:block;width:100%;height:auto}
.art .glare{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,0%),rgba(255,255,255,.42),rgba(255,255,255,0) 48%);opacity:0;transition:opacity .35s;mix-blend-mode:soft-light}
.art:hover .glare,.art:focus-visible .glare{opacity:1}
.art:focus-visible .fr{box-shadow:0 0 0 3px var(--brass),0 14px 30px -8px rgba(20,40,32,.45)}
.art .plaque{position:absolute;left:50%;top:calc(100% + 10px);transform:translate(-50%,6px);min-width:150px;max-width:220px;background:#ffffff;border:1px solid #dde5df;border-radius:3px;padding:7px 10px;font:12px/1.35 var(--f-body);color:var(--ink);box-shadow:0 4px 12px rgba(0,0,0,.12);opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;z-index:3;text-align:left}
.art .plaque b{display:block;font:600 13px/1.25 var(--f-display)}
.art .plaque span{color:var(--ink-3);font-size:11.5px}
.art:hover .plaque,.art:focus-visible .plaque{opacity:1;transform:translate(-50%,0)}

/* Enthüllung beim Scrollen: wie unter einem Tuch hervor, Farbe entwickelt sich */
.fx .art.rv .fr{opacity:0;transform:translateY(26px)}
.fx .art.rv .cv{clip-path:inset(0 0 100% 0)}
.fx .art.rv canvas{filter:grayscale(1) blur(5px) brightness(1.15);transform:scale(1.14)}
.art.rv.in .fr{opacity:1;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.art.rv.in .cv{clip-path:inset(0);transition:clip-path 1.15s cubic-bezier(.77,0,.18,1) calc(var(--d,0s) + .15s)}
.art.rv.in canvas{filter:none;transform:none;transition:filter 1.8s ease calc(var(--d,0s) + .35s),transform 2.4s cubic-bezier(.2,.7,.2,1) calc(var(--d,0s) + .15s)}
.art.tilting .fr{transition:transform .12s linear,box-shadow .3s}
.fx .reveal-txt,.fx .feat,.fx .plan-fig{opacity:0;transform:translateY(18px);transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.reveal-txt.in,.feat.in,.plan-fig.in{opacity:1;transform:none}

/* Bilderwand im Einstieg */
.salon{position:relative;aspect-ratio:5/4;border-radius:20px;overflow:hidden;isolation:isolate;background:radial-gradient(120% 90% at 50% 0%,#f8fbf8 0%,#e8efea 60%,#d3ddd6 100%);box-shadow:inset 0 -40px 60px -30px rgba(30,60,45,.16)}
.salon::after{content:"";position:absolute;left:0;right:0;bottom:0;height:7%;border-radius:0 0 20px 20px;background:linear-gradient(#dadfd7,#c9cfc5);opacity:.6}
.salon .art{position:absolute;z-index:1;transform:translate3d(0,var(--py,0px),0)}
.salon .art::before{content:"";position:absolute;left:-30%;right:-30%;top:-55%;bottom:-25%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 50% 30%,rgba(255,251,238,.75),rgba(255,251,238,0) 70%);opacity:0;transition:opacity .9s ease var(--ld,0s)}
.salon .art.lit::before{opacity:1}
.fx .salon .art.hang .fr{opacity:0;transform:translateY(-40px) rotate(-4deg)}
.salon .art.hang.hung .fr{opacity:1;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}
.salon .f1{left:5%;top:7%;width:34%}
.salon .f2{left:45%;top:5%;width:22%}
.salon .f3{left:72%;top:11%;width:22%}
.salon .f4{left:47%;top:42%;width:17%}
.salon .f5{left:69%;top:49%;width:26%}
.salon .f6{left:12%;top:68%;width:19%}
.salon .plaque{display:none}
.salon-light{position:absolute;inset:0;z-index:2;border-radius:20px;pointer-events:none;background:radial-gradient(circle 170px at var(--mx,62%) var(--my,38%),rgba(255,252,242,.32),rgba(255,252,242,0) 70%);mix-blend-mode:soft-light;transition:opacity .4s;opacity:0}
.salon:hover .salon-light{opacity:1}
.salon-note{position:absolute;right:16px;bottom:10px;z-index:2;margin:0;font:500 11px var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:#6f7f78}
@media (max-width:820px){.salon{max-width:520px;margin:0 auto;width:100%}.salon-note{font-size:9.5px;right:10px;bottom:6px}}

/* Idee mit Grundriss */
.idee-in{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,64px);align-items:center}
.stack3{display:grid;gap:16px;margin-top:22px}
.plan-fig{margin:0}
.plan-fig figcaption{font-size:14px;color:var(--ink-3);margin-top:12px;text-align:center}
@media (max-width:820px){.idee-in{grid-template-columns:1fr}.plan-fig{max-width:360px;margin:0 auto}}

/* Ateliers */
.atelier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:26px;margin-top:34px}
.atelier{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.atelier:hover{transform:translateY(-4px);box-shadow:0 18px 40px -18px rgba(20,40,32,.3)}
.atelier .stage{position:relative;display:grid;place-items:center;height:250px;background:radial-gradient(90% 80% at 50% 10%,var(--wall-hi,#f7faf7),var(--wall,#e9efea));border-bottom:4px solid var(--ac,#999)}
.atelier .stage .art{max-width:62%}
.atelier .stage .art canvas{max-height:180px;width:auto;max-width:100%}
.atelier .stage .art .plaque{display:none}
.atelier .txt{padding:20px 22px 22px}
.atelier .txt h3{margin:4px 0 2px;font-size:22px}
.atelier .who{margin:0 0 10px;color:var(--ink-3);font-size:14px}
.atelier .txt p.blurb{color:var(--ink-2);font-size:15.5px;margin:0 0 12px}
.atelier .craft{display:inline-block;font:500 11px var(--f-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ac,#999)}
.atelier .beispiel{font:500 10.5px var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}

/* Werkstrecke */
.strecke-sec{background:var(--night);color:var(--night-ink);padding:44px 0 56px;overflow:hidden}
.strecke-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.strecke-sec .eyebrow{color:var(--brass-hi);margin:0}
.strecke-hint{font-size:13px;color:var(--night-ink-2);margin:0}
.strecke{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.strecke-track{display:flex;align-items:flex-end;gap:56px;width:max-content;padding:20px 28px 104px;animation:strecke 80s linear infinite}
.strecke:hover .strecke-track,.strecke:focus-within .strecke-track{animation-play-state:paused}
@keyframes strecke{to{transform:translateX(-50%)}}
.strecke .art canvas{height:210px;width:auto}
.strecke .art .plaque{opacity:1;transform:translate(-50%,0);background:#26352f;border-color:#3a4a43;color:var(--night-ink);box-shadow:none}
.strecke .art .plaque span{color:var(--night-ink-2)}
.strecke .art .fr{box-shadow:0 18px 34px -10px rgba(0,0,0,.7)}

/* Vollbild */
.lightbox{border:0;padding:0;max-width:min(1100px,94vw);width:100%;background:transparent;color:var(--night-ink);overflow:visible}
.lightbox::backdrop{background:rgba(14,22,19,.86);backdrop-filter:blur(6px)}
.lightbox[open]{animation:lbIn .45s cubic-bezier(.2,.8,.2,1)}
@keyframes lbIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.lb-in{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(20px,4vw,48px);align-items:center;background:#1f2b27;border-radius:18px;padding:clamp(18px,3vw,36px);max-height:90vh;overflow:auto}
.lb-art{display:grid;place-items:center;background:radial-gradient(90% 80% at 50% 20%,#f8fbf8,#dfe8e2);border-radius:12px;padding:clamp(18px,4vw,44px)}
.lb-art .art{cursor:default;max-width:520px}
.lb-art .art canvas{max-height:62vh;width:auto;max-width:100%;margin:0 auto}
.lb-art .plaque{display:none}
.lb-info h3{font-size:clamp(24px,3vw,34px);margin:6px 0 8px}
.lb-info .eyebrow{color:var(--brass-hi)}
.lb-info p{color:var(--night-ink-2)}
.lb-info .btn{background:var(--brass-hi);border-color:var(--brass-hi);color:var(--brass-ink);margin-top:8px}
.lb-x{position:absolute;right:-6px;top:-46px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(238,243,239,.4);background:transparent;color:#eef3ef;font-size:24px;line-height:1;cursor:pointer}
@media (max-width:760px){.lb-in{grid-template-columns:1fr}.lb-x{right:4px;top:-48px}}

/* Ruhige Darstellung für alle, die „Bewegung reduzieren“ eingestellt haben */
@media (prefers-reduced-motion:reduce){
  .art .fr,.art.rv .fr,.salon .art.hang .fr{opacity:1!important;transform:none!important;transition:none!important}
  .art.rv .cv{clip-path:none!important}.art.rv canvas{filter:none!important;transform:none!important}
  .reveal-txt,.feat,.plan-fig{opacity:1!important;transform:none!important;transition:none!important}
  .strecke-track{animation:none}.strecke{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
  .salon .art::before{opacity:1;transition:none}.lightbox[open]{animation:none}
}
@media (max-width:480px){.price-3 th,.price-3 td{padding:12px 7px}.price-3 td:nth-child(n+2){font-size:16px}.price-3 thead th{font-size:10px;letter-spacing:.06em}}
