:root{--ink:#2c2f1a;--ink2:#45482f;--sun:#ffe7ae;--soft:#fff4d6;--paper:#fffdf8;--paper2:#f8f4e9;--muted:#777464;--line:#ded7c0;--shadow:0 18px 50px rgba(44,47,26,.10);--r:24px;--w:1160px}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:-apple-system,BlinkMacSystemFont,"Avenir Next","Segoe UI",Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:inherit}img{display:block;max-width:100%}button{font:inherit}.wrap{width:min(calc(100% - 36px),var(--w));margin-inline:auto}.site{min-height:100vh;display:flex;flex-direction:column}.header{position:sticky;top:0;z-index:30;background:rgba(255,253,248,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(222,215,192,.7)}.header-in{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800}.brand img{width:46px;height:46px;object-fit:contain}.nav{display:flex;gap:26px;align-items:center}.nav a{text-decoration:none;font-size:.95rem;font-weight:700}.nav a.active{text-decoration:underline;text-underline-offset:6px}.toggle{display:none;border:0;background:none;font-size:1.35rem;padding:10px;color:var(--ink)}main{flex:1}.hero{padding:82px 0 52px}.hero-copy{max-width:900px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:900;color:var(--muted);margin:0 0 14px}h1,h2,h3{line-height:1.08;margin:0;letter-spacing:-.035em}h1{font-size:clamp(3rem,7vw,6.5rem);max-width:11ch}h2{font-size:clamp(1.85rem,3.2vw,2.8rem)}h3{font-size:clamp(1.25rem,2.2vw,1.65rem)}.lead{font-size:clamp(1.18rem,2.2vw,1.52rem);max-width:720px;margin:24px 0 0;color:var(--ink2)}.section{padding:66px 0}.section.soft{background:var(--paper2)}.section.sun{background:var(--soft)}.head{display:flex;justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px}.head p{margin:0;max-width:620px;color:var(--muted)}.two{display:grid;grid-template-columns:1fr 1fr;gap:26px}.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px;box-shadow:0 8px 30px rgba(44,47,26,.045)}.card h2{font-size:clamp(1.45rem,2.35vw,2rem);line-height:1.2;letter-spacing:-.025em}.card p{margin:14px 0 0;color:var(--ink2)}.style{padding:26px;border-left:3px solid var(--sun);background:#fff;border-radius:0 20px 20px 0}.style p{margin:10px 0 0;color:var(--ink2)}.feature{border-radius:30px;padding:36px;background:var(--ink);color:var(--paper)}.feature h2{color:var(--sun);font-size:clamp(1.75rem,3vw,2.6rem);line-height:1.16}.feature p{font-size:1.12rem;max-width:820px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tile,.media{background:linear-gradient(145deg,var(--soft),var(--sun));border:1px solid var(--line);overflow:hidden;position:relative}.tile{aspect-ratio:4/5;border-radius:20px}.media{aspect-ratio:16/10;border-radius:0}.tile img,.media img{width:100%;height:100%;object-fit:cover}.placeholder{position:absolute;inset:0;display:grid;place-items:center;padding:18%;opacity:.72}.placeholder img{width:100%;height:100%;object-fit:contain}.iglink{display:inline-block;margin-top:15px;text-decoration:none;font-weight:800}.rows{display:grid;gap:14px}.row{display:grid;grid-template-columns:120px 80px 1fr auto;gap:18px;align-items:center;padding:19px 22px;border:1px solid var(--line);border-radius:18px;background:#fff}.row .venue strong{display:block}.ext,.friendlink{font-weight:800;text-decoration:none}.specials,.friends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.event{overflow:hidden;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow)}.event-body{padding:26px}.status{display:inline-flex;border-radius:999px;padding:6px 10px;background:var(--soft);font-weight:900;font-size:.78rem;margin-bottom:14px}.facts{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:.92rem;margin:16px 0}.discount{font-weight:900;color:var(--ink)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);text-decoration:none;font-weight:900;cursor:pointer}.btn.alt{background:transparent;color:var(--ink)}.friend{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:18px;border:1px solid var(--line);border-radius:24px;background:#fff}.friend .media{aspect-ratio:auto;min-height:180px;border-radius:18px}.friend p{margin:10px 0 14px;color:var(--ink2)}.group{margin-top:46px}.group:first-child{margin-top:0}.legal{max-width:800px;padding:70px 0 100px}.legal h1{font-size:clamp(2.6rem,5vw,4.8rem);max-width:none}.note{margin:28px 0;padding:18px 20px;background:var(--soft);border-radius:16px}.footer{border-top:1px solid var(--line);padding:28px 0}.footer-in{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:.9rem}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.footer a,.footer button{color:inherit;border:0;background:none;padding:0;text-decoration:none;cursor:pointer}.consent{position:fixed;inset:0;z-index:100;background:rgba(44,47,26,.58);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.consent[hidden]{display:none}.dialog{width:min(100%,620px);background:var(--paper);border-radius:28px;padding:30px;box-shadow:0 30px 100px rgba(0,0,0,.28)}.dialog img{width:84px}.dialog h2{font-size:2rem;margin-top:8px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.small{font-size:.82rem;color:var(--muted)}.backup-nav{display:flex;flex-wrap:wrap;gap:14px;margin:22px 0}.backup-nav a{font-weight:800;text-decoration:none}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr)}.specials,.friends{grid-template-columns:1fr}}@media(max-width:720px){.wrap{width:min(calc(100% - 28px),var(--w))}.header-in{height:66px}.brand img{width:40px;height:40px}.toggle{display:block}.nav{position:fixed;inset:66px 0 auto 0;background:var(--paper);border-bottom:1px solid var(--line);padding:20px 22px 26px;display:grid;gap:8px;transform:translateY(-140%);transition:transform .24s ease}.nav.open{transform:translateY(0)}.nav a{padding:9px 4px;font-size:1.05rem}.hero{padding:44px 0 34px}h1{font-size:clamp(2.8rem,15vw,4.5rem)}.lead{font-size:1.18rem}.section{padding:50px 0}.head{align-items:start;flex-direction:column}.two,.grid2{grid-template-columns:1fr}.card,.feature{padding:24px}.gallery{gap:8px}.tile{border-radius:14px}.row{grid-template-columns:1fr auto;gap:6px 12px}.row .venue{grid-column:1/-1}.row .ext{grid-column:2;grid-row:1/3}.friend{grid-template-columns:1fr}.friend .media{min-height:240px}.footer-in{align-items:flex-start;flex-direction:column}.dialog{padding:24px}.actions{display:grid}.actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.backup-flat{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--paper)}.backup-flat-inner{width:min(100%,620px);text-align:center}.backup-flat h1{max-width:none;font-size:clamp(2.6rem,8vw,5rem)}.backup-flat p{color:var(--muted);font-size:1.05rem}.backup-kicker{font-weight:900;letter-spacing:.12em;text-transform:uppercase}.backup-actions{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px}.backup-actions a{font-weight:800;text-decoration:none}@media(max-width:720px){.backup-actions{display:grid}.backup-actions>*{width:100%}}

/* Yoga: Bilder gehören zu den einzelnen Praxis-Absätzen, nicht in eine Galerie. */
.yoga-style{display:grid;grid-template-columns:minmax(0,175px) minmax(0,1fr);gap:20px;align-items:center;padding:18px}
.yoga-style .yoga-inline-media{display:block;width:100%;aspect-ratio:4/5;min-width:0;border-radius:14px}
.yoga-style .yoga-style-text{min-width:0}
@media(max-width:720px){.yoga-style{grid-template-columns:minmax(110px,.7fr) minmax(0,1fr)}}
@media(max-width:450px){.yoga-style{grid-template-columns:1fr}.yoga-style .yoga-inline-media{aspect-ratio:16/9}}

/* Shared image treatment for all non-home Instagram imagery:
   full image centered inside a 20px safety zone, softly enlarged copy behind. */
.layered-media{
  position:relative;
  overflow:hidden;
  background:#fff;
  isolation:isolate;
}
.layered-media.has-image{
  padding:0;
}
.layered-media-bg{
  position:absolute;
  z-index:0;
  inset:-12%;
  width:124%!important;
  height:124%!important;
  max-width:none!important;
  object-fit:cover!important;
  filter:blur(8px) saturate(.9);
  transform:scale(1.02);
}
.layered-media-wash{
  position:absolute;
  z-index:1;
  inset:0;
  background:rgba(255,255,255,.36);
}
.layered-media-main{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:auto!important;
  height:auto!important;
  max-width:calc(100% - 40px)!important;
  max-height:calc(100% - 40px)!important;
  object-fit:contain!important;
  object-position:center center;
  transform:translate(-50%,-50%);
  border-radius:12px;
  box-shadow:0 8px 24px rgba(44,47,26,.16);
}
.friend .friend-media{
  width:100%;
  aspect-ratio:4/5;
  min-height:0;
  align-self:start;
  border-radius:18px;
}
.yoga-inline-media{
  position:relative;
}
.event-media{
  display:block;
  width:100%;
  aspect-ratio:16/10;
}
.layered-gallery .tile{
  position:relative;
}

/* Home: iTunes-inspired Cover Flow. Home intentionally does not use layered-media. */
.home-coverflow{
  position:relative;
  padding:10px 0 4px;
  overflow:hidden;
}
.coverflow-stage{
  position:relative;
  height:390px;
  perspective:1200px;
  perspective-origin:50% 45%;
}
.coverflow-item{
  position:absolute;
  left:50%;
  top:46%;
  width:min(280px,30vw);
  aspect-ratio:4/5;
  padding:0;
  border:0;
  background:none;
  cursor:pointer;
  transform-style:preserve-3d;
  transition:transform .38s ease,opacity .38s ease,filter .38s ease,z-index 0s;
  transform:translate(-50%,-50%) scale(.68);
  opacity:.36;
  filter:saturate(.72) brightness(.93);
  z-index:1;
}
.coverflow-card{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:18px;
  border:1px solid rgba(222,215,192,.9);
  background:var(--soft);
  box-shadow:0 24px 55px rgba(44,47,26,.18);
  -webkit-box-reflect:below 8px linear-gradient(transparent 72%,rgba(44,47,26,.10));
}
.coverflow-card img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.coverflow-item[data-pos="-1"]{
  transform:translate(calc(-50% - 230px),-50%) rotateY(42deg) scale(.78);
  opacity:.72;
  filter:saturate(.82) brightness(.96);
  z-index:3;
}
.coverflow-item[data-pos="1"]{
  transform:translate(calc(-50% + 230px),-50%) rotateY(-42deg) scale(.78);
  opacity:.72;
  filter:saturate(.82) brightness(.96);
  z-index:3;
}
.coverflow-item[data-pos="-2"],
.coverflow-item[data-pos="2"]{
  transform:translate(-50%,-50%) scale(.58);
  opacity:.18;
  z-index:1;
}
.coverflow-item.active{
  transform:translate(-50%,-50%) rotateY(0) scale(1);
  opacity:1;
  filter:none;
  z-index:5;
}
.coverflow-item.is-placeholder .coverflow-card img{object-fit:contain;padding:18%}
.coverflow-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:4px;
}
.coverflow-controls>button{
  width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line);
  background:#fff;color:var(--ink);
  font-size:1.8rem;line-height:1;cursor:pointer;
}
.coverflow-dots{display:flex;align-items:center;gap:8px}
.coverflow-dots button{
  width:9px;height:9px;padding:0;border:0;border-radius:50%;
  background:var(--line);cursor:pointer;
}
.coverflow-dots button.active{background:var(--ink)}
.coverflow-instagram{display:block;text-align:center;margin-top:12px}

