
  :root{
    --red:#a8171a;
    --red-dark:#7a1013;
    --ink:#16130f;
    --paper:#f7f5f0;
    --paper-2:#ece7dd;
    --gold:#d9a530;
    --grey:#5c574e;
    --line:#ddd6c8;
    --maxw:1180px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:'Inter',sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
  }
  h1,h2,h3,.brand{
    font-family:'Oswald',sans-serif;
    text-transform:uppercase;
    letter-spacing:0.01em;
    line-height:1.08;
    margin:0;
  }
  a{color:inherit;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
  .btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:15px 30px;
    font-family:'Oswald',sans-serif;
    font-weight:600;
    text-transform:uppercase;
    letter-spacing:.03em;
    font-size:15px;
    text-decoration:none;
    border:2px solid transparent;
    transition:background .18s ease, color .18s ease, border-color .18s ease;
  }
  .btn-solid{background:var(--red);color:#fff;}
  .btn-solid:hover{background:var(--red-dark);}
  .btn-outline{border-color:#fff;color:#fff;}
  .btn-outline:hover{background:#fff;color:var(--ink);}
  .btn-outline-dark{border-color:var(--ink);color:var(--ink);}
  .btn-outline-dark:hover{background:var(--ink);color:#fff;}

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:#fff;
    border-bottom:1px solid var(--line);
    transition:box-shadow .25s ease;
  }
  header.scrolled{box-shadow:0 6px 24px rgba(0,0,0,.08);}
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 28px;max-width:var(--maxw);margin:0 auto;
  }
  .brand-mark{display:flex;align-items:center;gap:10px;text-decoration:none;}
  .brand-mark img{height:42px;width:auto;}
  nav.links{display:flex;gap:34px;}
  nav.links a{
    font-family:'Oswald',sans-serif;
    font-size:15px;
    text-transform:uppercase;
    letter-spacing:.03em;
    text-decoration:none;
    color:var(--ink);
    position:relative;
    padding:4px 0;
  }
  nav.links a::after{
    content:"";position:absolute;left:0;bottom:-2px;height:2px;width:0;
    background:var(--red);transition:width .18s ease;
  }
  nav.links a:hover::after{width:100%;}
  .nav-cta{
    font-family:'Oswald',sans-serif;
    font-weight:600;text-transform:uppercase;letter-spacing:.03em;
    font-size:14px;background:var(--red);color:#fff;
    padding:11px 20px;text-decoration:none;
  }
  .nav-cta:hover{background:var(--red-dark);}
  .burger{display:none;background:none;border:0;cursor:pointer;padding:6px;}
  .burger span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;transition:transform .2s ease, opacity .2s ease;}

  /* ---------- Hero (split layout) ---------- */
  .hero{
    position:relative;
    display:grid;
    grid-template-columns:minmax(340px, 42%) 1fr;
    align-items:stretch;
    min-height:640px;
    background:var(--ink);
    overflow:hidden;
  }
  .hero-text{
    position:relative;z-index:2;
    display:flex;flex-direction:column;justify-content:center;
    padding:120px 48px 72px clamp(28px,4vw,64px);
  }
  .hero-tag{
    color:var(--gold);font-family:'Oswald',sans-serif;text-transform:uppercase;
    letter-spacing:.14em;font-size:14px;font-weight:600;margin-bottom:16px;
  }
  .hero h1{
    color:#fff;font-size:clamp(36px, 4.4vw, 60px);font-weight:700;
  }
  .hero h1 em{color:var(--red);font-style:normal;}
  .hero p{
    color:#c9c4b8;font-size:17px;max-width:38ch;margin:22px 0 32px;
  }
  .hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
  .hero-media{
    position:relative;overflow:hidden;
    clip-path:polygon(9% 0, 100% 0, 100% 100%, 0 100%);
  }
  .hero-media img{width:100%;height:100%;object-fit:cover;object-position:32% 55%;transform:scale(1.02);}
  .hero-media-fade{
    position:absolute;inset:0;
    background:linear-gradient(90deg, rgba(22,19,15,.55) 0%, rgba(22,19,15,0) 16%);
  }
  .route-strip{
    position:absolute;left:0;right:0;bottom:0;height:6px;
    background:repeating-linear-gradient(90deg, var(--gold) 0 34px, transparent 34px 62px);
    background-size:96px 6px;
    opacity:.9;z-index:3;
    animation:routeMove 3.2s linear infinite;
  }
  @keyframes routeMove{
    from{background-position:0 0;}
    to{background-position:96px 0;}
  }

  /* Hero entrance animation */
  .anim-in{opacity:0;transform:translateY(22px);animation:heroUp .7s ease forwards;}
  .anim-in.d1{animation-delay:.15s;}
  .anim-in.d2{animation-delay:.3s;}
  .anim-in.d3{animation-delay:.45s;}
  .anim-in.d4{animation-delay:.6s;}
  @keyframes heroUp{to{opacity:1;transform:translateY(0);}}
  .anim-in-right{opacity:0;animation:heroFade 1s ease .25s forwards;}
  @keyframes heroFade{to{opacity:1;}}

  /* ---------- Scroll reveal ---------- */
  .reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease, transform .7s ease;}
  .reveal.reveal-left{transform:translateX(-32px);}
  .reveal.reveal-right{transform:translateX(32px);}
  .reveal.in-view{opacity:1;transform:translate(0,0);}
  .steps li{opacity:0;transform:translateY(16px);transition:opacity .5s ease, transform .5s ease;}
  .reveal.in-view .steps li{opacity:1;transform:translateY(0);}

  /* ---------- Stats ---------- */
  .stats{
    background:var(--ink);color:#fff;
    display:grid;grid-template-columns:repeat(3,1fr);
  }
  .stat{
    padding:38px 28px;text-align:center;border-right:1px solid rgba(255,255,255,.12);
  }
  .stat:last-child{border-right:none;}
  .stat .n{font-family:'Oswald',sans-serif;font-size:38px;font-weight:700;color:var(--gold);}
  .stat .l{font-size:14px;color:#c9c4b8;margin-top:6px;}

  /* ---------- USP strip ---------- */
  .usp-strip{background:#fff;border-bottom:1px solid var(--line);padding:64px 0;}
  .usp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;}
  .usp{text-align:center;padding:0 12px;}
  .usp svg{width:40px;height:40px;color:var(--red);margin-bottom:14px;}
  .usp h3{font-size:18px;font-weight:600;margin-bottom:6px;}
  .usp p{color:var(--grey);font-size:14.5px;margin:0;}

  /* ---------- Wide banner ---------- */
  .wide-banner{position:relative;overflow:hidden;line-height:0;}
  .wide-banner-media img{width:100%;height:auto;display:block;transition:transform 1.4s ease;}
  .wide-banner:hover .wide-banner-media img{transform:scale(1.03);}
  .wide-banner.in-view .wide-banner-media img{animation:none;}
  /* ---------- fleet / trust content blocks ---------- */
  .trust-block{background:var(--paper-2);}

  /* ---------- Section shell ---------- */
  section{padding:96px 0;}
  .section-head{margin-bottom:36px;}
  .kicker-rule{width:56px;height:4px;background:var(--red);margin-bottom:18px;}
  h2{font-size:clamp(28px,3.4vw,42px);font-weight:700;}

  .split{
    display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;
  }
  .split.reverse .split-media{order:2;}
  .split.reverse .split-text{order:1;}
  .split-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
  .split-media{
    position:relative;
    aspect-ratio:4/3.1;
    overflow:hidden;
  }
  .split-media:hover img{transform:scale(1.05);}
  .split-media::after{
    content:"";position:absolute;inset:0;
    box-shadow:inset 0 0 0 8px var(--paper-2);
  }
  .split-text p{color:var(--grey);font-size:16.5px;margin:0 0 18px;}
  .split-text p.lead{font-family:'Oswald',sans-serif;font-size:19px;color:var(--ink);text-transform:none;font-weight:600;}

  /* ---------- Leistungen ---------- */
  .services-section{background:var(--paper-2);}
  .service-list{
    display:grid;grid-template-columns:1fr 1fr;gap:10px 40px;list-style:none;padding:0;margin:28px 0 0;
  }
  .service-list li{
    display:flex;align-items:center;gap:14px;
    padding:15px 0;border-bottom:1px solid var(--line);
    font-family:'Oswald',sans-serif;font-size:16px;letter-spacing:.01em;
  }
  .service-list li svg{flex:none;width:20px;height:20px;color:var(--red);transition:transform .2s ease;}
  .service-list li{transition:padding-left .2s ease, color .2s ease;}
  .service-list li:hover{padding-left:8px;color:var(--red-dark);}
  .service-list li:hover svg{transform:scale(1.2);}
  .region-note{
    margin-top:30px;padding:20px 22px;background:#fff;border-left:4px solid var(--red);
    color:var(--grey);font-size:15px;
  }
  .region-note strong{color:var(--ink);}

  /* ---------- Ablauf ---------- */
  .ablauf-section{position:relative;overflow:hidden;}
  .ablauf-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;align-items:center;}
  .steps{list-style:none;padding:0;margin:30px 0 0;counter-reset:step;}
  .steps li{
    counter-increment:step;
    display:flex;gap:20px;padding:20px 0;border-top:1px solid var(--line);
  }
  .steps li:last-child{border-bottom:1px solid var(--line);}
  .steps li::before{
    content:counter(step,decimal-leading-zero);
    font-family:'Oswald',sans-serif;font-weight:700;font-size:22px;color:var(--red);
    flex:none;width:44px;
  }
  .steps li .step-body b{
    display:block;font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:17px;letter-spacing:.02em;
  }
  .steps li .step-body span{color:var(--grey);font-size:15px;}
  .ablauf-media{position:relative;aspect-ratio:16/12.5;overflow:hidden;}
  .ablauf-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
  .ablauf-media:hover img{transform:scale(1.05);}

  /* ---------- Quote banner ---------- */
  .quote-banner{
    position:relative;min-height:420px;display:flex;align-items:center;
    background:#111 url('truck-loading.jpg') center / cover no-repeat;
    padding:80px 0;
  }
  .quote-banner::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(100deg, rgba(8,6,5,.88) 0%, rgba(8,6,5,.68) 46%, rgba(8,6,5,.2) 100%);
  }
  .quote-inner{position:relative;z-index:2;max-width:640px;}
  .quote-mark{font-family:'Oswald',sans-serif;font-size:70px;color:var(--red);line-height:.5;display:block;margin-bottom:18px;}
  .quote-inner p.big{color:#fff;font-size:clamp(22px,2.6vw,30px);font-family:'Oswald',sans-serif;font-weight:500;text-transform:none;letter-spacing:0;line-height:1.35;}
  .quote-attr{margin-top:22px;color:var(--gold);font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:14px;}
  .quote-attr span{display:block;color:#bdb8ac;text-transform:none;font-family:'Inter',sans-serif;font-size:14px;margin-top:2px;letter-spacing:0;}

  /* ---------- Promise ---------- */
  .promise{text-align:center;padding:80px 0;}
  .promise p{
    font-family:'Oswald',sans-serif;font-weight:600;font-size:clamp(20px,3vw,30px);
    max-width:16ch;margin:0 auto;text-transform:none;letter-spacing:0;color:var(--ink);
  }
  .promise .who{margin-top:16px;color:var(--red);font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-size:14px;}

  /* ---------- Kontakt ---------- */
  .kontakt{
    position:relative;background:var(--ink) url('truck-kontakt.jpg') center / cover no-repeat;
    padding:100px 0;
  }
  .kontakt::before{
    content:"";position:absolute;inset:0;background:linear-gradient(100deg, rgba(10,8,6,.94) 0%, rgba(10,8,6,.86) 50%, rgba(10,8,6,.55) 100%);
  }
  .kontakt-inner{position:relative;z-index:2;display:grid;grid-template-columns:0.85fr 1.15fr;gap:60px;}
  .kontakt h2{color:#fff;}
  .kontakt-info{color:#e6e2d6;}
  .kontakt-info .kicker-rule{background:var(--red);}
  .kontakt-info p{margin:6px 0 26px;}
  .kontakt-info dl{margin:0;}
  .kontakt-info dt{font-family:'Oswald',sans-serif;text-transform:uppercase;font-size:13px;letter-spacing:.05em;color:var(--gold);margin-top:20px;}
  .kontakt-info dd{margin:4px 0 0;font-size:16px;}
  .kontakt-info a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);}
  .kontakt-info a:hover{border-color:#fff;}

  form.kform{background:#fff;padding:38px;display:grid;gap:16px;}
  form.kform input, form.kform textarea{
    width:100%;padding:13px 14px;border:1px solid var(--line);background:var(--paper);
    font-family:'Inter',sans-serif;font-size:15px;color:var(--ink);
  }
  form.kform textarea{min-height:130px;resize:vertical;}
  form.kform label.check{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;color:var(--grey);}
  form.kform label.check input{width:auto;margin-top:3px;}
  form.kform button{
    justify-self:start;
    font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
    background:var(--red);color:#fff;border:none;padding:15px 34px;font-size:15px;cursor:pointer;
  }
  form.kform button:hover{background:var(--red-dark);}
  .form-note{font-size:12.5px;color:var(--grey);margin-top:-4px;}

  /* ---------- Footer ---------- */
  footer{background:#0e0c0a;color:#a49f92;padding:50px 0 26px;}
  .foot-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1);}
  .foot-top img{height:38px;}
  .foot-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;padding-top:22px;font-size:13px;}
  .foot-bottom a{text-decoration:none;color:#a49f92;}
  .foot-bottom a:hover{color:#fff;}

  @media (max-width:900px){
    .split, .ablauf-grid, .kontakt-inner{grid-template-columns:1fr;}
    .split.reverse .split-media{order:1;}
    .split.reverse .split-text{order:2;}
    .service-list{grid-template-columns:1fr;}
    .stats{grid-template-columns:1fr;}
    .stat{border-right:none;border-bottom:1px solid rgba(255,255,255,.12);}
    .usp-grid{grid-template-columns:1fr 1fr;gap:32px 20px;}
    .wide-banner-media{aspect-ratio:3/4.6;overflow:hidden;}
    .wide-banner-media img{height:100%;object-fit:cover;object-position:90% 50%;}

    .hero{grid-template-columns:1fr;}
    .hero-media{clip-path:none;min-height:280px;order:-1;}
    .hero-text{padding:44px 24px 56px;}
    .hero h1{font-size:clamp(32px,8vw,44px);}

    nav.links{
      display:none;
      position:absolute;top:100%;left:0;right:0;
      flex-direction:column;gap:0;
      background:#fff;border-bottom:1px solid var(--line);
      box-shadow:0 12px 24px rgba(0,0,0,.08);
    }
    nav.links.open{display:flex;}
    nav.links a{padding:16px 28px;border-top:1px solid var(--line);}
    nav.links a:first-child{border-top:none;}
    .burger{display:block;}
    .nav-cta{display:none;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .anim-in, .anim-in-right, .reveal, .steps li{animation:none !important;opacity:1 !important;transform:none !important;transition:none !important;}
    .route-strip{animation:none;}
    .split-media img, .ablauf-media img{transition:none;}
  }
