/* ==========================================================================
   KØRPERKOMPASS – Gestaltungssystem
   Alle Designwerte stehen zentral in :root. Komponenten nutzen nur diese Werte.
   ========================================================================== */

/* ---------- Schriften ---------- */
@font-face{font-family:"Bebas Neue";src:local("Bebas Neue"),local("BebasNeue-Regular"),url("../fonts/BebasNeue-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Bebas Neue";src:url("../fonts/BebasNeue-Regular-ext.woff2") format("woff2");unicode-range:U+0100-024F,U+1E00-1EFF;font-display:swap}
/* Original-Avenir: Datei assets/fonts/AvenirLight.woff2 ablegen, dann greift sie automatisch */
@font-face{font-family:"KK Avenir";src:local("Avenir Light"),local("Avenir-Light"),url("../fonts/AvenirLight.woff2") format("woff2");font-weight:300 400;font-display:swap}
@font-face{font-family:"KK Brittany";src:local("Brittany Signature"),url("../fonts/BrittanySignature.woff2") format("woff2");font-display:swap}
/* Ersatzschrift für Fließtext, solange keine Avenir-Webfont-Datei vorliegt */
@font-face{font-family:"KK Text";src:url("../fonts/Ersatz-NunitoSans-300.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:"KK Text";src:url("../fonts/Ersatz-NunitoSans-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"KK Text";src:url("../fonts/Ersatz-NunitoSans-600.woff2") format("woff2");font-weight:600;font-display:swap}

/* ---------- Designvariablen ---------- */
:root{
  /* Farben (verbindlich) */
  --tq:#1AC7C9; --ye:#F4D35E; --tl:#E3FAFA; --an:#14181A; --wh:#FFFFFF;
  --line:rgb(20 24 26 / .12);
  --line-2:rgb(20 24 26 / .22);
  --muted:rgb(20 24 26 / .74);

  /* Schriften */
  --f-head:"Bebas Neue","Arial Narrow",Impact,sans-serif;
  --f-body:"KK Avenir","KK Text","Avenir Next",Avenir,"Segoe UI",system-ui,sans-serif;
  --f-script:"KK Brittany","Brush Script MT",cursive;

  /* Schriftgrößen */
  --fs-xs:.875rem;                               /* 14px – Hinweise */
  --fs-s:.9375rem;                               /* 15px – Kartentext */
  --fs-b:clamp(1rem,.15vw + .97rem,1.0625rem);   /* 16–17px – Fließtext */
  --fs-l:clamp(1.0625rem,.4vw + 1rem,1.25rem);   /* Einleitungen */
  --h1:clamp(2.75rem,5.4vw,5rem);
  --h2:clamp(2.1rem,3.3vw,3.2rem);
  --h3:clamp(1.55rem,1.4vw + .9rem,1.95rem);
  --h4:1.3rem;
  --lh:1.65; --lh-tight:1.4;

  /* Abstände */
  --s1:.5rem; --s2:1rem; --s3:1.5rem; --s4:2rem; --s5:3rem;
  --sec:clamp(3.5rem,7vw,6rem);                  /* Abschnitt oben/unten */

  /* Breiten */
  --w:1160px; --w-text:40rem; --gut:clamp(16px,4vw,40px);

  /* Rundungen */
  --r-s:10px; --r-m:16px; --r-l:24px; --r-pill:999px;

  /* Komponenten */
  --btn-h:48px; --hdr-h:72px;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--wh);color:var(--an);font-family:var(--f-body);font-weight:400;font-size:var(--fs-b);line-height:var(--lh);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-head);font-weight:400;letter-spacing:.01em;line-height:.95;margin:0}
h1{font-size:var(--h1)} h2{font-size:var(--h2)} h3{font-size:var(--h3)} h4{font-size:var(--h4);letter-spacing:.03em}
p{margin:0}
ul,ol{margin:0;padding:0}
:focus-visible{outline:3px solid var(--tq);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:var(--gut);top:-60px;background:var(--an);color:var(--wh);padding:.6rem 1rem;border-radius:var(--r-s);z-index:100}
.skip:focus{top:12px}
.tq{color:var(--tq)}
.mark{background:linear-gradient(transparent 62%,var(--ye) 62%);padding:0 .05em}
.script{font-family:var(--f-script);font-weight:400;line-height:1.3}

/* ---------- Layout ---------- */
.wrap{max-width:var(--w);margin-inline:auto;padding-inline:var(--gut)}
.wrap-text{max-width:calc(var(--w-text) + 2 * var(--gut));margin-inline:auto;padding-inline:var(--gut)}
.section{padding-block:var(--sec)}
.section--tint{background:var(--tl)}
.section--line{border-top:1px solid var(--line)}
.section:not(.section--tint) + .section:not(.section--tint):not(.section--line){padding-top:0}
.grid{display:grid;gap:var(--s3)}
.grid > *{min-width:0}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.split > *{min-width:0}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr}.split{grid-template-columns:1fr}}
@media (max-width:640px){.g2,.g4{grid-template-columns:1fr}}
.stack{display:grid;gap:var(--s2);align-content:start}
.stack-s{display:grid;gap:var(--s1);align-content:start}

