@font-face{font-family:"Manrope";font-weight:300;font-display:swap;src:url("fonts/manrope-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-weight:400;font-display:swap;src:url("fonts/manrope-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-weight:600;font-display:swap;src:url("fonts/manrope-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Manrope";font-weight:800;font-display:swap;src:url("fonts/manrope-latin-800-normal.woff2") format("woff2")}

/* Layout: Fugenraster. Alles liegt wie Platten mit 8px Fuge, wie im Logo (vier Platten, eine Fuge). */
:root{
  --paper:#F0F0ED; --card:#FFFFFF; --ink:#1D2124; --slate:#4A5154; --stone:#A9B0AC; --joint:#DCDCD7;
  --band:#1D2124; --band-ink:#ECEDE9; --band-muted:#AEB4B1; --band-line:#353C3F;
  --logo-sky:#1D2124; --logo-snow:#FFFFFF;
  --fuge:8px;
  --f-display:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --f-body:"Manrope", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --wrap:1180px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --paper:#14181A; --card:#1C2124; --ink:#ECEDE9; --slate:#AEB4B1; --stone:#8D9591; --joint:#2A3033;
  --band:#0E1112; --band-ink:#ECEDE9; --band-muted:#9EA6A2; --band-line:#2A3033;
  --logo-sky:#3A4245; --logo-snow:#ECEDE9; color-scheme:dark }}
:root[data-theme="dark"]{
  --paper:#14181A; --card:#1C2124; --ink:#ECEDE9; --slate:#AEB4B1; --stone:#8D9591; --joint:#2A3033;
  --band:#0E1112; --band-ink:#ECEDE9; --band-muted:#9EA6A2; --band-line:#2A3033;
  --logo-sky:#3A4245; --logo-snow:#ECEDE9; color-scheme:dark }

*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;font-weight:400}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:max(20px, env(safe-area-inset-left, 0px));padding-right:max(20px, env(safe-area-inset-right, 0px))}

.l-sky{fill:var(--logo-sky)} .l-stone{fill:var(--stone)} .l-snow{fill:var(--logo-snow)} .l-ink{fill:var(--ink)} .l-slate{fill:var(--slate)}

/* Kopf */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:30;background:var(--paper)}
.top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:20;background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--joint)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.top .logo{display:block;width:176px;height:auto}
.top nav{display:flex;align-items:center;gap:26px;font-size:14px;font-weight:600;letter-spacing:.02em}
.top nav a{text-decoration:none;color:var(--slate)}
.top nav a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;gap:10px;padding:13px 20px;background:var(--ink);color:var(--paper);text-decoration:none;font-weight:600;font-size:15px;border-radius:3px;border:1px solid var(--ink);cursor:pointer;font-family:inherit}

.btn.ghost{background:transparent;color:var(--ink)}
.top nav .btn{color:var(--paper);padding:10px 16px;font-size:14px}
@media (max-width:820px){ .top nav a:not(.btn){display:none} .top .logo{width:150px} }

/* Hero */
.hero .wrap{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding-block:64px 72px}
.eyebrow{font-weight:300;font-size:14px;letter-spacing:.32em;text-transform:uppercase;color:var(--slate);margin:0 0 18px}
h1{font-family:var(--f-display);font-weight:800;font-size:clamp(38px,5.4vw,64px);line-height:1.04;letter-spacing:-.015em;margin:0 0 22px;text-wrap:balance}
h1 span{font-weight:300;display:block;letter-spacing:-.01em;font-size:.72em;line-height:1.12;margin-top:.25em}
.lead{font-size:19px;color:var(--slate);max-width:34em;margin:0 0 30px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.feld{display:grid;grid-template-columns:1fr 1fr;gap:var(--fuge);aspect-ratio:1/1;max-width:520px;width:100%;justify-self:end;background:var(--joint);padding:var(--fuge);border-radius:4px}
.feld figure{margin:0;position:relative;overflow:hidden;border-radius:3px;background:var(--card)}
.feld img{width:100%;height:100%;object-fit:cover}
.feld figcaption{position:absolute;left:10px;bottom:10px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:rgba(20,24,26,.72);color:#F0F0ED;padding:5px 8px;border-radius:2px}
@media (max-width:860px){ .hero .wrap{grid-template-columns:1fr;gap:36px;padding-block:40px 48px} .feld{justify-self:stretch;max-width:none} }

/* Abschnitte */
section{scroll-margin-top:84px}
.sec{padding-block:76px}
.sec + .sec{border-top:1px solid var(--joint)}
.kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end;margin-bottom:36px}
h2{font-family:var(--f-display);font-weight:800;font-size:clamp(28px,3.4vw,40px);line-height:1.1;letter-spacing:-.01em;margin:0;text-wrap:balance}
.kopf p{margin:0;color:var(--slate);max-width:36em}
@media (max-width:760px){ .kopf{grid-template-columns:1fr;gap:14px} .sec{padding-block:56px} }

/* Sortiment */
.sortiment{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--fuge);background:var(--joint);padding:var(--fuge);border-radius:4px}
.kat{background:var(--card);border-radius:3px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.kat .bild{aspect-ratio:4/3;overflow:hidden;background:var(--joint)}
.kat .bild img{width:100%;height:100%;object-fit:cover}
.kat .txt{padding:16px 18px 20px}
.kat h3{margin:0 0 4px;font-size:18px;font-weight:800;letter-spacing:-.005em}
.kat p{margin:0;font-size:15px;color:var(--slate);line-height:1.5}
.kat.voll{background:var(--band);color:var(--band-ink)}
.kat.voll p{color:var(--band-muted)}
.kat.voll .bild{background:transparent;display:flex;align-items:flex-end;padding:18px}
.mass{font-weight:800;font-size:clamp(44px,5vw,64px);line-height:.9;letter-spacing:-.03em}
.mass small{font-size:.35em;font-weight:300;letter-spacing:.08em;margin-left:6px}
@media (max-width:980px){ .sortiment{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:460px){ .sortiment{grid-template-columns:1fr} }

/* Arbeitsweise */
.weg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--fuge);background:var(--joint);padding:var(--fuge);border-radius:4px}
.weg div{background:var(--card);border-radius:3px;padding:26px 24px 28px}
.weg b{display:block;font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--slate);margin-bottom:10px}
.weg h3{margin:0 0 8px;font-size:21px;font-weight:800;line-height:1.25}
.weg p{margin:0;color:var(--slate);font-size:16px}
@media (max-width:860px){ .weg{grid-template-columns:1fr} }

