/* Screenshot feedback, September 2026: compact sections and stronger type. */
:root{scroll-padding-top:calc(var(--site-nav-height,76px) + 16px)}
.header,.service-header{position:sticky;top:0;z-index:70;transition:transform .24s cubic-bezier(.2,.75,.2,1),box-shadow .24s;will-change:transform}
.header.site-nav-hidden:not(:focus-within),.service-header.site-nav-hidden:not(:focus-within){transform:translateY(calc(-100% - 2px));pointer-events:none}
.service-header{background:rgba(255,255,255,.96);backdrop-filter:blur(18px);padding-block:14px}
.service-header img{width:130px}
.service-page section[id]{scroll-margin-top:0}
.service-header nav a{font-size:14px;font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.desktop-nav a{font-size:12px;font-weight:600;min-height:44px}
.instagram-section{padding-block:44px}
.instagram-layout{grid-template-columns:1.3fr .7fr;gap:50px;max-width:1100px}
.instagram-copy .eyebrow{margin-bottom:18px}
.follower-number{font-size:clamp(76px,7vw,98px);font-weight:650;gap:20px}
.follower-star{font-size:44px}
.follower-caption{font-size:15px;margin:5px 0 23px}
.instagram-copy h2{font-size:clamp(30px,2.8vw,39px);line-height:1.15;max-width:560px}
.instagram-copy>p:not(.eyebrow):not(.follower-caption){font-size:14px;margin-top:17px;max-width:500px;line-height:1.65}
.social-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:23px}
.social-actions .button{min-height:50px;padding:14px 21px}
.social-actions .text-link{min-height:44px;font-size:12px}
.social-date{font-size:10px;margin-top:17px}
.instagram-visual{padding:16px 12px 20px}
.instagram-phone{width:clamp(195px,29svh,255px);max-width:100%;border-width:5px;border-radius:30px;transform:rotate(4deg)}
.instagram-phone:hover{transform:rotate(0deg) translateY(-4px)}
.orbit-label{top:0;right:0;font-size:8px;padding:9px 12px}
.insta-float{left:-10px;bottom:0;padding:13px 17px;font-size:10px}
.journey-section{padding:48px 0 36px}
.journey-heading{gap:30px}
.journey-heading .eyebrow{margin-bottom:14px}
.journey-heading h2{font-size:clamp(30px,3.25vw,45px);line-height:1.1}
.journey-heading>p{font-size:14px;line-height:1.6;max-width:320px}
.journey-scene{height:clamp(420px,60svh,560px);margin-top:12px}
.journey-phase{top:22px;font-size:9px}
.journey-controls{bottom:28px}
.journey-controls button{font-size:11px}
.pin-bubble{padding:13px 18px;min-width:145px}
.pin-bubble strong{font-size:16px}
.pin-dot{margin-top:22px}
.arrival-cards{gap:40px;padding-top:23px}
.arrival-cards .eyebrow{margin-bottom:12px;font-size:9px}
.arrival-cards address{font-size:23px}
.arrival-cards .text-link{margin-top:7px;font-size:12px;min-height:44px}
.arrival-cards dl div{font-size:13px;line-height:2.1}
.arrival-cards>div>p:not(.eyebrow){font-size:13px;line-height:1.6}
#preise{padding-block:56px}
#preise .section-heading{margin-bottom:26px;gap:35px}
#preise .section-heading h2{font-size:clamp(34px,3.6vw,48px)}
#preise .section-heading .eyebrow{margin-bottom:14px}
#preise .section-heading>p{font-size:14px;line-height:1.6;max-width:355px}
.price-tabs{padding-bottom:10px;gap:6px}
.price-tabs button{font-size:13px;font-weight:600;padding:10px 18px}
.price-panel{grid-template-columns:.7fr 1.7fr;gap:45px;padding-block:26px}
.price-intro h3{font-size:27px;margin-bottom:15px}
.price-intro p{font-size:14px;line-height:1.65}
.price-list>div{padding-block:12px;gap:18px;min-height:49px}
.price-list span{font-size:14px;font-weight:550}
.price-list small{font-size:11px;font-weight:450;margin-top:3px;line-height:1.4}
.price-list strong{font-size:17px;font-weight:700}
.price-footnote{font-size:10px;padding-top:15px;gap:20px;line-height:1.6}
.faq-section{padding-block:56px}
.faq-layout{grid-template-columns:.65fr 1.25fr;gap:65px}
.faq-layout h2{font-size:48px;margin-bottom:19px;font-weight:650}
.faq-layout .eyebrow{margin-bottom:17px;font-size:11px}
.faq-layout .text-link{font-size:14px;font-weight:700;min-height:44px}
.faq-list summary{font-size:17px;font-weight:700;padding-block:16px;line-height:1.4;min-height:57px;gap:20px}
.faq-list details p{font-size:15px;font-weight:500;line-height:1.7;padding:0 26px 19px 0;color:#4c585e}
.service-faq summary{font-size:18px;font-weight:700;padding-block:17px}
.service-faq details p{font-size:16px;line-height:1.7}
.seo-service-links{padding-block:46px}.seo-service-links>div{grid-template-columns:1fr}.seo-service-links>div>a{max-width:780px}
@media(max-width:1050px){.instagram-layout{gap:28px}.instagram-copy h2{font-size:32px}.social-actions{gap:12px}.social-actions .button{font-size:12px}.social-actions .text-link{font-size:11px}.journey-heading>p{max-width:255px;font-size:13px}.arrival-cards{gap:25px}.faq-layout{gap:38px}.price-panel{gap:30px}}
@media(max-width:780px){
 .instagram-section{padding-block:38px}.instagram-layout{grid-template-columns:1fr;gap:24px}.instagram-copy .eyebrow{font-size:10px}.instagram-copy h2{font-size:32px}.follower-number{font-size:82px}.follower-caption{font-size:14px;margin-bottom:20px}.follower-star{font-size:37px}.instagram-copy>p:not(.eyebrow):not(.follower-caption){font-size:14px}.social-date{font-size:10px}.social-actions{gap:10px 20px}.instagram-visual{max-width:310px;padding:13px 30px 18px}.instagram-phone{width:220px;max-width:100%}.orbit-label{right:0}.insta-float{left:0;font-size:9px;padding:12px 14px}
 .journey-section{padding:38px 0 30px}.journey-heading{display:block}.journey-heading h2{font-size:33px}.journey-heading>p{font-size:13px;margin-top:14px;max-width:430px}.journey-heading .eyebrow{font-size:9px}.journey-scene{height:390px;margin-top:14px}.journey-phase{left:20px;top:18px;font-size:8px}.journey-controls{gap:6px}.journey-controls button{font-size:10px;padding:9px 11px}.journey-controls svg{width:13px}.arrival-cards{grid-template-columns:1fr 1fr;gap:20px;padding-top:20px}.arrival-cards>div{padding-bottom:0;border:0}.arrival-cards>div:last-child{grid-column:1/-1;border-top:1px solid #2f3a46;padding-top:16px}.arrival-cards address{font-size:22px}.arrival-cards dl div{font-size:12px;line-height:2}.arrival-cards .eyebrow{font-size:9px}.arrival-cards .text-link{font-size:11px;margin-top:5px}
 #preise{padding-block:40px}#preise .section-heading{margin-bottom:22px}#preise .section-heading h2{font-size:36px}#preise .section-heading>p{margin-top:14px;font-size:14px}.price-tabs button{font-size:12px;padding-inline:11px}.price-panel{grid-template-columns:1fr;gap:18px;padding-block:22px}.price-intro h3{font-size:24px;margin-bottom:10px;max-width:none}.price-intro p{font-size:14px;max-width:none}.price-list span{font-size:14px}.price-list small{font-size:11px}.price-list strong{font-size:16px}.price-list>div{padding-block:11px}.price-footnote{font-size:10px;gap:8px}
 .faq-section{padding-block:40px}.faq-layout{grid-template-columns:1fr;gap:22px}.faq-layout h2{font-size:38px;margin-bottom:12px}.faq-layout .eyebrow{font-size:10px;margin-bottom:13px}.faq-list summary{font-size:16px;padding-block:15px;min-height:54px}.faq-list details p{font-size:15px;padding-right:15px}.faq-layout .text-link{font-size:14px}
}
@media(max-width:390px){.follower-number{font-size:76px}.instagram-copy h2{font-size:29px}.instagram-phone{width:205px}.journey-heading h2{font-size:29px}.arrival-cards{gap:15px}.arrival-cards address{font-size:20px}.arrival-cards dl div{font-size:11px}.journey-controls{gap:5px}.journey-controls button{font-size:9px;padding-inline:9px}.price-tabs button{font-size:11px;padding-inline:9px}.price-list>div{gap:12px}.price-list strong{font-size:15px}}
@media(max-width:640px){.service-header{padding:12px 18px;gap:8px}.service-header img{width:113px}.service-header nav{gap:13px}.service-header nav a{font-size:13px;padding-block:5px}.service-faq summary{font-size:17px}}
@media(prefers-reduced-motion:reduce){.header,.service-header,.instagram-phone{transition:none}.instagram-phone,.instagram-phone:hover{transform:none}}

/* Keep the destination; remove the secondary opening-hours/travel columns. */
.arrival-cards{display:block;padding-top:12px;border-top:1px solid #2f3a46}
.arrival-cards>div,.arrival-cards>div:last-child{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0;border:0}
.arrival-cards .eyebrow{display:none}
.arrival-cards address{font-size:15px;font-weight:600;line-height:1.5}
.arrival-cards address br{display:block}
.arrival-cards .text-link{margin:0;white-space:nowrap}
@media(max-width:780px){.journey-section{padding-bottom:24px}.arrival-cards address{font-size:12px}.arrival-cards address br{display:block}.arrival-cards .text-link{font-size:11px}.journey-controls{bottom:30px}}

/* A visible, complete checkout underneath the appointment selection. */
.calendar-panel{position:relative}
#booking-form .step-label{font-size:11px;margin-bottom:12px}
.checkout-heading{font-size:28px;line-height:1.15;margin-bottom:10px}
.contact-note{font-size:13px;color:#59666b;line-height:1.6;margin-bottom:20px}
#booking-form>label:not(.booking-check),.name-fields>label{font-size:14px;font-weight:700}
#booking-form input:not([type=checkbox]){min-height:50px}
.booking-summary{font-size:14px;font-weight:600;line-height:1.6;padding:15px;margin-bottom:23px}
.booking-check{font-size:12px;line-height:1.65;margin-top:7px;margin-bottom:23px}
.booking-check input{margin-top:2px;flex-shrink:0}
.booking-checkout{border-top:1px solid #dce2de;padding-top:22px}
#submit-booking{min-height:58px;font-size:15px;font-weight:700;justify-content:space-between}
#submit-booking:disabled{opacity:1;background:#c9cfcc;color:#46514c;cursor:not-allowed}
#checkout-hint{font-size:12px;line-height:1.6;min-height:20px}
.calendar-panel.is-confirmed{background:#fff;display:flex;align-items:center;min-height:590px}
#booking-success{width:100%;padding-block:12px}
#booking-success:focus{outline:none}
#booking-success h3{font-size:clamp(34px,3.5vw,47px);line-height:1.12}
#booking-success p:not(.eyebrow){font-size:14px;line-height:1.65}
#booking-success .success-icon{width:72px;height:72px;font-size:32px}
@media(max-width:780px){.checkout-heading{font-size:27px}.booking-summary{font-size:13px}.booking-check{font-size:12px}.calendar-panel.is-confirmed{min-height:570px}#submit-booking{font-size:14px;min-height:56px}#booking-form{scroll-margin-top:calc(var(--site-nav-height,68px) + 16px)}}
@media(prefers-reduced-motion:no-preference){#booking-success{animation:booking-confirmed .4s ease-out both}#booking-success .success-icon{animation:booking-check-in .5s cubic-bezier(.2,.7,.2,1) both}@keyframes booking-confirmed{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes booking-check-in{from{transform:scale(.8)}to{transform:scale(1)}}}

body.booking-in-view .mobile-booking-bar{visibility:hidden;pointer-events:none}
