:root{color-scheme:dark;--bg:#08090b;--surface:#101216;--text:#f2f2f4;--muted:#b0b3bd;--line:#30333a;--silver:#d3d6de}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:Calibri,'Segoe UI',Arial,sans-serif;font-size:18px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:2px solid white;outline-offset:6px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;z-index:10;background:#fff;color:#000;padding:12px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:30px;font-weight:600;letter-spacing:-1.5px}.wordmark span{color:#8c929f}nav{display:flex;gap:32px;font-size:16px;color:var(--muted)}nav a:hover,.textlink:hover{color:white}.navcta{font-size:16px;border:1px solid #555963;padding:9px 20px;border-radius:3px}.hero{max-width:1440px;margin:auto;min-height:680px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:58px 5% 70px;gap:2%}.eyebrow{font-size:14px;letter-spacing:2.5px;color:var(--muted);font-weight:600;margin:0 0 24px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(48px,5.5vw,80px);line-height:1.06;letter-spacing:-3px;font-weight:500;margin-bottom:30px}em{font-family:Georgia,serif;font-weight:400;color:var(--silver)}.lead{max-width:510px;color:var(--muted);font-size:20px;line-height:1.7}.actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:35px}.button{display:inline-block;background:linear-gradient(130deg,#f3f4f7,#b5bac5);color:#11141a;padding:14px 24px;font-weight:600;border-radius:3px;font-size:17px}.button:hover{background:white}.textlink{font-size:16px;border-bottom:1px solid #666c78;padding-bottom:4px}.signature{font-size:16px;margin:48px 0 0}.signature span{display:block;color:var(--muted);font-size:14px}.brand{margin:0;background:#000}.brand img{width:100%;height:auto;display:block}.intro-line{border-block:1px solid var(--line);display:flex;gap:24px;justify-content:space-around;padding:22px 5%;color:var(--muted);font-size:16px;letter-spacing:.5px}.section{max-width:1440px;margin:auto;padding:100px 5%;border-bottom:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-head>p{max-width:360px;color:var(--muted);margin-bottom:4px}h2{font-size:clamp(36px,4vw,56px);line-height:1.12;letter-spacing:-1.7px;font-weight:500;margin-bottom:0}.offer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.offer-grid button{text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:24px 20px;cursor:pointer;border-radius:4px;transition:background .18s,border-color .18s}.offer-grid button:hover{border-color:#9298a5}.offer-grid button[aria-expanded=true]{background:linear-gradient(135deg,#d8dbe2,#adb4c1);color:#15181e;border-color:#d8dbe2}.number{display:block;font-size:14px;opacity:.7;margin-bottom:36px}.offer-title{display:block;font-size:22px;font-weight:500;line-height:1.2;min-height:54px}.offer-sub{display:block;font-size:14px;margin-top:18px;opacity:.8}.offer-detail{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:30px;background:#0d0f13;border-left:2px solid #b6bcc9;padding:35px}.offer-detail .eyebrow{margin-bottom:12px}.offer-detail h3{font-size:28px;line-height:1.2;font-weight:500}.offer-detail p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}.steps article{padding-top:22px;border-top:1px solid #656b77}.steps span{color:var(--muted);font-size:14px;letter-spacing:1px}.steps h3{font-weight:500;font-size:24px;margin-top:26px}.steps p{color:var(--muted);font-size:17px}.about{display:grid;grid-template-columns:1fr 1fr;gap:70px}.about-role{margin-top:32px;color:var(--muted);font-size:17px}.about-copy>p{color:var(--muted)}.about-copy .large{color:var(--text);font-size:28px;line-height:1.4}.video-reserve{margin-top:36px;padding:30px;border:1px solid #414651;background:linear-gradient(130deg,#1b1f27,#0c0e12)}.video-reserve .eyebrow{font-size:12px;display:block;letter-spacing:2px}.video-reserve h3{font-size:29px;font-weight:500;margin:12px 0}.video-reserve p{font-size:17px;color:var(--muted)}.status{display:inline-block;border:1px solid #555c69;padding:5px 12px;font-size:14px;color:#c8cdd8;border-radius:3px}.video-note{padding:32px;display:grid;grid-template-columns:1fr 2fr;gap:40px;border:1px solid var(--line);background:var(--surface)}.video-label{font-size:14px;letter-spacing:2px;color:var(--muted)}.video-note h3{font-size:26px;font-weight:500}.video-note p{margin:0;color:var(--muted)}.start{text-align:center;background:radial-gradient(ellipse at 50% 90%,#1b202b 0%,#08090b 70%)}.start>p:not(.eyebrow){max-width:640px;margin:26px auto;color:var(--muted)}.start-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:left;margin-top:50px}.start-grid>div{border-top:1px solid #535a68;padding-top:20px}.start-grid span{color:var(--muted);font-size:14px}.start-grid h3{margin-top:18px;font-size:24px;font-weight:500}.start-grid p{color:var(--muted);font-size:17px}.start .contact-note{font-size:16px;margin-top:45px}footer{max-width:1440px;margin:auto;padding:40px 5%;display:flex;align-items:center;gap:28px;flex-wrap:wrap}footer p{font-size:14px;color:var(--muted);margin:0}footer .draft{flex-basis:100%;order:5;font-size:14px}footer>a:last-child{margin-left:auto;font-size:14px} @media(max-width:1000px){.hero{min-height:0;gap:30px}h1{letter-spacing:-2px}.offer-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:repeat(2,1fr)}.section{padding-block:75px}.about{gap:40px}.offer-title{font-size:21px}}@media(max-width:650px){body{font-size:17px}header{padding:18px 6%;gap:14px;flex-wrap:wrap}.wordmark{font-size:27px}nav{order:3;width:100%;justify-content:space-between;gap:15px;font-size:15px}.navcta{margin-left:auto;font-size:14px;padding:7px 13px}.hero{display:flex;flex-direction:column;padding:48px 6% 38px;gap:30px}.hero-copy{width:100%}.hero .eyebrow{font-size:12px;letter-spacing:1.5px}h1{font-size:52px}.lead{font-size:18px}.signature{margin-top:30px}.brand{max-width:470px}.intro-line{font-size:14px;flex-direction:column;align-items:center;gap:8px;padding-block:18px}.section{padding:65px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{margin:22px 0 0}.eyebrow{font-size:12px;letter-spacing:1.7px}h2{font-size:40px}.offer-grid{grid-template-columns:repeat(2,1fr);gap:10px}.offer-grid button{padding:20px 16px}.number{margin-bottom:22px}.offer-sub{font-size:14px}.offer-grid button:last-child{grid-column:1/-1}.offer-grid button:last-child .offer-title br{display:none}.offer-grid button:last-child .offer-title{min-height:0}.offer-detail{grid-template-columns:1fr;gap:10px;padding:24px}.steps{grid-template-columns:1fr;gap:25px}.steps h3{margin-top:15px}.about{display:block}.about-copy{margin-top:35px}.video-reserve{padding:24px}.video-note{grid-template-columns:1fr;gap:16px;padding:24px}.start-grid{grid-template-columns:1fr;gap:24px}footer{padding:30px 6%;gap:15px}footer>a:last-child{margin-left:0}footer>p:first-of-type{flex-basis:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.brand{position:relative}.logo-fields{position:absolute;left:3%;right:3%;top:69%;height:22%;display:grid;grid-template-columns:repeat(5,1fr)}.logo-fields a{border:1px solid transparent;border-radius:5px;transition:background .2s,border-color .2s}.logo-fields a:hover,.logo-fields a:focus-visible{background:#ffffff18;border-color:#d3d6de;outline-offset:0}.logo-controls{grid-column:2;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.logo-controls p{margin:0;color:var(--muted)}#sound-toggle{background:#15181f;border:1px solid #606673;border-radius:4px;color:var(--text);padding:8px 12px;cursor:pointer;font-size:14px}.visit-counter{font-variant-numeric:tabular-nums}.service-nav{margin-top:50px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:24px;gap:20px}#service-page{min-height:70vh}#service-page>.eyebrow{margin-top:40px}#service-page h1{max-width:950px;font-size:clamp(40px,5vw,68px)}#service-page .lead{max-width:850px}#service-body{max-width:900px;margin-top:40px}#service-body h2{font-size:30px;margin:32px 0 18px}#service-body li{margin-bottom:12px}.video-empty{border:1px solid var(--line);background:var(--surface);padding:28px;margin:30px 0}.hero .logo-controls{width:100%}@media(max-width:650px){.logo-controls{max-width:470px} .hero-copy h1{font-size:44px}.service-nav{display:flex}.logo-fields a:active{background:#ffffff26}}

.logo-jingle{position:absolute;left:8%;right:8%;top:2%;height:64%;border:0;background:transparent;cursor:pointer;border-radius:10px}.logo-jingle:hover{background:#ffffff05}.logo-jingle:focus-visible{outline:2px solid #e3e5ee;outline-offset:-2px}.logo-controls p{font-size:14px}#sound-toggle{flex-shrink:0}

body.logo-home .hero-copy,body.logo-home #home-content>:not(.hero){display:none}body.logo-home .hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:8px 3% 16px;gap:8px}body.logo-home .brand{width:min(94vw,760px,calc(100dvh - var(--home-header-height,180px) - 24px));max-width:100%}body.logo-home .logo-controls{width:min(94vw,760px,calc(100dvh - var(--home-header-height,180px) - 24px));max-width:100%;justify-content:center;flex-wrap:wrap;gap:12px}#play-jingle{font:inherit;font-size:14px;background:#d3d6de;color:#11141a;border:0;border-radius:4px;padding:8px 14px;cursor:pointer}body.logo-home footer{padding-top:12px;padding-bottom:12px}body.logo-home header{padding-block:12px}body.logo-home .logo-controls #sound-status:not(.sr-only){width:100%;font-size:14px;color:var(--muted)}

.privacy-draft{border:1px solid #8f836b;background:#191711;padding:20px;margin:24px 0}.privacy-draft p{margin-bottom:0}.privacy-table{overflow-x:auto;margin:24px 0}.privacy-table table{width:100%;border-collapse:collapse;text-align:left;font-size:16px}.privacy-table th,.privacy-table td{border:1px solid #454851;padding:12px;vertical-align:top}.privacy-table td:first-child{overflow-wrap:anywhere}.legal-nav{display:flex;justify-content:center;margin:16px 0}.legal-nav a{text-decoration:underline}#service-body a{color:#e0e3ec;text-decoration:underline}

.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.price-card{border:1px solid #5c6069;background:linear-gradient(145deg,#191c23,#0d0f14);padding:28px;border-radius:4px}.price-card .eyebrow{margin-top:0}.price-card h3{font-size:25px;margin:12px 0 28px}.price-card .price-amount{font-size:52px;color:#f1f2f5;line-height:1.1;margin:0;font-variant-numeric:tabular-nums}.price-amount span{font-size:24px}.price-card .price-duration{margin:12px 0 0;color:#c6c9d0}.price-business .price-amount{margin-bottom:20px}.price-video{border-left:3px solid #cbd0d9;padding:4px 24px;background:#15171d}.price-contact{border-top:1px solid #454851;margin-top:40px;padding-top:8px}.legal-nav{gap:24px}@media(max-width:600px){.price-grid{grid-template-columns:1fr}.price-card{padding:24px}.price-card .price-amount{font-size:44px}.price-business .price-amount span{font-size:20px}header nav{flex-wrap:wrap}}

.booking-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0 44px}.booking-steps span{font-size:28px;color:#b9bec9}.booking-steps h3{font-size:21px}.booking-panel{border:1px solid #555b66;background:#14171e;padding:28px;border-radius:4px}.booking-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:28px 0}.booking-panel label{display:block;color:#e5e7ec;font-size:16px;font-weight:500}.booking-panel input,.booking-panel select,.booking-panel textarea{display:block;width:100%;min-width:0;box-sizing:border-box;margin-top:9px;border:1px solid #747b89;border-radius:3px;background:#090c12;color:#f1f3f8;padding:13px;font:inherit;color-scheme:dark}.booking-panel :is(input,select,textarea):focus-visible{outline:2px solid #e1e5ee;outline-offset:3px}.booking-note{font-size:15px;color:#b9c0cc}#booking-result{margin-top:24px;padding-top:12px;border-top:1px solid #59606c}.booking-payment{margin-top:42px}.booking-panel .button{cursor:pointer;font:inherit}@media(max-width:650px){.booking-steps,.booking-fields{grid-template-columns:1fr}.booking-panel{padding:20px}.booking-steps{gap:8px}}

/* Smooth interpolation for the approved raster logo. */
#brand-logo{image-rendering:auto;image-rendering:smooth;}

.price-card.price-package .price-amount{color:#78df91}.price-offer-label{display:inline-block;color:#78df91;background:#78df9114;border:1px solid #78df9170;border-radius:4px;padding:10px 16px;margin:0 0 24px;font-weight:700}

.price-card .price-duration.price-original{text-decoration:none}

.price-card .price-original-amount{color:#ef7777;text-decoration-line:line-through;text-decoration-thickness:1px;text-decoration-color:currentColor}

.price-tax-note{text-transform:none;text-align:justify;text-align-last:left;hyphens:auto;font-family:Arial,Helvetica,sans-serif;font-weight:400;font-size:clamp(1rem,2.4vw,1.125rem);line-height:1.6;letter-spacing:normal;color:#fff}
.price-billing p{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}

/* Larger qualifications with natural wrapping for longer titles. */
.about-role{list-style:none;padding:0;margin:32px 0 0;color:var(--text);font-family:inherit;font-size:clamp(20px,1.8vw,24px);font-weight:600;line-height:1.45}.about-role li{display:flex;align-items:baseline;gap:.55em}.about-role li+li{margin-top:12px}.qualification-bullet{flex:0 0 .65em;color:#fff;font-size:1em;line-height:inherit}.qualification-text{min-width:0;white-space:normal;overflow-wrap:break-word;font:inherit}@media(max-width:650px){.about-role{font-size:20px}}

/* Shared heading scale and compact, justified profile paragraphs. */
.about h2,.about-copy > .profile-heading{font-size:clamp(44px,4vw,56px);line-height:1.12;letter-spacing:-1.7px;font-weight:500;color:var(--text)}
.about-copy > .profile-heading{margin-bottom:30px}
.about-copy > .profile-card{font-size:17px;line-height:1.65;font-weight:400;margin-bottom:30px;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}
/* Raised paragraph cards preserve the established text scale. */
.about-copy > .profile-card{padding:22px 24px;border:3px solid #b8bec8;border-top-color:#f0f2f5;border-left-color:#d6dbe3;border-radius:8px;background:#000;color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.10),inset 0 -2px 3px rgba(0,0,0,.35),0 5px 0 #080a0e,0 11px 20px rgba(0,0,0,.45);font-weight:400;font-style:normal}
.about-copy > .profile-card .closing-quote{display:block;text-align:right;font-size:30px;line-height:1;margin-top:8px}
@media(max-width:650px){.about-copy > .profile-card{padding:20px}}
@media(max-width:650px){.about h2,.about-copy > .profile-heading{font-size:40px}}

.profile-card h3{font-size:22px;line-height:1.25;letter-spacing:-.3px;font-weight:700;text-align:center;text-align-last:center;text-wrap:balance;hyphens:none;margin:0 0 16px;color:var(--silver)}.profile-card > p{margin:0;font-size:17px;line-height:1.65;font-weight:400;font-style:normal;text-align:justify;text-align-last:left;hyphens:auto;overflow-wrap:break-word}

/* Centered, bold profile headings with balanced wrapping. */
.about h2,.about-copy > .profile-heading{text-align:center;text-align-last:center;font-weight:700;text-wrap:balance}
.about h2 em{font-weight:700;font-style:italic;color:var(--silver)}

/* Personal portrait in the About section */
.about-portrait{width:min(100%,200px);margin:32px 0 80px;padding:5px;border:1px solid #959aa4;border-radius:5px;background:linear-gradient(135deg,#363a42,#111216);box-shadow:0 12px 30px rgba(0,0,0,.3)}.about-portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:2px}@media(max-width:650px){.about-portrait{width:min(100%,190px);margin:28px auto 64px}}

/* Larger profile text uses the existing card footprint. */
.about-copy > .profile-card.profile-card-readable{padding:12px 18px}
.profile-card-readable > p{font-size:19px;line-height:1.4}

/* Dedicated About and next-step views from the main menu. */
body.about-page #home-content > :not(#niko){display:none}
body.next-steps-page #home-content > :not(#videos):not(#start){display:none}

/* WieWasWo ends with the perception step. */
body.offer-page #home-content > :not(#angebote):not(#ablauf){display:none}

/* A small silver bar identifies the current page in the header. */
header nav a,header .navcta{position:relative}
header nav a[aria-current="page"]::before,header .navcta[aria-current="page"]::before{content:"";position:absolute;top:-6px;left:50%;width:24px;height:3px;transform:translateX(-50%);border-radius:2px;background:var(--silver)}

/* Keep the main topics together in one horizontally scrollable row. */
header nav{flex-wrap:nowrap;align-items:center;min-width:0;overflow-x:auto;overflow-y:hidden;padding-block:10px;scrollbar-width:thin}
header nav a{flex:0 0 auto;white-space:nowrap}
@media(max-width:650px){header nav{justify-content:flex-start;gap:24px}}

/* Begin Ihr Einstieg directly below navigation, without an anchor-scroll gap. */
body.next-steps-page #videos{padding-top:24px}

/* Keep the final qualification on one line without changing list order. */
.about-role .qualification-commerce{font-size:inherit;white-space:normal}.qualification-commerce .qualification-text{white-space:normal;overflow-wrap:break-word}

.video-topic{border:1px solid var(--line);background:var(--surface);padding:clamp(18px,4vw,30px);margin:24px 0}.video-topic h2:first-child{margin-top:0!important}.video-topic ol{padding-left:1.5em}.videos .video-note h3:not(:first-child){margin-top:28px}

/* Featured video series */
.video-promo{width:min(94vw,760px,calc(100dvh - var(--home-header-height,180px) - 24px));max-width:100%;border:1px solid #aeb5c2;border-radius:12px;background:linear-gradient(135deg,#25282e,#0b0c0f);padding:clamp(20px,4vw,36px);box-shadow:0 12px 36px #0006;text-align:center;margin:16px auto 22px}.video-promo h2{font-size:clamp(25px,4vw,40px);line-height:1.15;margin:12px 0}.video-promo p{margin:12px 0}.video-promo .eyebrow{font-size:11px;letter-spacing:.12em}.video-promo-formats{color:#c8ccd4;font-size:15px;line-height:1.7}.video-promo .button{margin-top:12px}header nav .video-nav-highlight{font-weight:700;color:#f0f1f4;border:1px solid #8e96a4;border-radius:5px;padding:8px 10px}

/* Alltagstipps: bündiger Text mit deutscher Silbentrennung. */
#service-body .everyday-tips p,#service-body .everyday-tips li{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}

body.logo-home footer,body.logo-home .logo-controls{display:none}

#service-body .reha-phase{border:2px solid #b8bec8;border-radius:8px;background:#0d0f13;padding:clamp(20px,4vw,30px);margin:24px 0;box-shadow:0 5px 16px #0004}#service-body .reha-phase h2:first-child{margin-top:0}#service-body .reha-phase p:last-child{margin-bottom:0}

/* Prävention und Rehabilitation: bündige Fließtexte. */
body.rehab-text-page #service-intro,body.rehab-text-page #service-body p,.hero-copy .lead{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}

/* Revised opening cards: natural height and compact, consistent leading. */
.about-copy > .profile-card-revised{padding:16px 18px;height:auto;line-height:1.4}
.profile-card-revised > p{font-size:19px;line-height:1.4}
.profile-card-revised h3{margin-bottom:12px;line-height:1.25}

/* Readable copy and matching service navigation; the original logo stays intact. */
:root{--muted:#c3c6ce}
header{display:block;padding-top:18px;padding-bottom:12px}
.header-main{display:flex;justify-content:space-between;align-items:center;gap:24px}
.header-main nav{min-width:0}
header .service-topics{display:flex;justify-content:space-between;gap:26px;border-top:1px solid var(--line);margin-top:14px;padding-top:15px;padding-bottom:10px;font-size:18px}
header nav a{min-height:44px;display:inline-flex;align-items:center}
header .service-topics a[aria-current="page"]{color:#fff;font-weight:600}
header .service-topics a[aria-current="page"]::before{top:0}
body.next-steps-page #home-content > :not(#start){display:none}
body.next-steps-page #start{padding-top:36px}
.start-alternative{margin-top:24px}
.contact-note a,.start-alternative a{color:#f2f2f4;text-decoration:underline}
.about-copy > .profile-card{height:auto!important;padding:20px 22px}
.profile-card > p,.profile-card-revised > p{font-size:19px!important;line-height:1.5;text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
.steps p,.start-grid p,#service-body p,#service-body li{font-size:19px;line-height:1.55}
#service-body p,#service-intro,body.rehab-text-page #service-body p,body.rehab-text-page #service-intro{text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto}
#service-body h2{line-height:1.25;text-wrap:balance}
#service-body h1,#service-page h1{line-height:1.12;letter-spacing:-1.5px}
#service-body .training-card{border:4px double #b8bec8;border-radius:8px;background:#0d0f13;padding:clamp(20px,4vw,30px);margin:24px 0}
#service-body .training-card h2:first-child{margin-top:0}
#service-body .training-card p:last-child{margin-bottom:0}
.service-contact{margin-top:36px;padding-top:10px;border-top:1px solid var(--line)}
.service-nav{display:flex;font-size:18px}
.booking-note{font-size:17px!important}
@media(max-width:750px){.header-main{gap:16px;align-items:flex-start}.header-main nav{gap:20px}.header-main .wordmark{padding-top:7px}header .service-topics{justify-content:flex-start;gap:24px}.steps p,.start-grid p,#service-body p,#service-body li{font-size:18px}.about-copy > .profile-card{padding:18px}.profile-card > p{font-size:18px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Match full icon and both caption lines, with boundaries at the logo dividers. */
.logo-fields{left:2%;right:2%;top:71.5%;bottom:5.5%;height:auto;grid-template-columns:20.5fr 19fr 20.3fr 20.2fr 20fr}
.logo-fields a{display:block;cursor:pointer;touch-action:manipulation}
.logo-fields a:active{background:#ffffff20;border-color:#d3d6de}

/* Each selected topic ends with its content and a compact common footer. */
html,body{overscroll-behavior-y:none}
#service-page{min-height:0}
#home-content > .section:last-child,#service-page,body.about-page #niko,body.offer-page #ablauf{padding-bottom:28px}
footer{padding-top:18px;padding-bottom:18px;gap:14px 24px}
footer .wordmark,footer .wordmark + p{display:none}
footer .legal-nav{margin:0}
footer .draft{font-size:14px}

/* Compact, slowly moving topic ribbon, with manual scrolling after selection. */
header .service-topics.topic-ribbon{display:block;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-block:8px;margin-top:10px;scroll-behavior:auto;}
header .service-topics.topic-ribbon::-webkit-scrollbar{display:none;}
.topic-track{display:flex;width:max-content;min-width:200%;}
.topic-group{display:flex;flex:0 0 auto;justify-content:space-around;align-items:center;gap:18px;min-width:50%;padding-right:18px;}
header .topic-group a{flex:0 0 auto;font-size:17px;min-height:44px;padding:4px 8px;}
header .header-main nav{gap:20px;}
header .header-main .navcta{padding-inline:12px;}
@media(max-width:750px){header .topic-group a{font-size:16px;padding-inline:6px;}.topic-group{gap:12px;padding-right:12px;}header .header-main nav{gap:16px;}}
@media(prefers-reduced-motion:reduce){.topic-group[aria-hidden="true"]{display:none;}.topic-track{min-width:100%;}.topic-group{min-width:100%;}}

/* Optional, repeatable introduction. Native dialog provides focus containment. */
#tour-launch{position:fixed;left:50%;transform:translateX(-50%);max-width:calc(100vw - 24px);white-space:nowrap;text-align:center;bottom:max(14px,env(safe-area-inset-bottom));z-index:50;background:#171a20;color:#f5f5f7;border:1px solid #aeb3bc;border-radius:24px;min-height:46px;padding:10px 18px;font:inherit;font-size:16px;box-shadow:0 4px 18px #0008;cursor:pointer}
#tour-invite{position:fixed;left:50%;transform:translateX(-50%);bottom:78px;z-index:51;width:min(350px,calc(100vw - 32px));padding:20px;border:1px solid #aeb3bc;border-radius:12px;background:#171a20;box-shadow:0 8px 32px #0009;font-size:18px}#tour-invite p{margin:0 0 16px}#tour-invite div{display:flex;gap:10px;flex-wrap:wrap}
#tour-invite button,.tour-actions button{font:inherit;min-height:46px;padding:10px 14px;border:1px solid #b5bac4;border-radius:7px;background:#252a33;color:#fff;cursor:pointer}#tour-start,#tour-next{background:#e4e7ed!important;color:#101216!important;font-weight:700}
#site-tour{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:#f2f2f4;overflow:hidden}#site-tour::backdrop{background:transparent}#tour-spotlight{position:fixed;border:2px solid #f1f3f7;border-radius:8px;box-shadow:0 0 0 200vmax #000b;pointer-events:none}#tour-card{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(540px,calc(100vw - 24px));max-height:calc(100dvh - 40px);overflow:auto;background:#171a20;border:1px solid #aeb3bc;border-radius:14px;padding:24px;box-shadow:0 10px 40px #0008}#tour-card h2{margin:0 0 12px;font-size:25px;text-align:left;line-height:1.25}#tour-text{font-size:19px;line-height:1.5;margin:0 0 22px}#tour-count{font-size:15px;color:#c3c9d2;margin:0 0 10px}.tour-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.tour-actions #tour-end{margin-right:auto}#tour-card.tour-top{top:16px;bottom:auto}#tour-launch:focus-visible,#tour-invite button:focus-visible,.tour-actions button:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:500px){#tour-card{padding:18px}#tour-card h2{font-size:23px}#tour-text{font-size:18px}#tour-launch{font-size:15px;padding-inline:14px}}

#tour-card.tour-intro{top:auto;bottom:0;transform:translateX(-50%)}
#tour-address-example{margin:0 0 24px}#tour-address-example[hidden]{display:none}.tour-address-bar{background:#f2f3f5;color:#171a20;border:1px solid #aeb3bc;border-radius:9px;padding:13px 18px;font-size:24px;font-weight:700;letter-spacing:.02em}.tour-address-action{display:flex;align-items:center;justify-content:center;gap:20px;margin:16px 0 0;font-size:21px}.tour-address-action kbd{font:inherit;font-size:18px;padding:8px 14px;border:1px solid #aeb3bc;border-bottom:3px solid #aeb3bc;border-radius:6px}.tour-address-action span{font-weight:700}

/* Über mich: closer portrait spacing, justified cards and balanced desktop columns. */
#niko .about-portrait{margin-bottom:24px}
#niko .about-role{margin-top:24px}
#niko .profile-card > p,#niko > .video-reserve > p{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
@media(min-width:651px){
  #niko{align-items:start;column-gap:clamp(32px,5vw,70px);row-gap:28px}
  #niko > .about-profile{grid-column:1;grid-row:2}
  #niko > .about-copy{grid-column:2;grid-row:2 / span 2;min-width:0}
  #niko > .video-reserve{grid-column:1;grid-row:3;margin-top:0;min-width:0}
}

/* Align all process descriptions with the longest heading in their row. */
@supports (grid-template-rows:subgrid){
  .steps article{display:grid;grid-template-rows:subgrid;grid-row:span 3;row-gap:0}
  .steps article h3{margin-bottom:24px}
}

/* Offer selection is the first topic in Los geht’s. */
.start-offers{margin-bottom:48px}

/* Consistent justified copy across every page; headings and UI labels retain their alignment. */
body :is(main, footer, #site-tour, #tour-invite) p:not(.eyebrow):not(.price-amount):not(.price-offer-label):not(#tour-count),
body main li,
body main .qualification-text,
body main .offer-sub,
body #service-body td {
  text-align: justify;
  text-align-last: left;
  -webkit-hyphens: auto;
  hyphens: auto;
  overflow-wrap: break-word;
}

/* Compact silver tutorial card with a browser example and clear progress. */
#tour-card{width:min(520px,calc(100vw - 32px));padding:clamp(20px,4vw,30px);border:1px solid #747b88;border-radius:22px;background:linear-gradient(145deg,#22262e,#13161c);box-shadow:0 24px 70px #0009,inset 0 1px 0 #ffffff12;max-height:calc(100dvh - 32px)}
.tour-progress-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.tour-label{color:#bfc6d1;font-size:11px;font-weight:700;letter-spacing:.14em}
#tour-count{margin:0;font-size:13px;white-space:nowrap}
#tour-progress{display:block;appearance:none;-webkit-appearance:none;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;background:#393e49;margin:0 0 24px;color:#d9dee7}
#tour-progress::-webkit-progress-bar{background:#393e49;border-radius:4px}
#tour-progress::-webkit-progress-value{background:linear-gradient(90deg,#8b94a5,#eef1f6);border-radius:4px}
#tour-progress::-moz-progress-bar{background:#d9dee7;border-radius:4px}
#tour-card h2{font-size:clamp(23px,5vw,28px);letter-spacing:-.6px;line-height:1.2;margin-bottom:16px;text-wrap:balance}
#tour-text{color:#d4d9e2;font-size:18px;line-height:1.5;margin-bottom:22px}
#tour-address-example{border:1px solid #535a68;border-radius:14px;padding:14px;background:#0c0f15;margin-bottom:24px;box-shadow:inset 0 1px 0 #ffffff06}
.tour-browser-top{display:flex;align-items:center;gap:5px;margin-bottom:13px;color:#aeb6c4;font-size:12px}
.tour-browser-top i{width:6px;height:6px;border-radius:50%;background:#747e90}.tour-browser-top span{margin-left:7px}
.tour-address-bar{display:flex;align-items:center;gap:12px;background:#eef0f4;color:#181d26;border:1px solid #fff5;padding:12px 14px;font-size:23px;line-height:1.3;border-radius:10px;letter-spacing:0;box-shadow:0 3px 10px #0003}
.tour-address-bar svg{width:20px;height:20px;flex-shrink:0;color:#606978}.tour-address-enter{margin-left:auto;color:#606978;font-size:21px;font-weight:400}
body #site-tour .tour-address-action{margin:16px 0 0;gap:16px;font-size:17px;text-align:left;justify-content:center;flex-wrap:wrap;hyphens:none}
.tour-address-action kbd{font-size:14px;border-color:#687184;border-bottom-width:2px;border-radius:7px;padding:7px 10px;color:#dce1e9;background:#202631}
.tour-address-action>span{color:#dfe6f0}
.tour-actions{align-items:center;gap:10px;padding-top:18px;border-top:1px solid #ffffff18;flex-wrap:nowrap}
.tour-actions button{border-radius:10px;padding:10px 14px;min-height:46px;font-size:16px}.tour-actions #tour-end{background:transparent;border-color:transparent;color:#c6cdd8;padding-inline:4px}.tour-actions #tour-next{background:linear-gradient(135deg,#f5f6f9,#c6cdd8)!important;border-color:#e3e7ee;padding-inline:22px;box-shadow:0 3px 8px #0003}
/* Qualification names are list labels: keep natural word spacing and line breaks. */
body main #niko .about-role li,body main #niko .qualification-text{text-align:left;text-align-last:left;word-spacing:normal;-webkit-hyphens:none;hyphens:none;overflow-wrap:normal}
#niko .about-role{line-height:1.4;margin-top:18px}#niko .about-role li+li{margin-top:12px}
@media(max-width:650px){#niko{row-gap:34px}#niko .about-portrait{margin-bottom:18px}#niko .about-copy>.profile-heading{font-size:clamp(32px,8.5vw,40px);line-height:1.15;margin-bottom:24px;text-wrap:balance}}
@media(max-width:360px){#tour-card{padding:18px}.tour-label{font-size:10px}#tour-text{font-size:17px}.tour-actions{gap:6px}.tour-actions button{padding-inline:10px;font-size:15px}.tour-actions #tour-next{padding-inline:16px}}
/* Keep the tutorial entry clear of the centered brand logo. */
#tour-launch{left:max(16px,env(safe-area-inset-left));transform:none;bottom:max(14px,env(safe-area-inset-bottom));max-width:calc(100vw - 32px)}
#tour-invite{left:max(16px,env(safe-area-inset-left));transform:none}
body.tour-open #tour-launch{visibility:hidden}

/* Smaller tutorial footprint, including the invitation and persistent entry. */
#tour-launch{font-size:13px;min-height:36px;padding:7px 11px;border-radius:18px}
#tour-invite{width:min(280px,calc(100vw - 32px));padding:14px;font-size:15px;bottom:62px}
#tour-invite p{margin-bottom:10px}
#tour-invite button{font-size:13px;min-height:38px;padding:7px 10px}
#tour-invite div{gap:7px}
#tour-card{width:min(380px,calc(100vw - 24px));padding:18px;border-radius:16px}
.tour-progress-header{margin-bottom:9px}
#tour-progress{margin-bottom:16px}
#tour-card h2{font-size:21px;line-height:1.2;margin-bottom:12px;letter-spacing:-.3px}
#tour-text{font-size:16px;line-height:1.45;margin-bottom:16px}
#tour-address-example{padding:10px;margin-bottom:16px;border-radius:10px}
.tour-browser-top{margin-bottom:9px;font-size:11px}
.tour-address-bar{padding:9px 11px;font-size:19px;gap:9px}
body #site-tour .tour-address-action{margin-top:11px;gap:10px;font-size:15px}
.tour-address-action kbd{font-size:13px;padding:5px 8px}
.tour-actions{padding-top:12px;gap:8px}
.tour-actions button{min-height:40px;padding:8px 10px;font-size:14px}
.tour-actions #tour-next{padding-inline:16px}

/* Compact tutorial entry centered at the bottom of the viewport. */
#tour-dock{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;align-items:center;gap:5px;width:max-content;max-width:calc(100vw - 24px)}
#tour-launch{position:static;transform:none;min-height:30px;padding:4px 10px;font-size:12px;border-radius:15px;max-width:100%}
#tour-invite{position:static;transform:none;width:224px;max-width:100%;padding:9px 10px;font-size:12px;border:1px solid #c5ccd54d;border-radius:12px;background:linear-gradient(145deg,#262a31,#111318 75%);box-shadow:inset 0 1px 0 #ffffff14,0 5px 18px #0005}
#tour-invite p{margin-bottom:4px;line-height:1.25}
#tour-invite div{gap:5px;flex-wrap:nowrap}
#tour-invite button{font-size:11px;min-height:30px;padding:4px 8px;white-space:nowrap;border-radius:7px}
#tour-invite #tour-start{background:linear-gradient(135deg,#f0f2f6,#bcc3cd)!important;border-color:#d5dae2;box-shadow:0 1px 3px #0003}
#tour-invite #tour-dismiss{background:transparent;border-color:#c5ccd530;color:#d4d9e0}
#tour-invite button:hover{filter:brightness(1.12)}
#tour-card{width:min(320px,calc(100vw - 24px));padding:13px;border-radius:12px}
.tour-progress-header{margin-bottom:6px}
#tour-progress{margin-bottom:12px}
#tour-card h2{font-size:19px;margin-bottom:9px}
#tour-text{font-size:15px;line-height:1.35;margin-bottom:12px}
#tour-address-example{padding:8px;margin-bottom:12px}
.tour-address-bar{padding:7px 9px;font-size:18px}
body #site-tour .tour-address-action{margin-top:8px;gap:8px;font-size:14px}
.tour-actions{padding-top:9px;gap:6px}
.tour-actions button{min-height:36px;padding:6px 8px;font-size:13px}
.tour-actions #tour-next{padding-inline:12px}

/* Compact touch demonstration using the unchanged original brand artwork. */
#tour-tap-example{margin:0 0 12px;padding:8px;border:1px solid #ffffff24;border-radius:14px;background:linear-gradient(150deg,#202630,#090b10);box-shadow:inset 0 1px 0 #ffffff12}
.tour-tap-stage{position:relative;width:min(100%,220px);margin:auto;isolation:isolate}
.tour-tap-stage img{display:block;width:100%;height:auto;border-radius:8px}
.tour-tap-hand{position:absolute;top:79%;left:11%;width:29px;height:34px;filter:drop-shadow(0 3px 4px #000b);transform-origin:25% 15%;animation:tour-touch-path 10s ease-in-out infinite}
.tour-tap-ripple{position:absolute;top:79%;left:11%;width:27px;height:27px;margin:-13.5px;border:1.5px solid #edf5ff;border-radius:50%;background:#d5e6ff22;box-shadow:0 0 15px #c6dfff66;animation:tour-touch-path 10s ease-in-out infinite,tour-touch-pulse 2s ease-out infinite}
.tour-tap-caption{display:block;margin:8px 0 2px;text-align:center;color:#d4dce8;font-size:12px;letter-spacing:.02em}
@keyframes tour-touch-path{0%,16%{left:11%}20%,36%{left:30%}40%,56%{left:50%}60%,76%{left:70%}80%,96%{left:89%}100%{left:11%}}
@keyframes tour-touch-pulse{0%,25%{opacity:0;scale:.5}40%{opacity:1;scale:.8}85%,100%{opacity:0;scale:1.6}}
#tour-tap-example[hidden] *{animation:none}
@media(prefers-reduced-motion:reduce){.tour-tap-hand,.tour-tap-ripple{animation:none}.tour-tap-ripple{opacity:1}}

/* Keep green package prices prominent above general paragraph sizing. */
#service-body .price-card.price-package .price-amount{font-size:52px;line-height:1.1}
@media(max-width:600px){#service-body .price-card.price-package .price-amount{font-size:44px}}


/* Anchor the open introduction flush to the bottom edge as well. */
#tour-card{bottom:0}

/* Address tutorial: one clear action per row, within the compact bottom card. */
#tour-card.tour-address-step{border-radius:20px 20px 0 0;border-color:#b9c5d04d;background:radial-gradient(ellipse at 0 0,#35404d55,transparent 65%),linear-gradient(145deg,#1b2028,#101318);box-shadow:0 -12px 60px #0008,inset 0 1px 0 #ffffff18;padding:18px}
#tour-card.tour-address-step h2{font-size:26px;letter-spacing:-.8px;line-height:1.1;margin-bottom:12px}
#tour-card.tour-address-step #tour-text{font-size:15px;line-height:1.45;text-align:justify;hyphens:auto;margin-bottom:16px}
#tour-card.tour-address-step #tour-address-example{padding:0;border:0;background:transparent;box-shadow:none;margin-bottom:16px}
.tour-url-step{display:flex;align-items:center;gap:10px}
.tour-step-number{display:grid;place-items:center;flex:0 0 24px;height:24px;border-radius:50%;border:1px solid #c1ccd644;color:#e2e8ef;font-size:12px;font-weight:600;background:#ffffff08}
.tour-url-label{font-size:13px;color:#e2e8f0;font-weight:600}
#tour-card.tour-address-step .tour-address-bar{margin:10px 0 16px;padding:15px 14px;border-radius:13px;background:linear-gradient(125deg,#fff,#dce3ec);border:1px solid #fff9;box-shadow:0 4px 20px #0003;gap:10px}
.tour-address-bar strong{font-size:clamp(27px,8vw,34px);letter-spacing:-1px;line-height:1.1;color:#101820;font-weight:750}
.tour-url-cursor{height:29px;width:2px;background:#526982;animation:tour-cursor-blink 1.2s step-end infinite}
.tour-enter-step{gap:10px;margin-bottom:16px}
.tour-enter-step small{display:block;font-size:11px;line-height:1.4;color:#acb8c8;margin-top:3px}
.tour-enter-step kbd{display:grid;place-items:center;margin-left:auto;flex:0 0 42px;height:38px;font:24px system-ui;border:1px solid #c1ccd655;border-bottom:3px solid #738091;border-radius:10px;background:linear-gradient(#313c4a,#222a35);color:#fff}
.tour-url-done{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 8px;border:1px solid #b0d7c32b;border-radius:11px;background:#a0d8ba0a;color:#d6f0e1;font-size:15px}
.tour-url-done>span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#b3e7cb;color:#173528;font-size:15px}
#tour-card.tour-address-step .tour-actions{border-top-color:#ffffff16}
@keyframes tour-cursor-blink{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.tour-url-cursor{animation:none}}

/* Type the address first, then demonstrate Return and arrival. */
.tour-typed-url{display:inline-flex;align-items:center;gap:2px;min-height:38px}
#tour-address-example.tour-is-typing .tour-enter-step{opacity:.4}
#tour-address-example.tour-enter-ready .tour-enter-step{opacity:1}
#tour-address-example.tour-is-typing .tour-url-done{opacity:0;transform:translateY(3px)}
.tour-enter-step,.tour-url-done{transition:opacity .25s ease,transform .25s ease}
.tour-enter-step kbd{transition:transform .15s ease,background .15s ease,box-shadow .15s ease}
#tour-address-example.tour-enter-ready kbd{background:#53697d;box-shadow:0 0 16px #b4d2f044}
#tour-address-example.tour-enter-pressed kbd{transform:translateY(3px);border-bottom-width:1px;background:#90a9bb;color:#111a24}
#tour-address-example.tour-address-complete .tour-url-cursor{visibility:hidden}
@media(prefers-reduced-motion:reduce){.tour-enter-step,.tour-url-done,.tour-enter-step kbd{transition:none}}

/* Philosophy is the first field in About, above portrait and existing cards. */
#niko > .philosophy-block{grid-column:1 / -1;grid-row:1;min-width:0;margin-bottom:28px}
#niko .philosophy-block .about-copy{margin-top:0}
#niko .philosophy-block .profile-card{margin-bottom:0}
#niko .philosophy-block .profile-card > p + p{margin-top:18px}

header .service-topics.topic-ribbon{width:100%;max-width:960px;margin:6px auto 0;padding-block:3px}
header .topic-group{gap:10px;padding-right:10px}
header .topic-group a{font-size:15px;min-height:36px;padding:3px 6px;display:flex;align-items:center}
@media(max-width:750px){header .topic-group a{font-size:14px;min-height:34px;padding:2px 5px}header .topic-group{gap:8px;padding-right:8px}}
/* Compact information links below the wordmark, above the topic ribbon. */
.header-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center}
.header-main .wordmark{grid-column:1;grid-row:1;justify-self:start;padding-top:0}
header .header-main nav{grid-column:1 / -1;grid-row:2;display:flex;width:100%;flex-wrap:nowrap;justify-content:center;gap:20px;font-size:15px;overflow:visible;padding:2px 0 0}
header .header-main nav a{min-height:40px}
header .header-main > .navcta{grid-column:2;grid-row:1;justify-self:end;margin:0;font-size:15px;padding:7px 12px;white-space:nowrap}
@media(max-width:750px){
  .header-main{gap:4px 10px;align-items:center}
  header .header-main .wordmark{font-size:27px;padding-top:0}
  header .header-main nav{gap:clamp(12px,4vw,20px);font-size:14px}
  header .header-main > .navcta{font-size:14px;padding:6px 10px}
}

/* Readable German justified copy: preserve normal spacing and enable hyphenation. */
body :is(main,footer,#site-tour,#tour-invite) p:not(.eyebrow):not(.price-amount):not(.price-offer-label):not(#tour-count),
body main li,body #service-body td{
  word-spacing:normal;letter-spacing:normal;text-justify:inter-word;
  -webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:5 2 2;
  overflow-wrap:break-word;
}
.process .section-head{align-items:start}
.process .section-head>p{max-width:46ch;flex:1}
.process-orientation{max-width:78ch;color:var(--muted);margin-bottom:36px}
.process-orientation a{text-decoration:underline;text-underline-offset:3px;color:var(--text)}
.process .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 40px}
.process .steps article{min-width:0}
.process .steps h3{margin-top:18px}
.process-progress{margin-top:36px;padding:24px clamp(18px,3vw,30px);border:1px solid #656b77;border-radius:8px;background:var(--surface)}
.process-progress h3{font-size:26px;line-height:1.25;margin-bottom:18px;text-align:left;text-wrap:balance}
.process-progress p{max-width:78ch;color:var(--muted);font-size:19px;line-height:1.6}
.process-progress p:last-child{margin-bottom:0}
.process-next{margin:28px 0 0}
body main .offer-sub{text-align:left;text-align-last:left;word-spacing:normal;letter-spacing:normal}
header .header-main nav a{min-height:44px}
header .topic-group a{min-height:44px}
@media(max-width:650px){
  .process .steps{grid-template-columns:1fr;gap:24px}
  .process-progress p{font-size:18px}
}

/* Three guiding terms stay together; explanations retain justified body copy. */
.process .section-head>div{min-width:0}
.process .process-motifs{display:flex;align-items:center;gap:clamp(3px,1vw,9px);white-space:nowrap;font-size:clamp(12px,2.8vw,15px);letter-spacing:0;text-transform:none}
.process-meaning{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin:0 0 38px}
.process-meaning p{color:var(--muted);font-size:18px;line-height:1.6;margin:0}
.process-meaning strong{color:var(--text)}
.process-purpose{max-width:78ch;margin:28px 0;color:var(--muted);font-size:19px;line-height:1.6}
#beta-progress-natural{margin:28px 0 0;padding:clamp(18px,4vw,30px);border:1px solid #737b88;border-radius:10px;background:linear-gradient(145deg,#171a20,#0c0e12);box-shadow:inset 0 1px 0 #ffffff10;min-width:0}
#beta-progress-natural .beta-subtitle{color:#e1e5ec;font-size:19px;font-weight:600;line-height:1.5;margin-bottom:3px}
#beta-progress-natural .beta-frequency{color:#b8c0ce;font-size:17px;line-height:1.5;margin-bottom:22px}
#beta-progress-natural .beta-chart{display:block;width:100%;overflow:visible}
#beta-progress-natural .beta-chart text{font-family:Calibri,'Segoe UI',Arial,sans-serif;font-size:13px;fill:#c6ccd6}
#beta-progress-natural .beta-chart .week-label{font-size:12px;fill:#c6ccd6}
#beta-progress-natural .beta-chart .axis-title{font-size:14px;fill:#e1e5ec}
#beta-progress-natural .beta-legend{display:flex;gap:12px 24px;flex-wrap:wrap;margin:8px 0 12px;font-size:15px;line-height:1.5;color:#d4d7df}
#beta-progress-natural .beta-legend span{display:flex;align-items:center;gap:9px}
#beta-progress-natural .beta-legend i{display:inline-block;width:27px;border-top:3px solid #edf0f6}
#beta-progress-natural .beta-legend .beta-linear{border-top:2px dashed #959dab}
#beta-progress-natural .beta-caption{color:#b9bdc7;font-size:15px;line-height:1.5;text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:900px){.process-meaning{grid-template-columns:1fr;gap:16px}}
@media(max-width:650px){.process-purpose{font-size:18px}}

/* Legal information remains reachable from every page. */
.legal-nav{flex-wrap:wrap;align-items:center}
.privacy-inline{font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer;min-height:44px}
.privacy-options{flex-basis:100%;width:100%;max-width:900px;border:1px solid #666f7d;background:#11141a;padding:clamp(18px,4vw,28px);border-radius:8px;margin:10px 0}
.privacy-options h2{font-size:26px;line-height:1.25;margin-bottom:14px;letter-spacing:normal}
.privacy-options p{font-size:17px;margin-bottom:18px}
.privacy-options form{margin:0}
.privacy-options label{display:flex;align-items:flex-start;gap:12px;padding:10px 0;color:var(--text);font-size:18px;cursor:pointer}
.privacy-options input{width:22px;height:22px;flex:0 0 22px;margin:4px 0 0;accent-color:#cbd2df}
.privacy-options small{display:block;font-size:16px;color:var(--muted);line-height:1.5}
.privacy-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.privacy-actions button{font:inherit;font-size:17px;min-height:44px;padding:10px 16px;background:#252b35;color:#f2f2f4;border:1px solid #9ca6b5;border-radius:4px;cursor:pointer}
.privacy-actions a{font-size:16px;text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
#privacy-status{flex-basis:100%;font-size:15px}
#privacy-status:empty{display:none}

/* The tutorial invitation and its launch button belong only to the logo start view. */
body:not(.logo-home) #tour-dock{display:none}

/* Exact approved location card. */
#beta-location-card{width:100%;max-width:560px;margin:24px auto 32px;box-sizing:border-box;padding:30px 24px 25px;background:#090b0f;color:#f2f3f5;border:1px solid #434750;border-radius:22px;font-family:Arial,sans-serif;box-shadow:0 16px 36px #0003}#beta-location-card .location-brand{color:#c0c5ce;font-size:13px;letter-spacing:3px;text-transform:uppercase}#beta-location-card h2{font-size:28px;font-weight:600;line-height:1.2;margin:9px 0 0;color:#f2f3f5}#beta-location-card .map{display:block;width:100%;height:auto;margin:5px 0 0}#beta-location-card .caption{font-size:16px;line-height:1.5;color:#e1e4ea;text-align:center;margin:0}#beta-location-card .subcaption{font-size:13px;line-height:1.5;color:#aab1bd;text-align:center;margin:7px 0 0}

#beta-location-card .location-brand{text-align:left}#beta-location-card .caption,#beta-location-card .subcaption{text-align:center;text-align-last:center;hyphens:none}#beta-location-card .map{max-width:none}#beta-location-card h2{text-align:left}#beta-location-card p{font-weight:400}

/* Inline offer submenus and direct information downloads. */
.offer-grid button{position:relative;padding-bottom:36px}.offer-grid button::after{content:'+';position:absolute;right:15px;bottom:8px;font-size:24px;line-height:1}.offer-grid button[aria-expanded=true]::after{content:'−'}
#offer-detail.offer-submenu{display:block;margin:22px 0 32px;padding:clamp(20px,3vw,30px);border:1px solid #929aa8;border-top-color:#e1e5ed;border-radius:14px;background:linear-gradient(140deg,#191c23,#0d1015);box-shadow:inset 0 1px 0 #ffffff12}
.offer-submenu-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:24px}.offer-submenu-heading .eyebrow{margin-bottom:9px}.offer-submenu-heading h3{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:0}.offer-close{flex-shrink:0;border:1px solid #5a6270;border-radius:6px;background:transparent;color:#d6dbe5;padding:7px 11px;font-size:15px;cursor:pointer}.offer-close span{margin-left:7px;font-size:20px}
.offer-submenu-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.offer-submenu h4{font-size:18px;margin:0 0 9px;color:#f0f2f7}.offer-submenu p{font-size:17px;line-height:1.6;color:#c6cdd8;text-align:justify;text-align-last:left;hyphens:auto}.offer-submenu-grid p{margin-bottom:22px}.offer-price-summary{border-top:1px solid #424956;padding-top:19px;margin-top:1px}.offer-price-summary p{margin-bottom:22px}
.offer-submenu-actions{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:14px 24px;margin:0}.offer-submenu-actions .textlink{font-size:16px;text-decoration:underline;text-underline-offset:4px}.offer-submenu-actions .button{font-size:16px;padding:12px 18px;text-align:center}.offer-submenu-actions .button span{white-space:nowrap}.offer-submenu .offer-download-note{font-size:14px;margin:15px 0 0;color:#aeb6c4;text-align:left}
@media(max-width:650px){.offer-submenu-grid{grid-template-columns:1fr;gap:0}.offer-submenu-heading{gap:12px;flex-wrap:wrap}.offer-submenu-actions .button{width:100%}.offer-submenu p{font-size:16px}.offer-close{min-height:44px}}

/* Shared price-only blocks in the price list and offer details. */
.price-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin:24px 0}
.price-comparison-group{min-width:0}.price-comparison-group h3{font-size:21px;text-align:center;margin:0 0 14px}
.price-column-head{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-left:104px;font-size:14px;text-align:center;margin-bottom:8px}
.price-comparison-row{display:grid;grid-template-columns:94px 1fr 1fr;gap:10px;align-items:center;margin-bottom:10px}
.price-comparison-row h4{font-size:14px;font-weight:400;margin:0;line-height:1.4}
.price-only{border:1px solid #737b87;background:linear-gradient(145deg,#191c23,#0d0f14);border-radius:5px;padding:18px 6px;text-align:center;font-size:clamp(23px,2.7vw,36px);font-weight:700;color:#f2f2f4;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-only.price-intro{color:#78df91}
.offer-price-status{display:block;border:1px solid #737b87;border-radius:5px;background:#15171d;padding:18px;text-align:justify}
.offer-price-summary:has(.price-comparison){grid-column:1/-1}
@media(max-width:850px){.price-comparison{grid-template-columns:1fr;gap:28px}.price-only{font-size:30px}.price-comparison-row{grid-template-columns:94px 1fr 1fr}}
@media(max-width:390px){.price-comparison-row{grid-template-columns:78px 1fr 1fr;gap:7px}.price-column-head{padding-left:85px;gap:7px}.price-only{font-size:25px}.price-comparison-row h4{font-size:13px}}

#offer-detail.offer-submenu>.offer-price-summary:last-child{margin-top:24px}

/* Tutorial upper left below the topic ribbon; logo size stays unchanged. */
body.logo-home #tour-dock{position:fixed;left:max(12px,env(safe-area-inset-left));right:auto;top:var(--tour-header-bottom,190px);bottom:auto;transform:none;margin:0;z-index:50;max-width:calc(100vw - 24px)}
#site-tour #tour-card{left:max(12px,env(safe-area-inset-left));right:auto;top:var(--tour-header-bottom,190px);bottom:auto;transform:none;max-height:calc(100dvh - var(--tour-header-bottom,190px) - 12px)}

.price-first-session{grid-column:1/-1}

/* Enlarge the original artwork by removing only its empty black image margin. */
body.logo-home .brand{width:min(94vw,790px,calc((100dvh - var(--home-header-height,180px) - 24px) * 0.94 / 0.91));aspect-ratio:94/91;overflow:hidden}
body.logo-home .brand img{position:absolute;top:0;left:-3.191489%;width:106.382979%;max-width:none;height:auto;transform:translateY(-3.5%)}
body.logo-home .brand .logo-fields{left:0;right:0;top:71.98%;height:24.18%}
/* Give all five logo links the same hover and focus footprint. */
body.logo-home .brand .logo-fields{grid-template-columns:repeat(5,minmax(0,1fr))}

/* Clear entry point on the logo start view, including after dismissal. */
#tour-invite{width:250px;font-size:14px;border-color:#aeb3bc;padding:12px}
#tour-invite p{margin-bottom:8px;text-align:left!important}
#tour-invite button{font-size:13px;min-height:38px;padding:6px 10px}
#tour-launch{font-size:14px;min-height:44px;padding:9px 14px;border-color:#d3d6de}

/* On phones, reserve real document space for the tutorial above the artwork. */
@media(max-width:650px){
 body.logo-home #tour-dock{position:static;top:auto;left:auto;right:auto;bottom:auto;margin:10px 12px;transform:none;align-items:flex-start}
 body.logo-home .brand{width:min(94vw,790px,calc((100dvh - var(--home-header-height,180px) - var(--tour-dock-height,90px) - 44px) * 0.94 / 0.91))}
}

.header-actions{grid-column:2;grid-row:1;justify-self:end;display:flex;flex-direction:row;gap:6px;align-items:stretch}
header .header-main .header-actions .navcta{margin:0;font-size:15px;padding:7px 12px;text-align:center;white-space:nowrap;background:transparent;color:var(--text);font-family:inherit;line-height:1.6;cursor:pointer}
@media(max-width:650px){header .header-main .header-actions .navcta{font-size:14px;padding:6px 10px}}

/* One tutorial entry beside the contact action; all available height goes to the logo. */
@media(max-width:650px){body.logo-home .brand{width:min(94vw,790px,calc((100dvh - var(--home-header-height,180px) - 24px) * 0.94 / 0.91))}}
@media(max-width:380px){.header-main .wordmark{grid-column:1/-1;grid-row:1}.header-actions{grid-column:1/-1;grid-row:2}header .header-main nav{grid-row:3}}

.price-category{margin:24px 0 32px;min-width:0}.price-category>h3{font-size:25px;margin:0 0 14px}
.price-category .price-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.price-category .price-card{min-width:0;padding:22px}.price-category .price-card h3{font-size:22px}
@media(max-width:650px){
 .price-category .price-grid{gap:7px}.price-category .price-card{padding:12px 8px}
 .price-category .price-card .eyebrow{font-size:10px;letter-spacing:.4px;overflow-wrap:anywhere}
 .price-category .price-card h3{font-size:14px;line-height:1.3;letter-spacing:0;margin:10px 0 16px}
 #service-body .price-category .price-card .price-amount,.offer-price-summary .price-category .price-card .price-amount{font-size:clamp(23px,6.5vw,36px);line-height:1.1}
 .price-category .price-amount span{font-size:14px}
 #service-body .price-category .price-duration,.offer-price-summary .price-category .price-duration{font-size:12px;line-height:1.4;text-align:left;hyphens:none}
}


/* Tablet layouts: give profile copy and price cards enough usable width. */
header .header-main,main,.section,.section-head>*,.offer-detail>*{min-width:0}
#service-body a,.contact-note a,.start-alternative a{overflow-wrap:anywhere}
@media(min-width:651px) and (max-width:1100px){
 #niko{grid-template-columns:minmax(0,1fr);gap:32px}
 #niko>.philosophy-block,#niko>.about-profile,#niko>.about-copy,#niko>.video-reserve{grid-column:1;grid-row:auto;margin-top:0}
 #niko .about-portrait{margin-inline:auto}
 .section-head{gap:28px}
 .offer-detail{gap:28px;padding:26px}
 .price-category .price-grid{gap:12px}
 .price-category .price-card{padding:18px 12px}
 .price-category .price-card h3{font-size:20px;overflow-wrap:break-word}
 .price-category .price-card .eyebrow{font-size:12px;letter-spacing:1px;overflow-wrap:break-word}
 #service-body .price-category .price-card .price-amount,.offer-price-summary .price-category .price-card .price-amount{font-size:clamp(34px,4.5vw,46px);white-space:nowrap}
 .price-category .price-amount span{font-size:20px}
 #service-body .price-category .price-duration,.offer-price-summary .price-category .price-duration{font-size:16px;text-align:left}
 .booking-steps{gap:16px}
}
@media(min-width:651px) and (max-width:850px){
 .section-head{display:block}
 .section-head>p{max-width:none;margin:22px 0 0}
 .offer-detail,.offer-submenu-grid,.video-note{grid-template-columns:minmax(0,1fr)}
 .start-grid{grid-template-columns:minmax(0,1fr);gap:24px}
}
/* The tutorial's inline target placement must win when the iPad rotates. */
#site-tour #tour-card{overscroll-behavior:contain}

/* Live text replaces the abbreviated caption in the raster artwork. */
.brand,.tour-tap-stage{container-type:inline-size}
.rehabilitation-logo-label{position:absolute;left:80%;top:86.8%;width:18%;height:6.8%;display:block;padding-top:.25cqw;background:#000;color:#f2f2f4;text-align:center;font-family:Arial,sans-serif;font-size:2.36cqw;font-weight:400;line-height:1.3;pointer-events:none}
body.logo-home .brand>.rehabilitation-logo-label{left:82%;top:91.3%;width:18%;height:8%}
.offer-title{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}

/* One continuous reading column, with a consistent paragraph rhythm. */
:root{--copy-gap:1em}
#service-page #service-intro{max-width:900px;font-size:19px;line-height:1.55;margin:0 0 var(--copy-gap)}
#service-page #service-body{margin-top:0;display:flow-root}
#service-body>:first-child{margin-top:0}
#service-body>p:not(.eyebrow):not(.price-amount):not(.price-offer-label){margin-bottom:var(--copy-gap)}
main :is(.training-card,.reha-phase,.video-topic,.profile-card)>p+p{margin-top:var(--copy-gap)}
.section-head{margin-bottom:28px}
.process-orientation{margin-bottom:24px}
.start-offers{margin-bottom:28px}
.about-copy>.profile-card{margin-bottom:24px}
body main :is(p,li){text-wrap:pretty}
@media(max-width:750px){#service-page #service-intro{font-size:18px}}

/* Preserve justified copy; explicit German soft hyphens improve narrow lines. */
body :is(main,footer,#site-tour,#tour-invite) :is(p,li,td){text-wrap:wrap;word-spacing:normal;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:5 2 2}

body :is(main,footer,#site-tour,#tour-invite) :is(p,li,td){-webkit-hyphenate-limit-before:2;-webkit-hyphenate-limit-after:2;-webkit-hyphenate-limit-lines:no-limit;hyphenate-limit-lines:no-limit}

/* A paragraph with excessive rendered gaps uses natural left alignment. */
body :is(main,footer,#site-tour) :is(p,li,td).natural-text-flow{text-align:left!important;text-align-last:left!important;word-spacing:normal!important}

/* Separate duration from clinical fields in the first qualification item. */
.about-role .qualification-experience>strong{display:block;font-weight:600}
.about-role .qualification-experience>.qualification-detail{display:block;margin-top:5px;font-size:.85em;font-weight:400;line-height:1.4;color:var(--muted);text-align:left;letter-spacing:normal;word-spacing:normal}

/* Center the personal approach statement on every screen size. */
body main #niko .profile-card > p.philosophy-lead{text-align:center!important;text-align-last:center!important}

/* Keep every email address intact, including dynamically rendered pages. */
body a[href^="mailto:" i]{display:inline-block;white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;-webkit-hyphens:none!important;hyphens:none!important}

/* Four prices per specialty, read left-to-right in two rows on every screen. */
.price-category .price-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px}
.price-category .price-first-session{grid-column:auto}
@media(max-width:650px){
 .price-category .price-grid{gap:10px}
 .price-category .price-card{padding:16px 12px}
 .price-category .price-card h3{font-size:18px;margin:12px 0 18px}
 .price-category .price-card .eyebrow{font-size:12px;letter-spacing:.4px}
 #service-body .price-category .price-duration,.offer-price-summary .price-category .price-duration{font-size:14px}
}

footer .legal-nav{flex-wrap:wrap}.training-notices li{margin-bottom:1em}.training-notice-link{margin-top:28px;padding-top:18px;border-top:1px solid var(--line)}

/* Make the previous-price sentence easier to read in both price displays. */
#service-body .price-category .price-card .price-duration.price-original,
.offer-price-summary .price-category .price-card .price-duration.price-original{font-size:clamp(15px,2vw,17px);line-height:1.45}

/* Accessible text controls remain reachable without changing navigation size. */
#reader-tools{position:fixed;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:65;font-size:16px;line-height:1.4;color:#f2f2f4}
#reader-tools button{min-height:44px;border:1px solid #939aa6;border-radius:8px;background:#171a20;color:inherit;cursor:pointer;padding:8px 12px;font-size:16px}
#reader-toggle{display:flex;align-items:center;gap:7px}#reader-toggle svg{width:22px;height:22px}
#reader-panel{position:absolute;right:0;bottom:56px;width:min(290px,calc(100vw - 24px));padding:18px;background:#101216;border:1px solid #939aa6;border-radius:12px}
#reader-panel h2{font-size:22px;line-height:1.3;letter-spacing:normal;margin:0 0 14px}
.reader-sizes{display:flex;gap:6px}#reader-tools button[aria-pressed="true"]{background:#d3d6de;color:#101216}#reader-status{margin:12px 0;font-size:15px}
body[data-reader-enabled] .reader-text{font-size:calc(var(--reader-base-size) * var(--reader-scale))!important;line-height:var(--reader-line-height)!important}
body.tour-open #reader-tools{visibility:hidden}

/* Place the reading controls above topic content, with space for the open panel. */
#reader-tools{position:relative;right:auto;bottom:auto;width:100%;max-width:1440px;margin:0 auto;padding:12px 5% 0;display:flex;flex-direction:column;align-items:flex-end;z-index:auto}
#reader-panel{position:static;right:auto;bottom:auto;margin-top:10px;max-width:100%}
body.logo-home #reader-tools{display:none}
@media(max-width:650px){#reader-tools{padding:12px 6% 0}}

/* Keep the magnifier visible at the bottom center of the logo home screen. */
body.logo-home #reader-tools{display:flex;position:fixed;left:50%;right:auto;top:auto;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:auto;max-width:calc(100vw - 24px);margin:0;padding:0;align-items:center;z-index:65}
body.logo-home #reader-panel{position:absolute;left:50%;right:auto;top:auto;bottom:56px;transform:translateX(-50%);width:min(290px,calc(100vw - 24px));max-width:none;margin:0}

/* Approved specialty explanation within WieWasWo, matching the existing text cards. */
#ablauf .process-specialties{max-width:900px;margin:32px auto 38px}
#ablauf .process-specialties>h3{font-size:clamp(24px,3vw,32px);line-height:1.25;margin:0 0 22px;text-align:left}
#ablauf .process-specialties .training-card{border:4px double #b8bec8;border-radius:8px;background:#0d0f13;padding:clamp(20px,4vw,30px);margin:24px 0;min-width:0}
#ablauf .process-specialties h4{font-size:clamp(22px,2.5vw,28px);font-weight:500;line-height:1.25;margin:0 0 18px;text-align:left}
#ablauf .process-specialties p{font-size:18px;line-height:1.6;color:var(--muted)}
#ablauf .process-specialties p:last-child{margin-bottom:0}

/* Freigegebene erklärende Zeichnungen; eigener Raum ohne Textüberdeckung. */
.licensed-illustration{margin:1.25rem auto 1.5rem;max-width:28rem;text-align:center}.licensed-illustration img{display:block;width:auto;height:auto;max-width:100%;max-height:15rem;margin:0 auto 0.75rem;object-fit:contain}.licensed-illustration figcaption{font-size:0.875rem;line-height:1.5;text-align:center;hyphens:none;overflow-wrap:normal}.licensed-illustration figcaption a{white-space:normal}@media(max-width:600px){.licensed-illustration img{max-height:12rem}}

/* Approved topic photos, slightly larger than portrait, no cropping. */
.topic-photo{position:relative;width:min(100%,330px);max-width:330px;margin:20px auto 24px;break-inside:avoid}.topic-photo img{display:block;width:100%;height:auto;object-fit:contain;border-radius:3px}@media(max-width:650px){.topic-photo{width:min(100%,300px);max-width:300px}}

.topic-photo .topic-ai-label{position:absolute;left:4px;bottom:4px;margin:0;padding:1px 3px;border-radius:2px;background:rgba(20,22,24,.8);color:#fff;font:400 6px/1.2 Arial,sans-serif;letter-spacing:0;text-align:left;white-space:nowrap;hyphens:none}

/* Keep the existing logo bounds; align the new label with the raster icon captions. */
.rehabilitation-logo-label>span{position:absolute;left:0;right:0;bottom:.7cqw;display:block;white-space:nowrap}
body.logo-home .brand>.rehabilitation-logo-label>span{bottom:1cqw}

/* Match the original icon captions: 20px lettering and 26px baseline spacing on the 846px logo. */
.rehabilitation-logo-type{display:block;width:100%;height:auto;overflow:visible}
.rehabilitation-logo-type text{font-family:Arial,sans-serif;font-size:20px;font-weight:400;letter-spacing:0;fill:#f2f2f4}

/* Approved responsive layout corrections after device review. */
#service-page h1{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}
.service-contact .button{max-width:100%;white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;text-align:center}
body[data-reader-enabled] #niko .qualification-text,body[data-reader-enabled] #niko .qualification-detail{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}
body.logo-home #reader-tools{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:max-content;max-width:calc(100% - 24px);margin:8px auto 16px;padding:0;align-items:center;z-index:auto}
body.logo-home #reader-panel{position:static;left:auto;right:auto;top:auto;bottom:auto;transform:none;width:min(290px,calc(100vw - 24px));max-width:100%;margin:10px 0 0}
/* Allow descriptive mail buttons to wrap, while keeping actual e-mail addresses unbroken. */
.service-contact a.button[href^="mailto:" i]{white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;-webkit-hyphens:none!important;hyphens:none!important;min-width:0}
/* Restore dark button text against the existing silver background. */
#service-body a.button{color:#11141a;text-decoration:none}

/* Approved feedback test dialog and footer access. */

.feedback-open{appearance:none;background:none;border:0;color:#d3d6de;font:inherit;font-size:inherit;text-decoration:underline;text-underline-offset:4px;padding:8px 0;cursor:pointer;min-height:44px}
body.logo-home footer{display:block;max-width:1060px;margin:0 auto;padding:14px 5% 24px;border-top:1px solid #30333a}
body.logo-home footer> :not(.legal-nav):not(#privacy-options):not(#privacy-status){display:none}
body.logo-home footer .legal-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 22px;font-size:14px;line-height:1.4;text-align:center}
footer .legal-nav a,footer .privacy-inline{min-height:44px;display:inline-flex;align-items:center}
#feedback-dialog{width:min(620px,calc(100% - 32px));max-height:calc(100dvh - 32px);border:1px solid #7e8591;border-radius:14px;background:#101216;color:#f2f2f4;padding:24px 28px;box-shadow:0 20px 80px #0008;overflow-y:auto;font-size:17px;line-height:1.45}
#feedback-dialog::backdrop{background:#000b;backdrop-filter:blur(3px)}
.feedback-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.feedback-kicker{font-size:12px;letter-spacing:2px;color:#b0b3bd}
#feedback-close{width:44px;height:44px;border:1px solid #616875;border-radius:50%;background:none;color:#f2f2f4;font-size:29px;cursor:pointer;flex:none}
#feedback-title{font-size:30px;line-height:1.15;letter-spacing:-.5px;margin:0 0 12px}.feedback-intro{color:#c3c7d0;margin:0 0 12px;text-align:left;hyphens:auto}
.feedback-preview-note{font-size:13px;color:#c8cdd6;padding:10px 12px;border:1px solid #414651;border-radius:5px;margin:0 0 18px;text-align:left}
#feedback-dialog fieldset{margin:0 0 18px;padding:0 0 16px;border:0;border-bottom:1px solid #30333a;min-width:0}
#feedback-dialog legend{font-weight:600;font-size:17px;line-height:1.4;margin-bottom:10px;padding:0;width:100%;text-align:left}
.feedback-answers{display:flex;flex-wrap:wrap;gap:6px}.feedback-answers label{display:flex;align-items:center;gap:8px;border:1px solid #414752;border-radius:6px;padding:10px 12px;min-height:44px;cursor:pointer;font-size:16px;line-height:1.35;text-align:left;flex:0 1 auto}
.feedback-answers label:has(input:checked){border-color:#e4e7ed;background:#272c35}.feedback-answers input{accent-color:#d3d6de;flex:none;width:18px;height:18px;margin:0}
.feedback-comment{display:block;font-weight:600;font-size:17px;margin:0 0 8px}.feedback-comment span{display:block;font-weight:400;font-size:14px;color:#b0b3bd}
#feedback-comment{display:block;width:100%;padding:12px;background:#08090b;border:1px solid #616875;color:#f2f2f4;border-radius:6px;font:inherit;resize:vertical;min-height:90px}.feedback-help{font-size:13px;color:#b0b3bd;margin:8px 0 18px;text-align:left}.feedback-submit{border:0;cursor:pointer;min-height:48px}.feedback-submit:focus-visible,#feedback-dialog input:focus-visible,#feedback-comment:focus-visible{outline:2px solid white;outline-offset:3px}#feedback-result{font-size:14px;margin:12px 0 0}
@media(max-width:500px){#feedback-dialog{padding:18px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}#feedback-title{font-size:27px}.feedback-answers label{font-size:16px;padding:10px}.feedback-answers{gap:8px}body.logo-home footer .legal-nav{gap:0 16px;font-size:13px}.feedback-submit{width:100%}}
body.logo-home footer #privacy-status{display:none}
#feedback-dialog .feedback-head{position:sticky;top:-24px;background:#101216;z-index:2;padding-top:4px;padding-bottom:4px}
@media(max-width:500px){#feedback-dialog .feedback-head{top:-18px}}

/* Logo added to the approved feedback design; preview only. */
.feedback-brand{width:90px;height:63px;overflow:hidden;background:#000;flex:none}.feedback-brand img{display:block;width:90px;height:auto;max-width:none}#feedback-dialog .feedback-head{align-items:flex-start;padding-top:8px;padding-bottom:10px}#feedback-close{margin-top:3px}

/* Feedback is a regular page, so opening does not depend on JavaScript or dialog support. */
.feedback-page{min-height:100dvh;padding:16px;background:#08090b}
.feedback-page #feedback-dialog{display:block;position:relative;margin:0 auto;width:min(620px,100%);max-height:none;overflow:visible;box-sizing:border-box}
.feedback-page #feedback-close{display:flex;align-items:center;justify-content:center;text-decoration:none;line-height:1}
.feedback-page #feedback-title{font-size:30px;line-height:1.2}
.feedback-page .feedback-intro,.feedback-page .feedback-help{ text-align:justify;text-align-last:left;hyphens:auto;-webkit-hyphens:auto;overflow-wrap:break-word;word-spacing:normal}
.feedback-page .feedback-preview-note{text-align:left;hyphens:auto;-webkit-hyphens:auto}
.feedback-page #feedback-dialog .feedback-head{position:static}
@media(max-width:500px){.feedback-page{padding:10px}.feedback-page #feedback-dialog{width:100%;max-height:none}.feedback-page #feedback-title{font-size:27px}.feedback-page .feedback-intro{font-size:16px;line-height:1.5}}

/* Keep privacy controls off the logo home page; retain access on other pages. */
body.logo-home footer [data-privacy-open],
body.logo-home footer #privacy-options{display:none!important}

/* Fit the logo start page into the viewport, including its controls and footer. */
body.logo-home{height:100dvh;min-height:0;display:flex;flex-direction:column;overflow:hidden}
body.logo-home>header{flex:none;width:100%}
body.logo-home>#main{flex:1 1 0;min-height:0;width:100%}
body.logo-home #home-content{height:100%;min-height:0}
body.logo-home .hero{height:100%;min-height:0;width:100%;padding:0 3%;container-type:size}
body.logo-home .brand{width:min(94vw,760px,100cqh);max-height:100%;flex:none}
body.logo-home>#reader-tools{flex:none;margin:4px auto 6px}
body.logo-home>footer{flex:none;width:100%;padding:4px 5% 6px}
body.logo-home footer .legal-nav{gap:0 16px}

/* Private feedback overview follows the approved small-logo form design. */
.feedback-admin #feedback-dialog{width:min(820px,100%)}.feedback-private-label{font-size:12px;letter-spacing:1.5px;color:#b0b3bd;margin:0 0 8px}.feedback-overview-count{display:flex;gap:14px;align-items:center;margin:24px 0;padding:18px;border:1px solid #414752;border-radius:8px}.feedback-overview-count strong{font-size:34px;line-height:1}.feedback-overview-count span{font-size:16px}.feedback-admin-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.feedback-admin button{min-height:48px;cursor:pointer}.feedback-admin button:disabled{opacity:.55;cursor:default}.feedback-secondary{padding:10px 16px;border:1px solid #616875;border-radius:5px;background:#171a20;color:#f2f2f4}.feedback-entry{border:1px solid #414752;border-radius:8px;padding:20px;margin-top:18px}.feedback-entry h2{font-size:20px;line-height:1.3;letter-spacing:0;margin:0 0 18px}.feedback-entry dl{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin:0;font-size:16px}.feedback-entry dt{color:#b0b3bd}.feedback-entry dd{margin:0}.feedback-entry-comment{white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.5;border-top:1px solid #30333a;margin:18px 0 0;padding-top:14px;text-align:justify;hyphens:auto}.feedback-mail-link{text-decoration:underline;font-size:16px;display:inline-block;min-height:44px}.feedback-admin #feedback-more{margin-top:20px}.feedback-admin-status{font-size:16px}@media(max-width:500px){.feedback-admin-actions>*{width:100%}.feedback-entry{padding:16px}.feedback-entry dl{grid-template-columns:1fr;gap:4px}.feedback-entry dd{margin-bottom:10px}}

.feedback-admin .feedback-help{text-align:left;font-size:15px;line-height:1.5}
/* Questionnaire and reading aid occupy a shared responsive control row. */
#reader-tools{flex-direction:row;align-items:flex-start;justify-content:flex-end;gap:10px;flex-wrap:wrap}
#reader-tools #fit-open{white-space:nowrap}
#reader-panel{flex-basis:100%;margin-left:auto}
body.logo-home>#reader-tools{width:100%;max-width:none;margin:4px 0 6px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));justify-content:space-between}
body.logo-home #reader-panel{position:absolute;right:12px;bottom:55px;left:auto;top:auto;width:min(290px,calc(100vw - 24px));margin:0}
body.tour-open #fit-open{visibility:hidden}
#fit-dialog{border:1px solid #858d9b;border-radius:14px;background:#0e1015;color:#f1f2f5;width:min(650px,calc(100vw - 24px));max-height:88dvh;padding:0;box-shadow:0 24px 80px #000b}
#fit-dialog::backdrop{background:#000b}
.fit-shell{padding:clamp(16px,3vw,28px);overflow:auto;max-height:88dvh}
.fit-header{display:flex;align-items:center;gap:16px;border-bottom:1px solid #535966;padding:0 0 16px}
.fit-header img{width:64px;height:64px;object-fit:contain;flex:none}
.fit-header h2{font-size:clamp(22px,4vw,30px);line-height:1.2;letter-spacing:0;margin:0;flex:1}
#fit-close{font-size:30px;line-height:1;min-width:44px;min-height:44px;border:1px solid #747b88;border-radius:8px;background:#171a20;color:white;cursor:pointer}
.fit-shell>p{font-size:16px;line-height:1.5;color:#c9ccd3;margin:18px 0}
.fit-count{color:#aeb5c2;font-size:15px;margin:0 0 8px}
#fit-body fieldset{border:0;margin:0;padding:0;min-width:0}
#fit-body legend,#fit-body h3{font-size:clamp(21px,3vw,26px);font-weight:700;margin:0 0 18px;line-height:1.3}
#fit-body label{display:flex;align-items:flex-start;gap:12px;border:1px solid #5d6573;border-radius:9px;padding:13px;margin:10px 0;cursor:pointer;font-size:17px;line-height:1.4}
#fit-body label:has(input:checked){border-color:#cbd1dd;background:#292e37}
#fit-body input{width:20px;height:20px;flex:none;margin:2px 0;accent-color:#d5d9e1}
#fit-body>p:not(.fit-count){font-size:18px;line-height:1.55}
.fit-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.fit-actions button,.fit-result-link{min-height:44px;padding:10px 15px;border:1px solid #949ba8;border-radius:8px;color:white;background:#22262f;cursor:pointer;font-size:16px}
.fit-actions button:disabled{opacity:.5;cursor:not-allowed}
.fit-result-link{display:inline-block;margin-top:12px;text-decoration:none}
@media(max-width:520px){.fit-header{gap:9px}.fit-header img{width:48px;height:48px}#reader-tools{gap:8px}#reader-tools #fit-open{font-size:14px;padding:8px}body.logo-home>#reader-tools{padding:0 10px}#fit-body label{font-size:16px}}

/* Keep paragraph justification first; only flagged paragraphs fall back to natural spacing. */
body :is(main,footer,#site-tour,#fit-dialog) :is(p,li,td).natural-text-flow{text-align:left!important;text-align-last:left!important;word-spacing:normal!important}
#fit-dialog p{text-align:justify;text-align-last:left;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}
/* Personal Training layout study: preserve every sentence, change only hierarchy. */
.personal-topic-page #service-page #service-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;align-items:stretch}
.personal-topic-page #service-body>.training-card{margin:0;min-width:0;background:linear-gradient(135deg,#191c23,#0e1015 72%);border:1px solid #747b88;border-radius:14px;padding:clamp(20px,2.8vw,32px)}
.personal-topic-page #service-body>.training-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,340px);gap:0 30px;align-items:center}
.personal-topic-page #service-body>.training-card:first-child h2{grid-column:1;grid-row:2;align-self:end}
.personal-topic-page #service-body>.training-card:first-child p{grid-column:1;grid-row:3;align-self:start}
.personal-topic-page #service-body>.training-card:first-child figure{grid-column:2;grid-row:2/4;margin:0 auto}
.personal-topic-page #service-body>.training-card:nth-of-type(4),.personal-topic-page #service-body>.training-card:nth-of-type(5){border-top:3px solid #c4cbd7}
.personal-topic-page #service-body>.training-card:nth-of-type(4)::before,.personal-topic-page #service-body>.training-card:nth-of-type(5)::before{display:block;color:#cbd1db;letter-spacing:.14em;font-size:12px;font-weight:700;margin-bottom:12px}
.personal-topic-page #service-body>.training-card:nth-of-type(4)::before{content:'02 · TRAININGSPLAN'}
.personal-topic-page #service-body>.training-card:nth-of-type(5)::before{content:'03 · SELBSTSTÄNDIG WEITERÜBEN'}
.personal-topic-page #service-body>.training-card:first-child::before{content:'01 · AUSGANGSLAGE';display:block;grid-column:1/-1;color:#cbd1db;letter-spacing:.14em;font-size:12px;font-weight:700;margin-bottom:12px}
.personal-topic-page #service-body>.training-card .topic-photo{max-width:290px}
.personal-topic-page #service-body>h2,.personal-topic-page #service-body>p,.personal-topic-page #service-body>.service-contact{grid-column:1/-1}
.personal-topic-page #service-body>h2{margin:22px 0 0}
.personal-topic-page #service-body>p{margin:0}
@media(max-width:800px){.personal-topic-page #service-page #service-body{grid-template-columns:1fr}.personal-topic-page #service-body>.training-card:first-child{grid-column:auto;display:block}.personal-topic-page #service-body>.training-card:first-child figure{margin:18px auto}.personal-topic-page #service-body>h2,.personal-topic-page #service-body>p,.personal-topic-page #service-body>.service-contact{grid-column:auto}}

/* The other topic pages share the card rhythm without changing their copy. */
.topic-layout-page #service-page #service-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;align-items:stretch}
.topic-layout-page #service-body>.topic-layout-card,.topic-layout-page #service-body>:is(.video-topic,.reha-phase){min-width:0;margin:0;padding:clamp(20px,2.8vw,30px);border:1px solid #747b88;border-radius:14px;background:linear-gradient(135deg,#191c23,#0e1015 72%);box-shadow:none}
.topic-layout-page #service-body>.topic-layout-card h2:first-child{margin-top:0}
.topic-layout-page #service-body>.topic-layout-card p:last-child{margin-bottom:0}
.topic-layout-page #service-body>.topic-photo,.topic-layout-page #service-body>.service-contact,.topic-layout-page #service-body>.training-notice-link,.topic-layout-page #service-body>.booking-note{grid-column:1/-1}
.topic-layout-page #service-body>.topic-photo{margin:0 auto 10px}
.topic-layout-page #service-body>.service-contact{margin-top:8px}
.topic-layout-page #service-body>.training-notice-link{margin:0}
.topic-layout-page #service-body>:is(.topic-layout-card,.video-topic,.reha-phase) .topic-photo{max-width:290px}
.video-topic-page #service-body>.video-topic:first-of-type,.reha-topic-page #service-body>.reha-phase:nth-of-type(3){grid-column:1/-1}
.topic-layout-page:not(.video-topic-page) #service-body>.topic-layout-card:last-of-type{grid-column:1/-1}
.reha-topic-page #service-body>.reha-phase:nth-of-type(3) .topic-photo{float:right;margin:0 0 16px 25px}
@media(max-width:800px){.topic-layout-page #service-page #service-body{grid-template-columns:1fr}.topic-layout-page #service-body>.topic-photo,.topic-layout-page #service-body>.service-contact,.topic-layout-page #service-body>.training-notice-link,.topic-layout-page #service-body>.booking-note,.video-topic-page #service-body>.video-topic:first-of-type,.reha-topic-page #service-body>.reha-phase:nth-of-type(3){grid-column:auto}.reha-topic-page #service-body>.reha-phase:nth-of-type(3) .topic-photo{float:none;margin:18px auto}}