/* ---------- Abschnittsköpfe ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--f-head);font-size:1.05rem;letter-spacing:.14em;color:var(--an)}
.eyebrow::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--tq);box-shadow:14px 0 0 var(--ye);margin-right:14px}
.s-head{display:grid;gap:var(--s2);margin-bottom:clamp(2rem,4vw,3rem);max-width:46rem}
.s-head--center{margin-inline:auto;text-align:center;justify-items:center}
.lead{font-size:var(--fs-l);line-height:1.6;max-width:var(--w-text)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-xs);line-height:1.5}
.s-foot{margin-top:clamp(1.6rem,3vw,2.4rem);display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center}
.s-head--center + * + .s-foot,.s-foot--center{justify-content:center}

/* ---------- Buttons & Links ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:var(--btn-h);padding:.7rem 1.4rem;border-radius:var(--r-pill);border:1.5px solid var(--an);background:var(--an);color:var(--wh);font-family:var(--f-body);font-weight:600;font-size:1rem;letter-spacing:.01em;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn:hover{background:var(--tq);border-color:var(--tq);color:var(--an)}
.btn--secondary{background:transparent;color:var(--an)}
.btn--secondary:hover{background:var(--tl);border-color:var(--an);color:var(--an)}
.btn--block{width:100%}
.btn .arr{transition:transform .2s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.link{font-weight:600;text-decoration:underline;text-decoration-color:var(--tq);text-decoration-thickness:2px;text-underline-offset:4px}
.link:hover{text-decoration-color:var(--an)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
@media (max-width:480px){.btn-row--stack .btn{width:100%}}

/* ---------- Badges ---------- */
.badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;font-weight:600;letter-spacing:.02em;line-height:1;padding:.4rem .7rem;border-radius:var(--r-pill);background:var(--ye);color:var(--an);white-space:nowrap}
.badge--tint{background:var(--tl)}
.badge--line{background:var(--wh);border:1.5px solid var(--line-2)}

/* ---------- Karten ---------- */
.card{background:var(--wh);border:1.5px solid var(--line-2);border-radius:var(--r-l);padding:clamp(1.25rem,2.4vw,1.9rem);display:flex;flex-direction:column;gap:var(--s2);min-width:0}
.card--tint{background:var(--tl);border-color:transparent}
.card--accent{border-color:var(--tq);background:var(--tl)}
.section--tint .card:not(.card--tint):not(.card--accent){border-color:transparent}
.card h3{font-size:var(--h3)}
.card p{font-size:var(--fs-s);line-height:1.6}
.card .card-foot{margin-top:auto;padding-top:var(--s2);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center;justify-content:space-between}
a.card{text-decoration:none;transition:border-color .2s,transform .25s var(--ease)}
a.card:hover{border-color:var(--tq);transform:translateY(-2px)}
.card-label{font-family:var(--f-head);letter-spacing:.12em;font-size:.98rem;color:var(--an);opacity:.75}

/* ---------- Icons (einheitliche Linien-Icons) ---------- */
.ic{width:56px;height:56px;border-radius:50%;background:var(--tl);display:grid;place-items:center;flex:none}
.ic img{width:30px;height:30px;object-fit:contain}
.section--tint .ic,.card--tint .ic,.card--accent .ic{background:var(--wh)}
.ic--l{width:72px;height:72px}.ic--l img{width:40px;height:40px}

/* ---------- Listen ---------- */
.check,.cross{list-style:none;display:grid;gap:.55rem}
.check li,.cross li{display:grid;grid-template-columns:22px 1fr;gap:.6rem;font-size:var(--fs-s);line-height:1.5}
.check li::before,.cross li::before{content:"";width:20px;height:20px;border-radius:50%;margin-top:.12em;background-position:center;background-repeat:no-repeat;background-size:12px}
.check li::before{background-color:var(--tq);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.3l3 2.9L12.5 5' fill='none' stroke='%2314181A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.cross li::before{background-color:var(--wh);border:1.5px solid var(--line-2);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M5 5l6 6M11 5l-6 6' fill='none' stroke='%2314181A' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E")}
.plus li::before{background-color:var(--ye);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 4v8M4 8h8' fill='none' stroke='%2314181A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}

/* ---------- Faktenliste (Dauer, Format …) ---------- */
.facts{display:grid;margin:0}
.facts div{display:grid;grid-template-columns:7.5rem 1fr;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--line)}
.facts dt{font-size:var(--fs-xs);font-weight:600;color:var(--muted)}
.facts dd{margin:0;font-size:var(--fs-s);line-height:1.5}
@media (max-width:400px){.facts div{grid-template-columns:1fr;gap:.1rem}}

/* ---------- Preis ---------- */
.price{display:flex;flex-wrap:wrap;align-items:baseline;gap:.2rem .8rem}
.price b{font-family:var(--f-head);font-weight:400;font-size:clamp(2.2rem,2.4vw + 1rem,2.8rem);line-height:1}
.price span{font-size:var(--fs-xs);color:var(--muted)}

/* ---------- Nummerierte Schritte ---------- */
.steps{list-style:none;display:grid;gap:var(--s3);counter-reset:st}
.steps > li{counter-increment:st;display:grid;grid-template-columns:44px 1fr;gap:var(--s2);align-items:start}
.steps > li::before{content:counter(st);width:44px;height:44px;border-radius:50%;background:var(--tl);display:grid;place-items:center;font-family:var(--f-head);font-size:1.4rem}
.section--tint .steps > li::before{background:var(--wh)}
.steps b{display:block;font-weight:600;margin-bottom:.15rem}
.steps p{font-size:var(--fs-s);color:var(--muted)}

/* ---------- Akkordeon ---------- */
.acc{border-top:1px solid var(--line-2)}
.acc details{border-bottom:1px solid var(--line-2);scroll-margin-top:calc(var(--hdr-h) + 16px)}
.acc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:var(--s2);align-items:center;padding:1.1rem 0;min-height:56px}
.acc summary::-webkit-details-marker{display:none}
.acc summary .t{font-weight:600;font-size:1.0625rem;line-height:1.4}
.acc summary .t small{display:block;font-weight:400;font-size:var(--fs-xs);color:var(--muted);margin-top:.15rem}
.acc summary i{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--an);display:grid;place-items:center;font-style:normal;font-size:1.2rem;transition:transform .25s var(--ease),background .2s}
.acc details[open] summary i{transform:rotate(45deg);background:var(--tq);border-color:var(--tq)}
.acc .acc-body{padding:0 0 1.4rem;display:grid;gap:var(--s2);font-size:var(--fs-s)}
.acc .acc-body p{max-width:var(--w-text)}

