/* ============================================================
   FARBEN & GRUNDWERTE — identische Palette wie Version 1
   ============================================================ */
:root{
  --navy:    #0C1A2E;   /* Dunkelblau */
  --navy-2:  #14253E;   /* aufgehellte Variante */
  --blau:    #59637E;   /* Header-/Akzentblau */
  --cream:   #FFFBF0;   /* Creme (Überschriften / helle Sektion) */
  --text:    rgba(255,251,240,.8);
  --line:    rgba(255,251,240,.18);
  --line-d:  rgba(12,26,46,.18);

  --font-display: 'Cormorant Garamond', Georgia, serif;
  --font-body:    'Avenir Next', 'Avenir', 'Mulish', 'Helvetica Neue', sans-serif;
  --max-w: 1200px;
  --ease: cubic-bezier(.22,1,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;max-width:100%;}
body{
  font-family:var(--font-body);font-weight:300;
  font-size:1.28rem;line-height:1.8;
  color:var(--text);background:var(--navy);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:var(--blau);color:var(--cream);}

h1,h2,h3{font-family:var(--font-display);font-weight:300;color:var(--cream);line-height:1.1;}
h2{font-size:clamp(2.4rem,5vw,4rem);letter-spacing:.02em;}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 clamp(1.5rem,5vw,4rem);}

/* Mikro-Label über Sektionen */
.label{
  display:flex;align-items:center;gap:1rem;
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--blau);margin-bottom:2.2rem;
}
.label::before{content:"";width:42px;height:1px;background:var(--blau);}
.light .label{color:var(--blau);}

/* ---------- Header: transparent → blau beim Scrollen ---------- */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:rgba(12,26,46,.96);backdrop-filter:blur(10px);
  transition:box-shadow .5s;
}
header.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.35);}
.nav{
  max-width:var(--max-w);margin:0 auto;
  padding:1rem clamp(1.2rem,4vw,3rem);
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
}
.brand{
  font-family:var(--font-display);font-weight:300;font-size:1.15rem;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;color:var(--cream);white-space:nowrap;
}
nav ul{display:flex;gap:1.5rem;list-style:none;align-items:center;}
nav a{
  position:relative;text-decoration:none;font-size:.68rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--cream);padding-bottom:4px;white-space:nowrap;
}
nav a::after{
  content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;
  background:var(--cream);transform:scaleX(0);transform-origin:right;
  transition:transform .4s var(--ease);
}
nav a:hover::after{transform:scaleX(1);transform-origin:left;}
.burger{display:none;background:none;border:none;cursor:pointer;font-size:1.6rem;color:var(--cream);}

/* ---------- Buttons ---------- */
.btn{
  position:relative;display:inline-block;overflow:hidden;
  font-family:var(--font-body);font-size:.78rem;letter-spacing:.24em;text-transform:uppercase;
  padding:1rem 2.6rem;text-decoration:none;color:var(--cream);
  border:1px solid var(--cream);border-radius:0;cursor:pointer;background:transparent;
  transition:color .45s var(--ease);z-index:1;
}
.btn::before{
  content:"";position:absolute;inset:0;background:var(--cream);
  transform:translateY(101%);transition:transform .45s var(--ease);z-index:-1;
}
.btn:hover{color:var(--navy);}
.btn:hover::before{transform:translateY(0);}
.light .btn{color:var(--navy);border-color:var(--navy);}
.light .btn::before{background:var(--navy);}
.light .btn:hover{color:var(--cream);}

