
:root{--green:#18382a;--cream:#efede2;--soft:#d8d3c2;--gold:#b6914e;--black:#070b09;--dark:#07110d;--dark2:#0b1511}
*{box-sizing:border-box}html,body{margin:0;background:var(--black);color:var(--cream);font-family:"Arial Narrow","DejaVu Sans Condensed",Arial,sans-serif}a{color:inherit}
.logo{width:min(410px,34vw);height:auto;display:block}.brand{display:flex;align-items:center;gap:28px}.separator{width:1px;height:45px;background:rgba(239,237,226,.38);margin-top:25px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:32px}nav{margin-top:32px;font-style:italic;font-size:15px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap;opacity:.92}nav a{text-decoration:none;margin-left:28px}
.hero{min-height:100vh;padding:24px clamp(28px,5vw,86px);position:relative;background:linear-gradient(90deg,rgba(0,0,0,.62),rgba(0,0,0,.40) 42%,rgba(0,0,0,.05) 76%),linear-gradient(180deg,rgba(5,16,12,.18),rgba(5,16,12,.02) 40%,rgba(5,16,12,.25)),var(--hero);background-size:cover;background-position:center 61%}.hero-content{max-width:790px;margin-top:24vh}.kicker,.section-label{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
h1{margin:0;font-style:italic;font-weight:300;font-size:clamp(40px,5.4vw,74px);line-height:1.02;letter-spacing:.012em}.rule{width:92px;height:2px;background:rgba(239,237,226,.75);margin:30px 0 28px}.hero p{margin:0 0 47px;max-width:740px;font-size:clamp(22px,2.3vw,33px);line-height:1.28;opacity:.96}.buttons{display:flex;gap:18px;flex-wrap:wrap}
.btn,.buttons a{color:var(--cream);text-decoration:none;border:1px solid rgba(239,237,226,.78);padding:18px 29px;font-weight:700;font-style:italic;font-size:15px;letter-spacing:.08em;text-transform:uppercase;background:rgba(0,0,0,.18);display:inline-block}.primary,.buttons a.primary{background:rgba(24,56,42,.92)}.meta{position:absolute;left:clamp(28px,5vw,86px);bottom:42px;font-size:13px;letter-spacing:.16em;opacity:.78}.meta:after{content:"";display:block;width:352px;height:2px;background:rgba(182,145,78,.75);margin-top:14px}
section{padding:96px clamp(28px,5vw,86px)}h2{margin:0 0 30px;font-size:clamp(28px,3.2vw,48px);font-style:italic;font-weight:300;line-height:1.02}.lead{font-size:23px;line-height:1.42;color:var(--soft);margin:0}.pillars,.dark{background:var(--dark)}.dark2{background:var(--dark2)}
.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;margin-bottom:56px}.intro p{margin:0;color:var(--soft);font-size:21px;line-height:1.45}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid rgba(239,237,226,.18);background:rgba(239,237,226,.045);padding:34px 32px 32px;min-height:315px;position:relative;text-decoration:none}.card:before{content:"";position:absolute;left:32px;top:0;width:82px;height:3px;background:var(--gold)}.card-number{color:rgba(239,237,226,.38);font-size:13px;letter-spacing:.16em;margin-bottom:54px}.card h3{margin:0 0 22px;font-size:18px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.card h4{margin:0 0 22px;font-size:27px;line-height:1.13;font-style:italic;font-weight:300}.card p{margin:0;color:var(--soft);font-size:19px;line-height:1.45}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:54px}.product{min-height:530px;border:1px solid rgba(239,237,226,.18);background:rgba(239,237,226,.04);text-decoration:none;display:flex;flex-direction:column;overflow:hidden}.product img{width:100%;height:220px;object-fit:cover;object-position:center;display:block}.product-body{padding:30px}.product h3{margin:0 0 16px;font-size:16px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}.product h4{margin:0 0 18px;font-size:26px;font-style:italic;font-weight:300;line-height:1.1}.product p{margin:0;color:var(--soft);font-size:19px;line-height:1.45}.product .link{margin-top:26px;color:var(--cream);font-style:italic;letter-spacing:.08em;text-transform:uppercase;font-weight:700;font-size:14px}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.split img{width:100%;display:block}.text p{font-size:21px;line-height:1.48;color:var(--soft)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:45px}.gallery-grid img{width:100%;display:block}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:45px}.qa{border-top:2px solid rgba(182,145,78,.8);padding:28px 0 10px}.qa h3{margin:0 0 16px;font-size:27px;font-style:italic;font-weight:300}.qa p{margin:0;color:var(--soft);font-size:20px;line-height:1.48}.cta-box{border:1px solid rgba(239,237,226,.18);padding:52px;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;background:rgba(239,237,226,.04)}.cta p{color:var(--soft);font-size:22px;line-height:1.45;margin:0}.contact-lines{font-size:22px;line-height:1.7}
@media(max-width:1050px){nav{display:none}.separator{display:none}.logo{width:300px;max-width:74vw}.hero-content{margin-top:22vh}.intro,.split,.cta-box{grid-template-columns:1fr}.cards,.product-grid,.faq-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}


