/* page-level styles — loaded after recrew-landing.css */
.skip {
  position:fixed;
  top:-100px;
  left:16px;
  z-index:200;
  background:var(--ink);
  color:#fff;
  padding:10px 16px;
  border-radius:var(--r-sm);
  font-size:14.5px;
  font-weight:600;
  transition:top .2s var(--e);
}
.skip:focus-visible {
  top:12px;
  color:#fff;
  outline:2px solid var(--blue);
  outline-offset:2px;
}

/* nav */
.nav {
  position:fixed;
  inset:0 0 auto 0;
  z-index:60;
  background:rgba(255,255,255,.82);
  backdrop-filter:blur(14px) saturate(1.6);
  border-bottom:1px solid transparent;
  transition:border-color .3s var(--e),background .3s var(--e);
}
.nav.stuck {
  border-bottom-color:var(--line);
}
.nav .wrap {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  height:72px;
}
.brand {
  font-size:19px;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--ink);
}
.nav-links {
  display:flex;
  gap:18px;
}
.nav-links a {
  white-space:nowrap;
  flex:0 0 auto;
}
.nav-links a {
  font-size:15px;
  font-weight:500;
  color:var(--ink-3);
  position:relative;
  padding:4px 0;
}
.nav-links a::after {
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-2px;
  height:2px;
  background:var(--blue);
  transition:right .3s var(--e);
}
.nav-links a:hover {
  color:var(--ink);
}
.nav-links a:hover::after,.nav-links a.on::after {
  right:0;
}
.nav-links a.on {
  color:var(--ink);
}
.nav-right {
  display:flex;
  align-items:center;
  gap:8px;
}
.nav-right .btn-primary {
  min-width:0;
  padding-inline:16px;
  justify-content:center;
  text-align:center;
}
.nav-right .btn-quiet {
  min-width:0;
  padding-inline:10px;
  margin-right:2px;
}
.nav-right .ig-link {
  width:36px;
  height:36px;
}
.nav-right .btn-sm {
  height:36px;
  display:inline-flex;
  align-items:center;
}
.burger {
  display:none;
  width:40px;
  height:40px;
  border:0;
  border-radius:var(--r-sm);
  background:transparent;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  cursor:pointer;
}
.burger span {
  width:16px;
  height:1.5px;
  background:var(--ink);
  border-radius:2px;
  transition:.25s var(--e);
}
.burger.open span:nth-child(1) {
  transform:translateY(3.25px) rotate(45deg);
}
.burger.open span:nth-child(2) {
  transform:translateY(-3.25px) rotate(-45deg);
}
.mnav {
  display:none;
  flex-direction:column;
  max-height:calc(100svh - 72px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:6px var(--gut) 22px;
  background:var(--white);
  border-bottom:1px solid var(--line);
}
.mnav.open {
  display:flex;
}
.mnav a {
  padding:14px 0;
  font-size:17px;
  font-weight:500;
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
.mnav .btn {
  margin-top:16px;
  justify-content:center;
}
.mnav .btn-primary,.mnav .btn-primary:hover {
  color:#fff;
}

/* hero */
.hero {
  padding:clamp(96px,12vh,140px) 0 clamp(28px,3vw,48px);
  position:relative;
  overflow:hidden;
  min-height:auto;
  display:flex;
  align-items:center;
}
.hero::before {
  display:none;
  content:"";
  position:absolute;
  top:-220px;
  left:50%;
  transform:translateX(-50%);
  width:min(1200px,120vw);
  height:520px;
  background:radial-gradient(60% 60% at 50% 50%,var(--blue-wash),transparent 70%);
  opacity:.7;
  pointer-events:none;
}
.hero .wrap {
  position:relative;
  width:100%;
}
.hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(28px,5vw,72px);
  align-items:stretch;
}
.hero-media {
  position:relative;
  width:100%;
  min-height:clamp(360px,54vh,560px);
  align-self:stretch;
}
.hero-media::before {
  content:"";
  position:absolute;
  left:10px;
  top:10px;
  right:-10px;
  bottom:-10px;
  background:#9dc8ea;
  border-radius:var(--r-xl);
  z-index:0;
}
.hero-media .hero-shot {
  position:absolute;
  inset:0;
  aspect-ratio:auto;
  height:auto;
  display:block;
  background:var(--surface-2);
  overflow:hidden;
  border-radius:var(--r-xl);
  z-index:1;
  box-shadow:0 30px 60px -34px rgba(17,24,32,.45);
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 38%;
  transform:scale(1.06);
  animation:heroZoom 1.6s var(--e) forwards;
}
@keyframes heroZoom {
  to{transform:scale(1)}
}
.hero-copy {
  max-width:none;
}
.hero-copy h1 {
  margin:20px 0 22px;
  max-width:16ch;
  font-size:clamp(42px,5.4vw,68px);
}
.hero-copy .lead {
  max-width:46ch;
  font-size:clamp(18px,1.5vw,21px);
}
.hero-acts {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:38px;
}
.hero-note {
  margin-top:22px;
  font-size:14.5px;
  color:var(--ink-3);
}
section[id] {
  scroll-margin-top:92px;
}
#leistungen {
  padding-top:clamp(40px,5vw,72px);
}
.eyebrow {
  color:var(--blue);
}

/* section heads */
.section .sec-head {
  margin-bottom:clamp(32px,4vw,52px);
}
.head-split {
  margin-bottom:clamp(32px,4vw,52px);
}
.head-split .h2 {
  margin:12px 0 0;
}
.head-split p {
  color:var(--ink-3);
  font-size:16.5px;
  max-width:56ch;
  margin-top:16px;
}

