:root{--ink:#090a0c;--white:#f7f7f8;--muted:#aab1b8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit}#site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;padding:16px clamp(20px,5vw,88px);opacity:0;pointer-events:none;background:linear-gradient(180deg,rgba(6,8,10,.66),transparent);transition:opacity .3s}#site-header.is-visible{pointer-events:auto}.brand{text-decoration:none;font-weight:900;letter-spacing:.09em;font-size:20px;line-height:1}.brand small{display:block;font-size:7px;letter-spacing:.14em;margin-top:5px}#site-nav{display:flex;gap:clamp(12px,2vw,30px)}#site-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;letter-spacing:.11em;font-weight:700}#site-nav a:hover{opacity:.65}#menu-button{display:none;background:none;color:white;border:1px solid #aaa;padding:8px 12px;border-radius:3px}.intro-scroll{height:320svh;position:relative}.intro-sticky,.story-sticky{height:100svh;position:sticky;top:0;overflow:hidden}.intro-sticky{background:#111820}.carbon{position:absolute;inset:0;background:#111820 url("../images/rennstrecke.png") center center / cover no-repeat;transform:scale(1.04);will-change:transform;}.carbon:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.02) 52%,rgba(0,0,0,.28))}.hero-logo{filter:drop-shadow(0 3px 2px rgba(255,255,255,.95)) drop-shadow(0 0 1px rgba(255,255,255,.95));position:absolute;left:50%;top:50%;width:min(88vw,1100px);max-height:52svh;object-fit:contain;transform:translate(-50%,-50%);z-index:1}.blackout{position:absolute;inset:0;background:#08090b;opacity:0;z-index:2}.intro-statement{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;margin:0;font-size:clamp(34px,6vw,94px);line-height:1.1;letter-spacing:-.045em;font-weight:900;opacity:0;transform:translateY(30px)}.intro-statement span{font-size:clamp(22px,4.5vw,72px)}.scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#45494c;z-index:1;font-size:10px;letter-spacing:.25em}.scroll-hint span{display:block;text-align:center;font-size:22px;margin-top:10px}.story-scroll{height:520svh;position:relative}.story-sticky{background:#101417}.head-image{position:absolute;inset:0;background-image:url('../images/zylinderkopf.jpg');background-size:cover;background-position:70% center;transform:scale(1.025)}.story-shade{position:absolute;inset:0;background:rgba(0,0,0,.13);pointer-events:none}.story-frame{position:absolute;inset:0;display:grid;place-items:center;padding:90px 7vw 40px}.story-card{position:absolute;left:50%;right:auto;width:min(92vw,980px);max-width:980px;text-align:center;opacity:0;transform:translate(-50%,55px);pointer-events:none;background:transparent;border:0;border-radius:0;padding:clamp(18px,3vw,36px);backdrop-filter:none;-webkit-backdrop-filter:none}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.27em;color:#b5c2cb}.story-card h2,.contact-heading h2{font-size:clamp(36px,5.7vw,82px);line-height:1.06;letter-spacing:-.045em;margin:19px 0 24px}.story-card p{font-size:clamp(17px,1.65vw,23px);line-height:1.65;color:#e1e4e6;max-width:800px;margin-left:auto;margin-right:auto}.story-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:rgba(255,255,255,.13)}.story-progress i{display:block;width:0;height:100%;background:#fff}.contact-section{min-height:90svh;display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center;padding:120px clamp(25px,8vw,150px);background:#e9ecee;color:#111820}.contact-heading .eyebrow{color:#57646c}.contact-heading h2{font-size:clamp(36px,5vw,70px)}.contact-heading>p{line-height:1.7;font-size:18px;max-width:570px}.contact-link{display:inline-block;margin-top:22px;background:#111820;color:white;padding:17px 24px;text-decoration:none;font-weight:700}.contact-note{font-size:12px!important;color:#657078}.map-placeholder{min-height:360px;border:1px solid #b6bec3;padding:50px 40px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#d6dce0,#f6f7f8)}.map-placeholder span{font-size:11px;letter-spacing:.2em}.map-placeholder h3{font-size:28px}.map-placeholder p{line-height:1.6}.map-placeholder a{font-size:13px}footer{padding:28px 7vw;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#a5adb3}@media(max-width:750px){#site-header{min-height:65px;padding:14px 20px}#menu-button{display:block}#site-nav{display:none;position:absolute;top:65px;left:0;right:0;flex-direction:column;padding:26px;background:#0a0d10;gap:24px}#site-nav.open{display:flex}.story-card{left:50%;right:auto;width:calc(100% - 38px)}.story-card h2{font-size:clamp(32px,9vw,55px)}.story-card p{font-size:16px;line-height:1.55}.story-frame{padding:90px 0 45px}.contact-section{grid-template-columns:1fr;padding:90px 25px}.map-placeholder{min-height:300px;padding:30px}footer{flex-direction:column}.intro-statement{font-size:clamp(32px,8vw,55px)}.intro-statement span{font-size:clamp(21px,6vw,38px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.story-card{transition:none!important}}

@media(max-width:750px){.head-image{background-position:65% center}.story-card{background:transparent;padding:18px}.hero-logo{width:92vw}}

/* V3: Lesbarkeit ohne Textbox, klare Logokanten */
.story-card h2,.story-card p,.story-card .eyebrow{text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.85)}
.head-image{background-position:center center;filter:brightness(1.2) contrast(1.12)}
.hero-logo{image-rendering:auto}

