/* Shinobi Frames — Design-System (Divi 5 Child) */

:root{
  --ink:#17181C; --ink-deep:#0E0F12; --ink-raise:#1F2126;
  --gold:#BD9B5E; --gold-text:#CFA964; --bone:#DBD6CB; --muted:#8B887F;
  --line:rgba(219,214,203,.15); --line-soft:rgba(219,214,203,.08);
  --pad:clamp(20px,5vw,72px);
  --display:"Playfair Display",Georgia,serif;
  --body:"Archivo",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,monospace;
  --script:"Dancing Script",cursive;
  --nav:72px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:var(--nav)}
body{margin:0;background:var(--ink);color:var(--bone);font-family:var(--body);
  font-weight:300;line-height:1.68;-webkit-font-smoothing:antialiased;overflow-x:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

.grain{position:fixed;inset:-120px;z-index:60;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:no-preference){.grain{animation:g 1.2s steps(4) infinite}}
@keyframes g{0%,100%{transform:translate(0,0)}25%{transform:translate(-14px,8px)}50%{transform:translate(9px,-11px)}75%{transform:translate(-6px,-6px)}}

.label{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.label.dim{color:var(--muted)}
.h-xl{font-family:var(--display);font-weight:400;font-size:clamp(40px,7.4vw,104px);line-height:1.02;letter-spacing:-.015em;margin:0}
.h-lg{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.8vw,52px);line-height:1.14;letter-spacing:-.01em;margin:0}
.h-md{font-family:var(--display);font-weight:400;font-size:clamp(20px,2.1vw,29px);line-height:1.2;margin:0}
.lede{font-size:clamp(15px,1.3vw,18px);color:#BCB7AD;max-width:60ch}
.dim{color:var(--muted)}
.wrap{padding:clamp(78px,12vh,150px) var(--pad)}
.rule{position:relative;height:1px;background:var(--line-soft)}
.rule::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:22px;background:var(--ink) url("./img/hanko.svg") center/19px 19px no-repeat;opacity:.6}
.kanji{font-family:"Noto Serif JP",serif;font-size:23px;line-height:1;color:var(--gold-text);opacity:.9}

.close-sec{background:linear-gradient(to bottom,var(--ink) 0%,#212329 100%)}

html.js .rv{opacity:0;filter:brightness(.62);transform:translateY(18px);transition:opacity 1s cubic-bezier(.2,.7,.3,1),filter 1.1s ease,transform 1s cubic-bezier(.2,.7,.3,1)}
html.js .rv.in{opacity:1;filter:none;transform:none}
@media(prefers-reduced-motion:reduce){html.js .rv{opacity:1;filter:none;transform:none;transition:none}}
@media print{html.js .rv{opacity:1!important;filter:none!important;transform:none!important}}

/* wordmark */
.mark{display:block}
.mark img{display:block;height:34px;width:auto}
.mark.lg img{height:54px}
@media(max-width:600px){.mark img{height:28px}}

.btn{display:inline-flex;align-items:center;gap:12px;padding:16px 28px;border-radius:2px;
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  border:1px solid var(--gold);color:var(--gold-text);transition:background .35s,color .35s,border-color .35s}
.btn:hover{background:var(--gold);color:#15161A}
.btn.solid{background:var(--gold);color:#15161A}
.btn.solid:hover{background:#D2B071;border-color:#D2B071}
.btn.ghost{border-color:var(--line);color:var(--bone)}
.btn.ghost:hover{background:transparent;border-color:var(--bone)}
.btn.sm{padding:12px 20px}

.ph{position:absolute;inset:0;filter:saturate(0);transition:filter .6s ease,transform 1s cubic-bezier(.2,.7,.3,1);
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.05) 0 1px,transparent 1px 9px),
    linear-gradient(168deg,#2A2C31,#131418 78%)}
.ph-tag{position:absolute;inset:auto 0 50% 0;text-align:center;font-family:var(--mono);
  font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:rgba(239,235,227,.22)}

/* ===== NAV ===== */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;height:var(--nav);
  display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 var(--pad);
  transition:background .4s ease,border-color .4s ease;border-bottom:1px solid transparent}
header.nav.stuck{background:rgba(14,15,18,.88);backdrop-filter:blur(14px);border-bottom-color:var(--line)}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#BEBAB1;transition:color .3s}
.nav-links a:hover{color:var(--gold)}
@media(max-width:1000px){.nav-links{display:none}}

/* ===== HERO ===== */
.hero{min-height:100svh;position:relative;display:flex;flex-direction:column;justify-content:center;
  align-items:center;text-align:center;padding:calc(var(--nav) + 40px) var(--pad) clamp(40px,7vh,80px);
  background:var(--ink-deep);overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:0;background:
  radial-gradient(120% 92% at 50% 40%,rgba(189,155,94,.10),transparent 62%),
  repeating-linear-gradient(101deg,rgba(239,235,227,.04) 0 1px,transparent 1px 7px),#0B0C0F}
@media(prefers-reduced-motion:no-preference){.hero-bg{animation:drift 28s ease-in-out infinite alternate}}
@keyframes drift{from{transform:scale(1.06)}to{transform:scale(1.14) translate(-2%,1.2%)}}
.hero-vig{position:absolute;inset:0;z-index:1;background:radial-gradient(110% 80% at 50% 48%,transparent 32%,rgba(11,12,15,.9) 100%)}
.hero-in{position:relative;z-index:2;max-width:1000px;display:flex;flex-direction:column;align-items:center;gap:30px}
.hero h1 em{font-style:italic;color:var(--gold-text)}
.hero-sub{margin:0;font-size:clamp(16px,1.5vw,20px);color:#C3BEB4;max-width:46ch}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
  filter:saturate(.25) contrast(1.06) brightness(.62)}
@media(prefers-reduced-motion:reduce){.hero-video{display:none}}

/* ===== LOGO BAND ===== */
.band{padding:clamp(44px,7vh,80px) var(--pad);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.band-in{display:flex;flex-direction:column;gap:clamp(30px,4.5vh,50px);max-width:1240px;margin:0 auto}
.band-row{display:flex;flex-direction:column;align-items:center;gap:clamp(18px,2.6vh,28px)}
.band-row.lead{gap:clamp(24px,3.4vh,38px);padding:clamp(10px,2vh,22px) 0}
.band-row.lead .label{color:var(--gold-text);font-size:12px}
.band-sep{height:1px;background:var(--line-soft)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(24px,3.4vw,52px);max-width:1180px}
.logos img{opacity:.6;transition:opacity .4s ease}
.logos img:hover{opacity:1}
.logos.partners{gap:clamp(38px,6vw,96px)}
.logos .lp{height:clamp(58px,7vw,94px);width:auto;max-width:clamp(170px,22vw,290px);object-fit:contain;opacity:.92}
.logos .lp:hover{opacity:1}
.logos .lc{height:clamp(34px,4vw,52px);width:auto;max-width:clamp(130px,15vw,200px);object-fit:contain}
.band-more{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.band-more:hover{color:var(--gold-text)}
@media(max-width:600px){.logos{gap:22px 30px}}


/* ===== ATHLETES ===== */
.ath{background:var(--ink-deep);padding:clamp(70px,11vh,130px) 0}
.ath-head{padding:0 var(--pad);max-width:1240px;margin:0 auto clamp(38px,5vh,58px)}
.roster{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.rcard{position:relative;overflow:hidden;height:clamp(430px,74vh,760px);display:block}
.rshade{position:absolute;inset:0;background:linear-gradient(to top,rgba(8,9,11,.96) 12%,rgba(8,9,11,.45) 52%,rgba(8,9,11,.15) 100%)}
.rcard:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.rnum{position:absolute;top:clamp(16px,2vw,26px);left:clamp(18px,2.2vw,30px);
  font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:rgba(232,228,219,.5)}
.rbody{position:absolute;left:0;right:0;bottom:0;padding:clamp(22px,2.6vw,38px)}
.rdisc{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.rname{font-family:var(--display);font-weight:400;font-size:clamp(28px,3.1vw,46px);
  line-height:1.02;letter-spacing:-.02em;margin:12px 0 14px}
.rtext{margin:0;font-size:14.5px;line-height:1.6;color:#B7B2A9;max-width:34ch;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .5s ease}
.rcard:hover .rtext{max-height:200px;opacity:1}
.rgo{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.ath-foot{padding:clamp(34px,5vh,54px) var(--pad) 0;max-width:1240px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
@media(max-width:900px){
  .roster{grid-template-columns:1fr;gap:2px}
  .rcard{height:78svh}
  .rtext{max-height:200px;opacity:1}
  .rcard .ph{filter:grayscale(1) contrast(1.08)}
}

/* ===== MOBILE NAV ===== */
.burger{display:none;flex-direction:column;gap:5px;padding:10px;margin-right:-10px}
.burger i{display:block;width:22px;height:1.5px;background:var(--bone);transition:transform .35s,opacity .3s}
body.menu-open .burger i:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
body.menu-open .burger i:nth-child(2){opacity:0}
body.menu-open .burger i:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.drawer{position:fixed;inset:0;z-index:45;background:rgba(11,12,15,.97);backdrop-filter:blur(10px);
  display:flex;flex-direction:column;justify-content:center;gap:6px;padding:0 var(--pad);
  opacity:0;pointer-events:none;transition:opacity .35s ease}
body.menu-open .drawer{opacity:1;pointer-events:auto}
.drawer a{font-family:var(--display);font-size:clamp(26px,7vw,40px);color:var(--bone);padding:9px 0}
.drawer a:hover{color:var(--gold-text)}
.drawer .sub{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.drawer .sub a{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);display:block;padding:7px 0}
@media(max-width:1000px){.burger{display:flex}}

/* ===== SEGMENTS ===== */
.seg-head{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;flex-wrap:wrap;margin-bottom:46px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.4vw,20px)}
.seg a{position:relative;overflow:hidden;border-radius:3px;height:clamp(340px,46vh,470px);
  display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(20px,2vw,30px);background:var(--ink-raise)}
.seg a:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.05)}
.seg-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,11,14,.95) 6%,rgba(10,11,14,.2) 52%,transparent 82%)}
.seg-body{position:relative}
.seg-body h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.2vw,31px);margin:0 0 9px}
.seg-body p{margin:0;color:#B0ACA3;font-size:14px;min-height:44px}
.seg-go{display:inline-flex;align-items:center;gap:9px;margin-top:16px;font-family:var(--mono);
  font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.seg .new{position:absolute;top:clamp(16px,2vw,24px);left:clamp(16px,2vw,24px);z-index:2;
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  background:var(--gold);color:#15161A;padding:4px 9px;border-radius:2px}
@media(max-width:1000px){.seg{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.seg{grid-template-columns:1fr}.seg a{height:300px}}

/* ===== PILLARS ===== */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,2.6vw,46px);margin-top:52px}
.pillars article{border-top:1px solid var(--line);padding-top:24px}
.pillars h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.8vw,24px);margin:12px 0 12px}
.pillars p{margin:0;color:var(--muted);font-size:14.5px}
@media(max-width:1000px){.pillars{grid-template-columns:repeat(2,1fr);gap:34px}}
@media(max-width:620px){.pillars{grid-template-columns:1fr}}

/* ===== PROCESS ===== */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,54px);margin-top:52px}
.steps article{border-top:1px solid var(--line);padding-top:24px}
.steps h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,1.9vw,26px);margin:14px 0 10px}
.steps p{margin:0;color:var(--muted);font-size:15px}
@media(max-width:900px){.steps{grid-template-columns:1fr;gap:34px}}

/* ===== WORK ===== */
.work{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,1.6vw,24px);margin:48px auto 0;max-width:1000px}
.work .frame{position:relative;aspect-ratio:1/1;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.work a:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.05)}
.work h3{font-family:var(--display);font-weight:400;font-size:17px;margin:14px 0 4px}
.work p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:900px){.work{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.work{grid-template-columns:1fr}}

/* ===== TESTIMONIAL ===== */
.testi{background:var(--ink-deep)}
.testi-in{max-width:900px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.testi blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(18px,2.1vw,27px);line-height:1.5;color:#DFDAD1}
.stars{color:var(--gold-text);letter-spacing:.3em;font-size:13px}

/* ===== CLOSE ===== */
.close{text-align:center;display:flex;flex-direction:column;align-items:center;gap:28px}
.avail{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
@media(prefers-reduced-motion:no-preference){.dot{animation:pulse 2.4s ease-in-out infinite}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.direct{display:flex;gap:34px;flex-wrap:wrap;justify-content:center;font-size:15px;color:#C9C4BB}
.direct a:hover{color:var(--gold)}

/* ===== FOOTER ===== */
footer.site{padding:clamp(52px,7vh,80px) var(--pad) 44px;border-top:1px solid var(--line-soft)}
.f-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:clamp(26px,4vw,60px)}
.f-grid h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0 0 16px;font-weight:500}
.f-grid ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:11px}
.f-grid a{font-size:14px;color:#BEBAB1}
.f-grid a:hover{color:var(--gold)}
.f-sister{margin-top:22px;padding:16px 18px;border:1px solid var(--line);border-radius:3px;max-width:340px}
.f-sister p{margin:6px 0 0;font-size:13px;color:var(--muted)}
.f-bot{margin-top:48px;padding-top:24px;border-top:1px solid var(--line-soft);display:flex;
  justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
@media(max-width:900px){.f-grid{grid-template-columns:1fr;gap:36px}}

/* --- Siegel als Bild (ersetzt das Schriftzeichen) --- */
img.seal{width:clamp(52px,5.4vw,72px);height:auto;display:block}
img.hanko{width:40px;height:40px;display:block;flex:none}
img.hanko.lg{width:60px;height:60px}
.testi footer img.hanko{width:34px;height:34px}

/* ===== Divi-Overrides =====
   Divi setzt Ueberschriftenfarbe und Linkfarbe aus den Theme-Optionen.
   Hohe Spezifitaet, damit unsere Farben gewinnen. */
#page-container .shinobi-sec h1, #page-container .shinobi-sec h2,
#page-container .shinobi-sec h3, #page-container .shinobi-sec h4,
#page-container .shinobi-sec h5, #page-container .shinobi-sec h6,
body .shinobi-sec h1, body .shinobi-sec h2, body .shinobi-sec h3,
body .shinobi-sec h4, body .shinobi-sec h5, body .shinobi-sec h6{
  color:#DBD6CB!important;padding:0!important}
#page-container .shinobi-sec a, body .shinobi-sec a{color:inherit!important;text-decoration:none!important}
#page-container .shinobi-sec h1 em, #page-container .shinobi-sec h2 em,
#page-container .shinobi-sec h3 em, #page-container .shinobi-sec .label,
#page-container .shinobi-sec .seg-go, #page-container .shinobi-sec .rgo,
#page-container .shinobi-sec .rdisc, #page-container .shinobi-sec .stars,
#page-container .shinobi-sec .card-disc{color:#CFA964!important}
#page-container .shinobi-sec .label.dim, #page-container .shinobi-sec .band-more{color:#8B887F!important}
#page-container .shinobi-sec .btn{color:#CFA964!important}
#page-container .shinobi-sec .btn.solid, #page-container .shinobi-sec .btn.solid:hover,
#page-container .shinobi-sec .btn:hover, #page-container .shinobi-sec .seg .new{color:#15161A!important}
#page-container .shinobi-sec .btn.ghost{color:#DBD6CB!important}
#page-container .shinobi-sec ul, #page-container .shinobi-sec ol{list-style:none!important;padding:0!important}
#page-container .shinobi-sec p{color:inherit}

/* Zeilenhoehen gegen Divi absichern */
#page-container .shinobi-sec .h-xl{line-height:1.02!important}
#page-container .shinobi-sec .h-lg{line-height:1.14!important}
#page-container .shinobi-sec .h-md{line-height:1.20!important}
#page-container .shinobi-sec .rname,#page-container .shinobi-sec .card-name{line-height:1.02!important}
#page-container .shinobi-sec .claim{line-height:1.08!important}
#page-container .shinobi-sec .seg-body h3,#page-container .shinobi-sec .work h3,
#page-container .shinobi-sec .steps h3,#page-container .shinobi-sec .pillars h3,
#page-container .shinobi-sec .cbody h3,#page-container .shinobi-sec .tcard h3,
#page-container .shinobi-sec .scard h4{line-height:1.15!important}
#page-container .shinobi-sec blockquote{line-height:1.5!important}
#page-container .shinobi-sec .f-grid h4{line-height:1.4!important}

/* Navigation: position:fixed bricht, sobald ein Elternelement transform/filter hat.
   Divi setzt das an mehreren Stellen. */
#page-container,#et-main-area,#main-content,.et-l--body,.et_pb_section,.et_pb_row{
  transform:none!important;filter:none!important;perspective:none!important;
  backdrop-filter:none!important;will-change:auto!important}
#page-container .shinobi-sec header.nav{position:fixed!important;top:0!important;left:0!important;
  right:0!important;z-index:9999!important;width:100%!important}
#page-container .shinobi-sec .drawer{z-index:9998!important}
#page-container .shinobi-sec .nav-links a{white-space:nowrap}
#page-container .shinobi-sec header.nav .btn.solid.sm{white-space:nowrap;flex:none}
@media(max-width:1200px){#page-container .shinobi-sec .nav-links{gap:20px}}





/* ===== Agentur ===== */
.ag-hero{position:relative;min-height:84svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.ag-hero .ph{position:absolute;inset:0}
.ag-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 8%,rgba(11,12,15,.32) 58%,rgba(11,12,15,.55) 100%)}
.ag-hero-top{position:absolute;top:calc(var(--nav) + 20px);left:0;right:0;z-index:3;
  max-width:1240px;margin:0 auto;padding:0 var(--pad)}
img.sealmini{width:30px;height:30px;opacity:.9}
.ag-hero-body{position:relative;z-index:2;padding:var(--pad);width:100%;max-width:1240px;margin:0 auto}
.ag-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px 44px;margin:44px 0 0}
.ag-facts>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.ag-facts dt{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1;
  letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag-facts dd{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);line-height:1.5}
.ag-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);
  align-items:center;padding:clamp(70px,11vh,130px) var(--pad);max-width:1240px;margin:0 auto}
