/* ==========================================================================
   Kern Studio · mobile.css
   Wird nur bis 760 px geladen (media="(max-width: 760px)" im <link>).
   Änderungen hier können die Desktopansicht technisch nicht beeinflussen.
   Prinzip: ein Gedanke pro Bildschirm, alles Wichtige im Daumenbereich.
   ========================================================================== */

:root{--gut:max(20px,env(safe-area-inset-left,0px));--hd:58px;--tb:76px}
body{font-size:17px;line-height:1.6;padding-bottom:calc(var(--tb) + env(safe-area-inset-bottom,0px))}
.wrap{padding-left:var(--gut);padding-right:max(20px,env(safe-area-inset-right,0px))}
.hd-nav,.hd-act,.hd-menu,.logo i{display:none!important}

/* Header: Logo und aktuelles Kapitel ------------------------------------ */
.hd{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.hd-in{height:var(--hd);display:flex;align-items:center;justify-content:space-between;gap:12px;padding-left:var(--gut);padding-right:max(20px,env(safe-area-inset-right,0px))}
.logo svg{width:28px;height:28px}
.logo b{font-size:17px}
.hd-chap{display:flex;flex:1;justify-content:flex-end;align-items:baseline;gap:8px;font-size:13px;color:var(--soft);opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;min-width:0}
.hd-chap.on{opacity:1;transform:none}
.hd-chap span{font:600 13px var(--text);color:var(--blue)}
.hd-chap b{font:700 16px/1 var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hd-prog{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--blue);transform-origin:left;transform:scaleX(var(--p,0))}

/* Daumen-Leiste --------------------------------------------------------- */
.tb{position:fixed;z-index:60;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(21,37,48,.96);box-shadow:0 14px 34px rgba(21,37,48,.3);transition:transform .4s var(--ease),opacity .3s}
.tb.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
.tb-menu{flex:none;display:flex;align-items:center;gap:10px;min-height:52px;padding:0 18px;border-radius:999px;border:1px solid rgba(237,243,246,.28);background:transparent;color:#fff;font:600 16px var(--text)}
.tb-menu span{width:16px;height:2px;background:#fff;box-shadow:0 -5px 0 #fff,0 5px 0 #fff}
.tb-cta{flex:1;display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:var(--blue-lt);color:var(--night);font:600 16px var(--text);text-decoration:none}
.tb-cta:hover{color:var(--night)}

/* Abschnitte ------------------------------------------------------------ */
.sec{padding-block:72px}
.sec-h{display:grid;gap:16px;margin-bottom:36px}
.sec-h h2,.u-txt h2,.k-intro h2{font-size:clamp(33px,9vw,44px);line-height:1}
.sec-lead{font-size:17px}
.eyebrow{font-size:13px}

/* Hero: Gesicht zuerst, dann die Aussage -------------------------------- */
.hero{background:var(--paper)}
.hero-media{display:block;height:min(56svh,460px);overflow:hidden;background:#E8EDEF}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.hero-in{position:relative;margin-top:-56px}
.hero-txt{display:grid;gap:18px;padding:24px 20px 4px;margin-inline:-8px;border-radius:20px 20px 0 0;background:var(--paper)}
.hero-h{font-size:clamp(44px,12.6vw,60px);line-height:.96}
.hero-h span{display:block}
.hero-h2{font-size:.5em;line-height:1.02;color:var(--blue);margin-top:.3em}
.hero .lead{font-size:17px;color:#33424D}
.hero-act{display:grid;gap:6px}
.hero-act .btn{width:100%}
.hero-act .link-arrow{justify-content:center}
.hero-proof{display:grid;gap:2px;padding:14px 16px;border-radius:12px;background:var(--mist);font-size:14.5px;line-height:1.5;color:var(--soft)}
.hero-proof b{color:var(--ink);font-weight:600}

/* Wischbare Reiter ------------------------------------------------------ */
.tabs-list{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;margin-inline:calc(-1 * var(--gut));padding-inline:var(--gut);padding-bottom:4px;scrollbar-width:none}
.tabs-list::-webkit-scrollbar{display:none}
.tabs-list [role=tab]{flex:none;scroll-snap-align:start}

/* 01 Woran -------------------------------------------------------------- */
.woran .sec-h h2{font-size:clamp(30px,8vw,38px)}
.woran .tabs-list{margin-bottom:24px}
.woran-p{display:grid;gap:20px}
.cliche{font:700 25px/1.15 var(--display);color:#7A8790}
.sym{counter-reset:s;border-top:1px solid var(--line)}
.sym li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:8px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.45}
.sym li::before{content:counter(s,decimal-leading-zero);font:700 19px/1.4 var(--display);color:var(--blue)}
.woran .fine{margin-top:16px}

/* 02 People ------------------------------------------------------------- */
.who{display:grid;gap:12px;margin-bottom:56px}
.who-c{display:grid;gap:6px;padding:20px;border-radius:var(--r);background:rgba(237,243,246,.06)}
.who-k{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-lt)}
.who-c h3{font-size:26px}
.who-c p:last-child{font-size:16px;color:rgba(237,243,246,.8)}
.qs-h{font-size:30px;text-transform:uppercase;margin-bottom:8px}
.q-list{border-top:1px solid var(--line-inv)}
.q-list .q{border-bottom:1px solid var(--line-inv);padding:18px 0;-webkit-tap-highlight-color:transparent}
button.q-t{display:flex;justify-content:space-between;gap:16px;font:700 22px/1.2 var(--display);color:#fff}
.q-t::after{content:"+";flex:none;font:400 26px/1 var(--text);color:var(--blue-lt);transition:transform .3s}
.q-list .q.open .q-t::after{transform:rotate(45deg)}
.q-w{display:none;margin-top:10px;font-size:16px;color:rgba(237,243,246,.82)}
.q-list .q.open .q-w{display:block}
.q-w b{display:block;font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-lt);margin-bottom:4px}

/* 03 Methode: Ringe einmal als Schaubild, dann die Schritte ------------- */
.m-vis{display:grid;justify-items:center;gap:8px;margin-bottom:12px}
.rings{width:min(76vw,300px)}
.rings .r{fill:none;stroke:var(--blue);stroke-width:2;opacity:.5}
.rings .core{fill:var(--blue)}
.rings .rl{font:600 14px var(--text);letter-spacing:.14em;text-transform:uppercase;text-anchor:middle;fill:var(--blue)}
.rings .rl1{fill:#fff;font-size:16px}
.m-cap{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.methode .steps{counter-reset:st}
.methode .step{display:grid;gap:10px;padding:28px 0;border-top:1px solid var(--line)}
.step-n{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.step h3{font-size:46px;text-transform:uppercase;line-height:1;padding-top:.1em}
.step-s{font:700 22px/1.2 var(--display);color:var(--blue)}
.step>p:not([class]){color:var(--soft)}
.step-r{padding:12px 14px;border-radius:12px;background:var(--mist);font-size:16px}
.step-r b{display:block;font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:2px}
.ktest{padding:16px;border:1.5px solid var(--blue);border-radius:var(--r)}
.ktest-h{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin-bottom:8px}
.ktest ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;counter-reset:k}
.ktest li{counter-increment:k;font:700 19px/1.2 var(--display)}
.ktest li::before{content:counter(k) " ";color:var(--blue)}

/* 04 Beispiele ---------------------------------------------------------- */
.bx .tabs-list{margin-bottom:20px}
.bx-p{display:grid;gap:18px}
.bx-img{border-radius:var(--r);overflow:hidden;aspect-ratio:16/10;background:#DCE5EA}
.bx-img img{width:100%;height:100%;object-fit:cover}
.bx-type{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:24px;background:var(--night);color:#fff;font:700 30px/1.02 var(--display);text-transform:uppercase}.bx-type span:last-child{color:var(--blue-lt)}
.bx-txt{display:grid;gap:10px}
.bx-who{font:600 13px/1.4 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.bx-k{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.bx-k-on{color:var(--blue);margin-top:8px}
.bx-before{font:700 22px/1.2 var(--display);color:#7A8790}
.bx-after{font:700 30px/1.1 var(--display)}
.bx-voice{margin-top:6px;padding-left:14px;border-left:2px solid var(--blue);font:700 21px/1.2 var(--display);color:var(--blue)}
.bx-voice span{display:block;font:400 14px/1.5 var(--text);color:var(--soft);margin-top:4px}

/* 05 Leistungen --------------------------------------------------------- */
.lv{border-top:1px solid var(--line);margin-bottom:56px}
.lv-i{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding:20px 0;border-bottom:1px solid var(--line)}
.lv-n{font:700 40px/.9 var(--display);color:transparent;-webkit-text-stroke:1.2px var(--blue)}
.lv-core .lv-n{color:var(--blue);-webkit-text-stroke:0}
.lv-i h3{font-size:25px;margin-bottom:4px}
.lv-i p{font-size:16px;color:var(--soft)}
.lv-i .lv-tag{grid-column:2;justify-self:start;margin-top:8px;font:600 13px/1 var(--text);letter-spacing:.06em;padding:7px 12px;border-radius:999px;background:var(--blue);color:#fff}
.lv-i .lv-tag-alt{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.leistungen .kp{display:grid;gap:28px}
.kp-head{display:grid;gap:18px}
.kp-h{font-size:34px;text-transform:uppercase;line-height:.98}
.kp-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border-radius:12px;overflow:hidden}
.kp-facts div{padding:14px;background:var(--paper)}
.kp-facts dt{font:600 13px/1.3 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--soft)}
.kp-facts dd{margin:4px 0 0;font:700 24px/1.1 var(--display);color:var(--blue)}
.kp-head>p{color:var(--soft)}
.fit{display:grid;gap:14px}
.fit div{padding:16px;border-radius:12px;background:var(--mist)}
.fit h4{font-size:21px;text-transform:uppercase;margin-bottom:4px}
.fit p{font-size:16px;color:var(--soft)}
.kp-head .btn{width:100%}
.kp-get{padding:22px 20px;border-radius:18px;background:var(--night);color:var(--mist)}
.kp-get-h{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue-lt);margin-bottom:6px}
.get{counter-reset:g}
.get li{counter-increment:g;position:relative;padding-left:30px;padding:12px 0 12px 30px;border-bottom:1px solid var(--line-inv);font-size:16px;line-height:1.45;color:rgba(237,243,246,.82)}
.get li::before{content:counter(g);position:absolute;left:0;top:12px;font:700 19px/1.3 var(--display);color:var(--blue-lt)}
.get b{color:#fff;font-weight:600}
.is-collapsed>li:nth-child(n+4){display:none}
.more-btn{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:52px;margin-top:12px;padding:0 18px;border-radius:12px;border:1.5px solid rgba(143,196,220,.5);background:transparent;color:#fff;font:600 16px var(--text)}
.more-btn::after{content:"+";font-size:22px;color:var(--blue-lt)}
.kp-not{margin-top:14px;font-size:14.5px;line-height:1.5;color:rgba(237,243,246,.7)}
.kp-not b{color:#fff}

/* 06 Über mich ---------------------------------------------------------- */
.u-grid{display:grid;gap:28px}
.u-img{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1}
.u-img img{width:100%;height:100%;object-fit:cover;object-position:50% 15%}
.u-txt{display:grid;gap:18px}
.u-txt .sec-lead{color:var(--ink)}
.u-txt>p:not([class]){color:var(--soft)}
.u-pr{border-top:1px solid var(--line)}
.u-pr li{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--soft)}
.u-pr b{display:block;font:700 21px/1.2 var(--display);color:var(--ink)}
.logos{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.logos li{display:flex;align-items:center;justify-content:center;height:60px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.logos li:nth-child(4n){border-right:0}
.logos li:nth-child(n+5){border-bottom:0}
.logos img{max-width:70%;max-height:22px;width:auto;filter:grayscale(1);opacity:.65}

/* Stimmen --------------------------------------------------------------- */
.v-grid{display:grid;gap:36px}
.v{display:grid;gap:12px}
.v blockquote{font:700 27px/1.15 var(--display)}
.v-more summary{color:var(--blue);font-weight:600;min-height:44px;display:inline-flex;align-items:center}
.v-more p{margin-top:6px;font-size:16px;color:var(--soft)}
.v figcaption{display:flex;gap:12px;align-items:center}
.v-mono{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font:700 19px var(--display)}
.v figcaption b{display:block}.v figcaption i{font-style:normal;font-size:14px;color:var(--soft)}

/* 07 Einstieg: vier Karten, die Hauptaktion zuerst sichtbar -------------- */
.ladder{display:grid;gap:12px}
.rung{display:grid;gap:8px;padding:22px 20px;border:1px solid var(--line);border-radius:var(--r)}
.rung-k{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.rung h3{font-size:30px;text-transform:uppercase}
.rung-p{font-weight:600;color:var(--blue)}
.rung>p:not([class]){font-size:16px;color:var(--soft)}
.rung .btn{width:100%;margin-top:8px}
.rung-hi{background:var(--night);border-color:var(--night);color:var(--mist)}
.rung-hi h3{color:#fff}.rung-hi .rung-k,.rung-hi .rung-p{color:var(--blue-lt)}.rung-hi>p:not([class]){color:rgba(237,243,246,.8)}
.rung-hi .btn{background:var(--blue-lt);border-color:var(--blue-lt);color:var(--night)}
.rung-hi .btn::after{background-color:var(--night);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 3.5 13.5 8 9 12.5' fill='none' stroke='%238FC4DC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.ladder-note{margin-top:16px;font-size:15px;color:var(--soft)}

/* 08 Fragen ------------------------------------------------------------- */
.faq-g{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);margin:32px 0 4px}
.faq-g:first-child{margin-top:0}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:60px;padding:14px 0;font:700 20px/1.2 var(--display)}
.faq summary::after{content:"+";flex:none;font:400 26px/1 var(--text);color:var(--blue);transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 18px;font-size:16px;color:var(--soft)}

/* Kontakt --------------------------------------------------------------- */
.k-grid{display:grid;gap:28px}
.k-intro{display:grid;gap:16px}
.k-me{display:flex;gap:12px;align-items:center}
.k-me img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 18%}
.k-me b{display:block;color:#fff}.k-me span{font-size:15px;color:rgba(237,243,246,.75)}
.book{margin-inline:-8px;padding:20px 16px;border-radius:20px;background:var(--paper);color:var(--ink)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:999px;background:var(--mist);margin-bottom:22px}
.seg [role=tab]{min-height:48px;border:0;border-radius:999px;background:transparent;font:600 15px var(--text);color:var(--ink)}
.seg [role=tab][aria-selected=true]{background:var(--night);color:#fff}
.days{display:flex;overflow-x:auto;gap:8px;scroll-snap-type:x proximity;margin-inline:-16px;padding:0 16px 6px;scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.day{flex:none;width:64px;scroll-snap-align:start}
.times{grid-template-columns:repeat(3,1fr)}
.row2{grid-template-columns:1fr}

/* Footer ---------------------------------------------------------------- */
.ft-in{display:grid;gap:28px;padding-block:56px 28px}
.ft-base{padding-block:18px 24px}


/* Unterseiten ----------------------------------------------------------- */
.page-h{padding-block:48px 28px}
.page-h h1{font-size:clamp(34px,9.4vw,46px);line-height:1.04}
.page-h .lead{margin-top:16px}
.legal{padding-block:0 64px}
.legal h2{font-size:22px}

/* Start-Analyse -------------------------------------------------------- */
.sa-hero{background:linear-gradient(180deg,var(--mist),var(--paper))}
.sa-hero-in{display:grid;gap:28px}
.sa-hero-txt{display:grid;gap:16px}
.price{display:grid;gap:14px;margin-inline:-8px;padding:22px 20px;border-radius:20px;background:var(--night);color:var(--mist)}
.price-k{font:600 13px/1.3 var(--text);letter-spacing:.16em;text-transform:uppercase;color:var(--blue-lt)}
.price-v{font:700 58px/.9 var(--display);color:#fff}
.price-v span{font:500 14px var(--text);color:rgba(237,243,246,.7);margin-left:8px}
.price-l li{position:relative;padding:10px 0 10px 26px;border-bottom:1px solid var(--line-inv);font-size:16px}
.price-l li::before{content:"";position:absolute;left:0;top:16px;width:12px;height:12px;border-radius:50%;background:var(--blue-lt)}
.price .btn{background:var(--blue-lt);border-color:var(--blue-lt);color:var(--night)}
.price .btn::after{background-color:var(--night);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h11M9 3.5 13.5 8 9 12.5' fill='none' stroke='%238FC4DC' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.price-n{font-size:14px;line-height:1.5;color:rgba(237,243,246,.75)}
.sa-grid{display:grid;gap:28px}
.sa-grid>div{display:grid;gap:16px}
.sa-grid h2{font-size:clamp(36px,10vw,48px)}
.report{display:grid;gap:14px;padding:20px;border:1px solid var(--line);border-radius:18px}
.report-k{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.report-h{font:700 23px/1.1 var(--display);text-transform:uppercase}
.bars{display:grid;gap:10px}
.bars div{display:grid;gap:6px}
.bars dt{font-size:15px}
.bars dd{margin:0;height:8px;border-radius:999px;background:var(--mist);overflow:hidden}
.bars span{display:block;height:100%;width:calc(var(--v) * 100%);background:var(--blue);border-radius:inherit}
.report .next{counter-reset:n;display:grid;gap:8px}
.report .next li{counter-increment:n;display:grid;grid-template-columns:26px 1fr;font-size:15.5px}
.report .next li::before{content:counter(n);font:700 20px/1.2 var(--display);color:var(--blue)}
.two{display:grid;gap:36px}
.two-h{font-size:24px;text-transform:uppercase;margin-bottom:10px}
.defs div{padding:12px 0;border-bottom:1px solid var(--line)}
.defs dt{font-weight:600}.defs dd{margin:2px 0 0;font-size:16px;color:var(--soft)}
.ticks li{position:relative;padding:11px 0 11px 28px;border-bottom:1px solid var(--line);font-size:16px;color:var(--soft)}
.ticks li::before{content:"";position:absolute;left:2px;top:18px;width:12px;height:7px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}
.two .fine{margin-top:14px}
.flow{display:grid;gap:12px}
.flow li{display:grid;grid-template-columns:44px 1fr;gap:4px 12px;padding:20px;border-radius:var(--r);border:1px solid var(--line)}
.flow-n{grid-row:1/3;font:700 44px/.85 var(--display);color:transparent;-webkit-text-stroke:1.2px var(--blue)}
.flow h3{font-size:24px;text-transform:uppercase}
.flow li>p:last-child{font-size:16px;color:var(--soft)}
.flow-inv li{border-color:var(--line-inv)}
.flow-inv .flow-n{-webkit-text-stroke-color:var(--blue-lt)}
.flow-inv li>p:last-child{color:rgba(237,243,246,.8)}
.sa-fine{margin-top:16px}
.sa-cta-in{display:grid;gap:16px}
.sa-cta h2{font-size:clamp(36px,10vw,48px)}
.sa-cta-act{display:grid;gap:6px}
.sa-cta-act .btn{width:100%}
.sa-cta-act .link-arrow{justify-content:center}

/* Danke ---------------------------------------------------------------- */
.danke-in{display:grid;gap:16px}
.danke-ring{width:56px;height:56px}
.danke-ring circle{fill:none;stroke:var(--blue);stroke-width:5}
.danke-ring .c{fill:var(--blue);stroke:none}
.danke-next{display:grid;gap:10px;margin-top:12px}
.danke-k{font:600 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.danke-next a{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:var(--r);color:var(--ink);text-decoration:none}
.danke-next b{font:700 22px/1 var(--display);text-transform:uppercase;color:var(--blue)}
.danke-next span{font-size:15px;color:var(--soft)}

/* Wischbare Reihen dürfen ihr Raster nicht aufdehnen */
.k-grid>*,.book,.pane,.pick,.tabs,.woran-p,.bx-p,.bx-txt{min-width:0}

.bx-btn{width:100%}