/* ---------- Formulare ---------- */
.field{display:grid;gap:.35rem;font-size:var(--fs-s);font-weight:600}
.field input,.field select,.field textarea{width:100%;min-height:50px;border:1.5px solid var(--line-2);border-radius:var(--r-s);padding:.7rem .9rem;font:inherit;font-weight:400;color:var(--an);background:var(--wh)}
.field input:focus,.field select:focus{border-color:var(--an);outline:none;box-shadow:0 0 0 3px rgb(26 199 201 / .35)}
.consent{display:grid;grid-template-columns:24px 1fr;gap:.6rem;align-items:start;font-size:var(--fs-xs);line-height:1.5;background:var(--tl);border-radius:var(--r-s);padding:.8rem .9rem}
.consent input{width:22px;height:22px;accent-color:var(--an);margin:0}
.form-msg{font-size:var(--fs-s);border-radius:var(--r-s);padding:.8rem 1rem;background:var(--ye)}
.form-ok{border-radius:var(--r-m);padding:1.1rem 1.2rem;background:var(--tl);display:grid;gap:.4rem}
.form-ok b{font-family:var(--f-head);font-weight:400;font-size:1.7rem;line-height:1}

/* ---------- Zitat ---------- */
.quote{border-left:4px solid var(--tq);padding:.4rem 0 .4rem 1.2rem;max-width:44rem}
.quote blockquote{margin:0;font-size:var(--fs-l);line-height:1.55;font-weight:600}
.quote figcaption{margin-top:.5rem;font-size:var(--fs-xs);color:var(--muted)}

/* ---------- Kopfzeile & Navigation ---------- */
.hdr{position:sticky;top:0;z-index:50;background:var(--wh);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--hdr-h)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--f-head);font-size:1.6rem;letter-spacing:.06em}
.brand img{width:42px;height:42px}
.nav{display:flex;align-items:center;gap:clamp(.4rem,1.2vw,1.2rem)}
.nav-list{list-style:none;display:flex;align-items:center;gap:clamp(.2rem,1vw,.8rem)}
.nav-list > li{position:relative}
.nav-a{white-space:nowrap;display:inline-flex;align-items:center;gap:.35rem;min-height:44px;padding:.4rem .55rem;font-weight:600;font-size:.98rem;text-decoration:none;border-radius:var(--r-s);background:none;border:0;color:inherit;font-family:inherit;cursor:pointer}
.nav-a:hover{background:var(--tl)}
.nav-a[aria-current]{box-shadow:inset 0 -3px 0 var(--tq);border-radius:0}
.nav-a .chev{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.has-sub[data-open] .chev{transform:translateY(1px) rotate(-135deg)}
.sub{position:absolute;left:0;top:calc(100% + 6px);min-width:250px;list-style:none;background:var(--wh);border:1.5px solid var(--line-2);border-radius:var(--r-m);padding:.5rem;display:none;box-shadow:0 18px 40px -24px rgb(20 24 26 / .35)}
.has-sub[data-open] .sub{display:grid}
.sub a{display:grid;gap:.1rem;padding:.6rem .75rem;border-radius:var(--r-s);text-decoration:none}
.sub a b{font-weight:600;font-size:.98rem}
.sub a span{font-size:var(--fs-xs);color:var(--muted)}
.sub a:hover,.sub a[aria-current]{background:var(--tl)}
.nav-member{white-space:nowrap;font-size:var(--fs-xs);font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;min-height:44px;padding:0 .4rem}
.nav-member img{width:20px;height:20px}
.nav-member:hover{text-decoration:underline;text-decoration-color:var(--tq);text-decoration-thickness:2px}
.nav .btn{min-height:44px;padding:.55rem 1.1rem;font-size:.95rem;background:var(--tq);border-color:var(--tq);color:var(--an)}
.nav .btn:hover{background:var(--an);border-color:var(--an);color:var(--wh)}
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--an);background:var(--wh);cursor:pointer;place-items:center}
.burger span,.burger span::before,.burger span::after{display:block;width:18px;height:2px;background:var(--an);position:relative;transition:transform .25s var(--ease),background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] span::after{transform:translateY(-6px) rotate(-45deg)}
@media (hover:hover) and (min-width:1201px){.has-sub:hover .sub{display:grid}.has-sub:hover .chev{transform:translateY(1px) rotate(-135deg)}.sub::before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}}
@media (max-width:1200px){
  .burger{display:grid}
  .nav{position:fixed;inset:var(--hdr-h) 0 0 0;background:var(--wh);flex-direction:column;align-items:stretch;gap:var(--s2);padding:var(--s2) var(--gut) var(--s5);overflow:auto;display:none}
  .nav.open{display:flex}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list > li{border-bottom:1px solid var(--line)}
  .nav-a{width:100%;justify-content:space-between;font-size:1.15rem;min-height:56px;padding:.6rem .2rem}
  .nav-a[aria-current]{box-shadow:none;color:var(--an);text-decoration:underline;text-decoration-color:var(--tq);text-decoration-thickness:3px;text-underline-offset:6px}
  .sub{position:static;display:none;border:0;box-shadow:none;padding:0 0 .6rem;min-width:0}
  .has-sub[data-open] .sub{display:grid}
  .sub a{padding:.7rem .8rem}
  .nav .btn{min-height:52px;font-size:1.05rem}
  .nav-member{justify-content:center;min-height:52px;border:1.5px solid var(--line-2);border-radius:var(--r-pill)}
}