.ag-split-img{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.kanji-img{width:26px;height:26px;opacity:.9;margin-bottom:4px}
.eyebrow{display:flex;align-items:center;gap:11px}

/* Einheitliche Inhaltsbreite auf allen Seiten: ein Textrand, kein Zickzack */
#page-container .shinobi-sec .wrap,
#page-container .shinobi-sec .ag-split,
#page-container .shinobi-sec .ag-hero-body,
#page-container .shinobi-sec .sp-wide-body{
  padding-left:max(var(--pad),calc((100% - 1240px)/2))!important;
  padding-right:max(var(--pad),calc((100% - 1240px)/2))!important;
  max-width:100%!important;margin-left:0!important;margin-right:0!important}
#page-container .shinobi-sec .fullcol{max-width:none;margin:0}

/* Hero robust: Bild immer vollflaechig */
#page-container .shinobi-sec .ag-hero{min-height:84svh!important;position:relative!important;
  display:flex!important;align-items:flex-end!important;overflow:hidden!important}
#page-container .shinobi-sec .ag-hero>img.ph{position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important}
.fullcol{max-width:1240px;margin:0 auto}
.fullcol h2{max-width:26ch}
.oneline{max-width:none}
.oneline em{white-space:nowrap}
@media(max-width:760px){.oneline em{white-space:normal}}
.fullcol-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,64px);margin-top:34px}
.fullcol-cols p{margin:0;font-size:clamp(15px,1.3vw,17px);color:#BCB7AD;line-height:1.75}
@media(max-width:900px){.fullcol-cols{grid-template-columns:1fr;gap:20px}}
.eyebrow .label{line-height:1}
.ag-sealbox{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  aspect-ratio:1/1;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);padding:clamp(28px,4vw,54px)}
.sealbig{width:clamp(90px,11vw,150px);height:auto;opacity:.85}
.sealcap{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);text-align:center;max-width:26ch;line-height:1.7}

.crew{display:flex;flex-direction:column;gap:clamp(44px,6.5vh,80px);margin-top:46px}
#page-container .shinobi-sec .wrap.tight-top{padding-top:clamp(30px,4vh,54px)!important}
.ccard{display:grid;grid-template-columns:clamp(240px,28vw,380px) minmax(0,1fr);gap:clamp(26px,4.5vw,70px);align-items:center}
.ccard.reverse{grid-template-columns:minmax(0,1fr) clamp(240px,28vw,380px)}
.ccard.reverse .cframe{order:2}
.ccard.reverse .cbody{order:1}
.cframe{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.cframe .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ccard:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.03)}
.cframe.cempty{display:grid;place-items:center;border:1px solid var(--line)}
.cbody h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;margin:0 0 10px}
.cbody .label{display:block;margin-bottom:20px}
.cbody p{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.7;max-width:56ch}
.cbody p:last-child{margin-bottom:0}
@media(max-width:1000px){
  .ag-split{grid-template-columns:1fr;gap:32px}
  .ccard,.ccard.reverse{grid-template-columns:1fr!important;gap:24px}
  .ccard .cframe,.ccard.reverse .cframe{order:0!important}
  .ccard .cbody,.ccard.reverse .cbody{order:1!important}
  .cframe{max-width:none}
}

/* ===== Sport ===== */
.sp-wide{position:relative;min-height:78svh;display:flex;align-items:center;overflow:hidden;background:var(--ink-deep)}
.sp-wide .ph{position:absolute;inset:0}
.sp-wide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,12,15,.94) 8%,rgba(11,12,15,.55) 52%,rgba(11,12,15,.25) 100%)}
.sp-wide-body{position:relative;z-index:2;max-width:1240px;margin:0 auto;padding:var(--pad);width:100%}
.sp-wide-body h2{max-width:18ch}

.lgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,48px);margin-top:50px}
.lcard{margin:0}
.lframe{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.lcard:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.lcard h3{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.2vw,30px);margin:22px 0 12px}
.lcard p{margin:0;color:var(--muted);font-size:15px;line-height:1.7;max-width:52ch}
.lmeta{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 10px}
.lmeta li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}

