/* Coach Hightower SEO pages, 1.10.2026. Loaded last on the 5 SEO pages (/online-personal-trainer,
   /online-coaching-kosten, /online-coaching-muskelaufbau, /ernaehrungscoaching-online, /ueber-pete).
   Built on the homepage stylesheets; this file only adds the page sections. The footer row (.fseo)
   is also used on /404. No uppercase letter-spaced labels on these pages. */
:root{--sp-sand:#e8e4da;--sp-soft:#57564e;--sp-x:max(64px,calc((100% - 1312px) / 2))}
html{scroll-padding-top:16px}
.sp main{overflow-x:clip}

/* Section shells */
.sp-sec{position:relative;padding:112px var(--sp-x)}
.sp-paper{background:var(--paper);color:var(--ink)}
.sp-sand{background:var(--sp-sand);color:var(--ink)}
.sp-ink{background:var(--ink);color:var(--paper)}
.sp-h2{font:800 52px/1.04 var(--heading);letter-spacing:-.045em;margin:0 0 24px;max-width:17ch;text-wrap:balance}
.sp-h2 em{font-style:normal;color:var(--orange)}
.sp-paper .sp-h2 em,.sp-sand .sp-h2 em{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:.08em;text-underline-offset:.12em}
.sp-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:96px;align-items:start}
.sp-split>.sp-h2{margin:0}
.sp-body p,.sp-p{font-size:18px;line-height:1.6;margin:0 0 18px;max-width:62ch;font-weight:500;color:var(--sp-soft);text-wrap:pretty}
.sp-ink .sp-body p,.sp-ink .sp-p{color:#d6d4cc}
.sp-body p:last-child{margin-bottom:0}
.sp-body p strong{color:var(--ink);font-weight:700}
.sp-ink .sp-body p strong{color:var(--paper)}
.sp-sub2{font-size:18px;line-height:1.55;font-weight:500;color:var(--sp-soft);max-width:60ch;margin:0}
.sp-ink .sp-sub2{color:#d6d4cc}
.sp a.tl{color:inherit;font-weight:600;text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:2px;text-underline-offset:4px;transition:color .2s,text-decoration-color .2s}
.sp a.tl:hover{text-decoration-color:currentColor}
.sp-ink a.tl:hover{color:var(--orange);text-decoration-color:var(--orange)}
.sp-more{display:inline-flex;align-items:center;gap:10px;min-height:48px;margin-top:22px;font:700 15px/1.2 var(--body);color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.sp-more svg{flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.sp-more:hover svg{transform:translateX(4px)}
.sp-ink .sp-more:hover{color:var(--orange)}
.sp-actions{margin-top:32px}
.sp-note{font-size:14px;line-height:1.5;color:var(--sp-soft);margin:14px 0 0;font-weight:500}
.sp-ink .sp-note,.dark-section .sp-note{color:#bdbab1}

/* Heroes */
.sp-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:var(--paper);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:56px;align-items:center;padding:24px var(--sp-x) 104px;min-height:clamp(620px,calc(100svh - 132px),860px)}
.sp-hero.solo{grid-template-columns:minmax(0,1fr)}
.sp-hero .sp-claws{position:absolute;z-index:-1;right:-5%;top:50%;width:min(60vw,800px);height:auto;transform:translateY(-50%) rotate(-6deg);opacity:.14;pointer-events:none;user-select:none}
.sp-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 0% 50%,var(--ink) 32%,transparent 72%);pointer-events:none}
.sp-hero-copy{max-width:680px}
.sp .sp-hh{font:750 70px/1.0 var(--heading);letter-spacing:-.05em;margin:0;max-width:13.5ch;color:var(--paper);text-wrap:balance}
.sp-hh em{font-style:normal;color:var(--orange)}
html[data-concept=b] .sp .sp-h1{font:700 25px/1.25 var(--heading);letter-spacing:-.02em;margin:28px 0 0;max-width:30ch;color:var(--paper);text-wrap:balance}
.sp-h1:before{content:"";display:block;width:40px;height:3px;border-radius:2px;background:var(--orange);margin:0 0 16px}
.sp-lede{font-size:18px;line-height:1.6;color:#ecebe4;font-weight:500;max-width:52ch;margin:18px 0 0}
.sp-offer{margin:16px 0 0;font:700 16px/1.5 var(--heading);color:var(--paper);max-width:54ch}
.sp-offer strong{color:var(--orange);font-weight:800}
.sp-first{margin:14px 0 0;font-size:15px;line-height:1.55;color:#bdbab1;max-width:56ch;font-weight:500}
.sp-hero .actions,.hero-a .sp-hero-actions{margin-top:30px}
.sp-micro{margin:12px 0 0;font-size:14px;line-height:1.5;color:#bdbab1;font-weight:500}
.sp-proof{margin:28px 0 0;padding:2px 0 2px 18px;border-left:2px solid var(--orange);max-width:52ch}
.sp-proof p{margin:0;font-size:16px;line-height:1.55;color:#ecebe4;font-weight:500}
.sp-proof figcaption{margin-top:8px;font-size:13px;color:#bdbab1}
.sp-hero-media{display:grid;place-items:center;position:relative}
.sp-portrait{margin:0;width:100%;max-width:440px;aspect-ratio:678/1023;border-radius:28px;overflow:hidden;background:#d9d9d6}
.sp-portrait img{display:block;width:100%;height:100%;object-fit:cover}
/* homepage photo hero on the trainer page: longer copy than the homepage, same photo and scrim */
.sp .hero-a .hero-copy{padding-bottom:110px;max-width:760px}

/* Hero entrance, same curves as the homepage intro */
.js .sp-in{opacity:0}
.js.intro .sp-in{animation:introRise 1.1s cubic-bezier(.22,1,.36,1) var(--d,.5s) both}
.js .sp-media{opacity:0}
.js.intro .sp-media{animation:spMedia 1.8s cubic-bezier(.22,1,.36,1) .25s both}
@keyframes spMedia{from{opacity:0;transform:translateY(40px) scale(.96);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}

/* Phone frame with real app screenshots (same frame as the homepage app section) */
.sp-phone{--pw:300px;position:relative;flex:none;width:var(--pw);height:calc(var(--pw) * 2.0875);border-radius:calc(var(--pw) * .175);padding:calc(var(--pw) * .028) calc(var(--pw) * .031) calc(var(--pw) * .025);background:#050505;box-shadow:0 0 0 2.5px #c8652a,0 0 0 3.5px #7a3a14,0 0 0 4.5px #e98a4e55,0 50px 90px #000a,0 20px 40px #0006;margin:0}
.sp-phone:before{content:"";position:absolute;left:-7px;top:18%;width:4px;height:5%;border-radius:3px 0 0 3px;background:linear-gradient(90deg,#8a4318,#d2733a)}
.sp-phone:after{content:"";position:absolute;right:-7px;top:25%;width:4px;height:11%;border-radius:0 3px 3px 0;background:linear-gradient(270deg,#8a4318,#d2733a)}
.sp-phone .scr{position:relative;width:100%;height:100%;border-radius:calc(var(--pw) * .147);overflow:hidden;background:#0b0b0d}
.sp-phone .shot{position:absolute;left:0;top:3.75%;width:100%;height:90.94%;object-fit:cover;object-position:top center;display:block}
.sp-phone .sb{position:absolute;left:0;width:100%;display:block;pointer-events:none}
.sp-phone .sb-t{top:0;height:3.75%}.sp-phone .sb-b{bottom:0;height:5.31%}
.sp-phones{display:flex;justify-content:center;gap:40px;padding-bottom:48px}
.sp-phones .sp-phone{--pw:250px}
.sp-phones .sp-phone:nth-child(2){transform:translateY(48px)}
.sp-media-cap{margin:28px 0 0;text-align:center;font-size:14px;color:var(--sp-soft);font-weight:500}

/* Two cards side by side */
.sp-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:56px}
.sp-card{background:var(--sp-sand);border-radius:24px;padding:36px;display:flex;flex-direction:column;gap:12px}
.sp-card h3{font:800 24px/1.2 var(--heading);letter-spacing:-.02em;margin:0}
.sp-card p{margin:0;font-size:17px;line-height:1.55;color:var(--sp-soft);font-weight:500}
.sp-card.hl{background:var(--ink);color:var(--paper);box-shadow:inset 0 3px 0 var(--orange)}
.sp-card.hl p{color:#d6d4cc}

/* Numbered steps */
.sp-steps{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:32px}
.sp-steps li{border-top:1px solid #1414132e;padding-top:24px}
.sp-ink .sp-steps li{border-color:var(--line)}
.sp-steps .num{display:block;font:800 46px/1 var(--heading);letter-spacing:-.04em;margin-bottom:20px}
.sp-steps .num:after{content:"";display:block;width:28px;height:3px;border-radius:2px;background:var(--orange);margin-top:14px}
.sp-steps h3{font:800 21px/1.25 var(--heading);margin:0 0 10px;letter-spacing:-.02em}
.sp-steps p{margin:0;font-size:16px;line-height:1.55;color:var(--sp-soft);font-weight:500}
.sp-ink .sp-steps p{color:#d6d4cc}
.sp-after{margin:40px 0 0;font-size:17px;line-height:1.55;font-weight:500;color:var(--sp-soft);max-width:70ch}
.sp-ink .sp-after{color:#d6d4cc}

/* Quotes */
.sp-q{margin:0;max-width:980px;border-left:2px solid var(--orange);padding-left:36px}
.sp-q blockquote{margin:0}
.sp-q p{margin:0;font:600 28px/1.45 var(--heading);letter-spacing:-.015em;text-wrap:pretty}
.sp-q figcaption{margin-top:22px;font-size:15px;color:var(--sp-soft);font-weight:500}
.sp-ink .sp-q figcaption{color:#bdbab1}
.sp-q figcaption b{color:inherit;font-weight:700}
.sp-qcard{margin:0;background:var(--ink);color:var(--paper);border-radius:24px;padding:36px;position:relative;overflow:hidden;isolation:isolate}
.sp-qcard:before{content:"";position:absolute;z-index:-1;right:-60px;bottom:-70px;width:220px;height:220px;background:url("/brand/claws-orange.svg") center/contain no-repeat;opacity:.1;transform:rotate(-8deg)}
.sp-qcard blockquote{margin:0}
.sp-qcard p{margin:0;font-size:18px;line-height:1.6;font-weight:500;color:#ecebe4}
.sp-qcard figcaption{margin-top:18px;font-size:14px;color:#bdbab1}
.sp-qcard figcaption b{color:var(--paper)}
.sp-ink .sp-qcard{background:var(--surface)}
.sp-qcol{display:grid;gap:20px;margin-top:40px}
.sp-qgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}

/* Tables */
.sp-tablewrap{margin-top:44px;border:1px solid #14141324;border-radius:20px;overflow:hidden;background:#fffdf8}
.sp-table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.4}
.sp-table caption{caption-side:bottom;text-align:left;padding:14px 20px;font-size:14px;color:var(--sp-soft);background:var(--paper);border-top:1px solid #14141318}
.sp-table th,.sp-table td{padding:18px 22px;text-align:left;border-bottom:1px solid #14141318;vertical-align:middle}
.sp-table thead th{font:700 15px/1.3 var(--heading);background:var(--ink);color:var(--paper);border-bottom:0}
.sp-table thead th.hl{background:#2a1a0c;color:var(--orange)}
.sp-table tbody th{font-weight:700;font-family:var(--heading)}
.sp-table tbody tr:last-child>*{border-bottom:0}
.sp-table td.hl{background:#f4770812}
.sp-table td b{font-family:var(--heading);font-weight:800}
.sp-table .ic{width:18px;height:18px;display:inline-block;vertical-align:-4px}
.sp-table .ic.yes{color:#b85a06}
.sp-table .ic.no{color:#9a978e}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sp-table.cmp td{text-align:center}
.sp-table.cmp thead th:not(:first-child){text-align:center}

/* Range rows and plain rows */
.sp-rows{list-style:none;margin:28px 0 28px;padding:0}
.sp-rows li{display:grid;grid-template-columns:200px 1fr;gap:24px;align-items:baseline;padding:18px 0;border-top:1px solid #1414132e}
.sp-rows li:last-child{border-bottom:1px solid #1414132e}
.sp-rows b{font:800 24px/1.2 var(--heading);letter-spacing:-.03em;color:var(--ink)}
.sp-rows span{font-size:17px;line-height:1.5;color:var(--sp-soft);font-weight:500}
.sp-ink .sp-rows li{border-color:var(--line)}
.sp-ink .sp-rows b{color:var(--paper)}
.sp-ink .sp-rows span{color:#d6d4cc}

/* Package cards on these pages: homepage cards, sentence-case labels */
.sp .packages .sp-h2{margin-bottom:18px}
html[data-concept=b] .sp .packages.sp-sec{padding:112px var(--sp-x)}
.sp .packages .sp-after p{color:#d6d4cc;margin:0 0 8px}
.sp .packages.sp-paper .sp-after p{color:var(--sp-soft)}
.sp .package .tier{font:800 26px/1.1 var(--heading);letter-spacing:-.03em;text-transform:none;margin:0 0 14px;color:var(--tier)}
.sp .package .launch{text-transform:none;letter-spacing:0;font:600 13px/1.4 var(--body)}
.sp .recommended{text-transform:none;letter-spacing:0;font-size:12px;font-weight:700}
.sp .package .no{margin:0 0 16px;font-size:14px;line-height:1.5;color:#bdbab1;font-weight:500}
.sp .package .no b{color:var(--paper);font-weight:600}
.sp .package .fit{margin:0 0 16px;font-size:14px;line-height:1.5;color:var(--paper);font-weight:500}
.sp .package .fit a{color:inherit;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px}
html[data-concept=b] .sp .package-grid.two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;margin-top:48px}
.sp .packages .sp-after a,.sp .packages .sp-note a{color:inherit}
.sp-wide{margin-top:40px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:48px;align-items:start;padding:36px;border:1px solid var(--orange);border-radius:24px;background:linear-gradient(120deg,#f4770822,#f4770808)}
.sp-wide h3{margin:0;font:800 30px/1.1 var(--heading);letter-spacing:-.03em}
.sp-wide p{margin:0 0 12px;font-size:16px;line-height:1.6;color:#d6d4cc;font-weight:500}
.sp-wide p:last-child{margin:0}

/* Package rows (Muskelaufbau) */
.sp-rowlist{list-style:none;margin:48px 0 0;padding:0}
.sp-rowlist li{display:grid;grid-template-columns:240px minmax(0,1fr) auto;gap:40px;align-items:center;padding:30px 0;border-top:1px solid var(--line)}
.sp-rowlist li:last-child{border-bottom:1px solid var(--line)}
.sp-rowlist h3{margin:0;font:800 28px/1.1 var(--heading);letter-spacing:-.03em;color:var(--tier,var(--paper))}
.sp-rowlist h3 span{display:block;margin-top:6px;font-size:18px;color:var(--paper);letter-spacing:-.01em}
.sp-rowlist p{margin:0;font-size:17px;line-height:1.55;color:#d6d4cc;font-weight:500;max-width:56ch}
.sp-rowlist .r-s{--tier:var(--green)}.sp-rowlist .r-p{--tier:var(--orange)}.sp-rowlist .r-e{--tier:var(--gold)}
.sp-rowlist .cta{background:transparent;border:1px solid var(--line);color:var(--paper);gap:12px}
.sp-rowlist .r-p .cta{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.sp-rowlist .cta:hover{border-color:var(--tier)}
.sp .cta svg{flex:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.sp .cta:hover svg{transform:translateX(4px)}

/* Icon items (Ernährungscoaching) */
.sp-items{list-style:none;margin:56px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sp-items li{background:var(--surface);border-radius:24px;padding:30px 28px;display:flex;flex-direction:column;gap:12px}
.sp-items .ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--orange);color:var(--ink)}
.sp-items h3{margin:6px 0 0;font:800 20px/1.25 var(--heading);letter-spacing:-.02em}
.sp-items p{margin:0;font-size:16px;line-height:1.55;color:#d6d4cc;font-weight:500}

/* Bordered box (what this is not) */
.sp-box{border:1.5px solid var(--ink);border-radius:24px;padding:44px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px}
.sp-box .sp-h2{margin:0}
.sp-xlist{list-style:none;margin:0;padding:0}
.sp-xlist li{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:16px 0;border-top:1px solid #14141324;font-size:17px;line-height:1.55;color:var(--sp-soft);font-weight:500}
.sp-xlist li:first-child{border-top:0;padding-top:0}
.sp-xlist b{color:var(--ink);display:block;font-weight:700}
.sp-xlist svg{width:22px;height:22px;margin-top:2px;color:var(--ink)}

/* Licences */
.sp-creds{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.sp-creds li{padding:24px 0;border-top:1px solid #1414132e}
.sp-creds h3{margin:0 0 8px;font:800 21px/1.25 var(--heading);letter-spacing:-.02em}
.sp-creds p{margin:0;font-size:16px;line-height:1.55;color:var(--sp-soft);font-weight:500}
.sp-plain{margin-top:36px}
.sp-plain p{margin:0 0 14px;font-size:15px;color:var(--sp-soft);font-weight:600}
.sp .credentials{display:flex;flex-wrap:wrap;gap:8px}
.sp .credentials span{border:1px solid #14141333;border-radius:999px;padding:7px 14px;font-size:14px;color:var(--ink);font-weight:500}

/* Pete's words */
.sp-words{max-width:880px}
.sp-words p{margin:0 0 22px;font:600 26px/1.5 var(--heading);letter-spacing:-.015em;color:var(--ink);text-wrap:pretty}
.sp-words .by{display:flex;align-items:center;gap:14px;margin-top:8px;font:700 16px var(--heading)}
.sp-words .by:before{content:"";width:40px;height:3px;border-radius:2px;background:var(--orange)}
.sp-opener{font:700 34px/1.35 var(--heading);letter-spacing:-.03em;max-width:38ch;margin:0;text-wrap:balance}

/* Ink card band inside a light section */
.sp-band{background:var(--ink);color:var(--paper);border-radius:32px;padding:64px;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;position:relative;overflow:hidden;isolation:isolate}
.sp-band:before{content:"";position:absolute;z-index:-1;right:-80px;top:-60px;width:360px;height:360px;background:url("/brand/claws-orange.svg") center/contain no-repeat;opacity:.1;transform:rotate(-8deg)}
.sp-band .sp-h2{margin:0}
.sp-band .sp-body p{color:#d6d4cc}
.sp-date{color:var(--orange);white-space:nowrap}
.sp-stripe{display:block;width:92px;height:auto;margin:0 0 28px;opacity:.9}
.sp .gift-strip h3{font:800 28px/1.15 var(--heading);letter-spacing:-.02em}
.sp .gift-strip{margin-top:0}
.sp .gift-strip p:not(.eyebrow){color:var(--sp-soft);font-weight:500}

/* Homepage sections reused on these pages */
.sp .coach{padding-top:112px;padding-bottom:112px}
.sp .coach .portrait img{width:100%;height:100%;object-fit:cover}
.sp .athlete{margin-top:0}
.sp .athlete .sp-more{margin-top:18px}
.sp .faq h2{font-size:52px;line-height:1.04;letter-spacing:-.045em}
.sp .closing h2 em{font-style:normal}

/* Quiet reveals for sections below the hero (hybrid.css .reveal look) */
@media(prefers-reduced-motion:reduce){.js .sp-in,.js .sp-media{opacity:1;animation:none!important}.sp-more svg,.sp .cta svg{transition:none}}

/* Footer: "Coaching" link row (also used on /404) */
html[data-concept=b] footer.has-fseo nav.fseo{grid-row:2;grid-column:1/-1;justify-self:start;display:flex;flex-wrap:wrap;align-items:center;gap:0 28px;margin:28px 0 0}
html[data-concept=b] footer.has-fseo nav.fseo .fseo-h{font:700 14px var(--heading);color:var(--paper);margin-right:4px}
html[data-concept=b] footer.has-fseo:before{grid-row:3}
html[data-concept=b] footer.has-fseo>span.fcopy,html[data-concept=b] footer.has-fseo .studio-credit{grid-row:4}

@media(max-width:1100px){
 .sp-split,.sp-box,.sp-band{grid-template-columns:1fr;gap:28px}
 .sp-hero{grid-template-columns:1fr;gap:48px;min-height:0;padding-top:24px}
 .sp .sp-hh{font-size:60px}
 .sp-items{grid-template-columns:1fr 1fr}
 .sp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 .sp-rowlist li{grid-template-columns:200px minmax(0,1fr);gap:20px 32px}
 .sp-rowlist li .cta{grid-column:2;justify-self:start}
 .sp-wide{grid-template-columns:1fr;gap:16px}
}
@media(max-width:700px){
 .sp-sec,html[data-concept=b] .sp .packages.sp-sec{padding:72px 24px}
 .sp-h2,.sp .faq h2{font-size:36px;line-height:1.06}
 .sp-body p,.sp-p,.sp-sub2{font-size:16px}
 .sp-hero{padding:16px 24px 72px;gap:40px}
 .sp-hero .sp-claws{width:118vw;right:-42vw;top:40%;opacity:.12}
 .sp .sp-hh{font-size:42px;line-height:1.02}
 html[data-concept=b] .sp .sp-h1{font-size:21px;margin-top:22px}
 .sp-lede{font-size:16px}
 .sp-offer{font-size:15px}
 .sp-hero .actions,.hero-a .sp-hero-actions{display:grid;justify-items:start;gap:8px}
 .sp-portrait{max-width:none;aspect-ratio:4/5;border-radius:24px}
 .sp-phone{--pw:240px}
 .sp-phones{gap:16px;padding-bottom:28px}
 .sp-phones .sp-phone{--pw:156px}
 .sp-phones .sp-phone:nth-child(2){transform:translateY(28px)}
 .sp-duo,.sp-qgrid,.sp-creds,.sp-items{grid-template-columns:1fr}
 .sp-card,.sp-qcard{padding:28px}
 .sp-steps{grid-template-columns:1fr;gap:28px;margin-top:40px}
 .sp-steps .num{font-size:38px}
 .sp-q{padding-left:20px}
 .sp-q p{font-size:21px}
 .sp-table{font-size:14px}
 .sp-table th,.sp-table td{padding:14px 12px}
 .sp-rows li{grid-template-columns:1fr;gap:4px}
 .sp-rows b{font-size:21px}
 .sp-rowlist li{grid-template-columns:1fr;gap:14px;padding:26px 0}
 .sp-rowlist li .cta{grid-column:auto}
 .sp-box{padding:28px}
 .sp-band{padding:36px 24px;border-radius:24px}
 .sp-words p{font-size:21px}
 .sp-opener{font-size:25px}
 html[data-concept=b] .sp .package-grid.two{grid-template-columns:1fr}
 .sp .coach{padding-top:72px;padding-bottom:72px}
 .sp-wide{padding:26px}
 .sp-wide h3{font-size:25px}
 .sp .gift-strip{flex-direction:column;align-items:flex-start}
 /* stacked comparison on phones: one card per row */
 .sp-table.stack thead{display:none}
 .sp-table.stack{display:flex!important;flex-direction:column}
 .sp-table.stack caption{order:2;display:block;width:auto}
 .sp-table.stack td b{white-space:nowrap}
 .sp-table.stack,.sp-table.stack tbody,.sp-table.stack tr,.sp-table.stack th,.sp-table.stack td{display:block;width:100%}
 .sp-table.stack tr{padding:16px 16px 10px;border-bottom:1px solid #14141318}
 .sp-table.stack tbody tr:last-child{border-bottom:0}
 .sp-table.stack tbody th{padding:0 0 8px;border:0;font-size:16px}
 .sp-table.stack td{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border:0;text-align:right!important;background:none!important}
 .sp-table.stack td:before{content:attr(data-label);text-align:left;color:var(--sp-soft);font-weight:500}
 html[data-concept=b] footer.has-fseo nav.fseo{grid-row:3;margin:18px 0 0;gap:0 22px}
 html[data-concept=b] footer.has-fseo nav.fseo:before{display:none}
 html[data-concept=b] footer.has-fseo nav.fseo .fseo-h{flex:0 0 100%;min-height:36px;display:flex;align-items:center}
 html[data-concept=b] footer.has-fseo nav.fseo a{order:1}
 html[data-concept=b] footer.has-fseo>span.fcopy,html[data-concept=b] footer.has-fseo .studio-credit{grid-row:4}
}
.sp-nb{white-space:nowrap}
@media(max-width:1100px){.sp .packages>p.sp-sub2,.sp .packages>p.sp-after{display:block}}
.sp-band .sp-body p strong{color:var(--paper)}
.sp-band .sp-body p strong.sp-date{color:var(--orange)}
.sp .athlete p+p{margin-top:12px}

/* Round 2 (audit 1 Oct 2026) */
@media(min-width:701px){
 .sp .faq,.sp .coach{padding-left:var(--sp-x);padding-right:var(--sp-x)}
 html[data-concept=b] .sp .athlete{margin-left:var(--sp-x);margin-right:var(--sp-x)}
 html[data-concept=b] .sp .hero-a .hero-copy{padding-left:var(--sp-x)}
}
.sp h3,.sp .closing h2,.sp .faq h2{text-wrap:balance}
.sp .package ul{flex:0 0 auto}
.sp .package .terms{margin-top:auto}
.sp .package .no-h{margin:0 0 4px;font:600 13px/1.4 var(--body);color:#bdbab1}
html[data-concept=b] .sp .package ul.no-l{margin:0 0 20px}
html[data-concept=b] .sp .package ul.no-l li{color:#a9a69d;border-bottom-color:#ffffff12}
.sp-skip{position:fixed;left:16px;top:8px;z-index:300;padding:12px 16px;border-radius:8px;background:var(--orange);color:var(--ink);font:700 15px var(--body);text-decoration:none;transform:translateY(-160%);transition:transform .2s}
.sp-skip:focus-visible{transform:none}
main:focus{outline:none}
html[data-concept=b] footer.has-fseo nav a{min-width:44px;justify-content:center}
html[data-concept=b] footer.has-fseo nav .fsoc a{width:44px;height:44px}
.sp-duo-top{margin-top:0}
.sp-card.sp-card-l{padding:44px;gap:14px}
.sp-card-h{font:800 30px/1.1 var(--heading);letter-spacing:-.03em;margin:0 0 6px;text-wrap:balance}
.sp-box .sp-body p{color:var(--sp-soft)}
.sp .closing p a.tl{text-decoration-color:var(--ink)}
@media(max-width:700px){
 /* Round 3: photo band above the copy with both faces (real crop of hero.webp), CTA inside 667px */
 html[data-concept=b] .sp .hero-a .hero-photo{position:relative!important;inset:auto;display:block;width:100%!important;height:auto!important;aspect-ratio:900/456;object-fit:cover;object-position:center!important;transform:none!important}
 html[data-concept=b] .sp .hero-a .hero-scrim{background:linear-gradient(180deg,#14141300 0,#14141300 calc(100vw * .38),var(--ink) calc(100vw * .507))!important}
 html[data-concept=b] .sp .hero-a .hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding:18px 24px 56px!important}
 html[data-concept=b] .sp .hero-a .sp-hh{font-size:36px;order:1}
 html[data-concept=b] .sp .hero-a .sp-h1{order:2;margin-top:18px}
 html[data-concept=b] .sp .hero-a .sp-hero-actions{order:3;margin-top:22px}
 html[data-concept=b] .sp .hero-a .sp-micro{order:4}
 html[data-concept=b] .sp .hero-a .sp-lede{order:5;margin-top:20px}
 html[data-concept=b] .sp .hero-a .sp-offer{order:6;margin-top:14px}
 html[data-concept=b] .sp .hero-a .sp-proof{order:7}
 .sp-card.sp-card-l{padding:28px}
 .sp-card-h{font-size:25px}
 .sp-hero{padding-top:8px}
}

/* Round 4 (audit R4-02, R4-07): every heading at most two lines at 320 to 1440. One fluid scale:
   hero header > H2 > H1 sub-line, all balanced, no ch caps that force extra lines. */
.sp{--sp-hhs:clamp(56px,4.4vw,64px);--sp-h2s:44px;--sp-h1s:24px;--sp-cards:28px;--sp-close:min(76px,6vw)}
@media(max-width:1100px){.sp{--sp-hhs:clamp(40px,5.2vw,60px);--sp-h2s:clamp(32px,4.6vw,44px);--sp-h1s:clamp(20px,2.6vw,24px);--sp-cards:clamp(22px,3vw,28px)}}
@media(max-width:700px){.sp{--sp-hhs:8.2vw;--sp-h2s:6.4vw;--sp-h1s:5.4vw;--sp-cards:5.8vw;--sp-close:7.2vw}}
html[data-concept=b] .sp .sp-hh,html[data-concept=b] .sp .hero-a .sp-hh{font-size:var(--sp-hhs);max-width:none;text-wrap:balance}
html[data-concept=b] .sp .sp-h1{font-size:var(--sp-h1s);max-width:none;text-wrap:balance}
html[data-concept=b] .sp .sp-h2,html[data-concept=b] .sp .faq h2,html[data-concept=b] .sp .coach-copy h2,html[data-concept=b] .sp .athlete h2{font-size:var(--sp-h2s);line-height:1.08;max-width:none;text-wrap:balance}
html[data-concept=b] .sp .sp-card-h,html[data-concept=b] .sp .sp-wide h3{font-size:var(--sp-cards);text-wrap:balance}
html[data-concept=b] .sp .closing h2{font-size:var(--sp-close);text-wrap:balance}
@media(max-width:1100px){.sp .faq,.sp .coach{grid-template-columns:1fr}}
@media(max-width:700px){html[data-concept=b] .sp .closing h2 br{display:none}}
html[data-concept=b] .sp .sp-hh br:has(+ em){display:none}
html[data-concept=b] .sp .sp-hh br+em::before{content:" "}
@media(min-width:1101px){.sp-band{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:1100px){html[data-concept=b] .sp .athlete{grid-template-columns:1fr}html[data-concept=b] .sp .athlete img{height:auto!important;aspect-ratio:4/3}}
html[data-concept=b] .sp .package .tier{font-size:min(26px,var(--sp-cards));text-wrap:balance}
.sp-creds h3{font-size:clamp(18px,5.4vw,21px);text-wrap:balance}
@media(max-width:1100px){.sp-creds{grid-template-columns:1fr}}

html[data-concept=b] .sp .sp-hero .sp-hero-copy{max-width:none}
.sp-hero .sp-hero-copy>.sp-lede,.sp-hero .sp-hero-copy>.sp-offer,.sp-hero .sp-hero-copy>.sp-first,.sp-hero .sp-hero-copy>.sp-proof{max-width:56ch}
/* Round 5: wider hero copy column at desktop so the longest header (Muskelaufbau, 2nd line ~1000px at 64px) stays on 2 lines */
@media(min-width:1101px){
 .sp-hero:not(.solo){grid-template-columns:minmax(0,1fr) auto}
 .sp-hero .sp-phone{--pw:240px}
 .sp-hero .sp-portrait{width:380px}
}
/* Muskelaufbau header has text, not <em>, after its <br>: keep that break (hiding it would join "Wiedereinstieg" and "ins") */
html[data-concept=b] .sp .sp-hero:has(img[src*="uebung-kniebeugen"]) .sp-hh br{display:inline}
/* Round 5b (audit R5-01): 1101 to 1439px get the 1440 proportions, scaled down with the viewport */
@media(min-width:1101px) and (max-width:1439px){
 .sp{--sp-hhs:clamp(48px,calc(5.83vw - 21px),64px);--sp-h2s:clamp(36px,calc(2.92vw + 2px),44px)}
 .sp-split,.sp-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
/* Round 6: the photo-hero copy box includes the left page edge (--sp-x); above 1440 that edge grew and squeezed the copy. Keep 760px of copy width at every width. */
@media(min-width:701px){html[data-concept=b] .sp .hero-a .hero-copy{max-width:calc(var(--sp-x) + 760px);box-sizing:border-box}}
