/* ============================================================
   TASTATOUREN – Helge Herr
   Corporate Design: maritime Farbwelt, Playfair + Asap
   ============================================================ */

/* ---------- Fonts ---------- */
@font-face{
  font-family:"Playfair Display";
  src:url("../fonts/PlayfairDisplay-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Playfair Display";
  src:url("../fonts/PlayfairDisplay-Bold.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Asap";
  src:url("../fonts/Asap-Regular.ttf") format("truetype");
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:"Asap";
  src:url("../fonts/Asap-Medium.ttf") format("truetype");
  font-weight:500; font-style:normal; font-display:swap;
}

/* ---------- Farbvariablen (aus dem CD) ---------- */
:root{
  --tiefsee:#001E23;
  --atlantik:#002E49;
  --pazifik:#0066AA;
  --mittelmeer:#2C9AE5;
  --karibik:#37E5E3;
  --eismeer:#00D5E5;
  --typo:#5A5A5A;
  --koralle:#E8636E;

  --ink:#0a2230;
  --paper:#f5f8fa;
  --paper-2:#eaf1f5;
  --line:rgba(0,46,73,.14);

  --maxw:1200px;
  --ease:cubic-bezier(.16,.8,.24,1);

  --serif:"Playfair Display",Georgia,serif;
  --sans:"Asap","Segoe UI",system-ui,sans-serif;
}

/* ---------- Reset / Basis ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--paper);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--karibik);color:var(--tiefsee)}

/* ---------- Typo-Grundformen ---------- */
.h2{
  font-family:var(--serif);
  font-weight:700;
  font-size:clamp(2rem,4.5vw,3.2rem);
  line-height:1.12;
  letter-spacing:-.01em;
  color:var(--atlantik);
  margin-bottom:1.4rem;
}
.h2--light{color:#fff}
.eyebrow{
  font-family:var(--sans);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.28em;
  font-size:.72rem;
  color:var(--pazifik);
  margin-bottom:1.1rem;
  display:flex;align-items:center;gap:.7rem;
}
.eyebrow::before{content:"";width:2rem;height:1px;background:currentColor;opacity:.6}
.eyebrow--coral{color:var(--koralle)}
.eyebrow--cyan{color:var(--karibik)}

.section{padding:clamp(4.5rem,9vw,8rem) 1.5rem}
.section--dark{background:var(--atlantik);color:rgba(255,255,255,.82)}
.section--dark p{color:rgba(255,255,255,.72)}

p{margin-bottom:1.1rem}
strong{color:inherit;font-weight:500}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:100;
  transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);
  padding:1.5rem 0;
}
.nav__inner{
  max-width:var(--maxw);margin:0 auto;padding:0 1.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.nav__brand{display:flex;align-items:center;gap:.7rem}
.nav__logo{width:42px;height:42px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.35))}
.nav__wordmark{
  font-family:var(--serif);font-weight:700;font-size:1.35rem;color:#fff;
  letter-spacing:.01em;text-shadow:0 1px 6px rgba(0,0,0,.35);
}
.nav__links{display:flex;align-items:center;gap:1.55rem}
.nav__links a{
  color:#fff;font-size:.92rem;font-weight:500;letter-spacing:.02em;
  position:relative;opacity:.9;transition:opacity .25s;
  text-shadow:0 1px 6px rgba(0,0,0,.3);
}
.nav__links a:not(.nav__cta)::after{
  content:"";position:absolute;left:0;bottom:-6px;height:1.5px;width:0;
  background:var(--karibik);transition:width .3s var(--ease);
}
.nav__links a:hover{opacity:1}
.nav__links a:not(.nav__cta):hover::after{width:100%}
.nav__cta{
  border:1.5px solid rgba(255,255,255,.55);border-radius:2rem;
  padding:.5rem 1.2rem;transition:background .25s,border-color .25s,color .25s;
}
.nav__cta:hover{background:var(--koralle);border-color:var(--koralle);color:#fff}

/* scrolled state */
.nav.is-scrolled{
  background:rgba(0,30,35,.88);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 30px rgba(0,20,30,.25);
  padding:.7rem 0;
}
.nav.is-scrolled .nav__logo{width:34px;height:34px}

.nav__burger{
  display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;
  padding:6px;z-index:110;
}
.nav__burger span{width:26px;height:2px;background:#fff;border-radius:2px;transition:.3s var(--ease)}
.nav__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;color:#fff;
}
.hero__bg{
  position:absolute;inset:-8% 0;z-index:0;
  background:url("../img/header.jpg") center/cover no-repeat;
  will-change:transform;
}
.hero__scrim{
  position:absolute;inset:0;z-index:1;
  background:
    radial-gradient(120% 90% at 50% 40%,transparent 20%,rgba(0,20,35,.35) 70%,rgba(0,20,35,.7) 100%),
    linear-gradient(180deg,rgba(0,25,40,.55) 0%,rgba(0,25,40,.15) 30%,rgba(0,25,40,.65) 100%);
}
.hero__content{
  position:relative;z-index:2;max-width:760px;padding:6rem 1.5rem 4rem;
  animation:rise 1.1s var(--ease) both;
}
.hero__logo{
  width:clamp(110px,15vw,150px);margin:0 auto 1.8rem;
  filter:drop-shadow(0 4px 18px rgba(0,0,0,.4));
}
.hero__eyebrow{
  text-transform:uppercase;letter-spacing:.32em;font-size:.78rem;font-weight:500;
  color:var(--karibik);margin-bottom:1rem;
}
.hero__title{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(3rem,8.5vw,6rem);line-height:1;letter-spacing:-.02em;
  text-shadow:0 4px 30px rgba(0,10,20,.5);margin-bottom:1.4rem;
}
.hero__lead{
  font-size:clamp(1.02rem,1.7vw,1.22rem);line-height:1.65;
  color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 2.4rem;
  text-shadow:0 2px 12px rgba(0,10,20,.4);
}
.hero__actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;font-family:var(--sans);font-weight:500;font-size:.95rem;
  letter-spacing:.03em;padding:.9rem 1.8rem;border-radius:2rem;cursor:pointer;
  transition:transform .25s var(--ease),background .25s,box-shadow .25s,color .25s;
  border:1.5px solid transparent;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--koralle);color:#fff;box-shadow:0 10px 26px rgba(232,99,110,.35)}
