.demoPage{--ink:#101e39;--muted:#627086;--gold:#b58c43;--line:#dde2e9;min-height:100dvh;background:#f7f6f2;color:var(--ink);padding:0 32px 36px;font:16px/1.6 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.demoPage *{box-sizing:border-box}.demoFooter,.demoHero,.demoTopbar{width:min(1180px,100%);margin-inline:auto}.demoTopbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.demoBrand,.demoFooter a,.demoLogin{color:var(--ink);text-decoration:none}.demoBrand{font-size:20px;font-weight:850;letter-spacing:-.6px}.demoLogin{font-size:13px;font-weight:650;border:1px solid #cbd3df;border-radius:8px;padding:9px 15px;background:#fff}.demoLogin:hover{border-color:var(--gold)}.demoHero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-gap:64px;gap:64px;align-items:start;padding:64px 0 60px}.demoCopy{padding-top:18px}.demoBadge{display:block;color:#96702e;font-size:11px;font-weight:750;letter-spacing:.17em;text-transform:uppercase}.demoCopy h1{font-size:clamp(36px,3.7vw,54px);line-height:1.08;letter-spacing:-.045em;font-weight:800;margin:22px 0;max-width:560px}.demoLead{color:var(--muted);font-size:17px;line-height:1.8;margin:0;max-width:530px;font-weight:400}.demoBenefits{display:grid;grid-template-columns:1fr;grid-gap:0;gap:0;margin-top:30px;border-top:1px solid var(--line)}.demoBenefits div{display:grid;grid-template-columns:145px 1fr;grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.demoBenefits strong{font-weight:700}.demoBenefits span{color:var(--muted)}.demoSequence{display:grid;grid-template-columns:32px 1fr;grid-gap:16px 14px;gap:16px 14px;margin-top:34px}.demoSequence>span{width:30px;height:30px;display:grid;place-items:center;background:#eee6d6;border:1px solid #dfd1b4;border-radius:50%;color:#846021;font-size:12px;font-weight:750}.demoSequence p{margin:0;font-size:14px;color:var(--muted);line-height:1.65}.demoSequence strong{color:var(--ink);font-weight:700}.bookingCard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:0 14px 45px #101e3908;min-width:0}.bookingHeader>span{color:#96702e;font-size:10px;font-weight:750;letter-spacing:.16em;text-transform:uppercase}.bookingHeader h2{font-size:28px;font-weight:750;line-height:1.18;letter-spacing:-.035em;margin:12px 0}.bookingFineprint,.bookingHeader p{font-size:13px;line-height:1.65;color:var(--muted);font-weight:400}.bookingFieldset{border:0;padding:0;margin:25px 0 0;min-width:0}.bookingFieldset legend{font-size:12px;font-weight:700;margin:0 0 10px;padding:0}.dayPicker,.timePicker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;max-height:174px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:2px 5px 3px 2px}.dayOption,.timeOption{padding:11px 6px;min-height:44px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;color:#32435b;font:600 12px/1.3 system-ui;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s}.dayOption:hover,.timeOption:hover{border-color:#b58c43;background:#faf6ee}.dayOption.active,.timeOption.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 3px 10px #101e3912}.bookingDivider{height:1px;background:var(--line);margin:27px 0}.bookingFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:18px 16px;gap:18px 16px}.bookingFields label{display:grid;grid-gap:7px;gap:7px;align-content:start;font-size:12px;font-weight:650;min-width:0;line-height:1.5}.bookingFull{grid-column:1/-1}.bookingFields input,.bookingFields select,.bookingFields textarea{width:100%;min-width:0;min-height:47px;border:1px solid #d5dce5;background:#fff;border-radius:8px;color:var(--ink);padding:11px 12px;font:400 14px/1.5 system-ui;transition:border-color .15s,box-shadow .15s}.bookingFields input::placeholder,.bookingFields textarea::placeholder{color:#8a94a3;font-weight:400}.bookingFields input:focus,.bookingFields select:focus,.bookingFields textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #b58c431c}.bookingFields textarea{resize:vertical;min-height:120px}.bookingCheck{display:flex;align-items:flex-start;gap:11px;color:#5a687d;font-size:11px;line-height:1.65;font-weight:400;margin:22px 0 0}.bookingCheck input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--ink);margin:2px 0 0}.bookingCheck a{color:#234ee8;text-decoration:underline}.bookingSubmit{display:block;width:100%;margin-top:25px;padding:15px 18px;border:1px solid var(--ink);border-radius:9px;background:var(--ink);color:#fff;font:650 14px/1.4 system-ui;cursor:pointer;box-shadow:0 6px 16px #101e3912}.bookingSubmit:hover{background:#203555}.bookingSubmit:disabled{opacity:.5;cursor:not-allowed}.bookingFineprint{text-align:center;font-size:11px;margin:13px 0 0}.bookingError{padding:14px;border:1px solid #e9c1b8;border-radius:8px;background:#fff5f2;color:#963e2b;font-size:13px;margin:18px 0}.goalFieldHeader{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.micButton{padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:#f7f8fa;color:var(--ink);font:600 11px system-ui;cursor:pointer}.micButton.active{background:#fff0f0;color:#a52c2c;border-color:#edc2c2}.demoFooter{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;border-top:1px solid var(--line);padding:24px 0 16px;font-size:11px}.demoFooter,.demoFooter a{color:var(--muted)}.bookingTransition{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#101e3966;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:20px}.bookingTransitionCard{width:min(450px,100%);padding:36px;border-radius:20px;background:#fff;color:#101e39;text-align:center;box-shadow:0 30px 80px #101e3926}.bookingTransitionMark{width:54px;height:54px;margin:0 auto 22px;border-radius:50%;background:#f1e9d9;color:#846021;display:grid;place-items:center;font-size:24px}.bookingTransitionSpinner{width:24px;height:24px;border:2px solid #dfd1b4;border-top-color:#101e39;border-radius:50%;animation:tbBookingSpin .8s linear infinite}.bookingTransitionEyebrow{color:#96702e;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.bookingTransitionCard h2{font-size:25px;line-height:1.2;margin:15px 0}.bookingTransitionCard p{font-size:14px;color:#627086}.bookingTransitionTrack{height:4px;background:#e9edf2;border-radius:8px;overflow:hidden;margin:25px 0 12px}.bookingTransitionTrack span{display:block;height:100%;background:#b58c43;transition:width .3s}.bookingTransitionSteps{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#8793a4}.bookingTransitionSteps .active{color:#101e39}@keyframes tbBookingSpin{to{transform:rotate(1turn)}}@media(max-width:1000px){.demoHero{gap:32px;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.bookingCard{padding:25px}.demoCopy h1{font-size:40px}.demoBenefits div{grid-template-columns:1fr;gap:3px}}@media(max-width:760px){.demoPage{padding:0 20px 60px}.demoTopbar{min-height:76px}.demoHero{grid-template-columns:1fr;gap:32px;padding:34px 0}.demoCopy{padding:0}.demoCopy h1{font-size:38px;max-width:520px}.demoLead{font-size:15px}.demoBenefits{grid-template-columns:repeat(3,1fr);gap:12px;border:0;margin-top:23px}.demoBenefits div{font-size:11px;border:0;padding:0}.demoSequence{margin-top:25px;gap:12px}.bookingCard{padding:26px;border-radius:16px}.bookingHeader h2{font-size:26px}.demoFooter{justify-content:flex-start;gap:15px}}@media(max-width:420px){.bookingCard{padding:21px}.bookingFields{grid-template-columns:1fr}.bookingFull{grid-column:auto}.demoCopy h1{font-size:34px}.dayPicker,.timePicker{grid-template-columns:repeat(3,minmax(0,1fr))}.dayOption,.timeOption{font-size:11px}.demoBrand{font-size:18px}.demoLogin{font-size:12px;padding:8px 11px}}@media(prefers-reduced-motion:reduce){.bookingTransitionSpinner{animation:none}.bookingTransitionTrack span,.dayOption,.timeOption{transition:none}}
/* Thomas Liquid v1 */
:root{--tl-blue:#294bf2;--tl-ink:#13213c;--tl-glass:rgba(255,255,255,.88);--tl-border:rgba(165,180,205,.35);--tl-shadow:0 12px 38px rgba(25,45,85,.07),inset 0 1px 0 rgba(255,255,255,.95)}
body{background-color:#f7f8fc!important;-webkit-font-smoothing:antialiased}
:is(header,[class*="_header__"],[class*="FactoryShell_sidebar__"],[class*="_mobileBar__"]){background:var(--tl-glass)!important;border-color:var(--tl-border)!important;box-shadow:var(--tl-shadow)!important}
:is(.card,.panel,.metrics article,[class*="_card__"],[class*="_panel__"],[class*="_metric__"],[class*="_chatPanel__"],[class*="_loginCard__"]){background:rgba(255,255,255,.94)!important;border:1px solid var(--tl-border)!important;border-radius:22px!important;box-shadow:var(--tl-shadow)!important;min-width:0}
[class*="FactoryShell_shell__"]{background:#f7f8fc!important}
[class*="FactoryShell_sidebar__"]{border-radius:26px!important}
[class*="FactoryShell_navItemActive__"]{background:rgba(41,75,242,.08)!important;color:var(--tl-blue)!important;border-color:rgba(41,75,242,.14)!important;box-shadow:inset 0 1px 0 white!important}
:is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"],[class*="_button__"]){border-radius:14px!important;transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease!important}
:is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"]){background:var(--tl-blue)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;box-shadow:0 5px 16px rgba(41,75,242,.16)!important}
:is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-radius:12px!important;border-color:#ccd6e6!important;background:#fff!important;color:var(--tl-ink)!important;transition:border-color .2s,box-shadow .2s}
:is(input,select,textarea,button,a):focus-visible{outline:3px solid #5579ee!important;outline-offset:3px!important}
h1,h2,h3{text-wrap:balance}p{line-height:1.7}nav a{text-underline-offset:5px}
@supports ((backdrop-filter:blur(20px)) or (-webkit-backdrop-filter:blur(20px))){:is(header,[class*="_header__"],[class*="FactoryShell_sidebar__"],[class*="_mobileBar__"]){background:rgba(255,255,255,.8)!important;-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){:is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"],[class*="_button__"]):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(41,75,242,.18)!important}nav a:hover{color:var(--tl-blue)!important}}
@keyframes tlBreathe{0%,100%{opacity:.55;scale:.86}50%{opacity:1;scale:1}}
:is(.dot,[class*="_statusDot__"],[class*="_onlineDot__"]){box-shadow:none!important;animation:tlBreathe 4.8s ease-in-out infinite!important}
:is(.dot,[class*="_statusDot__"],[class*="_onlineDot__"])::before,:is(.dot,[class*="_statusDot__"],[class*="_onlineDot__"])::after{display:none!important}
@media(max-width:600px){:is(.card,.panel,[class*="_card__"],[class*="_panel__"],[class*="_loginCard__"]){border-radius:18px!important}:is(input,select,textarea){font-size:16px!important}:is(header,[class*="_header__"],[class*="FactoryShell_sidebar__"]){-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}}
@media(prefers-reduced-motion:reduce){:is(.dot,[class*="_statusDot__"],[class*="_onlineDot__"]){animation:none!important;opacity:1!important;scale:1!important}:is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"],[class*="_button__"]){transition:none!important;transform:none!important}}
@media(prefers-reduced-transparency:reduce){:is(header,[class*="_header__"],[class*="FactoryShell_sidebar__"],[class*="_mobileBar__"]){background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}

/* Thomas Liquid Contrast v1 */
html body :is(a,button).button,html body :is(a,button).btn,html body :is(a,button)[class*="_primary__"],html body :is(a,button)[class*="_primaryButton__"]{background:#294bf2!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#294bf2!important}
html body :is(a,button):is(.button.secondary,.button-secondary,.btn.secondary,.btn-secondary,.tc-secondary,[class*="_secondary__"],[class*="_secondaryButton__"]){background:#f2f5fa!important;background-image:none!important;color:#13213c!important;-webkit-text-fill-color:#13213c!important;border:1px solid #9aa9bf!important}
html body :is(a,button):is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"],[class*="_secondary__"],[class*="_secondaryButton__"]) :is(span,strong,em){color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Thomas Motion v1 */
html body :is(a,button).button,html body :is(a,button).btn,html body :is(a,button)[class*="_primary__"],html body :is(a,button)[class*="_primaryButton__"]{background:#294bf2!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#294bf2!important}
html body :is(a,button):is(.button.secondary,.button-secondary,.btn.secondary,.btn-secondary,.tc-secondary,[class*="_secondary__"],[class*="_secondaryButton__"]){background:#f2f5fa!important;background-image:none!important;color:#13213c!important;-webkit-text-fill-color:#13213c!important;border:1px solid #9aa9bf!important}
html body :is(a,button):is(.button,.btn,[class*="_primary__"],[class*="_primaryButton__"],[class*="_secondary__"],[class*="_secondaryButton__"]) :is(span,strong,em){color:inherit!important;-webkit-text-fill-color:inherit!important}

/* Explicit inverse-card variant: keep foreground and WebKit fill paired. */
html[data-tb-premium-area] body .path.featured a.button,
html body .path.featured a.button,
html[data-tb-premium-area] body .path.featured a.button:hover,
html body .path.featured a.button:hover,
html[data-tb-premium-area] body .path.featured a.button:focus,
html body .path.featured a.button:focus{
 background:#ffffff!important;background-image:none!important;
 color:#13213c!important;-webkit-text-fill-color:#13213c!important;
 border:1px solid #cbd4df!important;opacity:1!important;
}
html body .path.featured a.button :is(span,strong,em){color:#13213c!important;-webkit-text-fill-color:#13213c!important}

/* Calm movement; content stays visible when scroll timelines are unsupported. */
html body :is(a,button){font-variant-emoji:text}
html body :is(a.button,a.btn,button.button,button.btn){transition:transform .25s ease,box-shadow .25s ease!important}
@media(prefers-reduced-motion:no-preference){
 @media(hover:hover){html body :is(a.button,a.btn,button.button,button.btn):hover{transform:translateY(-2px)!important}}
 html body :is(a.button,a.btn,button.button,button.btn):active{transform:scale(.975)!important}
 @keyframes tbMotionEntry{from{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
 main h1{animation:tbMotionEntry .8s cubic-bezier(.22,1,.36,1) both}
 @supports(animation-timeline:view()){
  @keyframes tbMotionScroll{from{opacity:.65;translate:0 20px}to{opacity:1;translate:0 0}}
  main :is(.path,.card,.panel,section>h2,section>.container>h2){animation:tbMotionScroll linear both;animation-timeline:view();animation-range:entry 0% entry 85%}
 }
}
@media(prefers-reduced-motion:reduce){main h1,main :is(.path,.card,.panel,section>h2,section>.container>h2){animation:none!important;translate:none!important}html body :is(a.button,a.btn,button.button,button.btn):active{transform:none!important}}

/* Thomas Languages v1 */
html body #tb-language-control{display:flex;flex:0 0 100%;width:100%;box-sizing:border-box;justify-content:flex-end;align-items:center;padding:0 clamp(16px,4vw,48px) 6px;gap:10px;color:#33415c;font:500 12px/1.4 system-ui,sans-serif;position:relative;z-index:10}
html body #tb-language-control[hidden]{display:none!important}
html body #tb-language-control label{display:flex;align-items:center;gap:4px;border:1px solid rgba(85,105,139,.22);border-radius:20px;background:rgba(255,255,255,.8);padding:0 8px;min-height:32px;color:#24324b}
html body #tb-language-control svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.4;flex-shrink:0}
html body #tb-language-control select{font:inherit!important;color:#24324b!important;-webkit-text-fill-color:#24324b!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:32px!important;height:32px!important;width:62px!important;padding:0 2px!important;cursor:pointer;opacity:1!important}
html body #tb-language-control select:focus-visible{outline:2px solid #294bf2;outline-offset:3px}
html body #tb-language-note{display:none;position:absolute;right:16px;top:100%;max-width:260px;padding:10px 14px;margin:4px 0;background:#fff;color:#33415c;border:1px solid #d9dfeb;border-radius:12px;font:400 12px/1.5 system-ui;box-shadow:0 8px 24px #15223b12}
html body #tb-language-control:focus-within #tb-language-note{display:block}
@media(max-width:640px){html body #tb-language-control{padding:0 16px 5px}html body #tb-language-control label,html body #tb-language-control select{min-height:36px!important;height:36px!important}}

html body header:has(> #tb-language-control){flex-wrap:wrap}

/* Thomas Languages Premium v1 */
html body #tb-language-control{display:flex;flex:0 0 100%;width:100%;box-sizing:border-box;justify-content:flex-end;align-items:center;padding:0 clamp(16px,4vw,48px) 2px!important;margin-top:-5px;gap:0;color:#45516a;font:500 11px/1 system-ui,sans-serif;position:relative;z-index:10}
html body #tb-language-control[hidden]{display:none!important}
html body #tb-language-control label{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:0!important;border-radius:5px!important;background:transparent!important;box-shadow:none!important;padding:0!important;min-height:28px!important;height:28px!important;width:44px;color:#45516a;cursor:pointer}
html body #tb-language-control label span{font:500 11px/1 system-ui,sans-serif;letter-spacing:.04em;color:inherit;-webkit-text-fill-color:currentColor}
html body #tb-language-control svg{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
html body #tb-language-control select{position:absolute!important;inset:0!important;opacity:0!important;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;cursor:pointer;font-size:16px!important}
html body #tb-language-control label:focus-within{outline:2px solid #294bf2;outline-offset:1px}
html body #tb-language-note{display:none!important}
@media(max-width:640px){html body #tb-language-control{padding:0 16px 2px!important}html body #tb-language-control label{height:28px!important;min-height:28px!important}html body #tb-language-control select{height:100%!important;min-height:0!important}}


/* Thomas: responsive Textgrenzen v1 */
main h1, main h2, main h3,
main p, main li, main a,
.legal-card, .legal-block {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
main h1, main h2, main h3 {
  max-width: 100%;
  white-space: normal !important;
  hyphens: auto;
  -webkit-hyphens: auto;
}
.legal-wrap, .legal-card, main > article {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 600px) {
  .legal-card, main > article {
    padding: 24px 20px !important;
  }
  .legal-card h1, main > article > h1 {
    font-size: clamp(1.75rem, 7vw, 2.25rem) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
  }
  .legal-card h2, main > article > h2 {
    font-size: clamp(1.25rem, 5.3vw, 1.6rem) !important;
    line-height: 1.3 !important;
  }
  .legal-card p, .legal-card li,
  main > article > p, main > article li {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
}