/* ---- Stand 5 additions ---- */
.spec-table {
  width:100%;
  border-collapse:collapse;
  margin-top:38px;
  color:var(--cream);
  font-size:20px;
}
.spec-table tr {
  border-top:1px solid rgba(239,237,226,.16);
}
.spec-table tr:last-child {
  border-bottom:1px solid rgba(239,237,226,.16);
}
.spec-table td {
  padding:18px 0;
  vertical-align:top;
}
.spec-table td:first-child {
  color:var(--gold);
  width:34%;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:15px;
}
.gold-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:center;
}
.gold-grid img {
  width:100%;
  display:block;
}
.gold-gallery {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-top:45px;
}
.gold-gallery img {
  width:100%;
  height:230px;
  object-fit:cover;
  display:block;
}
.variant-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  margin-top:54px;
}
.variant {
  border:1px solid rgba(239,237,226,.18);
  background:rgba(239,237,226,.045);
  padding:34px 32px;
  min-height:520px;
  position:relative;
}
.variant::before {
  content:"";
  position:absolute;
  left:32px;
  top:0;
  width:82px;
  height:3px;
  background:var(--gold);
}
.variant h3 {
  margin:42px 0 18px;
  font-size:18px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
}
.variant h4 {
  margin:0 0 22px;
  font-size:26px;
  line-height:1.1;
  font-style:italic;
  font-weight:300;
}
.variant p {
  margin:0 0 18px;
  color:var(--soft);
  font-size:19px;
  line-height:1.45;
}
.variant ul {
  margin:22px 0 0;
  padding-left:20px;
  color:var(--soft);
  font-size:18px;
  line-height:1.55;
}
.compare {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1px;
  margin-top:48px;
  background:rgba(239,237,226,.16);
  border:1px solid rgba(239,237,226,.16);
}
.compare > div {
  background:#07110d;
  padding:28px;
}
.compare h3 {
  color:var(--gold);
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:17px;
  margin:0 0 18px;
}
.compare p {
  color:var(--soft);
  font-size:19px;
  line-height:1.45;
  margin:0;
}
@media(max-width:1050px){
  .gold-grid,.variant-grid,.compare{grid-template-columns:1fr}
  .gold-gallery{grid-template-columns:repeat(2,1fr)}
}