.btn--primary:hover{background:#e04b58;box-shadow:0 14px 32px rgba(232,99,110,.45)}
.btn--ghost{border-color:rgba(255,255,255,.6);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12)}
.btn--full{width:100%;text-align:center}

/* ============================================================
   DIE IDEE
   ============================================================ */
.idee{background:var(--paper)}
.idee__inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.idee__text p{color:var(--typo);font-size:1.05rem}
.pull{
  font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.5;
  color:var(--atlantik);border-left:3px solid var(--koralle);
  padding-left:1.4rem;margin-top:1.8rem;
}
.idee__figure{position:relative}
.idee__figure img{
  width:100%;border-radius:6px;box-shadow:0 30px 60px rgba(0,46,73,.28);
}
.idee__figure figcaption{
  position:absolute;left:1.2rem;bottom:1.2rem;
  background:rgba(0,30,35,.75);color:#fff;backdrop-filter:blur(6px);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  padding:.5rem .9rem;border-radius:3px;
}

/* ============================================================
   HELGE
   ============================================================ */
.helge{background:var(--paper-2);position:relative;overflow:hidden}
.helge__inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.helge__figure img{width:100%;border-radius:6px;box-shadow:0 30px 60px rgba(0,46,73,.3)}
.helge__text p{color:var(--typo);font-size:1.03rem}
.timeline{list-style:none;margin-top:1.8rem;border-top:1px solid var(--line)}
.timeline li{
  display:flex;gap:1.2rem;align-items:baseline;padding:.85rem 0;
  border-bottom:1px solid var(--line);font-size:.98rem;color:var(--atlantik);
}
.timeline__year{
  flex:0 0 auto;min-width:92px;font-weight:500;color:var(--pazifik);
  font-variant-numeric:tabular-nums;letter-spacing:.02em;
}