/* ---------- Hero ---------- */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;}
.hero-media{position:absolute;inset:0;}
.hero-media img{
  width:100%;height:100%;object-fit:cover;
  object-position:center 6%;
  transform-origin:center top;
  animation:kenburns 22s var(--ease) forwards;
}
@keyframes kenburns{from{transform:scale(1.06);}to{transform:scale(1);}}
.hero::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(95deg,
    rgba(12,26,46,.72) 0%,
    rgba(12,26,46,.58) 28%,
    rgba(12,26,46,.28) 52%,
    rgba(12,26,46,.05) 70%,
    rgba(12,26,46,0) 100%);
}
.hero-content{
  position:absolute;z-index:2;
  top:max(9vh,78px);left:clamp(1.5rem,7vw,7rem);
  text-align:left;
}
/* ausgefüllte Button-Variante (Hero) – blau hinterlegt */
.btn--fill{background:var(--blau);color:var(--cream);border-color:var(--blau);}
.btn--fill::before{background:var(--cream);}
.btn--fill:hover{color:var(--navy);border-color:var(--cream);}
/* auch auf Creme-Hintergrund blau gefüllt */
.light .btn--fill{background:var(--blau);color:var(--cream);border-color:var(--blau);}
.light .btn--fill::before{background:var(--navy);}
.light .btn--fill:hover{color:var(--cream);border-color:var(--navy);}
.hero-kicker{
  font-size:.98rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cream);
  opacity:0;animation:fadeUp 1s var(--ease) .45s forwards;margin-top:1.4rem;
}
.hero-logo{
  /* fest am unteren Bildrand verankert – rutscht nicht mehr mit dem Textumbruch */
  position:absolute;z-index:2;
  bottom:3cm;                    /* Abstand zum Laufband darunter */
  right:52%;                     /* rechte Logokante knapp links von Regulas Arm */
  width:clamp(200px,21vw,320px);
  filter:drop-shadow(0 2px 18px rgba(12,26,46,.45));
  opacity:0;animation:fadeUp 1s var(--ease) 1s forwards;
}
@media(max-width:900px){
  .hero-logo{
    right:auto;left:clamp(1.5rem,7vw,7rem);
    bottom:2rem;width:clamp(150px,28vw,230px);
  }
}
.hero h1{
  font-size:clamp(3rem,8vw,7rem);letter-spacing:.05em;text-transform:uppercase;
  text-shadow:0 2px 40px rgba(0,0,0,.35);
}
.hero h1 .line{display:block;overflow:hidden;}
.hero h1 .line span{
  display:block;transform:translateY(110%);
  animation:lineUp 1.1s var(--ease) forwards;
}
.hero h1 .line:nth-child(2) span{animation-delay:.18s;font-style:italic;}
@keyframes lineUp{to{transform:translateY(0);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.hero-content .btn{margin-top:2.2rem;opacity:0;animation:fadeUp 1s var(--ease) .75s forwards;}
}

/* ---------- Laufband ---------- */
.marquee{
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:1.6rem 0;overflow:hidden;
}
.marquee-track{display:flex;width:max-content;animation:marquee 40s linear infinite;will-change:transform;}
.marquee-half{display:flex;align-items:center;gap:3.5rem;padding-right:3.5rem;flex:none;}
.marquee span{
  font-family:var(--font-display);font-weight:300;font-style:italic;
  font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:.06em;
  color:var(--cream);white-space:nowrap;
}
.marquee span b{font-weight:300;font-style:normal;color:var(--blau);}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- Claim-Band (Blumenbild) ---------- */
.light{background:var(--cream);color:rgba(12,26,46,.85);}
.light h2,.light h3{color:var(--navy);}
.claim-band{position:relative;height:70vh;min-height:460px;overflow:hidden;}
.claim-band .media{position:absolute;inset:-20% 0;}
.claim-band .media img{width:100%;height:100%;object-fit:cover;object-position:center 40%;will-change:transform;}
.claim-inner{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:0 1.5rem;
}
.claim-inner p{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(2.1rem,4.4vw,3.4rem);line-height:1.45;color:var(--navy);
  background:rgba(255,251,240,.62);
  backdrop-filter:blur(6px);
  padding:1.8rem clamp(1.8rem,4.5vw,3.2rem);
  border-radius:2px;text-align:center;
  box-shadow:0 8px 40px rgba(12,26,46,.18);
}
.claim-inner em{font-style:italic;letter-spacing:.04em;}
.claim-inner .line-nowrap{white-space:nowrap;}

/* ---------- Sektionen ---------- */
section.block{padding:clamp(6rem,11vw,9.5rem) 0;position:relative;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,6vw,6rem);align-items:center;}
/* Über mich: Text auf Bildhöhe begrenzt, ausklappbar */
.about-clip{
  position:relative;overflow:hidden;
  max-height:34rem;
  transition:max-height .9s var(--ease);
}
.about-clip::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:7rem;
  background:linear-gradient(to bottom, rgba(255,251,240,0), var(--cream));
  transition:opacity .5s var(--ease);pointer-events:none;
}
.about-clip.open{max-height:200rem;}
.about-clip.open::after{opacity:0;}
.about-toggle{
  margin-top:1.6rem;background:none;border:none;cursor:pointer;
  font-family:var(--font-body);font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--blau);padding:0 0 3px;border-bottom:1px solid var(--blau);
  transition:color .3s var(--ease),border-color .3s var(--ease);
}
.about-toggle:hover{color:var(--navy);border-color:var(--navy);}