/* Restposten */
.rest{background:var(--card);border-top:1px solid var(--joint)}
.rest + .sec{border-top:1px solid var(--joint)}
.rest .posten{background:var(--paper)}
.stempel{display:inline-block;margin:0 0 12px;padding:5px 10px;border:1.5px solid var(--ink);border-radius:2px;font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;transform:rotate(-1.5deg)}
.menge{grid-column:1/-1;margin:10px 0 0;padding-top:10px;border-top:1px dashed var(--joint);display:flex;justify-content:space-between;align-items:baseline;font-size:13px;color:var(--slate);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.menge b{font-size:17px;color:var(--ink);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.lager{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.posten{background:var(--card);border:1px solid var(--joint);border-radius:4px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0}
.posten .bild{aspect-ratio:3/2;overflow:hidden;background:var(--joint);position:relative}
.posten .bild > img:not(.inset){width:100%;height:100%;object-fit:cover}
.posten .inset{position:absolute;right:12px;bottom:12px;width:26%;height:auto;aspect-ratio:1/1;object-fit:cover;border:3px solid var(--card);border-radius:3px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.posten .tag{position:absolute;left:12px;top:12px;font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:rgba(20,24,26,.72);color:#F0F0ED;padding:4px 7px;border-radius:2px}
.posten .txt{padding:18px 20px 20px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start}
.marke{grid-column:1/-1;font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--slate)}
.posten h3{margin:0;font-size:18px;font-weight:800;line-height:1.3}
.posten .fmt{font-weight:800;font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right}
.posten .fmt span{display:block;font-size:11px;font-weight:600;letter-spacing:.14em;color:var(--slate);text-transform:uppercase}
.posten .info{grid-column:1/-1;margin:6px 0 0;font-size:14.5px;color:var(--slate)}
.hinweis{margin:26px 0 0;font-size:15px;color:var(--slate)}
@media (max-width:980px){ .lager{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .lager{grid-template-columns:1fr} }

/* Kataloge */
.kataloge{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:start}
.kataloge .marke-gross{font-weight:300;font-size:14px;letter-spacing:.3em;text-transform:uppercase;color:var(--slate);margin:0 0 10px}
.links{list-style:none;margin:0;padding:0;border-top:1px solid var(--joint)}
.links a{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 4px;border-bottom:1px solid var(--joint);text-decoration:none;font-weight:600;font-size:18px}
.links a span{font-weight:400;font-size:14px;color:var(--slate)}
.links a:hover{background:var(--card)}
.links svg{flex:none;width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8}
@media (max-width:860px){ .kataloge{grid-template-columns:1fr;gap:24px} }

/* Kontakt */
.kontakt{background:var(--band);color:var(--band-ink)}
.kontakt .wrap{padding-block:80px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px}
.kontakt h2{color:var(--band-ink)}
.kontakt .lead{color:var(--band-muted);margin-top:16px}
.kanal{display:grid;gap:var(--fuge);background:var(--band-line);padding:var(--fuge);border-radius:4px}
.kanal div{background:var(--band);border-radius:3px;padding:20px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.kanal small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--band-muted);margin-bottom:4px}
.kanal a,.kanal address{font-style:normal;font-size:20px;font-weight:600;text-decoration:none;color:var(--band-ink);word-break:break-word}
.kopie{background:transparent;border:1px solid var(--band-line);color:var(--band-muted);font:600 13px var(--f-body);padding:8px 12px;border-radius:3px;cursor:pointer}
.kopie:hover{color:var(--band-ink);border-color:var(--band-muted)}
@media (max-width:860px){ .kontakt .wrap{grid-template-columns:1fr;padding-block:56px} }

/* Fuss */
footer{background:var(--band);color:var(--band-muted);border-top:1px solid var(--band-line);font-size:14px}
footer .wrap{padding-block:36px 44px;display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
footer .logo{width:150px}
footer h4{margin:0 0 8px;color:var(--band-ink);font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
footer p{margin:0;line-height:1.65}
footer .l-sky{fill:#3A4245} footer .l-snow{fill:#ECEDE9} footer .l-ink{fill:#ECEDE9} footer .l-slate{fill:#AEB4B1} footer .l-stone{fill:#A9B0AC}
@media (max-width:860px){ footer .wrap{grid-template-columns:1fr;gap:26px} }

/* Bewegung (nach Emil Kowalski): wenig, schnell, nur transform und opacity */
:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1)}

/* Druck-Feedback auf allem, was man klicken kann */
.btn,.kopie{transition:transform 160ms var(--ease-out),opacity 160ms ease,background-color 160ms ease,color 160ms ease,border-color 160ms ease}
.btn:active,.kopie:active{transform:scale(0.97)}

/* Hover nur mit Maus, nicht auf dem Handy */
@media (hover:hover) and (pointer:fine){
  .btn:hover{opacity:.88}
  .top nav a:not(.btn){transition:color 150ms ease}
  .kat .bild img,.posten .bild > img:not(.inset){transition:transform 600ms var(--ease-out)}
  .kat:hover .bild img{transform:scale(1.04)}
  .posten{transition:transform 250ms var(--ease-out),box-shadow 250ms var(--ease-out)}
  .posten:hover{transform:translateY(-3px);box-shadow:0 14px 32px -20px rgba(0,0,0,.45)}
  .posten:hover .bild > img:not(.inset){transform:scale(1.03)}
  .posten .inset{transition:transform 250ms var(--ease-out)}
  .posten:hover .inset{transform:rotate(-2deg) scale(1.04)}
  .links a{transition:background-color 150ms ease}
  .links svg{transition:transform 200ms var(--ease-out)}
  .links a:hover svg{transform:translate(2px,-2px)}
}

/* Startmoment: Text kommt gestaffelt, die vier Platten werden wie verlegt aufgedeckt */
@keyframes auf{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes platte{from{opacity:0;scale:.96;clip-path:inset(0 0 100% 0 round 3px)}to{opacity:1;scale:1;clip-path:inset(0 0 0 0 round 3px)}}
.hero .eyebrow,.hero h1,.hero .lead,.hero .cta{animation:auf 520ms var(--ease-out) var(--d) both}
.hero h1{animation-delay:calc(var(--d) + 60ms)}
.hero .lead{animation-delay:calc(var(--d) + 120ms)}
.hero .cta{animation-delay:calc(var(--d) + 180ms)}
.feld figure{animation:platte 700ms var(--ease-out) both}
.feld figure:nth-child(1){animation-delay:calc(var(--d) + 140ms)}
.feld figure:nth-child(2){animation-delay:calc(var(--d) + 200ms)}
.feld figure:nth-child(3){animation-delay:calc(var(--d) + 260ms)}
.feld figure:nth-child(4){animation-delay:calc(var(--d) + 320ms)}
.feld figcaption{animation:auf 400ms var(--ease-out) calc(var(--d) + 700ms) both}

/* Beim Scrollen gleiten Karten sanft nach oben (nie ganz unsichtbar) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .kat,.posten,.weg > div,.links li,.kanal > div{animation:ein linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
    @keyframes ein{from{opacity:.3;translate:0 20px}to{opacity:1;translate:0 0}}
  }
}

/* Kopf bekommt beim Scrollen einen leichten Schatten */
.top{transition:box-shadow 200ms ease}
.top.unten{box-shadow:0 10px 28px -22px rgba(0,0,0,.5)}

/* Kopieren: kurzer Unschärfe-Wechsel statt hartem Textwechsel */
.kopie span{display:inline-block;transition:filter 160ms ease,opacity 160ms ease}
.kopie.wechsel span{filter:blur(2px);opacity:.4}

/* Weniger Bewegung gewünscht: nur noch sanft einblenden */
@media (prefers-reduced-motion: reduce){
  @keyframes nurfade{from{opacity:0}to{opacity:1}}
  .hero .eyebrow,.hero h1,.hero .lead,.hero .cta,.feld figure,.feld figcaption{animation-name:nurfade}
  .posten:hover{transform:none}
}

/* Intro: die vier Platten werden verlegt, der Berg steigt, der Schriftzug erscheint, dann geht der Vorhang hoch */
:root{--d:2250ms}
.ohne-intro{--d:0ms}
.intro{position:fixed;inset:0;z-index:100;background:var(--paper);display:flex;align-items:center;justify-content:center;
  padding-left:max(20px, env(safe-area-inset-left, 0px));padding-right:max(20px, env(safe-area-inset-right, 0px));
  animation:vorhang 700ms var(--ease-in-out) 3400ms both;cursor:pointer}
.ohne-intro .intro{display:none}
.intro-logo{display:flex;align-items:center;gap:calc(var(--ih) * .24);--ih:clamp(84px, 16vw, 150px)}
.intro-bild{width:var(--ih);height:var(--ih);display:block;overflow:visible}
.intro-wort{height:calc(var(--ih) * 1.046);width:auto;display:block;overflow:visible}
.intro .kachel{transform-box:fill-box;transform-origin:center;animation:verlegen 560ms var(--ease-out) both}
.intro .k1{--x:-22px;--y:-22px;animation-delay:0ms}
.intro .k2{--x:22px;--y:-22px;animation-delay:70ms}
.intro .k3{--x:-22px;--y:22px;animation-delay:140ms}
.intro .k4{--x:22px;--y:22px;animation-delay:210ms}
.intro .berg{animation:steigen 700ms var(--ease-out) 420ms both}
.intro .schnee{animation:einblenden 300ms ease-out 950ms both}
.intro-wort path{animation:schreiben 560ms var(--ease-out) both}
.intro-wort path:nth-child(1){animation-delay:620ms}
.intro-wort path:nth-child(2){animation-delay:760ms}
.intro-wort path:nth-child(3){animation-delay:900ms}
@keyframes verlegen{from{opacity:0;transform:translate(var(--x),var(--y)) scale(.82) rotate(-6deg)}to{opacity:1;transform:none}}
@keyframes steigen{from{transform:translateY(70px)}to{transform:none}}
@keyframes einblenden{from{opacity:0}to{opacity:1}}
@keyframes schreiben{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateX(-10px)}to{opacity:1;clip-path:inset(0 0 0 0);transform:none}}
@keyframes vorhang{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(0 0 100% 0);visibility:hidden}}
@media (prefers-reduced-motion: reduce){.intro{display:none}:root{--d:0ms}}

/* ===== Casalgrande-Sortiment (Okt. 2026) ===== */
.kat{text-decoration:none;color:inherit}
.kat .txt small{display:block;margin-top:10px;font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--slate)}
.kat .txt .mehr{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:14px;font-weight:600;color:var(--ink)}
.kat .txt .mehr svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:2}
.sortiment.drei{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){ .sortiment.drei{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .sortiment.drei{grid-template-columns:1fr} }
.herstellerlink{margin:22px 0 0;font-size:15px;color:var(--slate)}
.herstellerlink a{font-weight:600;color:var(--ink)}

/* Häufige Fragen */
.fragen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--fuge);background:var(--joint);padding:var(--fuge);border-radius:4px}
.fragen div{background:var(--card);border-radius:3px;padding:22px 24px 24px}
.fragen h3{margin:0 0 8px;font-size:18px;font-weight:800;line-height:1.3}
.fragen p{margin:0;color:var(--slate);font-size:16px}
@media (max-width:760px){ .fragen{grid-template-columns:1fr} }

/* Fuss mit Links */
footer .wrap{grid-template-columns:auto repeat(3,minmax(0,1fr))}
footer ul{list-style:none;margin:0;padding:0;line-height:1.9}
footer ul a{text-decoration:none;color:var(--band-muted)}
footer ul a:hover{color:var(--band-ink)}
@media (max-width:980px){ footer .wrap{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ footer .wrap{grid-template-columns:1fr} }

/* Bewegung für die neuen Teile */
.chips a,.kat{transition:transform 160ms var(--ease-out),background-color 150ms ease,color 150ms ease}
.chips a:active,.kat:active{transform:scale(0.985)}
@media (hover:hover) and (pointer:fine){
  .chips a:not([aria-current]):hover{color:var(--ink);border-color:var(--stone)}
  .kat .mehr svg{transition:transform 200ms var(--ease-out)}
  .kat:hover .mehr svg{transform:translate(2px,-2px)}
}
.seitekopf .pfad,.seitekopf .eyebrow,.seitekopf h1,.seitekopf .lead,.seitekopf .chips{animation:auf 520ms var(--ease-out) both}
.seitekopf .eyebrow{animation-delay:40ms}.seitekopf h1{animation-delay:80ms}.seitekopf .lead{animation-delay:130ms}.seitekopf .chips{animation-delay:180ms}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .fragen > div{animation:ein linear both;animation-timeline:view();animation-range:entry 0% entry 60%}
  }
}
@media (prefers-reduced-motion: reduce){
  .seitekopf .pfad,.seitekopf .eyebrow,.seitekopf h1,.seitekopf .lead,.seitekopf .chips{animation-name:nurfade}
}