/* ============================================================
   VIDEOS
   ============================================================ */
.videos{background:var(--tiefsee);color:rgba(255,255,255,.82)}
.videos__head{max-width:760px;margin:0 auto 3.2rem;text-align:center}
.videos__head .eyebrow{justify-content:center}
.videos__intro{color:rgba(255,255,255,.72);font-size:1.05rem}
.videos__grid{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.8rem;
}
.vid__frame{
  position:relative;display:block;width:100%;aspect-ratio:16/9;
  border:0;padding:0;cursor:pointer;border-radius:10px;overflow:hidden;
  background:#000;box-shadow:0 16px 36px rgba(0,10,20,.4);
}
.vid__frame:focus-visible{outline:3px solid var(--karibik);outline-offset:3px}
.vid__thumb{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .55s var(--ease),opacity .3s;
}
.vid__frame:hover .vid__thumb{transform:scale(1.05);opacity:.85}
.vid__play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.vid__playdot{
  width:66px;height:66px;border-radius:50%;background:rgba(232,99,110,.92);
  display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.45);
  transition:transform .3s var(--ease),background .3s;
}
.vid__playdot::after{
  content:"";width:0;height:0;border-style:solid;
  border-width:12px 0 12px 20px;border-color:transparent transparent transparent #fff;
  margin-left:5px;
}
.vid__frame:hover .vid__playdot{transform:scale(1.12);background:var(--koralle)}
.vid__frame iframe{width:100%;height:100%;border:0;display:block}
.vid__meta{padding:.95rem .2rem 0}
.vid__title{font-family:var(--serif);font-weight:700;font-size:1.18rem;color:#fff;line-height:1.25}
.vid__by{color:var(--karibik);font-size:.85rem;letter-spacing:.02em;margin:.25rem 0 0}
.videos__note{
  max-width:680px;margin:2.8rem auto 0;text-align:center;
  font-size:.8rem;line-height:1.5;color:rgba(255,255,255,.45);
}

/* ============================================================
   TOUREN
   ============================================================ */
.touren{
  background:
    linear-gradient(rgba(0,46,73,.9),rgba(0,30,35,.95)),
    url("../img/map.jpg") center/cover fixed;
  color:#fff;
}
.touren__head{max-width:760px;margin:0 auto 3.5rem;text-align:center}
.touren__head .eyebrow{justify-content:center}
.touren__intro{color:rgba(255,255,255,.75);font-size:1.08rem}
.tours{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;
}
.tour{
  position:relative;padding:2.4rem 2rem 2.2rem;border-radius:8px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;transition:transform .4s var(--ease),background .4s,border-color .4s;
}
.tour::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:4px;
  background:var(--accent);transition:width .4s var(--ease);
}
.tour:hover{transform:translateY(-6px);background:rgba(255,255,255,.08);border-color:var(--accent)}
.tour:hover::before{width:7px}
.tour__name{
  font-family:var(--serif);font-weight:700;font-size:1.75rem;color:#fff;
  margin:0 0 .2rem;line-height:1.1;
}
.tour__sub{
  text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;
  color:var(--accent);margin-bottom:1.1rem;font-weight:500;
}
.tour__desc{color:rgba(255,255,255,.74);font-size:.98rem;margin-bottom:1.3rem}
.tour__composers{
  font-family:var(--serif);font-style:italic;font-size:1.02rem;
  color:rgba(255,255,255,.92);margin:0;line-height:1.5;
  text-wrap:balance;
  padding-top:1rem;border-top:1px solid rgba(255,255,255,.12);
}
.touren__note{
  max-width:640px;margin:3rem auto 0;text-align:center;
  color:rgba(255,255,255,.6);font-size:.95rem;
}