/* versetztes, überlappendes Layout */
.offset-grid{display:grid;grid-template-columns:7fr 5fr;gap:0;align-items:center;}
.offset-grid .img-side{position:relative;height:min(78vh,720px);overflow:hidden;}
.offset-grid .img-side img{
  width:100%;height:115%;object-fit:cover;will-change:transform;
}
.offset-grid .text-card{
  position:relative;z-index:2;margin-left:-14%;
  background:var(--navy-2);border:1px solid var(--line);
  padding:clamp(2.2rem,4vw,3.8rem);
}
.offset-grid.flip{grid-template-columns:5fr 7fr;}
/* Textkarte oben bündig mit dem Bild */
.offset-grid.offset-top{align-items:start;}
.offset-grid.offset-top .text-card{margin-top:clamp(2rem,5vw,4rem);}
.offset-grid.flip .img-side{order:2;}
.offset-grid.flip .text-card{order:1;margin-left:0;margin-right:-14%;}
/* Hochformat-Bild: volle Person sichtbar, kein Anschnitt im Gesicht */
.offset-grid .img-portrait{height:auto;aspect-ratio:3/4;align-self:center;}
.offset-grid .img-portrait img{height:100%;object-fit:cover;}
.light .text-card{background:var(--cream);border-color:var(--line-d);}

.fragen-intro{text-align:center;max-width:720px;margin:0 auto 4rem;}
.fragen-intro h2{margin-bottom:1.4rem;}
.intro-divider{width:60px;height:1px;background:var(--blau);margin:0 auto 1.8rem;}
.fragen-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:0 clamp(2.5rem,6vw,5rem);
  max-width:980px;margin:0 auto;
}
.fragen-grid p{
  padding:1.5rem 0;border-bottom:1px solid var(--line);
  font-size:1.2rem;line-height:1.7;
}
.fragen-grid p:first-child,.fragen-grid p:nth-child(2){border-top:1px solid var(--line);}
.fragen-last{border-bottom:1px solid var(--line);}
.fragen-outro{max-width:840px;text-align:left;color:var(--text);}

.preis-big{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(2.6rem,5vw,3.6rem);color:var(--navy);line-height:1.25;margin:1.6rem 0;
}
.preis-big em{font-style:italic;}
.preis-sub{font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--blau);}

/* ---------- Zitat-Band ---------- */
.quote-band{position:relative;height:78vh;min-height:480px;overflow:hidden;}
.quote-band .media{position:absolute;inset:0;}
.quote-band .media img{width:100%;height:118%;object-fit:cover;object-position:center 22%;will-change:transform;}
.quote-band .inner{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  gap:clamp(2rem,5vw,4.5rem);
  background:rgba(12,26,46,.5);padding:0 1.5rem;
}
.quote-logo{
  width:clamp(170px,22vw,300px);flex-shrink:0;
  filter:drop-shadow(0 2px 18px rgba(0,0,0,.4));
}
.quote-band p{
  font-family:var(--font-display);font-weight:300;font-style:italic;color:var(--cream);
  font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.55;max-width:680px;text-align:left;
}
.quote-band .qline{display:block;}
/* Variante ohne Bild: ruhige dunkelblaue Sektion */
.quote-plain{height:auto;min-height:0;background:var(--navy-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(4.5rem,9vw,7rem) 0;}
.quote-plain .inner{position:static;background:none;padding:0;}

/* ---------- FAQ ---------- */
.faq .faq-list{max-width:780px;margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);}
.faq details:first-of-type{border-top:1px solid var(--line);}
.faq summary{
  cursor:pointer;list-style:none;padding:1.1rem 0;
  font-family:var(--font-display);font-weight:300;font-size:clamp(1.15rem,2vw,1.4rem);color:var(--cream);
  display:flex;justify-content:space-between;align-items:center;gap:1.5rem;
  transition:padding-left .4s var(--ease);
}
.faq summary:hover{padding-left:.8rem;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";font-family:var(--font-body);font-weight:300;font-size:1.35rem;color:var(--blau);
  transition:transform .4s var(--ease);flex-shrink:0;
}
.faq details[open] summary::after{transform:rotate(45deg);}
.faq .answer{max-width:780px;padding:0 0 1.3rem;font-size:1.12rem;line-height:1.75;}

