/* Homepage refinement: clear typography, cinematic product cards, controllable motion. */
.hs-trust { max-width:1280px; width:calc(100% - 64px); margin:24px auto 64px; padding:24px 0; display:flex; justify-content:space-between; align-items:center; gap:24px; border-block:1px solid #22222221; color:#252528; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
html[data-theme="dark"] .hs-trust { color:#f5f5f7; border-color:#ffffff21; }
.hs-trust-person { display:flex; align-items:center; gap:18px; }
.hs-trust-person img { width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:center 24%; background:#dddddf; }
.hs-trust-person strong { display:block; font-size:20px; letter-spacing:-.025em; }
.hs-trust-person span { display:block; font-size:14px; margin-top:5px; opacity:.75; }
.hs-trust nav { display:flex; flex-wrap:wrap; gap:12px 28px; }
.hs-trust a { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:inherit; text-decoration:none; font-size:14px; font-weight:600; text-underline-offset:5px; }
.hs-trust a:hover { text-decoration:underline; }
.hs-trust a:focus-visible { outline:3px solid #7396dc; outline-offset:5px; border-radius:4px; }
.hs-panel-stage { position:relative; }
.hs .hs-panel-stage .hs-panel-measuring { display:block!important; position:absolute!important; top:0; left:0; width:100%; visibility:hidden!important; pointer-events:none; }
@media(min-width:1100px) { .hs .hs-panel-stage .hs-panel-measuring { display:grid!important; } }
html body #fcContactFanToggle.fc-contact-fan-toggle--labelled { width:174px!important; left:calc(var(--fc-vw,100dvw) - 1.5rem - 174px)!important; gap:14px!important; padding:0 19px!important; background:#252527!important; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.fc-contact-fan-toggle__label { color:#fff; font-size:15px; font-weight:600; white-space:nowrap; }
html body #fcContactFanToggle.fc-contact-fan-toggle--labelled .fc-contact-fan-toggle__plus { flex-shrink:0; }
@media(max-width:700px) {
  .hs-trust { width:calc(100% - 32px); margin-bottom:36px; gap:16px; flex-direction:column; align-items:flex-start; }
  .hs-trust nav { gap:0 20px; }
  .hs-trust-person strong { font-size:18px; }
  .hs-trust-person span { font-size:13px; }
}
@media(max-width:639px) {
  html body #fcContactFanToggle.fc-contact-fan-toggle--labelled { width:150px!important; left:calc(var(--fc-vw,100dvw) - 14px - 150px)!important; gap:10px!important; padding:0 16px!important; }
  .fc-contact-fan-toggle__label { font-size:13px; }
}
#leistungen,.hs,.ha,.ha-dialog { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; font-optical-sizing:auto; }
html body #leistungen .fc-private-feature { --feature-bg:#eeeef0; --feature-ink:#202023; --feature-muted:#626266; }
html[data-theme="dark"] body #leistungen .fc-private-feature { --feature-bg:#1c1c1e; --feature-ink:#f5f5f7; --feature-muted:#bdbdc3; }
html body #leistungen .fc-private-feature h2 { hyphens:none; overflow-wrap:normal; font-size:clamp(27px,3.4vw,48px); line-height:1.1; }
html body #leistungen .fc-topic { --topic-bg:#eeeeF0; --topic-ink:#232326; --topic-muted:#616167; --topic-accent:#4061aa; }
html[data-theme="dark"] body #leistungen .fc-topic { --topic-bg:#1e1e20; --topic-ink:#f5f5f7; --topic-muted:#bcbcc2; --topic-accent:#b6c8ef; }
html body #leistungen .fc-topic--home { --topic-bg:#f5f5f7; --topic-ink:#232326; --topic-muted:#616167; --topic-accent:#4061aa; }
html body #leistungen .fc-topic--tooth { --topic-bg:#e7e8ec; --topic-ink:#232326; --topic-muted:#616167; --topic-accent:#4061aa; }
html[data-theme] body #leistungen .fc-topic--home { --topic-bg:#f5f5f7; --topic-ink:#232326; --topic-muted:#616167; --topic-accent:#4061aa; }
html[data-theme] body #leistungen .fc-topic--tooth { --topic-bg:#e7e8ec; --topic-ink:#232326; --topic-muted:#616167; --topic-accent:#4061aa; }
html body #leistungen .fc-topic h3 { font-size:clamp(21px,1.7vw,26px)!important; line-height:1.16!important; text-wrap:initial; hyphens:none; overflow-wrap:normal; letter-spacing:-.035em; }
html body #leistungen .fc-topic h3 > span { display:block; font-size:.72em; letter-spacing:.01em; line-height:1.7; }
html body #leistungen .fc-topic--business .fc-topic-body { padding-right:0; }
html body #leistungen .fc-topic--business .fc-topic-icon { top:45px; right:22px; width:55px; height:55px; opacity:.35; }
html body #leistungen .fc-topic--traffic .fc-topic-body { min-width:0; }
html body #leistungen .fc-topic--traffic { gap:18px; }
html body .hs h2 { font-size:clamp(34px,4.2vw,58px); letter-spacing:-.045em; font-weight:650; }
html body .hs h3 { font-weight:650; }
.hs-card { background:#1d1d1f; border-color:#ffffff0d; box-shadow:0 10px 28px #0000000a; border-radius:32px; }
.hs-paper { background:#f5f5f7; border-color:#ffffff66; }
.hs-heading { margin-bottom:44px; }
.hs-heading .hs-eyebrow { margin-bottom:20px; }
.hs-eyebrow { letter-spacing:.12em!important; }
.hs-knowledge { gap:24px; }
.hs-video .hs-pad { padding:40px; }
.hs-orientation .hs-pad,.hs-cost .hs-pad { padding:36px; }
.hs-card:not(.hs-paper) .hs-eyebrow { color:#b8c6e1; }
.hs .hs-link { min-height:32px; }
.hs .hs-tabs { position:relative; isolation:isolate; padding:6px; border:0; border-radius:16px; background:#303033; }
.hs-tabs[role="tablist"]::before { content:""; position:absolute; z-index:-1; left:6px; top:6px; bottom:6px; width:calc((100% - 22px)/3); background:#f5f5f7; border-radius:11px; transform:translateX(calc(var(--hs-tab-index,0) * (100% + 5px))); transition:transform .38s cubic-bezier(.22,1,.36,1); box-shadow:0 3px 10px #0002; }
.hs .hs-tabs button[aria-selected="true"] { background:transparent; box-shadow:none; }
.hs .hs-tabs button { transition:color .2s; }
.hs .hs-tabs button:hover { background:#ffffff08; }
.hs .hs-tabs button[aria-selected="true"]:hover { background:transparent; }
.hs-products { gap:24px; }
.hs-product-photo { position:absolute; inset:0; }
.hs-product-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#00000008 0%,#00000019 26%,#111113cc 64%,#111113 100%); }
.hs-product .hs-product-photo img,.hs-product-private .hs-product-photo img,.hs-product-business .hs-product-photo img { height:100%; min-height:0; object-fit:cover; }
.hs-product .hs-product-photo ~ .hs-product-body { position:relative; z-index:1; padding-top:240px; min-height:520px; justify-content:flex-end; }
.hs-product-private .hs-product-photo ~ .hs-product-body { padding-top:300px; min-height:600px; }
.hs-product .hs-product-photo ~ .hs-product-body .hs-link { margin-top:22px; padding-top:0; }
.hs-product .hs-product-photo ~ .hs-product-body p { color:#d0d0d5; }
.hs-product .hs-product-photo ~ .hs-product-body .hs-eyebrow { color:#d2ddf4; }
.hs-product-home .hs-product-body { padding:36px; }
.hs-product-home .hs-home-art { margin:auto; }
.hs-product-home .hs-home-tag { transition:transform .45s cubic-bezier(.22,1,.36,1); }
.hs-product-rent { background:#e7e7eb; --hs-ink:#232326; --hs-muted:#5d5d63; --hs-link:#365aa7; }
.hs-product-rent .hs-eyebrow { color:#42609b!important; }
.hs-product-rent .hs-product-body { padding:34px; }
.hs-product-rent .hs-key-art { margin:24px auto 50px; transform:scale(1.25); }
.hs-product-rent .hs-key-art i { border-color:#697894; }
.hs-product-rent .hs-key-art b,.hs-product-rent .hs-key-art b::after { background:#697894; }
.hs-product-rent .hs-key-art > span { color:#23232633; }
.hs-product-now { background:#161618; }
.hs-more nav a { border:0; border-radius:23px; }
.hs button:active,.hs a:active,.ha button:active { scale:.98; transition:scale .1s; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .hs-product:hover { transform:translateY(-4px); box-shadow:0 20px 40px #0002; }
 .hs-product-home:hover .hs-home-tag:nth-of-type(1) { transform:translate(3px,-5px) rotate(2deg); }
 .hs-product-home:hover .hs-home-tag:nth-of-type(2) { transform:translate(-4px,0) rotate(-2deg); }
 .hs-product-home:hover .hs-home-tag:nth-of-type(3) { transform:translate(3px,4px) rotate(0); }
}
/* Awards are intentionally independent from the older shared slider. */
.ha { --ha-ink:#222225; --ha-muted:#67676d; --ha-surface:#fff; --ha-line:#20202415; width:calc(100% - 64px); max-width:1440px; margin:120px auto; color:var(--ha-ink); scroll-margin-top:110px; }
html[data-theme="dark"] .ha { --ha-ink:#f5f5f7; --ha-muted:#babac1; --ha-surface:#1c1c1e; --ha-line:#ffffff12; }
.ha * { box-sizing:border-box; }
.ha-heading { display:grid; grid-template-columns:1.1fr 1fr; gap:70px; align-items:end; padding:0 24px; margin-bottom:44px; }
.ha .ha-eyebrow,.ha-dialog .ha-eyebrow { margin:0 0 20px; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#5470ac; }
html[data-theme="dark"] .ha .ha-eyebrow { color:#b2c4ee; }
html body .ha h2 { font-size:clamp(36px,4.6vw,64px); line-height:1.08; font-weight:650; letter-spacing:-.05em; hyphens:none; overflow-wrap:normal; text-wrap:initial; margin:0; color:var(--ha-ink); }
.ha h2 > span { color:var(--ha-muted); }
.ha-intro p { color:var(--ha-muted); margin:0; font-size:16px; line-height:1.65; max-width:52ch; }
.ha .ha-note { font-size:12px; line-height:1.6; margin-top:16px; }
.ha-stage { position:relative; }
.ha-track { display:flex; gap:22px; overflow-x:auto; overscroll-behavior-x:contain; padding:12px 24px 28px; scrollbar-width:none; scroll-behavior:auto; border-radius:30px; }
.ha-track::-webkit-scrollbar { display:none; }
.ha-track:focus-visible { outline:2px solid #6c8cd4; outline-offset:5px; }
.ha-card { flex:0 0 338px; min-width:0; display:flex; flex-direction:column; align-items:stretch; text-align:left; color:var(--ha-ink); background:var(--ha-surface); border:1px solid var(--ha-line); border-radius:28px; padding:0; overflow:hidden; cursor:pointer; font:inherit; transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s; }
.ha-image { display:grid; place-items:center; height:224px; background:#f5f5f7; padding:18px; }
.ha-image img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; transition:transform .5s cubic-bezier(.22,1,.36,1); }
.ha-card-copy { display:flex; flex:1; flex-direction:column; padding:27px; }
.ha-meta { display:flex; justify-content:space-between; gap:12px; font-size:10px; line-height:1.5; font-weight:650; letter-spacing:.06em; text-transform:uppercase; color:var(--ha-muted); }
.ha-card strong { display:block; font-size:24px; line-height:1.18; font-weight:650; letter-spacing:-.025em; margin:20px 0 26px; hyphens:none; overflow-wrap:normal; }
.ha-card-bottom { display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:8px; font-size:13px; color:var(--ha-muted); }
.ha-plus { width:33px; height:33px; display:grid; place-items:center; font-size:24px; line-height:1; border-radius:50%; background:#86868b24; color:var(--ha-ink); transition:transform .35s,background .35s; }
.ha-toolbar { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:0 24px; }
.ha-hint { font-size:12px; color:var(--ha-muted); margin:0; }
.ha-controls { display:flex; gap:9px; align-items:center; }
.ha-count { font-variant-numeric:tabular-nums; font-size:12px; letter-spacing:.06em; color:var(--ha-muted); margin-right:14px; white-space:nowrap; }
.ha-control { width:43px; height:43px; display:grid; place-items:center; background:#86868b22; border:0; color:var(--ha-ink); border-radius:50%; font-size:19px; cursor:pointer; transition:background .2s,scale .2s; }
.ha-control:disabled { opacity:.35; cursor:default; }
.ha-toggle { font-size:13px; }
.ha-control:hover:not(:disabled) { background:#86868b3b; }
.ha-progress { height:2px; margin:25px 24px 0; background:var(--ha-line); overflow:hidden; }
.ha-progress > span { display:block; width:100%; height:100%; background:#8c9cbf; transform:scaleX(.0833); transform-origin:left; }
.ha button:focus-visible { outline:3px solid #789ce4; outline-offset:4px; }
.ha-dialog { border:1px solid #ffffff24; border-radius:32px; padding:0; color:#252528; background:#f5f5f7; width:min(820px,calc(100% - 32px)); max-height:88dvh; margin:auto; overflow:auto; box-shadow:0 40px 100px #0005; }
.ha-dialog::backdrop { background:#11111699; backdrop-filter:blur(12px); }
.ha-dialog[open] { display:grid; grid-template-columns:1fr 1fr; }
.ha-dialog-media { background:white; display:grid; place-items:center; padding:40px 20px; }
.ha-dialog-media img { width:100%; height:100%; max-height:440px; object-fit:contain; }
.ha-dialog-copy { padding:65px 35px 40px; }
.ha-dialog h2 { font-size:28px; line-height:1.16; letter-spacing:-.03em; font-weight:650; margin:0 0 20px; }
.ha-dialog p { font-size:15px; line-height:1.65; }
.ha-dialog .ha-note { font-size:12px; color:#68686e; margin-top:25px; }
.ha-dialog-close { position:absolute; top:15px; right:15px; width:36px; height:36px; border:0; border-radius:50%; background:#dedee3; color:#252528; font-size:26px; cursor:pointer; }
html.ha-modal-open { overflow:hidden; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .ha-card:hover { transform:translateY(-6px); box-shadow:0 16px 35px #0002; }
 .ha-card:hover .ha-image img { transform:scale(1.045); }
 .ha-card:hover .ha-plus { transform:rotate(90deg); background:#86868b44; }
}
@media(max-width:1099px) {
 .ha-heading { grid-template-columns:1fr 1fr; gap:30px; }
 .ha-card { flex-basis:310px; }
 html body #leistungen .fc-topic h3 { font-size:23px!important; }
 .hs-product-private .hs-product-photo ~ .hs-product-body { min-height:570px; }
}
@media(max-width:700px) {
 .ha { width:100%; margin:80px auto; }
 .ha-heading { grid-template-columns:1fr; gap:24px; padding:0 24px; margin-bottom:24px; }
 .ha-track { gap:16px; padding:10px 24px 24px; border-radius:0; }
 .ha-card { flex-basis:min(310px,82vw); border-radius:25px; }
 .ha-image { height:195px; }
 .ha-card-copy { padding:24px; }
 .ha-card strong { font-size:22px; }
 .ha-toolbar { flex-wrap:wrap; }
 .ha-hint { flex-basis:100%; }
 .ha-controls { margin-left:auto; }
 .ha-dialog[open] { grid-template-columns:1fr; }
 .ha-dialog-media { padding:35px 25px 15px; }
 .ha-dialog-media img { max-height:220px; }
 .ha-dialog-copy { padding:25px; }
 .hs-video .hs-pad,.hs-orientation .hs-pad,.hs-cost .hs-pad { padding:28px; }
 .hs-product .hs-product-photo ~ .hs-product-body { padding-top:240px; min-height:480px; }
 .hs-product-private .hs-product-photo ~ .hs-product-body { min-height:520px; }
 .hs-product-home .hs-product-body { padding:28px; }
 .hs-product-home .hs-home-art { margin:28px auto; }
 html body #leistungen .fc-topic--traffic { flex-direction:column; align-items:flex-start; border-radius:26px; }
 html body #leistungen .fc-topic h3 { font-size:24px!important; }
 .hs-product-rent .hs-key-art { margin-bottom:36px; }
}
@media(prefers-reduced-motion:reduce) {
 .ha *, .hs-tabs::before { animation:none!important; transition:none!important; }
 .ha-card:hover,.ha-card:hover img,.ha-card:hover .ha-plus { transform:none; }
}
@media(prefers-reduced-transparency:reduce) { .ha-dialog::backdrop { background:#111116ed; backdrop-filter:none; } }