.sgal{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.2vw,16px);margin-top:46px}
.sgal figure{margin:0;position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.sgal figure:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.05)}
#page-container .shinobi-sec .sp-wide{min-height:78svh!important;position:relative!important}
#page-container .shinobi-sec .sp-wide>img.ph{position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important}
.sp-claim{max-width:24ch;hyphens:none;-webkit-hyphens:none}
.sp-claim em{white-space:nowrap}
@media(max-width:1100px){.sp-claim em{white-space:normal}}
@media(max-width:1100px){.sgal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.sgal{grid-template-columns:1fr}}
@media(max-width:900px){
  .lgrid{grid-template-columns:1fr;gap:40px}
  .sp-wide-shade{background:linear-gradient(to top,rgba(11,12,15,.95) 10%,rgba(11,12,15,.5) 100%)}
}

/* ===== Athlete Stories ===== */
.story-block{position:relative;padding:clamp(60px,9vh,110px) 0}
.story-block+.story-block{border-top:1px solid var(--line-soft)}
.story-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding-left:max(var(--pad),calc((100% - 1240px)/2));
  padding-right:max(var(--pad),calc((100% - 1240px)/2))}
.story-big{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.story-block:hover .story-big .ph{filter:grayscale(0) contrast(1)}
.story-block:hover .story-portrait .ph{filter:grayscale(0) contrast(1)}
.story-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.story-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,58px);
  line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.story-disc{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.story-body p{margin:0 0 16px;color:#BCB7AD;font-size:15.5px;line-height:1.75;max-width:56ch}
.story-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}
.story-facts li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}
.story-media{margin-top:34px}
.vid-soon{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:var(--ink-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  overflow:hidden}
.vid-soon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.vid-soon .vs-play{position:relative;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(219,214,203,.28);display:grid;place-items:center;color:#8B887F;font-size:19px}
.vid-soon .vs-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-text)}
.vid-soon .vs-sub{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.story-wide{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin-top:26px;background:var(--ink-raise)}
@media(max-width:1000px){.story-in{grid-template-columns:1fr;gap:26px}}

/* ===== Kontakt ===== */
.kt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);margin-top:16px}
.kt-block+.kt-block{margin-top:34px}
.kt-block h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:0 0 10px}
.kt-block p,.kt-block a{color:#BCB7AD;font-size:15.5px;line-height:1.75;margin:0}
.kt-block a{display:block}
.kt-block a:hover{color:var(--gold-text)}
.kt-form{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);
  background:var(--ink-deep);min-height:420px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:14px}
@media(max-width:1000px){.kt-grid{grid-template-columns:1fr;gap:34px}}

/* ===== Platzhalter-Seiten ===== */
.ph-note{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,44px);
  background:var(--ink-deep);max-width:760px;margin-top:34px}
.ph-note h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:0 0 12px}
.ph-note p{margin:0 0 14px;color:#BCB7AD;font-size:15.5px;line-height:1.75}
.ph-list{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ph-list li{font-size:14.5px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:14px 16px}

/* ===== Athletinnen-Einzelseite ===== */
.at-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.at-hero>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.at-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 6%,rgba(11,12,15,.28) 60%,rgba(11,12,15,.5) 100%)}
.at-hero-body{position:relative;z-index:2;width:100%;
  padding:var(--pad) max(var(--pad),calc((100% - 1240px)/2))}
.at-name{font-family:var(--display);font-weight:400;font-size:clamp(40px,8vw,110px);
  line-height:.98;letter-spacing:-.03em;margin:14px 0 0}
.at-name em{font-style:italic;color:var(--gold-text)}
.at-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px;padding:0;list-style:none}
.at-meta li{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);border:1px solid rgba(219,214,203,.28);border-radius:2px;padding:8px 12px}

.at-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2))}
.at-por{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.at-split:hover .at-por .ph{filter:grayscale(0) contrast(1)}
.at-text p{margin:0 0 18px;color:#BCB7AD;font-size:16px;line-height:1.78;max-width:58ch}
.at-quote{margin:30px 0 0;padding-left:22px;border-left:1px solid var(--gold);
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,28px);
  line-height:1.4;color:#DFDAD1;max-width:30ch}

.at-gal{padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(60px,9vh,110px)}
.pal{margin-top:34px;border-top:1px solid var(--line)}
.pal-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(14px,2vw,34px);
  align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.pal-y{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.pal-t{font-size:16px;line-height:1.6;color:#CFCAC1}
.pal-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 40px;margin-top:40px}
.pal-num>div{display:flex;flex-direction:column;gap:6px}
.pal-num b{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:-.02em}
.pal-num span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.6}
@media(max-width:640px){.pal-row{grid-template-columns:1fr;gap:6px}}
.at-gal .sgal{margin-top:38px;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.at-gal .sgal figure{aspect-ratio:16/10}
@media(max-width:760px){.at-gal .sgal{grid-template-columns:1fr}}

/* Bilder fuellen ihren Rahmen immer vollstaendig */
#page-container .sgal figure>img.ph,#page-container .at-por>img.ph,
#page-container .story-big>img.ph,#page-container .bl-frame>img.ph,
.sgal figure>img.ph,.at-por>img.ph,.story-big>img.ph,.bl-frame>img.ph{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;max-width:none!important}

/* Wow-Effekte: Parallax im Hero, Name steigt auf, Zahl im Hintergrund */
.at-hero>img.ph{will-change:transform}
.at-hero-body{position:relative}
.at-ghost{position:absolute;right:max(var(--pad),calc((100% - 1240px)/2));bottom:-4vh;z-index:1;
  font-family:var(--display);font-weight:400;font-size:clamp(140px,26vw,380px);line-height:.72;
  color:rgba(219,214,203,.045);pointer-events:none;user-select:none;letter-spacing:-.04em}
.at-name span{display:inline-block;opacity:0;transform:translateY(24px);
  animation:at-rise .9s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes at-rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.at-name span{animation:none;opacity:1;transform:none}}

/* ===== Business / Health Leistungsbloecke ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:50px}
.bl-card{margin:0}
.bl-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.bl-frame.wshot>img.ph{filter:none!important;object-position:50% 0!important}
.bl-card:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 12px}
.bl-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.bl-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bl-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--muted);line-height:1.6}
.bl-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:1px;background:var(--gold)}
@media(max-width:1000px){.bl-grid{grid-template-columns:1fr;gap:44px}
  .at-split{grid-template-columns:1fr;gap:28px}}

/* Bildplatzhalter (Health, bis das Material da ist) */
.imgsoon{position:relative;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.imgsoon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.imgsoon span{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}
.imgsoon .is-gold{color:var(--gold-text)}

/* ===== Website-Referenzen ===== */
.webgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:46px}
.webcard{display:block;margin:0}
.webshot{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:4px;
  background:var(--ink-raise);border:1px solid var(--line)}
.webshot>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:50% 0!important;filter:none!important;
  transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.webcard:hover .webshot>img.ph{transform:scale(1.03)}
.webcard:hover .webshot{border-color:rgba(189,155,94,.5)}
.webbody h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 10px}
.webbody .label{display:block;margin-bottom:12px}
.webbody p{margin:0;color:var(--muted);font-size:15px;line-height:1.7;max-width:48ch}
.weblink{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:10px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
@media(max-width:900px){.webgrid{grid-template-columns:1fr;gap:40px}}

/* ===== Projektseite ===== */
.pj-hero{padding:calc(var(--nav) + clamp(50px,8vh,90px)) max(var(--pad),calc((100% - 1240px)/2)) clamp(30px,5vh,54px)}
.pj-title{font-family:var(--display);font-weight:400;font-size:clamp(38px,6.4vw,86px);
  line-height:1.02;letter-spacing:-.025em;margin:16px 0 0;max-width:16ch}
.pj-title em{font-style:italic;color:var(--gold-text)}
.pj-lede{margin:26px 0 0;font-size:clamp(16px,1.5vw,20px);color:#C6C1B8;max-width:56ch;line-height:1.7}
.pj-shot{margin:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(50px,7vh,90px);position:relative;
  aspect-ratio:16/10;overflow:hidden;border-radius:5px;border:1px solid var(--line);background:var(--ink-raise)}
.pj-shot>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:50% 0!important;filter:none!important}

.pj-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:24px 40px;
  padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(50px,7vh,80px)}
.pj-meta>div{display:flex;flex-direction:column;gap:8px}
.pj-meta dt{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin:0}
.pj-meta dd{margin:0;font-size:15.5px;color:#CFCAC1;line-height:1.6}

.pj-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.4vw,58px);margin-top:48px}
.pj-steps article{border-top:1px solid var(--line);padding-top:24px}
.pj-steps h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:14px 0 12px}
.pj-steps p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
@media(max-width:900px){.pj-steps{grid-template-columns:1fr;gap:34px}}

.pj-quote{padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2));background:var(--ink-deep)}
.pj-quote blockquote{margin:0;max-width:24ch;font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(22px,3vw,40px);line-height:1.32;color:#DFDAD1}
.pj-quote footer{margin-top:26px;display:flex;flex-direction:column;gap:5px}

.pj-visit{display:flex;flex-wrap:wrap;gap:18px;align-items:center;
  padding:clamp(40px,6vh,70px) max(var(--pad),calc((100% - 1240px)/2))}
.pj-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:40px}
.pj-next a{display:block}
.pj-next .fr{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:4px;
  border:1px solid var(--line);background:var(--ink-raise)}
.pj-next .fr>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:50% 0!important;filter:none!important}
.pj-next a:hover .fr{border-color:rgba(189,155,94,.5)}
.pj-next h4{font-family:var(--display);font-weight:400;font-size:17px;margin:14px 0 4px}
.pj-next p{margin:0;color:var(--muted);font-size:13px}
@media(max-width:760px){.pj-next{grid-template-columns:1fr}}

/* ===== Arbeiten / Uebersicht ===== */
.wgroup+.wgroup{margin-top:clamp(56px,8vh,96px)}
.wgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);margin-top:34px}
.wgrid a{display:block}
.wgrid .fr{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:4px;
  border:1px solid var(--line);background:var(--ink-raise)}
.wgrid .fr>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;transition:transform 1.1s cubic-bezier(.2,.7,.3,1)}
.wgrid a:hover .fr>img.ph{transform:scale(1.04);filter:grayscale(0) contrast(1)}
.wgrid a:hover .fr{border-color:rgba(189,155,94,.5)}
.wgrid h3{font-family:var(--display);font-weight:400;font-size:19px;margin:16px 0 4px}
.wgrid p{margin:0;color:var(--muted);font-size:13.5px}
.wshot .fr>img.ph{filter:none!important;object-position:50% 0!important}
@media(max-width:900px){.wgrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.wgrid{grid-template-columns:1fr}}

/* ===== Partner ===== */
.mp{background:var(--ink-deep);padding:clamp(70px,11vh,130px) 0}
.mp-in{max-width:1240px;margin:0 auto;padding:0 var(--pad)}
.mp-list{display:flex;flex-direction:column;gap:2px;margin-top:clamp(38px,5vh,58px)}
.mp-card{display:grid;grid-template-columns:230px minmax(0,1fr);gap:clamp(24px,4vw,64px);
  align-items:center;padding:clamp(26px,3.4vw,44px) 0;border-top:1px solid var(--line)}