/* services */
.svc {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.svc .card {
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:20px 20px 18px;
  overflow:hidden;
  position:relative;
  isolation:isolate;
}
.svc .card>* {
  position:relative;
  z-index:1;
}
.svc .card>.svc-shot {
  position:absolute;
  inset:0;
  z-index:0;
  clip-path:polygon(56% 0,100% 0,100% 100%,74% 100%);
  overflow:hidden;
}
.svc-shot img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .7s var(--e);
}
.svc .card:hover .svc-shot img {
  transform:scale(1.05);
}
.svc .card>.svc-shot::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(17,24,32,.62) 0%,rgba(17,24,32,.3) 45%,rgba(17,24,32,.16) 100%);
}
.svc .card h3,.svc .card p {
  padding-right:37%;
}
.svc .card p {
  font-size:14.5px;
  line-height:1.45;
}
.svc .card h3 {
  font-size:19px;
}
html.dark .svc .card>.svc-shot::after {
  background:linear-gradient(100deg,rgba(8,11,15,.7) 0%,rgba(8,11,15,.42) 45%,rgba(8,11,15,.26) 100%);
}
.svc .card .go {
  margin-top:auto;
  padding-top:12px;
  font-size:14.5px;
  font-weight:600;
  color:var(--ink);
  display:inline-flex;
  align-items:center;
  gap:7px;
  opacity:1;
  transition:.25s var(--e);
}
.svc .card:hover .go {
  opacity:1;
  color:var(--blue);
}
.svc .card:hover .go .ar {
  transform:translateX(3px);
}
.svc .card .go .ar {
  transition:transform .25s var(--e);
}

/* why */
.why {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,3.4vw,48px) clamp(32px,5vw,72px);
}
.why article {
  position:relative;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.why article::before {
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:100%;
  height:1px;
  background:oklch(84% 0.005 250);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .9s cubic-bezier(.22,.7,.15,1);
}
.why.in article::before {
  transform:scaleX(1);
}
.why.in article:nth-child(1)::before {
  transition-delay:.05s;
}
.why.in article:nth-child(2)::before {
  transition-delay:.2s;
}
.why.in article:nth-child(3)::before {
  transition-delay:.35s;
}
.why.in article:nth-child(4)::before {
  transition-delay:.5s;
}
.why-ck {
  transform:scale(.6);
  opacity:0;
  transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .35s ease;
}
.why.in .why-ck {
  transform:scale(1);
  opacity:1;
}
.why.in article:nth-child(1) .why-ck {
  transition-delay:.5s;
}
.why.in article:nth-child(2) .why-ck {
  transition-delay:.65s;
}
.why.in article:nth-child(3) .why-ck {
  transition-delay:.8s;
}
.why.in article:nth-child(4) .why-ck {
  transition-delay:.95s;
}
.why-ck path {
  stroke-dasharray:24;
  stroke-dashoffset:24;
  transition:stroke-dashoffset .5s cubic-bezier(.2,.7,.2,1);
}
.why.in .why-ck path {
  stroke-dashoffset:0;
}
.why.in article:nth-child(1) .why-ck path {
  transition-delay:.7s;
}
.why.in article:nth-child(2) .why-ck path {
  transition-delay:.85s;
}
.why.in article:nth-child(3) .why-ck path {
  transition-delay:1s;
}
.why.in article:nth-child(4) .why-ck path {
  transition-delay:1.15s;
}
.why h3 {
  margin-bottom:8px;
  display:flex;
  align-items:center;
  gap:10px;
}
.why-ck {
  flex:none;
  width:26px;
  height:26px;
  display:grid;
  place-items:center;
  border-radius:var(--r-full);
  background:var(--blue);
  color:#fff;
}
.why-ck svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.why p {
  font-size:15.5px;
  color:var(--ink-3);
}

/* galerie */
.gal-wrap {
  position:relative;
  --gal-out:clamp(0px,calc((100vw - var(--max))/2 + var(--gut) - 26px),90px);
  margin-inline:calc(-1*var(--gal-out));
  width:calc(100% + 2*var(--gal-out));
}
@media (max-width:600px) {
  .gal-wrap {
    --gal-out:0px;
  }
}
.gal figcaption {
  min-height:0;
}
.gal {
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - 2*clamp(14px,1.6vw,22px))/3);
  gap:clamp(14px,1.6vw,22px);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding-bottom:2px;
}
.gal::-webkit-scrollbar {
  display:none;
}
.gal figure {
  scroll-snap-align:start;
}
.gal-nav {
  position:absolute;
  inset:0;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.gal-nav .gal-btn {
  pointer-events:auto;
}
.gal-btn {
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:var(--r-full);
  background:rgba(157,200,234,.85);
  box-shadow:var(--sh-2);
  color:#12171d;
  cursor:pointer;
  transition:.2s var(--e);
}
#galPrev {
  margin-left:-22px;
}
#galNext {
  margin-right:-22px;
}
.gal-btn svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.gal-btn:hover:not(:disabled) {
  background:#9dc8ea;
}
.gal-btn:disabled {
  opacity:0;
  pointer-events:none;
}
.gal figure {
  margin:0;
}
.gal img {
  width:100%;
  height:auto;
  aspect-ratio:7/5;
  object-fit:cover;
  border-radius:var(--r-lg);
  display:block;
}
.gal figcaption {
  margin-top:10px;
  font-size:14px;
  color:var(--ink-3);
}
@media (max-width:900px) {
  .gal {
    grid-auto-columns:calc((100% - 14px)/2);
  }
}
@media (max-width:600px) {
  .gal {
    grid-auto-columns:78%;
    gap:12px;
  }
  .gal figcaption {
    font-size:13px;
  }
}
.gal-more {
  margin-top:16px;
  font-size:14.5px;
}
.gal-more a {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--ink-3);
  font-weight:500;
  transition:color .2s var(--e);
}
.gal-more a:hover {
  color:var(--blue);
}
.gal-more svg {
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.gal-more .ar {
  transition:transform .25s var(--e);
}
.gal-more a:hover .ar {
  transform:translateX(3px);
}

/* lightbox */
.lb {
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  padding:clamp(20px,5vw,64px);
  background:rgba(10,15,20,.86);
  backdrop-filter:blur(6px);
  animation:lbIn .22s var(--e);
}
.lb[hidden] {
  display:none;
}
@keyframes lbIn {
  from{opacity:0}to{opacity:1}
}
.lb-fig {
  margin:0;
  max-width:min(1100px,100%);
  text-align:center;
}
.lb-fig img {
  max-width:100%;
  max-height:78vh;
  object-fit:contain;
  border-radius:var(--r-lg);
  display:block;
  margin:0 auto;
}
.lb-fig figcaption {
  margin-top:14px;
  color:rgba(255,255,255,.75);
  font-size:14.5px;
}
.lb-close {
  position:absolute;
  top:clamp(16px,3vw,28px);
  right:clamp(16px,3vw,28px);
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--r-full);
  background:transparent;
  color:#fff;
  cursor:pointer;
  transition:.2s var(--e);
}
.lb-close svg {
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
}
.lb-close:hover {
  background:rgba(255,255,255,.12);
}
.lb-arw {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.28);
  border-radius:var(--r-full);
  background:rgba(255,255,255,.06);
  color:#fff;
  cursor:pointer;
  transition:.2s var(--e);
}
.lb-arw svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.lb-arw:hover {
  background:rgba(255,255,255,.18);
}
.lb-prev {
  left:clamp(12px,3vw,32px);
}
.lb-next {
  right:clamp(12px,3vw,32px);
}
@media (max-width:600px) {
  .lb-arw {
    width:42px;
    height:42px;
  }
}
.sdot.on {
  background:#fff;
  width:22px;
}