/* Brotkrumen */
.crumb{border-bottom:1px solid var(--line)}
.crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding-block:.6rem;font-size:var(--fs-xs)}
.crumb li+li::before{content:"›";margin-right:.5rem;color:var(--muted)}
.crumb a{text-decoration:none;color:var(--muted)}
.crumb a:hover{text-decoration:underline}
.crumb [aria-current]{font-weight:600}

/* ---------- Seitenkopf ---------- */
.p-head{padding-block:clamp(2.5rem,5vw,4.2rem) clamp(2rem,4vw,3rem)}
.p-head .wrap{display:grid;gap:var(--s2);max-width:var(--w)}
.p-head h1{max-width:16ch}
.p-head .lead{margin-top:.2rem}

/* ---------- Abschluss-Band ---------- */
.cta-band{background:var(--tl);border-radius:var(--r-l);padding:clamp(1.6rem,4vw,3rem);display:grid;grid-template-columns:1fr auto;gap:var(--s3);align-items:center}
.cta-band h2{font-size:clamp(2rem,2.8vw + .4rem,2.9rem)}
.cta-band p{margin-top:.5rem}
@media (max-width:760px){.cta-band{grid-template-columns:1fr}}

/* ---------- Footer ---------- */
.ftr{border-top:1px solid var(--line-2);padding-block:clamp(2.5rem,5vw,3.5rem) 1.5rem}
.ftr-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:var(--s4)}
.ftr-top > *{min-width:0}
.ftr .brand{font-size:1.4rem}
.ftr-claim{margin-top:var(--s2);font-family:var(--f-head);font-size:1.35rem;letter-spacing:.04em;line-height:1.1}
.ftr h2{font-family:var(--f-body);font-weight:600;font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.8rem}
.ftr ul{list-style:none;display:grid;gap:.2rem}
.ftr li a{display:inline-block;padding:.25rem 0;font-size:var(--fs-s);text-decoration:none}
.ftr li a:hover{text-decoration:underline;text-decoration-color:var(--tq);text-decoration-thickness:2px}
.socials{display:flex;gap:.5rem;margin-top:.8rem}
.socials a{width:44px;height:44px;border-radius:50%;background:var(--tl);display:grid;place-items:center}
.socials img{width:20px;height:20px}
.ftr-bottom{margin-top:var(--s4);padding-top:var(--s2);border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;font-size:var(--fs-xs);color:var(--muted)}
.ftr-bottom a{text-decoration:none}
.ftr-bottom a:hover{text-decoration:underline}
@media (max-width:900px){.ftr-top{grid-template-columns:1fr 1fr}.ftr-top > :first-child{grid-column:1/-1}}

/* ---------- Dialog (Warteliste, Mini-Workbook) ---------- */
.kk-dlg{border:0;padding:0;border-radius:var(--r-l);width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;color:var(--an)}
.kk-dlg::backdrop{background:rgb(20 24 26 / .5)}
.kk-dlg form{display:grid;gap:var(--s2);padding:clamp(1.4rem,4vw,2.2rem);position:relative}
.kk-dlg h2{font-size:clamp(2rem,3vw + .6rem,2.6rem);padding-right:3rem}
.kk-dlg .x{position:absolute;top:1rem;right:1rem;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--an);background:var(--wh);font-size:1.3rem;cursor:pointer}
.kk-dlg[aria-busy=true] [type=submit]{opacity:.6;pointer-events:none}

/* ---------- Bewegung (dezent) ---------- */
.rv{opacity:1}
@media (prefers-reduced-motion:no-preference){
  .rv.pre{opacity:0;transform:translateY(16px)}
  .rv.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* ==========================================================================
   Seitenbausteine
   ========================================================================== */

/* Startseite – Einstieg (Foto läuft weich aus, kein Rahmen) */
.hero{position:relative;overflow:hidden;overflow:clip;min-height:clamp(560px,46vw,720px);display:flex;align-items:center;padding-block:clamp(2.5rem,5vw,4rem)}
.hero-bg{position:absolute;inset:0 0 0 auto;width:min(72%,1250px);z-index:0}
.hero-bg picture{display:block;width:100%;height:100%}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:40% 20%}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--wh) 0%,rgb(255 255 255 / .92) 14%,rgb(255 255 255 / .35) 34%,rgb(255 255 255 / 0) 52%),linear-gradient(0deg,var(--wh) 0%,rgb(255 255 255 / 0) 18%)}
.hero .wrap{position:relative;z-index:1;width:100%}
.hero-copy{min-width:0;display:grid;gap:1.4rem;max-width:min(560px,52%)}
.hero h1{font-size:clamp(3.2rem,5.4vw,6rem);line-height:.88}
.hero h1 .row{display:block}
.hero h1 .tq{color:var(--tq)}
.hero h1 .hl{position:relative;display:inline-block;isolation:isolate}
.hero h1 .hl::after{content:"";position:absolute;left:-.04em;right:-.06em;bottom:.08em;height:.26em;background:var(--ye);z-index:-1;border-radius:3px}
.hero .sub-h{font-size:clamp(1.15rem,.6vw + 1rem,1.4rem);line-height:1.4;font-weight:600;max-width:32ch}
.hero .lead{max-width:42ch}
.hero-sign{font-family:var(--f-script);font-size:clamp(1.9rem,2.2vw,2.5rem);line-height:1.5}
.hero-sign small{display:block;font-family:var(--f-body);font-size:.85rem;line-height:1.4;margin-top:.4rem}
@media (prefers-reduced-motion:no-preference){
  .hero-bg img{animation:flyin 1.4s .1s var(--ease) both}
  .hero h1 .row{animation:wordin .8s var(--ease) both}
  .hero h1 .row:nth-child(1){animation-delay:.3s}.hero h1 .row:nth-child(2){animation-delay:.7s}.hero h1 .row:nth-child(3){animation-delay:1.1s}
  .hero h1 .hl::after{transform-origin:left;animation:mark .8s 1.7s var(--ease) both}
  @keyframes flyin{from{opacity:0;transform:translateX(6%) scale(1.03)}to{opacity:1;transform:none}}
  @keyframes wordin{from{opacity:0;transform:translateX(-60px)}to{opacity:1;transform:none}}
  @keyframes mark{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media (max-width:860px){
  .hero{display:block;min-height:0;padding-top:0}
  .hero-bg{position:relative;width:auto;height:66vw;max-height:380px}
  .hero-bg img{object-position:50% 12%}
  .hero-bg::after{background:linear-gradient(0deg,var(--wh) 0%,rgb(255 255 255 / 0) 35%),linear-gradient(90deg,rgb(255 255 255 / .6) 0%,rgb(255 255 255 / 0) 30%)}
  .hero-copy{max-width:none;margin-top:-1.5rem;gap:1.1rem}
  .hero h1{font-size:clamp(3rem,15vw,4rem)}
}

/* Kommt dir das bekannt vor */
.known{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2)}
.known li{background:var(--wh);border-radius:var(--r-m);padding:1.1rem 1.2rem 1.1rem 3.2rem;position:relative;font-size:var(--fs-b);line-height:1.55}
.known li::before{content:"";position:absolute;left:1.2rem;top:1.3rem;width:14px;height:14px;border-radius:50%;background:var(--tq)}
@media (max-width:700px){.known{grid-template-columns:1fr}}

/* Vier Schritte */
.phases{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s3)}
.phase{display:grid;gap:.7rem;align-content:start}
.phase .n{font-family:var(--f-head);font-size:1rem;letter-spacing:.12em;color:var(--muted)}
.phase h3{font-size:var(--h3)}
.phase p{font-size:var(--fs-s);line-height:1.6}
@media (max-width:980px){.phases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:540px){.phases{grid-template-columns:1fr}.phase{grid-template-columns:56px 1fr;column-gap:var(--s2)}.phase .ic{grid-row:span 3}}