.mp-card:last-child{border-bottom:1px solid var(--line)}
.mp-logo{display:flex;align-items:center;justify-content:center;min-height:96px}
.mp-logo img{max-height:96px;max-width:200px;width:auto;object-fit:contain;opacity:.9}
.mp-logo.mp-athlete img{max-height:150px;border-radius:3px;filter:grayscale(1) contrast(1.05)}
.mp-card:hover .mp-logo.mp-athlete img{filter:grayscale(0) contrast(1)}
.mp-body h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.4vw,32px);margin:0 0 8px}
.mp-body .label{display:block;margin-bottom:14px}
.mp-body p{margin:0;color:var(--muted);font-size:15px;line-height:1.72;max-width:60ch}
.mp-links{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px}
.mp-links a{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.mp-soon{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  margin-top:clamp(34px,5vh,54px);padding-top:clamp(24px,3vh,36px);border-top:1px solid var(--line-soft)}
@media(max-width:900px){.mp-card{grid-template-columns:1fr;gap:20px}.mp-logo{justify-content:flex-start;min-height:0}}
.plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:44px}
.pcard{border:1px solid var(--line);border-radius:4px;padding:clamp(24px,3vw,38px);
  display:flex;flex-direction:column;gap:16px;background:var(--ink-deep)}
.pcard .lgo{height:56px;display:flex;align-items:center}
.pcard .lgo img{max-height:56px;width:auto;max-width:190px;object-fit:contain;opacity:.85}
.pcard h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,24px);margin:0}
.pcard p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.7}
.plogos{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,3.4vw,52px);margin-top:38px}
.plogos img{height:clamp(26px,3vw,40px);width:auto;max-width:170px;object-fit:contain;opacity:.6;transition:opacity .4s}
.plogos img:hover{opacity:1}
@media(max-width:900px){.plist{grid-template-columns:1fr;gap:22px}}

/* ===== Karriere / Recht ===== */
.job{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);margin-top:38px;background:var(--ink-deep)}
.job h3{font-family:var(--display);font-weight:400;font-size:clamp(22px,2.4vw,32px);margin:12px 0 18px}
.jcols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,52px);margin-top:26px}
.jcols h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--gold-text);margin:0 0 14px;font-weight:500}
.jcols ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.jcols li{position:relative;padding-left:20px;font-size:15px;color:#BCB7AD;line-height:1.65}
.jcols li::before{content:"";position:absolute;left:0;top:11px;width:9px;height:1px;background:var(--gold)}
@media(max-width:800px){.jcols{grid-template-columns:1fr;gap:26px}}

.legal{max-width:820px}
.legal h2{font-family:var(--display);font-weight:400;font-size:clamp(21px,2.2vw,29px);margin:44px 0 14px}
.legal h3{font-family:var(--display);font-weight:400;font-size:clamp(17px,1.7vw,21px);margin:26px 0 10px}
.legal p,.legal li{color:#BCB7AD;font-size:15.5px;line-height:1.78}
.legal p{margin:0 0 14px}
.legal ul{margin:0 0 14px;padding-left:20px}
.legal a:hover{color:var(--gold-text)}
.legal .note{border:1px solid var(--line);border-radius:4px;padding:22px 24px;background:var(--ink-deep);margin:26px 0}
.legal .note p:last-child{margin:0}

/* Vimeo-Einbettung */
.vid-embed{position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:var(--ink-deep)}
.vid-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ===== Kundenstimmen ===== */
.tsec{background:var(--ink-deep)}
.tgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin-top:44px}
.tcard{margin:0;border:1px solid var(--line);border-radius:4px;padding:clamp(24px,2.8vw,38px);
  display:flex;flex-direction:column;gap:16px;background:rgba(239,235,227,.02)}
.tcard.tbig{grid-column:1 / -1}
.tstars{color:var(--gold-text);letter-spacing:.3em;font-size:12px}
.tcard blockquote{margin:0;font-family:var(--display);font-style:italic;font-weight:400;
  color:#DCD7CE;font-size:clamp(16px,1.5vw,19px);line-height:1.6}
.tcard.tbig blockquote{font-size:clamp(18px,2vw,26px);line-height:1.5}
.tcard figcaption{display:flex;flex-direction:column;gap:5px;margin-top:auto;padding-top:6px}
.tcard figcaption b{font-family:var(--body);font-weight:400;font-size:15px;color:var(--bone)}
.tcard figcaption span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--muted)}
@media(max-width:900px){.tgrid{grid-template-columns:1fr}}
/* ===== Divi-Overrides =====
   Divi setzt Ueberschriftenfarbe und Linkfarbe aus den Theme-Optionen.
   Hohe Spezifitaet, damit unsere Farben gewinnen. */
#page-container .shinobi-sec h1, #page-container .shinobi-sec h2,
#page-container .shinobi-sec h3, #page-container .shinobi-sec h4,
#page-container .shinobi-sec h5, #page-container .shinobi-sec h6,
body .shinobi-sec h1, body .shinobi-sec h2, body .shinobi-sec h3,
body .shinobi-sec h4, body .shinobi-sec h5, body .shinobi-sec h6{
  color:#DBD6CB!important;padding:0!important}
#page-container .shinobi-sec a, body .shinobi-sec a{color:inherit!important;text-decoration:none!important}
#page-container .shinobi-sec h1 em, #page-container .shinobi-sec h2 em,
#page-container .shinobi-sec h3 em, #page-container .shinobi-sec .label,
#page-container .shinobi-sec .seg-go, #page-container .shinobi-sec .rgo,
#page-container .shinobi-sec .rdisc, #page-container .shinobi-sec .stars,
#page-container .shinobi-sec .card-disc{color:#CFA964!important}
#page-container .shinobi-sec .label.dim, #page-container .shinobi-sec .band-more{color:#8B887F!important}
#page-container .shinobi-sec .btn{color:#CFA964!important}
#page-container .shinobi-sec .btn.solid, #page-container .shinobi-sec .btn.solid:hover,
#page-container .shinobi-sec .btn:hover, #page-container .shinobi-sec .seg .new{color:#15161A!important}
#page-container .shinobi-sec .btn.ghost{color:#DBD6CB!important}
#page-container .shinobi-sec ul, #page-container .shinobi-sec ol{list-style:none!important;padding:0!important}
#page-container .shinobi-sec p{color:inherit}

/* Zeilenhoehen gegen Divi absichern */
#page-container .shinobi-sec .h-xl{line-height:1.02!important}
#page-container .shinobi-sec .h-lg{line-height:1.14!important}
#page-container .shinobi-sec .h-md{line-height:1.20!important}
#page-container .shinobi-sec .rname,#page-container .shinobi-sec .card-name{line-height:1.02!important}
#page-container .shinobi-sec .claim{line-height:1.08!important}
#page-container .shinobi-sec .seg-body h3,#page-container .shinobi-sec .work h3,
#page-container .shinobi-sec .steps h3,#page-container .shinobi-sec .pillars h3,
#page-container .shinobi-sec .cbody h3,#page-container .shinobi-sec .tcard h3,
#page-container .shinobi-sec .scard h4{line-height:1.15!important}
#page-container .shinobi-sec blockquote{line-height:1.5!important}
#page-container .shinobi-sec .f-grid h4{line-height:1.4!important}

/* Navigation: position:fixed bricht, sobald ein Elternelement transform/filter hat.
   Divi setzt das an mehreren Stellen. */
#page-container,#et-main-area,#main-content,.et-l--body,.et_pb_section,.et_pb_row{
  transform:none!important;filter:none!important;perspective:none!important;
  backdrop-filter:none!important;will-change:auto!important}
#page-container .shinobi-sec header.nav{position:fixed!important;top:0!important;left:0!important;
  right:0!important;z-index:9999!important;width:100%!important}
#page-container .shinobi-sec .drawer{z-index:9998!important}
#page-container .shinobi-sec .nav-links a{white-space:nowrap}
#page-container .shinobi-sec header.nav .btn.solid.sm{white-space:nowrap;flex:none}
@media(max-width:1200px){#page-container .shinobi-sec .nav-links{gap:20px}}




/* ===== Agentur ===== */
.ag-hero{position:relative;min-height:84svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.ag-hero .ph{position:absolute;inset:0}
.ag-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 8%,rgba(11,12,15,.32) 58%,rgba(11,12,15,.55) 100%)}
.ag-hero-top{position:absolute;top:calc(var(--nav) + 20px);left:0;right:0;z-index:3;
  max-width:1240px;margin:0 auto;padding:0 var(--pad)}
img.sealmini{width:30px;height:30px;opacity:.9}
.ag-hero-body{position:relative;z-index:2;padding:var(--pad);width:100%;max-width:1240px;margin:0 auto}
.ag-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:26px 44px;margin:44px 0 0}
.ag-facts>div{display:flex;flex-direction:column;gap:6px;min-width:0}
.ag-facts dt{font-family:var(--display);font-weight:400;font-size:clamp(28px,3vw,40px);line-height:1;
  letter-spacing:-.02em;margin:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ag-facts dd{margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted);line-height:1.5}
.ag-split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(28px,5vw,80px);
  align-items:center;padding:clamp(70px,11vh,130px) var(--pad);max-width:1240px;margin:0 auto}
.ag-split-img{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.kanji-img{width:26px;height:26px;opacity:.9;margin-bottom:4px}
.eyebrow{display:flex;align-items:center;gap:11px}

/* Einheitliche Inhaltsbreite auf allen Seiten: ein Textrand, kein Zickzack */
#page-container .shinobi-sec .wrap,
#page-container .shinobi-sec .ag-split,
#page-container .shinobi-sec .ag-hero-body,
#page-container .shinobi-sec .sp-wide-body{
  padding-left:max(var(--pad),calc((100% - 1240px)/2))!important;
  padding-right:max(var(--pad),calc((100% - 1240px)/2))!important;
  max-width:100%!important;margin-left:0!important;margin-right:0!important}
#page-container .shinobi-sec .fullcol{max-width:none;margin:0}

/* Hero robust: Bild immer vollflaechig */
#page-container .shinobi-sec .ag-hero{min-height:84svh!important;position:relative!important;
  display:flex!important;align-items:flex-end!important;overflow:hidden!important}
#page-container .shinobi-sec .ag-hero>img.ph{position:absolute!important;inset:0!important;
  width:100%!important;height:100%!important;object-fit:cover!important}
.fullcol{max-width:1240px;margin:0 auto}
.fullcol h2{max-width:26ch}
.oneline{max-width:none}
.oneline em{white-space:nowrap}
@media(max-width:760px){.oneline em{white-space:normal}}
.fullcol-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(26px,4vw,64px);margin-top:34px}
.fullcol-cols p{margin:0;font-size:clamp(15px,1.3vw,17px);color:#BCB7AD;line-height:1.75}
@media(max-width:900px){.fullcol-cols{grid-template-columns:1fr;gap:20px}}
.eyebrow .label{line-height:1}
.ag-sealbox{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  aspect-ratio:1/1;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);padding:clamp(28px,4vw,54px)}
.sealbig{width:clamp(90px,11vw,150px);height:auto;opacity:.85}
.sealcap{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);text-align:center;max-width:26ch;line-height:1.7}

