:root {
  --yellow: #FFED00;
  --yellow-dark: #E2D200;
  --black: #111111;
  --dark-grey: #222222;
  --grey: #4A4A4A;
  --light: #f7f7f5;
  --white: #ffffff;
  --border: #e8e8e8;
  --max-width: 1180px;
  --radius: 22px;
  --shadow-soft: 6px 6px 0 rgba(0, 0, 0, 0.12);
  --shadow-hover: 9px 9px 0 rgba(0, 0, 0, 0.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Arial,Helvetica,sans-serif;color:var(--black);background:var(--white);line-height:1.6}
a{color:inherit;text-decoration:none} img{max-width:100%;display:block}
.container{width:min(calc(100% - 36px),var(--max-width));margin:0 auto}
.topbar{background:var(--black);color:var(--white);font-size:14px}.topbar-inner{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topbar a{font-weight:700;color:var(--yellow)}
header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);border-bottom:1px solid var(--border);backdrop-filter:blur(10px)}.navigation{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:inline-flex;align-items:center}.logo img{width:240px;max-width:100%;height:auto}.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:700}.nav-links a:hover{color:var(--yellow-dark)}
.button,button.button,input.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:12px 22px;border:2px solid var(--yellow);border-radius:999px;background:var(--yellow);color:var(--black);font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;cursor:pointer;box-shadow:var(--shadow-soft)}.button:hover,button.button:hover,input.button:hover{transform:scale(1.04);box-shadow:var(--shadow-hover);background:var(--black);border-color:var(--black);color:var(--white)}.button-dark{background:var(--black);border-color:var(--black);color:var(--white)}.button-dark:hover{background:var(--yellow);border-color:var(--yellow);color:var(--black)}
.icon-wrap{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-wrap svg{width:100%;height:100%;display:block}.icon-whatsapp{width:24px;height:24px}.icon-phone-black svg path{fill:#000}
.hero-slider{position:relative;overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(255,237,0,.26),transparent 22%),linear-gradient(125deg,#111 0%,#1c1c1c 56%,#282828 100%);color:var(--white)}.slider-inner{position:relative;min-height:500px;display:flex;align-items:center}.slider-track{position:relative;width:100%;min-height:500px}.slide{position:absolute;inset:0;display:flex;align-items:center;opacity:0;visibility:hidden;transform:translateX(30px);transition:opacity .5s ease,transform .5s ease,visibility .5s ease;padding:60px 0}.slide.active{opacity:1;visibility:visible;transform:translateX(0);position:relative}.slide-content{max-width:720px}.slide-kicker{display:inline-flex;align-items:center;margin-bottom:18px;padding:8px 14px;border-radius:999px;background:rgba(255,237,0,.14);color:var(--yellow);font-size:14px;font-weight:800}.hero-slider h1{max-width:760px;font-size:clamp(42px,6vw,72px);line-height:1.02;letter-spacing:-.055em;margin-bottom:20px}.hero-slider p{max-width:640px;color:#ddd;font-size:19px;margin-bottom:28px}.slider-actions{display:flex;flex-wrap:wrap;gap:14px}.slider-dots{position:absolute;left:0;right:0;bottom:26px;z-index:2}.slider-dots .container{display:flex;gap:10px}.slider-dot{width:12px;height:12px;border-radius:50%;border:0;background:rgba(255,255,255,.45);cursor:pointer;transition:transform .2s ease,background .2s ease}.slider-dot.active{background:var(--yellow);transform:scale(1.15)}
section{padding:88px 0}.section-light{background:var(--light)}.section-head{max-width:760px;margin-bottom:42px}.section-label{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:7px 11px;border-radius:999px;background:var(--black);color:var(--yellow);font-size:14px;font-weight:900;letter-spacing:.08em;line-height:1.25;text-transform:uppercase}h2{margin:8px 0 14px;color:var(--black);font-size:clamp(32px,4vw,48px);line-height:1.12;letter-spacing:-.045em}.section-head p{color:var(--grey);font-size:18px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{padding:30px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);transition:.2s ease}.service-card:hover{transform:translateY(-5px);border-color:var(--yellow);background:var(--yellow);box-shadow:0 18px 36px rgba(0,0,0,.10)}.service-card:hover p{color:#222}.service-icon{width:56px;height:56px;display:grid;place-items:center;margin-bottom:22px;border-radius:16px;background:var(--yellow);font-size:25px}.service-card h3{font-size:22px;margin-bottom:10px}.service-card p{color:var(--grey)}
.reservation{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch}.reservation-info{padding:42px;border-radius:var(--radius);background:var(--black);color:var(--white)}.reservation-info h2{color:var(--white)}.reservation-info p{color:#d7d7d7;margin-bottom:26px}.info-list{display:grid;gap:15px;list-style:none}.info-list li{padding-left:28px;position:relative}.info-list li::before{content:'✓';position:absolute;left:0;color:var(--yellow);font-weight:900}.contact-box{padding:42px;border-radius:var(--radius);border:1px solid var(--border);background:var(--white)}.contact-box h3{font-size:26px;margin-bottom:20px}.contact-options{display:grid;gap:14px}.contact-option{display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;background:var(--light);font-weight:800;transition:.2s ease}.contact-option:hover{background:#fff7a8;transform:translateY(-2px)}.contact-option .contact-option-text span:last-child{display:block;color:var(--grey);font-size:16px;font-weight:500}.contact-icon-box{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--yellow);flex-shrink:0}
.page-hero{padding:104px 0 82px;background:radial-gradient(circle at 82% 20%,rgba(255,237,0,.28),transparent 22%),linear-gradient(125deg,#111 0%,#1c1c1c 56%,#282828 100%);color:var(--white)}.page-hero h1{max-width:800px;margin-bottom:20px;font-size:clamp(42px,6vw,64px);line-height:1.02;letter-spacing:-.055em}.page-hero p{max-width:660px;color:#ddd;font-size:19px}
.form-layout,.job-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.form-info{padding-top:12px}.form-info>p,.intro-text{color:var(--grey);font-size:18px;margin-bottom:28px}.form-card{padding:36px;border:1px solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:0 18px 40px rgba(0,0,0,.06)}.form-card h2{font-size:32px;margin-bottom:10px}.form-intro{color:var(--grey);margin-bottom:24px}.form-card form{display:grid;gap:14px}.form-card label{display:block;font-size:14px;font-weight:800;margin-top:4px}.form-card input,.form-card textarea{width:100%;padding:14px 16px;border:1px solid var(--border);border-radius:12px;color:var(--black);font:inherit}.form-card textarea{min-height:130px;resize:vertical}.form-card input:focus,.form-card textarea:focus{outline:2px solid var(--yellow);border-color:var(--yellow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checkbox-label{display:flex!important;align-items:flex-start;gap:10px;color:var(--grey);font-size:16px!important;font-weight:400!important;line-height:1.5;margin:8px 0 10px!important}.checkbox-label input{width:auto;margin-top:4px}.checkbox-label a{color:var(--black);text-decoration:underline}.dark-list{color:var(--black);margin-bottom:30px}.payment-note{display:flex;align-items:center;gap:22px;max-width:780px}.payment-note .service-icon{margin:0;flex-shrink:0}.payment-note h2{margin:0 0 6px;font-size:28px}.payment-note p{color:var(--grey)}
.job-benefits{display:grid;gap:18px}.job-benefit{display:flex;align-items:flex-start;gap:14px;padding:20px;border-radius:16px;background:var(--light)}.job-benefit>span{display:grid;place-items:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:var(--yellow);color:var(--black);font-weight:900}.job-benefit strong{display:block;margin-bottom:4px}.job-benefit p{color:var(--grey);font-size:15px}
.location{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.location-card{padding:32px;border-radius:var(--radius);background:var(--black);color:var(--white)}.location-card h3{font-size:24px;margin-bottom:16px}.location-card p{color:#d5d5d5;margin-bottom:10px}.location-card a{color:var(--yellow);font-weight:700}
.footer{padding:34px 0;background:var(--black);color:#d4d4d4;font-size:16px}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:18px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer-links a:hover{color:var(--yellow)}.mobile-call{display:none}
@media(max-width:980px){.nav-links{display:none}.services{grid-template-columns:repeat(2,1fr)}.reservation,.location,.form-layout,.job-layout{grid-template-columns:1fr}.slider-inner,.slider-track{min-height:440px}.slide{padding:44px 0 70px}}
@media(max-width:580px){.topbar-inner{justify-content:center;text-align:center;padding:9px 0}.topbar-inner div:first-child{display:none}.logo img{width:190px}section{padding:64px 0}.services{grid-template-columns:1fr}.reservation-info,.contact-box,.form-card{padding:26px}.form-grid{grid-template-columns:1fr}.slider-inner,.slider-track{min-height:400px}.hero-slider h1,.page-hero h1{font-size:clamp(34px,8vw,48px)}.slider-actions .button{width:100%}.payment-note{align-items:flex-start;flex-direction:column;gap:14px}.mobile-call{position:fixed;z-index:99;left:18px;right:18px;bottom:16px;display:flex;box-shadow:0 12px 30px rgba(0,0,0,.22)}.footer{padding-bottom:88px}}



/* ===== Erweiterungen: Slider, Bildbereiche & Floating CTA ===== */
.hero-slider { isolation: isolate; background: #111; }
.slider-viewport { overflow: hidden; width: 100%; }
.slider-track { display: flex; min-height: 520px; transform: translateX(0); transition: transform .95s cubic-bezier(.77,0,.18,1); will-change: transform; }
.slide { position: relative !important; inset: auto !important; flex: 0 0 100%; display: flex !important; align-items: center; opacity: 1 !important; visibility: visible !important; transform: none !important; padding: 62px 0 82px; background: #111; overflow: hidden; }
.slide .container { position: relative; z-index: 3; }
.slide-content { width: 57%; max-width: 730px; }
.slide-visual { position: absolute; z-index: 1; top: 0; right: 0; width: 56%; height: 100%; }
.slide-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.slide-visual::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #111 0%, rgba(17,17,17,.96) 7%, rgba(17,17,17,.84) 16%, rgba(17,17,17,.58) 27%, rgba(17,17,17,.28) 39%, rgba(17,17,17,.08) 51%, rgba(17,17,17,0) 62%); }
.slide::after { content:''; position:absolute; inset:0; background: radial-gradient(circle at 82% 18%, rgba(255,237,0,.10), transparent 18%); z-index:2; pointer-events:none; }
.slide-kicker { display: inline-flex; align-items: center; margin-bottom: 18px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 237, 0, 0.14); color: var(--yellow); font-size: 14px; font-weight: 800; }
.hero-slider h1 { max-width: 760px; font-size: clamp(42px, 6vw, 72px); line-height: 1.02; letter-spacing: -0.055em; margin-bottom: 20px; color:#fff; }
.hero-slider p { max-width: 640px; color: #dddddd; font-size: 19px; margin-bottom: 28px; }
.slider-actions { display:flex; flex-wrap:wrap; gap:14px; }
.slider-arrow { position: absolute; top: 50%; z-index: 4; width: 56px; height: 56px; display: grid; place-items: center; padding: 0; transform: translateY(-50%); border: 2px solid var(--yellow); border-radius: 50%; background: var(--yellow); color: #000; line-height: 0; cursor: pointer; box-shadow: var(--shadow-soft); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.slider-arrow svg { width: 22px; height: 22px; stroke: #000; stroke-width: 2.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.slider-arrow:hover { transform: translateY(-50%) scale(1.08); box-shadow: var(--shadow-hover); background: #fff; }
.slider-arrow.prev { left: max(12px, calc((100vw - var(--max-width))/4)); }
.slider-arrow.next { right: max(12px, calc((100vw - var(--max-width))/4)); }
.slider-dots { position:absolute; left:0; right:0; bottom:26px; z-index:4; pointer-events:none; }
.slider-dots .container { display:flex; gap:10px; pointer-events:auto; }
.slider-dot { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.45); cursor: pointer; transition: transform .2s ease, background .2s ease; }
.slider-dot.active { background: var(--yellow); transform: scale(1.15); }

.global-floating-cta { position: fixed; z-index: 90; right: 18px; top: 58%; transform: translateY(-50%); display: inline-flex; align-items: center; justify-content: center; min-width: 194px; padding: 14px 24px 15px; background: var(--yellow); color: #000; border: 4px solid #000; border-radius: 34px 34px 34px 12px; font-weight: 900; text-align: center; box-shadow: 8px 8px 0 rgba(0,0,0,.18); animation: taxi-float 3.5s ease-in-out infinite; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.global-floating-cta:hover { transform: translateY(-50%) scale(1.06); box-shadow: 11px 11px 0 rgba(0,0,0,.2); background: #fff; }
.back-to-top { position: fixed; right: 22px; bottom: 24px; z-index: 92; width: 54px; height: 54px; display: grid; place-items: center; border: 2px solid #000; border-radius: 50%; background: var(--yellow); color: #000; font-size: 28px; font-weight: 900; cursor: pointer; box-shadow: var(--shadow-soft); opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity .25s ease, visibility .25s ease, transform .25s ease, box-shadow .2s ease, background .2s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { box-shadow: var(--shadow-hover); background: #fff; }
@keyframes taxi-float { 0%,100% { translate: 0 0; } 50% { translate: 0 -11px; } }

.owner-section { background: #fff; }
.owner-grid { display: grid; grid-template-columns: minmax(260px,.85fr) minmax(0,1.15fr); gap: 54px; align-items: center; }
.owner-image { min-height: 390px; border-radius: var(--radius); overflow: hidden; box-shadow: 12px 12px 0 rgba(0,0,0,.08); background: #ececec; }
.owner-image img { width: 100%; height: 100%; object-fit: cover; }
.owner-copy p { color: var(--grey); font-size: 18px; max-width: 660px; }
.owner-copy p + p { margin-top: 14px; }

.fleet-gallery { background: var(--light); }
.gallery-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 18px; }
.gallery-item { min-height: 230px; overflow: hidden; border-radius: 18px; background: #ddd; box-shadow: 0 12px 30px rgba(0,0,0,.08); }
.gallery-item:first-child { grid-row: span 2; min-height: 478px; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.gallery-item:hover img { transform: scale(1.05); }

.job-photo-hero { background:#111; padding: 0; overflow:hidden; }
.job-hero-grid { display:grid; grid-template-columns: minmax(0, .95fr) minmax(360px, 1.05fr); align-items: stretch; min-height: 460px; }
.hero-text-panel { background:#111; color:#fff; display:flex; flex-direction:column; justify-content:center; padding: 54px 0; }
.hero-text-panel h1 { color:#fff; font-size: clamp(42px,6vw,64px); line-height:1.03; letter-spacing:-.055em; margin:18px 0; }
.hero-text-panel p { color:#f1f1f1; font-size:19px; max-width: 620px; }
.hero-image-panel { display:flex; align-items:center; justify-content:center; padding: 28px 0 28px 28px; background:#111; }
.hero-image-panel img { width:100%; height:100%; max-height:404px; object-fit:contain; object-position:center center; }

@media(max-width: 1100px) {
  .slider-arrow.prev { left: 10px; }
  .slider-arrow.next { right: 10px; }
  .global-floating-cta { right: 14px; }
}
@media(max-width: 760px) {
  .slider-track { min-height: 550px; }
  .slide { padding: 54px 0 90px; align-items: flex-end; }
  .slide-content { width: 100%; }
  .slide-visual { width: 100%; height: 100%; opacity: .75; }
  .slide-visual::before { background: linear-gradient(0deg, rgba(17,17,17,.97) 0%, rgba(17,17,17,.90) 18%, rgba(17,17,17,.78) 34%, rgba(17,17,17,.32) 68%, rgba(17,17,17,0) 100%); }
  .slider-arrow { width: 44px; height: 44px; top: auto; bottom: 28px; transform: none; }
  .slider-arrow:hover { transform: scale(1.07); }
  .slider-arrow.prev { left: 20px; }
  .slider-arrow.next { right: 20px; }
  .slider-dots { bottom: 44px; }
  .slider-dots .container { justify-content: center; }
  .global-floating-cta { top: auto; bottom: 96px; right: 18px; min-width: 170px; padding: 12px 18px; transform: none; }
  .global-floating-cta:hover { transform: scale(1.05); }
  .back-to-top { bottom: 164px; right: 18px; width: 48px; height: 48px; }
  .owner-grid { grid-template-columns: 1fr; gap: 30px; }
  .owner-image { min-height: 300px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-item:first-child { grid-column: 1 / -1; grid-row: auto; min-height: 300px; }
  .job-hero-grid { grid-template-columns: 1fr; min-height: auto; }
  .hero-text-panel { padding: 52px 0 26px; }
  .hero-image-panel { padding: 0 0 28px; }
  .hero-image-panel img { max-height: 300px; }
}


/* FAQ und GEO/AEO-Inhalte */
.faq-section { background: #fff; }
.faq-list { display: grid; gap: 12px; max-width: 980px; }
.faq-item { border: 1px solid var(--border); border-radius: 16px; background: #fff; overflow: hidden; }
.faq-item summary { list-style: none; cursor: pointer; padding: 21px 58px 21px 22px; font-size: 18px; font-weight: 800; position: relative; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--yellow); color: #000; font-size: 22px; line-height: 1; }
.faq-item[open] summary { border-bottom: 1px solid var(--border); }
.faq-item[open] summary::after { content: '–'; }
.faq-item > div { padding: 18px 22px 22px; color: var(--grey); }
.faq-item > div p { margin: 0; }
.faq-source { max-width: 980px; margin-top: 18px; color: var(--grey); font-size: 14px; }
body.home-page .global-floating-cta { opacity: 0; visibility: hidden; pointer-events: none; }
body.home-page .global-floating-cta.is-visible { opacity: 1; visibility: visible; pointer-events: auto; }
body.home-page .global-floating-cta { transition: opacity .25s ease, visibility .25s ease, transform .2s ease, box-shadow .2s ease, background .2s ease; }
.back-to-top { line-height: 1; padding: 0 0 3px; }
@media (max-width: 760px) { .faq-item summary { font-size: 16px; padding-right: 52px; } }


/* Barrierefreiheit und Footer */
body { font-size: 16px; }
.section-head p,
.service-card p,
.owner-copy p,
.form-info > p,
.intro-text,
.form-intro,
.payment-note p,
.job-benefit p,
.contact-option .contact-option-text span:last-child,
.faq-item > div,
.faq-source { color: var(--grey); }

.faq-item summary { min-height: 68px; display: flex; align-items: center; padding: 18px 74px 18px 22px; font-size: 18px; line-height: 1.45; }
.faq-item summary::after { right: 20px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; padding: 0 0 1px; font-size: 22px; font-weight: 700; line-height: 1; }
.faq-item > div { font-size: 17px; line-height: 1.65; }
.faq-source { font-size: 16px; line-height: 1.6; }
.faq-source a { color: var(--black); font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

.footer { padding: 58px 0 0; background: var(--black); color: #f4f4f4; font-size: 16px; }
.footer-grid { display: grid; grid-template-columns: 1.45fr 1fr 1fr 1fr; gap: 38px; padding-bottom: 42px; }
.footer-brand p, .footer-column p, .footer-column address { margin: 0; color: #e1e1e1; font-style: normal; line-height: 1.65; }
.footer-logo { display: inline-block; margin-bottom: 18px; }
.footer-logo img { width: 220px; height: auto; }
.footer-column { display: grid; align-content: start; gap: 9px; }
.footer-column h2 { margin: 0 0 10px; color: var(--yellow); font-size: 18px; letter-spacing: 0; }
.footer-column a { color: #fff; font-weight: 700; text-decoration: none; }
.footer-column a:hover, .footer-bottom a:hover { color: var(--yellow); }
.footer-bottom { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; padding: 18px 0 22px; border-top: 1px solid rgba(255,255,255,.2); color: #e1e1e1; font-size: 15px; }
.footer-bottom a { color: #fff; font-weight: 700; }

.back-to-top { display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1; }
.back-to-top::before { content: '↑'; transform: translateY(-1px); }
.back-to-top { font-size: 0; }

@media (max-width: 980px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
  .section-label { font-size: 13px; }
  .faq-item summary { font-size: 17px; padding: 17px 64px 17px 18px; }
  .faq-item summary::after { right: 16px; width: 32px; height: 32px; }
  .faq-item > div { padding: 16px 18px 20px; font-size: 16px; }
  .footer { padding-top: 44px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-logo img { width: 200px; }
}

/* V6 adjustments */
.back-to-top { padding: 0 !important; font-size: 0 !important; }
.back-to-top::before { content: none !important; }
.back-to-top svg { width: 24px; height: 24px; display:block; stroke:#000; stroke-width:2.8; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.footer-column strong { color:#fff; }
.footer-column p a { color:var(--yellow); }
.faq-item > div a { color:var(--black); font-weight:800; text-decoration:underline; text-underline-offset:3px; }


/* v7 refinements */
.slide-kicker {
  width: fit-content;
  max-width: max-content;
  white-space: nowrap;
  padding: 7px 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
}
.hero-text-panel .slide-kicker {
  align-self: flex-start;
}
.hero-image-panel {
  position: relative;
  overflow: hidden;
}
.hero-image-panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(17,17,17,1) 0%,
    rgba(17,17,17,.96) 8%,
    rgba(17,17,17,.86) 16%,
    rgba(17,17,17,.65) 24%,
    rgba(17,17,17,.35) 33%,
    rgba(17,17,17,.12) 42%,
    rgba(17,17,17,0) 52%);
  z-index: 2;
  pointer-events: none;
}
.hero-image-panel img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-height: 404px;
  object-fit: contain;
  object-position: center center;
}
@media (max-width: 760px) {
  .slide-kicker { white-space: normal; }
  .hero-image-panel::before {
    background: linear-gradient(0deg,
      rgba(17,17,17,.95) 0%,
      rgba(17,17,17,.78) 18%,
      rgba(17,17,17,.35) 42%,
      rgba(17,17,17,0) 64%);
  }
}


/* v8 refinements */
.service-card { border-color: var(--yellow); }
.contact-icon-box .icon-wrap { color: #000; }
.icon-phone-black svg { width: 22px; height: 22px; fill: #000; }
.icon-whatsapp svg { width: 25px; height: 25px; display: block; }
.honeypot-field { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.job-benefits-section { background: #fff; }
.job-benefits-container { max-width: 900px; }
.job-benefits-container .job-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.job-application-section { background: var(--light); }
.application-container { display: grid; grid-template-columns: .85fr 1.15fr; gap: 58px; align-items: start; }
.application-intro { padding-top: 24px; }
.application-intro p { color: var(--grey); font-size: 18px; }
.hero-image-panel::before { background: linear-gradient(90deg, rgba(17,17,17,1) 0%, rgba(17,17,17,.98) 5%, rgba(17,17,17,.93) 11%, rgba(17,17,17,.80) 18%, rgba(17,17,17,.57) 26%, rgba(17,17,17,.28) 36%, rgba(17,17,17,.08) 47%, rgba(17,17,17,0) 58%); }
@media (max-width: 760px) {
  .job-benefits-container .job-benefits,
  .application-container { grid-template-columns: 1fr; }
  .application-container { gap: 28px; }
}

.form-sent-message { margin: 0 0 18px; padding: 14px 16px; border-radius: 12px; background: #eaf7d9; border: 1px solid #8fc75d; color: #183c10; font-weight: 700; }


/* Kontaktbereich kompakter ausrichten */
.location { grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); align-items: start; }
.location-card { max-width: 500px; width: 100%; justify-self: end; }
@media (max-width: 980px) {
  .location { grid-template-columns: 1fr; }
  .location-card { max-width: none; justify-self: stretch; }
}


/* V11 Feinanpassungen */
/* Kontakt-Icons vollständig mittig in den gelben Flächen */
.contact-icon-box { display: flex; align-items: center; justify-content: center; }
.contact-icon-box .icon-wrap { width: 22px; height: 22px; margin: 0; display: flex; align-items: center; justify-content: center; line-height: 0; }
.contact-icon-box .icon-wrap svg { width: 22px; height: 22px; display: block; }
.contact-icon-box .icon-whatsapp { width: 24px; height: 24px; }

/* Gelbe Umrandung der Formularfelder bereits im Ausgangszustand */
.form-card input,
.form-card textarea { border: 1.5px solid var(--yellow); }
.form-card input:focus,
.form-card textarea:focus { border-color: #000; outline: 2px solid var(--yellow); }

/* FAQ: aktive Antwort gelb hervorheben; +/- exakt mittig */
.faq-item[open] { background: var(--yellow); border-color: var(--yellow); }
.faq-item[open] summary { background: var(--yellow); border-bottom-color: rgba(0,0,0,.22); }
.faq-item[open] > div { background: var(--yellow); color: #222; }
.faq-item summary::after {
  display: flex; align-items: center; justify-content: center;
  padding: 0 !important; line-height: 1 !important;
  font-family: Arial, Helvetica, sans-serif;
  transform: translateY(-50%) !important;
}

/* Job-Hero: Verlauf früher und stärker, Bildkante vollständig kaschiert */
.hero-image-panel::before {
  background: linear-gradient(90deg,
    rgba(17,17,17,1) 0%,
    rgba(17,17,17,1) 12%,
    rgba(17,17,17,.98) 22%,
    rgba(17,17,17,.94) 31%,
    rgba(17,17,17,.82) 40%,
    rgba(17,17,17,.58) 51%,
    rgba(17,17,17,.25) 64%,
    rgba(17,17,17,0) 78%);
}
@media (max-width: 760px) {
  .hero-image-panel::before {
    background: linear-gradient(0deg, rgba(17,17,17,.98) 0%, rgba(17,17,17,.90) 24%, rgba(17,17,17,.50) 48%, rgba(17,17,17,0) 76%);
  }
}


/* v12: Schrift-Schärfe und dezente Abschnittshintergründe */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}
.button,
button.button,
input.button,
.global-floating-cta,
.section-label,
.slide-kicker,
.contact-option .contact-option-text > span:first-child,
.nav-links,
.footer-column h2,
.footer-column a {
  font-weight: 600;
  letter-spacing: .01em;
}
.button,
button.button,
input.button,
.global-floating-cta {
  text-shadow: none;
}
.contact-option .contact-option-text > span:first-child {
  line-height: 1.25;
}

/* Dezente Flächen zur visuellen Gliederung */
#reservierung,
#reservierungsformular,
.owner-section,
.faq-section,
.job-benefits-section {
  background: #fbfaf7;
}
.section-light,
.fleet-gallery,
.job-application-section {
  background: #f5f4ef;
}


/* V13: only requested greige section backgrounds */
.section-greige {
  background: #f1eee7;
}
.job-benefits-greige {
  background: #f1eee7;
  border-radius: var(--radius);
  padding: 42px;
}
@media (max-width: 760px) {
  .job-benefits-greige {
    padding: 28px;
  }
}

/* V14: deutlich sichtbare, aber dezente Greige-Flächen – nur die drei angeforderten Bereiche */
#kontakt.section-greige,
section.section-greige {
  background: #e9e4d9;
}
.job-benefits-greige {
  background: #e9e4d9;
}


/* KI-/LLM-Optimierung: nur ergänzende Darstellung */
.visually-hidden { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.hero-slider h2 { max-width:760px; font-size:clamp(42px,6vw,72px); line-height:1.02; letter-spacing:-.055em; margin-bottom:20px; color:#fff; }
.review-link-section { background:#f0eee9; padding:54px 0; }
.review-link-card { display:flex; gap:30px; align-items:center; justify-content:space-between; padding:30px; border:1px solid var(--border); border-radius:var(--radius); background:#fff; }
.review-link-card h2 { font-size:clamp(26px,3vw,36px); margin-bottom:8px; }
.review-link-card p { max-width:700px; color:var(--grey); }
@media(max-width:760px){ .review-link-card{flex-direction:column;align-items:flex-start;} .hero-slider h2{font-size:clamp(34px,8vw,48px);} }


/* Bewertungen-Slider */
.reviews-section { background: #f0eee9; }
.reviews-head { margin-bottom: 30px; }
.review-slider { position: relative; max-width: 960px; margin: 0 auto; }
.review-viewport { overflow: hidden; }
.review-track { display: flex; transition: transform .55s cubic-bezier(.77,0,.18,1); will-change: transform; }
.review-slide { flex: 0 0 100%; min-height: 260px; padding: 34px 72px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.06); }
.review-stars { color: #f5ae00; letter-spacing: 2px; font-size: 22px; line-height: 1; margin-bottom: 18px; }
.review-slide blockquote { margin: 0; color: var(--black); font-size: clamp(21px, 2.6vw, 30px); line-height: 1.35; font-weight: 500; }
.review-author { margin: 24px 0 0; color: var(--black); font-size: 17px; font-weight: 700; }
.review-source { margin: 2px 0 0; color: var(--grey); font-size: 15px; }
.review-arrow { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; display: grid; place-items: center; padding: 0; transform: translateY(-50%); border: 2px solid #000; border-radius: 50%; background: var(--yellow); color: #000; font-size: 31px; font-weight: 400; line-height: 1; cursor: pointer; box-shadow: var(--shadow-soft); transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.review-arrow:hover { transform: translateY(-50%) scale(1.07); box-shadow: var(--shadow-hover); background: #fff; }
.review-prev { left: -24px; }
.review-next { right: -24px; }
.review-dots { display: flex; justify-content: center; gap: 9px; margin-top: 20px; }
.review-dot { width: 11px; height: 11px; border: 1px solid #000; border-radius: 50%; background: transparent; cursor: pointer; padding: 0; }
.review-dot.active { background: var(--yellow); }
.reviews-link { margin: 22px 0 0; text-align: center; }
.reviews-link a { color: var(--black); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 760px) {
  .review-slide { min-height: 290px; padding: 30px 26px; }
  .review-slide blockquote { font-size: 21px; }
  .review-arrow { top: auto; bottom: -10px; transform: none; width: 42px; height: 42px; }
  .review-arrow:hover { transform: scale(1.06); }
  .review-prev { left: 14px; }
  .review-next { right: 14px; }
  .review-dots { margin-top: 28px; }
}


/* V18: Bewertungs- und Social-Icons */
.review-slide { position: relative; }
.review-arrow { display: flex; align-items: center; justify-content: center; line-height: 0; }
.review-arrow svg { width: 22px; height: 22px; stroke: #000; stroke-width: 2.8; fill: none; stroke-linecap: round; stroke-linejoin: round; display: block; }
.google-logo { position: absolute; right: 22px; bottom: 22px; width: 28px; height: 28px; }
.footer-socials { display: flex; align-items: center; gap: 10px; margin-top: 7px; }
.footer-column .social-icon { width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.52); border-radius: 50%; color: #fff; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.footer-column .social-icon:hover { color: #000; background: var(--yellow); border-color: var(--yellow); transform: translateY(-2px); }
.social-icon svg { width: 20px; height: 20px; fill: currentColor; }
.social-instagram svg { fill: none; stroke: currentColor; stroke-width: 2; }
.social-instagram svg .dot { fill: currentColor; stroke: none; }
@media (max-width: 760px) { .google-logo { right: 16px; bottom: 16px; width: 25px; height: 25px; } }


/* V22: Jotform-Formulare über die volle Inhaltsbreite */
.reservation-intro-section { padding-bottom: 34px; }
.reservation-form-section { padding-top: 0; }
.form-intro-full { max-width: 780px; padding-top: 0; }
.form-card-full { width: 100%; }
.application-container-full { display: block; }
.application-intro-full { max-width: 780px; padding-top: 0; margin-bottom: 34px; }

/* V24: Impressum & Datenschutz */
.legal-section { background: #fbfaf7; }
.legal-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 24px; align-items: start; }
.legal-card { padding: 32px; border: 1px solid var(--border); border-radius: var(--radius); background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.05); }
.legal-card h2 { font-size: clamp(28px, 3vw, 38px); margin-top: 0; }
.legal-card h3 { margin: 24px 0 8px; font-size: 21px; }
.legal-card p { color: var(--grey); margin: 0 0 14px; }
.legal-card a { color: var(--black); font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-decoration-color: var(--yellow); text-underline-offset: 3px; }
.legal-details { display: grid; grid-template-columns: minmax(170px, .45fr) 1fr; gap: 10px 18px; margin-top: 18px; }
.legal-details dt { font-weight: 900; }
.legal-details dd { margin: 0; color: var(--grey); overflow-wrap: anywhere; }
.legal-note { margin-top: 22px; padding: 20px; border-radius: 16px; background: #f5f4ef; }
.legal-note p:last-child { margin-bottom: 0; }
@media (max-width: 880px) { .legal-grid { grid-template-columns: 1fr; } }
@media (max-width: 580px) { .legal-card { padding: 24px; } .legal-details { grid-template-columns: 1fr; gap: 3px 0; } .legal-details dd { margin-bottom: 10px; } }

/* V25: Startseite – Foto im Abschnitt Persönlich für dich da passend rahmen */
.owner-image {
  aspect-ratio: 16 / 9;
  border: 3px solid var(--yellow);
  background: var(--black);
  box-shadow: 10px 10px 0 rgba(0,0,0,.14);
}
.owner-image img {
  object-fit: cover;
}
@media (max-width: 760px) {
  .owner-image {
    border-width: 2px;
    box-shadow: 7px 7px 0 rgba(0,0,0,.12);
  }
}


/* V26: Startseite – Persönlich für dich da als saubere 2-Spalten-Section */
.owner-section {
  background: #fff;
}
.owner-grid {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.05fr);
  gap: 54px;
  align-items: center;
}
.owner-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  min-height: 0;
  border: 0;
  border-radius: var(--radius);
  overflow: hidden;
  background: #ececec;
  box-shadow: 10px 10px 0 rgba(0,0,0,.12);
}
.owner-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}
.owner-copy {
  min-width: 0;
}
.owner-subtitle {
  margin: 0 0 18px;
  color: var(--black);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}
.owner-copy .button {
  margin-top: 24px;
}
@media (max-width: 900px) {
  .owner-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .owner-image {
    aspect-ratio: 16 / 9;
  }
}
@media (max-width: 580px) {
  .owner-image {
    aspect-ratio: 4 / 3;
    box-shadow: 7px 7px 0 rgba(0,0,0,.12);
  }
}