/* ===== V11: edler, ruhiger, mehr Bewegung (Okt. 2026) ===== */
:root{--r-gross:22px;--r-mittel:14px;--ease-drawer:cubic-bezier(0.32,0.72,0,1);--glas:color-mix(in srgb, var(--paper) 78%, transparent)}
.btn{border-radius:999px;padding:13px 22px;letter-spacing:.005em}
.btn svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.8;margin-left:-2px}
.btn.klein{padding:8px 15px;font-size:13.5px}
.top{background:var(--glas);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px)}

/* Seitenwechsel wie eine App */
@view-transition{navigation:auto}
::view-transition-old(root){animation:220ms ease-in both vt-aus}
::view-transition-new(root){animation:460ms var(--ease-out) both vt-ein}
@keyframes vt-aus{to{opacity:0}}
@keyframes vt-ein{from{opacity:0;transform:translateY(14px)}}

/* Startseite: Bento-Kacheln */
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.kachel{position:relative;display:block;min-height:380px;border-radius:var(--r-gross);overflow:hidden;background:var(--joint);color:#fff;text-decoration:none;isolation:isolate;transition:transform 220ms var(--ease-out)}
.kachel.k1{grid-column:span 4;min-height:460px}.kachel.k2{grid-column:span 2;min-height:460px}
.kachel.k3{grid-column:span 2}.kachel.k4{grid-column:span 4}
.kachel.k5{grid-column:span 3}.kachel.k6{grid-column:span 3}
.kachel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease-out),filter 600ms ease}
.kachel::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(10,12,13,0) 38%,rgba(10,12,13,.72) 100%)}
.kachel-txt{position:absolute;left:26px;right:80px;bottom:24px}
.kachel h3{margin:0;font-size:clamp(24px,2.6vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.08;text-wrap:balance}
.kachel p{margin:0 0 6px;font-size:13px;font-weight:600;letter-spacing:.04em;color:rgba(255,255,255,.78)}
.kreis{position:absolute;right:22px;bottom:24px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.18);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.28);transition:transform 300ms var(--ease-out),background-color 200ms ease}
.kreis svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
.kachel:active{transform:scale(.985)}
@media (hover:hover) and (pointer:fine){
  .kachel:hover img{transform:scale(1.06)}
  .kachel:hover .kreis{transform:rotate(45deg);background:rgba(255,255,255,.95)}
  .kachel:hover .kreis svg{stroke:#1D2124}
}
@media (max-width:900px){.bento{grid-template-columns:1fr 1fr}.kachel.k1,.kachel.k4{grid-column:span 2}.kachel.k2,.kachel.k3,.kachel.k5,.kachel.k6{grid-column:span 1}.kachel,.kachel.k1,.kachel.k2{min-height:300px}}
@media (max-width:560px){.bento{grid-template-columns:1fr}.kachel.k1,.kachel.k2,.kachel.k3,.kachel.k4,.kachel.k5,.kachel.k6{grid-column:auto;min-height:280px}}

/* Unterseiten: Kopf */
.seitekopf .wrap{padding-block:56px 30px}
.pfad{font-size:13px;color:var(--slate);margin:0 0 26px}
.pfad a{text-decoration:none;color:var(--slate)}
.pfad a:hover{color:var(--ink)}
.seitekopf h1{font-size:clamp(44px,7.4vw,96px);letter-spacing:-.04em;line-height:.98;margin-bottom:24px;max-width:12em}
.seitekopf .lead{font-size:clamp(18px,1.8vw,22px);max-width:36em;line-height:1.5}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 0;padding:0;list-style:none}
.chips a{display:inline-block;padding:9px 15px;border:1px solid var(--joint);border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;color:var(--slate);background:var(--card);transition:transform 160ms var(--ease-out),color 150ms ease,border-color 150ms ease}
.chips a:active{transform:scale(.96)}
.chips a[aria-current]{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Lokale Navigation, klebt unter dem Kopf */
.lokal{position:sticky;top:calc(env(safe-area-inset-top, 0px) + var(--kopf-h, 69px));z-index:19;background:var(--glas);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);border-bottom:1px solid var(--joint)}
.lokal .wrap{display:flex;align-items:center;gap:22px;padding-block:10px}
.lokal strong{font-size:15px;font-weight:800;letter-spacing:-.01em;white-space:nowrap}
.sprung{display:flex;gap:20px;margin-left:auto;overflow-x:auto;scrollbar-width:none;min-width:0}
.sprung::-webkit-scrollbar{display:none}
.sprung a{font-size:13.5px;color:var(--slate);text-decoration:none;white-space:nowrap;transition:color 150ms ease}
.sprung a:hover{color:var(--ink)}
@media (max-width:640px){.lokal strong{display:none}.sprung{margin-left:0}.lokal .btn{margin-left:auto}}