/* ---------- Freebie / Quiz ---------- */
.freebie-section{position:relative;}
.quiz-card{
  max-width:760px;margin:0 auto;text-align:center;
  background:var(--navy-2);border:1px solid var(--line);
  padding:clamp(2.5rem,6vw,4.5rem);min-height:340px;
}
.freebie-tag{
  display:inline-block;font-size:.92rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cream);opacity:.9;margin-bottom:1.6rem;
}
.quiz-card h2{margin-bottom:1.4rem;}
.quiz-card > .quiz-screen p{max-width:560px;margin:0 auto;}
.freebie-note{font-size:.86rem;letter-spacing:.04em;color:var(--text);opacity:.7;margin-top:2.4rem;}

/* Fortschritt */
.quiz-progress{height:2px;background:var(--line);margin-bottom:1.8rem;border-radius:2px;overflow:hidden;}
.quiz-progress span{display:block;height:100%;width:0;background:var(--blau);transition:width .4s var(--ease);}
.quiz-count{font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--blau);margin-bottom:1rem;}
.quiz-question{
  font-family:var(--font-display);font-weight:300;color:var(--cream);
  font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.3;margin-bottom:1.8rem;max-width:600px;margin-left:auto;margin-right:auto;
}
.quiz-options{display:flex;flex-direction:column;gap:.8rem;max-width:560px;margin:0 auto;}
.quiz-option{
  text-align:left;background:transparent;color:var(--text);
  border:1px solid var(--line);border-radius:0;cursor:pointer;
  padding:1.05rem 1.3rem;font-family:var(--font-body);font-size:1.1rem;line-height:1.55;
  transition:border-color .3s var(--ease),background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease);
}
.quiz-option:hover{border-color:var(--cream);background:rgba(255,251,240,.05);transform:translateX(4px);}
.quiz-option.selected{border-color:var(--blau);background:rgba(89,99,126,.25);color:var(--cream);}
.quiz-back{
  margin-top:1.8rem;background:none;border:none;cursor:pointer;
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);opacity:.7;
  transition:opacity .25s;
}
.quiz-back:hover{opacity:1;}

/* Ergebnis */
.quiz-result h2{font-family:var(--font-display);font-weight:300;color:var(--cream);font-size:clamp(2rem,4vw,3rem);margin-bottom:1.2rem;}
.result-coaching{color:var(--cream);font-family:var(--font-display);font-style:italic;font-size:1.2rem;margin-top:1.4rem !important;}
.quiz-email{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:2rem;}
.quiz-email-intro{font-size:1.08rem;}
.quiz-email-form{display:flex;gap:.7rem;max-width:460px;margin:1.4rem auto 0;flex-wrap:wrap;}
.quiz-email-form input{
  flex:1;min-width:200px;padding:.85rem 1rem;background:rgba(12,26,46,.4);
  border:1px solid var(--line);color:var(--cream);font-family:var(--font-body);font-size:.95rem;border-radius:0;
}
.quiz-email-form input:focus{outline:none;border-color:var(--blau);}
.quiz-email-form .btn{padding:.85rem 1.6rem;white-space:nowrap;}
.quiz-email-done{color:var(--cream);font-family:var(--font-display);font-style:italic;font-size:1.15rem;}
.quiz-actions{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:2.5rem;flex-wrap:wrap;}
.quiz-restart{background:none;border:none;cursor:pointer;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text);opacity:.7;transition:opacity .25s;}
.quiz-restart:hover{opacity:1;}

/* ---------- CTA-Band ---------- */
.cta-band{padding:clamp(6rem,11vw,9rem) 0;text-align:center;border-top:1px solid var(--line);}
.cta-band h2{margin-bottom:.6rem;}
.cta-band em{font-style:italic;}
.cta-band p{max-width:560px;margin:0 auto 2.6rem;}

