@font-face{font-family:Inter;src:url('inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#0b1120;--panel:#111c30;--text:#f8fafc;--muted:#b5c1d4;--line:#2a3850;--blue:#2563eb;--mint:#22d3ee}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Inter,Arial,sans-serif}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(44px,5.5vw,76px);font-weight:750}h2{font-size:clamp(32px,3.5vw,48px);font-weight:650}h3{font-size:23px;font-weight:650}p{color:var(--muted)}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.skip{position:absolute;left:20px;top:-100px;z-index:10;padding:12px 20px;background:var(--text);color:var(--bg)}.skip:focus{top:15px}.draft{background:#173044;color:#c5f5fb;font-size:12px;letter-spacing:.02em;text-align:center;padding:7px 16px}.draft a{margin-left:14px;font-weight:600}.header{position:sticky;top:0;z-index:5;background:rgba(11,17,32,.97);border-bottom:1px solid var(--line)}.header-inner{height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{font-weight:750;font-size:30px;letter-spacing:-.07em;text-decoration:none}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:14px;text-decoration:none;color:var(--muted);padding:10px 0}.nav a:hover{color:var(--text)}.nav .nav-contact{color:var(--text);border-bottom:1px solid var(--mint)}.eyebrow{display:block;color:var(--mint);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;margin-bottom:24px}.hero{padding:70px 0 64px;display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.hero h1 span{color:var(--mint)}.hero-copy>p{margin-top:26px;max-width:510px;font-size:18px;line-height:1.7}.actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:30px}.button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:12px 22px;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;background:var(--blue);color:white;transition:background .15s}.button:hover{background:#1d4ed8}.button.secondary{background:transparent;border:1px solid #53637c}.button.secondary:hover{background:var(--panel)}.hero-photo{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.hero-photo img{width:100%;height:540px;object-fit:cover;object-position:53% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:70px 24px 23px;background:linear-gradient(transparent,rgba(5,11,21,.95));color:white;display:flex;align-items:end;justify-content:space-between;gap:12px;font-size:13px;line-height:1.45}.hero-photo strong{display:block;font-size:22px;letter-spacing:-.03em}.photo-tag{border:1px solid #b5c1d480;border-radius:30px;padding:5px 11px;white-space:nowrap;font-size:11px}.section{padding:76px 0;border-top:1px solid var(--line)}.section-intro{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-bottom:44px}.section-intro p{font-size:17px;padding-top:3px}.service-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.service{border-top:1px solid #45506b;padding-top:22px}.number{color:var(--mint);font-size:13px;margin-bottom:20px;display:block}.service p{margin-top:14px;max-width:340px}.location{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;align-items:center}.location .eyebrow{margin-bottom:20px}.location p{margin-top:24px;max-width:570px}.address{border-left:2px solid var(--mint);padding-left:24px;display:flex;flex-direction:column;gap:7px}.address strong{font-size:21px;line-height:1.35;letter-spacing:-.03em}.address span{color:var(--muted);font-size:15px}.about{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:center;margin-top:54px;padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.about img{width:240px;height:285px;object-fit:cover;object-position:50% 58%;border-radius:6px}.about h3{font-size:29px}.about p{margin-top:18px;max-width:630px}.contact-section{padding-bottom:86px}.contact-box{padding:48px;background:linear-gradient(120deg,#14233d,#101a2e);border:1px solid #354763;border-radius:10px}.contact-box h2{max-width:650px}.contact-box>p{margin-top:22px}.contact-links{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-link{display:block;border-top:1px solid #4e5b71;padding-top:17px;text-decoration:none;overflow-wrap:anywhere}.contact-link small{display:block;color:var(--muted);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px}.contact-link span{font-size:clamp(19px,2.3vw,28px);font-weight:500;letter-spacing:-.03em}.contact-link:hover span{color:var(--mint)}.footer{border-top:1px solid var(--line);padding:32px 0;color:var(--muted);font-size:12px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:28px;flex-wrap:wrap}.footer nav{display:flex;gap:24px;flex-wrap:wrap}.footer a{text-decoration:none}.footer a:hover{text-decoration:underline}.footer-brand{display:block;color:var(--text);font-size:20px;font-weight:700;letter-spacing:-.05em;margin-bottom:5px}.legal{max-width:820px;padding:62px 0 80px}.legal h1{font-size:clamp(34px,5vw,56px);margin-bottom:28px;overflow-wrap:anywhere}.legal h2{font-size:25px;letter-spacing:-.03em;margin-top:38px;margin-bottom:14px;line-height:1.25}.legal h3{font-size:19px;letter-spacing:-.02em;margin:25px 0 10px}.legal p+p{margin-top:14px}.legal ul,.legal ol{color:var(--muted);padding-left:24px}.legal li+li{margin-top:9px}.legal address{font-style:normal;color:var(--muted)}.notice{border-left:3px solid var(--mint);padding:18px 22px;background:var(--panel);margin:25px 0;color:var(--muted)}.notice strong{color:var(--text)}.notice a{overflow-wrap:anywhere}.legal table{border-collapse:collapse;width:100%;font-size:14px;margin:22px 0}.legal th,.legal td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 12px}.legal th{color:var(--text)}.legal td{color:var(--muted)}.legal td:first-child{width:23%;color:var(--text);font-weight:550}.legal .back{font-size:14px;color:var(--mint);display:inline-block;margin-bottom:30px}.legal .eyebrow{margin-bottom:18px}.legal dt{font-size:13px;color:var(--muted);margin-top:20px}.legal dd{margin:3px 0 0;color:var(--text)}.legal small{color:var(--muted)}
@media(min-width:1500px){.hero{padding-top:86px;padding-bottom:80px}}
@media(max-width:900px){.wrap{width:calc(100% - 40px)}.hero{gap:28px}.hero-photo img{height:480px}.section-intro{gap:30px}.location{gap:38px}.about{gap:30px;grid-template-columns:180px 1fr}.about img{width:180px;height:250px}.contact-box{padding:34px}.hero h1{font-size:clamp(42px,6vw,62px)}}
@media(max-width:680px){html{scroll-padding-top:100px}.header-inner{height:70px;gap:14px}.brand{font-size:27px}.nav{gap:19px}.nav a{font-size:12px}.hero{grid-template-columns:1fr;padding:40px 0 45px;gap:35px}.hero h1{font-size:clamp(44px,10vw,64px)}.eyebrow{font-size:11px;margin-bottom:20px}.hero-copy>p{font-size:16px;margin-top:22px}.hero-photo img{height:auto;aspect-ratio:1.2;object-fit:cover;object-position:53% center}.hero-photo figcaption{padding:65px 18px 19px}.hero-photo strong{font-size:20px}.actions{gap:10px;margin-top:24px}.button{padding:12px 18px;font-size:13px}.section{padding:44px 0}.section-intro{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-intro p{font-size:16px}.service-list{grid-template-columns:1fr;gap:26px}.service{display:grid;grid-template-columns:35px 1fr;gap:0 12px;padding-top:18px}.number{grid-row:1/3;padding-top:3px;margin:0}.service h3{font-size:22px}.service p{margin-top:10px;max-width:none;font-size:15px}.location{grid-template-columns:1fr;gap:28px}.location p{margin-top:18px}.about{grid-template-columns:1fr;padding:22px;gap:24px;margin-top:36px}.about img{width:100%;height:280px;object-position:50% 55%}.about h3{font-size:27px}.about p{font-size:15px;margin-top:14px}.contact-box{padding:28px 22px}.contact-box h2{font-size:32px}.contact-links{grid-template-columns:1fr;gap:20px}.contact-link span{font-size:22px}.contact-section{padding-bottom:48px}.footer-inner{align-items:start;gap:22px}.footer nav{gap:19px}.legal{padding-top:38px}.legal table{font-size:12px}.legal th,.legal td{padding:12px 6px}.legal td:first-child{width:27%}.draft{font-size:11px}.draft a{margin-left:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Vollständige Originalbilder auf allen Bildschirmbreiten. */
.hero-photo img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.hero-photo figcaption{position:static;padding:20px 24px;background:var(--panel)}
.about img{height:auto;aspect-ratio:auto;object-fit:contain}
.route-link{display:inline-block;align-self:flex-start;min-height:44px;padding:9px 0;color:var(--mint);font-size:15px;font-weight:600}
.social-link{margin-top:20px}.social-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--mint);font-weight:600}
.review-wrap{margin-top:24px;max-width:420px}
.review-badge{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;width:fit-content;max-width:100%;padding:16px 20px;border:1px solid #526381;border-radius:9px;background:var(--panel);text-decoration:none}
.review-badge:hover{border-color:var(--mint);background:#172840}
.review-score{display:flex;flex-direction:column;gap:2px}.review-score strong{font-size:25px;line-height:1.2;letter-spacing:-.035em}.review-stars{color:#fbc966;font-size:18px;letter-spacing:2px;line-height:1.4}
.review-source{display:flex;flex-direction:column;gap:2px;font-size:14px}.review-source strong{font-size:15px}.review-source span{color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.review-date{display:block;margin-top:9px;font-size:12px;line-height:1.5;color:var(--muted)}
@media(max-width:380px){.review-badge{padding:14px 16px;gap:8px 14px}.review-score strong{font-size:23px}}
.route-link small{font-size:13px;color:var(--muted);font-weight:400}
@media(max-width:680px){.about img{width:100%;max-width:280px;margin-inline:auto}.hero-photo figcaption{padding:18px;flex-wrap:wrap}.hero h1{font-size:clamp(40px,9.5vw,58px)}}

/* Nicht-modaler Hinweis; keine Einwilligungssteuerung für Plattformdienste. */
[hidden]{display:none!important}
button{font:inherit;cursor:pointer}
button:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--mint);outline-offset:4px}
.privacy-notice{position:fixed;z-index:20;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));width:min(640px,calc(100% - 40px));max-height:70vh;max-height:70svh;overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid #71839e;border-radius:10px;background:#111c30;box-shadow:0 12px 60px #0009;font-size:14px;line-height:1.55}
.privacy-notice h2{font-size:23px;line-height:1.2;letter-spacing:-.025em;margin-bottom:12px}
.privacy-notice p+p{margin-top:10px}
.privacy-notice .privacy-caveat{font-size:13px;color:#c5f5fb}
.privacy-notice details{margin-top:14px}
.privacy-notice summary{cursor:pointer;min-height:32px;color:var(--text)}
.privacy-notice details p{margin-top:8px}
.privacy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.privacy-actions button{flex:1;min-width:150px;min-height:44px;padding:10px 14px;background:#1a2c48;color:var(--text);border:1px solid #71839e;border-radius:5px;font-size:14px;font-weight:600}
.privacy-actions button:hover{background:#254166}
.privacy-actions a{display:flex;align-items:center;min-height:44px;color:var(--text)}
.privacy-text-button{color:var(--text);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:10px 0;min-height:44px;text-align:left}
.privacy-status:empty{display:none}
.table-scroll{overflow-x:auto;margin-top:18px}
.table-scroll table{margin:0}
.table-scroll code{overflow-wrap:anywhere;font-size:12px}
@media(max-width:680px){.privacy-notice{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 24px);padding:18px}.privacy-actions{gap:10px}.privacy-actions button{min-width:125px}.privacy-actions a{flex-basis:100%;justify-content:center}}

.review-scale{font-size:15px;font-weight:500;letter-spacing:0;white-space:nowrap}.review-score strong{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