/* Kollektion */
.koll{padding-block:72px 64px;border-top:1px solid var(--joint);scroll-margin-top:calc(var(--kopf-h, 69px) + 50px)}
.koll-kopf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 56px;align-items:end;margin-bottom:34px}
.koll .marke{display:flex;align-items:center;gap:10px;margin:0 0 6px}
.koll h2{font-size:clamp(46px,6.6vw,92px);font-weight:800;letter-spacing:-.045em;line-height:.95;margin:0}
.koll-text p{margin:0 0 20px;font-size:18px;color:var(--slate);max-width:32em}
.knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.neu{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--paper);padding:4px 9px;border-radius:999px}
@media (max-width:820px){.koll-kopf{grid-template-columns:1fr}.koll{padding-block:52px 44px}}

/* Galerie: wischen, einrasten, Bild zieht beim Reinscrollen auf */
.galerie{--rand:max(20px, calc((100vw - var(--wrap)) / 2 + 20px))}
.spur{display:grid;grid-auto-flow:column;grid-auto-columns:min(1060px, 84vw);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--rand);padding-inline:var(--rand);scrollbar-width:none;outline:none}
.spur::-webkit-scrollbar{display:none}
.spur:focus-visible .dia.aktiv{outline:2px solid var(--ink);outline-offset:4px}
.dia{position:relative;margin:0;scroll-snap-align:start;border-radius:var(--r-gross);overflow:hidden;background:var(--joint);aspect-ratio:16/10;max-width:100%;transition:opacity 500ms ease}
.galerie:not(.einzeln) .dia:not(.aktiv){opacity:.55}
.dia-btn{all:unset;display:block;width:100%;height:100%;cursor:zoom-in}
.dia img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.dia figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.dia-tag{position:absolute;left:16px;top:16px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.88);color:#1D2124;backdrop-filter:blur(8px)}
.einzeln .spur{grid-auto-columns:min(1180px, calc(100vw - 40px))}
@media (hover:hover) and (pointer:fine){.dia-btn:hover img{transform:scale(1.03)}}
@media (max-width:640px){.spur{grid-auto-columns:86vw;gap:10px}.dia{aspect-ratio:4/5}.einzeln .dia{aspect-ratio:4/3}}

