/* 26 · Horizont – ein Tag in Farbfeldern. Syne + Inter. */
:root{
  --night:#0d0b28; --night2:#17134a; --ink:#0d0b28; --paper:#fff7ea;
  --sun:#fbc108; --sun2:#ffd84d; --coral:#ff7657; --teal:#079a7c; --plum:#3a1a58; --rose:#c2457a;
  --pad:clamp(16px,4.4vw,72px); --max:1360px;
  --display:'Syne', 'Arial Black', 'Helvetica Neue', Arial, sans-serif;
  --text:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --hz-w:2px;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--night);color:var(--paper);-webkit-text-size-adjust:100%}
@media (min-width:1024px) and (min-height:700px){
  html{scroll-snap-type:y proximity}
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font:400 1.0625rem/1.62 var(--text);font-feature-settings:"ss01","cv11";overflow-x:clip}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{margin:0;font-weight:inherit}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid currentColor;outline-offset:4px;border-radius:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--sun);color:var(--ink);padding:10px 16px;font-weight:600;border-radius:999px}
.skip:focus{top:16px}
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- Grundgerüst: Himmel / Horizont / Meer ---------- */
.screen{position:relative;min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;overflow:clip;scroll-snap-align:start;color:var(--fg,var(--paper));background:var(--bg,var(--night))}
.sky{position:relative;display:flex;flex-direction:column;justify-content:flex-end}
.sky__in{position:relative;z-index:2;padding-top:clamp(96px,14vh,150px);padding-bottom:clamp(28px,5vh,56px)}
.hz{position:relative;z-index:1;height:var(--hz-w);background:var(--hz,currentColor)}
.sea{position:relative;padding-block:clamp(28px,5vh,60px) clamp(56px,9vh,110px)}

.tod{display:flex;align-items:center;gap:.8em;font:600 .78rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase;opacity:.8;margin-bottom:clamp(14px,2.4vh,26px)}
.tod span{display:inline-grid;place-items:center;min-width:2.6em;height:2.6em;border:1.5px solid currentColor;border-radius:50%;letter-spacing:0;font-weight:700}
.kicker{font:600 clamp(.95rem,.8rem + .4vw,1.15rem)/1.35 var(--display);letter-spacing:.01em;margin-bottom:clamp(10px,1.6vh,18px);max-width:40ch}
.say{font-family:var(--display);font-weight:800;font-size:clamp(2.5rem,min(6.4vw,10.5vh),6.5rem);line-height:.93;letter-spacing:-.045em;text-wrap:balance;max-width:14ch;hyphens:manual}
.lead{font-size:clamp(1.06rem,.95rem + .4vw,1.3rem);line-height:1.55;max-width:44ch}