/* Essenstypen-Erkunder */
.types{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.types > *{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chip{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.3rem .9rem .3rem .35rem;border-radius:var(--r-pill);border:1.5px solid var(--line-2);background:var(--wh);font:inherit;font-size:var(--fs-s);font-weight:600;cursor:pointer;color:var(--an)}
.chip img{width:32px;height:32px;object-fit:contain}
.chip:hover{border-color:var(--an)}
.chip[aria-pressed="true"]{background:var(--an);border-color:var(--an);color:var(--wh)}
.type-card{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:center}
.monster{width:clamp(120px,14vw,180px);aspect-ratio:1;border-radius:50%;background:var(--tl);display:grid;place-items:center}
.monster img{width:84%;height:84%;object-fit:contain}
.type-body{display:grid;gap:.5rem}
.type-body .card-label{color:var(--an)}
.type-body p{font-size:var(--fs-s)}
@media (max-width:860px){.types{grid-template-columns:1fr}.chips{flex-wrap:nowrap;overflow-x:auto;margin-inline:calc(var(--gut) * -1);padding:0 var(--gut) .3rem;scroll-padding-inline:var(--gut);scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none}}
@media (max-width:480px){.type-card{grid-template-columns:1fr}.monster{width:120px}}

/* Team-Vorschau / Porträts */
.portrait{border-radius:50%;overflow:hidden;aspect-ratio:1;background:var(--tl);flex:none}
.portrait img{width:100%;height:100%;object-fit:cover}
.duo{display:flex;align-items:center}
.duo .portrait{width:clamp(120px,13vw,168px);border:4px solid var(--wh);box-shadow:0 0 0 2px var(--tq)}
.duo .portrait + .portrait{margin-left:-18px;box-shadow:0 0 0 2px var(--ye)}

/* Workbook-Fächer */
.fan-stage{position:relative;height:clamp(320px,34vw,440px)}
.fan{position:absolute;inset:0}
.pg{--k:0;--s:0;position:absolute;left:50%;bottom:4%;width:min(58%,270px);aspect-ratio:637/900;margin:0;padding:0;border:0;background:var(--wh);border-radius:6px;overflow:hidden;cursor:pointer;transform-origin:50% 115%;box-shadow:0 14px 28px -16px rgb(20 24 26 / .4),0 0 0 1px rgb(20 24 26 / .08);transform:translateX(-50%) rotate(calc(var(--s) * 6deg)) translateX(calc(var(--s) * 6%));transition:transform .5s var(--ease)}
.pg img{width:100%;height:100%;object-fit:cover}
.fan-ctrl{display:flex;align-items:center;gap:var(--s2);justify-content:center;margin-top:.6rem}
.fan-ctrl .arrow{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--an);background:var(--wh);font-size:1.1rem;cursor:pointer;color:var(--an)}
#fanDots{display:flex;gap:.4rem}
#fanDots button{width:10px;height:10px;border-radius:999px;border:0;padding:0;background-color:var(--line-2);cursor:pointer}
#fanDots button[aria-current="true"]{background-color:var(--an);width:24px}
.pgbox{position:fixed;inset:0;z-index:80;background:rgb(20 24 26 / .75);display:grid;place-items:center;padding:4vh 16px;cursor:zoom-out}
.pgbox img{max-height:92vh;width:auto;border-radius:8px}
.pgbox span{position:absolute;top:16px;right:20px;color:var(--wh);font-weight:600}
.wb-box{overflow:hidden;overflow:clip}

/* Angebote – Übersicht in drei Schritten */
.path{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);position:relative}
.path > li{display:grid;gap:var(--s2);align-content:start}
.path .pn{display:flex;align-items:center;gap:.8rem}
.path .pn b{width:44px;height:44px;border-radius:50%;background:var(--an);color:var(--wh);display:grid;place-items:center;font-family:var(--f-head);font-weight:400;font-size:1.4rem;flex:none}
.path .pn span{font-family:var(--f-head);font-size:1.6rem;letter-spacing:.02em;line-height:1}
.path .pn::after{content:"";flex:1;height:2px;background:var(--line-2)}
.path > li:last-child .pn::after{display:none}
.path .opt{display:grid;gap:.15rem;padding:.8rem 1rem;border-radius:var(--r-m);background:var(--wh);border:1.5px solid var(--line-2);text-decoration:none}
.path .opt:hover{border-color:var(--tq)}
.path .opt b{font-weight:600;font-size:var(--fs-s)}
.path .opt span{font-size:var(--fs-xs);color:var(--muted)}
.path .note{font-size:var(--fs-xs);color:var(--muted)}
@media (max-width:860px){.path{grid-template-columns:1fr;gap:var(--s4)}.path .pn::after{display:none}}

