/* ─── RITMO Bauhaus Dark ─────────────────────────────────────
   Shared stylesheet for every page on ritmopadel.de.
   Design tokens live in :root — change them here, not in
   individual rules.
─────────────────────────────────────────────────────────── */
:root{
  --bg:#0A0A0A;
  --card:#141414;
  --card2:#1C1C1C;
  --line:rgba(255,255,255,0.10);
  --t1:#FFFFFF;
  --t2:rgba(255,255,255,0.65);
  --t3:rgba(255,255,255,0.40);
  --t4:rgba(255,255,255,0.18);
  --orange:#FF7A1A;
  --yellow:#FFD60A;
  --blue:#0A84FF;
  --red:#E84545;
  --gold:#C8A878;
  /* DNA-System colors (App-Feature) — used in archetypes, tiers, levels */
  --green:#2B7A4A;
  --purple:#7D4AA6;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
html,body{background:var(--bg);color:var(--t1);
  font-family:-apple-system,BlinkMacSystemFont,'SF Pro Display','Helvetica Neue','Inter',sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.4}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:4px}
img{max-width:100%;display:block}

/* ─── Layout container ─────────────────────────────────── */
.wrap{max-width:1080px;margin:0 auto;padding:0 28px;position:relative}

/* ─── Top bar ──────────────────────────────────────────── */
header{padding:32px 0 0;position:relative;z-index:5}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px}
.word{font-style:italic;font-weight:900;font-size:28px;letter-spacing:.5px;
  color:var(--t1);line-height:1;display:flex;align-items:baseline;gap:8px}
.word .dot{width:10px;height:10px;border-radius:50%;background:var(--orange);
  display:inline-block;transform:translateY(-2px)}
.nav{display:flex;gap:24px;font-size:13px;font-weight:600;
  color:var(--t2);letter-spacing:.4px}
.nav a:hover{color:var(--orange)}
.nav a[aria-current="page"]{color:var(--t1);border-bottom:2px solid var(--orange);
  padding-bottom:2px}
.nav-external{display:inline-flex;align-items:center;gap:5px}
.ext-icon{width:10px;height:10px;display:inline-block;opacity:.55;
  transition:opacity .15s ease}
.nav-external:hover .ext-icon,
.nav-mobile a:hover .ext-icon{opacity:1}
/* Permanent orange underline on the App link in the desktop nav —
   reads as a brand outbound marker, similar to aria-current. */
.nav a.nav-external{color:var(--t1);border-bottom:3px solid var(--orange);
  padding-bottom:4px}
@media(max-width:720px){.nav{display:none}}

/* ─── Burger button (Shop-style: framed square, always visible) ─── */
.nav{margin-left:auto}  /* push the desktop nav + burger to the right */
.burger{display:block;background:transparent;border:1.5px solid var(--t1);
  width:44px;height:44px;position:relative;cursor:pointer;
  padding:0;margin:0;z-index:201;
  transition:background .2s ease, border-color .2s ease;
  -webkit-tap-highlight-color:transparent}
.burger:hover{border-color:var(--orange)}
.burger:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.burger span{display:block;position:absolute;left:10px;right:10px;height:2px;
  background:var(--t1);
  transition:transform .25s ease, opacity .15s ease, top .25s ease,
             background .15s ease}
