:root{
  --band:#3a3632;  /* warmer Anthrazit */
  --text:#f2f2f2;
  --muted:#d2d2d2;
  --gold:#b59b6a;
}

body{
  margin:0;
  font-family:Segoe UI, sans-serif;
  background:#0f0f10;
  overflow-x:hidden;
  opacity:0;
  transition:.35s;
}
.page-enter{opacity:1}

.parallax-bg{
  position:fixed;
  inset:0;
  height:135%;
  background:url("media/aurawebsite.png") center/cover no-repeat;
  z-index:-2;
  will-change: transform;
}

.fixed-logo{
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  z-index:-1;
  opacity:.9;
}
.fixed-logo img{width:460px;max-width:70vw}

.content-section{
  display:flex;
  flex-direction:column;
  gap:180px;
  padding:140px 0;
}

/* Warm bands */
.single-band{
  background:var(--band);
  box-shadow:0 18px 50px rgba(0,0,0,.6);
}
.band-inner{
  max-width:1000px;
  margin:auto;
  padding:90px 8%;
  text-align:center;
}

/* Floating videos */
.video-float{
  display:flex;
  justify-content:center;
}
.video-card{
  max-width:760px;
  width:90%;
  background:rgba(0,0,0,.58);
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.55);
  transition:.3s;
  padding-bottom:20px;
}
.video-card:hover{transform:translateY(-6px)}
.video{
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  border-radius:18px 18px 0 0;
}
.band-title{
  padding:26px;
  margin:0;
  color:var(--text);
}
.band-text{
  padding:0 26px 26px;
  color:var(--muted);
  line-height:1.7;
}
h2,h3{color:var(--text)}

