.contact-footer{position:relative;padding:35px 0 0;background:#f0efea;color:#222b28}
.contact-journey{height:85svh;min-height:540px;position:relative}
.contact-map-stage{height:85svh;min-height:540px;position:relative;overflow:hidden;background:#f0efea}
.contact-map-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f0efea 0,transparent 14%,transparent 86%,#f0efea 100%),linear-gradient(180deg,#f7f5ef 0,transparent 18%,transparent 85%,#f0efea 100%)}
.graz-map{display:block;width:100%;height:100%;position:absolute;inset:0}
.map-heading{position:absolute;left:max(48px,calc((100vw - 1120px)/2));top:9%;z-index:1;max-width:520px;padding:22px 38px 28px 0;background:radial-gradient(ellipse at 20% 35%,#f0efea 25%,#f0efeadd 55%,#f0efea00 75%)}
.map-heading :is(h1,h2){font-size:clamp(2rem,3.7vw,3.2rem);margin-bottom:25px}.map-heading :is(h1,h2)>span{color:#b74219}
.map-skip{font-size:12px;text-decoration:none;font-weight:700}.map-skip>span{padding-left:10px}
.map-location{position:absolute;left:50%;top:50%;transform:translate(30px,-50%);display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#f7f5eff5;border-radius:8px;box-shadow:0 4px 25px #00000009;font-size:12px;z-index:1;opacity:0;pointer-events:none}
.map-location strong{font-size:15px;color:#ad3c16}.map-location-dot{position:absolute;width:8px;height:8px;background:#e65c2b;border-radius:50%;left:-34px;top:calc(50% - 4px)}
.map-caption{position:absolute;left:max(48px,calc((100vw - 1120px)/2));bottom:75px;z-index:1;font:11px/1.5 Consolas,monospace;text-transform:uppercase;letter-spacing:1px;display:flex;flex-direction:column;gap:10px;background:#f0efeacc;padding:8px 12px;border-radius:8px}.map-destination{color:#a43b19;font-weight:bold}
.map-credit{position:absolute;left:24px;bottom:25px;z-index:1;font:10px/1.5 Arial,sans-serif;color:#4d5550;text-decoration:none;background:#f0efeadd;padding:4px 7px;border-radius:4px;max-width:calc(100% - 125px)}
.contact-card-wrap{position:relative;z-index:2;padding-top:22px;scroll-margin-top:30px}
.contact-business-card{position:relative;display:grid;grid-template-columns:.9fr 1.5fr;gap:60px;padding:60px;background:#fbfaf6;border-radius:8px 50px 8px 35px;box-shadow:0 25px 90px #24302a0d;overflow:hidden}
.contact-business-card:before{content:'';position:absolute;inset:auto auto -160px -150px;width:470px;height:400px;background:radial-gradient(ellipse,#eed1b8,transparent 70%);pointer-events:none}
.contact-identity{position:relative}.contact-brand{display:block;font-size:45px;line-height:1;font-weight:800;letter-spacing:-3px;margin-bottom:40px}.contact-brand>span{color:#e65c2b}.contact-identity .eyebrow{margin-bottom:12px}.contact-identity h2{font-size:42px;margin-bottom:20px}.contact-identity>p:last-child{font-size:14px;color:#626960;margin:0}
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px;align-content:center;min-width:0;position:relative}
.contact-option{display:flex;flex-direction:column;gap:15px;text-align:left;padding:20px 0;text-decoration:none;border:0;background:none;font:inherit;color:#20302d;min-width:0;cursor:pointer;border-bottom:1px solid #e1e1d7;transition:color .2s}
.contact-option-label{font-size:12px;line-height:1.5;color:#61685f;display:flex;justify-content:space-between;gap:12px}.contact-option-label>span{color:#b74219}.contact-option-value,.contact-option address{font-size:15px;font-style:normal;color:inherit;overflow-wrap:anywhere;line-height:1.7}
.contact-option:hover{color:#b74219}.contact-chat{background:#20302d;color:#fff;padding:20px;border-radius:8px 23px 8px 17px;border:0;transition:background .2s}.contact-chat:hover{color:white;background:#a43b19}.contact-chat .contact-option-label{color:#d3dad1}.contact-chat .contact-option-label>span{color:#ff996d}.contact-chat .contact-option-value{font-weight:700}
.contact-signoff{margin:0;text-align:center;padding:35px 0 110px;font-size:11px;color:#6c716b}
.contact-journey.is-animated{height:260svh;min-height:0}.is-animated .contact-map-stage{position:sticky;top:0;height:100svh;min-height:0}.is-animated+.contact-card-wrap{margin-top:0;padding-top:0}
@media(max-width:850px){.contact-business-card{padding:38px;gap:32px;grid-template-columns:1fr 1.3fr}.contact-options{grid-template-columns:1fr;gap:8px}.contact-identity h2{font-size:36px}.map-heading{left:32px}.map-heading :is(h1,h2){font-size:36px}.map-caption{left:25px}}
@media(max-width:600px){.map-heading{left:20px;right:20px;top:5%;padding:12px 0 30px;max-width:340px}.map-heading :is(h1,h2){font-size:30px;line-height:1.15;margin-bottom:18px}.map-heading .eyebrow{margin-bottom:16px}.map-skip{font-size:11px}.map-caption{left:12px;bottom:80px;font-size:9px}.map-credit{left:12px;bottom:28px;font-size:9px;max-width:220px}.map-location{transform:translate(-50%,35px);font-size:11px}.map-location strong{font-size:14px}.map-location-dot{left:calc(50% - 4px);top:-38px}.contact-business-card{display:block;padding:30px 24px;border-radius:8px 32px 8px 24px}.contact-brand{font-size:34px;margin-bottom:25px}.contact-identity h2{font-size:36px}.contact-identity{margin-bottom:25px}.contact-options{grid-template-columns:1fr;gap:4px}.contact-option{gap:8px;padding:16px 0}.contact-chat{margin-top:12px;padding:20px}.contact-signoff{font-size:10px;padding-bottom:105px}}
@media(prefers-reduced-motion:reduce){.contact-journey.is-animated{height:85svh;min-height:540px}.is-animated .contact-map-stage{position:relative;height:85svh;min-height:540px}.is-animated+.contact-card-wrap{margin-top:0}.contact-option{transition:none}}
@media print{.contact-footer{background:none;padding:0}.contact-journey{display:none}.contact-card-wrap,.is-animated+.contact-card-wrap{margin:0;width:100%;padding:20px 0}.contact-business-card{box-shadow:none;padding:0;background:none;display:block}.contact-business-card:before,.contact-brand,.contact-chat,.contact-signoff{display:none!important}.contact-identity{margin-bottom:20px}.contact-identity h2{font-size:24pt}.contact-options{display:block}.contact-option{padding:8px 0;border:0;break-inside:avoid}.contact-option-label{font-size:10pt}.contact-option-value,.contact-option address{font-size:11pt}}
.map-heading:has(.map-skip:focus-visible){opacity:1!important}

.contact-chat[hidden]{display:none}

html.contact-jump-running{scroll-behavior:auto}
#kontaktkarte:focus{outline:none}
@media print{.contact-card-wrap{transform:none!important}}

.contact-page .contact-footer{padding-top:0}.map-heading h1{font-weight:500;line-height:1.16;letter-spacing:-.055em}
