/* Gemeinsame dunkle Gestaltung der öffentlichen Website. */
:root{
  color-scheme:dark;
  --bg:#0a0d11;
  --ink:#f1f3f5;
  --muted:#aeb8c2;
  --paper:#12171d;
  --line:#2a323c;
  --photo-grade:none;
  --hero-overlay:linear-gradient(90deg,rgba(5,13,20,.62),rgba(5,13,20,.08)),linear-gradient(0deg,rgba(5,17,25,.4),transparent 35%);
  --accent:#79c4ef;
}
body{background:#0b0e12;color:var(--ink)}
::selection{background:#24618a;color:#fff}
a:hover{color:var(--accent)}
.skip{background:#edf2f5;color:#111922}
.header,footer{background:var(--bg)}
.header{border-bottom-color:#ffffff12}
.home-hero:after,.inner-hero:not(.no-photo):after{background:var(--hero-overlay)}
.inner-hero:not(.no-photo):before{filter:var(--photo-grade)}
.hero-slide img,.hero-slide video{filter:var(--photo-grade)}
.inner-hero.no-photo:before{background:linear-gradient(120deg,#0c1117,#17212b)}
.hero h1{color:#fff;text-shadow:0 2px 28px #00000035}
.hero .eyebrow{color:#c7d5df}
.section-top .eyebrow,.section-heading .eyebrow,.craft .eyebrow,.owners>.eyebrow,
.reading a,.owner-role,.contact-big,.race-panel-heading .eyebrow,.race-detail .eyebrow{color:var(--accent)}
.area,.owner{background:transparent}
.area .number{color:#9aa8b4}
.craft{background:#11161c}
.principles p{border-top-color:var(--line)}
.principles strong{color:#edf1f5}
.area p,.section-top p:last-child,.craft>div>p:not(.eyebrow),.news-card>p:last-child,
.news-card .eyebrow,.owner-qualification{color:var(--muted)}
.subnav{background:#10151b;border-bottom-color:var(--line)}
.subnav a{color:#bac5cf}
.subnav a:hover{color:#fff}
.subnav a[aria-current]{background:#293b4b;color:#fff;border-radius:20px}
.contact-strip{background:#141a21;color:#f2f5f7;border-top:1px solid var(--line)}
.contact-strip .eyebrow{color:#a6b3bf}
.contact-strip>div>p:last-child{color:#b8c2cb}
.contact-strip .button.light{background:#e9eef2;color:#111922}
.contact-strip .button.light:hover{background:#fff;color:#111922}
.contact-layout form{background:#141b23}
.contact-layout input,.contact-layout textarea,input,textarea{
  background:#0c1218;color:#edf2f5;border-color:#3c4856;
}
input::placeholder,textarea::placeholder{color:#9ba8b5}
.notice{background:#292317;border-left-color:#c99b45;color:#eedcb6}
.content-image img{background:#12171d}
.story-introduction>p{color:#adb8c3}
.product-story{background:#0e1319}
.story-enhanced .story-visual{background:#0e1319}
.story-step h3{color:#f4f6f8}
.story-step>.eyebrow{color:#9eacb9}
.story-step>p:not(.eyebrow),.story-step>ul:not(.story-features){color:#b0bbc6}
.story-features li{color:#e5edf3}
.story-features li:before{background:#7193ac}
.story-controls,.story-scroll-hint{color:#9baab8}
.story-controls button{color:#e5edf3}
.story-controls button:hover:not(:disabled){background:#25303b}
.story-enhanced .story-step{opacity:.4}
.story-enhanced .story-step.is-active{opacity:1}
.race-experience{background:#0b0e12}
.race-intro{background:#0a0d11}
.race-detail p:not(.eyebrow){color:#b1bdc8}
.race-panel-heading nav{border-bottom-color:var(--line);color:#c3cdd7}
footer{color:#aab7c3}
.footer-bottom{border-top-color:#ffffff18}
@media(prefers-reduced-motion:reduce){.story-enhanced .story-step{opacity:1}}

/* Rundung und weiches Ausblenden am tatsächlichen Fotorand, nicht an der Bühne. */
.story-image img,.story-enhanced .story-image img{
  width:auto;height:auto;max-width:100%;max-height:100%;
  border-radius:24px;
  -webkit-mask-image:radial-gradient(ellipse at center,#000 48%,rgba(0,0,0,.97) 64%,rgba(0,0,0,.72) 82%,transparent 100%);
  mask-image:radial-gradient(ellipse at center,#000 48%,rgba(0,0,0,.97) 64%,rgba(0,0,0,.72) 82%,transparent 100%);
}
@media(max-width:650px){.story-image img,.story-enhanced .story-image img{border-radius:18px}}
.story-image img,.story-enhanced .story-image img{
  -webkit-mask-image:radial-gradient(ellipse at center,#000 48%,rgba(0,0,0,.97) 64%,rgba(0,0,0,.72) 82%,transparent 100%),linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:radial-gradient(ellipse at center,#000 48%,rgba(0,0,0,.97) 64%,rgba(0,0,0,.72) 82%,transparent 100%),linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent),linear-gradient(0deg,transparent,#000 10%,#000 90%,transparent);
  -webkit-mask-composite:source-in;
  mask-composite:intersect;
}
.slide-pause.needs-user-play{width:auto;min-width:130px;border-radius:24px;padding:0 18px;font-size:14px;background:#ffffff18;white-space:nowrap}
/* Einheitliche Bildecken für beide Motorsport-Projekte. */
.race-choice{border-radius:24px}
.race-detail img{border-radius:24px}
@media(max-width:650px){.race-choice,.race-detail img{border-radius:18px}}
/* Nur das ausgewählte Motorsport-Projekt zeigt seine Teamfarben. */
.race-choice .race-photo{
  filter:grayscale(1) brightness(.85);
  transition:filter .65s ease,opacity .5s ease;
}
.race-experience[data-selected=left] .race-left .race-photo{
  filter:grayscale(0) saturate(2.6) brightness(1.15);
  opacity:1;
}
.race-experience[data-selected=right] .race-right .race-photo{
  filter:grayscale(0) saturate(1.1) brightness(1.08);
  opacity:1;
}
/* Kontaktaktionen erhalten dieselbe blaue Primärfarbe. */
.contact-strip .button.light{background:var(--blue);color:#fff}
.contact-strip .button.light:hover{background:#096998;color:#fff}

.hero-slide .quality-video{filter:saturate(.48) contrast(1.05) brightness(.88)}
.article-date{max-width:920px;margin:0 auto 28px;color:var(--muted);font-size:13px;letter-spacing:.08em}
.location-map{margin-top:28px}.location-map iframe{display:block;width:100%;height:285px;border:0;border-radius:24px;background:#18212a;color-scheme:light}.location-map>p{font-size:11px;line-height:1.6;color:var(--muted);margin-top:10px}.contact-layout>div>.button{margin-top:10px}
.location-map>a{display:block}.location-map img{display:block;width:100%;height:auto;border-radius:24px;filter:none}

.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.contact-initials{aspect-ratio:1;display:grid;place-items:center;border-radius:24px;background:linear-gradient(135deg,#192832,#10171c);color:var(--accent);font-size:clamp(64px,9vw,120px);font-weight:300;letter-spacing:-.06em}.team-email{display:inline-block;margin-top:18px;color:var(--accent)}.contact-team .owner-copy h3{font-size:28px}@media(max-width:750px){.team-grid{grid-template-columns:1fr;max-width:460px}}