/* ---------- Footer ---------- */
footer{background:var(--blau);color:rgba(255,251,240,.88);padding:5.5rem 0 2rem;}
footer h3{font-family:var(--font-body);font-weight:400;font-size:.95rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cream);margin-bottom:1.8rem;}
.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,7vw,6rem);align-items:start;}
footer a{color:rgba(255,251,240,.88);text-decoration:none;transition:opacity .25s;}
footer a:hover{opacity:.7;}

/* Kontaktspalte – grösser und ruhiger */
footer .kontakt-name{
  font-family:var(--font-display);font-weight:300;color:var(--cream);
  font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.2;margin-bottom:1.2rem;
}
footer .kontakt-adresse{font-size:1.15rem;line-height:1.75;margin-bottom:1.4rem;}
footer .kontakt-direkt{font-size:1.15rem;line-height:1.9;}
footer .kontakt-direkt a{border-bottom:1px solid rgba(255,251,240,.35);padding-bottom:1px;}
footer .kontakt-direkt a:hover{border-color:var(--cream);opacity:1;}
footer .kontakt-claim{
  margin-top:2rem;font-size:.98rem;line-height:1.8;opacity:.8;
  max-width:32ch;padding-top:1.6rem;border-top:1px solid rgba(255,251,240,.2);
}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:0;}
.form-grid .full{grid-column:1/-1;}
input,textarea{
  width:100%;padding:.9rem 1.1rem;
  background:rgba(12,26,46,.22);
  border:1px solid rgba(255,251,240,.3);border-radius:0;
  color:var(--cream);font-family:var(--font-body);font-size:.98rem;
  transition:border-color .3s;
}
input::placeholder,textarea::placeholder{color:rgba(255,251,240,.5);}
input:focus,textarea:focus{outline:none;border-color:var(--cream);}
textarea{min-height:140px;resize:vertical;}
.form-grid .btn{justify-self:start;}
.form-note{font-size:.78rem;line-height:1.6;opacity:.7;margin-top:.4rem;}
.form-note a{text-decoration:underline;}

/* Fussleiste: Copyright + Rechtslinks */
.footer-bottom{
  margin-top:4.5rem;padding-top:1.8rem;
  border-top:1px solid rgba(255,251,240,.2);
  display:flex;align-items:center;justify-content:space-between;
  gap:1.5rem;flex-wrap:wrap;
}
.footer-legal{list-style:none;display:flex;gap:2rem;}
.footer-legal a{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;}
.copyright{margin:0;font-size:.76rem;letter-spacing:.12em;opacity:.65;}

/* ---------- Scroll-Reveal (gestaffelt, mit Unschärfe) ---------- */
.reveal{
  opacity:0;transform:translateY(44px);filter:blur(6px);
  transition:opacity 1s var(--ease),transform 1s var(--ease),filter 1s var(--ease);
  transition-delay:var(--d,0s);
}
.reveal.visible{opacity:1;transform:translateY(0);filter:blur(0);}

/* ---------- Responsive ---------- */
@media (max-width:920px){
  /* Fliesstext auf kleinen Displays kräftiger – 300 ist zu fein zum Lesen */
  body{font-weight:400;}
  p,li,.fragen-grid p,.excerpt{font-weight:400;}

  nav ul{
    position:fixed;inset:0;top:0;flex-direction:column;align-items:center;
    justify-content:center;gap:2.2rem;background:var(--navy);
    transform:translateX(100%);transition:transform .45s var(--ease);
  }
  nav ul.open{transform:translateX(0);}
  nav a{font-size:1rem;}
  .burger{display:block;position:relative;z-index:101;}
  .two-col,.footer-grid{grid-template-columns:1fr;gap:2.5rem;}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:1rem;}
  .footer-legal{gap:1.5rem;}
  .offset-grid,.offset-grid.flip{grid-template-columns:1fr;}
  .offset-grid .img-side{height:60vh;}
  /* Handy: bei BEIDEN Blöcken erst das Bild, dann der Text */
  .offset-grid .img-side,.offset-grid.flip .img-side{order:1;}
  .offset-grid .text-card,.offset-grid.flip .text-card{margin:-4rem 1.2rem 0;order:2;}
  .form-grid{grid-template-columns:1fr;}
  .claim-logo{width:100%;max-width:420px;}
  .claim-text{padding:.8rem;}
  .claim-text > p{padding:1.1rem 1rem;}
  .claim-inner .line-nowrap{white-space:normal;}   /* war .claim-text – Klasse existiert nicht mehr */
  .claim .draw{margin-left:auto;margin-right:auto;}
  .fragen-grid{grid-template-columns:1fr;}
  .fragen-grid p:nth-child(2){border-top:none;}
  .quote-band .inner{flex-direction:column;text-align:center;padding:2rem 1.5rem;}
  .quote-band p{text-align:center;}
  .quote-logo{width:140px;}
}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;filter:none;transition:none;}
  .hero-media img,.marquee-track{animation:none;}
  .hero h1 .line span,.hero-kicker,.hero-content .btn,.hero-logo{animation:none;opacity:1;transform:none;}
}

