/* ============================================================
   FAHRSERVICE BUCK — Editorial Storybook Luxury
   Palette: Ivory / Espresso / Champagne Gold / Night Blue
   Type:    Fraunces (display) + Space Grotesk (text)
   ============================================================ */

:root{
  --cream:      #f6f1e6;
  --cream-2:    #eee6d4;
  --cream-3:    #e5dac2;
  --ink:        #221b12;
  --ink-soft:   #4c4232;
  --gold:       #b8894a;
  --gold-deep:  #8a6220;   /* WCAG AA on cream/white for small text */
  --gold-soft:  #d9bb85;
  --sage:       #a8b38c;
  --sage-deep:  #77875e;
  --night:      #0f1b2d;
  --night-2:    #16263d;
  --white:      #fffdf8;
  --shadow:     0 24px 60px -24px rgba(34,27,18,.35);
  --radius:     28px;
  --font-d:     "Fraunces", Georgia, serif;
  --font-t:     "Space Grotesk", "Helvetica Neue", sans-serif;
  --ease-lux:   cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }

html{ scroll-behavior:smooth; }
body{
  font-family:var(--font-t);
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  font-size:17px;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }

::selection{ background:var(--gold); color:var(--white); }

/* ---------- Accessibility: keyboard focus & skip link ---------- */
:focus-visible{
  outline:3px solid var(--gold-deep);
  outline-offset:3px;
  border-radius:4px;
}
.skip-link{
  position:fixed; left:16px; top:12px; z-index:1100;
  background:var(--ink); color:var(--cream);
  padding:12px 22px; border-radius:14px; font-weight:700;
  transform:translateY(-160%);
  transition:transform .3s var(--ease-lux);
}
.skip-link:focus,
.skip-link:focus-visible{ transform:translateY(0); }

/* ---------- Cookie / Datenschutz-Hinweis ---------- */
.cookie-notice{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:1050;
  max-width:580px; margin:0 auto;
  background:var(--ink); color:var(--cream);
  border-radius:20px; padding:20px 24px;
  box-shadow:0 26px 60px -20px rgba(0,0,0,.55);
  display:flex; gap:20px; align-items:center; flex-wrap:wrap;
  transform:translateY(160%); opacity:0;
  transition:transform .55s var(--ease-lux), opacity .55s;
}
.cookie-notice.show{ transform:translateY(0); opacity:1; }
.cookie-notice p{ flex:1; min-width:220px; margin:0; font-size:14px; line-height:1.55; color:#e6ddcb; }
.cookie-notice p strong{ color:var(--cream); }
.cookie-notice a{ color:var(--gold-soft); text-decoration:underline; }
.cookie-notice button{
  flex:none; background:var(--gold-deep); color:var(--cream);
  border:0; border-radius:999px; padding:12px 26px; font-weight:700; font-size:14px;
  font-family:var(--font-t); cursor:pointer;
  transition:background .3s, transform .3s;
}
.cookie-notice button:hover{ background:var(--gold); transform:translateY(-2px); }
@media (max-width:520px){
  .cookie-notice{ flex-direction:column; align-items:stretch; text-align:center; gap:14px; }
  .cookie-notice button{ width:100%; }
}

/* ---------- Respect reduced-motion ---------- */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }
  .reveal{ opacity:1 !important; transform:none !important; }
}

/* ---------- Preloader ---------- */
.preloader{
  position:fixed; inset:0; z-index:1000;
  background:var(--cream);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:24px;
  transition:opacity .7s var(--ease-lux), visibility .7s;
}
.preloader.done{ opacity:0; visibility:hidden; pointer-events:none; }
.preloader__van{ width:min(300px,60vw); overflow:visible; }
.preloader__van .van-root{ animation:van-bounce .55s ease-in-out infinite; }
.preloader__word{
  font-family:var(--font-d); font-size:clamp(18px,3vw,26px); font-weight:600;
  letter-spacing:.35em; text-transform:uppercase; color:var(--ink-soft);
}
.preloader__word em{ color:var(--gold); font-style:italic; }

/* ---------- Topbar & Header ---------- */
.topbar{
  background:var(--ink); color:var(--cream);
  font-size:13.5px; letter-spacing:.08em;
  padding:9px 0; text-align:center;
}
.topbar a{ color:var(--gold-soft); font-weight:600; }
.topbar .dot{ margin:0 10px; color:var(--gold); }