/* ---------- Interaktive Weltkarte ---------- */
.worldmap{
  max-width:var(--maxw);margin:0 auto 2.5rem;
  padding:1.2rem clamp(.5rem,2vw,1.5rem) .5rem;
  border:1px solid rgba(255,255,255,.1);border-radius:12px;
  background:rgba(0,20,30,.28);
}
.worldmap__svg{display:block;width:100%;height:auto;overflow:visible}
.worldmap__cap{
  text-align:center;margin-top:.6rem;font-size:.82rem;letter-spacing:.04em;
  color:rgba(255,255,255,.5);
}
.wm-grat line{stroke:rgba(255,255,255,.10);stroke-width:.8}
.wm-land{fill:rgba(190,225,240,.11);stroke:rgba(120,205,225,.28);stroke-width:.8}
.wm-rose line{stroke:rgba(255,255,255,.28);stroke-width:1}
.wm-rose circle{fill:none;stroke:rgba(255,255,255,.22);stroke-width:1}
.wm-rose .rose-needle{fill:rgba(232,99,110,.65)}
.wm-rose .rose-n{fill:rgba(255,255,255,.55);font-family:var(--serif);font-size:34px;text-anchor:middle}

.mrk{cursor:pointer;outline:none}
.mrk__pulse{fill:var(--c);opacity:.4;transform-box:fill-box;transform-origin:center;animation:wmpulse 2.8s ease-out infinite}
@keyframes wmpulse{0%{transform:scale(.6);opacity:.5}70%{transform:scale(2.4);opacity:0}100%{opacity:0}}
.mrk__dot{fill:var(--c);stroke:#fff;stroke-width:2.5;transition:r .25s var(--ease)}
.mrk__core{fill:#fff;pointer-events:none;transition:r .25s var(--ease)}
.mrk__label{opacity:.9;transition:opacity .25s var(--ease);pointer-events:none}
.mrk__label rect{fill:rgba(0,22,30,.82);stroke:var(--c);stroke-width:1.2;transition:fill .25s,stroke-width .25s}
.mrk__label text{fill:#fff;font-family:var(--sans);font-weight:500;font-size:28px;text-anchor:middle}

.mrk:hover .mrk__dot,.mrk:focus-visible .mrk__dot,.mrk.is-active .mrk__dot{r:20}
.mrk:hover .mrk__label,.mrk:focus-visible .mrk__label,.mrk.is-active .mrk__label{opacity:1}
.mrk:hover .mrk__label rect,.mrk.is-active .mrk__label rect{fill:rgba(0,22,30,.96);stroke-width:2}
.mrk:focus-visible .mrk__dot{stroke:var(--karibik);stroke-width:4}

/* Karte-Hervorhebung durch Marker */
.tour.is-active{transform:translateY(-6px);background:rgba(255,255,255,.09);border-color:var(--accent)}
.tour.is-active::before{width:7px}

/* ============================================================
   TERMINE
   ============================================================ */
.termine{background:var(--paper)}
.termine__inner{max-width:900px;margin:0 auto}
.termine__head{text-align:center;margin-bottom:3rem}
.termine__head .eyebrow{justify-content:center}
.dates{list-style:none}
.date{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.8rem;
  padding:1.5rem 1.4rem;border-radius:8px;
  transition:background .3s,box-shadow .3s,transform .3s var(--ease);
  border:1px solid transparent;
}
.date:hover{
  background:#fff;box-shadow:0 16px 40px rgba(0,46,73,.12);
  transform:translateX(4px);border-color:var(--line);
}
.date__when{
  text-align:center;line-height:1;flex:0 0 auto;
  padding-right:1.6rem;border-right:2px solid var(--karibik);min-width:72px;
}
.date__day{display:block;font-family:var(--serif);font-weight:700;font-size:2.2rem;color:var(--atlantik)}
.date__mo{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--koralle);font-weight:500;margin-top:.15rem}
.date__yr{display:block;font-size:.72rem;color:var(--typo);margin-top:.15rem}
.date__what h3{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--atlantik)}
.date__what p{margin:.25rem 0 0;color:var(--typo);font-size:.95rem}
.date__meta{display:flex;flex-direction:column;align-items:flex-end;gap:.45rem;flex:0 0 auto}
.date__meta>span{font-size:.85rem;color:var(--typo);font-variant-numeric:tabular-nums}
.date__link{
  font-size:.82rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  color:var(--pazifik);border:1.5px solid var(--pazifik);border-radius:2rem;
  padding:.35rem 1rem;transition:.25s;
}
.date__link:hover{background:var(--pazifik);color:#fff}
.date--soon{opacity:.72}
.date--soon .date__when{border-right-color:var(--typo)}
.date--soon .date__day{color:var(--typo)}
.date--soon .date__mo{color:var(--typo)}

/* ============================================================
   KONTAKT
   ============================================================ */
.kontakt{
  background:
    linear-gradient(rgba(0,30,35,.94),rgba(0,20,25,.97)),
    url("../img/map.jpg") center/cover;
}
.kontakt__inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;
}
.kontakt__links{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}
.kontakt__item{
  display:flex;flex-direction:column;gap:.2rem;
  padding:1rem 1.3rem;border:1px solid rgba(255,255,255,.15);border-radius:8px;
  transition:border-color .3s,background .3s;
}
.kontakt__item:hover{border-color:var(--karibik);background:rgba(255,255,255,.04)}
.kontakt__lbl{text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;color:var(--karibik)}
.kontakt__val{font-family:var(--serif);font-size:1.2rem;color:#fff}

.kontakt__form{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:2rem;display:flex;flex-direction:column;gap:1.1rem;
  backdrop-filter:blur(8px);
}
.kontakt__form label{
  display:flex;flex-direction:column;gap:.45rem;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:rgba(255,255,255,.7);font-weight:500;
}
.kontakt__form input,.kontakt__form textarea{
  font-family:var(--sans);font-size:1rem;color:#fff;
  background:rgba(0,20,30,.35);border:1px solid rgba(255,255,255,.16);
  border-radius:6px;padding:.8rem 1rem;transition:border-color .25s,background .25s;
  resize:vertical;
}
.kontakt__form input::placeholder,.kontakt__form textarea::placeholder{color:rgba(255,255,255,.35);text-transform:none;letter-spacing:0}
.kontakt__form input:focus,.kontakt__form textarea:focus{outline:none;border-color:var(--karibik);background:rgba(0,20,30,.6)}
.kontakt__hint{text-align:center;font-size:.78rem;color:rgba(255,255,255,.4);margin:0}
/* Honeypot: für Menschen unsichtbar, für Bots ausfüllbar */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Status-Rückmeldung */
.kontakt__status{margin:0;text-align:center;font-size:.9rem;font-weight:500;display:none}
.kontakt__status.is-visible{display:block}
.kontakt__status.is-ok{color:var(--karibik)}
.kontakt__status.is-error{color:#ff9aa2}
.kontakt__form.is-sending #kontaktSubmit{opacity:.6;pointer-events:none}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--tiefsee);color:rgba(255,255,255,.7);padding:3.5rem 1.5rem 2rem}
.footer__inner{
  max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1fr auto;gap:2rem 3rem;align-items:center;
}
.footer__brand{display:flex;align-items:center;gap:1rem}
.footer__logo{width:56px}
.footer__tag{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:#fff;margin:0}
.footer__nav{display:flex;gap:1.8rem;flex-wrap:wrap}
.footer__nav a{font-size:.9rem;opacity:.75;transition:opacity .25s,color .25s}
.footer__nav a:hover{opacity:1;color:var(--karibik)}
.footer__legal{
  grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);margin-top:1rem;padding-top:1.5rem;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.82rem;color:rgba(255,255,255,.5);
}
.footer__legal a:hover{color:var(--karibik)}

/* ============================================================
   RECHTSSEITEN (Impressum / Datenschutz)
   ============================================================ */
.legal-hero{
  position:relative;
  padding:clamp(9rem,16vw,12rem) 1.5rem clamp(3rem,6vw,4.5rem);
  text-align:center;color:#fff;overflow:hidden;
  background:linear-gradient(rgba(0,46,73,.9),rgba(0,30,35,.96)),url("../img/map.jpg") center/cover;
}
.legal-hero__inner{max-width:var(--maxw);margin:0 auto}
.legal-hero .eyebrow{justify-content:center;color:var(--karibik)}
.legal-hero h1{
  font-family:var(--serif);font-weight:700;
  font-size:clamp(2.4rem,6vw,3.6rem);line-height:1.1;letter-spacing:-.01em;
}
.legal{background:var(--paper);padding:clamp(3.5rem,7vw,6rem) 1.5rem}
.legal__inner{max-width:760px;margin:0 auto}
.legal__updated{
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--pazifik);margin-bottom:2.5rem;
}
.legal h2{
  font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--atlantik);
  margin:2.6rem 0 .9rem;padding-top:1.6rem;border-top:1px solid var(--line);
}
.legal h2:first-of-type{border-top:0;padding-top:0;margin-top:0}
.legal h3{font-family:var(--sans);font-weight:500;font-size:1.05rem;color:var(--atlantik);margin:1.6rem 0 .5rem}
.legal p,.legal li{color:var(--typo);font-size:1rem}
.legal ul{margin:.4rem 0 1.1rem 1.2rem}
.legal li{margin-bottom:.4rem}
.legal a{color:var(--pazifik);border-bottom:1px solid rgba(0,102,170,.35);transition:color .2s,border-color .2s}
.legal a:hover{color:var(--koralle);border-color:var(--koralle)}
.legal .placeholder{
  background:rgba(232,99,110,.12);color:#b23540;
  padding:.05em .4em;border-radius:3px;font-weight:500;font-size:.95em;
}
.legal__box{
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--karibik);
  border-radius:6px;padding:1.4rem 1.6rem;margin:1.2rem 0;
}
.legal__box p{margin-bottom:.3rem}
.legal__back{
  display:inline-block;margin-top:2.5rem;font-weight:500;
  color:var(--pazifik);border-bottom:0!important;
}
.legal__back:hover{color:var(--koralle)}
.legal__note{
  margin-top:2.5rem;padding:1.1rem 1.4rem;border-radius:6px;
  background:var(--paper-2);font-size:.88rem;color:var(--typo);
}