/* cities */
.cities {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}
.city {
  border:1px solid var(--line);
  border-radius:var(--r-lg);
  background:var(--white);
  overflow:hidden;
}
.city-photo {
  height:270px;
}
.city-body {
  padding:22px 24px 26px;
}
.cslide {
  position:relative;
  height:100%;
  overflow:hidden;
}
.cslide-track {
  display:flex;
  height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.cslide-track::-webkit-scrollbar {
  display:none;
}
.cslide-track img {
  flex:0 0 100%;
  width:100%;
  height:100%;
  object-fit:cover;
  scroll-snap-align:center;
  display:block;
}
.cs-btn {
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:var(--r-full);
  background:rgba(157,200,234,.85);
  color:#12171d;
  cursor:pointer;
  transition:background .2s var(--e),opacity .2s var(--e);
}
.cs-btn:hover {
  background:#9dc8ea;
}
.cs-btn[hidden] {
  display:none;
}
.cs-btn svg {
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.cs-prev {
  left:8px;
}
.cs-next {
  right:8px;
}
.cs-dots {
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  display:flex;
  justify-content:center;
  gap:6px;
}
.cs-dots span {
  width:5px;
  height:5px;
  border-radius:var(--r-full);
  background:rgba(255,255,255,.5);
  transition:background .2s var(--e);
}
.cs-dots span.on {
  background:#fff;
}
.city h3 {
  font-size:22px;
  margin-bottom:6px;
}
.city p {
  font-size:15.5px;
  color:var(--ink-3);
}
.city-adr {
  margin-top:14px;
  font-style:normal;
  font-size:15px;
  line-height:1.55;
  color:var(--ink-2);
}
.city .m {
  margin-top:14px;
  font-size:14px;
  color:var(--ink-3);
}
.city-route {
  margin-top:16px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:14.5px;
  font-weight:500;
  color:var(--ink);
  text-decoration:none;
  border-bottom:1px solid var(--line-2);
  padding-bottom:3px;
  transition:color .2s var(--e),border-color .2s var(--e);
}
.city-route:hover {
  color:var(--blue);
  border-color:var(--blue);
}
.city-route svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* faq */
.faq {
  max-width:840px;
  border-top:1px solid var(--line);
}
.faq details {
  border-bottom:1px solid var(--line);
}
.faq summary {
  list-style:none;
  cursor:pointer;
  padding:22px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:17.5px;
  font-weight:600;
  color:var(--ink);
  transition:color .2s var(--e);
}
.faq summary::-webkit-details-marker {
  display:none;
}
.faq summary:hover .pm::before,.faq summary:hover .pm::after {
  background:var(--ink);
}
.faq summary::marker {
  content:"";
}
.faq summary .pm {
  flex:0 0 22px;
  height:22px;
  position:relative;
}
.faq summary .pm::before,.faq summary .pm::after {
  content:"";
  position:absolute;
  inset:50% 0 auto 0;
  height:1.5px;
  background:var(--ink-3);
  transition:transform .3s var(--e);
}
.faq summary .pm::after {
  transform:rotate(90deg);
}
.faq details[open] summary .pm::after {
  transform:rotate(0);
}
.faq .ans {
  overflow:hidden;
  padding:0 0 22px;
  max-width:66ch;
  color:var(--ink-3);
  font-size:16px;
}
.faq details[open] .ans {
  animation:reveal .35s var(--e);
}
@keyframes reveal {
  from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}
}

/* crew cta */
.crew {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(28px,5vw,64px);
  background:var(--ink);
  border-radius:var(--r-xl);
  overflow:hidden;
}
.crew-copy .h2 {
  margin:10px 0 12px;
  font-size:clamp(24px,2.6vw,32px);
}
.crew-copy .h2 {
  color:#fff;
}
.crew-copy .h2 .dot {
  color:var(--blue);
}
.crew-copy .btn {
  margin-top:20px;
}

/* contact */
.contact {
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  gap:clamp(32px,5vw,80px);
}
.contact-intro .h2 {
  margin:12px 0 14px;
}
.contact-intro p {
  color:var(--ink-3);
  max-width:38ch;
}
.cinfo {
  margin-top:32px;
  display:grid;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
}
.cinfo li {
  list-style:none;
  background:var(--white);
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  font-size:15.5px;
}
.cinfo .k {
  color:var(--ink-4);
  font-size:14px;
}
.fgrid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.fsend {
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px 20px;
  margin-top:2px;
}
.fsend .fnote {
  flex:1 1 220px;
  margin:0;
}
.msel {
  position:relative;
}
.msel-btn {
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-family:inherit;
  font-size:15.5px;
  color:var(--ink-4);
  background:var(--white);
  border:1px solid var(--line-2);
  border-radius:var(--r-sm);
  padding:12px 14px;
  cursor:pointer;
  text-align:left;
  transition:.2s var(--e);
}
.msel.filled .msel-btn {
  color:var(--ink);
}
.msel-btn:hover {
  border-color:var(--ink-4);
}
.msel.open .msel-btn {
  border-color:var(--blue);
  box-shadow:0 0 0 3px var(--blue-wash);
}
.msel .cv {
  width:9px;
  height:9px;
  border-right:1.5px solid var(--ink-3);
  border-bottom:1.5px solid var(--ink-3);
  transform:translateY(-2px) rotate(45deg);
  flex:none;
  transition:transform .25s var(--e);
}
.msel.open .cv {
  transform:translateY(2px) rotate(-135deg);
}
.msel-pop {
  display:none;
  position:absolute;
  z-index:20;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--r);
  box-shadow:var(--sh-2);
  padding:6px;
  max-height:240px;
  overflow:auto;
}
.msel.open .msel-pop {
  display:block;
}
.msel-pop label {
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:var(--r-sm);
  font-size:15px;
  color:var(--ink);
  cursor:pointer;
}
.msel-pop label:hover {
  background:var(--surface);
}
.msel-pop input {
  accent-color:var(--ink);
  width:16px;
  height:16px;
}
.fgrid .full {
  grid-column:1/-1;
}
.fnote {
  grid-column:1/-1;
  font-size:14.5px;
  color:var(--ink-3);
}
.field.err input,.field.err select,.field.err textarea {
  border-color:#d4563f;
  box-shadow:0 0 0 3px rgba(212,86,63,.12);
}
.field .err-msg {
  font-size:13px;
  color:#c0492f;
}
.fdone {
  grid-column:1/-1;
  background:var(--blue-wash);
  border-radius:var(--r);
  padding:14px 16px;
  font-size:15px;
  color:var(--ink);
}
.fnote a {
  text-decoration:underline;
  text-underline-offset:3px;
  color:var(--ink-2);
}
.fnote a:hover {
  color:var(--blue);
}