.site-header{
  position:sticky; top:0; z-index:900;
  background:rgba(246,241,230,.88);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(34,27,18,.08);
  transition:box-shadow .4s;
}
.site-header.scrolled{ box-shadow:0 12px 40px -18px rgba(34,27,18,.25); }
.header-inner{
  max-width:1240px; margin:0 auto; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.brand{ display:flex; align-items:center; gap:12px; }
.brand svg{ width:52px; height:auto; overflow:visible; }
.brand:hover svg .van-root{ animation:van-bounce .55s ease-in-out infinite; }
.brand:hover svg .wheel{ animation:wheel-spin .8s linear infinite; }
.brand__name{
  font-family:var(--font-d); font-weight:900; font-size:21px; line-height:1.05;
}
.brand__name span{ display:block; font-family:var(--font-t); font-weight:500;
  font-size:10.5px; letter-spacing:.32em; text-transform:uppercase; color:var(--gold-deep); }

.main-nav ul{ display:flex; gap:30px; align-items:center; flex-wrap:nowrap; }
.main-nav a{
  font-weight:600; font-size:14.5px; letter-spacing:.04em; position:relative; padding:6px 0;
  white-space:nowrap;
}
.main-nav a::after{
  content:""; position:absolute; left:0; bottom:0; height:2px; width:100%;
  background:var(--gold); transform:scaleX(0); transform-origin:right;
  transition:transform .45s var(--ease-lux);
}
.main-nav a:hover::after, .main-nav a.active::after{ transform:scaleX(1); transform-origin:left; }
.main-nav a.active{ color:var(--gold-deep); }

.nav-cta{
  background:var(--ink); color:var(--cream)!important; padding:11px 22px; border-radius:999px;
  transition:background .3s, transform .3s;
  white-space:nowrap;
}
.nav-cta::after{ display:none; }
.nav-cta:hover{ background:var(--gold-deep); transform:translateY(-2px); }

.burger{
  display:none; background:none; border:0; cursor:pointer; z-index:960;
  width:44px; height:44px; position:relative;
}
.burger span{
  position:absolute; left:8px; right:8px; height:2.5px; background:var(--ink);
  border-radius:2px; transition:all .4s var(--ease-lux);
}
.burger span:nth-child(1){ top:14px; }
.burger span:nth-child(2){ top:21px; }
.burger span:nth-child(3){ top:28px; }
.burger.open span:nth-child(1){ top:21px; transform:rotate(45deg); }
.burger.open span:nth-child(2){ opacity:0; }
.burger.open span:nth-child(3){ top:21px; transform:rotate(-45deg); }

/* ---------- Layout helpers ---------- */
.wrap{ max-width:1240px; margin:0 auto; padding:0 28px; }
.section{ padding:110px 0; position:relative; }

.kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-size:12.5px; font-weight:700; letter-spacing:.34em; text-transform:uppercase;
  color:var(--gold-deep); margin-bottom:22px;
}
.kicker::before{ content:""; width:44px; height:2px; background:var(--gold); }

.h-display{
  font-family:var(--font-d); font-weight:900; line-height:.98;
  font-size:clamp(44px,7.2vw,104px); letter-spacing:-.02em;
}
.h-display em{ font-style:italic; font-weight:400; color:var(--gold-deep); }
.h2{
  font-family:var(--font-d); font-weight:900; line-height:1.04;
  font-size:clamp(34px,4.6vw,62px); letter-spacing:-.015em;
}
.h2 em{ font-style:italic; font-weight:400; color:var(--gold-deep); }
.lead{ font-size:clamp(17px,1.6vw,20px); color:var(--ink-soft); max-width:56ch; }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(42px); transition:opacity .9s var(--ease-lux), transform .9s var(--ease-lux); }
.reveal.in{ opacity:1; transform:none; }
.reveal[data-delay="1"]{ transition-delay:.12s; }
.reveal[data-delay="2"]{ transition-delay:.24s; }
.reveal[data-delay="3"]{ transition-delay:.36s; }