/* ============================================================
   REVEAL-ANIMATION
   ============================================================ */
[data-reveal]{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
[data-reveal].is-visible{opacity:1;transform:none}

/* ============================================================
   BLOG
   ============================================================ */
.blog{background:var(--paper)}
.blog__inner{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:2.75rem}
.blog__empty{text-align:center;color:var(--typo);font-size:1.05rem}
.post-card{
  border:1px solid var(--line);border-left:3px solid var(--karibik);border-radius:8px;
  background:#fff;transition:transform .3s var(--ease),box-shadow .3s;
}
.post-card:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(0,46,73,.12)}
.post-card__link{display:block;padding:1.8rem 2rem}
.post-card__date{
  text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:500;
  color:var(--pazifik);margin-bottom:.25rem;
}
.post-card__title{
  font-family:var(--serif);font-weight:700;font-size:1.6rem;line-height:1.15;
  color:var(--atlantik);margin-bottom:.6rem;
}
.post-card__excerpt{color:var(--typo);font-size:1rem;margin-bottom:.4rem}
.post-card__more{color:var(--koralle);font-weight:500;font-size:.92rem;letter-spacing:.02em}

/* ---------- Einzelbeitrag ---------- */
.post__body{background:var(--paper)}
.post__inner{max-width:720px;margin:0 auto}
.post__inner p{color:var(--typo);font-size:1.08rem;line-height:1.75}
.post__inner h2{
  font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--atlantik);
  margin:2.4rem 0 .8rem;
}
.post__inner h3{
  font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--atlantik);
  margin:1.8rem 0 .6rem;
}
.post__inner ul,.post__inner ol{margin:0 0 1.2rem 1.3rem;color:var(--typo)}
.post__inner li{margin-bottom:.4rem;line-height:1.7}
.post__inner a{color:var(--pazifik);border-bottom:1px solid rgba(0,102,170,.35);transition:color .2s,border-color .2s}
.post__inner a:hover{color:var(--koralle);border-color:var(--koralle)}
.post__inner strong{color:var(--atlantik);font-weight:500}
.post__inner img{width:100%;border-radius:8px;margin:1.5rem 0;box-shadow:0 20px 44px rgba(0,46,73,.2)}
.post__inner blockquote{
  font-family:var(--serif);font-style:italic;font-size:1.2rem;line-height:1.5;
  color:var(--atlantik);border-left:3px solid var(--koralle);padding-left:1.3rem;margin:1.5rem 0;
}
.post__inner code{
  background:var(--paper-2);padding:.1em .4em;border-radius:4px;font-size:.92em;
  font-family:ui-monospace,Menlo,Consolas,monospace;
}
.post__back{margin-top:2.5rem}