/* footer */
.foot {
  background:var(--ink);
  color:#aeb7c2;
  border-top:0;
  padding:clamp(52px,6vw,80px) 0 28px;
}
.f-top {
  display:grid;
  grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));
  gap:clamp(26px,4vw,56px);
  padding-bottom:40px;
}
.f-top .brand {
  font-size:20px;
  color:#fff;
}
.f-top .fd {
  margin-top:14px;
  font-size:15px;
  color:#8d97a4;
  max-width:32ch;
}
.foot h4 {
  font-size:13.5px;
  font-weight:600;
  color:#fff;
  margin-bottom:14px;
}
.foot ul {
  list-style:none;
  display:grid;
  gap:9px;
  font-size:15px;
}
.foot ul a {
  color:#aeb7c2;
}
.foot ul a:hover {
  color:#fff;
}
.f-bot {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:14px;
  color:#7f8a97;
}

/* reveal */
.rv {
  opacity:0;
  transform:translateY(16px);
  transition:opacity .7s var(--e),transform .7s var(--e);
}
.rv.in {
  opacity:1;
  transform:none;
}
[data-stagger]>* {
  opacity:0;
  transform:translateY(16px);
  transition:opacity .65s var(--e),transform .65s var(--e);
}
[data-stagger].in>* {
  opacity:1;
  transform:none;
}
[data-stagger].in>*:nth-child(2) {
  transition-delay:.06s;
}
[data-stagger].in>*:nth-child(3) {
  transition-delay:.12s;
}
[data-stagger].in>*:nth-child(4) {
  transition-delay:.18s;
}
[data-stagger].in>*:nth-child(5) {
  transition-delay:.24s;
}
[data-stagger].in>*:nth-child(6) {
  transition-delay:.3s;
}
@media (prefers-reduced-motion:reduce) {
  * {
    animation:none!important;
    transition:none!important;
  }
  .rv,[data-stagger]>* {
    opacity:1;
    transform:none;
  }
}
@media (max-width:1080px) {
  .nav-links {
    display:none;
  }
  .burger {
    display:flex;
  }
  .nav .btn-desktop {
    display:none;
  }
}
@media (max-width:960px) {
  .crew,.contact,.hero-grid {
    grid-template-columns:1fr;
  }
  .hero-media {
    height:clamp(300px,46vh,420px);
    margin-top:8px;
  }
  .svc,.cities {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .why {
    grid-template-columns:1fr;
  }
  .f-top {
    grid-template-columns:1fr 1fr;
  }
  body.nav-open {
    overflow:hidden;
  }
}
@media (max-width:600px) {
  .svc,.cities {
    grid-template-columns:1fr;
  }
  .fgrid {
    grid-template-columns:1fr;
  }
  .f-top {
    grid-template-columns:1fr;
  }
  .f-bot {
    flex-direction:column;
    gap:6px;
  }
  .nav-right .btn-primary {
    min-width:0;
  }
}

/* ---------- dark mode ---------- */
.theme-switch {
  flex:none;
  border:0;
  padding:0;
  margin-inline:2px;
  background:none;
  cursor:pointer;
  display:grid;
  place-items:center;
}
.ts-track {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:54px;
  height:28px;
  padding:0 6px;
  border:1px solid var(--line-2);
  border-radius:var(--r-full);
  transition:border-color .22s var(--e),background .22s var(--e);
}
.theme-switch:hover .ts-track {
  border-color:var(--blue);
}
.ts-i {
  width:13.5px;
  height:13.5px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  position:relative;
  z-index:1;
  transition:color .22s var(--e);
}
.ts-i.sun {
  color:var(--ink);
}
.ts-i.moon {
  color:var(--ink-4);
}
.ts-knob {
  position:absolute;
  top:2px;
  left:2px;
  width:22px;
  height:22px;
  border-radius:var(--r-full);
  background:var(--blue);
  transition:transform .28s var(--e);
}
html.dark .ts-knob {
  transform:translateX(26px);
}
html.dark .ts-i.sun {
  color:var(--ink-4);
}
html.dark .ts-i.moon {
  color:var(--ink);
}
.mnav .theme-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
  font-size:17px;
  font-weight:500;
  color:var(--ink);
  border-bottom:1px solid var(--line);
}
html.dark {
  color-scheme:dark;
}
html.dark body {
  --white:#10151b;
  --surface:#161d25;
  --surface-2:#1d2630;
  --ink:#f1f4f8;
  --ink-2:#c6cfd9;
  --ink-3:#98a3af;
  --ink-4:#727d8a;
  --line:#232d38;
  --line-2:#2f3b48;
  --blue-wash:#16293a;
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 1px 3px rgba(0,0,0,.5),0 8px 24px -14px rgba(0,0,0,.8);
  --sh-3:0 2px 6px rgba(0,0,0,.4),0 28px 56px -28px rgba(0,0,0,.9);
}
html.dark body {
  background:var(--white);
  color:var(--ink-2);
}
html.dark .nav {
  background:rgba(16,21,27,.82);
}
html.dark .btn-primary {
  background:var(--blue);
  color:#0d1218;
}
html.dark .btn-primary:hover {
  background:#b6d7f1;
  color:#0d1218;
}
html.dark .mnav .btn-primary,html.dark .mnav .btn-primary:hover {
  color:#0d1218;
}
html.dark .btn-line {
  background:transparent;
}
html.dark .card .ic svg {
  stroke:var(--blue);
}
html.dark .hero::before {
  opacity:.35;
}
html.dark .foot {
  background:#0a0e13;
}
html.dark .msel-pop input {
  accent-color:var(--blue);
}
html.dark .field.err input,html.dark .field.err select,html.dark .field.err textarea {
  border-color:#e07a63;
  box-shadow:0 0 0 3px rgba(224,122,99,.14);
}
html.dark .field .err-msg {
  color:#e79680;
}
html.dark .fdone {
  color:var(--ink);
}
.brand {
  flex:0 0 auto;
  display:block;
}
.brand img {
  height:28px;
  width:auto;
  max-width:none;
  flex:none;
  display:block;
  object-fit:contain;
}
.brand-img {
  height:26px;
  width:auto;
  display:block;
  margin-bottom:16px;
}
.brand .lg-dark {
  display:none;
}
html.dark .brand .lg-light {
  display:none;
}
html.dark .brand .lg-dark {
  display:block;
}
html.dark .hero-media::before {
  background:rgba(157,200,234,.12);
}
html.dark .crew {
  background:#0a0e13;
}
.crew-copy .btn-primary {
  background:var(--blue);
  color:var(--ink);
}
.crew-copy .btn-primary:hover {
  background:#b6d7f0;
  color:var(--ink);
}
html.dark .crew-copy .btn-primary {
  background:var(--blue);
  color:#0a0e13;
}
.ig {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}
.ig-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:var(--r-full);
  color:var(--ink-2);
  transition:color .2s var(--e),background .2s var(--e);
}
.ig-link svg {
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
}
.ig-link:hover {
  color:var(--blue);
}
.f-social {
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:12px;
}
.f-ig {
  margin-top:0;
  color:#aeb7c2;
}
.f-ig:hover {
  color:var(--blue);
}
html.dark .ig-link {
  color:var(--ink-2);
}
.rev.on {
  opacity:1;
  pointer-events:auto;
}
.rdots button.on {
  background:var(--blue);
  width:20px;
}
#bewertungen {
  padding:clamp(38px,4vw,58px) 0;
}
.rev-head .eyebrow {
  display:none;
}
.rev-head .h2 {
  margin:0 0 8px;
  font-size:clamp(24px,2.6vw,32px);
  white-space:nowrap;
}
@media(max-width:600px) {
  .rev-head .h2 {
    white-space:normal;
  }
}
.fab {
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:60;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
}
.fab-menu {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:.25s var(--e);
}
.fab.open .fab-menu {
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.fab-item {
  display:inline-flex;
  align-items:center;
  gap:9px;
  background:var(--white);
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:var(--r-full);
  padding:9px 15px;
  font-size:14.5px;
  font-weight:500;
  box-shadow:var(--sh-1);
  transition:border-color .2s var(--e),color .2s var(--e);
}
.fab-item:hover {
  border-color:var(--blue);
  color:var(--ink);
}
.fab-item svg {
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.fab-item.wa svg {
  stroke:#25d366;
}
.fab-btn {
  height:54px;
  padding:0 22px 0 18px;
  border:0;
  border-radius:var(--r-full);
  background:var(--ink);
  color:#fff;
  display:inline-flex;
  align-items:center;
  gap:10px;
  font:inherit;
  font-size:16px;
  font-weight:600;
  letter-spacing:-.01em;
  cursor:pointer;
  box-shadow:0 14px 30px -12px rgba(17,24,32,.5);
}
.fab-btn .fab-label {
  white-space:nowrap;
}
.fab-btn svg {
  width:22px;
  height:22px;
  flex:none;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:.2s var(--e);
}
.fab-btn .i-close {
  display:none;
}
.fab.open .fab-btn .i-chat {
  display:none;
}
.fab.open .fab-btn .i-close {
  display:block;
}
html.dark .fab-item {
  background:var(--surface-2);
  border-color:var(--line);
}
html.dark .fab-btn {
  background:var(--blue);
  color:#0a0e13;
}
@media(max-width:600px) {
  .fab-btn {
    height:52px;
    padding:0 20px 0 16px;
    font-size:15px;
  }
}
@media(max-width:600px) {
  .fab {
    right:16px;
    bottom:16px;
  }
}
@keyframes scBob {
  0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,6px)}
}