/* ---------- VIDEO HERO ---------- */
.vhero{
  position:relative; min-height:92vh; display:flex; align-items:flex-end;
  overflow:hidden; background:var(--ink); color:var(--white);
}
.vhero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.vhero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,15,8,.1) 30%, rgba(20,15,8,.78) 100%);
}
.vhero .wrap{ position:relative; z-index:2; padding-bottom:72px; padding-top:160px; width:100%; }
.vhero .kicker{ color:var(--gold-soft); }
.vhero .kicker::before{ background:var(--gold-soft); }
.vhero .h-display{ color:var(--white); text-shadow:0 4px 40px rgba(0,0,0,.35); }
.vhero .h-display em{ color:var(--gold-soft); }
.vhero .lead{ color:#f0e9da; margin-top:24px; text-shadow:0 2px 20px rgba(0,0,0,.4); }
.vhero__scroll{
  position:absolute; right:40px; bottom:36px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:#e8dfcc; font-size:11px; letter-spacing:.3em; text-transform:uppercase;
  writing-mode:vertical-rl;
}
.vhero__scroll::after{
  content:""; width:2px; height:54px; background:linear-gradient(var(--gold-soft),transparent);
  animation:scroll-pulse 1.8s ease-in-out infinite;
}
@keyframes scroll-pulse{ 0%,100%{ opacity:.3; transform:scaleY(.7);} 50%{ opacity:1; transform:scaleY(1);} }

.svc__media video{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-lux); }
.svc:hover .svc__media video{ transform:scale(1.04); }
.night__img video{ width:100%; display:block; transition:transform 1.4s var(--ease-lux); }
.night__img:hover video{ transform:scale(1.04); }

/* ---------- Hero headline (used by video hero) ---------- */
.hero__title{ max-width:12ch; }
.hero__title .line{ display:block; overflow:hidden; }
.hero__title .line span{
  display:inline-block; transform:translateY(110%);
  animation:line-up 1.1s var(--ease-lux) forwards;
}
.hero__title .line:nth-child(2) span{ animation-delay:.15s; }
.hero__title .line:nth-child(3) span{ animation-delay:.3s; }
@keyframes line-up{ to{ transform:translateY(0);} }

.hero__lead{ margin-top:28px; max-width:52ch; }
.hero__cta-row{ display:flex; flex-wrap:wrap; gap:16px; margin-top:38px; align-items:center; }

.btn{
  display:inline-flex; align-items:center; gap:12px;
  padding:17px 32px; border-radius:999px; font-weight:700; font-size:16px;
  letter-spacing:.02em; transition:transform .35s var(--ease-lux), box-shadow .35s, background .3s;
  will-change:transform;
}
.btn--ink{ background:var(--ink); color:var(--cream); box-shadow:var(--shadow); }
.btn--ink:hover{ transform:translateY(-4px) rotate(-1deg); background:var(--gold-deep); }
.btn--ghost{ border:2px solid var(--ink); color:var(--ink); }
.btn--ghost:hover{ transform:translateY(-4px) rotate(1deg); background:var(--ink); color:var(--cream); }
.btn--wa{ background:#1fae54; color:#fff; box-shadow:var(--shadow); }
.btn--wa:hover{ transform:translateY(-4px); background:#178f44; }
.btn svg{ width:20px; height:20px; flex:none; }

.van-slot-svg{ overflow:visible; display:block; }

/* honk easter egg — click any van, it hops */
.van-clickable.honk .van-root{ animation:honk-hop .6s var(--ease-lux); }
@keyframes honk-hop{
  0%{ transform:translateY(0) rotate(0); }
  35%{ transform:translateY(-16px) rotate(-2.5deg); }
  70%{ transform:translateY(0) rotate(1deg); }
  100%{ transform:translateY(0) rotate(0); }
}
.preloader__van .wheel{ animation:wheel-spin .7s linear infinite; }

/* The van — injected in header, footer, preloader and the journey */
.van-root{ transform-origin:center bottom; }
.preloader__van .van-root{ animation:van-bounce .55s ease-in-out infinite; }
@keyframes van-bounce{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-4px);} }
.wheel{ transform-box:fill-box; transform-origin:center; }
.journey-van .wheel{ animation:wheel-spin .7s linear infinite; }
@keyframes wheel-spin{ to{ transform:rotate(360deg);} }

/* ---------- Marquee ---------- */
.marquee{
  background:var(--ink); color:var(--cream);
  overflow:hidden; padding:20px 0;
  transform:rotate(-1.2deg) scale(1.02); margin:10px 0;
}
.marquee__track{
  display:flex; gap:0; width:max-content;
  animation:marquee 30s linear infinite;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }
@keyframes marquee{ to{ transform:translateX(-50%);} }
.marquee__item{
  font-family:var(--font-d); font-size:clamp(18px,2.2vw,26px); font-weight:600;
  white-space:nowrap; padding:0 26px; display:flex; align-items:center; gap:26px;
}
.marquee__item i{ color:var(--gold); font-style:normal; }
.marquee__item em{ font-style:italic; color:var(--gold-soft); }