@media(max-width:900px){
  .friend{grid-template-columns:1fr}
  .friend .friend-media{aspect-ratio:4/3;min-height:0}
  .coverflow-stage{height:350px}
  .coverflow-item{width:min(250px,40vw)}
  .coverflow-item[data-pos="-1"]{transform:translate(calc(-50% - 180px),-50%) rotateY(42deg) scale(.76)}
  .coverflow-item[data-pos="1"]{transform:translate(calc(-50% + 180px),-50%) rotateY(-42deg) scale(.76)}
}
@media(max-width:720px){
  .friend .friend-media{aspect-ratio:4/3}
  .coverflow-stage{height:315px}
  .coverflow-item{width:min(210px,56vw)}
  .coverflow-item[data-pos="-1"]{transform:translate(calc(-50% - 125px),-50%) rotateY(46deg) scale(.72)}
  .coverflow-item[data-pos="1"]{transform:translate(calc(-50% + 125px),-50%) rotateY(-46deg) scale(.72)}
}
@media(max-width:450px){
  .coverflow-stage{height:285px}
  .coverflow-item{width:min(190px,58vw)}
  .coverflow-item[data-pos="-1"]{transform:translate(calc(-50% - 98px),-50%) rotateY(48deg) scale(.68)}
  .coverflow-item[data-pos="1"]{transform:translate(calc(-50% + 98px),-50%) rotateY(-48deg) scale(.68)}
}

/* Combined Mobility + strength feature on Yoga. */
.mobility-strength-feature{
  display:grid;
  grid-template-columns:minmax(220px,300px) minmax(0,1fr);
  gap:34px;
  align-items:stretch;
}
.mobility-feature-media{
  width:100%;
  aspect-ratio:4/5;
  min-height:0;
  border-radius:20px;
  border:1px solid rgba(255,231,174,.28);
}
.mobility-strength-copy{
  min-width:0;
  align-self:center;
}
.mobility-strength-copy h3{
  color:var(--sun);
  font-size:clamp(1.65rem,3vw,2.35rem);
}
.mobility-strength-copy p{
  margin:12px 0 0;
  max-width:880px;
}
.mobility-strength-copy h2{
  margin-top:0;
}
.feature-divider{
  height:1px;
  margin:26px 0;
  background:rgba(255,253,248,.24);
}
@media(max-width:800px){
  .mobility-strength-feature{grid-template-columns:1fr}
  .mobility-feature-media{
    width:min(100%,460px);
    aspect-ratio:4/3;
    justify-self:center;
  }
}