/* ---------- mobile / responsive ---------- */
html {
  -webkit-text-size-adjust:100%;
}
html,body {
  overflow-x:clip;
}
img,svg {
  max-width:100%;
}
body {
  overflow-x:clip;
}
@media (max-width:960px) {
  .hero {
    min-height:auto;
    padding:clamp(96px,13vh,120px) 0 clamp(36px,5vh,56px);
  }
  .hero-grid {
    gap:clamp(26px,5vw,40px);
  }
  .hero-media {
    min-height:clamp(280px,42vh,400px);
    height:auto;
    margin-top:0;
    order:-1;
    margin-bottom:6px;
  }
  .hero-copy h1 {
    max-width:18ch;
  }
  .rev-head .h2 {
    white-space:normal;
  }
}
@media (max-width:600px) {
  .wrap {
    padding-inline:20px;
  }
  .section {
    padding:clamp(48px,10vw,68px) 0;
  }
  .hero {
    padding:88px 0 28px;
  }
  #leistungen {
    padding-top:44px;
  }
  .hero-copy h1 {
    font-size:clamp(32px,9vw,42px);
    max-width:none;
    margin:14px 0 16px;
  }
  .hero-copy .lead {
    font-size:17px;
    max-width:none;
  }
  .hero-acts {
    gap:10px;
  }
  .hero-acts .btn {
    flex:1 1 100%;
    justify-content:center;
  }
  .hero-media {
    min-height:clamp(190px,40vw,260px);
  }
  .hero-media::before {
    left:8px;
    top:8px;
    right:-8px;
    bottom:-8px;
  }
  .h2 {
    font-size:clamp(25px,7vw,32px);
  }
  .head-split p{
    font-size:16px;
  }
  .crew {
    border-radius:var(--r-lg);
  }
  .cinfo li {
    flex-direction:column;
    gap:4px;
  }
  .fsend {
    flex-direction:column;
    align-items:stretch;
  }
  .fsend .btn {
    width:100%;
    justify-content:center;
  }
  .faq summary {
    padding:18px 0;
    font-size:16.5px;
  }
  .ig .btn {
    width:100%;
    justify-content:center;
  }
  .fab {
    right:14px;
    bottom:calc(14px + env(safe-area-inset-bottom));
  }
  .fab-item {
    padding:11px 16px;
    font-size:15px;
  }
  .burger {
    width:44px;
    height:44px;
  }
  .mnav a {
    min-height:44px;
    display:flex;
    align-items:center;
  }
  .f-bot {
    font-size:13.5px;
  }
  .cs-btn {
    width:38px;
    height:38px;
  }
  .cs-btn svg {
    width:17px;
    height:17px;
  }
  .city-route {
    padding:8px 0;
    border-bottom-width:0;
    text-decoration:underline;
    text-underline-offset:4px;
  }
}
@media (max-width:380px) {
  .nav-right {
    gap:6px;
  }
  .nav-right .btn-primary {
    padding-inline:14px;
    font-size:14px;
  }
  .brand img {
    height:24px;
  }
}
@media (max-width:960px) {
  .hero-grid {
    display:flex;
    flex-direction:column;
  }
}
@media (max-width:600px) {
  .nav .wrap {
    gap:12px;
  }
  .nav-right .btn-primary,.nav-right .ig-link {
    display:none;
  }
}
@media (max-width:960px) {
  body.nav-open::after {
    content:"";
    position:fixed;
    inset:0;
    z-index:55;
    background:rgba(17,24,32,.42);
    backdrop-filter:blur(3px);
    animation:navFade .25s var(--e);
  }
  html.dark body.nav-open::after {
    background:rgba(4,7,10,.6);
  }
}
@keyframes navFade {
  from{opacity:0}to{opacity:1}
}