.gal-leiste{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;min-height:44px}
.gal-text{margin:0;font-size:14px;color:var(--slate);min-width:0;transition:filter 140ms ease,opacity 140ms ease}
.gal-text.wechsel{filter:blur(3px);opacity:.3}
.gal-steuer{display:flex;align-items:center;gap:12px;flex:none}
.zaehler{font-size:13px;color:var(--slate);font-variant-numeric:tabular-nums;letter-spacing:.04em}
.zaehler b{color:var(--ink);font-weight:800}
.fortschritt{width:90px;height:2px;border-radius:2px;background:var(--joint);overflow:hidden}
.fortschritt i{display:block;height:100%;width:100%;background:var(--ink);transform-origin:left;transform:scaleX(var(--p,0));transition:transform 500ms var(--ease-out)}
.rund{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--joint);background:var(--card);color:var(--ink);cursor:pointer;transition:transform 160ms var(--ease-out),opacity 200ms ease,background-color 150ms ease}
.rund svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.rund:active{transform:scale(.92)}
.rund:disabled{opacity:.3;cursor:default}
@media (hover:hover) and (pointer:fine){.rund:not(:disabled):hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}}
@media (max-width:480px){.fortschritt{display:none}}

/* Technische Daten */
.specs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 40px;margin:34px 0 0;border-top:1px solid var(--joint)}
.specs div{padding-top:18px;min-width:0}
.specs dt{font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--slate);margin-bottom:10px}
.specs dd{margin:0;font-size:16px;line-height:1.55;font-variant-numeric:tabular-nums}
.farben{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.farben li{font-size:13.5px;padding:5px 11px;border-radius:999px;background:var(--card);border:1px solid var(--joint)}
.farben li.mehr{border-style:dashed;color:var(--slate)}
@media (max-width:820px){.specs{grid-template-columns:1fr;gap:0}.specs div{padding-block:16px;border-bottom:1px solid var(--joint)}}

.textblock{max-width:46em}
.textblock h2{margin-bottom:14px}
.textblock p{color:var(--slate);margin:0 0 14px}

/* Vollbild */
.lb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:calc(env(safe-area-inset-top,0px) + 64px) max(16px, env(safe-area-inset-right,0px)) calc(env(safe-area-inset-bottom,0px) + 70px) max(16px, env(safe-area-inset-left,0px))}
.lb[hidden]{display:none}
.lb-grund{position:absolute;inset:0;background:rgba(8,10,11,.94);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.lb-fig{position:relative;margin:0;display:grid;justify-items:center;gap:14px;max-width:100%;max-height:100%;touch-action:pan-y}
.lb-img{display:block;max-width:min(1400px, 100%);max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);width:auto;height:auto;border-radius:6px;object-fit:contain;user-select:none;-webkit-user-drag:none}
.lb-cap{color:rgba(255,255,255,.75);font-size:14px;text-align:center}
.lb-zu,.lb-pfeil{position:absolute;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.1);color:#fff;cursor:pointer;transition:transform 160ms var(--ease-out),background-color 150ms ease}
.lb-zu svg,.lb-pfeil svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}
.lb-zu{top:calc(env(safe-area-inset-top,0px) + 14px);right:max(16px, env(safe-area-inset-right,0px))}
.lb-pfeil{top:50%;margin-top:-24px}
.lb-pfeil.l{left:max(16px, env(safe-area-inset-left,0px))}
.lb-pfeil.r{right:max(16px, env(safe-area-inset-right,0px))}
.lb-zu:active,.lb-pfeil:active{transform:scale(.92)}
@media (hover:hover) and (pointer:fine){.lb-zu:hover,.lb-pfeil:hover{background:rgba(255,255,255,.22)}}
.lb-zahl{position:absolute;bottom:calc(env(safe-area-inset-bottom,0px) + 24px);left:50%;translate:-50% 0;color:rgba(255,255,255,.6);font-size:13px;letter-spacing:.06em;font-variant-numeric:tabular-nums}
.lb.einzeln .lb-pfeil,.lb.einzeln .lb-zahl{display:none}
@media (max-width:640px){.lb-pfeil{top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);margin:0}.lb-zahl{bottom:calc(env(safe-area-inset-bottom,0px) + 28px)}}
html.lb-offen{overflow:hidden}