/* ---------- Journey (scroll road) ---------- */
.journey{ background:var(--cream); overflow:hidden; }
.journey__head{ text-align:center; max-width:760px; margin:0 auto 20px; }
.journey__head .kicker{ justify-content:center; }
.journey__head .kicker::before{ display:none; }
.journey__stage{ position:relative; max-width:1100px; margin:0 auto; }
.journey__svg{ width:100%; height:auto; display:block; overflow:visible; }

.road-base{ stroke:var(--cream-3); }
.road-draw{ stroke:var(--ink); stroke-dasharray:0 1; }
.road-mid{ stroke:var(--cream); stroke-dasharray:2 26; }

.station{ opacity:.25; transition:opacity .6s var(--ease-lux), transform .6s var(--ease-lux); transform:translateY(14px); transform-box:fill-box; }
.station.lit{ opacity:1; transform:translateY(0); }
.station text{
  font-family:var(--font-t); font-weight:700;
  paint-order:stroke; stroke:var(--cream); stroke-width:7px; stroke-linejoin:round;
}

.journey-van{ will-change:transform; }

.plane{ transform-box:fill-box; transform-origin:center; opacity:0; }
.plane.takeoff{ animation:takeoff 2.6s var(--ease-lux) forwards; }
@keyframes takeoff{
  0%{ opacity:0; transform:translate(-30px,20px) rotate(0deg) scale(.85); }
  12%{ opacity:1; }
  100%{ opacity:0; transform:translate(360px,-230px) rotate(-14deg) scale(1.1); }
}

/* ---------- Services editorial cards ---------- */
.services{ background:linear-gradient(180deg,var(--cream) 0%, #f1e9d7 100%); }
.services__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-top:60px; align-items:stretch; }
.svc{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--white); box-shadow:var(--shadow);
  transition:transform .55s var(--ease-lux), box-shadow .55s;
  display:flex; flex-direction:column;
}
.svc:hover{ transform:translateY(-10px) rotate(-.6deg); box-shadow:0 40px 80px -30px rgba(34,27,18,.45); }
.svc:nth-child(2):hover{ transform:translateY(-10px) rotate(.6deg); }
.svc__media{ aspect-ratio:16/10; }
.svc__media{ position:relative; overflow:hidden; aspect-ratio:16/9; }
.svc__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.2s var(--ease-lux); }
.svc:hover .svc__media img{ transform:scale(1.06); }
.svc__num{
  position:absolute; top:18px; left:22px; z-index:2;
  font-family:var(--font-d); font-style:italic; font-size:20px; color:var(--white);
  background:rgba(34,27,18,.55); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  padding:6px 16px; border-radius:999px;
}
.svc__body{ padding:34px 38px 40px; display:flex; flex-direction:column; gap:14px; flex:1; }
.svc__body h3{ font-family:var(--font-d); font-weight:900; font-size:clamp(24px,2.4vw,32px); line-height:1.1; }
.svc__body p{ color:var(--ink-soft); font-size:16px; }
.svc__link{
  margin-top:auto; font-weight:700; color:var(--gold-deep); display:inline-flex; gap:10px; align-items:center;
}
.svc__link .arr{ transition:transform .4s var(--ease-lux); }
.svc:hover .svc__link .arr{ transform:translateX(8px); }