/* Hero-Bildvariante: Foto als Vollflächen-Hintergrund statt Grid-Layout weiter oben */
.hero {
  background:#0d1218;
  padding:clamp(196px,24vh,264px) 0 clamp(84px,10vh,124px);
  min-height:min(88vh,860px);
}
.hero .wrap {
  position:static;
}
.hero-grid {
  display:block;
  position:static;
}
.hero-copy {
  position:relative;
  z-index:1;
}
.hero-media {
  position:absolute;
  inset:0;
  width:auto;
  min-height:0;
  height:auto;
  margin:0;
  z-index:0;
}
.hero-media::before {
  display:none;
}
.hero-media .hero-shot {
  position:absolute;
  inset:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 82%;
  -webkit-mask-image:none;
  mask-image:none;
}
.hero-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(9,13,18,.94) 0%,rgba(9,13,18,.94) 38%,rgba(9,13,18,.68) 50%,rgba(9,13,18,.18) 100%);
  z-index:2;
}
.hero-copy {
  max-width:none;
}
.hero .eyebrow {
  color:rgba(255,255,255,.72);
}
.hero-copy h1 {
  color:#fff;
  max-width:18ch;
}
.hero-copy .lead {
  color:rgba(255,255,255,.86);
  max-width:60ch;
  font-size:clamp(17px,1.35vw,19.5px);
  line-height:1.6;
}
.hero-note {
  color:rgba(255,255,255,.62);
}
.hero-acts .btn-line {
  color:#fff;
  border-color:rgba(255,255,255,.5);
  background:transparent;
}
.hero-acts .btn-line:hover {
  background:#fff;
  color:#0d1218;
  border-color:#fff;
}
html.dark .hero-media::before {
  display:none;
}
@media (max-width:960px) {
  .hero {
    padding:clamp(124px,16vh,156px) 0 clamp(64px,9vh,92px);
    min-height:0;
  }
  .hero-media {
    order:0;
    margin:0;
  }
  .hero-copy h1 {
    max-width:20ch;
  }
}
@media (max-width:600px) {
  .hero {
    padding:112px 0 56px;
  }
  .hero-media img {
    object-position:50% 82%;
  }
  .hero-media::after {
    background:linear-gradient(180deg,rgba(9,13,18,.99) 0%,rgba(9,13,18,.97) 45%,rgba(9,13,18,.65) 62%,rgba(9,13,18,.86) 100%);
  }
}