/* Scroll-Animationen (nur wo der Browser sie kann, sonst ist alles einfach sichtbar) */
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .koll h2{animation:titel linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
    .koll .marke,.koll-text{animation:hoch linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
    .galerie{animation:buehne linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
    .dia img{animation:zoom linear both;animation-timeline:view(inline);animation-range:entry 0% cover 50%}
    .specs div{animation:hoch linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
    .kachel{animation:hoch linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
    .kachel img{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% cover 60%}
    @keyframes titel{from{opacity:.15;transform:translateY(48px);letter-spacing:-.02em}to{opacity:1;transform:none}}
    @keyframes hoch{from{opacity:.2;transform:translateY(26px)}to{opacity:1;transform:none}}
    @keyframes buehne{from{opacity:.4;transform:scale(.93);filter:saturate(.6)}to{opacity:1;transform:none;filter:none}}
    @keyframes zoom{from{scale:1.06}to{scale:1}}
  }
}
@media (prefers-reduced-motion: reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  .kachel img,.dia img{transition:none}
}

/* ===== V12: grosse Sparten auf der Startseite ===== */
.sparten-sek{padding-block:90px 70px}
.sparten-kopf{margin-bottom:46px}
.sparten-kopf h2{font-size:clamp(52px,9vw,128px);letter-spacing:-.05em;line-height:.92;margin:4px 0 18px}
.sparten-kopf p:last-child{font-size:clamp(18px,1.8vw,22px);color:var(--slate);max-width:30em;margin:0}
.sparten{display:grid;gap:14px}
.sparte{position:relative;display:block;height:min(94vh,1000px);min-height:560px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.sparte-buehne{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#1D2124}
.sparte-bild{width:100%;height:100%;object-fit:cover;transform-origin:center;transition:transform 1200ms var(--ease-out),filter 600ms ease}
.sparte::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(8,10,11,.30) 0%,rgba(8,10,11,0) 24%,rgba(8,10,11,0) 38%,rgba(8,10,11,.86) 100%),linear-gradient(90deg,rgba(8,10,11,.45) 0%,rgba(8,10,11,0) 60%)}
.sparte h3,.sparte-namen,.sparte-lead{text-shadow:0 2px 24px rgba(0,0,0,.35)}
.sparte-inhalt{position:absolute;left:0;right:0;bottom:0;padding-bottom:clamp(36px,6vw,72px)}
.sparte-namen{margin:0 0 12px;font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.82)}
.sparte h3{margin:0 0 14px;font-size:clamp(54px,10.5vw,168px);font-weight:800;letter-spacing:-.055em;line-height:.88;text-wrap:balance;max-width:9em}
.sparte-lead{margin:0 0 26px;font-size:clamp(17px,1.6vw,21px);line-height:1.45;color:rgba(255,255,255,.88);max-width:30em}
.btn.hell{background:rgba(255,255,255,.96);color:#1D2124;border-color:transparent}
.btn.hell svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;margin:0;transition:transform 250ms var(--ease-out)}
.sparte-thumbs{position:absolute;right:max(20px, calc((100vw - var(--wrap)) / 2 + 20px));bottom:clamp(36px,6vw,72px);display:flex;gap:10px}
.sparte-thumbs img{width:clamp(70px,7vw,104px);aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:2px solid rgba(255,255,255,.85);box-shadow:0 14px 30px -12px rgba(0,0,0,.6);transition:transform 450ms var(--ease-out)}
.sparte:active .sparte-bild{transform:scale(1.01)}
@media (hover:hover) and (pointer:fine){
  .sparte:hover .sparte-bild{transform:scale(1.035)}
  .sparte:hover .btn.hell svg{transform:translate(3px,-3px)}
  .sparte:hover .sparte-thumbs img{transform:translateY(-6px)}
  .sparte:hover .sparte-thumbs img:nth-child(2){transition-delay:40ms}
  .sparte:hover .sparte-thumbs img:nth-child(3){transition-delay:80ms}
  .sparte:hover .sparte-thumbs img:nth-child(4){transition-delay:120ms}
}
@media (max-width:980px){.sparte-thumbs{display:none}}
@media (max-width:640px){.sparte{height:82vh;min-height:520px}.sparten{gap:10px}}

/* Unterseite: grosses Kopfbild, das beim Scrollen auf volle Breite wächst */
.kopfbild{height:min(78vh,860px);min-height:380px;margin-top:10px;overflow:hidden;clip-path:inset(0 max(20px, calc((100vw - var(--wrap)) / 2 + 20px)) round 28px)}
.kopfbild img{width:100%;height:100%;object-fit:cover}

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .sparte-buehne{animation:spBuehne linear both;animation-timeline:view();animation-range:entry 0% cover 45%}
    .sparte-bild{animation:spBild linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
    .sparte h3{animation:spTitel linear both;animation-timeline:view();animation-range:entry 10% entry 80%}
    .sparte-namen,.sparte-lead,.sparte .btn{animation:hoch linear both;animation-timeline:view();animation-range:entry 20% entry 90%}
    .sparte-thumbs img{animation:spDaumen linear both;animation-timeline:view();animation-range:entry 40% cover 50%}
    .sparte-thumbs img:nth-child(2){animation-range:entry 50% cover 52%}
    .sparte-thumbs img:nth-child(3){animation-range:entry 60% cover 54%}
    .sparte-thumbs img:nth-child(4){animation-range:entry 70% cover 56%}
    .sparten-kopf h2{animation:titel linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    .kopfbild{animation:kopfAuf linear both;animation-timeline:scroll(root);animation-range:0px 520px}
    .kopfbild img{animation:kopfZoom linear both;animation-timeline:scroll(root);animation-range:0px 900px}
    @keyframes spBuehne{from{clip-path:inset(7% 5% round 36px)}to{clip-path:inset(0 0 round 0)}}
    @keyframes spBild{from{translate:0 -3%;scale:1.07}to{translate:0 3%;scale:1.07}}
    @keyframes spTitel{from{opacity:.1;transform:translateY(70px)}to{opacity:1;transform:none}}
    @keyframes spDaumen{from{opacity:.1;transform:translateX(40px) rotate(4deg)}to{opacity:1;transform:none}}
    @keyframes kopfAuf{to{clip-path:inset(0 0 round 0)}}
    @keyframes kopfZoom{from{scale:1.03}to{scale:1}}
  }
}
/* Ohne Scroll-Animationen: Bild leicht vergrössert, damit nichts leer wirkt */
@supports not (animation-timeline: view()){
  .kopfbild{clip-path:none}
}
/* Seitenwechsel: Sparten-Bild fliegt in das Kopfbild der Unterseite */
::view-transition-group(*){animation-duration:620ms;animation-timing-function:cubic-bezier(0.32,0.72,0,1)}

/* Intro: die 4 Logo-Platten fliegen zu den 4 Bildern */
.intro-laeuft .feld figure{opacity:0;animation:none}
.flug{position:fixed;z-index:101;overflow:hidden;background:var(--logo-sky);transform-origin:0 0;will-change:transform;pointer-events:none}
.flug img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== V14: Detailseite pro Kollektion ===== */
.koll h2 a{color:inherit;text-decoration:none}
@media (hover:hover) and (pointer:fine){.koll h2 a{transition:opacity 150ms ease}.koll h2 a:hover{opacity:.7}}
.btn svg{transition:transform 250ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.btn:hover svg{transform:translate(2px,-2px)}}
.detail .seitekopf h1{font-size:clamp(64px,13vw,190px);letter-spacing:-.06em;line-height:.86;margin-bottom:28px}
.detail .seitekopf .eyebrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.detail .knoepfe{margin-top:28px}
.pointe{margin:18px 0 0;font-size:clamp(20px,2.2vw,28px);font-weight:800;letter-spacing:-.02em;line-height:1.25;max-width:24em}
.kopfbild .bf-haupt{margin:0;height:100%}
.kopfbild .bf-haupt figcaption,.bildfolge figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kopfbild .dia-btn{cursor:zoom-in}
.highlights{padding-block:56px 10px}
.hl-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.hl-raster div{padding:28px 28px 26px;border-radius:var(--r-gross);background:var(--card);border:1px solid var(--joint);min-width:0}
.hl-raster b{display:block;font-size:clamp(40px,5.4vw,72px);font-weight:800;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums}
.hl-raster span{display:block;margin-top:10px;color:var(--slate);font-size:15px}
@media (max-width:760px){.hl-raster{grid-template-columns:1fr}}
.raster-bilder{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.bf{position:relative;margin:0;border-radius:var(--r-gross);overflow:hidden;background:var(--joint);aspect-ratio:4/5;max-width:100%}
.bf.breit{grid-column:1/-1;aspect-ratio:16/9}
.bf img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){.bf .dia-btn:hover img{transform:scale(1.03)}}
@media (max-width:640px){.raster-bilder{grid-template-columns:1fr}.bf,.bf.breit{aspect-ratio:4/5}}
.cta-band{background:var(--band);color:var(--band-ink)}
.cta-band .wrap{padding-block:clamp(70px,10vw,130px);text-align:center;display:grid;justify-items:center;gap:18px}
.cta-band h2{font-size:clamp(40px,6.4vw,88px);letter-spacing:-.045em;line-height:.95;color:var(--band-ink);max-width:12em}
.cta-band p{margin:0;color:var(--band-muted);font-size:18px;max-width:34em}
.minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}
.mini{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r-gross);overflow:hidden;color:#fff;text-decoration:none;isolation:isolate}
.mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 900ms var(--ease-out)}
.mini::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,10,11,0) 45%,rgba(8,10,11,.72))}
.mini > span:not(.kreis){position:absolute;left:22px;bottom:20px}
.mini small{display:block;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.mini b{font-size:28px;font-weight:800;letter-spacing:-.03em}
.mini .kreis{bottom:20px;right:18px}
@media (hover:hover) and (pointer:fine){.mini:hover img{transform:scale(1.06)}.mini:hover .kreis{transform:rotate(45deg);background:rgba(255,255,255,.95)}.mini:hover .kreis svg{stroke:#1D2124}}
.bento.region{grid-template-columns:repeat(3,minmax(0,1fr))}
.bento.region .kachel{grid-column:auto;min-height:360px}
@media (max-width:900px){.bento.region{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bento.region{grid-template-columns:1fr}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .detail .seitekopf h1{animation:titel 900ms var(--ease-out) both}
    .hl-raster div{animation:hoch linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
    .hl-raster div:nth-child(2){animation-range:entry 10% entry 90%}
    .hl-raster div:nth-child(3){animation-range:entry 20% entry 100%}
    .bf{animation:buehne linear both;animation-timeline:view();animation-range:entry 0% cover 35%}
    .bf img{animation:zoom linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
    .cta-band h2{animation:titel linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
    .mini{animation:hoch linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  }
}
.intro.platziert{display:block}
.intro.platziert .intro-logo{display:block}

/* ===== V17: Slogan, Terrasse ===== */
.slogan{margin:0 0 16px;font-size:clamp(34px,5.2vw,76px);font-weight:800;letter-spacing:-.045em;line-height:1.02;--glanz-basis:#fff;--glanz-licht:#F1C98B}
.slogan.gross{--glanz-basis:var(--ink);--glanz-licht:#B9782F;margin:-6px 0 22px}
.slogan .w{display:inline-block}
.slogan .glanz{background:linear-gradient(100deg,var(--glanz-basis) 0%,var(--glanz-basis) 38%,var(--glanz-licht) 50%,var(--glanz-basis) 62%,var(--glanz-basis) 100%);background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.sparte .slogan{text-shadow:none;filter:drop-shadow(0 2px 18px rgba(0,0,0,.35))}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .slogan.gross{--glanz-licht:#E2A866}}
:root[data-theme="dark"] .slogan.gross{--glanz-licht:#E2A866}
@media (prefers-reduced-motion: no-preference){
  .slogan.gross .w{animation:wortAuf 800ms var(--ease-out) both;animation-delay:calc(250ms + var(--i) * 110ms)}
  .slogan .glanz{animation:glanz 4.2s ease-in-out 1.4s infinite}
  @keyframes wortAuf{from{opacity:0;transform:translateY(.5em) rotate(3deg);filter:blur(10px)}to{opacity:1;transform:none;filter:blur(0)}}
  @keyframes glanz{0%{background-position:100% 0}45%,100%{background-position:0% 0}}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .sparte .slogan .w{animation:wortAuf linear both;animation-timeline:view();animation-range:entry calc(15% + var(--i) * 7%) entry calc(55% + var(--i) * 7%)}
    .sparte .slogan .glanz{animation:wortAuf linear both,glanz 4.2s ease-in-out 1s infinite;animation-timeline:view(),auto;animation-range:entry calc(15% + var(--i) * 7%) entry calc(55% + var(--i) * 7%),normal}
  }
}
.vorteile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.vorteile div{padding:30px 28px;border-radius:var(--r-gross);background:var(--card);border:1px solid var(--joint);min-width:0}
.vorteile b{display:block;font-size:clamp(30px,3.4vw,46px);font-weight:800;letter-spacing:-.04em;line-height:1.05;margin-bottom:12px}
.vorteile p{margin:0;color:var(--slate);font-size:16px}
.verlegung{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.verlegung div{padding:26px 26px 28px;border-radius:var(--r-gross);background:var(--card);border:1px solid var(--joint);min-width:0}
.verlegung svg{width:100%;height:auto;display:block;margin-bottom:16px;background:var(--paper);border-radius:14px;padding:10px}
.verlegung h3{margin:0 0 8px;font-size:21px;font-weight:800;letter-spacing:-.01em}
.verlegung p{margin:0;color:var(--slate);font-size:16px}
.v-platten rect{fill:var(--ink)}
.v-schicht,.v-schicht *{fill:var(--stone)}
.v-grund{fill:var(--joint)}
@media (max-width:900px){.vorteile,.verlegung{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.vorteile,.verlegung{grid-template-columns:1fr}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .vorteile div,.verlegung div{animation:hoch linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
    .vorteile b{animation:titel linear both;animation-timeline:view();animation-range:entry 0% entry 90%}
    .v-platten{animation:legen linear both;animation-timeline:view();animation-range:entry 30% cover 45%}
    @keyframes legen{from{transform:translateY(-34px);opacity:0}to{transform:none;opacity:1}}
  }
}
.orte{margin:-14px 0 30px;color:var(--slate);font-size:16px;max-width:60em}
footer .wrap{grid-template-columns:auto repeat(4,minmax(0,1fr))}
@media (max-width:980px){ footer .wrap{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ footer .wrap{grid-template-columns:1fr} }
.slogan .glanz{padding:0 .04em .16em;margin:0 -.04em -.16em}

/* ===== V19: Farben als einzelne Platten ===== */
.muster-reihe{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:22px 16px}
.muster{margin:0;min-width:0}
.muster-bild{aspect-ratio:1/2.6;max-width:100%;border-radius:12px;overflow:hidden;background-color:var(--joint);box-shadow:0 1px 0 rgba(0,0,0,.04),0 10px 24px -16px rgba(0,0,0,.35);transition:transform 380ms var(--ease-out),box-shadow 380ms var(--ease-out)}
.muster-bild img{width:100%;height:100%;object-fit:cover}
.muster figcaption{margin-top:12px;font-size:16px;font-weight:800;letter-spacing:-.01em;line-height:1.25}
.muster figcaption small{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate);margin-bottom:2px}
@media (hover:hover) and (pointer:fine){
  .muster:hover .muster-bild{transform:translateY(-10px) rotate(-1.2deg);box-shadow:0 2px 0 rgba(0,0,0,.04),0 28px 40px -18px rgba(0,0,0,.45)}
}
@media (max-width:480px){.muster-reihe{grid-template-columns:repeat(2,minmax(0,1fr))}}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .muster{animation:legenMuster linear both;animation-timeline:view();animation-range:entry calc(var(--i) * 4%) entry calc(70% + var(--i) * 4%)}
    @keyframes legenMuster{from{opacity:.1;transform:translateY(60px) rotate(3deg)}to{opacity:1;transform:none}}
  }
}
.feld{grid-template-rows:1fr 1fr}
.feld figure{min-height:0}

/* V22: Muster anfragen */
.muster-a{display:block;color:inherit;text-decoration:none;border-radius:14px;outline-offset:6px}
.muster-a:focus-visible{outline:2px solid var(--ink)}
.muster-cta{display:flex;width:fit-content;align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--slate);transition:color 200ms ease}
.muster-cta::after{content:"";width:14px;height:1px;background:currentColor;transition:width 260ms var(--ease-out)}
@media (hover:hover) and (pointer:fine){
  .muster-a:hover .muster-cta{color:var(--ink)}
  .muster-a:hover .muster-cta::after{width:22px}
}
.muster-a:active .muster-bild{transform:scale(.97)}
.farben-hinweis{margin:34px 0 0;font-size:17px;color:var(--slate);max-width:40em}
.farben-hinweis a{color:var(--ink);font-weight:700;text-underline-offset:4px}
