/* hafen.digital — Launch-Polish (11.10.2026)
   Lokale Webfonts, einheitlicher Footer, ausgebaute Leistungsseiten, Rechtsseiten, kleine Fixes. */

/* ---------- Lokale Schrift (Inter, OFL-1.1) – keine Google-Server ---------- */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('fonts/inter-regular.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url('fonts/inter-medium.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('fonts/inter-semibold.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('fonts/inter-bold.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:800 900;font-display:swap;src:url('fonts/inter-extrabold.woff') format('woff')}
:root{--font-sans:Inter,system-ui,-apple-system,'Segoe UI',sans-serif;--font-handwriting:Inter,system-ui,sans-serif;--font-handwritten:Inter,system-ui,sans-serif;--font-script:Inter,system-ui,sans-serif}
body.hd-premium-page{font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif}

/* Caveat wurde nie geladen → unter Windows erschien „Comic Sans“. Ersetzt durch ruhigen Inter-Akzent. */
.font-handwriting,.font-handwritten,.font-script{font-family:Inter,system-ui,sans-serif!important;font-style:normal!important;font-weight:600!important;letter-spacing:-.02em;color:#21cef2}

/* Leichte Schriftschnitte auf den Unterseiten wirkten dünn – angleichen an Startseite */
.hd-extra-content>h2,.hd-extra-close h2,.hd-extra h2{font-weight:750;letter-spacing:-.035em;color:#f4f8ff}
.hd-service-card h2,.hd-service-card h3{font-weight:700;letter-spacing:-.02em}

/* ---------- Startseite: Leistungskarten sind jetzt Links ---------- */
a.hd-card-link{color:inherit;text-decoration:none!important;display:flex}
a.hd-card-link:focus-visible{outline:2px solid #44e5ff;outline-offset:4px}

/* ---------- Projekt-Fakten statt Pseudo-Kennzahlen ---------- */
.hd-fact-value{font-weight:800;font-size:1.05rem;color:#21cef2;letter-spacing:-.01em}

/* ---------- Ausgebaute Leistungsseiten ---------- */
.hd-section{max-width:1180px;margin:auto;padding:80px 28px 10px}
.hd-section>h2{font-size:clamp(27px,4vw,40px);letter-spacing:-.04em;margin:13px 0 14px;font-weight:750;color:#f4f8ff}
.hd-section>.hd-lead{max-width:720px;color:#aec2d2;font-size:16px;line-height:1.7;margin:0 0 34px}
.hd-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;counter-reset:step}
.hd-steps li{position:relative;border:1px solid #1a3e57;border-radius:17px;padding:24px 22px 22px;background:linear-gradient(150deg,#0e1f33,#070e1a)}
.hd-steps li:before{counter-increment:step;content:counter(step,decimal-leading-zero);display:block;font-weight:800;font-size:22px;color:#21cef2;margin-bottom:10px;letter-spacing:-.02em}
.hd-steps h3{font-size:17px;color:#fff;margin:0 0 6px;font-weight:700}
.hd-steps p{font-size:14px;color:#a9bccc;margin:0;line-height:1.6}
.hd-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;list-style:none;margin:0;padding:0}
.hd-checks li{position:relative;padding-left:30px;color:#cfdeea;font-size:15px;line-height:1.6}
.hd-checks li:before{content:'';position:absolute;left:0;top:5px;width:18px;height:18px;border-radius:50%;background:rgba(33,206,242,.14);border:1px solid rgba(33,206,242,.5)}
.hd-checks li:after{content:'';position:absolute;left:6px;top:9px;width:6px;height:9px;border:solid #21cef2;border-width:0 2px 2px 0;transform:rotate(45deg)}
.hd-faq{display:grid;gap:12px;max-width:860px}
.hd-faq details{border:1px solid #1a3e57;border-radius:14px;background:#0a1626;padding:0 22px}
.hd-faq summary{cursor:pointer;list-style:none;padding:18px 30px 18px 0;position:relative;font-weight:650;color:#eef6ff;font-size:16px}
.hd-faq summary::-webkit-details-marker{display:none}
.hd-faq summary:after{content:'+';position:absolute;right:0;top:14px;font-size:22px;color:#21cef2;font-weight:400}
.hd-faq details[open] summary:after{content:'–'}
.hd-faq details p{margin:0 0 18px;color:#adc1d1;font-size:15px;line-height:1.7}
.hd-faq summary:focus-visible{outline:2px solid #44e5ff;outline-offset:3px;border-radius:6px}
.hd-related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.hd-related a{display:block;border:1px solid #1a3e57;border-radius:15px;padding:20px 22px;background:#0a1626;color:#eaf4fb;text-decoration:none;transition:border-color .2s,transform .2s}
.hd-related a:hover{border-color:#2fb8dc;transform:translateY(-2px)}
.hd-related strong{display:block;font-size:16px;margin-bottom:4px}
.hd-related span{font-size:13px;color:#9fb4c4}
@media(max-width:980px){.hd-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-related{grid-template-columns:1fr}}
@media(max-width:600px){.hd-section{padding:56px 22px 0}.hd-steps,.hd-checks{grid-template-columns:1fr}}

/* ---------- Einheitlicher Footer auf allen Seiten ---------- */
.hd-footer{border-top:1px solid #17344a;background:#030912;color:#9fb4c4;font-size:14px;margin-top:40px}
.hd-footer-grid{max-width:1180px;margin:auto;padding:56px 28px 36px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.hd-footer-brand img{width:190px;height:auto;display:block;margin-bottom:14px}
.hd-footer-brand p{margin:0;max-width:300px;line-height:1.65;color:#9fb4c4}
.hd-footer h2{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#6fdcf6;margin:6px 0 14px;font-weight:700}
.hd-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.hd-footer a{color:#c4d4e0;text-decoration:none}
.hd-footer a:hover{color:#21d6ff}
.hd-footer a:focus-visible{outline:2px solid #44e5ff;outline-offset:3px;border-radius:4px}
.hd-footer-bottom{max-width:1180px;margin:auto;padding:18px 28px 28px;border-top:1px solid #12293b;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px}
.hd-footer-bottom nav{display:flex;gap:18px}
@media(max-width:860px){.hd-footer-grid{grid-template-columns:1fr 1fr}.hd-footer-brand{grid-column:1/-1}}
@media(max-width:480px){.hd-footer-grid{grid-template-columns:1fr;padding:44px 22px 26px}.hd-footer-bottom{padding-inline:22px}}

/* ---------- Rechtsseiten ---------- */
.hd-legal-main{max-width:860px;margin:auto;padding:70px 24px 60px;overflow-wrap:anywhere}
.hd-legal-main h1{font-size:clamp(34px,6vw,54px);letter-spacing:-.04em;margin:8px 0 26px;color:#f4f8ff;font-weight:800}
.hd-legal-main h2{font-size:21px;margin:36px 0 10px;color:#f4f8ff;font-weight:700}
.hd-legal-main h3{font-size:17px;margin:22px 0 6px;color:#e6f1f9;font-weight:650}
.hd-legal-main p,.hd-legal-main li{color:#b2c8da;line-height:1.8;font-size:15.5px}
.hd-legal-main a{color:#3fdcfb}
.hd-todo{background:rgba(255,190,70,.14);color:#ffd889;border:1px dashed rgba(255,190,70,.55);border-radius:6px;padding:1px 6px;font-weight:600}
.hd-legal-alert{border:1px solid rgba(255,190,70,.5);background:rgba(255,190,70,.08);color:#ffe0a3;border-radius:14px;padding:16px 20px;margin:0 0 28px;font-size:14.5px;line-height:1.6}

/* Mobile Overflow auf Rechtsseiten (416px Scrollbreite) behoben */
body.hd-legal,body.hd-legal main{overflow-x:hidden;max-width:100vw}

/* Kontaktseite: direkte Alternativen */
.hd-direct{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:18px;color:#aec2d2;font-size:14px}
.hd-direct a{color:#3fdcfb;font-weight:600}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hd-legal-main h1{hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word}
@media(max-width:480px){.hd-legal-main h1{font-size:32px}}
.hd-legal-main ul{list-style:disc;padding-left:22px;margin:0 0 12px}

/* ---------- Hero: Sail City frei sichtbar, Logo liegt im Wasser (alle Seiten) ---------- */
.hd-premium-hero .hd-hero-art{background-image:url('home-premium.webp')!important;background-position:62% 56%}
.hd-water-brand{position:absolute;right:0;bottom:-34px;width:min(560px,94%);pointer-events:none}
.hd-water-logo{display:block;width:100%;height:auto;filter:drop-shadow(0 0 18px rgba(25,178,247,.35)) drop-shadow(0 6px 22px rgba(0,0,0,.55));animation:hd-bob 7s ease-in-out infinite}
.hd-water-reflect{display:block;width:100%;height:auto;margin-top:-4px;transform:translateY(62%) scaleY(-.62);transform-origin:top center;opacity:.34;filter:blur(2px) saturate(1.3);
  -webkit-mask-image:linear-gradient(to top,rgba(0,0,0,.95),transparent 75%);mask-image:linear-gradient(to top,rgba(0,0,0,.95),transparent 75%);animation:hd-ripple 7s ease-in-out infinite}
.hd-water-shimmer{position:absolute;left:4%;right:4%;top:47%;height:2px;background:linear-gradient(90deg,transparent,rgba(33,206,242,.55),transparent);filter:blur(1px);opacity:.7}
@keyframes hd-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes hd-ripple{0%,100%{transform:translateY(62%) scaleY(-.62) skewX(0)}50%{transform:translateY(62%) scaleY(-.6) skewX(-1.5deg)}}
.hd-premium-home .hd-water-brand{width:min(640px,96%)}
@media(max-width:1070px){.hd-water-brand{width:min(440px,96%);bottom:-24px}}
.hd-visual-stage .hd-visual-bottom{display:none}
@media(max-width:760px){.hd-premium-hero .hd-hero-art{background-position:78% center}
  .hd-water-brand,.hd-premium-home .hd-water-brand{right:6%;bottom:-20px;width:74%;max-width:400px;opacity:.7}}
@media(max-width:460px){.hd-water-brand,.hd-premium-home .hd-water-brand{width:84%;right:8%;bottom:-16px}}
@media(prefers-reduced-motion:reduce){.hd-water-logo,.hd-water-reflect{animation:none}}
.hd-premium-hero .hd-hero-summary.hd-hero-summary-2{margin-top:12px!important;color:#9fb6c8!important;font-size:clamp(15px,1.02vw,17px)!important}
@media(max-height:820px) and (min-width:761px){.hd-premium-home .hd-hero-proof{display:none}}