/* Join-the-crew-Band */
.jband-sec {
  background:#101720;
  position:relative;
  overflow:hidden;
}
.jband {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-items:center;
  gap:clamp(28px,4vw,64px);
  padding-right:calc(42% + clamp(24px,3vw,44px));
}
.jband .eyebrow {
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--blue);
}
.jband .h2 {
  color:#fff;
  margin:14px 0 14px;
}
.jband p {
  color:rgba(255,255,255,.78);
  max-width:46ch;
  font-size:17px;
}
.jband .dot {
  color:#fff;
}
.jband-acts {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}
.jband-shot {
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:44vw;
  max-width:44%;
  min-height:0;
  overflow:hidden;
  border-radius:0;
}
.jband-shot img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.btn-white {
  background:var(--blue);
  color:#0d1218;
  border-color:var(--blue);
}
.btn-white:hover {
  background:#b6d7f1;
  color:#0d1218;
  border-color:#b6d7f1;
}
@media (max-width:900px) {
  .jband {
    padding-right:0;
  }
  .jband-shot {
    position:relative;
    top:auto;
    right:auto;
    bottom:auto;
    width:100%;
    max-width:none;
    min-height:240px;
    order:-1;
  }
}

/* eckigere Radius-Tokens für die Landingpage, überschreibt recrew-landing.css */
:root {
  --r-sm:3px;
  --r:4px;
  --r-lg:4px;
  --r-xl:4px;
}
.card,.jband-shot,.city,.field input,.field select,.field textarea{
  border-radius:3px;
}
.card {
  box-shadow:none;
}
.card:hover {
  box-shadow:none;
  border-color:var(--line-2);
}
.btn {
  border-radius:2px;
}
.eyebrow {
  display:block;
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.15em;
  color:var(--blue);
}
.jband .eyebrow,.hero .eyebrow {
  letter-spacing:.15em;
  text-transform:uppercase;
  font-size:12px;
  font-weight:700;
}
.section {
  border-top:1px solid var(--line);
}
.hero,#leistungen,.jband-sec,.foot {
  border-top:0;
}
html.dark .section {
  border-top-color:transparent;
}
.svc .card {
  position:relative;
}
.svc .card::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:3px;
  background:var(--blue);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s var(--e);
  z-index:3;
}
.svc .card:hover::before {
  transform:scaleX(1);
}
.card .ic {
  border-radius:2px;
}
.btn-line:hover {
  background:var(--ink);
  color:#fff;
  border-color:var(--ink);
}
html.dark .btn-line:hover {
  background:var(--ink);
  color:#0d1218;
  border-color:var(--ink);
}
.hero-acts .btn-primary {
  background:var(--blue);
  color:#0d1218;
  border-color:var(--blue);
}
.hero-acts .btn-primary:hover {
  background:#b6d7f1;
  border-color:#b6d7f1;
  color:#0d1218;
}
.svc-shot img.shot-shift {
  transform:scale(1.34) translateX(21%);
}
.svc-shot img.shot-ec {
  object-position:50% 38%;
  transform:translateX(14%);
}
.svc-shot img.shot-ph {
  transform:translateX(6%);
}
.svc-shot img.shot-ga {
  transform:translateX(12%);
}
.svc .card:hover .svc-shot img.shot-ga {
  transform:translateX(12%) scale(1.04);
}
.svc-shot img.shot-me {
  object-position:50% 30%;
  transform:scale(1.45) translateX(31%) translateY(9%);
}
.svc .card:hover .svc-shot img.shot-me {
  transform:scale(1.52) translateX(31%) translateY(9%);
}
.svc .card:hover .svc-shot img.shot-ph {
  transform:translateX(6%) scale(1.04);
}
.svc .card:hover .svc-shot img.shot-ec {
  transform:translateX(14%) scale(1.04);
}
.svc-shot img.shot-pm {
  object-position:50% 44%;
  transform:translateX(10%);
}
.svc .card:hover .svc-shot img.shot-pm {
  transform:translateX(10%) scale(1.04);
}
.svc .card:hover .svc-shot img.shot-shift {
  transform:scale(1.4) translateX(21%);
}

