/* Shared V3 components: category pages, contact and compact translated UI. */
.v2-experience-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 16px}
.v2-experience-links .v2-mega-link{min-width:0;padding:14px 12px;gap:13px}
.v2-experience-links .v2-mega-link strong{font-size:21px;overflow-wrap:anywhere}
.v2-experience-links .v2-mega-link small{font-size:11px;line-height:1.45}
.v2-experience-links .v2-mega-link>span:nth-child(2){flex:1;min-width:0}
.v2-experience-links .v2-link-icon{width:39px;height:39px;flex:none}
.experience-hero{position:relative;isolation:isolate;overflow:hidden;min-height:790px;padding:175px max(26px,calc((100vw - 1280px)/2)) 45px;display:flex;flex-direction:column;justify-content:space-between;gap:65px;color:white;background:#063d94}
.experience-hero__image{position:absolute;inset:0 0 0 auto;width:67%;height:100%;object-fit:cover;z-index:-3}
.experience-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#052e75 5%,#0749b0ee 28%,#0648a3b8 50%,#0648a31a 78%),linear-gradient(0deg,#05397ad9,transparent 60%)}
.experience-hero:after{content:'';position:absolute;width:920px;height:920px;border:1px solid #ffffff25;border-radius:50%;left:-440px;top:0;box-shadow:0 0 0 85px #ffffff05,0 0 0 170px #ffffff04;z-index:-1;pointer-events:none}
.experience-hero__copy{max-width:710px}
.experience-hero h1{font-size:clamp(48px,5.4vw,78px);line-height:1.03;letter-spacing:-.045em;text-wrap:balance}
.experience-hero h1 em{color:#b9e8ff}
.experience-hero__copy>p{font-size:16px;line-height:1.8;max-width:560px;margin:28px 0 30px;color:#e6f2ff}
.experience-hero--firmen:before{background:linear-gradient(90deg,#052753 5%,#073969f5 28%,#065078ad 53%,#0648a31a 80%),linear-gradient(0deg,#052753ed,transparent 60%)}
.experience-hero--sport:before,.experience-hero--school:before{background:linear-gradient(90deg,#101d59 4%,#173b8cee 30%,#1255a078 60%,transparent),linear-gradient(0deg,#112552ed,transparent 60%)}
.experience-facts{border-top:1px solid #ffffff44;padding-top:24px}
.experience-facts>span{font-size:11px;letter-spacing:.05em;color:#d1e5ff}
.experience-facts ul{display:flex;gap:30px;list-style:none;padding:0;margin:20px 0 0;flex-wrap:wrap}
.experience-facts li{display:flex;gap:13px;align-items:center;font-size:13px}
.experience-facts svg{color:#b3e9ff;width:25px;height:25px}
.exp-text-link,.exp-inline-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:600;padding:10px 0;line-height:1.4}
.exp-text-link{margin-inline-start:12px;color:white}
.exp-inline-link{color:#0754c7;border-bottom:1px solid #0754c744}
.exp-inline-link svg,.exp-text-link svg{width:20px;height:20px;flex:none}
.experience-intro{padding:85px max(26px,calc((100vw - 1280px)/2));background:#d9eaff;display:grid;grid-template-columns:1fr 1fr;gap:16px 80px;align-items:start}
.experience-intro .eyebrow{grid-column:1;margin:0}
.experience-intro h2{font-size:clamp(36px,4.2vw,62px);grid-column:1}
.experience-intro>p{grid-column:2;grid-row:1/3;font-size:20px;line-height:1.7}
.experience-intro>a{grid-column:2;justify-self:start}
.experience-packages{padding:85px max(26px,calc((100vw - 1280px)/2));background:linear-gradient(145deg,#c6ddfc,#e5f0ff);scroll-margin-top:115px}
.experience-packages h2,.experience-faq h2,.experience-related h2{font-size:clamp(36px,4.2vw,60px)}
.experience-packages .section-head{margin-bottom:38px;align-items:end}
.experience-package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.experience-package-grid .booking-package{display:flex;flex-direction:column;min-width:0;border-radius:26px;background:#f4f9ff;border:1px solid white;overflow:hidden}
.experience-package-grid .booking-package__top{padding:27px 26px 15px;background:#0b4bb8;color:white}
.experience-package-grid .booking-package__top h3{font-size:31px}
.experience-package-grid .booking-package__top p{font-size:13px;margin-top:12px}
.experience-package-grid .booking-minutes{display:flex;align-items:baseline;gap:12px;padding:6px 26px 24px;background:linear-gradient(135deg,#0b4bb8,#1e6fe2);color:white}
.experience-package-grid .booking-minutes strong{font:700 65px/1 Outfit;letter-spacing:-.05em}
.experience-package-grid .booking-minutes span{font-size:12px}
.experience-package-grid ul{list-style:none;margin:0;padding:26px;display:grid;gap:13px;font-size:13px;line-height:1.5}
.experience-package-grid li{padding-inline-start:20px;position:relative}
.experience-package-grid li:before{content:'✓';position:absolute;inset-inline-start:0;color:#095bec;font-weight:700}
.experience-package-grid .booking-package__bottom{margin-top:auto;padding:0 26px 26px}
.experience-package-grid .booking-price{display:grid;border-top:1px solid #133b6022;padding-top:20px;margin-bottom:20px}
.experience-package-grid .booking-price strong{font:700 42px/1.2 Outfit;color:#073b9e}
.experience-package-grid .booking-price span,.experience-package-grid .booking-destination{font-size:11px;color:#46617b;margin-top:8px}
.experience-package-grid .button{width:100%;justify-content:space-between}
.experience-package-grid .booking-destination{text-align:center}
.experience-faq{padding:95px max(26px,calc((100vw - 1280px)/2));display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;background:#f0f6ff}
.experience-faq>div:first-child>a{margin-top:30px}
.experience-faq details{border-bottom:1px solid #0b3b7030}
.experience-faq summary{display:flex;align-items:center;justify-content:space-between;gap:20px;font:500 22px/1.3 Outfit;padding:25px 0;cursor:pointer;list-style:none}
.experience-faq summary::-webkit-details-marker{display:none}
.experience-faq summary svg{width:20px;height:20px;flex:none;transition:transform .2s}
.experience-faq details[open] summary svg{transform:rotate(90deg)}
.experience-faq details p{padding:0 30px 25px 0;font-size:15px;line-height:1.8;color:#38546d}
.experience-related{padding:80px max(26px,calc((100vw - 1280px)/2));background:#073b9e;color:white}
.experience-related>div{margin-top:35px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.experience-related a{display:flex;gap:14px;align-items:center;border:1px solid #ffffff40;background:#ffffff0d;border-radius:18px;padding:22px 18px;font-size:16px;line-height:1.3}
.experience-related a>svg:last-child{margin-inline-start:auto;width:19px;height:19px;flex:none}
.contact-hero{position:relative;isolation:isolate;padding:180px max(26px,calc((100vw - 1280px)/2)) 90px;display:grid;grid-template-columns:1.25fr .75fr;gap:80px;color:white;background:linear-gradient(100deg,#062856 15%,#064582dd 60%,#2875b47a),url('../assets/img/flugkammer-total-1920_grey.webp') center/cover}
.contact-hero h1{font-size:clamp(48px,5.6vw,80px)}
.contact-hero em{color:#a4e5f9}
.contact-hero>div>p{margin:28px 0;max-width:600px;font-size:16px;line-height:1.8}
.contact-address-card{padding:35px;border:1px solid #ffffff66;border-radius:28px;background:linear-gradient(130deg,#d4ebff25,#082851aa);align-self:center;backdrop-filter:blur(12px)}
.contact-address-card>.v2-icon{width:40px;height:40px;margin-bottom:30px;color:#a3e7ff}
.contact-address-card address{font:400 23px/1.6 Outfit}
.contact-address-card address strong{font-weight:600}
.contact-address-card>p{font-size:13px!important;margin:20px 0!important}
.contact-arrival{padding:85px max(26px,calc((100vw - 1280px)/2));background:#d9eaff}
.contact-arrival>div:first-child{max-width:880px}
.contact-arrival h2,.contact-hours h2,.contact-help h2{font-size:clamp(36px,4vw,58px)}
.contact-arrival>div>p{margin-top:25px;font-size:18px;line-height:1.8}
.arrival-options{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:45px}
.arrival-options article{border-top:1px solid #153c6a44;padding-top:28px}
.arrival-options article>.v2-icon{width:30px;height:30px;color:#095bec;margin-bottom:25px}
.arrival-options h3{font-size:29px}
.arrival-options p{font-size:15px;line-height:1.8;margin:20px 0}
.contact-location{padding:80px max(26px,calc((100vw - 1280px)/2));background:#eff6ff;display:grid;grid-template-columns:1.15fr .85fr;gap:55px}
.contact-map{border-radius:25px;overflow:hidden;min-height:510px;position:relative;background:#073971;color:white;isolation:isolate}
.contact-map>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;opacity:.5}
.contact-map:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#042851,#04285100);z-index:-1}
.contact-map>div{position:absolute;inset:auto 30px 30px}
.contact-map h2{font-size:38px;margin-bottom:27px}
.contact-map small{display:block;font-size:10px;line-height:1.5;margin-top:15px;max-width:310px}
.contact-map iframe{width:100%;height:100%;min-height:510px;border:0;position:absolute;inset:0}
.contact-hours dl{margin-top:30px}
.contact-hours dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #10396325;padding:14px 0;font-size:14px}
.contact-hours dd{margin:0;white-space:nowrap;font-weight:600;color:#073b9e}
.contact-hours>p{font-size:12px;line-height:1.7;margin-top:24px}
.contact-help{padding:75px max(26px,calc((100vw - 1280px)/2));background:linear-gradient(120deg,#0746b4,#1371e9);color:white;display:grid;grid-template-columns:1fr 1fr;gap:60px}
.contact-help p{font-size:15px;line-height:1.8;max-width:450px;margin-top:25px}
.contact-help>div:last-child{display:grid;gap:13px}
.contact-help a{display:flex;gap:18px;align-items:center;padding:22px;border-radius:18px;border:1px solid #ffffff70;background:#ffffff0d}
.contact-help a>svg:last-child{margin-inline-start:auto;width:20px;height:20px;flex:none}
/* Subpage photographs and atmospheric rings. */
.windkanal-page .tunnel-hero{background:linear-gradient(100deg,#052959 2%,#124e9bea 50%,#6c9fe8aa),url('../assets/img/flugkammer-total-1920_grey.webp') center/cover}
.windkanal-page .tunnel-hero:before{content:'';position:absolute;inset:-25% -25% auto auto;width:75vw;height:75vw;border:1px solid #e5f4ff38;border-radius:50%;box-shadow:0 0 0 70px #e5f4ff06,0 0 0 140px #e5f4ff05;pointer-events:none}
.windkanal-page .tunnel-hero__copy,.windkanal-page .tunnel-hero__photo,.windkanal-page .tunnel-specs{position:relative}
.booking-hero{background:linear-gradient(90deg,#052959f5 0%,#0747a6d9 45%,#0755b56b 100%),url('../assets/img/hero-room-plate-v4.webp') 65% center/cover!important}
body[data-page=ablauf] .page-hero{background:radial-gradient(ellipse at 80% 20%,#eaf7ff88,transparent 60%),linear-gradient(135deg,#c0dafb,#e1edff)}
/* Translation-safe sizing. The stamp stays concise in all seven languages. */
.stamp{font-size:clamp(14px,1.3vw,20px);line-height:1.15;text-align:center;padding:16px;overflow-wrap:normal;hyphens:none;display:grid;place-content:center}
.button{white-space:normal;text-align:center;min-width:0}
.button svg,.motion-icon{flex:none}
.button-row{align-items:stretch}
.v2-book span,.booking-card>span,.contact-float>span{min-width:0}
[dir=rtl] .experience-hero__copy,[dir=rtl] .experience-faq{text-align:right}
[dir=rtl] .experience-hero{direction:rtl}
[dir=rtl] .experience-facts li,[dir=rtl] .experience-related a,[dir=rtl] .contact-help a{direction:rtl}
/* Short icon gestures, triggered by pointer hover or keyboard focus. */
.motion-icon{width:24px;height:24px;display:block;overflow:visible;stroke-linecap:round;stroke-linejoin:round;transform-origin:center}
.motion-icon g{transform-box:fill-box;transform-origin:center}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 [data-button-motion=wind]:hover .motion-icon{animation:button-gust .75s cubic-bezier(.2,.7,.3,1)}
 [data-button-motion=wind]:hover .motion-icon>path{stroke-dasharray:1;animation:button-wind-line .8s ease-out both}
 [data-button-motion=wind]:hover .motion-icon>path:nth-child(2){animation-delay:.1s}
 [data-button-motion=wind]:hover .motion-icon>path:nth-child(3){animation-delay:.18s}
 [data-button-motion=gift]:hover .gift-lid{animation:button-gift .85s ease-in-out}
 [data-button-motion=ticket]:hover .ticket-stub{animation:button-ticket .85s ease-in-out}
 [data-button-motion=whatsapp]:hover>svg{animation:button-wiggle .65s ease-in-out}
}
[data-button-motion=wind]:focus-visible .motion-icon{animation:button-gust .75s ease-out}
[data-button-motion=gift]:focus-visible .gift-lid{animation:button-gift .85s ease-in-out}
[data-button-motion=ticket]:focus-visible .ticket-stub{animation:button-ticket .85s ease-in-out}
[data-button-motion=whatsapp]:focus-visible>svg{animation:button-wiggle .65s ease-in-out}
@keyframes button-gust{0%{transform:translateX(-9px) rotate(-12deg);opacity:.35}65%{transform:translateX(3px) rotate(3deg);opacity:1}100%{transform:none;opacity:1}}
@keyframes button-wind-line{0%{stroke-dashoffset:1;opacity:.2}100%{stroke-dashoffset:0;opacity:1}}
@keyframes button-gift{0%,100%{transform:none}25%{transform:translateY(-3px) rotate(-9deg)}50%{transform:translateY(-4px) rotate(8deg)}75%{transform:translateY(-2px) rotate(-4deg)}}
@keyframes button-ticket{0%,100%{transform:none}35%,65%{transform:translate(3px,-1px) rotate(10deg)}}
@keyframes button-wiggle{0%,100%{transform:none}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(4deg)}}
@media(max-width:900px){
 .experience-hero{min-height:0;padding-top:145px;gap:45px}.experience-hero__image{width:100%;opacity:.72}.experience-hero:before{background:linear-gradient(90deg,#063b88ed,#0749b0b0),linear-gradient(0deg,#05397af5,transparent)}
 .experience-intro,.experience-faq,.contact-hero,.contact-location,.contact-help{grid-template-columns:1fr;gap:35px}.experience-intro>p,.experience-intro>a{grid-column:1;grid-row:auto}
 .experience-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.experience-related>div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .contact-hero{padding-top:145px}.contact-address-card{max-width:560px}.contact-hero h1{font-size:58px}
}
@media(max-width:600px){
 .experience-hero{padding:122px 22px 34px;gap:38px}.experience-hero h1{font-size:44px}.experience-hero__copy>p{font-size:14px;line-height:1.7;margin:23px 0}.experience-hero .button{font-size:13px;min-height:50px}.exp-text-link{margin-inline-start:0;font-size:12px}.experience-hero__image{object-position:62% center}
 .experience-facts{padding-top:21px}.experience-facts ul{display:grid;gap:17px}.experience-facts li{font-size:12px}.experience-facts>span{font-size:10px}
 .experience-intro,.experience-packages,.experience-faq,.experience-related,.contact-arrival,.contact-location,.contact-help{padding:55px 22px}
 .experience-intro>p{font-size:17px;line-height:1.7}.experience-packages .section-head{display:block}.experience-packages .section-head>a{margin-top:18px}
 .experience-package-grid{grid-template-columns:1fr;gap:22px}.experience-related>div{grid-template-columns:1fr}.experience-faq summary{font-size:20px}.experience-faq details p{font-size:14px;padding-right:0}
 .contact-hero{padding:125px 22px 45px;gap:35px}.contact-hero h1{font-size:45px}.contact-hero>div>p{font-size:14px}.contact-address-card{padding:26px}.contact-address-card address{font-size:22px}
 .arrival-options{grid-template-columns:1fr;gap:28px}.contact-arrival>div>p{font-size:16px}.contact-map{min-height:410px}.contact-map iframe{min-height:410px}.contact-map>div{inset:auto 23px 25px}.contact-map h2{font-size:32px}.contact-hours dl>div{font-size:13px}
 .v2-mobile-nav details a{overflow-wrap:anywhere}.stamp{font-size:16px;padding:13px}
 .booking-dock__links a,.booking-category-link{min-width:0}
 .contact-float strong{font-size:15px}.contact-float small{font-size:10px}
}
@media(prefers-reduced-motion:reduce){[data-button-motion] .motion-icon,[data-button-motion] .motion-icon *,[data-button-motion=whatsapp]>svg{animation:none!important}}
[data-motion=reduce] [data-button-motion] *{animation:none!important}
.button>svg{width:21px;height:21px;flex:0 0 21px}
.experience-package-grid .button{min-height:54px;gap:12px}
.experience-package-grid .booking-minutes{margin:20px -26px -15px;padding-top:12px}

/* Keep long localized headings inside compact layouts. */
@media(min-width:901px){.experience-package-grid:has(>.booking-package:nth-child(4):last-child),.experience-package-grid:has(>.booking-package:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.experience-hero--geburtstag h1{font-size:42px}.error-page h1{font-size:clamp(38px,11vw,52px);overflow-wrap:anywhere}.closing h2{max-width:100%;overflow-wrap:anywhere}}

/* A visible gust passes through the booking icon, including the Home hero tiles. */
.hero-v2__action>.motion-icon{width:27px;height:27px;flex:0 0 27px}
.motion-icon .wind-streams{opacity:0}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 [data-button-motion=wind]:hover .wind-streams{animation:button-wind-streams .95s ease-out both}
}
[data-button-motion=wind]:focus-visible .wind-streams{animation:button-wind-streams .95s ease-out both}
@keyframes button-wind-streams{0%{opacity:0;transform:translateX(-10px)}20%{opacity:.8}60%{opacity:.55}100%{opacity:0;transform:translateX(42px)}}
@media(max-width:700px){.hero-v2__action>.motion-icon{width:23px;height:23px;flex-basis:23px}}
.tunnel-hero__copy>.eyebrow{display:block;margin-bottom:18px;color:#d8ecff}

.tunnel-title-mobile{display:none}
@media(max-width:800px){.tunnel-hero__copy>.tunnel-hero-kicker,.tunnel-title-desktop{display:none}.tunnel-title-mobile{display:inline}}

/* Related experiences and contact shortcuts respond like the primary CTAs. */
.discovery-link{position:relative;transition:transform .24s ease,background .24s ease,border-color .24s ease,box-shadow .24s ease}
.discovery-link>.category-motion-icon{flex:none;transform-origin:center;overflow:visible}
.discovery-link>.ui-arrow{transition:transform .24s ease}
.discovery-link:focus-visible{outline:2px solid #b7eaff;outline-offset:4px;background:#ffffff20;border-color:#ffffffb3;box-shadow:0 12px 25px #001c4630;transform:translateY(-4px)}
.discovery-link:focus-visible>.ui-arrow{transform:translateX(3px)}
.discovery-link[data-link-motion=wiggle]:focus-visible:not([data-button-motion=wind])>.category-motion-icon{animation:button-wiggle .7s ease-in-out}
.discovery-link[data-link-motion=float]:focus-visible>.category-motion-icon{animation:category-icon-float .75s ease-in-out}
@media(hover:hover){
 .discovery-link:hover{transform:translateY(-4px);background:#ffffff20;border-color:#ffffffb3;box-shadow:0 12px 25px #001c4630}
 .discovery-link:hover>.ui-arrow{transform:translateX(3px)}
 .discovery-link[data-link-motion=wiggle]:hover:not([data-button-motion=wind])>.category-motion-icon{animation:button-wiggle .7s ease-in-out}
 .discovery-link[data-link-motion=float]:hover>.category-motion-icon{animation:category-icon-float .75s ease-in-out}
}
@keyframes category-icon-float{0%,100%{transform:none}40%{transform:translateY(-5px) rotate(-5deg)}70%{transform:translateY(-2px) rotate(3deg)}}
[dir=rtl] .discovery-link:is(:hover,:focus-visible)>.ui-arrow{transform:translateX(-3px)}
@media(prefers-reduced-motion:reduce){.discovery-link,.discovery-link *{transition:none!important;animation:none!important}.discovery-link:is(:hover,:focus-visible),.discovery-link:is(:hover,:focus-visible)>.ui-arrow{transform:none}}
[data-motion=reduce] .discovery-link,[data-motion=reduce] .discovery-link *{transition:none!important;animation:none!important;transform:none!important}

/* Compact contact heading on phones; preserve the desktop composition. */
.contact-hero .contact-kicker-mobile{display:none}
@media(max-width:800px){
 .contact-hero .contact-kicker-desktop,.contact-hero .contact-title-desktop{display:none}
 .contact-hero .contact-kicker-mobile{display:block;margin-bottom:18px}
 .contact-hero h1{text-wrap:balance}
}
/* Shorter category introductions and the same rounded glass CTAs as Home. */
.experience-hero{min-height:0;padding-top:158px;padding-bottom:62px;gap:0}
.experience-hero__copy{max-width:730px}
.experience-hero h1{font-size:clamp(48px,5.3vw,76px)}
.experience-hero__copy>p{margin:24px 0 28px}
.experience-hero .button-row{gap:12px;align-items:stretch}
body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;border-radius:20px;min-height:72px;padding:20px 24px;background:#064bbb;border:1px solid #ffffff40;color:#fff;box-shadow:0 8px 22px #00245816;transition:transform .25s,background .25s,border-color .25s,box-shadow .25s}
body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button:is(.outline,.outline-light){background:#0b385e80;border-color:#ffffff80;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff}
@media(hover:hover){body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button:hover{transform:translateY(-4px);background:#0959c7;border-color:#ffffffb8;box-shadow:0 12px 28px #001c4933}}
@media(max-width:800px){.experience-hero{padding-top:125px;padding-bottom:40px}.experience-hero h1{font-size:clamp(42px,7vw,58px)}}
@media(max-width:600px){.experience-hero{padding:115px 22px 38px}.experience-hero h1{font-size:42px}.experience-hero .button-row{display:grid;grid-template-columns:1fr}.experience-hero .button{width:100%}body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button{min-height:62px;padding:17px 20px;border-radius:18px;font-size:14px}}
@media(prefers-reduced-motion:reduce){body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button{transition:none;transform:none}}

/* A voucher is an equally accessible second route for each package. */
.booking-package__bottom .booking-voucher{margin-top:12px;background:transparent;color:#084da9;border:1px solid rgba(8,77,169,.35);box-shadow:none;min-height:56px;border-radius:18px}
.booking-package__bottom .booking-voucher:hover{background:#d9ebff;transform:translateY(-3px)}
body:not([data-page=home]) :is(.experience-hero,.page-hero,.closing,.tunnel-closing,.contact-hero,.booking-hero) .button:is(.outline,.outline-light){background:linear-gradient(135deg,#ffffff21,#123d6d80);backdrop-filter:none;-webkit-backdrop-filter:none}

/* Match both package actions on the two booking pages. */
body:is([data-page="booking"],[data-page="booking-wizard"]) .booking-package__bottom .button{border-radius:18px}

/* Revision 17: white primary hero actions and aligned legal content. */
body:not([data-page=home]) :is(.experience-hero,.contact-hero,.booking-hero) .button.white{background:#fff;color:#0750b9;border-color:#fff}
@media(hover:hover){body:not([data-page=home]) :is(.experience-hero,.contact-hero,.booking-hero) .button.white:hover{background:#e9f5ff;color:#0744a7;border-color:#e9f5ff}}
.legal-page{padding-inline:max(26px,calc((100vw - 1280px)/2))}.legal-page__heading,.legal-grid{max-width:1280px}
.privacy-content{max-width:1280px;margin-inline:auto;background:#ffffffb8;border:1px solid #fff;border-radius:26px;padding:clamp(25px,4vw,54px);color:#183c61}
.privacy-content section{max-width:850px}.privacy-content section+section{margin-top:36px;padding-top:32px;border-top:1px solid #123c701a}.privacy-content h2{font-size:clamp(22px,2.2vw,30px);line-height:1.25;margin-bottom:20px;letter-spacing:-.02em}.privacy-content p,.privacy-content ul{font-size:15px;line-height:1.85;margin:16px 0}.privacy-content ul{padding-inline-start:24px}.privacy-content a{color:#0750b9;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.privacy-page h1{font-size:clamp(44px,7vw,90px)}
@media(max-width:800px){.v2-mobile-nav summary,.v2-mobile-nav>.v2-mobile-nav__direct{font-size:24px}.legal-page{padding-inline:22px}}
@media(max-width:600px){.team-invitation-copy>.button{width:max-content;max-width:100%;min-width:245px;white-space:nowrap;gap:14px;padding-inline:23px}.feeling-text .button{width:max-content;min-width:210px;white-space:nowrap;font-size:12px;gap:12px;padding-inline:20px}.privacy-content p,.privacy-content ul{font-size:14px}}

/* Consistent leading icon and left-aligned label on mobile experience CTAs. */
@media(max-width:600px){
 body.experience-page .experience-hero .button{display:grid;grid-template-columns:24px minmax(0,1fr) 21px;gap:14px;justify-content:initial;text-align:start}
 body.experience-page .experience-hero .button>.motion-icon{width:24px;height:24px}
 body.experience-page .experience-hero .button>.ui-arrow{width:21px;height:21px;justify-self:end}
}

/* Ablauf: clear title and two consistently aligned hero actions. */
body[data-page=ablauf] .page-hero .button.white{background:#fff;color:#0750b9;border-color:#fff}
@media(hover:hover){body[data-page=ablauf] .page-hero .button.white:hover{background:#e9f5ff;color:#0744a7}}
@media(max-width:600px){
 body[data-page=ablauf] .page-hero>div{display:flex;flex-direction:column;align-items:flex-start;position:relative;z-index:1}
 body[data-page=ablauf] .page-hero .duration{order:1;margin:0 0 20px;padding:9px 0;border-radius:0;background:transparent;color:#174577;font-size:12px}
 body[data-page=ablauf] .page-hero .button-row{order:2;display:grid;grid-template-columns:1fr;width:100%;gap:12px}
 body[data-page=ablauf] .page-hero .button{display:grid;grid-template-columns:24px minmax(0,1fr) 21px;gap:14px;justify-content:initial;text-align:start;width:100%}
 body[data-page=ablauf] .page-hero .button>.motion-icon{width:24px;height:24px}
 body[data-page=ablauf] .page-hero .button>.icon{width:21px;height:21px;justify-self:end}
}

/* Shared ambient ring motion, matching the Buchen2 background. */
.has-hero-air{position:relative;isolation:isolate}
.experience-hero.has-hero-air:after,.windkanal-page .tunnel-hero.has-hero-air:before{content:none}
.hero-air{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:-1}
.hero-air>span{position:absolute;width:900px;height:900px;border:1px solid #ffffff30;border-radius:50%;right:-410px;top:180px;box-shadow:0 0 0 85px #ffffff06,0 0 0 170px #ffffff04;animation:subpage-air 14s ease-in-out infinite alternate;animation-play-state:paused}
.hero-air>span:nth-child(2){width:400px;height:400px;left:-250px;top:20px;animation-delay:-5s}
.hero-air>span:nth-child(3){width:600px;height:600px;top:auto;bottom:-400px;right:30%;animation-delay:-9s}
.hero-air-active>.hero-air>span{animation-play-state:running}
@keyframes subpage-air{to{transform:translate3d(40px,-50px,0) scale(1.06)}}
@media(prefers-reduced-motion:reduce){.hero-air>span{animation:none}}

/* Mobile closing links share one leading-icon/text/trailing-arrow alignment. */
@media(max-width:600px){
 body:not([data-page=home]) :is(.closing,.tunnel-closing) .button,
 .experience-related .discovery-link,.contact-help .discovery-link{
  display:grid;grid-template-columns:24px minmax(0,1fr) 21px;gap:14px;justify-content:initial;text-align:start;font-size:14px
 }
 body:not([data-page=home]) :is(.closing,.tunnel-closing) .button>svg:first-child,
 .experience-related .discovery-link>svg:first-child,.contact-help .discovery-link>svg:first-child{width:24px;height:24px}
 body:not([data-page=home]) :is(.closing,.tunnel-closing) .button>svg:last-child,
 .experience-related .discovery-link>svg:last-child,.contact-help .discovery-link>svg:last-child{width:21px;height:21px;justify-self:end;margin-inline-start:0}
 .experience-related .discovery-link,.contact-help .discovery-link{padding:18px 20px}
}
@media(max-width:600px){
 body:not([data-page=home]) :is(.closing,.tunnel-closing) .button-row{display:grid;grid-template-columns:1fr;width:100%;gap:12px;align-items:stretch}
 body:not([data-page=home]) :is(.closing,.tunnel-closing) .button-row>.button{width:100%;min-width:0;white-space:nowrap}
}

/* Experience previews reuse the home video cards, with space for the following FAQ. */
.experience-page .experience-videos{padding:85px var(--gutter);background:radial-gradient(ellipse at 85% 0,#2c79e399,transparent 65%),#083f9f}
.experience-videos .section-head{max-width:1200px;margin-inline:auto}
@media(hover:hover){[data-button-motion=event]:hover>.motion-icon{animation:button-wiggle .65s ease both}}
@media(max-width:600px){
 .experience-page .experience-hero .button{min-width:0;white-space:nowrap}
 .experience-page .experience-videos{padding-block:60px}
 .experience-videos h2{font-size:38px}
}

@media(max-width:600px){.ugc-section>.ugc-social{margin:28px 0 0;padding:0}.ugc-section>.ugc-social .social-links{flex-wrap:wrap}}

/* Keep translated navigation inside the glass shell at every desktop width. */
.v2-header__actions{flex-shrink:0}
.v2-header.is-compact{gap:12px;padding-inline:20px}
.v2-header.is-compact .v2-wordmark{width:180px}
.v2-header.is-compact :is(.v2-nav-trigger,.v2-nav-direct){font-size:15px;padding-inline:9px;gap:7px}
.v2-header.is-compact .v2-header__actions{gap:8px}
.v2-header.is-compact .v2-book--header{font-size:15px;padding-inline:12px;gap:8px}
.v2-header.is-collapsed .v2-desktop-nav,.v2-header.is-collapsed .v2-mega{display:none!important}
.v2-header.is-collapsed .v2-menu-toggle{display:flex}
.v2-header.is-collapsed .v2-header__actions{margin-inline-start:auto}
/* Text may grow vertically; labels and long URLs must never leave their cards. */
.privacy-content :is(p,li,a),.legal-card :is(p,a,dd){overflow-wrap:anywhere}
.experience-hero h1,.flight-story h2{hyphens:auto;overflow-wrap:anywhere}
.offer-card h4{hyphens:auto;overflow-wrap:anywhere}
@media(max-width:600px){
 .offer-card h4{font-size:clamp(23px,6.6vw,28px)}
 .legal-page h1{font-size:clamp(42px,10vw,60px);hyphens:auto;overflow-wrap:anywhere}
}

html:lang(de) .experience-hero--geburtstag h1{hyphens:manual;overflow-wrap:normal}

/* Sportflieger: direct access alongside the public training offers. */
.v2-mega--sport{left:auto;right:180px;width:590px;max-width:calc(100vw - 80px);padding:20px}
.v2-sport-links{display:grid;gap:10px}
.v2-sport-links .v2-mega-link{padding:16px;border:1px solid #2764a519;border-radius:18px;background:#f4f9ff80;gap:16px}
.v2-sport-links .v2-mega-link>span:nth-child(2){flex:1;min-width:0}
.v2-sport-links .v2-mega-link strong{font-size:21px;overflow-wrap:anywhere}
.v2-sport-links .v2-mega-link small{font-size:12px}
.v2-sport-links .v2-link-icon{flex:none}
.sport-login__mobile{display:none}
@media(max-width:600px){.sport-login__desktop{display:none}.sport-login__mobile{display:inline}}

.package-subheading{font-size:clamp(26px,3vw,40px);line-height:1.15;margin:65px 0 25px;color:#103c78;scroll-margin-top:230px}
.flight-unit-note{max-width:800px;margin:30px 0 0;font-size:14px;line-height:1.7;color:#365779}
.sport-offers{padding:85px max(26px,calc((100vw - 1280px)/2));background:radial-gradient(ellipse at 15% 0,#287fe788,transparent 70%),#073a8c;color:#fff;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:65px}
.sport-offers h2{font-size:clamp(36px,4vw,58px);line-height:1.05;letter-spacing:-.035em}
.sport-offers p{line-height:1.75;margin-top:24px;max-width:560px;color:#dcecff}
.sport-offers__card{padding:36px;background:#ffffff0f;border:1px solid #ffffff50;border-radius:28px;position:relative;overflow:hidden}
.sport-offers__card h3{font-size:32px;line-height:1.15}.sport-offers__card .button{margin-top:28px;border-radius:18px;text-align:start;white-space:normal}
.sport-offers__card:before{content:'';position:absolute;right:-150px;top:-150px;width:350px;height:350px;border:1px solid #ffffff16;border-radius:50%;box-shadow:0 0 0 40px #ffffff05;pointer-events:none}
@media(max-width:800px){.sport-offers{grid-template-columns:1fr;gap:30px;padding:55px 22px}.sport-offers__card{padding:26px}.package-subheading{margin-top:45px}}
/* Every related tile has a bounded leading icon, a label and a trailing arrow. */
:is(.experience-related,.contact-help) a>svg{width:24px;height:24px;min-width:24px;max-width:24px;max-height:24px;flex:0 0 24px}
:is(.experience-related,.contact-help) a>svg.ui-arrow{width:21px;height:21px;min-width:21px;max-width:21px;flex-basis:21px}
:is(.experience-related,.contact-help) a{min-width:0;min-height:72px}
:is(.experience-related,.contact-help) .discovery-label{flex:1;min-width:0;overflow-wrap:break-word;text-align:start}
@media(max-width:600px){
 body[data-page=home] .closing-copy{width:100%;max-width:100%}
 body[data-page=home] .closing .button-row{display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:380px;align-items:stretch}
 body[data-page=home] .closing .button{display:grid;grid-template-columns:24px minmax(0,1fr) 21px;width:100%;min-width:0;min-height:56px;gap:12px;padding:16px 18px;font-size:14px;text-align:start;white-space:nowrap;justify-content:initial}
 body[data-page=home] .closing .button>svg:first-child{width:24px;height:24px}
 body[data-page=home] .closing .button>svg:last-child{width:21px;height:21px;justify-self:end;margin:0}
 body[data-page=home] .closing .closing-button-label{min-width:0;text-align:start;white-space:nowrap}
}
@media(max-width:360px){body[data-page=home] .closing .button{font-size:13px;gap:10px;padding-inline:14px}}