.burger span:nth-child(1){top:14px}
.burger span:nth-child(2){top:21px}
.burger span:nth-child(3){top:28px}
/* Open state — orange filled square, black X */
.burger[aria-expanded="true"]{background:var(--orange);border-color:var(--orange)}
.burger[aria-expanded="true"]:hover{border-color:var(--orange);
  background:#FF8E3A}
.burger[aria-expanded="true"] span{background:#000}
.burger[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* ─── Mobile nav overlay ───────────────────────────────── */
.nav-mobile{position:fixed;top:88px;left:0;right:0;bottom:0;
  background:var(--bg);z-index:150;
  padding:24px 0 80px;display:none;overflow-y:auto;
  border-top:1px solid var(--line)}
.nav-mobile[aria-hidden="false"]{display:block}
.nav-mobile > .wrap{display:flex;flex-direction:column;gap:0}
.nav-mobile a{display:flex;flex-direction:column;gap:8px;
  padding:28px 0;color:var(--t1);text-decoration:none;
  border-bottom:1px solid var(--line);
  transition:padding-left .2s ease}
.nav-mobile a:hover{padding-left:12px}
.nav-mobile a:last-child{border-bottom:none}
.nav-mobile .m-name{font-size:clamp(32px,7vw,56px);font-weight:900;
  font-style:italic;letter-spacing:-.8px;line-height:1;
  color:var(--t1);transition:color .15s ease}
.nav-mobile a:hover .m-name{color:var(--orange)}
.nav-mobile a[aria-current="page"] .m-name{color:var(--orange)}
.nav-mobile .m-desc{font-size:clamp(13px,1.5vw,16px);letter-spacing:.3px;
  color:var(--t3);font-weight:400;font-style:normal;
  text-transform:none;line-height:1.4}
.nav-mobile .ext-icon{width:14px;height:14px;opacity:.5}
body.nav-open{overflow:hidden}
/* Hide bauhausline + page content behind menu when open */
body.nav-open .bauhausline{visibility:hidden}

/* ─── Hero (home) ──────────────────────────────────────── */
.hero{position:relative;padding:96px 0 80px;overflow:hidden}
.hero h1{font-size:clamp(56px,12vw,144px);font-weight:900;font-style:italic;
  letter-spacing:-2px;line-height:.95;color:var(--t1);max-width:9ch}
.hero h1 .accent{color:var(--orange)}
.hero p.lead{margin-top:32px;font-size:clamp(16px,2.2vw,20px);
  color:var(--t2);max-width:54ch;line-height:1.6;font-weight:400}
.hero-anchors{margin-top:48px;display:flex;flex-wrap:wrap;gap:14px}
.anchor{display:inline-flex;align-items:center;gap:10px;
  background:transparent;color:var(--t1);
  padding:14px 18px;border:1px solid var(--t4);
  font-weight:700;font-size:13px;letter-spacing:.4px;text-transform:uppercase;
  transition:border-color .15s ease, color .15s ease, background .15s ease}
.anchor:hover{border-color:var(--orange);color:var(--orange)}
.anchor .dotmini{width:8px;height:8px;display:inline-block}
.anchor .da{background:var(--orange)}
.anchor .db{background:var(--yellow)}
.anchor .dc{background:var(--blue)}
.anchor .dd{background:var(--red)}

/* ─── Bauhaus shapes (hero background) ─────────────────── */
.shapes{position:absolute;inset:0;pointer-events:none;z-index:0}
.shapes svg{position:absolute;display:block}
.shape-circle{top:48px;right:-40px}
.shape-square{top:200px;right:140px}
.shape-triangle{bottom:40px;right:80px}
.shape-line{top:280px;left:-200px}
@media(max-width:720px){
  .shape-circle{top:auto;bottom:200px;right:-100px;opacity:.45}
  .shape-square{right:-40px;top:auto;bottom:380px;opacity:.55}
  .shape-triangle{right:-60px;bottom:-40px;opacity:.45}
  .shape-line{display:none}
}
.hero-content{position:relative;z-index:1}

/* ─── Page hero (subpages — smaller than home hero) ────── */
.pagehero{position:relative;padding:80px 0 56px;overflow:hidden;
  border-bottom:1px solid var(--line)}
.pagehero .kicker{display:inline-block;background:var(--orange);color:#000;
  font-size:11px;font-weight:800;letter-spacing:3px;text-transform:uppercase;
  padding:6px 12px;margin-bottom:24px}
.pagehero h1{font-size:clamp(44px,9vw,104px);font-weight:900;font-style:italic;
  letter-spacing:-2px;line-height:.95;color:var(--t1);max-width:12ch}
.pagehero h1 .accent{color:var(--orange)}
.pagehero p.lead{margin-top:24px;color:var(--t2);max-width:60ch;
  font-size:clamp(15px,1.8vw,18px);line-height:1.7}
.pagehero .crumb{color:var(--t3);font-size:12px;letter-spacing:2px;
  text-transform:uppercase;font-weight:800;margin-bottom:18px;
  display:inline-flex;align-items:center;gap:10px}
.pagehero .crumb a{color:var(--t2);border-bottom:1px solid var(--t4)}
.pagehero .crumb a:hover{color:var(--orange);border-color:var(--orange)}
.pagehero .crumb .sep{color:var(--t4)}

/* ─── Section separator (kicker) ───────────────────────── */
.rule{display:flex;align-items:center;gap:16px;padding:8px 0;margin:0;
  color:var(--t3);font-size:11px;font-weight:800;letter-spacing:3px;
  text-transform:uppercase}
.rule::before{content:"";flex:0 0 32px;height:2px;background:var(--orange);display:block}
.rule::after{content:"";flex:1;height:1px;background:var(--line);display:block}

/* ─── Section heading helpers ──────────────────────────── */
.sect{padding:80px 0;position:relative}
.sect + .sect{border-top:1px solid var(--line)}
.sect h2{font-size:clamp(36px,6vw,64px);font-weight:900;font-style:italic;
  letter-spacing:-1px;line-height:1;margin:24px 0 16px;color:var(--t1)}
.sect h2 .accent{color:var(--orange)}
.sect .sub{color:var(--t2);max-width:56ch;font-size:16px;line-height:1.7;
  margin-bottom:40px}

/* ─── Buttons ──────────────────────────────────────────── */
.cta{display:inline-flex;align-items:center;gap:14px;
  background:var(--orange);color:#000;
  padding:18px 26px;border-radius:0;
  font-weight:800;font-size:16px;letter-spacing:.4px;
  box-shadow:0 8px 32px rgba(255,122,26,0.35);
  transition:transform .15s ease, box-shadow .15s ease;
  border:none;cursor:pointer}
.cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(255,122,26,0.5)}
.cta .arrow{font-size:20px;line-height:1;font-weight:900}
.ghost{display:inline-flex;align-items:center;gap:12px;
  background:transparent;color:var(--t1);
  padding:18px 24px;border:1px solid var(--t4);
  font-weight:700;font-size:14px;letter-spacing:.4px;
  transition:border-color .15s ease,color .15s ease}
.ghost:hover{border-color:var(--orange);color:var(--orange)}

/* ─── Launch grid (Club + Consulting on home & launch page) */
.launch-grid{margin-top:56px;display:grid;
  grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:780px){.launch-grid{grid-template-columns:1fr}}
.pillar{background:var(--card);border:1px solid var(--line);
  padding:36px 28px;position:relative;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,background .2s ease}
.pillar:hover{transform:translateY(-3px);border-color:var(--orange);background:var(--card2)}
.pillar .pcorner{position:absolute;top:0;right:0;width:56px;height:56px}
.pillar.club .pcorner{background:var(--yellow)}
.pillar.consult .pcorner{background:var(--blue);
  clip-path:polygon(0 0,100% 0,100% 100%)}
.pillar .ptag{font-size:11px;font-weight:800;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.pillar h3{font-size:30px;font-weight:900;font-style:italic;letter-spacing:-.6px;
  line-height:1.05;margin-bottom:14px}
.pillar p{color:var(--t2);font-size:15px;line-height:1.65}
.pillar ul{margin-top:18px;padding-left:0;list-style:none;color:var(--t2);font-size:14px}
.pillar ul li{padding:6px 0 6px 18px;position:relative;line-height:1.5}
.pillar ul li::before{content:"";position:absolute;left:0;top:14px;
  width:8px;height:2px;background:var(--orange)}

/* ─── 3-up pillar cards (home page Team/DNA/App) ───────── */
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.card-block{background:var(--card);border:1px solid var(--line);
  padding:40px 28px 32px;position:relative;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
  display:flex;flex-direction:column}
.card-block:hover{transform:translateY(-3px);border-color:var(--orange);background:var(--card2)}
.card-block .ccorner{position:absolute;top:0;right:0;width:56px;height:56px}
.card-block.team .ccorner{background:var(--red)}
.card-block.dna .ccorner{background:var(--orange);border-radius:0 0 0 100%}
.card-block.app .ccorner{background:var(--blue);
  clip-path:polygon(0 0,100% 0,100% 100%)}
.card-block .ctag{font-size:11px;font-weight:800;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--orange);margin-bottom:14px}
.card-block h3{font-size:32px;font-weight:900;font-style:italic;letter-spacing:-.6px;
  line-height:1;margin-bottom:14px}
.card-block p{color:var(--t2);font-size:14px;line-height:1.65;flex:1}
.card-block .clink{margin-top:24px;display:inline-flex;align-items:center;gap:8px;
  color:var(--orange);font-size:12px;font-weight:800;letter-spacing:1.5px;
  text-transform:uppercase;border-bottom:1px solid var(--orange);
  padding-bottom:4px;align-self:flex-start}
.card-block .clink:hover{color:var(--yellow);border-color:var(--yellow)}

/* ─── DNA principle items ──────────────────────────────── */
.dna-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;margin-top:40px}
.dna-item{padding:24px 20px;background:var(--card);border-left:3px solid var(--orange)}
.dna-item.c-yellow{border-left-color:var(--yellow)}
.dna-item.c-blue  {border-left-color:var(--blue)}
.dna-item.c-red   {border-left-color:var(--red)}
.dna-item h4{font-size:18px;font-weight:900;font-style:italic;letter-spacing:-.3px;
  margin-bottom:10px}
.dna-item p{color:var(--t2);font-size:13px;line-height:1.6}

/* ─── Image placeholders ───────────────────────────────── */
/* Usage:
     <div class="imgph imgph-4x5" data-label="Foto"></div>
   Replace later with <img src="…" alt="…"> at the same spot.
   Wrap in a sized container if you want consistent height,
   or just use the aspect-ratio modifier classes below.       */
.imgph{position:relative;display:block;width:100%;
  background:var(--card2);border:1px solid var(--line);overflow:hidden}
.imgph::before{content:"";position:absolute;top:0;right:0;
  width:36px;height:36px;background:var(--orange);
  clip-path:polygon(100% 0,0 0,100% 100%)}
.imgph::after{content:attr(data-label);position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  color:var(--t3);font-size:11px;letter-spacing:2.5px;
  text-transform:uppercase;font-weight:800;padding:8px;text-align:center}
.imgph.c-yellow::before{background:var(--yellow)}
.imgph.c-blue::before  {background:var(--blue)}
.imgph.c-red::before   {background:var(--red)}
.imgph.c-green::before {background:var(--green)}
.imgph.c-purple::before{background:var(--purple)}
.imgph.c-circle::before{clip-path:circle(50% at 50% 50%);
  top:8px;right:8px;width:28px;height:28px}
.imgph-1x1 {aspect-ratio:1/1}
.imgph-4x3 {aspect-ratio:4/3}
.imgph-3x4 {aspect-ratio:3/4}
.imgph-4x5 {aspect-ratio:4/5}
.imgph-16x9{aspect-ratio:16/9}
.imgph-21x9{aspect-ratio:21/9}
/* When you replace the placeholder div with a real <img>,
   add the same aspect-ratio class to the <img> and the
   image will fill the slot at object-fit: cover. */
img.imgph{object-fit:cover}
img.imgph::before,img.imgph::after{display:none}

/* ─── Team page — dynamic, extensible member grid ──────── */
/* Each .team-section is one group (Founders / Builders / …).
   Add more members by appending <article class="member"> — the
   grid auto-fills. Add more sections by duplicating the whole
   <section class="team-section"> block.                         */
.team-section{padding:64px 0;border-top:1px solid var(--line)}
.team-section:first-of-type{border-top:none}
.team-section header.section-head{display:flex;flex-wrap:wrap;
  align-items:baseline;justify-content:space-between;gap:16px;
  margin-bottom:36px;padding:0}
.team-section header.section-head h2{font-size:clamp(28px,4.5vw,44px);
  font-weight:900;font-style:italic;letter-spacing:-.6px;line-height:1}
.team-section header.section-head .count{color:var(--t3);
  font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800}
.member-grid{display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}
.member{background:var(--card);border:1px solid var(--line);
  padding:0;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .2s ease,border-color .2s ease,background .2s ease}
.member:hover{transform:translateY(-3px);border-color:var(--orange);background:var(--card2)}
.member .member-photo{position:relative;width:100%}
.member .member-photo .imgph{border:none;border-bottom:1px solid var(--line)}
.member .member-body{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.member .member-name{font-size:18px;font-weight:900;font-style:italic;
  letter-spacing:-.4px;line-height:1.1;margin-bottom:6px}
.member .member-role{font-size:11px;letter-spacing:2px;text-transform:uppercase;
  font-weight:800;color:var(--orange);margin-bottom:14px}
.member .member-bio{font-size:13px;line-height:1.6;color:var(--t2);flex:1}
.member .member-links{margin-top:16px;display:flex;flex-wrap:wrap;gap:10px;
  font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:800}
.member .member-links a{color:var(--t2);border-bottom:1px solid var(--t4);
  padding-bottom:2px;transition:color .15s ease,border-color .15s ease}
.member .member-links a:hover{color:var(--orange);border-color:var(--orange)}
.team-empty{padding:48px 28px;text-align:center;border:1px dashed var(--t4);
  color:var(--t3);font-size:13px;letter-spacing:1px}

/* ─── DNA — Archetype cards (6 Spielstile) ────────────── */
.archetype-grid{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;
  margin-top:32px}
.archetype{background:var(--card);border:1px solid var(--line);
  padding:28px 22px 24px;position:relative;overflow:hidden;
  display:flex;flex-direction:column;gap:14px;
  transition:transform .2s ease,border-color .2s ease,background .2s ease}
.archetype:hover{transform:translateY(-3px);border-color:var(--orange);background:var(--card2)}
.archetype .sigil{width:64px;height:64px;display:block}
.archetype .a-name{font-size:22px;font-weight:900;font-style:italic;
  letter-spacing:-.4px;line-height:1;margin-top:4px}
.archetype .a-name .glyph{margin-left:8px;font-family:monospace;
  font-style:normal;color:var(--t3);font-size:14px;letter-spacing:0}
.archetype .a-tag{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800;color:var(--orange)}
.archetype.c-red    .a-tag{color:var(--red)}
.archetype.c-blue   .a-tag{color:var(--blue)}
.archetype.c-green  .a-tag{color:var(--green)}
.archetype.c-purple .a-tag{color:var(--purple)}
.archetype .a-body{color:var(--t2);font-size:13px;line-height:1.6}
.archetype .a-meta{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);
  color:var(--t3);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  font-weight:800}
.archetype .a-meta strong{color:var(--t1);font-weight:800;letter-spacing:1.5px}

/* ─── DNA — Level ladder (L1–L5) ───────────────────────── */
.level-ladder{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;
  margin-top:32px;align-items:end}
.level-step{position:relative;background:var(--card);border:1px solid var(--line);
  padding:18px 10px;text-align:center;
  transition:background .2s ease,border-color .2s ease}
.level-step:hover{background:var(--card2);border-color:var(--orange)}
.level-step .l-num{display:block;font-size:22px;font-weight:900;
  font-style:italic;letter-spacing:-.4px;color:var(--t1)}
.level-step .l-name{display:block;font-size:10px;letter-spacing:1.5px;
  text-transform:uppercase;font-weight:800;color:var(--t3);margin-top:6px}
.level-step:nth-child(1){border-top:4px solid var(--t3)}
.level-step:nth-child(2){border-top:4px solid var(--green)}
.level-step:nth-child(3){border-top:4px solid var(--blue)}
.level-step:nth-child(4){border-top:4px solid var(--red)}
.level-step:nth-child(5){border-top:4px solid var(--purple)}
@media(max-width:560px){
  .level-step{padding:12px 4px}
  .level-step .l-name{font-size:8px}
  .level-step .l-num{font-size:18px}
}

/* ─── DNA — Match-Tier rows ────────────────────────────── */
.tier-list{display:grid;gap:12px;margin-top:32px}
.tier-row{display:grid;grid-template-columns:auto auto 1fr auto;gap:18px;
  align-items:center;padding:18px 22px;background:var(--card);
  border:1px solid var(--line)}
.tier-row .t-label{font-size:11px;font-weight:800;letter-spacing:2px;
  text-transform:uppercase;color:var(--t1);font-style:italic}
.tier-row .t-label .t-tag{display:block;color:var(--t3);font-size:10px;
  letter-spacing:2px;font-weight:800;margin-top:4px;font-style:normal}
.tier-row .stars{color:var(--t1);font-size:14px;letter-spacing:2px;white-space:nowrap}
.tier-row .stars .off{color:var(--t4)}
.tier-row .note{color:var(--t2);font-size:13px;line-height:1.5}
.tier-badge{display:inline-flex;align-items:center;justify-content:center;
  width:56px;height:56px;border-radius:50%;
  font-size:24px;font-weight:900;font-style:italic;letter-spacing:-.6px;
  background:var(--card2);color:#FFFFFF;border:2px solid var(--line)}
.tier-badge.s{background:var(--green);border-color:var(--green)}
.tier-badge.a{background:var(--blue);border-color:var(--blue)}
.tier-badge.b{background:var(--orange);color:#000;border-color:var(--orange)}
.tier-badge.c{background:var(--red);border-color:var(--red)}
.tier-badge.x{background:var(--purple);border-color:var(--purple)}
.tier-row .stars.s{color:var(--green)}
.tier-row .stars.a{color:var(--blue)}
.tier-row .stars.b{color:var(--orange)}
.tier-row .stars.c{color:var(--red)}
.tier-row .stars.x{color:var(--purple)}
@media(max-width:680px){
  .tier-row{grid-template-columns:auto 1fr;gap:14px}
  .tier-row .stars{grid-column:1 / -1;font-size:18px}
  .tier-row .note{grid-column:1 / -1}
}

/* ─── DNA — RITMO Score formula ────────────────────────── */
.score-formula{margin-top:28px;padding:24px 26px;background:var(--card2);
  border:1px solid var(--line);border-left:3px solid var(--orange);
  font-family:'SF Mono',Menlo,Consolas,monospace;font-size:13px;
  color:var(--t2);line-height:1.8;letter-spacing:.3px}
.score-formula strong{color:var(--t1);font-weight:700}
.score-formula .arrow-r{color:var(--orange);margin:0 8px;font-weight:800}

/* ─── DNA — Matching modes (DUO / MIRROR / COUNTER) ────── */
.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:20px;margin-top:32px}
.mode{background:var(--card);border:1px solid var(--line);
  padding:32px 26px;display:flex;flex-direction:column;gap:18px;
  position:relative;overflow:hidden;
  transition:transform .2s ease,border-color .2s ease,background .2s ease}
.mode:hover{transform:translateY(-3px);background:var(--card2);border-color:var(--orange)}
.mode .m-icon{width:64px;height:64px;display:block}
.mode .m-tag{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800;color:var(--orange)}
.mode.m-mirror .m-tag{color:var(--red)}
.mode.m-counter .m-tag{color:var(--green)}
.mode .m-name{font-size:26px;font-weight:900;font-style:italic;letter-spacing:-.5px;
  line-height:1}
.mode .m-body{color:var(--t2);font-size:14px;line-height:1.6}

/* ─── DNA — Worked example (Toro + Muro = 9.2/10) ──────── */
.worked{margin-top:48px;padding:40px 36px;background:var(--card);
  border:1px solid var(--line);position:relative;overflow:hidden}
.worked-pairing{display:flex;align-items:center;justify-content:center;
  gap:24px;flex-wrap:wrap;text-align:center}
.worked-pairing .p-side{display:flex;flex-direction:column;align-items:center;gap:10px}
.worked-pairing .p-side svg{width:72px;height:72px;display:block}
.worked-pairing .p-side .p-name{font-size:20px;font-weight:900;font-style:italic;
  letter-spacing:-.4px}
.worked-pairing .p-side .p-lvl{font-size:11px;letter-spacing:2px;text-transform:uppercase;
  font-weight:800;color:var(--t3)}
.worked-pairing .p-plus{font-size:36px;font-weight:900;color:var(--orange);
  font-style:italic}
.worked-result{margin-top:36px;padding-top:32px;border-top:1px solid var(--line);
  display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center}
@media(max-width:640px){.worked-result{grid-template-columns:1fr;text-align:center}}
.worked-result .r-score{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
@media(max-width:640px){.worked-result .r-score{align-items:center}}
.worked-result .score-num{font-size:64px;font-weight:900;font-style:italic;
  letter-spacing:-2px;line-height:1;color:var(--green)}
.worked-result .score-num .denom{color:var(--t3);font-size:24px;letter-spacing:-.5px}
.worked-result .score-tier{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800;color:var(--green)}
.worked-result .r-why h4{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800;color:var(--orange);margin-bottom:8px}
.worked-result .r-why p{color:var(--t2);font-size:14px;line-height:1.6}

/* ─── DNA — Profile preview (Alex example) ─────────────── */
.profile{margin-top:32px;padding:36px 32px;background:var(--card);
  border:1px solid var(--line);display:grid;
  grid-template-columns:auto 1fr 1fr 1fr;gap:32px;align-items:start}
@media(max-width:780px){
  .profile{grid-template-columns:auto 1fr;gap:24px}
  .profile .p-meta{grid-column:1 / -1}
}
.profile .p-avatar{width:80px;height:80px;border-radius:50%;
  background:var(--green);display:flex;align-items:center;justify-content:center}
.profile .p-avatar svg{width:48px;height:48px}
.profile .p-id .p-name{font-size:26px;font-weight:900;font-style:italic;
  letter-spacing:-.5px;line-height:1;margin-bottom:8px}
.profile .p-id .p-style{font-size:11px;letter-spacing:2px;text-transform:uppercase;
  font-weight:800;color:var(--orange);margin-bottom:6px}
.profile .p-id .p-level{font-size:11px;letter-spacing:2px;text-transform:uppercase;
  font-weight:800;color:var(--t3)}
.profile .p-meta h5{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;
  font-weight:800;color:var(--t3);margin-bottom:12px}
.profile .p-meta ul{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}
.profile .p-meta li{display:flex;align-items:center;gap:10px;
  font-size:14px;font-weight:700;color:var(--t1);font-style:italic}
.profile .p-meta li svg{width:18px;height:18px;flex:0 0 18px}

/* ─── DNA — Pillars row (Identität / Chemie / …) ───────── */
.pillars-row{margin-top:32px;display:grid;
  grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:680px){.pillars-row{grid-template-columns:repeat(2,1fr)}}
.pillar-mini{padding:24px 18px;background:var(--card);border:1px solid var(--line);
  display:flex;flex-direction:column;align-items:flex-start;gap:14px;
  transition:border-color .2s ease,background .2s ease}
.pillar-mini:hover{border-color:var(--orange);background:var(--card2)}
.pillar-mini svg{width:28px;height:28px;display:block}
.pillar-mini h4{font-size:13px;font-weight:900;font-style:italic;letter-spacing:1px;
  text-transform:uppercase}
.pillar-mini p{color:var(--t3);font-size:11px;line-height:1.5;letter-spacing:.3px}

/* ─── DNA — App location callouts (Wo im App) ──────────── */
.where-grid{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:32px}
.where{padding:24px 22px;background:var(--card);border:1px solid var(--line);
  border-left:3px solid var(--orange)}
.where.c-yellow{border-left-color:var(--yellow)}
.where.c-blue  {border-left-color:var(--blue)}
.where.c-red   {border-left-color:var(--red)}
.where.c-green {border-left-color:var(--green)}
.where.c-purple{border-left-color:var(--purple)}
.where h4{font-size:14px;font-weight:900;font-style:italic;letter-spacing:-.2px;
  margin-bottom:8px}
.where p{color:var(--t2);font-size:13px;line-height:1.6}
.where code{font-family:'SF Mono',Menlo,Consolas,monospace;font-size:11px;
  background:var(--bg);padding:2px 6px;color:var(--t1);border:1px solid var(--line);
  margin-top:8px;display:inline-block}

/* ─── Launch page — gallery / facility placeholders ────── */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;margin-top:40px}
.gallery .imgph{border-radius:0}
.hero-image{margin-top:48px}

/* ─── Impressum block ──────────────────────────────────── */
.impressum-page{padding:80px 0 96px}
.legal{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:780px}
@media(max-width:680px){.legal{grid-template-columns:1fr;gap:28px}}
.legal h3{font-size:11px;font-weight:800;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--orange);margin-bottom:10px}
.legal p, .legal address{color:var(--t2);font-size:14px;line-height:1.7;
  font-style:normal;font-weight:400}
.legal a{color:var(--t1);border-bottom:1px solid var(--t4);transition:border-color .15s}
.legal a:hover{border-color:var(--orange);color:var(--orange)}
.legal .small{color:var(--t3);font-size:12px;line-height:1.6;margin-top:18px}

/* ─── Footer ───────────────────────────────────────────── */
footer{padding:48px 0 48px;background:var(--bg);border-top:1px solid var(--line)}
.foot{display:grid;grid-template-columns:1fr auto;gap:24px;
  color:var(--t3);font-size:12px;letter-spacing:.4px;align-items:start}
.foot .copyright{color:var(--t3)}
.foot nav{display:flex;flex-wrap:wrap;gap:18px}
.foot a{color:var(--t2)}
.foot a:hover{color:var(--orange)}
@media(max-width:520px){.foot{grid-template-columns:1fr;gap:14px}}

/* ─── Bauhaus colour strip ─────────────────────────────── */
.bauhausline{display:flex;height:6px;width:100%;background:var(--bg)}
.bauhausline span{flex:1;height:100%}
.bauhausline .a{background:var(--orange)}
.bauhausline .b{background:var(--yellow)}
.bauhausline .c{background:var(--blue)}
.bauhausline .d{background:var(--red)}
.bauhausline .e{background:#fff}

/* ─── Animations ───────────────────────────────────────── */
@keyframes fadeIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.fi{animation:fadeIn .6s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.05s}.d2{animation-delay:.15s}
.d3{animation-delay:.25s}.d4{animation-delay:.35s}
.d5{animation-delay:.45s}.d6{animation-delay:.55s}