/* Team / Backoffice */
.team {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(12px,1.4vw,20px);
}
.tm {
  margin:0;
}
.tm-ph {
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  border-radius:3px;
  background:var(--surface-2);
  border:1px solid var(--line);
}
.tm-ph img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.tm figcaption {
  display:flex;
  flex-direction:column;
  gap:3px;
  padding-top:14px;
}
.tm-name {
  font-size:16.5px;
  font-weight:600;
  color:var(--ink);
}
.tm-role {
  font-size:14px;
  color:var(--ink-3);
}
html.dark .tm-ph {
  border-color:rgba(255,255,255,.12);
}
@media (max-width:1100px) {
  .team {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:640px) {
  .team {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px) {
  .jband-sec {
    padding-top:0 !important;
  }.jband-sec {
    padding-bottom:clamp(36px,9vw,52px) !important;
  }.jband {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding-inline:var(--gut) !important;
  }.jband-shot {
    position:relative;
    inset:auto;
    order:-1;
    width:auto;
    max-width:none;
    height:auto;
    aspect-ratio:16/10;
    min-height:0;
    margin:0 0 clamp(22px,5vw,28px);
    border-radius:3px;
  }.jband-shot img {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }.jband .h2 {
    margin:12px 0 12px;
    white-space:normal;
  }.jband p {
    max-width:none;
    font-size:16px;
  }
  .jband-acts {
    margin-top:22px;
  }
  .jband-acts .btn {
    width:100%;
    justify-content:center;
  }
}
@media (max-width:900px) {
  .jband-shot {
    order:-1;
    margin-top:0;
  }
}

/* Hero-Ausblenden beim Scrollen */
.hero-copy {
  will-change:transform,opacity;
}
@media (prefers-reduced-motion:reduce) {
  .hero-copy {
    transform:none !important;
    opacity:1 !important;
  }
  .why article::before,.why-ck,.why-ck path {
    transition:none;
  }
}

/* Scroll-Reveal für weitere Blöcke */
.faq details {
  opacity:0;
  transform:translateY(14px);
  transition:opacity .6s var(--e),transform .6s var(--e);
}
.faq.in details {
  opacity:1;
  transform:none;
}
.faq.in details:nth-child(2) {
  transition-delay:.07s;
}
.faq.in details:nth-child(3) {
  transition-delay:.14s;
}
.faq.in details:nth-child(4) {
  transition-delay:.21s;
}
.faq.in details:nth-child(5) {
  transition-delay:.28s;
}
.faq.in details:nth-child(6) {
  transition-delay:.35s;
}
@media (prefers-reduced-motion:reduce) {
  .faq details {
    opacity:1;
    transform:none;
    transition:none;
  }
}
.gal-btn {
  background:var(--blue);
}
.gal-btn:hover:not(:disabled) {
  background:#b6d7f1;
}
.abx {
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
}
.abx .h2 {
  margin:14px 0 18px;
}
.abx p {
  color:var(--ink-3);
  font-size:clamp(15.5px,1.25vw,17px);
  line-height:1.62;
  max-width:52ch;
}
.abx p+p {
  margin-top:14px;
}
.abx-nums {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2.4vw,32px);
  margin-top:clamp(28px,3vw,40px);
}
.abx-nums>div {
  padding-top:16px;
  border-top:1px solid var(--line);
  display:flex;
  flex-direction:column;
}
.abx-nums dt {
  font-size:15px;
  font-weight:600;
  letter-spacing:-.01em;
  color:var(--ink-3);
}
.abx-nums dd {
  margin-top:auto;
  padding-top:10px;
}
.abx-nums dd span {
  font-size:clamp(28px,2.8vw,36px);
  font-weight:600;
  letter-spacing:-.03em;
  color:var(--blue);
  line-height:1;
}
.abx-media {
  position:relative;
}
.abx-media {
  --abxP:0px;
  --abxI:0px;
}
.abx-media::before {
  content:"";
  position:absolute;
  left:-10px;
  top:10px;
  right:10px;
  bottom:-10px;
  background:#9dc8ea;
  border-radius:var(--r-xl);
  z-index:0;
  transform:translate3d(0,var(--abxP),0);
  will-change:transform;
}
.abx-shot {
  position:relative;
  z-index:1;
  overflow:hidden;
  border-radius:var(--r-xl);
  aspect-ratio:4/5;
  background:var(--surface-2);
  box-shadow:0 30px 60px -34px rgba(17,24,32,.4);
}
.abx-shot img {
  width:100%;
  height:100%;
  object-fit:cover;
  transform:scale(1.12) translate3d(0,var(--abxI),0);
  will-change:transform;
}
@media (max-width:900px) {
  .abx {
    grid-template-columns:1fr;
    gap:clamp(24px,6vw,36px);
  }
  .abx-media {
    order:-1;
  }
  .abx-shot {
    aspect-ratio:16/11;
  }
  .abx-nums {
    grid-template-columns:1fr 1fr;
  }
  .abx-media::before {
    left:-6px;
    right:6px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .abx-media::before,.abx-shot img {
    transform:none;
  }
}

/* Team-Platzhalter, Honeypot, Consent */
.tm-ph {
  display:grid;
  place-items:center;
}
.tm-ini {
  font-size:clamp(24px,2.6vw,34px);
  font-weight:600;
  letter-spacing:.02em;
  color:var(--ink-4);
  opacity:.5;
}
.hp {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}
.fchk label {
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14.5px;
  line-height:1.5;
  color:var(--ink-3);
  cursor:pointer;
}
.fchk input {
  flex:0 0 auto;
  width:17px;
  height:17px;
  margin-top:1px;
  accent-color:var(--blue-deep,#2d8bd4);
}
.fchk a {
  text-decoration:underline;
  text-underline-offset:3px;
  color:var(--ink-2);
}
.fchk a:hover {
  color:var(--blue);
}
.field.fchk.err label {
  color:#c0492f;
}
.field.fchk .err-msg {
  padding-left:27px;
}
html.dark .fchk input {
  accent-color:var(--blue);
}
html.dark .field.fchk.err label {
  color:#e79680;
}

/* ---- Mobile-Feinschliff ---- */
@media (max-width:600px) {
  .jband-shot {
    width:100vw;
    max-width:none;
    margin-inline:calc(50% - 50vw);
    min-height:0;
    aspect-ratio:16/10;
    border-radius:0;
  }
  .abx-nums {
    grid-template-columns:1fr;
    gap:0;
    margin-top:26px;
  }
  .abx-nums>div {
    flex-direction:row;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    padding:13px 0;
    border-top:1px solid var(--line);
  }
  .abx-nums>div:first-child {
    padding-top:0;
    border-top:0;
  }
  .abx-nums dt {
    font-size:15.5px;
  }
  .abx-nums dd {
    margin-top:0;
    padding-top:0;
  }
  .abx-nums dd span {
    font-size:27px;
  }
}
@media (max-width:600px) {
  #galPrev {
    margin-left:6px;
  }
  #galNext {
    margin-right:6px;
  }
}