/* ---------- YouTube-Einbettung im Blog ---------- */
.vid--embed{max-width:100%;margin:1.8rem 0}
.vid__thumb--placeholder{
  display:block;width:100%;height:100%;
  background:linear-gradient(135deg,var(--atlantik),var(--tiefsee));
}

/* ============================================================
   PRESSE
   ============================================================ */
.presse{background:var(--paper)}
.presse__inner{max-width:900px;margin:0 auto}
.presse__lead{font-size:1.1rem;color:var(--typo);max-width:680px;margin-bottom:1.8rem}
.presse__all{display:inline-block;margin-bottom:.5rem}
.presse .eyebrow{margin-top:3.2rem;margin-bottom:1.2rem}
.presse__note{color:var(--typo);font-size:.9rem;margin:-.4rem 0 1.3rem}
.dl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.dl-card{
  display:flex;flex-direction:column;gap:.25rem;padding:1.2rem 1.3rem;
  background:#fff;border:1px solid var(--line);border-left:3px solid var(--karibik);border-radius:8px;
  transition:transform .25s var(--ease),box-shadow .25s;
}
.dl-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,46,73,.12)}
.dl-card__type{font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--pazifik)}
.dl-card__name{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--atlantik);line-height:1.15}
.dl-card__hint{font-size:.85rem;color:var(--typo)}
.foto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem}
.foto{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.foto img{width:100%;display:block}
.foto figcaption{padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.35rem}
.foto figcaption span{font-family:var(--serif);font-weight:700;color:var(--atlantik)}
.foto figcaption a{color:var(--koralle);font-weight:500;font-size:.9rem}
.foto figcaption a:hover{text-decoration:underline}
.presse__contact{margin-top:3.2rem;background:var(--paper-2);border-radius:10px;padding:1.8rem 2rem}
.presse__contact .eyebrow{margin-top:0}
.presse__contact-lines{margin:0;line-height:1.9}
.presse__contact a{color:var(--pazifik)}
.presse__contact a:hover{color:var(--koralle)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:900px){
  .idee__inner,.helge__inner,.kontakt__inner{grid-template-columns:1fr}
  .helge__figure{order:-1}
  .touren{background-attachment:scroll}
}
@media(max-width:900px){
  .nav__wordmark{display:none}
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(78vw,320px);
    flex-direction:column;justify-content:center;gap:1.8rem;
    background:rgba(0,30,35,.97);backdrop-filter:blur(14px);
    padding:2rem;transform:translateX(100%);transition:transform .4s var(--ease);
  }
  .nav__links.is-open{transform:none}
  .nav__links a{font-size:1.2rem}
  .nav__burger{display:flex}
  .nav.is-scrolled{padding:.7rem 0}
  .date{grid-template-columns:auto 1fr;gap:1.1rem}
  .date__meta{grid-column:2;flex-direction:row;align-items:center;justify-content:flex-start;gap:1rem}
  .footer__inner{grid-template-columns:1fr}
}
@media(max-width:440px){
  .hero__actions{flex-direction:column}
  .btn{width:100%;text-align:center}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  [data-reveal]{opacity:1;transform:none}
}