/* Buttons */
.cta-wrap{
  display:flex;
  justify-content:center;
  gap:14px;
}
.btn{
  border:2px solid var(--gold);
  padding:14px 40px;
  border-radius:40px;
  color:var(--gold);
  text-decoration:none;
  font-weight:600;
  transition:.3s;
  background:transparent;
}
.btn:hover{
  background:var(--gold);
  color:#111;
  box-shadow:0 0 18px rgba(181,155,106,.6);
}
.btn.back{
  background:var(--band);
  border-color:var(--band);
  color:#fff;
}
.btn.back:hover{background:#4a4540}

/* Progress bar */
.progress-wrap{
  position:fixed;
  top:0;left:0;
  width:100%;
  height:4px;
  background:rgba(255,255,255,.16);
  z-index:10;
}
.progress-bar{
  height:100%;
  width:0%;
  background:var(--gold);
  box-shadow:0 0 14px rgba(181,155,106,.55);
}

/* End list */
.end-list{display:flex;flex-direction:column;gap:22px}
.end-item{
  display:flex;gap:18px;
  background:rgba(255,255,255,.06);
  padding:18px;border-radius:14px
}
.end-media{
  width:160px;height:100px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(181,155,106,.22);
  display:flex;align-items:center;justify-content:center;
  color:#fff;border-radius:10px
}

@media(max-width:800px){
  .fixed-logo img{width:360px}
  .content-section{gap:130px}
  .end-item{flex-direction:column;text-align:center}
  .end-media{width:100%;height:160px}
}


/* TIMELINE */

.timeline{
  position: relative;
  max-width: 980px;
  margin: 90px auto 20px;
  padding: 10px 0;
}

.timeline-line{
  position:absolute;
  left:50%;
  top:0;
  transform:translateX(-50%);
  width:4px;
  height:100%;
  background: linear-gradient(180deg, rgba(181,155,106,0), rgba(181,155,106,.95), rgba(181,155,106,0));
  border-radius: 99px;
  box-shadow: 0 0 18px rgba(181,155,106,.45);
  pointer-events:none;
}

.timeline-item{
  position: relative;
  display:flex;
  margin: 90px 0;
}

.timeline-item.left{ justify-content:flex-start; }
.timeline-item.right{ justify-content:flex-end; }

.timeline-dot{
  position:absolute;
  left:50%;
  top: 52px;
  transform:translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: #111;
  border: 2px solid rgba(181,155,106,.95);
  box-shadow: 0 0 0 6px rgba(181,155,106,.18), 0 0 22px rgba(181,155,106,.55);
}

.timeline-card{
  width: min(520px, 46%);
  display:flex;
  gap: 18px;
  align-items:center;
  text-align:left;
  /* IMPORTANT: no white background */
  background: transparent;
}

.timeline-item.right .timeline-card{
  flex-direction: row-reverse;
  text-align:left;
}

.timeline-media{
  width: 96px;
  height: 96px;
  border-radius: 999px;
  overflow:hidden;
  border: 1px solid rgba(181,155,106,.35);
  background: rgba(0,0,0,.10);
  box-shadow: 0 10px 28px rgba(0,0,0,.28);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex: 0 0 auto;
}

.timeline-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.timeline-media.ph{
  background: radial-gradient(circle at 30% 30%, rgba(181,155,106,.25), rgba(0,0,0,.06));
}

.ph-label{
  position:absolute;
  font-weight: 800;
  letter-spacing:.4px;
  color: rgba(43,43,43,.72);
}

.timeline-copy h3{
  margin:0 0 6px;
  font-size: 1.15rem;
}

.timeline-copy p{
  margin:0;
  line-height: 1.65;
}

/* Scroll-in animation */
.tl-hidden{
  opacity:0;
  transform: translateX(140px);
}

.timeline-item.left.tl-hidden{ transform: translateX(-140px); }

.tl-show{
  opacity:1;
  transform: translateX(0);
  transition: opacity .85s ease, transform .85s cubic-bezier(.2,.9,.2,1);
}

/* Mobile */
@media (max-width: 860px){
  .timeline-line{ left: 16px; transform:none; }
  .timeline-dot{ left: 16px; transform:translate(-50%,-50%); }
  .timeline-item{ justify-content:flex-start; padding-left: 44px; }
  .timeline-card{ width: 100%; }
  .timeline-item.right .timeline-card{ flex-direction: row; }
}



/* ===== Vision timeline refinements (no band background) ===== */
body.vision .single-band{
  background: transparent !important;
  box-shadow: none !important;
}
body.vision .band-inner{
  text-align: center;
  padding-top: 60px;
  padding-bottom: 40px;
}
body.vision .band-inner h2,
body.vision .band-inner h3{
  color: #f2f2f2;
}
body.vision .band-text{
  color: rgba(242,242,242,.78);
}

/* Make timeline stand out against dark Aura background */
body.vision .timeline{
  margin-top: 110px;
  margin-bottom: 10px;
}
body.vision .timeline-line{
  width: 5px;
  background: linear-gradient(
    180deg,
    rgba(181,155,106,0),
    rgba(255,236,200,.95),
    rgba(181,155,106,.85),
    rgba(255,236,200,.95),
    rgba(181,155,106,0)
  );
  box-shadow: 0 0 26px rgba(181,155,106,.55), 0 0 60px rgba(255,236,200,.18);
  opacity: .95;
}

/* Smaller “point badges” instead of big circles */
body.vision .timeline-media{
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(20,20,22,.55);
  border: 1px solid rgba(181,155,106,.35);
  box-shadow: 0 10px 24px rgba(0,0,0,.45);
}
body.vision .timeline-media img{
  border-radius: 14px;
}
body.vision .timeline-media.ph{
  background: radial-gradient(circle at 30% 30%, rgba(181,155,106,.28), rgba(0,0,0,.16));
}
body.vision .ph-label{
  color: rgba(255,236,200,.88);
  font-size: .9rem;
}

/* Dot: crisp, bright, no “muddy” look */
body.vision .timeline-dot{
  width: 12px;
  height: 12px;
  border: 2px solid rgba(255,236,200,.95);
  background: rgba(15,15,16,.85);
  box-shadow: 0 0 0 7px rgba(181,155,106,.15), 0 0 26px rgba(255,236,200,.42);
}

/* Copy blocks: glassy but NO white background */
body.vision .timeline-card{
  background: rgba(10,10,12,.28);
  border: 1px solid rgba(255,236,200,.14);
  border-radius: 16px;
  padding: 16px 18px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
body.vision .timeline-copy p{
  color: rgba(242,242,242,.78);
}

/* Buttons on vision page stay readable */
body.vision .cta-wrap{
  margin-top: 40px;
}



/* ===== Vision headline background ===== */
body.vision .band-inner{
  background: rgba(10,10,12,.32);
  border: 1px solid rgba(255,236,200,.18);
  border-radius: 22px;
  padding: 70px 60px 40px;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 18px 45px rgba(0,0,0,.45);
}

/* ===== Bigger timeline badges & content ===== */
body.vision .timeline-media{
  width: 110px;
  height: 110px;
  border-radius: 22px;
}

body.vision .timeline-media img{
  border-radius: 22px;
}

body.vision .ph-label{
  font-size: 1.3rem;
}

body.vision .timeline-card{
  padding: 26px 28px;
}

body.vision .timeline-copy h3{
  font-size: 1.45rem;
}

body.vision .timeline-copy p{
  font-size: 1.05rem;
}

body.vision .timeline-dot{
  width: 18px;
  height: 18px;
  box-shadow: 0 0 0 10px rgba(181,155,106,.18), 0 0 36px rgba(255,236,200,.6);
}



/* ===== Vision v3: intro gets same glass background + bigger badges ===== */
body.vision .vision-intro{
  display: inline-block;
  text-align: center;
  margin: 0 auto;
  padding: 22px 26px;
  border-radius: 16px;
  background: rgba(10,10,12,.28);
  border: 1px solid rgba(255,236,200,.14);
  box-shadow: 0 18px 45px rgba(0,0,0,.35);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

body.vision .vision-intro .band-text{
  margin-bottom: 0;
}

body.vision .timeline-media{
  width: 112px;   /* doubled */
  height: 112px;  /* doubled */
  border-radius: 22px;
}

body.vision .timeline-media img{
  border-radius: 22px;
}

body.vision .ph-label{
  font-size: 1.8rem;  /* doubled-ish */
}

/* Slightly increase card spacing to match bigger media */
body.vision .timeline-card{
  padding: 18px 20px;
  gap: 20px;
}

/* Dot slightly larger to match */
body.vision .timeline-dot{
  width: 16px;
  height: 16px;
  box-shadow: 0 0 0 10px rgba(181,155,106,.15), 0 0 30px rgba(255,236,200,.42);
}



body.vision .single-band{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}



/* REMOVE big glass background on Vision page */
body.vision .content-section,
body.vision .single-band{
  background: transparent !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  box-shadow: none !important;
  border: none !important;
}



/* Fullscreen fix (Safari): avoid transform on hover for video containers */
.video-card:hover{
  transform: none !important;
}



/* ===== Bigger Videos ===== */
.video-box,
.video-card{
  max-width: 900px !important;
}

.video-box video,
.video-card video,
.video-box iframe{
  width: 100% !important;
}

/* ===== Special Headings ===== */
h1, h2, h3{
  position: relative;
  font-weight: 700;
  letter-spacing: 1px;
  background: linear-gradient(90deg,#fff,#e6c58a,#fff);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

h1::after, h2::after, h3::after{
  content:'';
  display:block;
  width:60px;
  height:3px;
  margin:10px auto 0;
  background:linear-gradient(90deg,#e6c58a,#fff,#e6c58a);
  border-radius:4px;
  box-shadow:0 0 12px rgba(230,197,138,.6);
}



/* ===== Global video sizing: uniform + larger (v2) ===== */
:root{
  --video-max: 1580px;   /* +50% vs previous */
  --video-w: min(96vw, var(--video-max));
}

/* Any video element on the site */
video.video,
.video-card,
.video-box,
.video-wrap,
.video-container{
  width: var(--video-w) !important;
  max-width: var(--video-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Ensure the actual <video> fills the wrapper */
video,
.video video{
  width: 100% !important;
  height: auto !important;
  display: block;
  aspect-ratio: 16 / 9;
}

/* Make multi-video grids single-column so every video gets the SAME big size */
.video-grid.three,
.video-grid.six{
  grid-template-columns: 1fr !important;
  justify-items: center;
  max-width: var(--video-max) !important;
}

/* Extra spacing around videos so it doesn't feel cramped */
.video-card,
.video{
  margin-top: 48px !important;
  margin-bottom: 48px !important;
}



/* ===== Headline upgrade v2 (less boring) ===== */
@keyframes auraShimmer{
  0%{ background-position: 0% 50%; }
  100%{ background-position: 100% 50%; }
}

h2{
  font-weight: 720;
  text-transform: uppercase;
  letter-spacing: 1.8px;
  position: relative;
  padding: 22px 26px 18px;
  border-radius: 18px;
  /* subtle glass behind ONLY the heading (not a big section background) */
  background: rgba(10,10,12,.18);
  border: 1px solid rgba(255,236,200,.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 18px 45px rgba(0,0,0,.25);
  margin-bottom: 22px;
}

h2{
  background-image: linear-gradient(90deg,
    rgba(255,236,200,.95),
    rgba(181,155,106,1),
    rgba(255,236,200,.95),
    rgba(181,155,106,1));
  background-size: 220% 220%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: auraShimmer 7s ease-in-out infinite alternate;
  text-shadow: 0 16px 40px rgba(0,0,0,.22);
}

h2::before{
  content:"AURA";
  position:absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  font-size: .72rem;
  letter-spacing: 4px;
  color: rgba(255,236,200,.78);
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(181,155,106,.25);
  box-shadow: 0 0 26px rgba(181,155,106,.22);
}

h2::after{
  content:"";
  position:absolute;
  left: 50%;
  bottom: 10px;
  transform: translateX(-50%);
  width: 68%;
  height: 2px;
  background: linear-gradient(90deg,
    rgba(181,155,106,0),
    rgba(255,236,200,.95),
    rgba(181,155,106,1),
    rgba(255,236,200,.95),
    rgba(181,155,106,0));
  box-shadow: 0 0 18px rgba(181,155,106,.5);
  border-radius: 99px;
}

/* little corner accents */
h2 span.h2-accent{ display:none; } /* harmless if not present */
h2{
  outline: 0;
}
h2 .kicker{ display:none; }


@media (max-width: 980px){
  :root{ --video-w: 94vw; }
  h2{ padding: 18px 18px 14px; letter-spacing: 1.2px; }
}



/* ===== Final adjustments ===== */

/* Center all headings */
h1, h2, h3, h4{
  text-align: center !important;
  margin-left: auto;
  margin-right: auto;
}

/* Reduce global video size by ~30% */
:root{
  --video-max: 1100px !important;
  --video-w: min(92vw, var(--video-max)) !important;
}



/* ===== Remove oval accent above headings ===== */
h2::before{
  content: none !important;
  display: none !important;
}



/* ===== Video thumbnails (poster images) ===== */
video{
  background: #000;
}
video[poster]{
  object-fit: cover;
}
/* =========================
   Mobile Optimierung (v1)
   ========================= */

/* bessere Touch-Bedienung */
.btn{
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Logo soll nie klicks blocken */
.fixed-logo{
  pointer-events: none;
}

/* Tablet & kleiner */
@media (max-width: 900px){
  .content-section{
    padding: 110px 0;
    gap: 120px;
  }
  .fixed-logo img{ width: 340px; }
  .video-card{ width: 92vw; }
}

/* Handy */
@media (max-width: 600px){
  /* weniger “leere” Höhe */
  .content-section{
    padding: 90px 0;
    gap: 78px;
  }

  /* Parallax auf Mobile entschärfen (Performance) */
  .parallax-bg{
    height: 120%;
    will-change: auto;
    transform: none !important;
  }

  /* Logo kleiner + dezenter */
  .fixed-logo{
    opacity: .55;
  }
  .fixed-logo img{ width: 260px; max-width: 72vw; }

  /* Cards kompakter */
  .video-card{
    border-radius: 16px;
    padding-bottom: 14px;
  }
  .band-title{
    padding: 16px 16px 10px;
    font-size: 1.05rem;
  }
  .band-text{
    padding: 0 16px 16px;
    font-size: .98rem;
  }

  /* Buttons untereinander (Daumenfreundlich) */
  .cta-wrap{
    flex-direction: column;
    gap: 12px;
    padding: 0 16px;
  }
  .btn{
    width: 100%;
    padding: 14px 18px;
  }
}

/* Sehr kleine Geräte */
@media (max-width: 420px){
  .content-section{
    padding: 76px 0;
    gap: 62px;
  }
  .fixed-logo img{ width: 220px; }
  .band-title{ font-size: 1rem; }
}