/* Angebote – Vergleich */
.cmp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.cmp .card{gap:var(--s2)}
.cmp .card-top{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:flex-start}
@media (max-width:820px){.cmp{grid-template-columns:1fr}}

/* Programmdetails */
.prog{display:grid;grid-template-columns:1fr minmax(260px,340px);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.prog > *{min-width:0}
.prog-side{position:sticky;top:calc(var(--hdr-h) + 16px)}
.prog h3.sub-t{font-family:var(--f-body);font-weight:600;font-size:1.0625rem;letter-spacing:0;line-height:1.4;margin-top:var(--s2)}
.incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.incl > *{min-width:0}
@media (max-width:900px){.prog{grid-template-columns:1fr}.prog-side{position:static}.incl{grid-template-columns:1fr}}
.tags{display:flex;flex-wrap:wrap;gap:.4rem}
.tags span{font-size:var(--fs-xs);padding:.3rem .7rem;border-radius:var(--r-pill);background:var(--tl)}
.section--tint .tags span{background:var(--wh)}

/* Preisliste (zusätzliche Angebote) */
.plist{list-style:none;display:grid;gap:var(--s3)}
.plist li{display:grid;gap:.3rem}
.plist .row{display:flex;align-items:baseline;gap:.7rem}
.plist .row b{font-family:var(--f-head);font-weight:400;font-size:clamp(1.5rem,1.2vw + .9rem,1.85rem);line-height:1.05}
.plist .row i{flex:1;border-bottom:2px dotted var(--line-2);transform:translateY(-.3em);min-width:1rem}
.plist .row em{font-style:normal;font-family:var(--f-head);font-size:clamp(1.5rem,1.2vw + .9rem,1.85rem);white-space:nowrap}
.plist p{font-size:var(--fs-s);color:var(--muted)}
@media (max-width:520px){.plist .row{flex-wrap:wrap}.plist .row i{display:none}.plist .row em{margin-left:auto}}

/* Kostenlos – Wege */
.ways{list-style:none;display:grid;gap:var(--s3)}
.way{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s3);align-items:center}
.way .want{font-weight:600;font-size:var(--fs-s);color:var(--muted)}
.way h3{font-size:var(--h3)}
.way .facts{margin-top:.4rem}
@media (max-width:760px){.way{grid-template-columns:1fr;gap:var(--s2)}.way .ic{display:none}}

/* Essenstypen-Seite */
.et-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.et{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:start}
.et .monster{width:clamp(88px,9vw,120px)}
.et h3{font-size:var(--h3)}
.et .thought{font-weight:600;font-size:var(--fs-s)}
.et details summary{cursor:pointer;font-weight:600;font-size:var(--fs-s);min-height:44px;display:flex;align-items:center;gap:.4rem;list-style:none}
.et details summary::-webkit-details-marker{display:none}
.et details summary::after{content:"+";width:28px;height:28px;border-radius:50%;border:1.5px solid var(--an);display:grid;place-items:center;margin-left:auto}
.et details[open] summary::after{content:"–"}
@media (max-width:860px){.et-grid{grid-template-columns:1fr}}
@media (max-width:480px){.et{gap:var(--s2)}.et .monster{width:72px}}

/* Team */
.coach{display:grid;grid-template-columns:auto 1fr;gap:var(--s3);align-items:center}
.coach .portrait{width:clamp(130px,14vw,180px);box-shadow:0 0 0 3px var(--tq)}
.mate{display:grid;grid-template-columns:auto 1fr;gap:var(--s2);align-items:center}
.mate .portrait{width:96px;box-shadow:0 0 0 3px var(--ye)}
@media (max-width:560px){.coach{grid-template-columns:1fr}}

/* Bücher & Workbooks */
.prod{display:grid;grid-template-columns:150px 1fr;gap:var(--s3);align-items:start}
.prod-img{background:var(--tl);border-radius:var(--r-m);aspect-ratio:3/4;display:grid;place-items:center;overflow:hidden;padding:10px}
.prod-img img{width:100%;height:100%;object-fit:contain}
@media (max-width:480px){.prod{grid-template-columns:110px 1fr}}

/* Mitgliederbereich */
.login-box{display:grid;gap:var(--s2);justify-items:start}

/* Blog */
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.post-card .pc-img{aspect-ratio:16/10;border-radius:var(--r-m);overflow:hidden;background:var(--tl)}
.post-card .pc-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:900px){.posts{grid-template-columns:1fr}}
.rc{display:grid;gap:1rem;font-size:var(--fs-b);line-height:1.75}
.rc h2{font-size:var(--h3);margin-top:1rem}
.rc h3{font-size:var(--h4)}
.rc ul,.rc ol{padding-left:1.3rem;display:grid;gap:.4rem}
.rc blockquote{margin:0;border-left:4px solid var(--tq);padding-left:1rem}
.rc img{border-radius:var(--r-m)}

