:root{--color-primary:#4A5568;--color-primary-dark:#2D3748;--color-primary-light:#718096;--color-cream:#FDFAF5;--color-cream-warm:#F8F5F0;--color-white:#FFFFFF;--color-accent:#E2E8F0;--color-accent-light:#EDF2F7;--color-highlight:#CBD5E0;--color-text:#2D3748;--color-text-soft:#4A5568;--color-text-muted:#637283;--color-border:#E2E8F0;--color-purple:#7A6A9B;--color-purple-medium:#6F5F92;--color-purple-dark:#6B5B95;--color-purple-soft:#9B8BB8;--font-serif:'Cormorant Garamond', 'Cormorant Garamond Fallback', Garamond, 'Times New Roman', serif;--font-sans:'DM Sans', 'DM Sans Fallback', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;--space-xs:0.5rem;--space-sm:1rem;--space-md:1.5rem;--space-lg:1.75rem;--space-xl:2.25rem;--radius:16px;--radius-sm:10px;--radius-lg:24px;--max-width:1140px;--transition:0.3s ease;--gradient-dawn:linear-gradient(135deg, #FFF9F5 0%, #FEF1F5 50%, #F5F0FF 100%);--gradient-warmth:linear-gradient(180deg, #FFFBF8 0%, #FFF5F0 100%);--color-blush:#F8E8EC;--color-lavender-soft:#EDE8F5;--color-peach:#FFEEE8;--color-cta-young:#7A5A6D;--color-cta-young-hover:#755569;--color-text-warm:#4A4352;--blob-primary:rgba(248, 232, 236, 0.6);--blob-secondary:rgba(237, 232, 245, 0.5)}@font-face{font-family:cormorant garamond fallback;src:local('Times New Roman');size-adjust:94.37%;ascent-override:116.24%;descent-override:29.99%;line-gap-override:0%}@font-face{font-family:dm sans fallback;src:local('Arial');size-adjust:99.72%;ascent-override:101.48%;descent-override:31.09%;line-gap-override:0%}@font-face{font-family:cormorant garamond;src:url(/fonts/cormorant-garamond-v16-latin-regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:cormorant garamond;src:url(/fonts/cormorant-garamond-v16-latin-500.woff2)format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:cormorant garamond;src:url(/fonts/cormorant-garamond-v16-latin-600.woff2)format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:cormorant garamond;src:url(/fonts/cormorant-garamond-v16-latin-italic.woff2)format('woff2');font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:cormorant garamond;src:url(/fonts/cormorant-garamond-v16-latin-500italic.woff2)format('woff2');font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:dm sans;src:url(/fonts/dm-sans-v14-latin-regular.woff2)format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:dm sans;src:url(/fonts/dm-sans-v14-latin-500.woff2)format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:dm sans;src:url(/fonts/dm-sans-v14-latin-600.woff2)format('woff2');font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:caveat;src:url(/fonts/caveat-v18-latin-500.woff2)format('woff2');font-weight:500;font-style:normal;font-display:swap}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}a,button,[role=button],input,select,textarea{-webkit-tap-highlight-color:rgba(142,127,176,.2)}html{scroll-behavior:smooth}body{font-family:var(--font-sans);font-size:1rem;line-height:1.7;color:var(--color-text);background:var(--color-cream);-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-serif);font-weight:500;line-height:1.25;color:var(--color-text)}h1{font-size:clamp(2.2rem,5vw,3rem)}h2{font-size:clamp(1.75rem,4vw,2.25rem);margin-bottom:var(--space-md)}h3{font-size:1.25rem;font-weight:500}p{color:var(--color-text-soft)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--color-primary-dark)}main p :where(a:not([class])),main li :where(a:not([class])),main dd :where(a:not([class])){color:inherit;text-decoration:underline;text-decoration-color:rgba(45,55,72,.35);text-underline-offset:.15em;text-decoration-thickness:1px;transition:text-decoration-color .2s ease}main p :where(a:not([class]):hover),main li :where(a:not([class]):hover),main dd :where(a:not([class]):hover){text-decoration-color:initial}.text-serif{font-family:var(--font-serif);font-style:italic}.link-underline{text-decoration:underline;text-underline-offset:3px}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-md)}.section{padding:var(--space-xl)0}.section.section--bg-cream-warm{background:var(--color-cream-warm)}.section.section--bg-lavender-soft{background:var(--color-lavender-soft)}.divider{width:60px;height:3px;background:var(--color-primary);margin:var(--space-sm)0 var(--space-md)}.divider--center{margin-left:auto;margin-right:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.9rem 1.75rem;min-height:44px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;text-decoration:none;border-radius:50px;transition:all var(--transition);cursor:pointer;border:none}.btn--primary{background:linear-gradient(135deg,var(--color-purple) 0%,var(--color-purple-medium) 100%);color:var(--color-white)}.btn--primary:hover{background:linear-gradient(135deg,#B8ABCF 0%,#9E8FC0 100%);color:var(--color-white);transform:translateY(-2px);box-shadow:0 10px 30px rgba(142,127,176,.4)}.btn--outline{background:0 0;color:var(--color-text);border:2px solid var(--color-border)}.btn--outline:hover{border-color:var(--color-primary);color:var(--color-primary)}.btn--sm{padding:10px 20px;font-size:.85rem;min-height:44px}.leistungen__card .btn--sm{margin-top:1.25rem;background:rgba(196,164,184,8%);border-color:rgba(196,164,184,.3);color:var(--color-primary);font-size:.82rem;letter-spacing:.01em}.leistungen__card .btn--sm:hover{background:rgba(196,164,184,.16);border-color:rgba(196,164,184,.5);color:var(--color-primary-dark)}.header{position:sticky;top:0;background:rgba(248,247,245,.95);backdrop-filter:blur(10px);z-index:100;border-bottom:1px solid var(--color-border)}.header__container{display:flex;align-items:center;padding:var(--space-sm)var(--space-md);max-width:var(--max-width);margin:0 auto}.header__logo{font-family:var(--font-serif);font-size:1.25rem;color:var(--color-text);text-decoration:none;white-space:nowrap;margin-right:auto}.header__logo span{color:var(--color-primary)}.header__nav-list{display:flex;gap:var(--space-md);list-style:none}.header__nav-link{font-size:.95rem;color:var(--color-text-soft);padding:var(--space-xs)var(--space-sm);position:relative;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}.header__nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--color-primary);transition:width var(--transition)}.header__nav-link:hover{color:var(--color-text)}.header__nav-link:hover::after{width:100%}.header__cta{padding:.65rem 1.25rem;font-size:.9rem;white-space:nowrap;margin-left:var(--space-md)}.header__menu-toggle{display:none;background:0 0;border:none;padding:var(--space-xs);cursor:pointer}.header__menu-icon,.header__menu-icon::before,.header__menu-icon::after{display:block;width:22px;height:2px;background:var(--color-text);border-radius:2px}.header__menu-icon{position:relative}.header__menu-icon::before,.header__menu-icon::after{content:'';position:absolute;left:0}.header__menu-icon::before{top:-7px}.header__menu-icon::after{top:7px}[class$=__video-facade]{position:relative;width:100%;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.25,.46,.45,.94)}[class$=__video-facade]:hover{transform:translateY(-2px)}[class$=__video-facade]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px}[class$=__video-facade-poster]{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}[class$=__video-facade-overlay]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background:rgba(0,0,0,.25);transition:background .3s ease}[class$=__video-facade]:hover [class$=__video-facade-overlay]{background:rgba(0,0,0,.15)}[class$=__video-facade-overlay]::after{content:"▶";width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-purple) 0%,var(--color-purple-medium) 100%);color:var(--color-white);border-radius:50%;font-size:1.5rem;padding-left:4px;box-shadow:0 8px 24px rgba(142,127,176,.4),0 2px 8px rgba(142,127,176,.2);transition:all .4s cubic-bezier(.25,.46,.45,.94)}[class$=__video-facade]:hover [class$=__video-facade-overlay]::after{transform:scale(1.1);box-shadow:0 12px 32px rgba(142,127,176,.5),0 4px 12px rgba(142,127,176,.3)}[class$=__video-facade-overlay] p{color:var(--color-white);font-weight:500;letter-spacing:.02em;margin:0;text-shadow:0 1px 4px rgba(0,0,0,.3)}.persoenlich__video-facade-overlay::after{background:linear-gradient(145deg,var(--color-cta-young),var(--color-purple-soft))}.subpage-hero__video-facade-overlay::after{width:64px;height:64px;background:linear-gradient(145deg,var(--color-cta-young),var(--color-purple-soft))}.leistungen__video-facade{border:1px solid var(--color-border)}.leistungen__video-facade:hover{border-color:var(--color-primary);box-shadow:0 12px 32px rgba(74,85,104,.12)}.leistungen__video-wrapper,.ueberblick__video-wrapper,.persoenlich__video-wrapper,.subpage-hero__video-wrapper{border-radius:var(--radius-lg);overflow:hidden}.leistungen__video-wrapper video,.ueberblick__video-wrapper video,.persoenlich__video-wrapper video,.subpage-hero__video-wrapper video{width:100%;aspect-ratio:16/9;display:block;background:#000}.kontakt-page{background:var(--color-white)}.kontakt{background:var(--color-white)}.kontakt__header{text-align:center;margin-bottom:var(--space-lg)}.kontakt__header p{font-size:1.1rem}.kontakt__grid{display:grid;grid-template-columns:1fr;gap:var(--space-lg)}@media(min-width:769px){.kontakt__grid{grid-template-columns:1fr 1.5fr;gap:var(--space-xl)}}.kontakt__info{padding:var(--space-lg);background:var(--color-cream);border-radius:var(--radius-lg)}.kontakt__name{font-size:1.1rem;color:var(--color-text);margin-bottom:var(--space-md)}.kontakt__detail{margin-bottom:var(--space-md)}.kontakt__detail a,.kontakt__detail span{display:block;color:var(--color-text-soft);margin-bottom:var(--space-xs)}.kontakt__detail a:hover{color:var(--color-primary)}.kontakt__social{display:flex;gap:var(--space-sm)}.kontakt__social-link{width:42px;height:42px;background:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--color-text-soft);transition:all var(--transition)}.kontakt__social-link:hover{background:var(--color-primary);color:var(--color-white)}.kontakt__social-icon{width:20px;height:20px}.kontakt__form-wrapper{background:var(--color-cream);padding:var(--space-lg);border-radius:var(--radius-lg)}.kontakt__form{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:769px){.kontakt__form{grid-template-columns:1fr 1fr}}.form__group--full{grid-column:1/-1}.form__label{display:block;font-size:.9rem;color:var(--color-text-soft);margin-bottom:var(--space-xs)}.form__label--optional{font-weight:400;color:var(--color-text-muted)}.form__input{width:100%;padding:.85rem 1rem;font-family:var(--font-sans);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);transition:all var(--transition)}.form__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(122,139,153,.15)}.form__textarea{min-height:120px;resize:vertical}.kontakt__form .btn{grid-column:1/-1;justify-self:start}.form__group--checkbox{margin-top:var(--space-sm)}.form__checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-size:.875rem;line-height:1.5;color:var(--color-text-soft)}.form__checkbox{flex-shrink:0;width:20px;height:20px;margin-top:2px;accent-color:var(--color-primary);cursor:pointer}.form__trust-note{font-size:.875rem;line-height:1.5;color:var(--color-text-soft);margin:0 0 .75rem}.form__checkbox-label a{color:var(--color-primary);text-decoration:underline}.form__checkbox-label a:hover{color:var(--color-primary-dark)}.form__success{text-align:center;padding:var(--space-lg)var(--space-md)}.form__success-icon{color:var(--color-primary-light);margin-bottom:var(--space-md)}.form__success-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.form__success-message{font-size:1rem;color:var(--color-text-soft);line-height:1.6}.form__server-error{margin-top:var(--space-md);padding:.875rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#dc2626;font-size:.9rem}.kontakt--young{background:linear-gradient(180deg,#FDF8F6 0%,#F8F2F6 50%,#F5EEF8 100%);position:relative;overflow:hidden}.kontakt--young::before{content:'';position:absolute;top:-30%;left:-10%;width:60%;height:100%;background:radial-gradient(ellipse,rgba(196,164,184,.12) 0%,transparent 60%);pointer-events:none;animation:float-gentle 12s ease-in-out infinite}.kontakt--young::after{content:'';position:absolute;bottom:-20%;right:-5%;width:50%;height:80%;background:radial-gradient(ellipse,rgba(168,155,196,.1) 0%,transparent 60%);pointer-events:none;animation:float-gentle 10s ease-in-out infinite reverse}.kontakt--young .kontakt__header h2{font-family:var(--font-serif);color:var(--color-text-warm)}.kontakt--young .kontakt__header p{color:var(--color-text-muted)}.kontakt--young .kontakt__info{background:linear-gradient(145deg,#FFFFFF 0%,#FAF7F4 100%);border:1px solid rgba(168,155,196,.12);border-radius:20px;box-shadow:0 4px 20px rgba(74,67,82,6%),inset 0 1px rgba(255,255,255,.8);position:relative;z-index:1}.kontakt--young .kontakt__name{color:var(--color-text-warm)}.kontakt--young .kontakt__detail a,.kontakt--young .kontakt__detail span{color:var(--color-text-muted)}.kontakt--young .kontakt__detail a:hover{color:var(--color-cta-young)}.kontakt--young .kontakt__social-link{width:44px;height:44px;background:linear-gradient(145deg,#F8F5F2 0%,#EFEBE6 100%);border:1px solid rgba(168,155,196,.1);color:var(--color-text-muted);transition:all .3s cubic-bezier(.4,0,.2,1)}.kontakt--young .kontakt__social-link:hover{background:linear-gradient(145deg,var(--color-cta-young),var(--color-purple-soft));border-color:transparent;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(142,127,176,.3)}.kontakt--young .kontakt__form-wrapper{background:linear-gradient(145deg,#FFFFFF 0%,#FAF7F4 100%);border:1px solid rgba(168,155,196,.12);border-radius:20px;box-shadow:0 4px 20px rgba(74,67,82,6%),inset 0 1px rgba(255,255,255,.8);position:relative;z-index:1}.kontakt--young .form__label{color:var(--color-text-muted);font-weight:500}.kontakt--young .form__input{border:1px solid rgba(168,155,196,.2);border-radius:12px;background:#fdfcfb;transition:all .3s cubic-bezier(.4,0,.2,1)}.kontakt--young .form__input:hover{border-color:rgba(168,155,196,.35)}.kontakt--young .form__input:focus{border-color:var(--color-cta-young);box-shadow:0 0 0 3px rgba(168,155,196,.15);background:#fff}.kontakt--young .form__textarea{border-radius:12px}.kontakt--young .kontakt__form .btn{background:linear-gradient(145deg,var(--color-cta-young),var(--color-purple-soft));border:none;border-radius:50px;padding:.9rem 2rem;font-weight:500;color:#fff;box-shadow:0 4px 16px rgba(142,127,176,.3);transition:all .3s cubic-bezier(.4,0,.2,1)}.kontakt--young .kontakt__form .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(142,127,176,.4)}.footer{background:var(--color-text);color:var(--color-cream);padding:var(--space-lg)0 var(--space-md);text-align:center}.footer__nav{display:flex;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-md)}.footer__nav a{color:rgba(255,255,255,.7);font-size:.9rem}.footer__nav a:hover{color:var(--color-highlight)}.footer__divider{width:60px;height:1px;background:rgba(255,255,255,.2);margin:var(--space-md)auto}.footer__copyright{font-size:.85rem;color:rgba(255,255,255,.6)}@keyframes slideUp{from{transform:translateY(30px)}to{transform:translateY(0)}}.animate-on-scroll{animation:slideUp .6s ease both}.stagger-children>*{animation:slideUp .5s ease both}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.blob{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none}@keyframes blob-float{0%,100%{transform:translate(0,0)scale(1)}33%{transform:translate(10px,-15px)scale(1.02)}66%{transform:translate(-8px,10px)scale(.98)}}:root{--space-lg-mobile:2rem;--space-xl-mobile:3.5rem}.header__nav,.header__cta{display:none}.header__menu-toggle{display:block}.header__nav.active{display:block;position:absolute;top:100%;left:0;right:0;background:var(--color-cream);padding:var(--space-md);box-shadow:0 10px 30px rgba(0,0,0,.1)}.header__nav.active .header__nav-list{flex-direction:column;gap:var(--space-sm)}.footer__nav{flex-direction:column;gap:var(--space-sm)}@media(min-width:601px){.footer__nav{flex-direction:row;gap:var(--space-lg)}}@media(min-width:901px){.header__nav,.header__cta{display:flex}.header__menu-toggle{display:none}.header__nav.active{display:flex;position:static;background:0 0;padding:0;box-shadow:none}.header__nav.active .header__nav-list{flex-direction:row;gap:var(--space-md)}}.kontakt-hero{background:linear-gradient(180deg,var(--color-white) 0%,var(--color-cream) 100%);padding:var(--space-lg)0 var(--space-md);position:relative;overflow:hidden}.kontakt-hero__content{text-align:center;max-width:680px;margin:0 auto;position:relative;z-index:1}.kontakt-hero__eyebrow{display:inline-block;font-size:.85rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);margin-bottom:var(--space-sm);position:relative}.kontakt-hero__eyebrow::before,.kontakt-hero__eyebrow::after{content:'';position:absolute;top:50%;width:40px;height:1px;background:var(--color-border);display:none}.kontakt-hero__eyebrow::before{right:calc(100% + 1rem)}.kontakt-hero__eyebrow::after{left:calc(100% + 1rem)}.kontakt-page--young .kontakt-hero__eyebrow{font-family:caveat,cursive;font-size:2rem;text-transform:none;letter-spacing:normal;color:var(--color-cta-young);text-shadow:0 2px 8px rgba(196,164,184,.25)}.kontakt-page--young .kontakt-hero__eyebrow::before,.kontakt-page--young .kontakt-hero__eyebrow::after{display:none}.kontakt-hero__title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:500;color:var(--color-text);margin-bottom:var(--space-md);line-height:1.15}.kontakt-hero__subtitle{font-size:1.15rem;line-height:1.7;color:var(--color-text-soft);max-width:540px;margin:0 auto}.kontakt-hero__decoration{position:absolute;top:-50%;right:-20%;width:600px;height:600px;background:radial-gradient(circle,rgba(142,127,176,6%) 0%,transparent 70%);border-radius:50%;pointer-events:none}.kontakt-main{background:var(--color-cream);padding:var(--space-lg)0}.kontakt-main__grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}@media(min-width:901px){.kontakt-main__grid{grid-template-columns:1fr 1.3fr;gap:calc(var(--space-xl) * 1.5);align-items:start}}.kontakt-main__grid--young{grid-template-columns:1fr;gap:var(--space-lg)}.kontakt-main__grid--young .erstkontakt-cta{order:1;margin-top:0}.kontakt-main__grid--young .kontakt-form-wrapper{order:2}.kontakt-main__grid--young .kontakt-methods{order:3}@media(min-width:901px){.kontakt-main__grid--young{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:var(--space-lg);align-items:start}.kontakt-main__grid--young .erstkontakt-cta,.kontakt-main__grid--young .kontakt-form-wrapper,.kontakt-main__grid--young .kontakt-methods{order:unset}.kontakt-main__grid--young .kontakt-methods{grid-column:1;grid-row:1/3;align-self:start}.kontakt-main__grid--young .erstkontakt-cta{grid-column:2;grid-row:1;align-self:start}.kontakt-main__grid--young .kontakt-form-wrapper{grid-column:2;grid-row:2;align-self:start}}.kontakt-methods{display:flex;flex-direction:column;gap:var(--space-md)}.kontakt-method{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-white);border-radius:var(--radius);transition:all .3s ease;animation-delay:var(--delay,0s)}.kontakt-method:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(74,85,104,.1)}.kontakt-method__icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-cream) 0%,var(--color-cream-warm) 100%);border-radius:12px}.kontakt-method__icon svg{width:22px;height:22px;color:var(--color-primary)}.kontakt-method__content{display:flex;flex-direction:column;gap:.25rem}.kontakt-method__label{font-family:var(--font-sans);font-size:.8rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted)}.kontakt-method__value{font-size:1.05rem;font-weight:600;color:var(--color-text);text-decoration:none;transition:color .2s ease;line-height:1.4}.kontakt-method__value:hover{color:var(--color-primary)}.kontakt-method__note{font-size:.875rem;color:var(--color-text-muted);margin-top:.15rem}.kontakt-social-bottom{background:var(--color-cream-warm);padding:var(--space-lg)0;text-align:center}.kontakt-social-bottom__content{max-width:400px;margin:0 auto}.kontakt-social-bottom__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;line-height:1.25;color:var(--color-text);margin-bottom:var(--space-md)}.kontakt-social-bottom__links{display:flex;justify-content:center;gap:var(--space-lg);flex-wrap:wrap}.kontakt-social-bottom__link{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text-soft);text-decoration:none;font-size:.95rem;font-weight:500;padding:.75rem 1.25rem;background:var(--color-white);border-radius:50px;transition:all .25s ease;box-shadow:0 2px 8px rgba(74,85,104,6%)}.kontakt-social-bottom__link svg{width:20px;height:20px;color:var(--color-primary-light);transition:color .2s ease}.kontakt-social-bottom__link:hover{color:var(--color-primary);transform:translateY(-2px);box-shadow:0 6px 20px rgba(74,85,104,.12)}.kontakt-social-bottom__link:hover svg{color:var(--color-primary)}.kontakt-form-wrapper{background:var(--color-white);padding:var(--space-sm);border-radius:var(--radius-lg);box-shadow:0 4px 24px rgba(74,85,104,6%);animation-delay:var(--delay,0s)}.kontakt-form-header{margin-bottom:var(--space-md)}.kontakt-form-header__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;line-height:1.25;color:var(--color-text)}.kontakt-form-header p:not(.kontakt-form-header__title){font-size:.95rem;color:var(--color-text-muted)}.kontakt-form{display:flex;flex-direction:column;gap:var(--space-md)}.kontakt-form[hidden]{display:none}.kontakt-form__row{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:500px){.kontakt-form__row{grid-template-columns:1fr 1fr}}.kontakt-form .form__group{margin-bottom:0}.kontakt-form .form__label{font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem;display:block}.kontakt-form .form__optional{font-weight:400;color:var(--color-text-muted)}.kontakt-form .form__input{width:100%;padding:.875rem 1rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background:var(--color-cream);border:2px solid transparent;border-radius:var(--radius-sm);transition:all .2s ease}.kontakt-form .form__input::placeholder{color:var(--color-text-muted);opacity:.7}.kontakt-form .form__input:hover{background:var(--color-cream-warm)}.kontakt-form .form__input:focus{outline:none;background:var(--color-white);border-color:rgba(142,127,176,.5);box-shadow:0 0 0 4px rgba(142,127,176,.1)}.kontakt-form .form__select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%234A5568' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:16px;padding-right:2.5rem}.kontakt-form .form__textarea{min-height:140px;resize:vertical}.kontakt-form .btn--full{width:100%;margin-top:var(--space-sm)}.kontakt-form .btn svg{transition:transform .2s ease}.kontakt-form .btn:hover svg{transform:translateX(4px)}.form__error{display:none;font-size:.85rem;margin-top:.5rem;padding-left:.25rem;line-height:1.4;color:#dc2626}.form__error.is-visible{display:block}.kontakt-form .form__input--error{border-color:#dc2626;background:#fef2f2}.kontakt-form .form__input--error:focus{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.1)}.form-dialog{display:none;position:fixed;inset:0;z-index:1000;align-items:center;justify-content:center;padding:var(--space-md)}.form-dialog.is-visible{display:flex}.form-dialog__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px)}.form-dialog__content{position:relative;background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-lg);max-width:420px;width:100%;box-shadow:0 20px 40px rgba(0,0,0,.15);text-align:center;animation:dialogSlideIn .2s ease-out}@keyframes dialogSlideIn{from{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.form-dialog__icon{width:48px;height:48px;margin:0 auto var(--space-md);color:#d97706}.form-dialog__icon svg{width:100%;height:100%}.form-dialog__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.form-dialog__message{font-size:.95rem;color:var(--color-text-soft);line-height:1.6;margin-bottom:var(--space-lg)}.form-dialog__actions{display:flex;gap:var(--space-sm);justify-content:center}.form-dialog__actions .btn{min-width:120px}.kontakt-map{position:relative;height:300px;background:var(--color-cream)}.kontakt-map iframe{width:100%;height:100%;filter:grayscale(20%)contrast(95%);transition:filter .3s ease}.kontakt-map:hover iframe{filter:grayscale(0%)contrast(100%)}.kontakt-map__overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1;display:flex;align-items:flex-start;padding:var(--space-md)}@media(min-width:768px){.kontakt-map__overlay{padding:var(--space-lg)}}.kontakt-map__card{pointer-events:auto;background:var(--color-white);padding:var(--space-md);border-radius:var(--radius);box-shadow:0 8px 32px rgba(74,85,104,.15);max-width:280px}.kontakt-map__title{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;line-height:1.25;color:var(--color-text);margin-bottom:.5rem}.kontakt-map__card p:not(.kontakt-map__title){font-size:.9rem;color:var(--color-text-soft);line-height:1.5;margin-bottom:var(--space-sm)}.kontakt-map__card .btn{display:inline-flex;align-items:center;gap:.5rem}.kontakt-map__consent{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-md);z-index:2;background:var(--color-cream)}.kontakt-map__consent-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--color-text);margin-bottom:.25rem}.kontakt-map__consent p:not(.kontakt-map__consent-title){font-size:.85rem;color:var(--color-text-soft);margin-bottom:var(--space-sm);max-width:280px}.kontakt-map__consent .btn{margin-bottom:.5rem}.kontakt-map__consent-link{font-size:.75rem;color:var(--color-text-muted);text-decoration:underline;text-underline-offset:2px}.kontakt-map__consent-link:hover{color:var(--color-text-soft)}.kontakt-map__consent-icon{width:36px;height:36px;color:var(--color-accent);margin-bottom:.5rem}@media(min-width:768px){.kontakt-map__consent{border:2px dashed var(--color-border);margin:var(--space-md);border-radius:var(--radius);inset:0}.kontakt-map__consent-icon{width:44px;height:44px}}@media(min-width:901px){.kontakt-hero{padding:var(--space-xl)0 var(--space-lg)}.kontakt-hero__eyebrow::before,.kontakt-hero__eyebrow::after{display:block}.kontakt-main{padding:var(--space-xl)0}.kontakt-form-wrapper{padding:var(--space-lg)}.kontakt-map{height:400px}}@media(min-width:501px){.kontakt-method{flex-direction:row;align-items:center;gap:var(--space-md)}.kontakt-form-wrapper{padding:var(--space-md)}}@media(min-width:769px){:root{--space-lg:2.5rem;--space-xl:3.5rem}}.legal-hero{background:var(--color-white);padding:var(--space-lg)0 var(--space-md);text-align:center;position:relative;overflow:hidden}.legal-hero__bg-element{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary),var(--color-primary-light))}.legal-hero__content{position:relative;z-index:1}.legal-hero__eyebrow{display:inline-block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--color-primary);margin-bottom:var(--space-xs);padding:.35rem .85rem;background:var(--color-accent-light);border-radius:50px}.legal-hero__title{font-family:var(--font-serif);font-size:clamp(1.75rem,6vw,2.5rem);font-weight:400;color:var(--color-text);margin-bottom:0;letter-spacing:-.01em}.legal-hero__subtitle{font-size:.9rem;color:var(--color-text-soft);margin-top:var(--space-sm);max-width:500px;margin-left:auto;margin-right:auto}@media(min-width:600px){.legal-hero{padding:var(--space-xl)0 var(--space-lg)}.legal-hero__eyebrow{font-size:.8rem;letter-spacing:.2em;padding:.4rem 1rem;margin-bottom:var(--space-sm)}.legal-hero__title{font-size:clamp(2.5rem,5vw,3.5rem);margin-bottom:var(--space-md)}.legal-hero__subtitle{font-size:1rem}}.legal-content{background:var(--color-cream);padding:var(--space-md)0 var(--space-lg)}.legal-content__wrapper{display:flex;flex-direction:column;gap:var(--space-md)}@media(min-width:768px){.legal-content{padding:var(--space-lg)0 var(--space-xl)}.legal-content__wrapper{display:grid;grid-template-columns:200px 1fr;gap:var(--space-xl);max-width:900px;margin:0 auto}}@media(min-width:1024px){.legal-content__wrapper{grid-template-columns:220px 1fr}}.legal-toc{background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border)}.legal-toc__title{font-family:var(--font-serif);font-size:1rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.legal-toc__list{list-style:decimal;padding-left:1.25rem;margin:0;display:flex;flex-direction:column;gap:.5rem}.legal-toc__list li{font-size:.85rem;line-height:1.4}.legal-toc__list a{color:var(--color-text-soft);text-decoration:none;transition:color .2s ease}.legal-toc__list a:hover{color:var(--color-primary)}@media(min-width:768px){.legal-toc{position:sticky;top:var(--space-md);align-self:start}.legal-toc__title{font-size:1.1rem}.legal-toc__list{gap:.6rem}.legal-toc__list li{font-size:.9rem}}.legal-article{display:flex;flex-direction:column;gap:var(--space-md)}.legal-section{background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border)}.legal-section__header{display:flex;align-items:flex-start;gap:var(--space-sm);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.legal-section__number{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--color-primary);line-height:1;min-width:2rem}.legal-section__header h2{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--color-text);margin:0;line-height:1.3}.legal-section__content{font-size:.9rem;line-height:1.7;color:var(--color-text-soft)}.legal-section__content p{margin:0 0 var(--space-sm)}.legal-section__content p:last-child{margin-bottom:0}.legal-section__content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:all .2s ease}.legal-section__content a:hover{color:var(--color-primary-dark);text-decoration-thickness:2px}.legal-section__content ul,.legal-section__content ol{margin:0 0 var(--space-sm);padding-left:1.2em}.legal-section__content li{margin-bottom:.25em}@media(min-width:600px){.legal-section{padding:var(--space-lg)}.legal-section__number{font-size:1.5rem;min-width:2.5rem}.legal-section__header h2{font-size:1.25rem}.legal-section__content{font-size:.95rem}}.legal-info-card{background:var(--color-accent-light);border-radius:var(--radius-sm);padding:var(--space-sm)var(--space-md);margin-top:var(--space-sm);border-left:3px solid var(--color-primary)}.legal-info-card p{margin:0;font-size:.9rem}.legal-info-card a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.legal-footer{text-align:center;padding:var(--space-md)0 0;margin-top:var(--space-sm);border-top:1px solid var(--color-border)}.legal-footer p{font-size:.85rem;color:var(--color-text-muted);margin:0}.impressum__grid{display:flex;flex-direction:column;gap:var(--space-md);max-width:800px;margin:0 auto}.impressum__main,.impressum__sidebar{display:contents}.impressum__card{background:var(--color-white);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border);position:relative;transition:all .35s cubic-bezier(.25,.46,.45,.94)}.impressum__card:hover{border-color:var(--color-highlight);box-shadow:0 8px 24px rgba(74,85,104,6%)}.impressum__card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-accent-light) 0%,var(--color-cream) 100%);border-radius:10px;margin-bottom:var(--space-sm);color:var(--color-primary)}.impressum__card-icon svg{width:20px;height:20px}.impressum__card h2{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-sm);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.impressum__card-content{display:flex;flex-direction:column;gap:var(--space-xs)}.impressum__card-content p{font-size:.9rem;line-height:1.65;color:var(--color-text-soft);margin:0}.impressum__card-content a{color:var(--color-primary);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;transition:all .2s ease}.impressum__card-content a:hover{color:var(--color-primary-dark);text-decoration-thickness:2px}.impressum__name{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--color-text)!important;margin-bottom:.2rem!important}.impressum__title{font-family:var(--font-serif);font-size:.95rem;font-style:italic;color:var(--color-text-soft);font-weight:400;letter-spacing:.01em}.impressum__address{font-style:normal;font-size:.9rem;line-height:1.65;color:var(--color-text-soft);padding:var(--space-xs)0;margin-bottom:var(--space-xs);border-bottom:1px dashed var(--color-border)}.impressum__contact-details{display:flex;flex-direction:column;gap:.4rem}.impressum__contact-details p{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem}.impressum__label{font-size:.8rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.impressum__photo-credit{padding-top:var(--space-xs);border-top:1px dashed var(--color-border);margin-top:var(--space-xs)!important}.impressum__photo-credit strong{color:var(--color-text)}@media(min-width:600px){.impressum__card{padding:var(--space-lg);border-radius:var(--radius-lg)}.impressum__card:hover{box-shadow:0 12px 40px rgba(74,85,104,8%);transform:translateY(-2px)}.impressum__card-icon{width:48px;height:48px;border-radius:12px;margin-bottom:var(--space-md)}.impressum__card-icon svg{width:24px;height:24px}.impressum__card h2{font-size:1.35rem;margin-bottom:var(--space-md);padding-bottom:var(--space-sm)}.impressum__card-content{gap:var(--space-sm)}.impressum__card-content p{font-size:.95rem;line-height:1.7}.impressum__name{font-size:1.2rem;margin-bottom:.25rem!important}.impressum__title{font-size:1rem}.impressum__address{font-size:.95rem;line-height:1.7;padding:var(--space-sm)0;margin-bottom:var(--space-sm)}.impressum__contact-details{gap:.5rem}.impressum__contact-details p{gap:.5rem}.impressum__label{font-size:.85rem}.impressum__photo-credit{padding-top:var(--space-sm);margin-top:var(--space-sm)!important}}.error-page{min-height:calc(100vh - 80px);min-height:calc(100dvh - 80px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)var(--space-sm);position:relative;overflow:hidden;background:var(--color-cream)}.error-page__blob{position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;pointer-events:none}.error-page__blob--1{width:280px;height:280px;background:linear-gradient(135deg,rgba(168,155,196,.3),rgba(142,127,176,.2));top:10%;right:-80px;animation:blob-float 8s ease-in-out infinite}.error-page__blob--2{width:200px;height:200px;background:linear-gradient(135deg,rgba(226,232,240,.5),rgba(203,213,224,.4));bottom:15%;left:-60px;animation:blob-float 10s ease-in-out infinite reverse}.error-page__content{text-align:center;position:relative;z-index:1;max-width:400px}.error-page__code{display:block;font-family:var(--font-serif);font-size:clamp(5rem,20vw,8rem);font-weight:600;line-height:1;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-primary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.25;margin-bottom:-.3em}.error-page__title{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:var(--space-sm);color:var(--color-text)}.error-page__text{font-size:1rem;line-height:1.6;color:var(--color-text-soft);margin-bottom:var(--space-md)}.error-page__btn{min-width:200px}.error-page__btn svg{flex-shrink:0}@media(min-width:768px){.error-page{min-height:calc(100vh - 100px)}.error-page__blob--1{width:400px;height:400px;right:5%;top:15%}.error-page__blob--2{width:300px;height:300px;left:5%}.error-page__content{max-width:480px}.error-page__text{font-size:1.1rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-on-scroll,.stagger-children{animation:none!important;opacity:1!important;transform:none!important}.blob{animation:none!important}}.einreichen-hero{position:relative;padding:var(--space-lg)0 var(--space-md);text-align:center;overflow:hidden}.einreichen-hero__content{max-width:640px;margin:0 auto}.einreichen-hero__eyebrow{display:block;font-family:var(--font-sans);font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.einreichen-hero__title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm);line-height:1.2}.einreichen-hero__subtitle{font-size:1.1rem;color:var(--color-text-soft);line-height:1.6}.einreichen-hero__decoration{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-border),transparent)}.einreichen-main{padding-top:var(--space-md);padding-bottom:var(--space-lg)}.einreichen-form-wrapper{max-width:560px;margin:0 auto;padding:var(--space-md);background:var(--color-white);border-radius:var(--radius);box-shadow:0 4px 24px rgba(0,0,0,6%)}.einreichen-form{display:flex;flex-direction:column;gap:var(--space-md)}.einreichen-form[hidden]{display:none}.einreichen-form .form__group{margin-bottom:0}.einreichen-form .form__label{font-size:.875rem;font-weight:500;color:var(--color-text);margin-bottom:.5rem;display:block}.einreichen-form .form__input{width:100%;padding:.875rem 1rem;font-family:var(--font-sans);font-size:1rem;color:var(--color-text);background:var(--color-cream);border:2px solid transparent;border-radius:var(--radius-sm);transition:all .2s ease}.einreichen-form .form__input:hover{background:var(--color-cream-warm)}.einreichen-form .form__input:focus{outline:none;background:var(--color-white);border-color:rgba(142,127,176,.5);box-shadow:0 0 0 4px rgba(142,127,176,.1)}.einreichen-form .form__textarea{min-height:140px;resize:vertical}.einreichen-form .form__input--error{border-color:#dc2626;background:#fef2f2}.einreichen-form .form__input--error:focus{border-color:#dc2626;box-shadow:0 0 0 4px rgba(220,38,38,.1)}.file-upload{position:relative}.file-upload__input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-upload__label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;min-height:44px}.file-upload__input:focus+.file-upload__label{outline:2px solid rgba(142,127,176,.5);outline-offset:2px}.file-list{list-style:none;padding:0;margin:var(--space-sm)0 0;display:flex;flex-direction:column;gap:.5rem}.file-list:empty{display:none}.file-list__item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:.5rem .75rem;background:var(--color-cream);border-radius:var(--radius-sm);font-size:.875rem;color:var(--color-text)}.file-list__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.file-list__remove{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-.5rem -.75rem -.5rem 0;padding:0;border:none;background:0 0;cursor:pointer;color:var(--color-text-muted);border-radius:var(--radius-sm);transition:color .2s ease,background .2s ease}.file-list__remove:hover{color:#dc2626;background:rgba(220,38,38,5%)}.file-list__remove:focus{outline:2px solid rgba(142,127,176,.5);outline-offset:-2px}.einreichen-form .btn--full{width:100%;margin-top:var(--space-sm)}.einreichen-form .btn svg{transition:transform .2s ease}.einreichen-form .btn:hover svg{transform:translateX(4px)}.einreichen-success{text-align:center;padding:var(--space-lg)var(--space-md)}.einreichen-success__icon{color:var(--color-primary-light);margin-bottom:var(--space-md)}.einreichen-success__title{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.einreichen-success__message{font-size:1rem;color:var(--color-text-soft);line-height:1.6}.einreichen-error{margin-top:var(--space-md);padding:.875rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);color:#dc2626;font-size:.9rem}@media(min-width:768px){.einreichen-hero{padding:var(--space-xl)0 var(--space-lg)}.einreichen-main{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.einreichen-form-wrapper{padding:var(--space-xl)var(--space-lg)}}.termine-hero{text-align:center;padding:var(--space-xl)var(--space-md)var(--space-lg);background:var(--color-white);position:relative;overflow:hidden}.termine-hero::before{content:'';position:absolute;top:-40%;right:-10%;width:400px;height:400px;background:var(--color-accent);border-radius:50%;filter:blur(80px);opacity:.6;pointer-events:none}.termine-eyebrow{font-family:var(--font-sans);font-size:.875rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-purple);margin-bottom:var(--space-xs)}.termine-title{font-family:var(--font-serif);font-size:clamp(2rem,5vw,3rem);font-weight:500;color:var(--color-text);margin-bottom:var(--space-sm)}.termine-subtitle{font-family:var(--font-sans);font-size:1.125rem;color:var(--color-text-soft);max-width:500px;margin:0 auto}.termine-booking{padding:var(--space-lg)var(--space-md)var(--space-xl)}.booking-widget{max-width:640px;margin:0 auto}.booking-step.hidden{display:none}.booking-step-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.booking-back-btn{background:0 0;border:none;font-family:var(--font-sans);font-size:1rem;color:var(--color-purple);cursor:pointer;padding:var(--space-xs);transition:opacity var(--transition)}.booking-back-btn:hover{opacity:.7}.booking-step-title{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2rem);font-weight:500;color:var(--color-text);margin:0 0 var(--space-md)}.booking-step-header .booking-step-title{margin:0}.booking-step-desc{font-family:var(--font-sans);font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--space-md)}.form-optional{font-weight:400;color:var(--color-text-muted);font-size:.85em}.calendar-container{background:var(--color-white);border-radius:var(--radius);padding:var(--space-md);border:1px solid var(--color-border)}.calendar-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.calendar-nav-btn{background:0 0;border:1px solid var(--color-border);border-radius:var(--radius-sm);width:40px;height:40px;font-size:1.25rem;cursor:pointer;color:var(--color-text);transition:border-color var(--transition),color var(--transition)}.calendar-nav-btn:hover:not(:disabled){border-color:var(--color-purple);color:var(--color-purple)}.calendar-nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar-month-label{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--color-text)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-bottom:var(--space-xs)}.calendar-weekdays span{font-family:var(--font-sans);font-size:.8rem;font-weight:500;color:var(--color-text-muted);padding:var(--space-xs)0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9rem;cursor:pointer;background:0 0;color:var(--color-text);transition:background var(--transition),color var(--transition)}.calendar-day.empty{cursor:default}.calendar-day.disabled{color:var(--color-text-muted);opacity:.4;cursor:not-allowed}.calendar-day.available{background:var(--color-lavender-soft);color:var(--color-purple-dark);font-weight:500}.calendar-day.available:hover{background:var(--color-purple);color:var(--color-white)}.calendar-day.selected{background:var(--color-purple);color:var(--color-white);box-shadow:0 2px 8px rgba(168,155,196,.4)}.calendar-day.full{color:var(--color-text-muted);opacity:.5;cursor:not-allowed}.calendar-legend{display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.legend-item{display:flex;align-items:center;gap:var(--space-xs);font-family:var(--font-sans);font-size:.8rem;color:var(--color-text-muted)}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.available{background:var(--color-lavender-soft)}.legend-dot.unavailable{background:var(--color-accent-light);opacity:.5}.inline-slots{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.inline-slots.hidden{display:none}.inline-slots-date{font-family:var(--font-serif);font-size:1.1rem;font-weight:500;color:var(--color-text);margin:0 0 var(--space-sm)}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs)}.slot-btn{padding:var(--space-sm)var(--space-xs);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-white);font-family:var(--font-sans);font-size:.9rem;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition);display:flex;flex-direction:column;align-items:center;gap:2px}.slot-btn.available:hover{border-color:var(--color-purple);background:var(--color-purple);color:var(--color-white)}.slot-btn.booked{opacity:.4;cursor:not-allowed;background:var(--color-accent-light)}.slot-booked-label{font-size:.7rem;color:var(--color-text-muted)}.booking-summary{background:var(--color-cream);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-lg)}.booking-step>.form-group{margin-bottom:var(--space-md)}.summary-item{font-family:var(--font-sans);font-size:.9rem;color:var(--color-text);padding:var(--space-xs)0}.summary-item+.summary-item{border-top:1px solid var(--color-border)}.summary-divider{height:2px;background:var(--color-purple-soft);opacity:.3;margin:var(--space-xs)0;border-radius:1px}.booking-form{display:flex;flex-direction:column;gap:var(--space-md)}.booking-form .form-group,.booking-step .form-group{display:flex;flex-direction:column;gap:var(--space-xs)}.booking-form label,.booking-step .form-group label{font-family:var(--font-sans);font-size:.875rem;font-weight:500;color:var(--color-text)}.booking-form input,.booking-form textarea,.booking-step .form-group input,.booking-step .form-group textarea{font-family:var(--font-sans);font-size:1rem;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition);background:var(--color-white)}.booking-form input:focus,.booking-form textarea:focus,.booking-step .form-group input:focus,.booking-step .form-group textarea:focus{outline:none;border-color:var(--color-purple)}.booking-submit-btn{font-family:var(--font-sans);font-size:1rem;font-weight:500;width:100%;padding:1.1rem 2rem;background:var(--color-purple);color:var(--color-white);border:none;border-radius:var(--radius);cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);letter-spacing:.02em}.booking-submit-btn:hover{background:var(--color-purple-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(107,91,149,.3)}.booking-success{text-align:center;padding:var(--space-lg)var(--space-md)}.booking-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--color-lavender-soft);color:var(--color-purple-dark);font-size:1.5rem;font-weight:700;margin-bottom:var(--space-md)}.booking-success h2{font-family:var(--font-serif);font-size:1.75rem;font-weight:500;color:var(--color-text);margin-bottom:var(--space-xs)}.booking-success p{font-family:var(--font-sans);color:var(--color-text-soft);margin-bottom:var(--space-md)}.booking-success-details{background:var(--color-cream);border-radius:var(--radius-sm);padding:var(--space-md);margin-bottom:var(--space-md)}.booking-new-btn{font-family:var(--font-sans);font-size:.9rem;padding:.75rem 1.5rem;background:0 0;color:var(--color-purple);border:1px solid var(--color-purple);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition),color var(--transition)}.booking-new-btn:hover{background:var(--color-purple);color:var(--color-white)}.calendar-loading{grid-column:1/-1;text-align:center;padding:var(--space-xl)var(--space-md);color:var(--color-text-muted);font-family:var(--font-sans);font-size:.95rem}.calendar-error{grid-column:1/-1;text-align:center;padding:var(--space-lg)var(--space-md);color:var(--color-text-muted);font-family:var(--font-sans);font-size:.95rem}.calendar-retry-btn{display:inline-block;margin-top:var(--space-sm);padding:var(--space-xs)var(--space-md);background:var(--color-lavender-soft);color:var(--color-purple);border:1px solid var(--color-purple);border-radius:var(--radius-sm);cursor:pointer;font-family:var(--font-sans);font-size:.85rem}.calendar-retry-btn:hover{background:var(--color-purple);color:var(--color-white)}.booking-submit-error{padding:var(--space-sm)var(--space-md);margin-bottom:var(--space-md);background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9rem;line-height:1.5}@media(min-width:769px){.slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.calendar-legend{flex-direction:row;gap:var(--space-md)}}