/* Sonne(n) */
.sun{position:absolute;border-radius:50%;pointer-events:none;z-index:1}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:56px;padding:0 1.6em;border-radius:999px;font:700 1rem/1 var(--display);letter-spacing:.01em;text-decoration:none;transition:transform .25s ease,background-color .25s ease,color .25s ease}
.btn--sun{background:var(--sun);color:var(--ink)}
.btn--sun:hover{background:#fff;transform:translateY(-2px)}
.btn--ghost{border:2px solid currentColor;background:rgba(14,12,40,.72);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.btn--ghost:hover{background:var(--paper);color:var(--ink);border-color:var(--paper)}

/* ---------- Kopf ---------- */
.top{position:absolute;inset:0 0 auto;z-index:20;color:var(--paper)}
.top__in{max-width:var(--max);margin-inline:auto;padding:clamp(14px,2.4vh,26px) var(--pad);display:flex;align-items:center;gap:24px}
.brand{display:block;flex:none;border-radius:4px}
.brand img{width:clamp(58px,5.2vw,74px);height:auto;aspect-ratio:1510/1300}
.nav{margin-left:auto;display:flex;align-items:center;gap:clamp(14px,2.2vw,34px)}
.nav__list{display:flex;gap:clamp(14px,2.2vw,34px)}
.nav__list a{font:600 .98rem/1 var(--display);text-decoration:none;padding:8px 0;background:linear-gradient(currentColor,currentColor) 0 100%/0 2px no-repeat;transition:background-size .3s ease}
.nav__list a:hover{background-size:100% 2px}
.nav__phone{font:700 .98rem/1 var(--display);text-decoration:none;padding:12px 18px;border:1.5px solid rgba(255,247,234,.55);border-radius:999px;white-space:nowrap}
.nav__phone:hover{background:var(--paper);color:var(--ink)}
.nav__lang{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--sun);color:var(--ink);font:800 .85rem/1 var(--display);text-decoration:none;letter-spacing:.04em}
.nav__lang:hover{background:#fff}
.menu-btn{display:none}

@media (max-width:900px){
  .js .menu-btn{display:inline-flex;align-items:center;gap:12px;margin-left:auto;min-height:48px;padding:0 18px;border:1.5px solid rgba(255,247,234,.6);border-radius:999px;background:transparent;color:inherit;font:700 .95rem/1 var(--display);cursor:pointer;position:relative;z-index:31}
  .menu-btn__icon{position:relative;width:18px;height:10px}
  .menu-btn__icon::before,.menu-btn__icon::after{content:"";position:absolute;left:0;right:0;height:2px;background:currentColor;transition:transform .2s,top .2s}
  .menu-btn__icon::before{top:0}.menu-btn__icon::after{top:8px}
  .menu-btn[aria-expanded="true"] .menu-btn__icon::before{top:4px;transform:rotate(45deg)}
  .menu-btn[aria-expanded="true"] .menu-btn__icon::after{top:4px;transform:rotate(-45deg)}
  .js .brand{position:relative;z-index:31}
  .menu-btn[aria-expanded="true"]{background:var(--sun);color:var(--ink);border-color:var(--sun)}
  .js .nav{position:fixed;inset:0;z-index:30;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:28px;padding:100px var(--pad) 110px;background:linear-gradient(180deg,var(--night) 0%,var(--night2) 55%,#7a2f68 88%,var(--coral) 100%);visibility:hidden;opacity:0;transition:opacity .25s ease,visibility 0s .25s}
  .js .nav.is-open{visibility:visible;opacity:1;transition:opacity .25s ease}
  .js .nav__list{flex-direction:column;gap:6px}
  .js .nav__list a{font:800 clamp(1.9rem,9.2vw,3.2rem)/1.1 var(--display);letter-spacing:-.04em;display:inline-block}
  .nav{flex-wrap:wrap}
  html:not(.js) .top__in{flex-wrap:wrap}
  html:not(.js) .nav{margin-left:0;width:100%}
  html:not(.js) .nav__list{flex-wrap:wrap}
}

/* Tageszeit-Schiene (Desktop) */
.rail{display:none}
@media (min-width:1100px){
  .js .rail{display:flex;position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:15;flex-direction:column;align-items:center;gap:14px;color:var(--rail,#fff7ea);transition:color .4s ease;pointer-events:none}
  .rail__line{position:relative;width:2px;height:34vh;background:currentColor;opacity:.9;border-radius:2px}
  .rail__line::before,.rail__line::after{content:"";position:absolute;left:50%;width:10px;height:2px;background:currentColor;transform:translateX(-50%)}
  .rail__line::before{top:0}.rail__line::after{bottom:0}
  .rail__sun{position:absolute;left:50%;top:calc(var(--p,0) * 100%);width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 25%,transparent)}
  .rail__label{writing-mode:vertical-rl;font:700 .7rem/1 var(--display);letter-spacing:.2em;text-transform:uppercase}
}

/* ---------- 01 Morgengrauen ---------- */
.s-dawn{--fg:var(--paper);--hz:linear-gradient(90deg,rgba(255,118,87,.2),#ff9a6b 30%,#ffd166 70%,#ff9a6b 85%,rgba(255,118,87,.2));
  background:radial-gradient(120% 60% at 72% 100%,rgba(255,140,90,.55),transparent 62%),linear-gradient(180deg,#0d0b28 0%,#1c1650 38%,#4a2266 66%,#9a3c6c 90%,#d65a62 100%);
  grid-template-rows:1fr auto auto;height:100vh;height:100svh;min-height:640px}
.s-dawn .sky{overflow:hidden}
.s-dawn .sky__in{padding-bottom:clamp(30px,5.5vh,64px)}
.say--hero{max-width:min(13.5ch,66vw);font-size:clamp(2.6rem,min(6vw,10vh),6.4rem)}
.sun--rise{width:min(31vw,50vh);aspect-ratio:1;right:-7vw;bottom:0;transform:translateY(46%);background:radial-gradient(circle at 50% 30%,#ffe9a3 0%,var(--sun) 38%,#ff9a4d 72%,var(--coral) 100%);box-shadow:0 0 120px 40px rgba(255,170,90,.35)}
@media (prefers-reduced-motion:no-preference){
  .sun--rise{animation:rise 2.4s cubic-bezier(.2,.7,.2,1) both}
  @keyframes rise{from{transform:translateY(90%)}to{transform:translateY(46%)}}
  .glint{animation:glint 2.4s ease both}
  @keyframes glint{from{opacity:0}to{opacity:.85}}
}
.s-dawn .sea{background:linear-gradient(180deg,#2a1640 0%,#120e33 60%,#0d0b28 100%)}
.glint{position:absolute;top:0;bottom:0;width:min(31vw,50vh);right:-7vw;opacity:.85;
  background:repeating-linear-gradient(180deg,rgba(255,200,100,.95) 0 3px,transparent 3px 13px);
  -webkit-mask:linear-gradient(180deg,#000 0%,transparent 85%),linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);-webkit-mask-composite:source-in;mask:linear-gradient(180deg,#000 0%,transparent 85%) intersect,linear-gradient(90deg,transparent,#000 25%,#000 75%,transparent);mask-composite:intersect}
.hero-sea{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.hero-sea .lead{max-width:50ch}
.hero-act{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.ctas{display:flex;flex-wrap:wrap;gap:12px}
.avail{display:flex;align-items:center;gap:10px;font-size:.95rem;opacity:.9}
.dot{width:9px;height:9px;border-radius:50%;background:var(--sun);box-shadow:0 0 0 4px rgba(251,193,8,.25)}

/* ---------- 02/03 Vormittag – Schwerpunkt ---------- */
.s-morning{--bg:var(--sun);--fg:var(--ink);--hz:var(--ink);background:var(--sun);color:var(--ink)}
.s-morning .screen{background:transparent}
.sun--morning{width:clamp(160px,22vw,340px);aspect-ratio:1;right:max(var(--pad),calc((100% - var(--max))/2 + var(--pad)));top:clamp(90px,15vh,150px);background:#fff4c7;box-shadow:0 0 0 clamp(18px,2.4vw,34px) rgba(255,255,255,.28),0 0 0 clamp(38px,5vw,70px) rgba(255,255,255,.14)}
.s-morning .btn--sun{background:var(--ink);color:var(--sun)}
.focus{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,90px);align-items:start}
.focus__intro{font-weight:500}
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(22px,2.6vw,40px) clamp(20px,2.6vw,40px);counter-reset:c}
.cases li{border-top:2px solid var(--ink);padding-top:14px}
.cases__n{display:block;font:700 .8rem/1 var(--display);letter-spacing:.12em;margin-bottom:12px}
.cases h3{font:800 clamp(1.15rem,1rem + .5vw,1.45rem)/1.12 var(--display);letter-spacing:-.02em;margin-bottom:8px;hyphens:auto}
.cases p{font-size:.98rem;line-height:1.5;hyphens:auto}

.screen--route{grid-template-rows:1fr auto auto;background:linear-gradient(180deg,var(--sun) 0%,#ffd23a 100%)!important}
.stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:28px clamp(24px,4vw,72px);align-items:start}
.stats li{display:flex;flex-direction:column;gap:12px}
.stats strong{font:800 clamp(3.2rem,min(7.4vw,14vh),8rem)/.85 var(--display);letter-spacing:-.06em;white-space:nowrap}
.stats span{font:600 clamp(.95rem,.85rem + .3vw,1.12rem)/1.3 var(--display);max-width:18ch}
.route{position:relative}
.route__head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;margin-bottom:6px}
.route__label{display:inline-block;font:700 .78rem/1 var(--display);letter-spacing:.16em;text-transform:uppercase;padding:8px 12px;border:1.5px solid var(--ink);border-radius:999px}
.route__codes{font:700 clamp(1rem,.9rem + .4vw,1.25rem)/1.2 var(--display);letter-spacing:.06em}
.route__map{position:relative;height:clamp(110px,16vh,160px)}
.route__svg{display:block;width:100%;height:100%;overflow:visible}
.route__svg path{fill:none;stroke:var(--ink);stroke-width:2.5;vector-effect:non-scaling-stroke}
.route__svg .car{stroke-dasharray:3 9;stroke-width:5;stroke-linecap:round}
.route__stops{position:absolute;left:var(--pad);right:var(--pad);bottom:-38px;height:30px;z-index:3}
.route__stops li{position:absolute;left:var(--x);transform:translateX(var(--tx,-50%));font:800 .95rem/1 var(--display);letter-spacing:.06em;padding-top:16px}
.route__stops li::before{content:"";position:absolute;top:-8px;left:50%;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--sun);border:2.5px solid var(--ink)}
.route__stops li:first-child{--tx:-22%}
.route__stops li:last-child{--tx:-78%}
.route__stops li:first-child::before{left:22%}
.route__stops li:last-child::before{left:78%}
.hz--route{margin-top:-1px}
.screen--route .sea{padding-top:clamp(56px,8vh,80px)}
.route__foot{display:grid;grid-template-columns:minmax(0,1.4fr) auto minmax(0,1fr);gap:16px 48px;align-items:start}
.route__text{font:600 clamp(1.05rem,.95rem + .45vw,1.35rem)/1.4 var(--display);max-width:44ch}
.route__legend{display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:500;white-space:nowrap}
.lg{display:inline-block;width:28px;height:0;border-top:2.5px solid var(--ink)}
.lg--car{border-top:5px dotted var(--ink);margin-left:14px}
.route__note{font-size:.98rem;max-width:34ch}
@media (prefers-reduced-motion:no-preference){
  .js .route .route__svg{transition:clip-path 2.6s cubic-bezier(.5,0,.3,1)}
  .js .route:not(.is-in) .route__svg{clip-path:inset(0 100% 0 0)}
}
.sun--late{width:clamp(200px,26vw,400px);aspect-ratio:1;right:18%;top:0;transform:translateY(-58%);background:#fff4c7;box-shadow:0 0 0 clamp(18px,2.4vw,34px) rgba(255,255,255,.28),0 0 0 clamp(38px,5vw,70px) rgba(255,255,255,.14)}

/* ---------- 04 Mittag – Leistungen ---------- */
.s-noon{--bg:var(--teal);--fg:var(--ink);--hz:var(--sun);--hz-w:4px}
.sun--noon{width:clamp(90px,9vw,140px);aspect-ratio:1;left:50%;top:clamp(40px,6vh,70px);background:var(--sun);box-shadow:0 0 0 14px rgba(251,193,8,.25),0 0 80px 20px rgba(251,193,8,.35)}
.svc-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(24px,5vw,90px);align-items:end}
.svc-head__intro{font-weight:500}
.sea--strip{padding-top:clamp(20px,3vh,36px)}
.strip-ctl{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(14px,2vh,22px)}
.strip-ctl__hint{font:700 .8rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase}
.strip-ctl__btns{display:none;gap:10px}
.js .strip-ctl__btns{display:flex}
.arrow{width:52px;height:52px;border-radius:50%;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 1.25rem/1 var(--display);cursor:pointer;transition:background-color .2s,color .2s}
.arrow:hover{background:var(--ink);color:var(--teal)}
.arrow:disabled{opacity:.35;cursor:default;background:transparent;color:var(--ink)}
.strip{--inset:max(var(--pad),calc((100% - var(--max))/2 + var(--pad)));display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(--inset);padding:0 var(--inset) 22px;scrollbar-width:thin;scrollbar-color:var(--ink) rgba(13,11,40,.18)}
.strip::-webkit-scrollbar{height:8px}
.strip::-webkit-scrollbar-track{background:rgba(13,11,40,.18);border-radius:8px}
.strip::-webkit-scrollbar-thumb{background:var(--ink);border-radius:8px}
.strip:focus-visible{outline:3px solid var(--sun);outline-offset:-3px}
.strip>li{flex:0 0 clamp(260px,24vw,340px);scroll-snap-align:start;padding:6px clamp(20px,2vw,32px) 10px;border-left:2px solid var(--ink)}
.strip>li:last-child{margin-right:var(--inset)}
.strip__n{display:block;font:800 clamp(3rem,5vw,4.6rem)/.9 var(--display);letter-spacing:-.05em;color:transparent;-webkit-text-stroke:2px var(--ink);margin-bottom:clamp(18px,4vh,48px)}
.strip h3{font:800 clamp(1.3rem,1.1rem + .6vw,1.7rem)/1.1 var(--display);letter-spacing:-.025em;margin-bottom:10px;hyphens:auto}
.strip p{font-size:1rem;line-height:1.55;hyphens:auto}
.strip>li.strip__photo{flex-basis:clamp(300px,38vw,560px);border-left:0;padding:0 clamp(20px,2vw,32px) 0 0}
.strip__photo figure{margin:0}
.duo{position:relative;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(180deg,#ffe07a 0%,var(--sun) 45%,var(--coral) 100%);border-radius:999px 999px 0 0}
.duo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.15) brightness(1.05);mix-blend-mode:multiply}
.duo::after{content:"";position:absolute;left:0;right:0;top:17%;height:2px;background:var(--ink);opacity:.55}
.strip__photo figcaption{margin-top:10px;font:600 .78rem/1 var(--display);letter-spacing:.14em;text-transform:uppercase}

/* ---------- 05 Nachmittag – Ablauf ---------- */
.s-afternoon{--bg:var(--coral);--fg:var(--ink);grid-template-rows:1fr auto;padding-bottom:clamp(56px,9vh,110px)}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 clamp(20px,3vw,48px);--skyh:clamp(150px,24vh,250px)}
.steps::after{content:"";position:absolute;left:-100vw;right:-100vw;top:var(--skyh);height:2px;background:var(--ink)}
.steps li{position:relative}
.steps__sky{position:relative;height:var(--skyh);overflow:hidden;margin-bottom:clamp(20px,3vh,34px)}
.steps__sun{position:absolute;left:0;bottom:calc(var(--h) * (var(--skyh) - 84px) / 100);width:clamp(64px,6vw,84px);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:#ffe39b;color:var(--ink);font:800 clamp(1.3rem,2vw,1.8rem)/1 var(--display);box-shadow:0 0 0 10px rgba(255,227,155,.3)}
.steps li:last-child .steps__sun{bottom:0;transform:translateY(50%);align-content:start;padding-top:9px;background:#ffd36e}
.steps__sky--x::after{content:"";position:absolute;left:clamp(64px,6vw,84px);right:-12px;bottom:calc(var(--h) * (var(--skyh) - 84px) / 100 + 30px);border-top:2px dashed rgba(13,11,40,.35);transform-origin:left;transform:rotate(9deg)}
.steps h3{font:800 clamp(1.4rem,1.1rem + 1vw,2.1rem)/1.05 var(--display);letter-spacing:-.03em;margin-bottom:10px}
.steps p{font-size:1rem;line-height:1.55;max-width:30ch;hyphens:auto}

/* ---------- 06 Abend – Über uns ---------- */
.s-evening{--fg:var(--paper);--hz:linear-gradient(90deg,transparent,#ffb36b 20%,var(--coral) 60%,transparent);
  background:radial-gradient(70% 55% at 76% 62%,rgba(255,118,87,.55),transparent 70%),linear-gradient(180deg,#26124a 0%,var(--plum) 45%,#6a2460 78%,#2a1440 100%)}
.s-evening .sea{background:linear-gradient(180deg,rgba(13,11,40,.25),rgba(13,11,40,.75))}
.about-sky{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;position:static}
.about-sky__text{position:relative;z-index:2;padding-bottom:clamp(20px,4vh,40px)}
.portrait{--d:clamp(240px,min(30vw,46vh),440px);margin:0;width:var(--d);aspect-ratio:1;border-radius:50%;overflow:hidden;position:relative;z-index:3;transform:translateY(calc(var(--d) / 2 + clamp(28px,5vh,56px)));margin-top:calc(var(--d) / -2);box-shadow:0 0 0 10px rgba(255,140,100,.25),0 0 0 26px rgba(255,140,100,.1),0 30px 120px rgba(255,118,87,.5)}
.portrait img{width:100%;height:100%;object-fit:cover;filter:sepia(.25) saturate(1.1) contrast(1.05)}
.about-sea{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,min(30vw,46vh),440px);gap:40px}
.about-sea>*{grid-column:1}
.about-sea{grid-template-areas:"lead ." "facts ."}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin-top:clamp(20px,3vh,36px);max-width:640px}
.facts li{display:flex;align-items:center;gap:14px;font:700 1.02rem/1.3 var(--display);padding:14px 0;border-top:1px solid rgba(255,247,234,.35)}
.facts li::before{content:"";flex:none;width:18px;height:9px;border-radius:18px 18px 0 0;background:var(--coral)}

/* ---------- 07 Nacht – Kontakt ---------- */
.s-night{--fg:var(--paper);--hz:linear-gradient(90deg,transparent,rgba(255,247,234,.85) 15%,rgba(255,247,234,.85) 85%,transparent);--hz-w:1px;
  background:
   radial-gradient(1.5px 1.5px at 12% 18%,#fff 98%,transparent),radial-gradient(1px 1px at 22% 42%,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 35% 12%,#fff 98%,transparent),
   radial-gradient(1px 1px at 48% 30%,#fff 98%,transparent),radial-gradient(2px 2px at 58% 8%,#fff 98%,transparent),radial-gradient(1px 1px at 66% 38%,#fff 98%,transparent),
   radial-gradient(1.5px 1.5px at 74% 22%,#fff 98%,transparent),radial-gradient(1px 1px at 86% 46%,#fff 98%,transparent),radial-gradient(1.5px 1.5px at 93% 14%,#fff 98%,transparent),
   radial-gradient(1px 1px at 6% 52%,#fff 98%,transparent),radial-gradient(1px 1px at 41% 55%,#fff 98%,transparent),radial-gradient(1px 1px at 80% 58%,#fff 98%,transparent),
   linear-gradient(180deg,#07061a 0%,var(--night) 55%,#16124a 100%)}
.moon{position:absolute;border-radius:50%;z-index:1;width:clamp(80px,9vw,140px);aspect-ratio:1;right:max(calc(var(--pad) + 40px),calc((100% - var(--max))/2 + var(--pad) + 60px));top:clamp(90px,16vh,170px);box-shadow:inset calc(clamp(80px,9vw,140px) * -.22) calc(clamp(80px,9vw,140px) * .1) 0 0 #f4ecd8;transform:rotate(-12deg);filter:drop-shadow(0 0 30px rgba(244,236,216,.35))}
.contact-lead{margin-top:clamp(16px,2.4vh,26px);opacity:.92;max-width:60ch}
.s-night .sea{background:linear-gradient(180deg,#120f3a,#0a0822)}
.contact{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr) minmax(0,.95fr) minmax(0,1.3fr);gap:32px clamp(24px,3vw,48px)}
.contact h3{font:700 .78rem/1.2 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--sun);margin-bottom:14px}
.contact p{line-height:1.6}
.contact a{text-decoration-thickness:1px;text-underline-offset:4px}
.contact a:hover{color:var(--sun)}
.contact .big{font:800 clamp(1.1rem,.95rem + .45vw,1.4rem)/1.3 var(--display);letter-spacing:-.01em;text-decoration:none;white-space:nowrap}
.geo{margin-top:10px;font:600 .8rem/1 var(--display);letter-spacing:.1em;opacity:.7}

/* ---------- Fuß ---------- */
.foot{background:#07061a;color:var(--paper);border-top:1px solid rgba(255,247,234,.12)}
.foot__in{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;padding-block:44px 92px}
.brand--foot img{width:84px}
.foot__copy{font-size:.92rem;opacity:.8}
.foot__links{display:flex;flex-wrap:wrap;gap:8px 28px;margin-left:auto;font:600 .95rem/1 var(--display)}
.foot__links a{text-decoration:none;padding:8px 0}
.foot__links a:hover{color:var(--sun)}

/* ---------- Rechtsseiten ---------- */
.screen--legal{min-height:auto;height:auto;grid-template-rows:auto auto auto;background:radial-gradient(90% 70% at 75% 100%,rgba(255,140,90,.4),transparent 65%),linear-gradient(180deg,#0d0b28 0%,#24185a 60%,#7c3068 100%)}
.screen--legal .sky__in{padding-top:clamp(130px,20vh,200px);padding-bottom:clamp(36px,6vh,64px)}
.screen--legal .say{font-size:clamp(2rem,4.6vw,4.4rem);max-width:16ch;hyphens:manual}
.back{display:inline-flex;align-items:center;gap:8px;margin-bottom:28px;font:700 .95rem/1 var(--display);text-decoration:none;padding:12px 18px;border:1.5px solid rgba(255,247,234,.55);border-radius:999px}
.back:hover{background:var(--paper);color:var(--ink)}
.sun--legal{width:clamp(160px,24vw,360px);aspect-ratio:1;right:-6vw;bottom:0;transform:translateY(50%);background:radial-gradient(circle at 50% 30%,#ffe9a3,var(--sun) 40%,var(--coral));box-shadow:0 0 100px 30px rgba(255,170,90,.3)}
.screen--legal .sky{overflow:hidden}
.screen--legal .sea{background:#100d30}
.prose{max-width:70ch}
.prose h2{font:800 clamp(1.25rem,1.1rem + .5vw,1.6rem)/1.2 var(--display);letter-spacing:-.02em;color:var(--sun);margin:2.4em 0 .7em}
.prose h2:first-child{margin-top:0}
.prose p,.prose ul{margin:0 0 1em;color:rgba(255,247,234,.9)}
.prose ul{padding-left:0}
.prose li{position:relative;padding-left:28px;margin-bottom:.45em}
.prose li::before{content:"";position:absolute;left:0;top:.62em;width:14px;height:7px;border-radius:14px 14px 0 0;background:var(--coral)}
.prose a{color:var(--sun);text-underline-offset:3px;word-break:break-word}
.prose .legal-note{border-left:4px solid var(--coral);padding:14px 18px;background:rgba(255,118,87,.12);font-size:.95rem;margin-bottom:2em}
.prose .legal-address{font:600 1.05rem/1.55 var(--display);padding:18px 0;border-block:1px solid rgba(255,247,234,.25)}

/* ---------- Responsiv ---------- */
@media (max-width:1100px){
  .cases{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .focus,.svc-head,.hero-sea{grid-template-columns:1fr}
  .route__foot{grid-template-columns:1fr}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 24px;--skyh:130px}
  .steps::after{display:none}
  .steps__sky{border-bottom:2px solid var(--ink)}
  .steps__sun{--sz:56px;width:56px;bottom:calc(var(--h) * (var(--skyh) - 56px) / 100)}
  .steps li:last-child .steps__sun{bottom:0}
  .steps__sky::after{display:none}
}
@media (max-width:760px){
  .screen{min-height:0}
  .s-dawn{height:auto;min-height:100svh}
  .say{font-size:clamp(2rem,9.2vw,3.4rem);line-height:.98;letter-spacing:-.05em;hyphens:auto;-webkit-hyphens:auto}
  .say--hero{font-size:clamp(2.1rem,9.8vw,3.4rem);max-width:none}
  .sun--late{display:none}
  .glint{bottom:auto;height:110px}
  .sky__in{padding-top:110px}
  .sun--rise{width:58vw;right:-6vw}
  .s-dawn .sky__in{padding-bottom:calc(29vw + 28px)}
  .glint{width:58vw;right:-6vw}
  .sun--morning{width:34vw;top:84px;right:-6vw}
  .sun--noon{width:72px;left:auto;right:var(--pad);top:96px}
  .moon{right:var(--pad);top:96px;width:72px;box-shadow:inset -16px 7px 0 0 #f4ecd8}
  .cases{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr 1fr;gap:28px 20px}
  .stats li:last-child{grid-column:1/-1}
  .route__stops li{font-size:.8rem}
  .about-sky{grid-template-columns:1fr}
  .portrait{--d:min(74vw,340px);justify-self:center;margin-top:16px;transform:translateY(calc(var(--d) / 2))}
  .about-sky__text{padding-bottom:0}
  .s-evening .sky__in{padding-bottom:0}
  .s-evening .sea{padding-top:calc(min(74vw,340px) / 2 + 32px)}
  .about-sea{grid-template-columns:1fr;grid-template-areas:none}
  .facts{grid-template-columns:1fr}
  .contact{grid-template-columns:1fr}
  .foot__in{padding-bottom:96px}
  .foot__links{margin-left:0}
  .screen--legal .sky__in{padding-top:110px;padding-bottom:calc(15vw + 28px)}
  .sun--legal{width:34vw;right:-8vw;transform:translateY(46%)}
  .prose h2{font-size:1.15rem}
}
@media (max-width:520px){
  .steps{grid-template-columns:1fr}
  .steps li{display:grid;grid-template-columns:72px 1fr;column-gap:16px}
  .steps__sky{grid-row:1/3;height:72px;border-bottom:0;margin:0}
  .steps__sun,.steps li:last-child .steps__sun{position:static;width:56px;transform:none}
  .steps li:last-child .steps__sun{padding-top:0;align-content:center}
  .nav__phone{font-size:1.1rem}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