/* Rechtliches */
.legal{display:grid;gap:var(--s2)}
.legal h2{font-size:var(--h3);margin-top:var(--s3)}
.legal p,.legal li{line-height:1.7}
.legal ul{padding-left:1.2rem;display:grid;gap:.35rem}
.legal .box{background:var(--tl);border-radius:var(--r-m);padding:1rem 1.2rem}

/* Ergänzungen Essenstypen */
.thought{font-weight:600;font-size:var(--fs-s)}
.impulse{font-size:var(--fs-s);background:var(--tl);border-radius:var(--r-s);padding:.7rem .9rem}
.section--tint .impulse,.card--tint .impulse{background:var(--wh)}
.type-panel{gap:var(--s3)}
.et-jump{margin-bottom:var(--s4)}
.et-jump .chip{text-decoration:none}
.h3-size{font-size:var(--h3)}
.h4-size{font-size:var(--h4)}
.prod-img{aspect-ratio:4/3}
.mate--small{margin-top:var(--s4);display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-s)}
.mate--small .portrait{width:64px;box-shadow:none}
.contact-main{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--s3);align-items:stretch}
.contact-main > *{min-width:0}
@media (max-width:860px){.contact-main{grid-template-columns:1fr}}
.news-form{display:grid;gap:var(--s2);max-width:30rem}
.acc-mini summary{cursor:pointer;font-weight:600;min-height:44px;display:flex;align-items:center}
.post-cover{border-radius:var(--r-m);overflow:hidden}.post-card{text-decoration:none}
.s-foot .link,.card-foot .link,div > .link:only-child,.btn-row .link{display:inline-flex;align-items:center;min-height:44px}
#fanDots button{box-sizing:content-box;padding:17px 4px;background-clip:content-box}

.card > .badge{align-self:flex-start}
.section--tint .card:not(.card--tint):not(.card--accent) .ic{background:var(--tl)}
.cmp .price{margin-top:auto}.plist p{max-width:46rem}
.type-panel > .link,.card > .link{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px}

/* ==========================================================================
   Stil der vorherigen Version (Wunsch Alina, 16.10.)
   ========================================================================== */