/* ---- Stand 7 additions ---- */
.image-card{position:relative;overflow:hidden;border:1px solid rgba(239,237,226,.18);background:rgba(239,237,226,.045)}
.image-card img{width:100%;height:100%;object-fit:cover;display:block}
.image-card.tall{min-height:620px}.image-card.wide{min-height:410px}
.caption{font-size:14px;color:var(--soft);opacity:.86;margin-top:12px;line-height:1.45}
.two-images{display:grid;grid-template-columns:1.45fr .95fr;gap:24px;margin-top:48px}.stack-images{display:grid;gap:24px}.stack-images .image-card{min-height:294px}
.engineering-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:48px}.engineering-grid .image-card{min-height:360px}
.product .placeholder-img,.placeholder-img{background:#b90000;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:25px;font-weight:700;letter-spacing:.06em;line-height:1.35;text-transform:uppercase}
.product .placeholder-img{height:260px}
.nav-note{color:var(--gold);font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-top:26px}
@media(max-width:1050px){.two-images,.engineering-grid{grid-template-columns:1fr}.image-card.tall,.image-card.wide,.stack-images .image-card{min-height:auto}}


/* ---- Stand 8 additions ---- */
.product .price{color:var(--gold);font-size:22px;font-weight:700;margin:18px 0 0}
.product .note-small{font-size:16px;color:var(--soft);opacity:.9;margin-top:12px}
.shop-intro{max-width:920px}
.image-card.tight{min-height:auto}
.image-card.tight img{height:auto;object-fit:contain;background:#0b0b0a}
.inline-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}
.inline-gallery img{width:100%;height:250px;object-fit:cover;display:block;border:1px solid rgba(239,237,226,.18);background:rgba(239,237,226,.045)}
@media(max-width:1050px){.inline-gallery{grid-template-columns:1fr}.inline-gallery img{height:auto}}

.card img{width:100%;height:185px;object-fit:cover;display:block;margin:-34px -32px 26px;width:calc(100% + 64px);max-width:none;}


/* ---- Stand 8.3: ruhigere Überschriften / bessere Mobilansicht ---- */
.hero-content h1,
h1 {
  font-size: clamp(42px, 6vw, 82px);
  line-height: .94;
}

section h2,
h2 {
  font-size: clamp(30px, 3.6vw, 52px);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.product h3,
.card h3,
.variant h3,
h3 {
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.08;
}

.product h4,
.card h4,
.variant h4,
h4 {
  font-size: clamp(17px, 1.6vw, 22px);
  line-height: 1.15;
}

.lead {
  font-size: clamp(18px, 2vw, 24px);
}

@media (max-width: 760px) {
  .hero-content h1,
  h1 {
    font-size: clamp(36px, 11vw, 54px);
    line-height: .96;
  }

  section h2,
  h2 {
    font-size: clamp(28px, 8vw, 40px);
    line-height: 1.04;
  }

  .product h3,
  .card h3,
  .variant h3,
  h3 {
    font-size: 24px;
  }

  .lead {
    font-size: 18px;
  }
}


/* ---- Stand 8.3.2: H1-Unterseiten ruhiger/kleiner ---- */
.ajp-page .hero h1,
.t700-page .hero h1,
.bmw-page .hero h1,
.shop-page .hero h1,
body:not(.home) .hero h1,
.hero-content h1 {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

@media (max-width: 760px) {
  .ajp-page .hero h1,
  .t700-page .hero h1,
  .bmw-page .hero h1,
  .shop-page .hero h1,
  body:not(.home) .hero h1,
  .hero-content h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.05 !important;
  }
}


/* ---- Stand 8.4: Unterseiten-Hero-H1 konsistent ---- */
.ajp-page .hero h1,
.t700-page .hero h1,
.bmw-page .hero h1,
body:not(.home) .hero h1,
.hero-content h1 {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

@media (max-width: 760px) {
  .ajp-page .hero h1,
  .t700-page .hero h1,
  .bmw-page .hero h1,
  body:not(.home) .hero h1,
  .hero-content h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.05 !important;
  }
}


/* Stand 8.4 BMW hero rebuilt directly from homepage hero */
.hero-bmw-rebuild {
  background-size: cover !important;
  background-position: center 61% !important;
}
.hero-bmw-rebuild .hero-content {
  max-width: 790px;
  margin-top: 24vh;
}


/* Stand 8.4: direct rebuilt subpage heroes */
.hero-ajp-rebuild,
.hero-t700-rebuild,
.hero-bmw-rebuild {
  background-size: cover !important;
  background-position: center 61% !important;
}

.hero-ajp-rebuild .hero-content,
.hero-t700-rebuild .hero-content,
.hero-bmw-rebuild .hero-content {
  max-width: 790px;
  margin-top: 24vh;
}

.hero-ajp-rebuild h1,
.hero-t700-rebuild h1,
.hero-bmw-rebuild h1 {
  font-size: clamp(32px, 4vw, 56px) !important;
  line-height: 1.02 !important;
  letter-spacing: -0.035em !important;
}

@media (max-width: 760px) {
  .hero-ajp-rebuild h1,
  .hero-t700-rebuild h1,
  .hero-bmw-rebuild h1 {
    font-size: clamp(28px, 8vw, 42px) !important;
    line-height: 1.05 !important;
  }
}


/* Stand 8.4: OLE T700 Galerie */
.t700-gallery {
  padding-top: clamp(52px, 7vw, 92px);
}

.t700-gallery .intro {
  max-width: 820px;
  margin-bottom: 34px;
}

.t700-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
}

.t700-gallery-grid figure {
  margin: 0;
  background: rgba(255,255,255,.035);
  border: 1px solid rgba(239,237,226,.12);
  overflow: hidden;
}

.t700-gallery-grid img {
  width: 100%;
  height: clamp(320px, 34vw, 560px);
  object-fit: cover;
  display: block;
}

.t700-gallery-grid figcaption {
  padding: 15px 18px 17px;
  color: rgba(239,237,226,.78);
  font-size: 14px;
  letter-spacing: .04em;
}

@media (max-width: 760px) {
  .t700-gallery-grid {
    grid-template-columns: 1fr;
  }
  .t700-gallery-grid img {
    height: 320px;
  }
}


/* ---- Stand 8.6: Impressum, Datenschutz und Footer ---- */
.site-footer {
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding:28px clamp(28px,5vw,86px);
  border-top:1px solid rgba(239,237,226,.14);
  color:rgba(239,237,226,.76);
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.site-footer a {
  text-decoration:none;
  margin-left:24px;
  color:var(--cream);
  opacity:.86;
}
.site-footer a:hover { opacity:1; color:var(--gold); }
.contact-lines a,
.legal-content a { color:var(--cream); text-decoration:none; border-bottom:1px solid rgba(182,145,78,.72); }
.legal-hero { min-height:72vh; padding:24px clamp(28px,5vw,86px) 86px; }
.legal-intro { max-width:850px; margin-top:14vh; }
.legal-intro p { margin:0 0 38px; max-width:760px; font-size:clamp(22px,2.3vw,32px); line-height:1.28; color:var(--soft); }
.legal-page { scroll-margin-top:24px; }
.legal-content { max-width:980px; color:var(--soft); font-size:19px; line-height:1.58; }
.legal-content p { margin:0 0 24px; }
.legal-content ul { margin:0 0 24px; padding-left:24px; }
.legal-content li { margin:0 0 8px; }
.legal-block { border-top:1px solid rgba(239,237,226,.16); padding-top:30px; margin-top:34px; }
.legal-block:first-child { margin-top:0; }
.legal-block h3 { margin:0 0 20px; color:var(--gold); font-size:17px; letter-spacing:.11em; text-transform:uppercase; line-height:1.35; }
@media(max-width:760px){
  .site-footer{display:block;line-height:1.8}
  .site-footer a{display:inline-block;margin:12px 22px 0 0}
  .legal-hero{min-height:auto}
  .legal-intro{margin-top:12vh}
  .legal-content{font-size:17px}
}