.crew{display:flex;flex-direction:column;gap:clamp(44px,6.5vh,80px);margin-top:46px}
#page-container .shinobi-sec .wrap.tight-top{padding-top:clamp(30px,4vh,54px)!important}
.ccard{display:grid;grid-template-columns:clamp(240px,28vw,380px) minmax(0,1fr);gap:clamp(26px,4.5vw,70px);align-items:center}
.ccard.reverse{grid-template-columns:minmax(0,1fr) clamp(240px,28vw,380px)}
.ccard.reverse .cframe{order:2}
.ccard.reverse .cbody{order:1}
.cframe{position:relative;aspect-ratio:1/1;width:100%;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.cframe .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.ccard:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.03)}
.cframe.cempty{display:grid;place-items:center;border:1px solid var(--line)}
.cbody h3{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;margin:0 0 10px}
.cbody .label{display:block;margin-bottom:20px}
.cbody p{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.7;max-width:56ch}
.cbody p:last-child{margin-bottom:0}
@media(max-width:1000px){
  .ag-split{grid-template-columns:1fr;gap:32px}
  .ccard,.ccard.reverse{grid-template-columns:1fr!important;gap:24px}
  .ccard .cframe,.ccard.reverse .cframe{order:0!important}
  .ccard .cbody,.ccard.reverse .cbody{order:1!important}
  .cframe{max-width:none}
}

/* ===== Lightbox ===== */
.sgal figure{cursor:zoom-in}
.sgal figure::after{content:"";position:absolute;inset:0;background:rgba(10,11,14,0);
  transition:background .35s ease;pointer-events:none}
.sgal figure:hover::after{background:rgba(10,11,14,.18)}
.sf-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(8,9,11,.96);backdrop-filter:blur(6px);padding:clamp(16px,4vw,64px)}
body.sf-lb-open{overflow:hidden}
body.sf-lb-open .sf-lb{display:flex}
.sf-lb-stage{margin:0;max-width:min(1400px,92vw);max-height:86svh;display:flex}
.sf-lb-stage img{max-width:100%;max-height:86svh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;filter:none!important;animation:sf-lb-in .45s ease}
@keyframes sf-lb-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.sf-lb-close{position:absolute;top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,32px);
  width:46px;height:46px;border:1px solid rgba(219,214,203,.25);border-radius:50%;background:none;
  color:#DBD6CB;font-size:16px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.sf-lb-close:hover{border-color:#BD9B5E;color:#CFA964}
.sf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border:1px solid rgba(219,214,203,.22);border-radius:50%;background:none;color:#DBD6CB;
  font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.sf-lb-nav:hover{border-color:#BD9B5E;color:#15161A;background:#BD9B5E}
.sf-lb-prev{left:clamp(10px,2.2vw,32px)}
.sf-lb-next{right:clamp(10px,2.2vw,32px)}
.sf-lb-count{position:absolute;bottom:clamp(16px,3vh,34px);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8B887F}
@media(max-width:700px){
  .sf-lb-nav{width:42px;height:42px;font-size:22px}
  .sf-lb-stage img{max-height:74svh}
}





/* ===== Athlete Stories ===== */
.story-block{position:relative;padding:clamp(60px,9vh,110px) 0}
.story-block+.story-block{border-top:1px solid var(--line-soft)}
.story-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding-left:max(var(--pad),calc((100% - 1240px)/2));
  padding-right:max(var(--pad),calc((100% - 1240px)/2))}
.story-big{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.story-block:hover .story-big .ph{filter:grayscale(0) contrast(1)}
.story-block:hover .story-portrait .ph{filter:grayscale(0) contrast(1)}
.story-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.story-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,58px);
  line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.story-disc{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.story-body p{margin:0 0 16px;color:#BCB7AD;font-size:15.5px;line-height:1.75;max-width:56ch}
.story-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}
.story-facts li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}
.story-media{margin-top:34px}
.vid-soon{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:var(--ink-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  overflow:hidden}
.vid-soon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.vid-soon .vs-play{position:relative;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(219,214,203,.28);display:grid;place-items:center;color:#8B887F;font-size:19px}
.vid-soon .vs-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-text)}
.vid-soon .vs-sub{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.story-wide{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin-top:26px;background:var(--ink-raise)}
@media(max-width:1000px){.story-in{grid-template-columns:1fr;gap:26px}}

/* ===== Kontakt ===== */
.kt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);margin-top:16px}
.kt-block+.kt-block{margin-top:34px}
.kt-block h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:0 0 10px}
.kt-block p,.kt-block a{color:#BCB7AD;font-size:15.5px;line-height:1.75;margin:0}
.kt-block a{display:block}
.kt-block a:hover{color:var(--gold-text)}
.kt-form{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);
  background:var(--ink-deep);min-height:420px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:14px}
@media(max-width:1000px){.kt-grid{grid-template-columns:1fr;gap:34px}}

/* ===== Platzhalter-Seiten ===== */
.ph-note{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,44px);
  background:var(--ink-deep);max-width:760px;margin-top:34px}
.ph-note h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:0 0 12px}
.ph-note p{margin:0 0 14px;color:#BCB7AD;font-size:15.5px;line-height:1.75}
.ph-list{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ph-list li{font-size:14.5px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:14px 16px}

/* ===== Athletinnen-Einzelseite ===== */
.at-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.at-hero>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.at-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 6%,rgba(11,12,15,.28) 60%,rgba(11,12,15,.5) 100%)}
.at-hero-body{position:relative;z-index:2;width:100%;
  padding:var(--pad) max(var(--pad),calc((100% - 1240px)/2))}
.at-name{font-family:var(--display);font-weight:400;font-size:clamp(40px,8vw,110px);
  line-height:.98;letter-spacing:-.03em;margin:14px 0 0}
.at-name em{font-style:italic;color:var(--gold-text)}
.at-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px;padding:0;list-style:none}
.at-meta li{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);border:1px solid rgba(219,214,203,.28);border-radius:2px;padding:8px 12px}

.at-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2))}
.at-por{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.at-split:hover .at-por .ph{filter:grayscale(0) contrast(1)}
.at-text p{margin:0 0 18px;color:#BCB7AD;font-size:16px;line-height:1.78;max-width:58ch}
.at-quote{margin:30px 0 0;padding-left:22px;border-left:1px solid var(--gold);
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,28px);
  line-height:1.4;color:#DFDAD1;max-width:30ch}

.at-gal{padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(60px,9vh,110px)}
.pal{margin-top:34px;border-top:1px solid var(--line)}
.pal-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(14px,2vw,34px);
  align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.pal-y{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.pal-t{font-size:16px;line-height:1.6;color:#CFCAC1}
.pal-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 40px;margin-top:40px}
.pal-num>div{display:flex;flex-direction:column;gap:6px}
.pal-num b{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:-.02em}
.pal-num span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.6}
@media(max-width:640px){.pal-row{grid-template-columns:1fr;gap:6px}}
.at-gal .sgal{margin-top:38px;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.at-gal .sgal figure{aspect-ratio:16/10}
@media(max-width:760px){.at-gal .sgal{grid-template-columns:1fr}}

/* Bilder fuellen ihren Rahmen immer vollstaendig */
#page-container .sgal figure>img.ph,#page-container .at-por>img.ph,
#page-container .story-big>img.ph,#page-container .bl-frame>img.ph,
.sgal figure>img.ph,.at-por>img.ph,.story-big>img.ph,.bl-frame>img.ph{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;max-width:none!important}

/* Wow-Effekte: Parallax im Hero, Name steigt auf, Zahl im Hintergrund */
.at-hero>img.ph{will-change:transform}
.at-hero-body{position:relative}
.at-ghost{position:absolute;right:max(var(--pad),calc((100% - 1240px)/2));bottom:-4vh;z-index:1;
  font-family:var(--display);font-weight:400;font-size:clamp(140px,26vw,380px);line-height:.72;
  color:rgba(219,214,203,.045);pointer-events:none;user-select:none;letter-spacing:-.04em}
.at-name span{display:inline-block;opacity:0;transform:translateY(24px);
  animation:at-rise .9s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes at-rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.at-name span{animation:none;opacity:1;transform:none}}

/* ===== Business / Health Leistungsbloecke ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:50px}
.bl-card{margin:0}
.bl-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.bl-card:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 12px}
.bl-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.bl-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bl-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--muted);line-height:1.6}
.bl-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:1px;background:var(--gold)}
@media(max-width:1000px){.bl-grid{grid-template-columns:1fr;gap:44px}
  .at-split{grid-template-columns:1fr;gap:28px}}

/* Bildplatzhalter (Health, bis das Material da ist) */
.imgsoon{position:relative;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.imgsoon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.imgsoon span{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}
.imgsoon .is-gold{color:var(--gold-text)}
/* ===== Lightbox ===== */
.sgal figure{cursor:zoom-in}
.sgal figure::after{content:"";position:absolute;inset:0;background:rgba(10,11,14,0);
  transition:background .35s ease;pointer-events:none}
.sgal figure:hover::after{background:rgba(10,11,14,.18)}
.sf-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(8,9,11,.96);backdrop-filter:blur(6px);padding:clamp(16px,4vw,64px)}
body.sf-lb-open{overflow:hidden}
body.sf-lb-open .sf-lb{display:flex}
.sf-lb-stage{margin:0;max-width:min(1400px,92vw);max-height:86svh;display:flex}
.sf-lb-stage img{max-width:100%;max-height:86svh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;filter:none!important;animation:sf-lb-in .45s ease}
@keyframes sf-lb-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.sf-lb-close{position:absolute;top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,32px);
  width:46px;height:46px;border:1px solid rgba(219,214,203,.25);border-radius:50%;background:none;
  color:#DBD6CB;font-size:16px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.sf-lb-close:hover{border-color:#BD9B5E;color:#CFA964}
.sf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border:1px solid rgba(219,214,203,.22);border-radius:50%;background:none;color:#DBD6CB;
  font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.sf-lb-nav:hover{border-color:#BD9B5E;color:#15161A;background:#BD9B5E}
.sf-lb-prev{left:clamp(10px,2.2vw,32px)}
.sf-lb-next{right:clamp(10px,2.2vw,32px)}
.sf-lb-count{position:absolute;bottom:clamp(16px,3vh,34px);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8B887F}
@media(max-width:700px){
  .sf-lb-nav{width:42px;height:42px;font-size:22px}
  .sf-lb-stage img{max-height:74svh}
}




/* ===== Athlete Stories ===== */
.story-block{position:relative;padding:clamp(60px,9vh,110px) 0}
.story-block+.story-block{border-top:1px solid var(--line-soft)}
.story-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding-left:max(var(--pad),calc((100% - 1240px)/2));
  padding-right:max(var(--pad),calc((100% - 1240px)/2))}
.story-big{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.story-block:hover .story-big .ph{filter:grayscale(0) contrast(1)}
.story-block:hover .story-portrait .ph{filter:grayscale(0) contrast(1)}
.story-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.story-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,58px);
  line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.story-disc{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.story-body p{margin:0 0 16px;color:#BCB7AD;font-size:15.5px;line-height:1.75;max-width:56ch}
.story-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}
.story-facts li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}
.story-media{margin-top:34px}
.vid-soon{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:var(--ink-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  overflow:hidden}
.vid-soon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.vid-soon .vs-play{position:relative;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(219,214,203,.28);display:grid;place-items:center;color:#8B887F;font-size:19px}
.vid-soon .vs-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-text)}
.vid-soon .vs-sub{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.story-wide{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin-top:26px;background:var(--ink-raise)}
@media(max-width:1000px){.story-in{grid-template-columns:1fr;gap:26px}}

/* ===== Kontakt ===== */
.kt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);margin-top:16px}
.kt-block+.kt-block{margin-top:34px}
.kt-block h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:0 0 10px}
.kt-block p,.kt-block a{color:#BCB7AD;font-size:15.5px;line-height:1.75;margin:0}
.kt-block a{display:block}
.kt-block a:hover{color:var(--gold-text)}
.kt-form{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);
  background:var(--ink-deep);min-height:420px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:14px}
@media(max-width:1000px){.kt-grid{grid-template-columns:1fr;gap:34px}}

/* ===== Platzhalter-Seiten ===== */
.ph-note{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,44px);
  background:var(--ink-deep);max-width:760px;margin-top:34px}