:root{--sec:clamp(4rem,8vw,7.5rem);--h2:clamp(2.4rem,3.2vw + .8rem,4rem);--btn-h:52px}
h2{line-height:.92}
/* Buttons in Bebas, wie vorher */
.btn{font-family:var(--f-head);font-weight:400;font-size:1.2rem;letter-spacing:.06em;border-width:2px;padding:0 1.5em;line-height:1}
.btn--secondary:hover{background:var(--an);border-color:var(--an);color:var(--wh)}
@media (max-width:640px){.btn{font-size:1.1rem;padding:0 1.2em}}
/* Navigation in Bebas mit türkisem Unterstrich */
.nav-a{font-family:var(--f-head);font-weight:400;font-size:1.15rem;letter-spacing:.08em;border-radius:0;position:relative}
.nav-a:hover{background:none}
.nav-a::after{content:"";position:absolute;left:.55rem;right:.55rem;bottom:4px;height:2px;background:var(--tq);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav-a:hover::after,.nav-a[aria-current]::after,.has-sub[data-open] > .nav-a::after{transform:scaleX(1)}
.nav-a[aria-current]{box-shadow:none}
.nav-member{font-family:var(--f-head);font-weight:400;font-size:1.05rem;letter-spacing:.08em;border:1.5px solid var(--an);border-radius:var(--r-pill);padding:0 .9rem}
.nav-member:hover,.nav-member[aria-current]{background:var(--tl);border-color:var(--tq);text-decoration:none}
.nav .btn{font-size:1.1rem}
.sub a b{font-family:var(--f-head);font-weight:400;font-size:1.2rem;letter-spacing:.05em}
@media (max-width:1200px){.nav-a{font-size:1.9rem;letter-spacing:.04em}.nav-a::after{display:none}.nav-member{font-size:1.25rem}}
/* Kennzeichnung mit drei Punkten */
.eyebrow{font-size:1.05rem;letter-spacing:.16em}
.eyebrow::before{width:9px;height:9px;background:var(--tq);box-shadow:14px 0 0 var(--ye),28px 0 0 var(--an);margin-right:30px}
/* Abschnittsköpfe zentriert, wie vorher */
.section > .wrap > .s-head{margin-inline:auto;text-align:center;justify-items:center}
.section > .wrap > .s-head .lead{margin-inline:auto}
.section > .wrap > .s-foot{justify-content:center;text-align:center}
.section > .wrap > .s-foot:not(:has(a)){display:block}
/* Karten ohne Rahmen auf Türkis, mit Rahmen auf Weiß */
.card{border-radius:var(--r-l)}
/* Zitat mit großem Anführungszeichen */
.quote{border-left:0;padding:clamp(1.4rem,3vw,2.2rem);background:var(--tl);border-radius:var(--r-l);display:grid;grid-template-columns:auto 1fr;column-gap:1.2rem;max-width:none}
.quote::before{content:"„";font-family:var(--f-head);font-size:4.4rem;line-height:.7;color:var(--tq);grid-row:span 2}
.section--tint .quote{background:var(--wh)}
/* Footer wie vorher */
.ftr{border-top:6px solid var(--tq)}
.ftr h2{font-family:var(--f-head);font-weight:400;font-size:1.1rem;letter-spacing:.14em;text-transform:none;display:inline-block;box-shadow:inset 0 -.35em 0 var(--ye)}
.ftr .brand{flex-direction:column;align-items:flex-start;font-size:0;gap:0}
.ftr .brand img{width:120px;height:120px}
.ftr-claim{font-size:clamp(1.5rem,2vw,2rem);line-height:1}
@media (max-width:640px){.ftr .brand img{width:72px;height:72px}}
/* Porträts mit farbigem Ring */
.duo .portrait{border:5px solid var(--tq);box-shadow:none}
.duo .portrait + .portrait{border-color:var(--ye);box-shadow:none}
/* Über uns – große Porträts */
.person{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.person--flip .person-img{order:2}
.person-img{margin:0;border-radius:var(--r-l);overflow:hidden;aspect-ratio:4/5;background:var(--tl)}
.person-img img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.person h2{font-size:clamp(2.6rem,4vw,4.2rem)}
.role-tag{justify-self:start;align-self:flex-start;background:var(--tl);border-radius:var(--r-pill);padding:.3em .9em;font-family:var(--f-head);letter-spacing:.08em;font-size:1rem;line-height:1.2}
.section--tint .role-tag{background:var(--wh)}
@media (max-width:860px){.person{grid-template-columns:1fr}.person--flip .person-img{order:0}.person-img{aspect-ratio:4/4;max-height:460px}}
.crew{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.mate-card{background:var(--tl);border-radius:var(--r-l);padding:clamp(1.3rem,2.4vw,1.8rem);display:grid;justify-items:center;text-align:center;gap:.7rem}
.mate-card .portrait{width:clamp(120px,12vw,160px);border:5px solid var(--ye)}
.mate-card h3{font-size:2rem}
.mate-card .role-tag{justify-self:center;background:var(--wh)}
@media (max-width:700px){.crew{grid-template-columns:1fr}.mate-card{grid-template-columns:auto 1fr;justify-items:start;text-align:left;column-gap:1.2rem}.mate-card .portrait{grid-row:span 2;width:96px}.mate-card h3{align-self:end}.mate-card .role-tag{justify-self:start;align-self:start}}
.btn{white-space:nowrap}.nav-a{font-size:1.08rem}.nav .btn{font-size:1.05rem;padding:0 1.1em}@media (max-width:1200px){.nav-a{font-size:1.9rem}}@media (max-width:380px){.btn{white-space:normal;text-align:center}}
@media (max-width:860px){.hero-copy{margin-top:0}}
/* Nachbesserungen nach Prüfung */
.p-head h1{max-width:24ch}
.wrap-text > .s-head{margin-inline:auto;text-align:center;justify-items:center}
.person--flip{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
@media (max-width:860px){.person--flip{grid-template-columns:1fr}}
.acc-mini summary{justify-content:space-between}
.acc-mini summary i{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--an);display:grid;place-items:center;font-style:normal;transition:transform .25s var(--ease)}
.acc-mini[open] summary i{transform:rotate(45deg)}
.acc-mini summary::-webkit-details-marker{display:none}
.acc-mini summary{list-style:none}
.prod-img{padding:0}
.prod-img img{object-fit:cover}
.et{align-items:start}
.et-grid{align-items:start}
/* Startseite: Was ist KØRPERKOMPASS */
.what{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.venn{position:relative;aspect-ratio:16/10;max-width:520px;width:100%;margin-inline:auto}
.vc{position:absolute;top:0;width:62%;aspect-ratio:1;border-radius:50%;display:grid;align-content:center;gap:.35rem;padding:0 9%;font-size:var(--fs-xs);line-height:1.4}
.vc b{font-family:var(--f-head);font-weight:400;font-size:clamp(1.3rem,1.6vw,1.7rem);letter-spacing:.03em;line-height:1}
.vc-a{left:0;background:rgb(26 199 201 / .28);padding-right:24%}
.vc-b{right:0;background:rgb(244 211 94 / .45);padding-left:24%;text-align:right;justify-items:end}
.vmid{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--f-head);font-size:clamp(1rem,1.3vw,1.3rem);letter-spacing:.08em;line-height:1;text-align:center;background:var(--an);color:var(--wh);border-radius:var(--r-pill);padding:.55em .9em}
.isnot{display:grid;gap:var(--s3)}
@media (max-width:860px){.what{grid-template-columns:1fr}.venn{aspect-ratio:16/10.5}}
@media (max-width:420px){.vc{font-size:.75rem}.vc span{display:none}}
/* Esskreislauf */
.cycle{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.2rem 2.6rem;counter-reset:c}
.cycle li{position:relative;background:var(--tl);border-radius:var(--r-m);padding:1rem 1.1rem;font-weight:600;font-size:var(--fs-s);line-height:1.4;display:grid;gap:.25rem;align-content:start}
.cycle li small{font-family:var(--f-head);font-weight:400;letter-spacing:.12em;font-size:.95rem;color:var(--muted)}
.cycle li::after{content:"→";position:absolute;right:-1.85rem;top:50%;transform:translateY(-50%);font-size:1.3rem;color:var(--tq);font-weight:600}
.cycle li:nth-child(4)::after,.cycle li:last-child::after{content:none}
.cycle li:nth-child(n+5){background:rgb(244 211 94 / .3)}
.cycle-note{margin-top:var(--s4);max-width:46rem;margin-inline:auto;text-align:center}
.cycle-note b{display:block;font-family:var(--f-head);font-weight:400;font-size:1.6rem;letter-spacing:.04em;margin-bottom:.3rem}
@media (max-width:860px){.cycle{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem 2rem}.cycle li:nth-child(4)::after{content:"→"}.cycle li:nth-child(2n)::after{content:none}.cycle li::after{right:-1.5rem}}
@media (max-width:480px){.cycle{grid-template-columns:1fr;gap:1.4rem}.cycle li::after,.cycle li:nth-child(4)::after{content:"↓";right:auto;left:50%;top:auto;bottom:-1.45rem;transform:translateX(-50%)}.cycle li:last-child::after{content:none}}
.phase .tool{font-size:var(--fs-xs);color:var(--muted);border-top:1px solid var(--line);padding-top:.6rem;margin-top:.2rem}
@media (max-width:540px){.phase .tool{grid-column:2}.cycle li{padding:.7rem 1rem}}