/* ---------- Night / airport band ---------- */
.night{
  background:var(--night); color:var(--cream); overflow:hidden; position:relative;
}
.night::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 80% at 75% 20%, rgba(96,130,190,.25), transparent 70%);
}
.night__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:70px; align-items:center; position:relative; }
.night .h2{ color:var(--white); }
.night .h2 em{ color:var(--gold-soft); }
.night__img{ border-radius:var(--radius); overflow:hidden; box-shadow:0 40px 90px -30px rgba(0,0,0,.7); transform:rotate(1.4deg); }
.night__img img{ transition:transform 1.4s var(--ease-lux); }
.night__img:hover img{ transform:scale(1.05); }
.night p{ color:#c6cede; }

/* ---------- Price table (Flughafentransfer) ---------- */
.pricegrid{
  margin-top:38px; display:grid; grid-template-columns:repeat(2,1fr); gap:14px 26px;
}
.price{
  display:flex; align-items:baseline; justify-content:space-between; gap:16px;
  padding:16px 22px; border-radius:16px;
  background:var(--night-2); border:1px solid rgba(217,187,133,.16);
  transition:transform .4s var(--ease-lux), border-color .4s;
}
.price:hover{ transform:translateY(-3px); border-color:var(--gold-soft); }
.price__city{
  font-family:var(--font-d); font-weight:600; font-size:19px; letter-spacing:.01em;
  color:var(--white);
}
.price__dots{ flex:1; border-bottom:2px dotted rgba(217,187,133,.3); transform:translateY(-4px); }
.price__eur{
  font-weight:700; font-size:19px; color:var(--gold-soft); white-space:nowrap;
}
.price-meta{
  margin-top:26px; display:flex; flex-wrap:wrap; gap:10px 24px; align-items:center;
  color:#c6cede; font-size:15px;
}
.price-meta strong{ color:var(--white); }
.price-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(217,187,133,.14); color:var(--gold-soft);
  padding:6px 16px; border-radius:999px; font-weight:700; font-size:13px; letter-spacing:.04em;
}
@media (max-width:640px){ .pricegrid{ grid-template-columns:1fr; } }