/* V4: Zylinderkopf als lokale Bilddatei, ohne Abdunklung */
.head-image {
  background-image: url("../images/zylinderkopf.jpg");
  background-position: center center;
  background-size: cover;
  filter: none;
}
.story-shade { background: transparent; }
.story-card { background: transparent; backdrop-filter: none; -webkit-backdrop-filter: none; }
.story-card h2, .story-card p, .story-card .eyebrow {
  text-shadow: 0 2px 5px rgba(0,0,0,.85), 0 0 12px rgba(0,0,0,.5);
}
@media (max-width:750px) { .head-image { background-position: 54% center; } }

/* V6: dezente, feste Kontrastkontur statt unzuverlaessigem Blend-Mode. */
.story-card h2, .story-card p, .story-card .eyebrow {
  color: #fff;
  mix-blend-mode: normal;
  -webkit-text-stroke: 0.65px rgba(0,0,0,.88);
  paint-order: stroke fill;
  text-shadow: 0 1px 2px rgba(0,0,0,.92), 0 0 5px rgba(0,0,0,.6);
}
.story-card p { -webkit-text-stroke: 0.45px rgba(0,0,0,.92); }

/* V7 editorial gallery */
.editorial-intro,.projects-section,.gallery-section{padding:clamp(85px,10vw,160px) clamp(24px,8vw,140px);background:#090b0e}.editorial-intro{min-height:72vh;display:flex;flex-direction:column;justify-content:center}.editorial-intro h2,.section-head h2,.oldtimer-copy h2{font-size:clamp(43px,6.5vw,105px);letter-spacing:-.06em;line-height:1.03;margin:22px 0 32px}.editorial-intro em{font-style:normal;color:#8896a1}.editorial-intro p,.section-head p,.oldtimer-copy p{font-size:clamp(17px,1.6vw,22px);line-height:1.7;color:#b5bec5;max-width:780px}.feature-image{position:relative;height:95svh;background:#050608;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.72)}.feature-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 65%)}.feature-caption{position:absolute;z-index:1;bottom:10%;left:8%}.feature-caption h2{font-size:clamp(42px,6vw,92px);letter-spacing:-.055em;margin:16px 0}.section-head{margin-bottom:65px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#31383d;border:1px solid #31383d}.project-card{padding:clamp(28px,4vw,65px);background:#101419;min-height:235px}.project-no{font-size:11px;letter-spacing:.2em;color:#8395a2}.project-card h3{font-size:clamp(28px,3vw,49px);letter-spacing:-.045em;margin:32px 0 14px}.project-card p{color:#b5bec5;font-size:16px}.project-photo-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}.project-photo-row img{width:100%;height:clamp(250px,34vw,530px);object-fit:cover}.oldtimer-feature{display:grid;grid-template-columns:1.2fr 1fr;background:#15191c}.oldtimer-image img{width:100%;height:100%;min-height:720px;object-fit:cover}.oldtimer-copy{padding:clamp(40px,6vw,100px);display:flex;flex-direction:column;justify-content:center}.oldtimer-copy img{width:100%;height:230px;object-fit:cover;margin-top:45px}.gallery-section{background:#0d1013}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-grid img{width:100%;height:clamp(250px,33vw,500px);object-fit:cover}@media(max-width:800px){.project-grid,.oldtimer-feature{grid-template-columns:1fr}.project-photo-row,.gallery-grid{grid-template-columns:1fr}.oldtimer-image img{min-height:0;height:70vh}.gallery-grid img{height:340px}.project-card{min-height:190px}.feature-image{height:75svh}}

/* V8: independent pages and subtle page-entry fade */
.inner-page #site-header{opacity:1;pointer-events:auto;background:rgba(7,9,12,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#site-nav a[aria-current="page"]{color:#fff;border-bottom:1px solid #fff;padding-bottom:7px}
.inner-page main{animation:pageIn .45s ease-out both}@keyframes pageIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.page-hero{min-height:65svh;display:flex;flex-direction:column;justify-content:center;padding:145px clamp(25px,8vw,150px) 85px;background:radial-gradient(ellipse at 80% 10%,#26313a 0%,#0a0d11 60%)}
.page-hero h1{font-size:clamp(48px,7.7vw,118px);letter-spacing:-.065em;line-height:1.02;max-width:1200px;margin:24px 0}.page-hero p{color:#b9c2ca;font-size:clamp(18px,2vw,26px);line-height:1.5;max-width:800px}
.split-section{display:grid;grid-template-columns:1.1fr 1fr;min-height:80svh;background:#11161b}.split-section>img{width:100%;height:100%;min-height:630px;object-fit:cover}.split-section>div{padding:clamp(45px,7vw,115px);display:flex;flex-direction:column;justify-content:center}.split-section h2{font-size:clamp(38px,5vw,78px);letter-spacing:-.055em;line-height:1.08}.split-section p{font-size:19px;line-height:1.75;color:#bac4cc}.text-link{display:inline-block;margin-top:22px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:7px;font-weight:700}
.page-teasers{padding:clamp(80px,10vw,150px) clamp(24px,8vw,140px);background:#0b0e12}.teaser-grid,.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#343b41}.teaser-grid a,.service-grid article{background:#141a20;padding:clamp(30px,4vw,65px);text-decoration:none;font-size:clamp(23px,2.4vw,38px);font-weight:700;min-height:170px;display:flex;justify-content:space-between;align-items:center}.teaser-grid a:hover{background:#222d36}.service-grid article{display:block}.service-grid h3{font-size:28px}.service-grid p{font-size:17px;font-weight:400;line-height:1.6;color:#b8c2ca}.wide-detail{display:block;margin-top:28px;width:100%;max-height:700px;object-fit:cover}
.inner-page .contact-section{padding-top:80px}.inner-page .projects-section{background:#0d1014}
@media(max-width:800px){.split-section,.teaser-grid,.service-grid{grid-template-columns:1fr}.split-section>img{min-height:0;height:65svh}.page-hero{min-height:58svh;padding-top:125px}.teaser-grid a{min-height:110px}}
@media(prefers-reduced-motion:reduce){.inner-page main{animation:none}}

/* V9 – Original Rennmotoren-Impressionen */
.motor-showcase{padding:clamp(80px,9vw,140px) clamp(20px,8vw,140px);background:#090b0e}
.motor-project{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.75fr);align-items:center;gap:clamp(26px,5vw,90px);margin:0 0 clamp(70px,10vw,160px)}
.motor-project:nth-of-type(even) .motor-project-image{order:2}
.motor-project-image{background:#171b20;overflow:hidden;min-width:0}
.motor-project-image img{display:block;width:100%;height:clamp(370px,55vw,730px);object-fit:cover;filter:contrast(1.02);transition:transform .8s ease}
.motor-project-image:hover img{transform:scale(1.035)}
.motor-project-info h3{font-size:clamp(36px,5.2vw,82px);line-height:1.03;letter-spacing:-.055em;margin:20px 0 25px}
.motor-project-info p,.motor-secondary p{color:#b9c2c8;font-size:clamp(17px,1.55vw,22px);line-height:1.6}
.motor-secondary{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;margin:-60px 0 120px 12%;max-width:900px}
.motor-secondary img{width:100%;max-height:450px;object-fit:cover}
@media(max-width:800px){.motor-project{grid-template-columns:1fr;gap:20px;margin-bottom:80px}.motor-project:nth-of-type(even) .motor-project-image{order:0}.motor-project-image img{height:420px}.motor-secondary{grid-template-columns:1fr;margin:0 0 90px}}

/* V10: Scroll reveals for Impressionen; no effect on other pages */
@media (prefers-reduced-motion: no-preference) {
  .js-motor-scroll .scroll-motor .motor-project-image,
  .js-motor-scroll .scroll-motor .motor-project-info,
  .js-motor-scroll .motor-secondary > img,
  .js-motor-scroll .motor-secondary > div {
    opacity:0; transform:translate3d(0,55px,0);
    transition:opacity 850ms cubic-bezier(.2,.65,.25,1),transform 1000ms cubic-bezier(.2,.65,.25,1);
  }
  .js-motor-scroll .scroll-motor.is-inview .motor-project-image,
  .js-motor-scroll .scroll-motor.is-inview .motor-project-info,
  .js-motor-scroll .motor-secondary.is-inview > img,
  .js-motor-scroll .motor-secondary.is-inview > div {opacity:1;transform:translate3d(0,0,0)}
  .js-motor-scroll .scroll-motor .motor-project-info,
  .js-motor-scroll .motor-secondary > div {transition-delay:130ms}
  .js-motor-scroll .motor-project-image img {transform:scale(1.075);transition:transform 1500ms cubic-bezier(.2,.65,.25,1)}
  .js-motor-scroll .scroll-motor.is-inview .motor-project-image img {transform:scale(1)}
  .js-motor-scroll .scroll-motor.is-inview .motor-project-image:hover img {transform:scale(1.035)}
}


/* V11: Logo in der Kopfzeile */
#site-header .brand{display:flex;align-items:center;flex:0 0 auto;max-width:clamp(110px,13vw,185px)}
#site-header .brand img{display:block;width:100%;max-height:49px;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
@media(min-width:1100px){#site-header{gap:28px}#site-nav{gap:clamp(11px,1.45vw,24px)}}
@media(max-width:750px){#site-header .brand{max-width:132px}#site-header .brand img{max-height:38px}}
/* V11: Fullscreen Impressionen */
.impressions-intro{min-height:100svh;padding:150px clamp(25px,9vw,160px) 90px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(ellipse at 80% 80%,#202a31,#090b0e 65%);position:relative}
.impressions-intro h1{font-size:clamp(50px,9vw,145px);letter-spacing:-.065em;line-height:.97;max-width:1100px;margin:30px 0}
.impressions-intro p{font-size:clamp(17px,1.6vw,23px);color:#c4cbd1;max-width:620px;line-height:1.5}
.scroll-cue{position:absolute;bottom:40px;left:clamp(25px,9vw,160px);font-size:11px;letter-spacing:.2em;color:#9faab3}
.fullscreen-motor{position:relative;height:100svh;min-height:550px;overflow:hidden;background:#111820;isolation:isolate;display:flex;align-items:flex-end}
.fullscreen-motor-bg,.fullscreen-motor-shade{position:absolute;inset:0}
.fullscreen-motor-bg img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;transform:scale(1.08);transition:transform 1.65s cubic-bezier(.18,.6,.25,1),filter 1.2s ease;filter:brightness(.78) saturate(.72) contrast(1.09)}
.fullscreen-motor-shade{background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.10) 80%),linear-gradient(0deg,rgba(0,0,0,.84) 0%,rgba(0,0,0,.22) 53%,rgba(0,0,0,.17) 100%);pointer-events:none}
.fullscreen-motor-content{position:relative;z-index:2;width:100%;padding:0 clamp(24px,9vw,160px) clamp(85px,12vh,145px);opacity:1;transform:translateY(0);transition:opacity 1.15s ease,transform 1.15s cubic-bezier(.2,.65,.25,1);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.fullscreen-motor-content h2{font-size:clamp(48px,8.2vw,132px);line-height:1;letter-spacing:-.065em;margin:20px 0 15px;max-width:1200px}
.fullscreen-motor-content p{font-size:clamp(18px,2.2vw,30px);line-height:1.35;color:#f0f1f2;margin:0}
.js-motor-scroll .fullscreen-motor:not(.is-inview) .fullscreen-motor-content{opacity:0;transform:translateY(52px)}
.js-motor-scroll .fullscreen-motor.is-inview .fullscreen-motor-bg img{transform:scale(1)}
.impressions-outro{min-height:60svh;padding:120px 9vw;display:flex;flex-direction:column;justify-content:center;background:#0b0e11}
.impressions-outro h2{font-size:clamp(44px,6vw,95px);letter-spacing:-.055em;max-width:900px;line-height:1.06}
/* V11: Editorial Rennmotorenbau */
.racing-intro{min-height:85svh}.racing-intro p{max-width:900px}
.racing-editorial{display:grid;grid-template-columns:1fr 1fr;min-height:88svh;background:#0b0e11}
.racing-editorial.reverse .racing-photo{order:-1}
.racing-copy{padding:clamp(65px,8vw,145px) clamp(30px,6vw,115px);display:flex;flex-direction:column;justify-content:center}
.racing-copy h2{font-size:clamp(42px,4.6vw,76px);letter-spacing:-.06em;line-height:1.06;margin:25px 0 35px}
.racing-copy h2 em{font-style:normal;color:#8c9aa6}
.racing-copy p{font-size:clamp(16px,1.25vw,19px);line-height:1.85;color:#b8c1c9;max-width:680px}
.racing-copy .text-link{margin-top:30px}
.racing-photo{min-height:600px;overflow:hidden}.racing-photo img{width:100%;height:100%;object-fit:cover;filter:brightness(.72) saturate(.55)}
.racing-quote{min-height:65svh;padding:110px 9vw;display:flex;flex-direction:column;justify-content:center;background:#161d23}
.racing-quote blockquote{font-size:clamp(38px,5.4vw,90px);font-weight:700;line-height:1.18;letter-spacing:-.05em;margin:40px 0 0}
.racing-quote strong{color:#9eabb6}
@media(max-width:800px){.racing-editorial{grid-template-columns:1fr}.racing-editorial.reverse .racing-photo{order:0}.racing-photo{min-height:0;height:55svh}.fullscreen-motor-content{padding-bottom:90px}.fullscreen-motor{min-height:480px}.fullscreen-motor-bg img{object-position:center}}
@media(prefers-reduced-motion:reduce){.fullscreen-motor-content,.fullscreen-motor-bg img{transition:none!important;transform:none!important}.js-motor-scroll .fullscreen-motor:not(.is-inview) .fullscreen-motor-content{opacity:1;transform:none}}

/* V12: Nahtloser Wechsel der Vollbild-Motoren ohne Text-Zwischenseiten.
   Ueberlappende Bildkanten erzeugen einen weichen Uebergang beim Scrollen. */
.fullscreen-motor + .fullscreen-motor {
  margin-top: -12svh;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 12svh, black 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 12svh, black 100%);
}
.fullscreen-motor:nth-of-type(2){z-index:2}
.fullscreen-motor:nth-of-type(3){z-index:3}
.fullscreen-motor:nth-of-type(4){z-index:4}
.fullscreen-motor:nth-of-type(5){z-index:5}
.fullscreen-motor:nth-of-type(6){z-index:6}
.fullscreen-motor:nth-of-type(7){z-index:7}
@media (prefers-reduced-motion: reduce) {
 .fullscreen-motor + .fullscreen-motor {margin-top:0;mask-image:none;-webkit-mask-image:none}
}

/* V13: monochrome light original logo, readable on dark header and hero */
#site-header .brand{max-width:clamp(150px,17vw,230px)}
#site-header .brand img{max-height:54px;filter:drop-shadow(0 2px 5px rgba(0,0,0,.85));}
.intro-sticky{background:#090b0e}
.carbon{background-image:url("../images/hero-bmw-detail.jpg");background-position:center 52%;filter:brightness(.72);}
.carbon:after{background:linear-gradient(180deg,rgba(0,0,0,.50),rgba(0,0,0,.35) 45%,rgba(0,0,0,.68));}
.hero-logo{width:min(82vw,980px);max-height:45svh;filter:drop-shadow(0 3px 14px rgba(0,0,0,.9)) drop-shadow(0 0 16px rgba(0,0,0,.65));}
@media(max-width:750px){#site-header .brand{max-width:145px}.carbon{background-position:55% center}.hero-logo{width:92vw}}

/* V14: Originalzeichnung mit klar erkennbarer Pleuelstange und dunklen Konturen.
   Helle Trägerfläche statt destruktiver Monochrom-Umfärbung. */
#site-header .brand{background:rgba(250,251,252,.96);border:1px solid rgba(255,255,255,.65);border-radius:7px;padding:8px 12px;max-width:clamp(160px,18vw,255px);box-shadow:0 4px 18px rgba(0,0,0,.22)}
#site-header .brand img{filter:none;max-height:48px;width:100%;object-fit:contain}
.hero-logo{box-sizing:content-box;width:min(76vw,940px);max-height:none;padding:clamp(18px,3vw,40px) clamp(22px,4vw,60px);background:rgba(250,251,252,.94);border:1px solid rgba(255,255,255,.75);border-radius:clamp(8px,1.5vw,18px);box-shadow:0 12px 70px rgba(0,0,0,.48);filter:none;object-fit:contain}
@media(max-width:750px){#site-header .brand{max-width:156px;padding:7px 9px}.hero-logo{width:76vw;padding:17px 20px}}

/* V15: transparente Originalgrafik mit heller Außenkontur – keine Box */
#site-header .brand{background:transparent!important;border:0!important;border-radius:0!important;padding:0!important;box-shadow:none!important;max-width:clamp(150px,17vw,230px)!important}
#site-header .brand img{background:transparent!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.65))!important;max-height:54px!important}
.hero-logo{box-sizing:border-box!important;width:min(82vw,980px)!important;max-height:45svh!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 3px 8px rgba(0,0,0,.6))!important}
@media(max-width:750px){#site-header .brand{max-width:145px!important}.hero-logo{width:92vw!important}}

/* V17: Weicher Übergang aus der schwarzen Präzisions-Sequenz zum Zylinderkopf.
   Der Bildinhalt wird zu Beginn der Story-Sektion über Schwarz eingeblendet. */
.story-sticky { background:#08090b; }
.story-sticky .head-image { opacity:0; will-change:opacity,transform; }
.story-sticky .story-frame { opacity:0; will-change:opacity; }
/* Die Bildaufhellung erfolgt erst beim Übergang, nicht als statischer heller Balken. */

/* V18 – Kontakt und datenschutzbewusstes Karten-Opt-in */
.contact-page .contact-hero{min-height:70svh;background:linear-gradient(90deg,rgba(5,7,9,.88),rgba(5,7,9,.45)),url('../images/detail-bmw.jpg') center / cover no-repeat}
.contact-page .contact-hero h1{max-width:1050px}
.contact-workspace{display:grid;grid-template-columns:minmax(250px,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,130px);padding:clamp(85px,11vw,160px) clamp(24px,8vw,140px);background:#0c1014}
.contact-intro h2,.location-copy h2{font-size:clamp(36px,4.7vw,76px);letter-spacing:-.05em;line-height:1.08;margin:22px 0 26px}
.contact-intro p,.location-copy p{color:#b8c0c7;line-height:1.8;font-size:17px}
.contact-email{display:inline-block;margin-top:22px;color:#f0f3f5;text-underline-offset:7px;overflow-wrap:anywhere}
.contact-form{width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{margin-bottom:26px}.field label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;margin-bottom:12px}.field label>span:not(.optional){color:#b8c8d2}.optional{font-weight:400;letter-spacing:0;color:#85919a}
.field input,.field select,.field textarea{width:100%;min-height:54px;background:#171d23;border:1px solid #3c454e;border-radius:0;color:#f7f7f8;padding:16px;font:inherit;outline-offset:3px;transition:border-color .2s}.field textarea{resize:vertical;line-height:1.6}.field input:focus,.field select:focus,.field textarea:focus{border-color:#e3e9ed;outline:1px solid #e3e9ed}.field input::placeholder,.field textarea::placeholder{color:#88949e}.privacy-check{display:flex;gap:14px;align-items:flex-start;color:#bac4cc;font-size:13px;line-height:1.65}.privacy-check input{margin-top:4px;width:18px;height:18px;accent-color:#d7e1e8;flex-shrink:0}.form-bottom{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:28px}.contact-submit,.map-load-button{cursor:pointer;background:#eef2f5;color:#0a0d10;border:1px solid #eef2f5;padding:17px 25px;font:700 13px Arial,Helvetica,sans-serif;letter-spacing:.035em;transition:background .2s,color .2s}.contact-submit:hover,.map-load-button:hover{background:transparent;color:white}.form-feedback{color:#d7e4ed;font-size:13px;line-height:1.5}.contact-implementation-note{color:#84929c;font-size:12px;line-height:1.6;margin-top:20px}
.contact-location{display:grid;grid-template-columns:1fr 1.25fr;background:#e8ecef;color:#121a20;min-height:560px}.location-copy{padding:clamp(65px,8vw,130px) clamp(24px,7vw,115px)}.location-copy .eyebrow{color:#55636e}.location-copy p{color:#46525c}.location-fine{font-size:13px!important}.location-route{display:inline-block;margin-top:20px;color:#121a20;text-underline-offset:6px}.map-consent{min-height:490px;display:grid;place-items:center;background:linear-gradient(135deg,#202b33,#10171d);color:#f3f5f6;position:relative}.map-consent-overlay{max-width:470px;padding:50px 35px;text-align:center}.map-consent-overlay h3{font-size:clamp(28px,3vw,46px);letter-spacing:-.04em}.map-consent-overlay p{line-height:1.7;color:#bdc7ce}.map-consent-overlay small{display:block;margin-top:18px;color:#9eabb5}.map-consent iframe{display:block;width:100%;height:100%;min-height:490px;border:0}.map-consent.map-active{display:block}
@media(max-width:850px){.contact-workspace,.contact-location{grid-template-columns:1fr}.contact-workspace{gap:45px}.map-consent{min-height:390px}.map-consent iframe{min-height:390px}}
@media(max-width:520px){.form-row{grid-template-columns:1fr;gap:0}.contact-page .contact-hero{min-height:66svh}.contact-workspace{padding:75px 22px}.location-copy{padding:65px 24px}}

/* V19: Mobile usability, accessibility, legal pages */
#menu-button{cursor:pointer;min-width:44px;min-height:44px;font-size:21px}#site-nav a{display:inline-flex;align-items:center;min-height:36px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #d8e5ee;outline-offset:4px}body{overflow-x:hidden}.legal-content{max-width:950px;margin:auto;min-height:70svh;padding:clamp(130px,14vw,190px) 26px 90px}.legal-content h1{font-size:clamp(44px,7vw,84px);letter-spacing:-.05em}.legal-content p{font-size:17px;line-height:1.8;color:#c7d0d7}.legal-content a{text-underline-offset:4px}.location-fine a{color:inherit}
@media(max-width:750px){#site-header{background:linear-gradient(180deg,rgba(6,8,10,.92),rgba(6,8,10,.32))}#site-nav.open{max-height:calc(100svh - 65px);overflow-y:auto;overscroll-behavior:contain;padding:12px 22px 30px;gap:6px;box-shadow:0 20px 40px rgba(0,0,0,.6)}#site-nav a{min-height:46px;font-size:13px}.intro-scroll{height:260svh}.story-scroll{height:460svh}.story-card h2{overflow-wrap:break-word}.fullscreen-motor-content h2{overflow-wrap:break-word}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.hero-logo{max-height:40svh}}
@media(max-width:390px){#site-header .brand{max-width:120px!important}.story-card h2{font-size:31px}.intro-statement{font-size:30px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
