@charset "UTF-8";
:root{color-scheme:dark;--bg:#0d1e30;--surface:#162538;--gold:#d9927a;--gold-light:#f3b9a2;--text:#f2ece3;--muted:#b7bdc5;--line:#304155;--serif:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}::selection{background:var(--gold);color:var(--bg)}:focus-visible{outline:2px solid var(--gold-light);outline-offset:6px}.shell{width:min(1180px,calc(100% - 96px));margin-inline:auto}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.skip-link{position:fixed;top:8px;left:12px;z-index:10;background:var(--gold);color:#111;padding:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:28px}.wordmark{display:grid;text-align:center;gap:3px}.wordmark>span{font:36px/1 var(--serif);letter-spacing:5px}.wordmark b{font-weight:400;color:var(--gold)}.wordmark small{font-size:8px;letter-spacing:4px;color:var(--gold)}nav{display:flex;gap:36px;margin-left:46px}nav a{font-size:12px;color:var(--muted);transition:color .2s}nav a:hover{color:var(--gold-light)}.header-link{font-size:12px;border-bottom:1px solid var(--gold);padding-block:10px}.header-link span{color:var(--gold);margin-left:18px;font-size:18px}
.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:590px;gap:72px;padding-block:64px 60px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:600;color:var(--gold);margin:0 0 23px;line-height:1.7}.hero-copy .eyebrow{display:flex;gap:12px;align-items:center}.eyebrow>span{height:1px;width:29px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font:normal clamp(44px,4.6vw,64px)/1.12 var(--serif);letter-spacing:-2.8px;margin-bottom:24px}em{font-weight:normal;color:var(--gold-light)}.hero-description{color:var(--muted);font-size:15px;line-height:1.8;max-width:350px;margin-bottom:32px}.button{display:inline-flex;align-items:center;gap:34px;background:linear-gradient(110deg,#fdd0bc,#d9927a);color:#172231;font-size:12px;font-weight:600;padding:18px 24px;border:1px solid var(--gold);transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 6px 26px #d9927a24}.button svg{width:20px;height:20px}.hero-note{display:flex;gap:13px;align-items:center;margin-top:31px;font-size:10px;color:var(--muted);line-height:1.6}.hero-note strong{color:var(--text);font-weight:normal}.little-star{color:var(--gold);font-size:26px}.brand-stage{position:relative;display:flex;align-items:center;flex-direction:column;padding:26px 22px 16px;background:radial-gradient(ellipse at 50% 43%,#0d1e3000,transparent 66%)}.brand-logo{display:block;width:100%;max-width:355px;height:auto;object-fit:contain}.brand-stage>p{font-size:8px;letter-spacing:4px;color:#c6b6a8;margin:24px 0 0}.stage-corner{position:absolute;width:35px;height:35px;border-color:#86594d;border-style:solid}.corner-one{top:2px;left:0;border-width:1px 0 0 1px}.corner-two{bottom:0;right:0;border-width:0 1px 1px 0}
.people-section{padding:18px 0 48px;scroll-margin-top:32px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid var(--line);padding-top:32px}.section-heading .eyebrow{margin:0}.section-heading h2{font:normal 28px/1.3 var(--serif);letter-spacing:-.8px;margin:0}.people-window{position:relative;aspect-ratio:1254/280;overflow:hidden;margin-top:24px;background:#0d1e30;isolation:isolate}.people-window img{position:absolute;left:0;top:0;width:100%;height:auto;transform:translateY(-66.4%);max-width:none}.people-window:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--bg),transparent 20%,transparent 95%,var(--bg));pointer-events:none}.people-caption{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;line-height:1.7;border-bottom:1px solid var(--line);padding-bottom:22px;margin:14px 0 0}.people-caption>span{color:#dedbd6}
.services-footer{background:linear-gradient(180deg,#162538,#0c1726);padding:55px 0 0;border-top:1px solid #39485a;scroll-margin-top:0}.footer-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:34px}.footer-heading .eyebrow{margin-bottom:12px}.footer-heading h2{font:normal 40px/1.15 var(--serif);letter-spacing:-1.5px;margin:0}.footer-heading>p{font-size:11px;line-height:1.8;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #8a5f55}.service{position:relative;display:flex;align-items:flex-start;flex-direction:column;min-width:0;min-height:178px;background:#17283c;color:var(--gold-light);border:0;border-right:1px solid #405065;padding:25px 17px 19px;text-align:left;cursor:pointer;transition:background .2s,color .2s}.service:last-child{border-right:0}.service:hover{background:#24394f}.service.active{background:linear-gradient(135deg,#f7c6b1,#d9927a);color:#152235}.service:focus-visible{outline-offset:-5px;outline-color:#fff}.service>svg{width:37px;height:37px;margin-bottom:26px;stroke-width:1.4}.service-number{position:absolute;top:17px;right:14px;font-size:9px;opacity:.6}.service-name{font-size:12px;font-weight:600;white-space:nowrap}.service-hint{display:flex;justify-content:space-between;width:100%;gap:4px;margin-top:10px;font-size:9px;color:var(--muted);line-height:1.5}.service-hint>span{font-size:13px;color:var(--gold)}.active .service-hint,.active .service-hint>span{color:#48302c}.service-detail{display:grid;grid-template-columns:1.1fr 1.1fr 2.1fr;align-items:center;gap:24px;min-height:120px;border-bottom:1px solid var(--line);padding:22px 0}.detail-label{color:var(--gold);font-size:9px;letter-spacing:2px}.service-detail h3{font:normal 24px/1.25 var(--serif);margin:0}.service-detail p{font-size:12px;color:var(--muted);line-height:1.8;margin:0}.noscript-note{color:var(--muted);font-size:13px;line-height:1.8}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:104px}.footer-brand{font:26px/1 var(--serif);letter-spacing:4px}.footer-brand span{font:7px var(--sans);color:var(--gold);letter-spacing:3px;display:block;margin-top:7px}.footer-bottom>p{font:italic 14px var(--serif);color:var(--muted);margin:0}.back-top{font-size:10px;color:var(--gold)}.back-top span{margin-left:15px}
@media(min-width:1500px){.hero{min-height:630px}.brand-logo{max-width:390px}}
@media(max-width:1000px){.shell{width:calc(100% - 56px)}.hero{gap:30px;min-height:530px}h1{font-size:48px}.brand-logo{max-width:310px}.hero-note{font-size:9px}.service-grid{grid-template-columns:repeat(3,1fr)}.service:nth-child(3){border-right:0}.service:nth-child(-n+3){border-bottom:1px solid #405065}.service{min-height:156px;padding:22px}.service>svg{margin-bottom:18px}.service-name{font-size:14px}.service-hint{font-size:11px}.footer-heading>p{max-width:250px}.service-detail{grid-template-columns:1fr 1.4fr}.detail-label{grid-column:1/-1;margin-bottom:-8px}}
@media(max-width:650px){.shell{width:calc(100% - 40px)}.site-header{height:86px;gap:12px}.wordmark>span{font-size:29px}.wordmark small{font-size:7px}.header-link{display:none}nav{margin-left:0;gap:20px}nav a{font-size:11px}.hero{grid-template-columns:1fr;gap:32px;padding:45px 0 42px}.hero-copy{text-align:center}.hero-copy .eyebrow{justify-content:center;margin-bottom:19px}h1{font-size:clamp(39px,9.8vw,62px);letter-spacing:-1.8px}.hero-description{font-size:14px;max-width:320px;margin:0 auto 25px}.hero-note{justify-content:center;font-size:10px;margin-top:22px}.brand-stage{width:75%;max-width:305px;margin:auto;padding:13px 18px 18px}.brand-logo{max-width:250px}.brand-stage>p{font-size:7px;letter-spacing:3px;margin-top:10px}.stage-corner{width:22px;height:22px}.people-section{padding-bottom:29px}.section-heading{display:block;text-align:center;padding-top:28px}.section-heading .eyebrow{font-size:8px;margin-bottom:12px}.section-heading h2{font-size:27px}.people-window{width:calc(100% + 40px);margin-left:-20px;margin-top:26px}.people-caption{display:block;text-align:center;font-size:10px;margin-top:8px}.people-caption>span{display:block;margin-top:4px}.services-footer{padding-top:35px}.footer-heading{display:block;text-align:center;margin-bottom:24px}.footer-heading h2{font-size:34px}.footer-heading>p{margin:15px auto 0;font-size:11px;max-width:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service:nth-child(3){border-right:1px solid #405065}.service:nth-child(2n){border-right:0}.service:nth-child(-n+4){border-bottom:1px solid #405065}.service{padding:22px 15px;min-height:156px}.service-name{font-size:13px}.service-hint{font-size:9px}.service-detail{display:block;text-align:center;min-height:186px;padding:28px 12px}.detail-label{display:block;margin-bottom:12px}.service-detail h3{margin-bottom:12px}.service-detail p{font-size:12px}.footer-bottom{flex-wrap:wrap;min-height:130px;padding:24px 0;gap:20px}.footer-bottom>p{order:3;width:100%;text-align:center;font-size:13px}.footer-brand{font-size:23px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Four owner-provided CIGO promises; deliberately separate from services. */
.brand-values{padding:42px 0 48px;border-top:1px solid #304155}.brand-values h2{font:normal 36px/1.2 var(--serif);margin:0 0 28px}.values-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.values-grid article{border-top:1px solid #8a5f55;padding-top:20px}.values-grid h3{font:normal 25px/1.2 var(--serif);margin:0 0 15px}.values-grid .value-word>b{color:var(--gold);font-size:40px}.values-grid p{font-size:13px;line-height:1.8;color:#d4d8dd;margin:0}.values-grid article:hover{border-color:var(--gold)}
@media(max-width:1000px){.values-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.brand-values{padding:30px 0}.brand-values>h2{font-size:28px}.values-grid{gap:24px}.values-grid h3{font-size:21px}.values-grid .value-word>b{font-size:32px}.values-grid p{font-size:12px}}
@media(max-width:420px){.values-grid{grid-template-columns:1fr}.values-grid article{padding-top:16px}.values-grid h3{margin-bottom:8px}}

/* C/S brand revision: optical middle dots and an editable, readable slogan. */
.brand-dot{display:inline-block;font-style:normal;font-size:.52em;vertical-align:middle;position:relative;top:-.08em;color:var(--gold);letter-spacing:0;margin-inline:.12em}
.wordmark>span{letter-spacing:2px;white-space:nowrap}.footer-brand{letter-spacing:2px;white-space:nowrap}
.hero .acrostic-title{font-size:clamp(38px,4vw,56px);line-height:1.12;letter-spacing:-1.4px}.acrostic-title>span{display:block}.acrostic-title b,.brand-slogan b,.footer-slogan b{color:var(--gold);font-weight:inherit}.brand-slogan>span,.footer-slogan>span{display:inline-block}.brand-stage>.brand-slogan{max-width:340px;margin-inline:auto}.footer-slogan{max-width:440px}
.brand-stage>.brand-slogan{font:italic 17px/1.5 var(--serif);letter-spacing:.2px;color:var(--gold-light);text-align:center;margin-top:20px}
@media(max-width:650px){.wordmark>span{font-size:26px;letter-spacing:1px}nav{gap:12px}nav a{font-size:10px}.brand-stage>.brand-slogan{font-size:14px;margin-top:16px}.hero h1{font-size:clamp(34px,9vw,54px)}}
/* Small native bronze icons: decorative, crisp at every display density. */
.slogan-icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.5;color:#d9927a;vertical-align:-.12em;margin-right:.35em;flex-shrink:0}
.acrostic-title .slogan-icon{width:.48em;height:.48em;vertical-align:.06em;margin-right:.27em;stroke-width:1.35}
.brand-slogan>span,.footer-slogan>span{white-space:nowrap}
.brand-slogan .slogan-icon,.footer-slogan .slogan-icon{min-width:13px;min-height:13px}
.brand-stage>.brand-slogan{max-width:390px}
/* Selected navy/copper identity; no external fonts or image regeneration. */
.hero{grid-template-columns:1.05fr 1fr;gap:50px}
.brand-stage{background:var(--bg);padding:12px 8px 18px}
.brand-logo{max-width:430px}
.people-window{background:var(--bg)}
.people-window:before{content:"";position:absolute;inset:0;background:#0d1e30;mix-blend-mode:lighten;z-index:1;pointer-events:none}
.people-window:after{z-index:2}
.booking-section{display:grid;grid-template-columns:1fr 1.15fr;gap:55px;padding:52px 0 65px;border-top:1px solid var(--line)}
.booking-section h2{font:normal 40px/1.2 var(--serif);letter-spacing:-1px}
.booking-section p{font-size:14px;line-height:1.8;color:var(--muted)}
.booking-section .booking-address{color:var(--gold-light)}
.booking-card{padding:30px;border:1px solid #8a5f55;background:var(--surface)}
.booking-card h3{font:normal 28px var(--serif)}
.booking-profile{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.booking-portrait{display:block;width:104px;height:104px;flex:0 0 104px;object-fit:cover;object-position:center 40%;border-radius:50%;border:2px solid #d9927a;padding:3px;background:var(--bg)}
.booking-profile h3{margin:0 0 8px}
.booking-profile p{margin:0;font-size:12px;color:var(--gold-light)}
@media(max-width:420px){.booking-profile{gap:14px}.booking-portrait{width:76px;height:76px;flex-basis:76px}.booking-profile h3{font-size:23px}.booking-profile p{font-size:11px}}
.booking-card strong{font-weight:normal;color:var(--text)}
.booking-card .button{gap:18px}
.booking-card .booking-note{font-size:11px;margin:18px 0 0}
.legal-links{display:flex;flex-wrap:wrap;gap:22px;padding:22px 0 28px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.legal-links>span{margin-right:auto}
.legal-links a:hover{text-decoration:underline;color:var(--gold-light)}
.legal-page{max-width:820px;padding:45px 0 70px;line-height:1.85}
.legal-page h1{font-size:44px;margin-top:35px}
.legal-page h2{font:normal 26px var(--serif);margin-top:32px;color:var(--gold-light)}
.legal-page a{text-decoration:underline}
.draft-warning{padding:18px;border:1px solid var(--gold);color:var(--gold-light);background:var(--surface)}
.legal-page address{font-style:normal}
@media(max-width:650px){.hero{grid-template-columns:1fr;gap:32px}.brand-stage{width:100%;max-width:360px}.brand-logo{max-width:335px}.booking-section{grid-template-columns:1fr;gap:20px;padding:32px 0 40px}.booking-section h2{font-size:32px}.booking-card{padding:22px 18px}.booking-card .button{font-size:11px;padding:16px 14px}.legal-links>span{width:100%;margin-right:0}.legal-page h1{font-size:34px}}
/* Four brand scenes and their single-initial headings. */
.value-scene{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-bottom:22px;border-radius:3px}
.values-grid h3{display:flex;align-items:center;gap:10px}
.values-grid .value-word{white-space:nowrap}
.values-grid .value-word>b{font-size:1em;font-weight:normal;color:var(--gold)}
.value-icon{width:23px;height:23px;flex:0 0 23px;color:#d9927a;stroke-width:1.5;fill:none}
.brand-values .scene-disclosure{font-size:11px;line-height:1.7;color:var(--muted);margin:22px 0 0}
@media(max-width:650px){.value-scene{margin-bottom:16px}.value-icon{width:20px;height:20px;flex-basis:20px}}

/* Native SVG marks avoid platform-specific emoji presentation. */
.icon-external,.icon-up,.little-star{display:inline-block;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.header-link .icon-external{width:18px;height:18px;margin-left:18px;vertical-align:-.25em;color:var(--gold)}
.hero-note .little-star{width:26px;height:26px;color:var(--gold);stroke-width:1.4}
.service-hint .icon-external{width:13px;height:13px;align-self:center;color:var(--gold)}
.service.active .service-hint .icon-external{color:#48302c}
.booking-card .icon-external{width:18px;height:18px}
.back-top .icon-up{width:15px;height:15px;margin-left:12px;vertical-align:-.25em}

/* Additional logo versions. */
.logo-alternative{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:50px;padding:48px 0;border-top:1px solid var(--line)}
.alternative-copy h2{font:normal 40px/1.2 var(--serif);letter-spacing:-1px}
.brand-stage>.logo-version-label{margin:0 0 18px;color:var(--text);font:normal 24px/1.2 var(--serif);letter-spacing:0;text-align:center}
.alternative-copy>p:last-child{max-width:370px;color:var(--muted);font-size:14px;line-height:1.8}
.alternative-stage{margin:0;text-align:center}
.alternative-logo{display:block;width:100%;max-width:430px;height:auto;aspect-ratio:1;object-fit:cover;object-position:center;margin:auto;background:#050505;border:1px solid #8a5f55}
.alternative-stage figcaption{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.6}
.navy-alternative-stage{background:var(--bg);isolation:isolate}
.name-alternative-logo{background:var(--bg);border:0;object-fit:contain}
/* Clamp the generated near-navy background to the exact page blue without editing the source. */
.navy-alternative-logo{background:var(--bg);border:0;object-fit:contain;filter:contrast(1.1);mix-blend-mode:lighten}
@media(max-width:650px){.logo-alternative{grid-template-columns:1fr;gap:22px;padding:32px 0}.alternative-copy{text-align:center}.alternative-copy h2{font-size:32px}.alternative-copy>p:last-child{margin:0 auto}.alternative-logo{max-width:360px}}

/* Main logo: version 3 with a quiet link to the alternatives page. */
.brand-stage .name-alternative-logo{max-width:430px}
.logo-alternatives-link{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #86594d;padding-bottom:6px;transition:color .2s,border-color .2s}
.logo-alternatives-link:hover{color:var(--gold-light);border-color:var(--gold-light)}
.logo-alternatives-link svg{width:16px;height:16px;transition:transform .2s}
.logo-alternatives-link:hover svg{transform:translateX(4px)}
.booking-section .booking-address{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;font-size:14px;line-height:1.8;color:var(--gold-light)}
.booking-address span{font-size:11px;color:var(--gold);border-bottom:1px solid #86594d}
.booking-address:hover span{color:var(--gold-light)}
.logo-gallery-intro{max-width:640px;padding:40px 0 10px}
.logo-gallery-intro h1{font:normal clamp(34px,4vw,48px)/1.15 var(--serif);letter-spacing:-1px;margin:26px 0 14px}
.logo-gallery-intro p{color:var(--muted);font-size:14px;line-height:1.8}
.logo-gallery-intro a{color:var(--gold)}

/* Anfahrt: own OSM-based map, no third-party requests before a click. */
.anfahrt-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px 55px;padding:52px 0 60px;border-top:1px solid var(--line);scroll-margin-top:24px}
.anfahrt-intro{align-self:center;min-width:0}
.anfahrt-section h2{font:normal 40px/1.2 var(--serif);letter-spacing:-1px}
.anfahrt-intro>p{font-size:14px;line-height:1.8;color:var(--muted)}
.anfahrt-address{display:flex;gap:14px;align-items:flex-start;font-style:normal;margin:26px 0 24px;padding:16px 18px;border-left:2px solid var(--gold);background:var(--surface)}
.anfahrt-address svg{width:24px;height:24px;color:var(--gold);flex:0 0 24px;margin-top:2px}
.anfahrt-address span{display:grid;gap:4px;font-size:14px;color:var(--gold-light)}
.anfahrt-address strong{font:normal 19px/1.3 var(--serif);color:var(--text)}
.map-actions{display:flex;flex-wrap:wrap;gap:12px}
.map-actions .button{gap:12px;padding:15px 18px}
.map-actions .button svg{width:18px;height:18px}
.button-ghost{background:transparent;color:var(--gold-light)}
.button-ghost:hover{background:#d9927a14}
.copy-address{display:inline-flex;align-items:center;gap:10px;padding:14px 16px;background:none;border:1px solid var(--line);color:var(--muted);font-size:12px;cursor:pointer;transition:border-color .2s,color .2s}
.copy-address[hidden]{display:none}
.copy-address:hover,.copy-address.copied{border-color:var(--gold);color:var(--gold-light)}
.copy-address svg{width:17px;height:17px}
.anfahrt-intro .map-actions-note{font-size:11px;margin:14px 0 0;line-height:1.6}
.map-card{margin:0;min-width:0;border:1px solid #8a5f55;background:#0f2135;overflow:hidden}
.anfahrt-map{display:block;width:100%;height:auto;stroke:none;stroke-width:1}
.arrival-steps li>span{min-width:0}
.map-ground{fill:#0f2135}
.map-park{fill:#16383a}
.map-building{fill:#182b42}
.map-road-foot,.map-road-minor,.map-road-mid,.map-road-major,.map-rail,.map-route,.map-route-glow{fill:none;stroke-linecap:round;stroke-linejoin:round}
.map-road-foot{stroke:#233852;stroke-width:2.5}
.map-road-minor{stroke:#2a405a;stroke-width:7}
.map-road-mid{stroke:#34506e;stroke-width:11}
.map-road-major{stroke:#3d5a7a;stroke-width:15}
.map-rail{stroke:#566a82;stroke-width:3;stroke-dasharray:10 7}
.map-area{fill:#8d9aab;font:italic 19px var(--serif);letter-spacing:5px;text-anchor:middle;opacity:.85}
.map-park-label{fill:#7fb3a3;font:italic 21px var(--serif);text-anchor:middle}
.map-street{fill:#b7c2cf;font-family:var(--sans);letter-spacing:1px;text-anchor:middle;paint-order:stroke;stroke:#0f2135;stroke-width:5px;stroke-linejoin:round}
.map-route-glow{stroke:#d9927a;stroke-width:18;opacity:.18}
.map-route{stroke:#f3b9a2;stroke-width:6;stroke-dasharray:2 13;animation:map-walk 1.4s linear infinite}
@keyframes map-walk{to{stroke-dashoffset:-15}}
.map-badge rect{stroke:#0f2135;stroke-width:3}
.map-badge text{fill:#fff;font:bold 19px var(--sans);text-anchor:middle}
.badge-u rect{fill:#1f5fa8}.badge-s rect{fill:#2f8a4e}.badge-bus rect{fill:#c49a1c}.badge-bus text{fill:#132033}.badge-p rect{fill:#2d6fb8}
.badge-exit rect{fill:#f3b9a2}.badge-exit text{fill:#132033}
.badge-ev rect{fill:#3aa58a}.badge-ev path{fill:#fff;stroke:none}
.map-salon-pin{fill:#d9927a;stroke:#0f2135;stroke-width:3}
.map-salon-dot{fill:#0f2135}
.map-salon-pulse{fill:#f3b9a2;opacity:.35;transform-box:fill-box;transform-origin:center;animation:map-pulse 2.4s ease-out infinite}
@keyframes map-pulse{from{transform:scale(.3);opacity:.55}to{transform:scale(1.6);opacity:0}}
.map-salon-label rect{fill:#0d1e30;stroke:#d9927a;stroke-width:1.5}
.map-salon-label text{fill:#f2ece3;font:22px var(--serif);letter-spacing:2px;text-anchor:middle}
.map-salon-label .map-salon-sub{fill:#d9927a;font:bold 10px var(--sans);letter-spacing:2px}
.map-north circle{fill:#0d1e30cc;stroke:#86594d}.map-north path{fill:#d9927a}.map-north text{fill:#b7c2cf;font:12px var(--sans);text-anchor:middle}
.map-scale path{stroke:#b7c2cf;stroke-width:3;fill:none}.map-scale text{fill:#b7c2cf;font:14px var(--sans)}
.map-card figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:13px 16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.map-key{display:inline-flex;align-items:center;gap:8px}
.map-key i{display:inline-block;width:14px;height:14px;border-radius:3px}
.map-key .key-route{width:22px;height:4px;background:repeating-linear-gradient(90deg,#f3b9a2 0 3px,transparent 3px 6px)}
.map-key .key-ev{background:#3aa58a;border-radius:50%}.map-key .key-p{background:#2d6fb8}
.map-credit{margin-left:auto;font-size:10px}.map-credit a{text-decoration:underline}
.arrival-grid{grid-column:1/-1;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:18px}
.arrival-card{min-width:0;padding:22px 20px;border:1px solid var(--line);background:var(--surface);transition:border-color .2s,transform .2s}
.arrival-card:hover{border-color:#8a5f55;transform:translateY(-2px)}
.arrival-main{border-color:#8a5f55}
.arrival-head{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:start;margin-bottom:14px}
.arrival-head>svg{width:30px;height:30px;color:var(--gold);stroke-width:1.4}
.arrival-head h3{font:normal 21px/1.25 var(--serif);margin:0 0 8px}
.arrival-lines{display:flex;flex-wrap:wrap;gap:5px;margin:0}
.arrival-lines span{font:bold 10px/1 var(--sans);padding:5px 6px;border-radius:3px;color:#fff;letter-spacing:.5px}
.arrival-lines .line-bus{background:#c49a1c;color:#132033}
.line-u{background:#1f5fa8}.line-s{background:#2f8a4e}.line-ev{background:#3aa58a}.line-p{background:#2d6fb8}
.arrival-distance{grid-column:1/-1;display:flex;align-items:baseline;gap:8px;margin:12px 0 0;font-size:11px;color:var(--muted)}
.arrival-distance strong{font:normal 22px var(--serif);color:var(--gold-light)}
.arrival-card>p,.arrival-steps{font-size:13px;line-height:1.75;color:#d4d8dd;margin:0}
.arrival-card strong{font-weight:normal;color:var(--text)}
.arrival-distance strong{color:var(--gold-light)}
.arrival-steps{padding-left:0;list-style:none;counter-reset:step;display:grid;gap:10px}
.arrival-steps li{counter-increment:step;display:grid;grid-template-columns:24px 1fr;gap:10px}
.arrival-steps li:before{content:counter(step);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-size:11px}
.arrival-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:12px;color:var(--gold);border-bottom:1px solid #86594d;padding-bottom:3px}
.arrival-link .icon-external{width:14px;height:14px}
.quarter-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:6px 0 0;padding:22px 0 0;list-style:none;border-top:1px solid var(--line)}
.quarter-strip li{display:flex;gap:14px;align-items:center}
.quarter-strip svg{width:30px;height:30px;flex:0 0 30px;color:var(--gold);stroke-width:1.3}
.quarter-strip span{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.quarter-strip strong{font:normal 18px var(--serif);color:var(--text)}
@media(max-width:1000px){.anfahrt-section{grid-template-columns:minmax(0,1fr)}.arrival-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.anfahrt-section{padding:34px 0 40px;gap:22px}.anfahrt-section h2{font-size:30px}.map-card{width:calc(100% + 40px);margin-left:-20px;border-inline:0}.map-actions{display:grid}.map-actions .button,.copy-address{justify-content:center}.arrival-grid,.quarter-strip{grid-template-columns:minmax(0,1fr)}.map-credit{margin-left:0;width:100%}.logo-alternatives-link{font-size:10px}}
@media(prefers-reduced-motion:reduce){.map-route,.map-salon-pulse{animation:none}}

/* Header navigation icons, same bronze line style as the service icons. */
nav a{display:inline-flex;align-items:center;gap:9px}
nav a svg{width:18px;height:18px;flex:0 0 18px;color:var(--gold);stroke-width:1.4;transition:transform .2s}
nav a:hover svg{transform:translateY(-2px)}
@media(max-width:650px){nav a{flex-direction:column;gap:5px;text-align:center}nav a svg{width:20px;height:20px;flex-basis:20px}}
@media(max-width:380px){.site-header{gap:8px}.wordmark>span{font-size:22px}nav{gap:9px}nav a{font-size:9px}nav a svg{width:18px;height:18px;flex-basis:18px}}

/* Hero location highlight linking to the Anfahrt section. */
.hero-location{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin-top:22px;padding:12px 16px 12px 14px;border:1px solid #86594d;border-left:2px solid var(--gold);background:linear-gradient(100deg,#d9927a1f,#d9927a05 70%);transition:border-color .2s,background .2s,transform .2s}
.hero-location:hover{border-color:var(--gold);background:linear-gradient(100deg,#d9927a30,#d9927a0a 70%);transform:translateY(-2px)}
.hero-location-pin{width:26px;height:26px;flex:0 0 26px;color:var(--gold);stroke-width:1.4}
.hero-location>span:first-of-type{display:grid;gap:3px;text-align:left}
.hero-location strong{font:normal 19px/1.2 var(--serif);color:var(--text)}
.hero-location small{font-size:11px;color:var(--muted)}
.hero-location-cta{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding-left:14px;border-left:1px solid var(--line);font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);white-space:nowrap}
.hero-location-cta svg{width:15px;height:15px;transition:transform .2s}
.hero-location:hover .hero-location-cta svg{transform:translateX(3px)}
@media(max-width:650px){.hero-location{margin:20px auto 0}.hero-location strong{font-size:17px}.hero-location small{font-size:10px}}
@media(max-width:420px){.hero-location{flex-wrap:wrap;justify-content:center}.hero-location>span:first-of-type{text-align:center}.hero-location-pin{display:none}.hero-location-cta{margin:0;padding:8px 0 0;border-left:0;border-top:1px solid var(--line);width:100%;justify-content:center}}
.button-avatar{width:34px;height:34px;margin:-8px 0 -8px -10px;border-radius:50%;object-fit:cover;border:1px solid #172231}
.button{background:linear-gradient(110deg,#fdd0bc,#e59c83 55%,#c67b63)}
.brand-values,.anfahrt-section{--bg:#f6efe8;--surface:#fffaf5;--text:#13233a;--muted:#5b6474;--line:#e3d4c7;--gold:#b86a55;--gold-light:#9c5646;color:var(--text);background:var(--bg);box-shadow:0 0 0 100vmax var(--bg);clip-path:inset(0 -100vmax);border-top:0}
.brand-values ::selection,.anfahrt-section ::selection{background:#f3b9a2;color:#13233a}
.values-grid p,.arrival-card>p,.arrival-steps{color:#3f4a5a}
.anfahrt-section .map-card{--bg:#0d1e30;--surface:#162538;--text:#f2ece3;--muted:#b7bdc5;--line:#304155;--gold:#d9927a;--gold-light:#f3b9a2;color:var(--text)}
.button-ghost{background:transparent;color:var(--gold-light)}
.hero .acrostic-title b,.wordmark b,.wordmark small{background:linear-gradient(135deg,#b86a55 0%,#e59c83 32%,#fdd0bc 52%,#e59c83 72%,#c67b63 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* Return from the preserved original to the website variants. */
.versions-return{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:42px;padding-block:8px;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;color:var(--muted)}
.versions-return a{display:inline-flex;align-items:center;min-height:28px;color:var(--gold-light)}
.versions-return a:hover{text-decoration:underline;text-underline-offset:4px}
.versions-return>span{white-space:nowrap;color:var(--muted)}
@media(max-width:380px){.versions-return{font-size:10px;gap:10px}}