/* ---------- Cookie-Banner ---------- */
.consent{
  position:fixed;left:0;right:0;bottom:0;z-index:100;
  background:var(--navy-2);border-top:1px solid var(--line);
  padding:1.4rem clamp(1.2rem,4vw,2.5rem);
  transform:translateY(110%);transition:transform .5s cubic-bezier(.16,1,.3,1);
  box-shadow:0 -8px 40px rgba(0,0,0,.3);
}
.consent.show{transform:translateY(0);}
.consent-inner{
  max-width:1240px;margin:0 auto;display:flex;align-items:center;
  gap:clamp(1.2rem,3vw,2.5rem);flex-wrap:wrap;justify-content:space-between;
}
.consent p{font-size:.92rem;line-height:1.6;margin:0;flex:1;min-width:260px;}
.consent a{color:var(--cream);text-decoration:underline;}
.consent-actions{display:flex;gap:.8rem;flex-wrap:wrap;}
.consent .btn{padding:.7rem 1.4rem;font-size:.72rem;}

/* ---------- Handy: Hero und Zitat ---------- */
@media(max-width:720px){
  /* Hero: Bildausschnitt auf Regula schieben (sonst ist sie angeschnitten) */
  .hero{height:100svh;min-height:560px;}
  .hero-media img{object-position:72% 22%;}
  /* Text sitzt UNTEN – Regulas Gesicht bleibt frei */
  .hero-content{
    top:auto;bottom:12.5rem;
    left:clamp(1.2rem,6vw,2rem);right:clamp(1.2rem,6vw,2rem);
  }
  .hero h1{font-size:clamp(2.2rem,10vw,3.2rem);line-height:1.08;}
  .hero-kicker{font-size:.8rem;letter-spacing:.2em;margin-top:1rem;}
  .hero-content .btn{margin-top:1.4rem;}
  /* Logo rechts unten, kleiner – überschneidet sich nicht mehr mit dem Button */
  .hero-logo{
    left:auto;
    right:clamp(1.4rem,6vw,2.2rem);
    bottom:clamp(1.8rem,5vw,2.6rem);
    width:clamp(140px,34vw,190px);
  }
  /* Verlauf: unten kräftig für Text + Logo, Mitte frei für Regula */
  .hero::after{
    background:linear-gradient(to bottom,
      rgba(12,26,46,.55) 0%,
      rgba(12,26,46,.18) 22%,
      rgba(12,26,46,.10) 40%,
      rgba(12,26,46,.62) 68%,
      rgba(12,26,46,.88) 100%);
  }

  /* Zitat: Höhe nicht mehr fest – der Text bestimmt sie, nichts wird abgeschnitten */
  .claim-band{height:auto;min-height:0;padding:clamp(4rem,14vw,6rem) 0;}
  .claim-inner{position:relative;inset:auto;padding:0 1.1rem;}
  .claim-inner p{
    font-size:clamp(1.5rem,6.5vw,2.1rem);line-height:1.4;
    padding:1.4rem 1.2rem;
  }
}

@media(max-width:640px){
  .consent-inner{flex-direction:column;align-items:stretch;}
  .consent-actions{justify-content:stretch;}
  .consent .btn{flex:1;text-align:center;}
}