/* ---------- Trust strip ---------- */
.trust{ background:#f1e9d7; }
.trust__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.trust__item{ text-align:center; padding:20px; }
.trust__item .big{
  font-family:var(--font-d); font-weight:900; font-size:clamp(40px,5vw,66px);
  line-height:1; color:var(--ink);
}
.trust__item .big em{ color:var(--gold-deep); font-style:italic; }
.trust__item p{ margin-top:12px; color:var(--ink-soft); font-size:15.5px; }

/* ---------- Big CTA ---------- */
.cta{ text-align:center; background:var(--cream); }
.cta .h2{ margin-bottom:16px; }
.cta__phone{
  display:inline-block; margin:26px 0 8px;
  font-family:var(--font-d); font-weight:900; letter-spacing:.01em;
  font-size:clamp(38px,6.4vw,88px); line-height:1;
  color:var(--ink); position:relative; transition:color .3s;
}
.cta__phone:hover{ color:var(--gold-deep); }
.cta__phone::after{
  content:""; position:absolute; left:0; right:0; bottom:-8px; height:4px;
  background:var(--gold); border-radius:4px; transform:scaleX(.25); transform-origin:left;
  transition:transform .6s var(--ease-lux);
}
.cta__phone:hover::after{ transform:scaleX(1); }
.cta__note{ color:var(--ink-soft); margin-bottom:34px; }
.cta__row{ display:flex; gap:16px; justify-content:center; flex-wrap:wrap; }

/* ---------- Footer ---------- */
.site-footer{ background:var(--ink); color:#cbc2b2; padding:70px 0 36px; }
.footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:50px; }
.site-footer .brand__name{ color:var(--cream); }
.site-footer h4{
  font-family:var(--font-t); font-size:12.5px; letter-spacing:.3em; text-transform:uppercase;
  color:var(--gold-soft); margin-bottom:18px; font-weight:700;
}
.site-footer ul li{ margin-bottom:10px; }
.site-footer a:hover{ color:var(--gold-soft); }
.footer-bottom{
  margin-top:56px; padding-top:26px; border-top:1px solid rgba(246,241,230,.14);
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:14px; font-size:14px;
}
.footer-bottom .van-mini{ width:46px; overflow:visible; }
.footer-bottom .van-mini .wheel{ animation:wheel-spin 1.2s linear infinite; }

/* ---------- Subpage hero ---------- */
.page-hero{
  position:relative; overflow:hidden; color:var(--cream);
  min-height:52vh; display:flex; align-items:flex-end;
  background:var(--ink);
}
.page-hero__img{ position:absolute; inset:0; }
.page-hero__img img,
.page-hero__img video{ width:100%; height:100%; object-fit:cover; opacity:.62; }
.page-hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(15,20,30,.15) 0%, rgba(20,16,10,.82) 100%);
}
.page-hero .wrap{ position:relative; z-index:2; padding-bottom:64px; padding-top:180px; }
.page-hero .h-display{ font-size:clamp(40px,6vw,84px); color:var(--white); }
.page-hero .kicker{ color:var(--gold-soft); }
.page-hero .kicker::before{ background:var(--gold-soft); }
.page-hero .lead{ color:#e8e1d2; margin-top:18px; }

/* ---------- Content blocks on subpages ---------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.split__img{ border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); transform:rotate(-1.2deg); }
.split--rev .split__img{ transform:rotate(1.2deg); }
.split__img img{ transition:transform 1.2s var(--ease-lux); }
.split__img:hover img{ transform:scale(1.05); }

.checklist{ margin-top:26px; display:flex; flex-direction:column; gap:15px; }
.checklist li{
  display:flex; gap:16px; align-items:flex-start; font-size:16.5px;
  background:var(--white); border-radius:18px; padding:16px 22px;
  box-shadow:0 12px 34px -20px rgba(34,27,18,.3);
  transition:transform .4s var(--ease-lux);
}
.checklist li:hover{ transform:translateX(8px); }
.checklist li::before{
  content:"✓"; flex:none; width:26px; height:26px; border-radius:50%;
  background:var(--gold); color:var(--white); display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:800; margin-top:2px;
}
.checklist--night li{ background:var(--night-2); color:#dfe5f0; box-shadow:none; }

.note-card{
  margin-top:40px; background:var(--cream-2); border-left:5px solid var(--gold);
  padding:26px 32px; border-radius:0 18px 18px 0; font-size:16.5px; color:var(--ink-soft);
}

/* Legal pages */
.legal{ max-width:820px; }
.legal h1{ font-family:var(--font-d); font-weight:900; font-size:clamp(38px,5vw,64px); margin-bottom:40px; }
.legal h2{ font-family:var(--font-d); font-weight:700; font-size:26px; margin:44px 0 14px; }
.legal p{ margin-bottom:16px; color:var(--ink-soft); }
.legal address{ font-style:normal; font-size:18px; line-height:1.9; margin-bottom:20px; }
.legal a{ color:var(--gold-deep); font-weight:600; }

/* Kontakt page */
.contact-hero{ background:linear-gradient(180deg,#f9f4e9,var(--cream)); text-align:center; padding:170px 0 90px; }
.contact-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; margin-top:60px; }
.ccard{
  background:var(--white); border-radius:var(--radius); padding:44px 34px; text-align:center;
  box-shadow:var(--shadow); transition:transform .5s var(--ease-lux);
}
.ccard:hover{ transform:translateY(-10px) rotate(-.8deg); }
.ccard:nth-child(2):hover{ transform:translateY(-10px); }
.ccard:nth-child(3):hover{ transform:translateY(-10px) rotate(.8deg); }
.ccard__icon{
  width:74px; height:74px; margin:0 auto 22px; border-radius:50%;
  background:var(--cream-2); display:flex; align-items:center; justify-content:center;
}
.ccard__icon svg{ width:32px; height:32px; }
.ccard h3{ font-family:var(--font-d); font-size:24px; font-weight:900; margin-bottom:10px; }
.ccard p{ color:var(--ink-soft); font-size:15.5px; margin-bottom:18px; }
.ccard a.big-link{ font-weight:800; font-size:19px; color:var(--gold-deep); }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .services__grid{ gap:22px; }
  .night__grid{ grid-template-columns:1fr; gap:44px; }
  .split{ grid-template-columns:1fr; gap:44px; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .contact-cards{ grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; }
  .trust__grid{ grid-template-columns:1fr; gap:26px; }
}

@media (max-width:1180px){
  .burger{ display:block; }
  .main-nav{
    position:fixed; inset:0; z-index:950;
    background:var(--cream);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:opacity .45s var(--ease-lux), visibility .45s;
  }
  .main-nav.open{ opacity:1; visibility:visible; }
  .main-nav ul{ flex-direction:column; gap:22px; text-align:center; padding:80px 24px 30px; }
  .main-nav a{ font-family:var(--font-d); font-size:clamp(20px,5.6vw,27px); font-weight:900; white-space:normal; }
  .nav-cta{ font-size:20px!important; }
}

@media (max-width:860px){
  .section{ padding:76px 0; }
  .services__grid{ grid-template-columns:1fr; gap:26px; }
  .svc__media{ aspect-ratio:16/9; }
  .hero__cta-row .btn{ width:100%; justify-content:center; }
  .page-hero .wrap{ padding-top:140px; }
  /* Bigger, readable journey stations on phones */
  .station{ transform:translateY(14px) scale(1.5); }
  .station.lit{ transform:scale(1.5); }
}

@media (max-width:600px){
  /* Footer in einer Spalte – sonst wird die rechte Spalte am Rand abgeschnitten */
  .footer-grid{ grid-template-columns:1fr; gap:34px; }
  .footer-bottom{ flex-direction:column; align-items:flex-start; gap:18px; }
}