.ph-note h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:0 0 12px}
.ph-note p{margin:0 0 14px;color:#BCB7AD;font-size:15.5px;line-height:1.75}
.ph-list{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ph-list li{font-size:14.5px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:14px 16px}

/* ===== Athletinnen-Einzelseite ===== */
.at-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.at-hero>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.at-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 6%,rgba(11,12,15,.28) 60%,rgba(11,12,15,.5) 100%)}
.at-hero-body{position:relative;z-index:2;width:100%;
  padding:var(--pad) max(var(--pad),calc((100% - 1240px)/2))}
.at-name{font-family:var(--display);font-weight:400;font-size:clamp(40px,8vw,110px);
  line-height:.98;letter-spacing:-.03em;margin:14px 0 0}
.at-name em{font-style:italic;color:var(--gold-text)}
.at-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px;padding:0;list-style:none}
.at-meta li{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);border:1px solid rgba(219,214,203,.28);border-radius:2px;padding:8px 12px}

.at-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2))}
.at-por{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.at-split:hover .at-por .ph{filter:grayscale(0) contrast(1)}
.at-text p{margin:0 0 18px;color:#BCB7AD;font-size:16px;line-height:1.78;max-width:58ch}
.at-quote{margin:30px 0 0;padding-left:22px;border-left:1px solid var(--gold);
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,28px);
  line-height:1.4;color:#DFDAD1;max-width:30ch}

.at-gal{padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(60px,9vh,110px)}
.pal{margin-top:34px;border-top:1px solid var(--line)}
.pal-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:clamp(14px,2vw,34px);
  align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line)}
.pal-y{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-text)}
.pal-t{font-size:16px;line-height:1.6;color:#CFCAC1}
.pal-num{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:22px 40px;margin-top:40px}
.pal-num>div{display:flex;flex-direction:column;gap:6px}
.pal-num b{font-family:var(--display);font-weight:400;font-size:clamp(30px,3.4vw,46px);line-height:1;letter-spacing:-.02em}
.pal-num span{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.6}
@media(max-width:640px){.pal-row{grid-template-columns:1fr;gap:6px}}
.at-gal .sgal{margin-top:38px;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.at-gal .sgal figure{aspect-ratio:16/10}
@media(max-width:760px){.at-gal .sgal{grid-template-columns:1fr}}

/* Bilder fuellen ihren Rahmen immer vollstaendig */
#page-container .sgal figure>img.ph,#page-container .at-por>img.ph,
#page-container .story-big>img.ph,#page-container .bl-frame>img.ph,
.sgal figure>img.ph,.at-por>img.ph,.story-big>img.ph,.bl-frame>img.ph{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;max-width:none!important}

/* Wow-Effekte: Parallax im Hero, Name steigt auf, Zahl im Hintergrund */
.at-hero>img.ph{will-change:transform}
.at-hero-body{position:relative}
.at-ghost{position:absolute;right:max(var(--pad),calc((100% - 1240px)/2));bottom:-4vh;z-index:1;
  font-family:var(--display);font-weight:400;font-size:clamp(140px,26vw,380px);line-height:.72;
  color:rgba(219,214,203,.045);pointer-events:none;user-select:none;letter-spacing:-.04em}
.at-name span{display:inline-block;opacity:0;transform:translateY(24px);
  animation:at-rise .9s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes at-rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.at-name span{animation:none;opacity:1;transform:none}}

/* ===== Business / Health Leistungsbloecke ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:50px}
.bl-card{margin:0}
.bl-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.bl-card:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 12px}
.bl-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.bl-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bl-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--muted);line-height:1.6}
.bl-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:1px;background:var(--gold)}
@media(max-width:1000px){.bl-grid{grid-template-columns:1fr;gap:44px}
  .at-split{grid-template-columns:1fr;gap:28px}}

/* Bildplatzhalter (Health, bis das Material da ist) */
.imgsoon{position:relative;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.imgsoon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.imgsoon span{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}
.imgsoon .is-gold{color:var(--gold-text)}
/* ===== Lightbox ===== */
.sgal figure{cursor:zoom-in}
.sgal figure::after{content:"";position:absolute;inset:0;background:rgba(10,11,14,0);
  transition:background .35s ease;pointer-events:none}
.sgal figure:hover::after{background:rgba(10,11,14,.18)}
.sf-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(8,9,11,.96);backdrop-filter:blur(6px);padding:clamp(16px,4vw,64px)}
body.sf-lb-open{overflow:hidden}
body.sf-lb-open .sf-lb{display:flex}
.sf-lb-stage{margin:0;max-width:min(1400px,92vw);max-height:86svh;display:flex}
.sf-lb-stage img{max-width:100%;max-height:86svh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;filter:none!important;animation:sf-lb-in .45s ease}
@keyframes sf-lb-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.sf-lb-close{position:absolute;top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,32px);
  width:46px;height:46px;border:1px solid rgba(219,214,203,.25);border-radius:50%;background:none;
  color:#DBD6CB;font-size:16px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.sf-lb-close:hover{border-color:#BD9B5E;color:#CFA964}
.sf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border:1px solid rgba(219,214,203,.22);border-radius:50%;background:none;color:#DBD6CB;
  font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.sf-lb-nav:hover{border-color:#BD9B5E;color:#15161A;background:#BD9B5E}
.sf-lb-prev{left:clamp(10px,2.2vw,32px)}
.sf-lb-next{right:clamp(10px,2.2vw,32px)}
.sf-lb-count{position:absolute;bottom:clamp(16px,3vh,34px);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8B887F}
@media(max-width:700px){
  .sf-lb-nav{width:42px;height:42px;font-size:22px}
  .sf-lb-stage img{max-height:74svh}
}



/* ===== Athlete Stories ===== */
.story-block{position:relative;padding:clamp(60px,9vh,110px) 0}
.story-block+.story-block{border-top:1px solid var(--line-soft)}
.story-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding-left:max(var(--pad),calc((100% - 1240px)/2));
  padding-right:max(var(--pad),calc((100% - 1240px)/2))}
.story-big{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.story-block:hover .story-big .ph{filter:grayscale(0) contrast(1)}
.story-block:hover .story-portrait .ph{filter:grayscale(0) contrast(1)}
.story-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.story-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,58px);
  line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.story-disc{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.story-body p{margin:0 0 16px;color:#BCB7AD;font-size:15.5px;line-height:1.75;max-width:56ch}
.story-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}
.story-facts li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}
.story-media{margin-top:34px}
.vid-soon{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:var(--ink-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  overflow:hidden}
.vid-soon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.vid-soon .vs-play{position:relative;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(219,214,203,.28);display:grid;place-items:center;color:#8B887F;font-size:19px}
.vid-soon .vs-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-text)}
.vid-soon .vs-sub{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.story-wide{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin-top:26px;background:var(--ink-raise)}
@media(max-width:1000px){.story-in{grid-template-columns:1fr;gap:26px}}

/* ===== Kontakt ===== */
.kt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);margin-top:16px}
.kt-block+.kt-block{margin-top:34px}
.kt-block h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:0 0 10px}
.kt-block p,.kt-block a{color:#BCB7AD;font-size:15.5px;line-height:1.75;margin:0}
.kt-block a{display:block}
.kt-block a:hover{color:var(--gold-text)}
.kt-form{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);
  background:var(--ink-deep);min-height:420px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:14px}
@media(max-width:1000px){.kt-grid{grid-template-columns:1fr;gap:34px}}

/* ===== Platzhalter-Seiten ===== */
.ph-note{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,44px);
  background:var(--ink-deep);max-width:760px;margin-top:34px}
.ph-note h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:0 0 12px}
.ph-note p{margin:0 0 14px;color:#BCB7AD;font-size:15.5px;line-height:1.75}
.ph-list{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ph-list li{font-size:14.5px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:14px 16px}

/* ===== Athletinnen-Einzelseite ===== */
.at-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.at-hero>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.at-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 6%,rgba(11,12,15,.28) 60%,rgba(11,12,15,.5) 100%)}
.at-hero-body{position:relative;z-index:2;width:100%;
  padding:var(--pad) max(var(--pad),calc((100% - 1240px)/2))}
.at-name{font-family:var(--display);font-weight:400;font-size:clamp(40px,8vw,110px);
  line-height:.98;letter-spacing:-.03em;margin:14px 0 0}
.at-name em{font-style:italic;color:var(--gold-text)}
.at-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px;padding:0;list-style:none}
.at-meta li{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);border:1px solid rgba(219,214,203,.28);border-radius:2px;padding:8px 12px}

