/* Startseite: Hero, Slider, Zahlen, Pigmentproben, Vorher-Nachher */
.hero{padding-block:clamp(2.5rem,6vw,5.5rem) clamp(3rem,6vw,5rem);background:radial-gradient(60rem 30rem at 85% 0,color-mix(in oklch,var(--accent) 14%,transparent),transparent 70%)}
.hero .grid{align-items:center}
.hero__text{position:relative;z-index:2;grid-row:1}
.hero__media{grid-row:1}
.hero h1{font-size:clamp(2.6rem,5.4vw + .6rem,5.6rem);margin-bottom:.35em}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.hero__media{position:relative}
.hero__media::before{content:"";position:absolute;z-index:0;left:-1rem;bottom:-1.25rem;width:55%;height:60%;background:var(--accent);border-radius:var(--radius)}
.slider{position:relative;z-index:1}
.slider__track{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-m);background:var(--paper-2)}
.slide{position:absolute;inset:0;margin:0;visibility:hidden;transition:visibility 0s .5s}
.slide.is-active{visibility:visible;transition-delay:0s}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 6s var(--ease-out),opacity .5s var(--ease-out);opacity:0}
.slide.is-active img{transform:none;opacity:1}
.slide:first-child img{opacity:1}
.slide figcaption{position:absolute;left:0;bottom:0;max-width:24rem;padding:.9rem 1.25rem;background:var(--bg);display:grid;gap:.15rem;font-size:.95rem;color:var(--muted)}
.slide figcaption strong{font:500 1.15rem var(--font-display);color:var(--primary)}
.slider__dots{position:absolute;right:.5rem;bottom:-3.1rem;display:flex}
.slider__dot{position:relative;width:44px;height:44px;border:0;background:none;cursor:pointer}
.slider__dot::after{content:"";position:absolute;left:10px;right:10px;top:21px;height:3px;background:var(--line);transition:background-color .2s,transform .2s var(--ease-out)}
.slider__dot.is-active::after{background:var(--accent)}
.slider__dot:hover::after{transform:scaleY(2)}

.stats{background:var(--primary);color:var(--paper)}
.stats .grid{padding-block:clamp(2rem,4vw,3rem);gap:0}
.stats .stat{grid-column:auto/span 4;padding:1rem clamp(1rem,2.5vw,2.5rem);border-left:1px solid color-mix(in oklch,var(--paper) 20%,transparent)}
.stats .stat:first-child{border-left:0;padding-left:0}
.stat__num{font:420 clamp(3rem,5vw + 1rem,5.2rem)/1 var(--font-display);font-variation-settings:"opsz" 96;color:var(--accent);margin:0 0 .3rem;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.stat__label{margin:0;font-size:1rem;color:color-mix(in oklch,var(--paper) 85%,transparent);max-width:22ch}

.section__head{align-items:end;margin-bottom:clamp(2rem,4vw,3.5rem)}
.services{background:var(--bg)}
.pigments{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pigment{border-bottom:1px solid var(--line)}
.pigment__link{position:relative;align-items:stretch;gap:0 var(--gap);text-decoration:none;color:var(--ink);overflow:hidden;transition:background-color .25s var(--ease-out)}
.pigment__field{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;min-height:9rem;padding:1.1rem 1.25rem;background:var(--c);color:var(--on);transition:transform .25s var(--ease-out)}
.pigment__no{font:600 .8rem var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.pigment__name{font:400 1.6rem/1.1 var(--font-display)}
.pigment__body{display:flex;flex-direction:column;justify-content:center;padding-block:1.25rem}
.pigment__title{font:400 clamp(1.5rem,1.6vw + 1rem,2.2rem)/1.1 var(--font-display);color:var(--primary);margin-bottom:.5rem;letter-spacing:-.01em}
.pigment__text{max-width:56ch;color:var(--muted);font-size:1.05rem}
.pigment__thumb{display:block;align-self:center;overflow:hidden;border-radius:var(--radius);aspect-ratio:4/3;max-height:8rem;margin-block:.75rem}
.pigment__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}
.pigment__go{position:absolute;right:1rem;top:1rem;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--paper);color:var(--primary);box-shadow:var(--shadow-s);transition:transform .2s var(--ease-out),background-color .2s}
.pigment__link:hover{background:var(--paper)}
.pigment__link:hover .pigment__field{transform:translateX(8px)}
.pigment__link:hover .pigment__thumb img{transform:scale(1.06)}
.pigment__link:hover .pigment__go{background:var(--accent);transform:translateX(3px)}
.pigment__link:active{transform:scale(.995)}

.ba-section{background:var(--paper-2)}
.ba-section .grid{align-items:center}
.ba__stage{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow-m);background:var(--paper)}
.ba__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba__img--after{clip-path:inset(0 0 0 var(--pos))}
.ba__handle{position:absolute;top:0;bottom:0;left:var(--pos);width:3px;margin-left:-1.5px;background:var(--paper);box-shadow:0 0 0 1px oklch(28% .06 265/.25);pointer-events:none}
.ba__handle i{position:absolute;top:50%;left:50%;width:44px;height:44px;margin:-22px;border-radius:50%;background:var(--paper);box-shadow:var(--shadow-m)}
.ba__handle i::before,.ba__handle i::after{content:"";position:absolute;top:50%;width:8px;height:8px;margin-top:-4px;border-top:2px solid var(--primary);border-left:2px solid var(--primary)}
.ba__handle i::before{left:12px;transform:rotate(-45deg)}
.ba__handle i::after{right:12px;transform:rotate(135deg)}
.ba__tag{position:absolute;top:1rem;padding:.35rem .8rem;background:var(--primary);color:var(--paper);font:600 .75rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;border-radius:var(--radius)}
.ba__tag--l{left:1rem}.ba__tag--r{right:1rem;background:var(--accent);color:var(--ink)}
.ba__range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none;touch-action:pan-y}
.ba:focus-within .ba__handle i{outline:2px solid var(--ochre-ink);outline-offset:3px}
.ba figcaption{margin-top:.9rem;font-size:.95rem;color:var(--muted)}

.about{background:var(--bg)}
.about .grid{align-items:center}
.about__img img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-m)}
.process{background:var(--paper)}
.process .entry{max-width:none}
.process .entry h2{display:none}

@media (max-width:900px){
  .hero__text,.hero__media{grid-row:auto}
  .hero__media::before{left:-.5rem;bottom:-.5rem}
  .slider__dots{position:static;justify-content:center;margin-top:.5rem}
  .stats .stat{grid-column:1/-1;border-left:0;padding-inline:0;border-top:1px solid color-mix(in oklch,var(--paper) 20%,transparent)}
  .stats .stat:first-child{border-top:0}
  .pigment__field{min-height:auto;flex-direction:row;align-items:baseline}
  .pigment__thumb{display:none}
  .pigment__go{top:auto;bottom:1rem}
  .about__img img{aspect-ratio:4/3}
}
@media (max-width:600px){
  .slide figcaption{position:static;max-width:none}
  .slider__track{aspect-ratio:auto;height:auto}
  .slide{position:relative;display:none}
  .slide.is-active{display:block}
  .slide img{aspect-ratio:4/3}
  .stat__num{font-size:3rem}
}
@media (prefers-reduced-motion:reduce){
  .slide img,.slide.is-active img{transform:none;transition:opacity .01ms}
  .pigment__link:hover .pigment__field,.pigment__link:hover .pigment__thumb img,.pigment__link:hover .pigment__go{transform:none}
}