.at-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2))}
.at-por{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.at-split:hover .at-por .ph{filter:grayscale(0) contrast(1)}
.at-text p{margin:0 0 18px;color:#BCB7AD;font-size:16px;line-height:1.78;max-width:58ch}
.at-quote{margin:30px 0 0;padding-left:22px;border-left:1px solid var(--gold);
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,28px);
  line-height:1.4;color:#DFDAD1;max-width:30ch}

.at-gal{padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(60px,9vh,110px)}
.at-gal .sgal{margin-top:38px;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.at-gal .sgal figure{aspect-ratio:16/10}
@media(max-width:760px){.at-gal .sgal{grid-template-columns:1fr}}

/* Bilder fuellen ihren Rahmen immer vollstaendig */
#page-container .sgal figure>img.ph,#page-container .at-por>img.ph,
#page-container .story-big>img.ph,#page-container .bl-frame>img.ph,
.sgal figure>img.ph,.at-por>img.ph,.story-big>img.ph,.bl-frame>img.ph{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;max-width:none!important}

/* Wow-Effekte: Parallax im Hero, Name steigt auf, Zahl im Hintergrund */
.at-hero>img.ph{will-change:transform}
.at-hero-body{position:relative}
.at-ghost{position:absolute;right:max(var(--pad),calc((100% - 1240px)/2));bottom:-4vh;z-index:1;
  font-family:var(--display);font-weight:400;font-size:clamp(140px,26vw,380px);line-height:.72;
  color:rgba(219,214,203,.045);pointer-events:none;user-select:none;letter-spacing:-.04em}
.at-name span{display:inline-block;opacity:0;transform:translateY(24px);
  animation:at-rise .9s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes at-rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.at-name span{animation:none;opacity:1;transform:none}}

/* ===== Business / Health Leistungsbloecke ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:50px}
.bl-card{margin:0}
.bl-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.bl-card:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 12px}
.bl-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.bl-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bl-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--muted);line-height:1.6}
.bl-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:1px;background:var(--gold)}
@media(max-width:1000px){.bl-grid{grid-template-columns:1fr;gap:44px}
  .at-split{grid-template-columns:1fr;gap:28px}}

/* Bildplatzhalter (Health, bis das Material da ist) */
.imgsoon{position:relative;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.imgsoon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.imgsoon span{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}
.imgsoon .is-gold{color:var(--gold-text)}
/* ===== Lightbox ===== */
.sgal figure{cursor:zoom-in}
.sgal figure::after{content:"";position:absolute;inset:0;background:rgba(10,11,14,0);
  transition:background .35s ease;pointer-events:none}
.sgal figure:hover::after{background:rgba(10,11,14,.18)}
.sf-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(8,9,11,.96);backdrop-filter:blur(6px);padding:clamp(16px,4vw,64px)}
body.sf-lb-open{overflow:hidden}
body.sf-lb-open .sf-lb{display:flex}
.sf-lb-stage{margin:0;max-width:min(1400px,92vw);max-height:86svh;display:flex}
.sf-lb-stage img{max-width:100%;max-height:86svh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;filter:none!important;animation:sf-lb-in .45s ease}
@keyframes sf-lb-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.sf-lb-close{position:absolute;top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,32px);
  width:46px;height:46px;border:1px solid rgba(219,214,203,.25);border-radius:50%;background:none;
  color:#DBD6CB;font-size:16px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.sf-lb-close:hover{border-color:#BD9B5E;color:#CFA964}
.sf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border:1px solid rgba(219,214,203,.22);border-radius:50%;background:none;color:#DBD6CB;
  font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.sf-lb-nav:hover{border-color:#BD9B5E;color:#15161A;background:#BD9B5E}
.sf-lb-prev{left:clamp(10px,2.2vw,32px)}
.sf-lb-next{right:clamp(10px,2.2vw,32px)}
.sf-lb-count{position:absolute;bottom:clamp(16px,3vh,34px);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8B887F}
@media(max-width:700px){
  .sf-lb-nav{width:42px;height:42px;font-size:22px}
  .sf-lb-stage img{max-height:74svh}
}


/* ===== Athlete Stories ===== */
.story-block{position:relative;padding:clamp(60px,9vh,110px) 0}
.story-block+.story-block{border-top:1px solid var(--line-soft)}
.story-in{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding-left:max(var(--pad),calc((100% - 1240px)/2));
  padding-right:max(var(--pad),calc((100% - 1240px)/2))}
.story-big{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.story-block:hover .story-big .ph{filter:grayscale(0) contrast(1)}
.story-block:hover .story-portrait .ph{filter:grayscale(0) contrast(1)}
.story-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--muted)}
.story-name{font-family:var(--display);font-weight:400;font-size:clamp(30px,4vw,58px);
  line-height:1.02;letter-spacing:-.02em;margin:14px 0 10px}
.story-disc{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.story-body p{margin:0 0 16px;color:#BCB7AD;font-size:15.5px;line-height:1.75;max-width:56ch}
.story-facts{display:flex;flex-wrap:wrap;gap:8px 10px;margin:22px 0 0;padding:0;list-style:none}
.story-facts li{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);border:1px solid var(--line);border-radius:2px;padding:6px 10px}
.story-media{margin-top:34px}
.vid-soon{position:relative;aspect-ratio:16/9;border:1px solid var(--line);border-radius:3px;
  background:var(--ink-deep);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  overflow:hidden}
.vid-soon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.vid-soon .vs-play{position:relative;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(219,214,203,.28);display:grid;place-items:center;color:#8B887F;font-size:19px}
.vid-soon .vs-label{position:relative;font-family:var(--mono);font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-text)}
.vid-soon .vs-sub{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted)}
.story-wide{position:relative;aspect-ratio:16/10;overflow:hidden;border-radius:3px;margin-top:26px;background:var(--ink-raise)}
@media(max-width:1000px){.story-in{grid-template-columns:1fr;gap:26px}}

/* ===== Kontakt ===== */
.kt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);margin-top:16px}
.kt-block+.kt-block{margin-top:34px}
.kt-block h3{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,25px);margin:0 0 10px}
.kt-block p,.kt-block a{color:#BCB7AD;font-size:15.5px;line-height:1.75;margin:0}
.kt-block a{display:block}
.kt-block a:hover{color:var(--gold-text)}
.kt-form{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,46px);
  background:var(--ink-deep);min-height:420px;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;gap:14px}
@media(max-width:1000px){.kt-grid{grid-template-columns:1fr;gap:34px}}

/* ===== Platzhalter-Seiten ===== */
.ph-note{border:1px solid var(--line);border-radius:4px;padding:clamp(26px,3.4vw,44px);
  background:var(--ink-deep);max-width:760px;margin-top:34px}
.ph-note h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:0 0 12px}
.ph-note p{margin:0 0 14px;color:#BCB7AD;font-size:15.5px;line-height:1.75}
.ph-list{list-style:none;margin:22px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.ph-list li{font-size:14.5px;color:var(--muted);border:1px solid var(--line);border-radius:3px;padding:14px 16px}

/* ===== Athletinnen-Einzelseite ===== */
.at-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink-deep)}
.at-hero>img.ph{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
.at-hero-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,12,15,.96) 6%,rgba(11,12,15,.28) 60%,rgba(11,12,15,.5) 100%)}
.at-hero-body{position:relative;z-index:2;width:100%;
  padding:var(--pad) max(var(--pad),calc((100% - 1240px)/2))}
.at-name{font-family:var(--display);font-weight:400;font-size:clamp(40px,8vw,110px);
  line-height:.98;letter-spacing:-.03em;margin:14px 0 0}
.at-name em{font-style:italic;color:var(--gold-text)}
.at-meta{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:26px;padding:0;list-style:none}
.at-meta li{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bone);border:1px solid rgba(219,214,203,.28);border-radius:2px;padding:8px 12px}

.at-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:clamp(28px,4.5vw,72px);
  align-items:start;padding:clamp(60px,9vh,120px) max(var(--pad),calc((100% - 1240px)/2))}
.at-por{position:relative;aspect-ratio:3/4;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.at-split:hover .at-por .ph{filter:grayscale(0) contrast(1)}
.at-text p{margin:0 0 18px;color:#BCB7AD;font-size:16px;line-height:1.78;max-width:58ch}
.at-quote{margin:30px 0 0;padding-left:22px;border-left:1px solid var(--gold);
  font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(19px,2.2vw,28px);
  line-height:1.4;color:#DFDAD1;max-width:30ch}

.at-gal{padding:0 max(var(--pad),calc((100% - 1240px)/2)) clamp(60px,9vh,110px)}
.at-gal .sgal{margin-top:38px;grid-template-columns:repeat(2,1fr);gap:clamp(14px,1.6vw,22px)}
.at-gal .sgal figure:first-child{grid-column:1 / -1;aspect-ratio:16/9}
.at-gal .sgal figure:nth-child(6){grid-column:1 / -1;aspect-ratio:16/9}
@media(max-width:760px){.at-gal .sgal{grid-template-columns:1fr}
  .at-gal .sgal figure,.at-gal .sgal figure:first-child,.at-gal .sgal figure:nth-child(6){aspect-ratio:16/10}}

/* Wow-Effekte: Parallax im Hero, Name steigt auf, Zahl im Hintergrund */
.at-hero>img.ph{will-change:transform}
.at-hero-body{position:relative}
.at-ghost{position:absolute;right:max(var(--pad),calc((100% - 1240px)/2));bottom:-4vh;z-index:1;
  font-family:var(--display);font-weight:400;font-size:clamp(140px,26vw,380px);line-height:.72;
  color:rgba(219,214,203,.045);pointer-events:none;user-select:none;letter-spacing:-.04em}
.at-name span{display:inline-block;opacity:0;transform:translateY(24px);
  animation:at-rise .9s cubic-bezier(.2,.75,.3,1) forwards}
@keyframes at-rise{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.at-name span{animation:none;opacity:1;transform:none}}

/* ===== Business / Health Leistungsbloecke ===== */
.bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.6vw,40px);margin-top:50px}
.bl-card{margin:0}
.bl-frame{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:3px;background:var(--ink-raise)}
.bl-card:hover .ph{filter:grayscale(0) contrast(1);transform:scale(1.04)}
.bl-card h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,27px);margin:20px 0 12px}
.bl-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}
.bl-list{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bl-list li{position:relative;padding-left:20px;font-size:14.5px;color:var(--muted);line-height:1.6}
.bl-list li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:1px;background:var(--gold)}
@media(max-width:1000px){.bl-grid{grid-template-columns:1fr;gap:44px}
  .at-split{grid-template-columns:1fr;gap:28px}}

/* Bildplatzhalter (Health, bis das Material da ist) */
.imgsoon{position:relative;border:1px solid var(--line);border-radius:3px;background:var(--ink-deep);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden}
.imgsoon::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(58deg,rgba(239,235,227,.035) 0 1px,transparent 1px 10px)}
.imgsoon span{position:relative;font-family:var(--mono);font-size:10px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--muted)}
.imgsoon .is-gold{color:var(--gold-text)}
/* ===== Lightbox ===== */
.sgal figure{cursor:zoom-in}
.sgal figure::after{content:"";position:absolute;inset:0;background:rgba(10,11,14,0);
  transition:background .35s ease;pointer-events:none}
.sgal figure:hover::after{background:rgba(10,11,14,.18)}
.sf-lb{position:fixed;inset:0;z-index:100000;display:none;align-items:center;justify-content:center;
  background:rgba(8,9,11,.96);backdrop-filter:blur(6px);padding:clamp(16px,4vw,64px)}
body.sf-lb-open{overflow:hidden}
body.sf-lb-open .sf-lb{display:flex}
.sf-lb-stage{margin:0;max-width:min(1400px,92vw);max-height:86svh;display:flex}
.sf-lb-stage img{max-width:100%;max-height:86svh;width:auto;height:auto;object-fit:contain;
  border-radius:2px;filter:none!important;animation:sf-lb-in .45s ease}
@keyframes sf-lb-in{from{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}
.sf-lb-close{position:absolute;top:clamp(14px,2.4vw,28px);right:clamp(14px,2.4vw,32px);
  width:46px;height:46px;border:1px solid rgba(219,214,203,.25);border-radius:50%;background:none;
  color:#DBD6CB;font-size:16px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s}
.sf-lb-close:hover{border-color:#BD9B5E;color:#CFA964}
.sf-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;
  border:1px solid rgba(219,214,203,.22);border-radius:50%;background:none;color:#DBD6CB;
  font-size:26px;line-height:1;cursor:pointer;transition:border-color .3s,color .3s,background .3s}
.sf-lb-nav:hover{border-color:#BD9B5E;color:#15161A;background:#BD9B5E}
.sf-lb-prev{left:clamp(10px,2.2vw,32px)}
.sf-lb-next{right:clamp(10px,2.2vw,32px)}
.sf-lb-count{position:absolute;bottom:clamp(16px,3vh,34px);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:#8B887F}
@media(max-width:700px){
  .sf-lb-nav{width:42px;height:42px;font-size:22px}
  .sf-lb-stage img{max-height:74svh}
}


/* Hover-Farben: die !important-Regel fuer Linkfarben oben blockiert sonst jeden Hover */
#page-container .shinobi-sec .ph-list a,
#page-container .shinobi-sec .kt-block a,
#page-container .shinobi-sec .f-grid a,
#page-container .shinobi-sec .direct a,
#page-container .shinobi-sec .meta a{transition:color .3s ease}
#page-container .shinobi-sec .ph-list a:hover,
#page-container .shinobi-sec .kt-block a:hover,
#page-container .shinobi-sec .f-grid a:hover,
#page-container .shinobi-sec .direct a:hover,
#page-container .shinobi-sec .meta a:hover,
#page-container .shinobi-sec .nav-links a:hover,
#page-container .shinobi-sec .drawer a:hover,
#page-container .shinobi-sec .band-more:hover,
#page-container .shinobi-sec .seg a:hover .seg-go,
#page-container .shinobi-sec .work a:hover h3{color:#CFA964!important}
#page-container .shinobi-sec .btn:hover,
#page-container .shinobi-sec .btn.solid:hover{color:#15161A!important}
#page-container .shinobi-sec .btn.ghost:hover{color:#DBD6CB!important}
#page-container .shinobi-sec .ph-list li{transition:border-color .3s ease}
#page-container .shinobi-sec .ph-list li:hover{border-color:rgba(189,155,94,.55)}

/* Zeilenhoehen gegen Divi absichern — alle Ueberschriftenklassen */
#page-container .shinobi-sec h1,#page-container .shinobi-sec h2,
#page-container .shinobi-sec h3,#page-container .shinobi-sec h4{line-height:1.18!important}
#page-container .shinobi-sec .h-xl,#page-container .shinobi-sec .pj-title,
#page-container .shinobi-sec .at-name,#page-container .shinobi-sec .rname,
#page-container .shinobi-sec .card-name,#page-container .shinobi-sec .story-name{line-height:1.06!important}
#page-container .shinobi-sec .h-lg{line-height:1.16!important}
#page-container .shinobi-sec .h-md{line-height:1.22!important}
#page-container .shinobi-sec blockquote{line-height:1.5!important}
#page-container .shinobi-sec .pj-title{margin-bottom:0!important;padding-bottom:.08em!important}
#page-container .shinobi-sec .at-name{padding-bottom:.06em!important}

/* Hero-Abstaende, damit Titel nicht in den Folgeblock laufen */
#page-container .shinobi-sec .pj-hero{padding-bottom:clamp(34px,5vh,58px)!important}
#page-container .shinobi-sec .pj-lede{margin-top:26px!important}
#page-container .shinobi-sec .at-hero-body{padding-bottom:clamp(34px,5vh,60px)!important}
#page-container .shinobi-sec .at-meta{margin-top:28px!important}

/* Erfolge: linke Spalte breiter, damit nichts ineinanderlaeuft */
#page-container .shinobi-sec .pal-row{grid-template-columns:210px minmax(0,1fr)!important;
  gap:clamp(18px,2.6vw,44px)!important;align-items:start!important}
#page-container .shinobi-sec .pal-y{line-height:1.7!important}
@media(max-width:760px){#page-container .shinobi-sec .pal-row{grid-template-columns:1fr!important;gap:6px!important}}

/* Kundenstimme auf Projektseiten ueber die volle Breite */
#page-container .shinobi-sec .pj-quote blockquote{max-width:34ch!important}
#page-container .shinobi-sec .testi blockquote{max-width:none!important}
#page-container .shinobi-sec .testi-in{max-width:1000px!important}

/* Health: Bild im Warum-Block sauber ausfuellen */
#page-container .shinobi-sec .ag-split-img{aspect-ratio:16/10!important}


/* ===== Contact Form 7 ===== */
#page-container .shinobi-sec .wpcf7{max-width:none}
#page-container .shinobi-sec .wpcf7 form{display:grid;gap:20px}
#page-container .shinobi-sec .wpcf7 p{margin:0;color:inherit}
#page-container .shinobi-sec .wpcf7 label{display:flex;flex-direction:column;gap:9px;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted)}

/* Eingabefelder */
#page-container .shinobi-sec .wpcf7 input[type=text],
#page-container .shinobi-sec .wpcf7 input[type=email],
#page-container .shinobi-sec .wpcf7 input[type=tel],
#page-container .shinobi-sec .wpcf7 input[type=url],
#page-container .shinobi-sec .wpcf7 input[type=date],
#page-container .shinobi-sec .wpcf7 select,
#page-container .shinobi-sec .wpcf7 textarea{
  width:100%;box-sizing:border-box;background:rgba(239,235,227,.03)!important;
  border:1px solid var(--line)!important;border-radius:2px!important;
  padding:15px 16px!important;color:var(--bone)!important;
  font-family:var(--body)!important;font-size:15px!important;font-weight:300!important;
  letter-spacing:0!important;text-transform:none!important;line-height:1.5!important;
  transition:border-color .3s ease,background .3s ease;box-shadow:none!important;-webkit-appearance:none}
#page-container .shinobi-sec .wpcf7 textarea{min-height:170px;resize:vertical}
#page-container .shinobi-sec .wpcf7 input:focus,
#page-container .shinobi-sec .wpcf7 select:focus,
#page-container .shinobi-sec .wpcf7 textarea:focus{
  border-color:var(--gold)!important;background:rgba(239,235,227,.05)!important;outline:none!important}
#page-container .shinobi-sec .wpcf7 input::placeholder,
#page-container .shinobi-sec .wpcf7 textarea::placeholder{color:rgba(139,136,127,.7);opacity:1}
#page-container .shinobi-sec .wpcf7 select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23BD9B5E' stroke-width='1.5'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 16px center!important;padding-right:44px!important}
#page-container .shinobi-sec .wpcf7 select option{background:#17181C;color:#DBD6CB}

/* Zwei Spalten fuer kurze Felder */
#page-container .shinobi-sec .cf7-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
@media(max-width:700px){#page-container .shinobi-sec .cf7-row{grid-template-columns:1fr}}

/* Checkbox / Zustimmung */
#page-container .shinobi-sec .wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0}
#page-container .shinobi-sec .wpcf7 .wpcf7-list-item-label{font-family:var(--body);font-size:14px;
  letter-spacing:0;text-transform:none;color:#BCB7AD;line-height:1.65}
#page-container .shinobi-sec .wpcf7 input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:18px;height:18px;flex:none;
  border:1px solid var(--line);border-radius:2px;background:rgba(239,235,227,.03);
  margin-right:12px;position:relative;top:3px;cursor:pointer;transition:border-color .3s,background .3s}
#page-container .shinobi-sec .wpcf7 input[type=checkbox]:checked{background:var(--gold);border-color:var(--gold)}
#page-container .shinobi-sec .wpcf7 input[type=checkbox]:checked::after{
  content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;
  border:solid #15161A;border-width:0 2px 2px 0;transform:rotate(45deg)}
#page-container .shinobi-sec .wpcf7 .wpcf7-acceptance a{color:var(--gold-text)!important;
  text-decoration:underline!important;text-underline-offset:3px}

/* Absenden */
#page-container .shinobi-sec .wpcf7 input[type=submit]{
  display:inline-flex;align-items:center;padding:17px 32px!important;border-radius:2px!important;
  font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.2em!important;
  text-transform:uppercase!important;background:var(--gold)!important;color:#15161A!important;
  border:1px solid var(--gold)!important;cursor:pointer;transition:background .35s,border-color .35s;
  width:auto!important;box-shadow:none!important}
#page-container .shinobi-sec .wpcf7 input[type=submit]:hover{background:#D2B071!important;border-color:#D2B071!important}
#page-container .shinobi-sec .wpcf7 .wpcf7-spinner{margin:0 0 0 14px;background:rgba(189,155,94,.35)}

/* Meldungen */
#page-container .shinobi-sec .wpcf7 .wpcf7-not-valid-tip{
  font-family:var(--mono)!important;font-size:10px!important;letter-spacing:.14em!important;
  text-transform:uppercase!important;color:#E0806B!important;margin-top:8px!important}
#page-container .shinobi-sec .wpcf7 .wpcf7-not-valid{border-color:rgba(224,128,107,.65)!important}
#page-container .shinobi-sec .wpcf7 .wpcf7-response-output{
  margin:20px 0 0!important;padding:16px 18px!important;border-radius:3px!important;
  border:1px solid var(--line)!important;background:rgba(239,235,227,.03)!important;
  font-family:var(--body)!important;font-size:14.5px!important;color:#BCB7AD!important;line-height:1.6}
#page-container .shinobi-sec .wpcf7 form.sent .wpcf7-response-output{
  border-color:rgba(189,155,94,.55)!important;color:var(--gold-text)!important}
#page-container .shinobi-sec .wpcf7 form.invalid .wpcf7-response-output,
#page-container .shinobi-sec .wpcf7 form.failed .wpcf7-response-output{
  border-color:rgba(224,128,107,.5)!important;color:#E0A092!important}

/* Autofill-Gelb von Chrome unterdruecken */
#page-container .shinobi-sec .wpcf7 input:-webkit-autofill,
#page-container .shinobi-sec .wpcf7 textarea:-webkit-autofill{
  -webkit-text-fill-color:#DBD6CB!important;
  -webkit-box-shadow:0 0 0 40px #1B1C21 inset!important;caret-color:#DBD6CB}

/* ===== Navigation ueber allen Sektionen halten =====
   Divi gibt jeder Section position:relative und einen z-index. Dadurch entsteht pro
   Section ein eigener Stapelkontext: Die fixe Navigation steckt in Section 1 und wird
   von jeder spaeteren Section ueberdeckt, egal wie hoch ihr eigener z-index ist.
   Loesung: die Section MIT der Navigation nach ganz oben, alle anderen darunter. */
#page-container .shinobi-sec{position:relative!important;z-index:1!important}
#page-container .shinobi-sec:first-of-type{z-index:99999!important}
#page-container .shinobi-sec:has(header.nav),
#page-container .shinobi-sec:has(.drawer){z-index:99999!important}
#page-container .shinobi-sec:first-of-type .et_pb_row,
#page-container .shinobi-sec:first-of-type .et_pb_column,
#page-container .shinobi-sec:first-of-type .et_pb_code,
#page-container .shinobi-sec:first-of-type .et_pb_code_inner,
#page-container .shinobi-sec:has(header.nav) .et_pb_row,
#page-container .shinobi-sec:has(header.nav) .et_pb_column,
#page-container .shinobi-sec:has(header.nav) .et_pb_code,
#page-container .shinobi-sec:has(header.nav) .et_pb_code_inner{
  position:static!important;z-index:auto!important;overflow:visible!important}
#page-container header.nav{position:fixed!important;top:0!important;left:0!important;right:0!important;
  width:100%!important;z-index:100000!important}
#page-container .drawer{z-index:99998!important}
/* Lightbox bleibt trotzdem ganz oben */
body .sf-lb{z-index:1000000!important}

/* ===== Mitgliedschaft Berufsfotografie Oesterreich ===== */
.bfo{display:flex;align-items:center;gap:16px;margin-top:26px}
.bfo img{height:66px;width:auto;opacity:.85;flex:none}
.bfo span{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--muted);line-height:1.7;max-width:26ch}
.bfo-foot{display:flex;align-items:center;gap:13px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line-soft)}
.bfo-foot img{height:46px;width:auto;opacity:.7;flex:none;transition:opacity .35s ease}
.bfo-foot:hover img{opacity:1}
.bfo-foot span{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);line-height:1.7}
.bfo-kt{display:flex;align-items:center;gap:14px;margin-top:8px}
.bfo-kt img{height:54px;width:auto;opacity:.8}
@media(max-width:600px){.bfo img{height:54px}}

/* ===== Sterne als SVG (keine Schriftabhaengigkeit) ===== */
.stars,.tstars{display:inline-flex;align-items:center;gap:5px;color:var(--gold-text);letter-spacing:0}
.stars svg,.tstars svg{display:block;width:14px;height:14px}
#page-container .shinobi-sec .stars,#page-container .shinobi-sec .tstars{
  color:#CFA964!important;letter-spacing:0!important;font-size:0!important}
