
:root{
  --work-sand:#ead1ad;
  --work-sand-soft:#efddc2;
  --work-ink:#111111;
  --work-panel:#f5e6cb;
  --work-accent:#d2ef2e;
}

.work-wrap{
  width:min(1180px, calc(100% - 48px));
}

.section-beige{
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.28), transparent 35%),
    var(--work-sand-soft);
}

.work-index-hero,
.case-hero{
  padding:72px 0 28px;
}

.work-index-hero h1,
.case-hero h1{
  max-width:14ch;
}

.work-index-hero .lead,
.case-hero .lead{
  max-width:64ch;
}

.work-index-stack{
  padding:20px 0 100px;
}

.work-teaser{
  margin:0 auto 56px;
}

.work-teaser:last-child{
  margin-bottom:0;
}

.work-teaser-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.work-teaser-head{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 430px);
  gap:28px;
  align-items:end;
  margin-bottom:22px;
}

.work-teaser-head h2{
  margin:8px 0 0;
  font-size:clamp(2.35rem, 5vw, 4.4rem);
  line-height:.94;
  max-width:9ch;
}

.work-mini{
  margin:0;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  color:rgba(17,17,17,.6);
  font-weight:700;
}

.work-meta-line{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}

.work-chip{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:rgba(255,255,255,.5);
  color:var(--work-ink);
  font-size:.92rem;
  line-height:1.1;
  backdrop-filter:blur(10px);
}

.work-chip strong{
  margin-right:8px;
}

.work-chip--link{
  text-decoration:none;
}

.work-teaser-stage{
  position:relative;
  min-height:clamp(360px, 50vw, 680px);
  border-radius:28px;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.22), rgba(0,0,0,.06)), var(--work-sand);
  box-shadow:0 28px 70px rgba(0,0,0,.09);
}

.work-teaser-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  filter:saturate(.92) blur(0px);
  opacity:.95;
  transform:scale(1.03);
}

.work-teaser-stage::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), transparent 22%, transparent 78%, rgba(0,0,0,.09)),
    linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,.08));
}

.work-teaser-frame{
  position:absolute;
  z-index:2;
  inset:clamp(28px,4vw,54px) clamp(28px,4vw,54px) clamp(34px,5vw,64px);
  background:#fff;
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(0,0,0,.18);
}

.work-teaser-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}

.work-teaser-badge{
  position:absolute;
  z-index:3;
  right:24px;
  top:22px;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  padding:10px 0;
  color:#fff;
  letter-spacing:.16em;
  font-size:.72rem;
  font-weight:800;
  text-shadow:0 2px 12px rgba(0,0,0,.22);
}

.work-teaser-body{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  gap:18px 22px;
  align-items:end;
  margin-top:18px;
}

.work-kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.82rem;
  font-weight:800;
  color:rgba(17,17,17,.62);
}

.work-summary{
  margin:0;
  max-width:52ch;
  font-size:1.04rem;
  line-height:1.6;
  color:rgba(17,17,17,.82);
}

.work-chip-row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.work-open{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0 18px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:800;
  white-space:nowrap;
}

.work-teaser--2 .work-teaser-stage,
.work-teaser--4 .work-teaser-stage,
.work-teaser--6 .work-teaser-stage{
  width:min(100%, 92%);
  margin-left:auto;
}

.work-teaser--3 .work-teaser-stage,
.work-teaser--5 .work-teaser-stage{
  width:min(100%, 96%);
}

.work-teaser-link:hover .work-teaser-frame img{
  transform:scale(1.02);
  transition:transform .55s ease;
}

.work-teaser-link:hover .work-open{
  background:var(--work-accent);
  color:#111;
}

.work-case-detail .section-beige{
  padding:24px 0 96px;
}

.case-hero-grid{
  display:grid;
  grid-template-columns:minmax(0, 1.3fr) minmax(300px, .7fr);
  gap:28px;
  align-items:start;
}

.case-meta-panel{
  background:rgba(255,255,255,.76);
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  padding:24px;
  display:grid;
  gap:18px;
  box-shadow:0 20px 48px rgba(0,0,0,.06);
}

.case-meta-item small{
  display:block;
  margin-bottom:6px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  color:rgba(17,17,17,.54);
}

.case-meta-item strong{
  display:block;
  font-size:1.02rem;
  line-height:1.5;
}

.case-tag-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.case-tag-list span,
.case-points span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(17,17,17,.05);
  border:1px solid rgba(17,17,17,.06);
}

.case-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}

.btn--ghost-static{
  cursor:default;
  pointer-events:none;
  opacity:.8;
}

.case-showcase{
  position:relative;
  min-height:clamp(380px, 58vw, 700px);
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 30px 70px rgba(0,0,0,.12);
}

.case-showcase-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  opacity:.96;
}

.case-showcase::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.20), transparent 24%, transparent 74%, rgba(0,0,0,.08)),
    linear-gradient(90deg, rgba(255,255,255,.28), rgba(255,255,255,.08));
}

.case-showcase-frame{
  position:absolute;
  z-index:2;
  inset:clamp(30px,4vw,54px);
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 54px rgba(0,0,0,.16);
}

.case-showcase-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}

.case-showcase-label{
  position:absolute;
  left:20px;
  top:20px;
  z-index:3;
  background:rgba(17,17,17,.82);
  color:#fff;
  padding:10px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.case-story{
  padding:78px 0;
}

.case-story-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:28px;
}

.case-copy-block{
  padding:28px;
  border-radius:24px;
  background:#fff;
  box-shadow:0 20px 50px rgba(0,0,0,.05);
  border:1px solid rgba(17,17,17,.06);
}

.case-copy-block h2{
  margin-top:10px;
  margin-bottom:14px;
  font-size:clamp(1.8rem,2.8vw,2.6rem);
  line-height:1.02;
}

.case-copy-block p:last-child{
  margin-bottom:0;
  line-height:1.75;
}

.case-gallery-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:stretch;
}

.case-card{
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 22px 52px rgba(0,0,0,.08);
  border:1px solid rgba(17,17,17,.06);
}

.case-card--image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  min-height:340px;
}

.case-card--crop img{
  object-position:center bottom;
}

.case-card--text{
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.case-card--text h2{
  margin:8px 0 14px;
  font-size:clamp(2rem,3.6vw,3.1rem);
  line-height:.95;
  max-width:10ch;
}

.case-card--text p{
  line-height:1.75;
}

.case-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.case-next{
  padding:72px 0 110px;
}

.case-next-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  padding:32px;
  border-radius:28px;
  background:#111;
  color:#fff;
}

.case-next-panel h2{
  color:#fff;
  margin:8px 0 10px;
  font-size:clamp(2rem,3.8vw,3.2rem);
  line-height:.95;
}

.case-next-panel p{
  color:rgba(255,255,255,.78);
  max-width:48ch;
}

.case-next-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
  justify-content:flex-end;
}

.case-next-panel .btn--ghost{
  border-color:rgba(255,255,255,.24);
  color:#fff;
}

.case-next-panel .btn--ghost:hover{
  border-color:#fff;
  background:#fff;
  color:#111;
}

@media (max-width: 980px){
  .work-teaser-head,
  .case-hero-grid,
  .case-story-grid,
  .case-gallery-grid,
  .case-next-panel{
    grid-template-columns:1fr;
  }

  .work-meta-line,
  .case-next-actions{
    justify-content:flex-start;
  }

  .work-teaser-body{
    grid-template-columns:1fr;
  }

  .work-chip-row{
    justify-content:flex-start;
  }

  .work-teaser--2 .work-teaser-stage,
  .work-teaser--4 .work-teaser-stage,
  .work-teaser--6 .work-teaser-stage,
  .work-teaser--3 .work-teaser-stage,
  .work-teaser--5 .work-teaser-stage{
    width:100%;
    margin-left:0;
  }
}

@media (max-width: 760px){
  .work-wrap{
    width:min(100% - 28px, 1180px);
  }

  .work-index-hero,
  .case-hero{
    padding:58px 0 22px;
  }

  .work-teaser{
    margin-bottom:42px;
  }

  .work-teaser-head h2,
  .case-card--text h2,
  .case-next-panel h2{
    max-width:none;
  }

  .work-teaser-stage{
    min-height:76vw;
    border-radius:22px;
  }

  .work-teaser-frame{
    inset:18px 18px 24px;
    border-radius:18px;
  }

  .work-teaser-body{
    gap:14px;
    margin-top:16px;
  }

  .case-showcase{
    min-height:72vw;
    border-radius:22px;
  }

  .case-showcase-frame{
    inset:16px;
    border-radius:18px;
  }

  .case-copy-block,
  .case-card--text,
  .case-next-panel{
    padding:22px;
  }
}


/* STEP56 themed case studies */
.case-theme{
  --case-bg:#eadfc7;
  --case-card:#f7efdf;
  --case-panel:#ffffff;
  --case-ink:#141414;
  --case-muted:rgba(20,20,20,.68);
  --case-accent:#cbe92b;
  --case-accent-soft:rgba(203,233,43,.16);
  background:var(--case-bg);
  color:var(--case-ink);
}
.case-theme .case-hero--themed{
  padding:78px 0 34px;
  background:
    radial-gradient(circle at 8% 0%, rgba(255,255,255,.42), transparent 24%),
    linear-gradient(180deg, rgba(255,255,255,.18), transparent 46%),
    var(--case-bg);
}
.case-theme .case-hero-copy h1,
.case-theme .section-headline h2,
.case-theme .case-editorial-note h2,
.case-theme .case-next-panel h2{color:var(--case-ink);}
.case-theme .lead,
.case-theme p,
.case-theme li{color:var(--case-muted);}
.case-theme .case-meta-panel{
  background:rgba(255,255,255,.6);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 18px 50px rgba(0,0,0,.07);
}
.case-theme .case-meta-item strong, .case-theme .case-meta-item strong a, .case-theme .case-meta-item strong span{color:var(--case-ink); text-decoration:none;}
.case-theme .case-tag-list span{background:var(--case-accent-soft); border-color:transparent; color:var(--case-ink);}
.case-stage--editorial,
.case-priorities,
.case-montage,
.case-next{position:relative; overflow:hidden;}
.case-stage--editorial{padding:16px 0 56px;}
.case-editorial-grid{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:28px; align-items:stretch;}
.case-editorial-card--shot{position:relative; min-height:clamp(360px,52vw,630px); border-radius:32px; overflow:hidden; box-shadow:0 34px 70px rgba(0,0,0,.12);}
.case-editorial-bg{position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.05); filter:saturate(.96) blur(0px);}
.case-editorial-card--shot::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(255,255,255,.14), transparent 28%, transparent 72%, rgba(0,0,0,.12));}
.case-editorial-frame{position:absolute; inset:clamp(22px,3.5vw,46px); background:#fff; border-radius:24px; overflow:hidden; box-shadow:0 24px 55px rgba(0,0,0,.15); z-index:2;}
.case-editorial-frame img{width:100%; height:100%; object-fit:cover; object-position:center top; display:block; transition:transform .7s ease;}
.case-editorial-card--shot:hover .case-editorial-frame img{transform:scale(1.025);}
.case-editorial-stack{display:grid; gap:22px;}
.case-editorial-note,
.case-editorial-stat,
.case-priority-card,
.case-montage-card--copy{border-radius:28px; background:rgba(255,255,255,.72); border:1px solid rgba(0,0,0,.08); box-shadow:0 18px 46px rgba(0,0,0,.06);}
.case-editorial-note{padding:30px; display:flex; flex-direction:column; justify-content:center; min-height:260px;}
.case-editorial-note h2{margin:10px 0 14px; font-size:clamp(2rem,3.4vw,3.2rem); line-height:.96; max-width:12ch;}
.case-editorial-note p:last-child{line-height:1.8; margin-bottom:0;}
.case-editorial-stat{padding:28px; min-height:170px; display:grid; align-content:end;}
.case-accent-line{display:block; width:70px; height:4px; border-radius:999px; margin-bottom:18px; background:var(--case-accent); box-shadow:0 0 20px color-mix(in srgb, var(--case-accent) 55%, transparent);}
.case-editorial-stat small{display:block; text-transform:uppercase; letter-spacing:.16em; font-weight:800; color:var(--case-muted); margin-bottom:8px;}
.case-editorial-stat strong{font-size:clamp(1.8rem,3vw,2.5rem); line-height:.95; color:var(--case-ink);}
.case-priorities{padding:26px 0 74px;}
.section-headline{max-width:760px; margin-bottom:26px;}
.section-headline h2{margin:10px 0 12px; font-size:clamp(2rem,4vw,3.4rem); line-height:.96;}
.section-headline p{line-height:1.8;}
.case-priority-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.case-priority-card{padding:28px; transition:transform .35s ease, box-shadow .35s ease;}
.case-priority-card:hover{transform:translateY(-5px); box-shadow:0 26px 54px rgba(0,0,0,.09);}
.case-priority-index{display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:999px; background:var(--case-accent-soft); color:var(--case-ink); font-size:.9rem; font-weight:900; margin-bottom:16px;}
.case-priority-card h3{margin:0 0 12px; color:var(--case-ink); font-size:1.3rem;}
.case-priority-card p{margin:0; line-height:1.75;}
.case-montage{padding:0 0 88px;}
.case-montage-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:22px; align-items:stretch; grid-template-areas:'lg tall' 'lg copy';}
.case-montage-card{border-radius:30px; overflow:hidden; position:relative; box-shadow:0 22px 54px rgba(0,0,0,.08);}
.case-montage-card img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease;}
.case-montage-card:hover img{transform:scale(1.03);}
.case-montage-card--large{grid-area:lg; min-height:640px;}
.case-montage-card--large img{object-position:center top;}
.case-montage-card--tall{grid-area:tall; min-height:300px;}
.case-montage-card--copy{grid-area:copy; padding:30px; min-height:300px;}
.case-montage-card--copy h3{margin:8px 0 14px; color:var(--case-ink); font-size:clamp(1.9rem,3.2vw,2.8rem); line-height:.96; max-width:10ch;}
.case-montage-card--copy p{line-height:1.8;}
.case-bullet-list{list-style:none; padding:0; margin:18px 0 0; display:grid; gap:10px;}
.case-bullet-list li{position:relative; padding-left:20px;}
.case-bullet-list li::before{content:""; position:absolute; left:0; top:.78em; width:8px; height:8px; border-radius:999px; background:var(--case-accent); transform:translateY(-50%);}
.case-theme .case-next{padding-top:6px;}
.case-theme .case-next-panel{background:linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.92)); color:var(--case-ink); border:1px solid rgba(0,0,0,.08); box-shadow:0 22px 58px rgba(0,0,0,.08);}
.case-theme .case-next-panel p{color:var(--case-muted);}
.case-theme .case-next-panel .btn--ghost{border-color:rgba(0,0,0,.18); color:var(--case-ink);}
.case-theme .case-next-panel .btn--ghost:hover{background:var(--case-ink); color:#fff; border-color:var(--case-ink);}
.case-theme .btn--primary{background:var(--case-ink); color:#fff; border-color:var(--case-ink);}
.case-theme .btn--primary:hover{background:var(--case-accent); border-color:var(--case-accent); color:#111;}
.case-theme .btn--ghost{border-color:rgba(0,0,0,.16); color:var(--case-ink);}
.case-theme .btn--ghost:hover{border-color:var(--case-ink); background:var(--case-ink); color:#fff;}
.case-theme--stone{--case-bg:#dfe3e5; --case-card:#eef1f2; --case-accent:#7ea8b7; --case-accent-soft:rgba(126,168,183,.18);}
.case-theme--stone .case-editorial-card--shot::before{content:""; position:absolute; inset:auto -10% -24% auto; width:280px; height:280px; border-radius:40px; background:radial-gradient(circle, rgba(126,168,183,.35), transparent 65%); z-index:1;}
.case-theme--dornach{--case-bg:#edd5b2; --case-card:#f7e5cc; --case-accent:#c49d54; --case-accent-soft:rgba(196,157,84,.16);}
.case-theme--dornach .case-stage--editorial,
.case-theme--dornach .case-montage{background:linear-gradient(180deg, rgba(255,255,255,.18), transparent 18%), var(--case-bg);}
.case-theme--dornach .case-editorial-card--shot::before,
.case-theme--socialwarm .case-editorial-card--shot::before{content:""; position:absolute; left:-6%; right:-6%; bottom:-16px; height:120px; background:radial-gradient(circle at 12% 0%, rgba(255,255,255,.95) 0 22%, transparent 23%), radial-gradient(circle at 50% 10%, rgba(255,255,255,.95) 0 22%, transparent 23%), radial-gradient(circle at 88% 0%, rgba(255,255,255,.95) 0 22%, transparent 23%); opacity:.5; filter:blur(28px); z-index:1;}
.case-theme--praxis{--case-bg:#efe9de; --case-card:#f7f3eb; --case-accent:#a6bea6; --case-accent-soft:rgba(166,190,166,.18);}
.case-theme--praxis .case-meta-panel,
.case-theme--praxis .case-editorial-note,
.case-theme--praxis .case-editorial-stat,
.case-theme--praxis .case-priority-card,
.case-theme--praxis .case-montage-card--copy,
.case-theme--praxis .case-next-panel{background:rgba(255,255,255,.78);}
.case-theme--sport{--case-bg:#090d13; --case-card:#0f1620; --case-panel:#101924; --case-ink:#ffffff; --case-muted:rgba(255,255,255,.76); --case-accent:#44c7ff; --case-accent-soft:rgba(68,199,255,.16);}
.case-theme--sport .case-hero--themed{background:radial-gradient(circle at 12% 0%, rgba(68,199,255,.18), transparent 28%), linear-gradient(180deg, rgba(255,255,255,.02), transparent 46%), var(--case-bg);}
.case-theme--sport .case-meta-panel,
.case-theme--sport .case-editorial-note,
.case-theme--sport .case-editorial-stat,
.case-theme--sport .case-priority-card,
.case-theme--sport .case-montage-card--copy,
.case-theme--sport .case-next-panel{background:rgba(14,22,31,.78); border-color:rgba(255,255,255,.09); box-shadow:0 18px 46px rgba(0,0,0,.25);}
.case-theme--sport .case-editorial-card--shot{background:linear-gradient(180deg, rgba(68,199,255,.18), transparent), #07111a;}
.case-theme--sport .case-showcase-bg,
.case-theme--sport .case-editorial-bg{filter:saturate(1.02) contrast(1.04);}
.case-theme--sport .case-next-panel .btn--ghost{border-color:rgba(255,255,255,.18); color:#fff;}
.case-theme--sport .btn--primary{background:var(--case-accent); color:#07111a; border-color:var(--case-accent);}
.case-theme--sport .btn--primary:hover{background:#fff; color:#07111a; border-color:#fff;}
.case-theme--socialwarm{--case-bg:#ecd3ac; --case-card:#f7e7ca; --case-accent:#ffad3a; --case-accent-soft:rgba(255,173,58,.18);}
.case-theme--socialwarm .case-editorial-card--shot,
.case-theme--socialsport .case-editorial-card--shot{background:#0b0b0b;}
.case-theme--socialsport{--case-bg:#e8f0f4; --case-card:#ffffff; --case-accent:#71d44a; --case-accent-soft:rgba(113,212,74,.18);}
.case-theme--socialsport .case-hero--themed{background:radial-gradient(circle at 10% 0%, rgba(113,212,74,.12), transparent 26%), var(--case-bg);}
.case-theme--socialsport .case-editorial-card--shot::before{content:""; position:absolute; inset:auto auto 24px 24px; width:160px; height:160px; background:radial-gradient(circle, rgba(113,212,74,.26), transparent 65%); filter:blur(8px); z-index:1;}
@media (max-width:980px){
  .case-editorial-grid,
  .case-priority-grid,
  .case-montage-grid{grid-template-columns:1fr;}
  .case-montage-grid{grid-template-areas:'lg' 'copy' 'tall';}
  .case-montage-card--large{min-height:500px;}
}
@media (max-width:760px){
  .case-theme .case-hero--themed{padding:58px 0 24px;}
  .case-editorial-note,
  .case-editorial-stat,
  .case-priority-card,
  .case-montage-card--copy,
  .case-theme .case-next-panel{padding:22px; border-radius:22px;}
  .case-editorial-card--shot,
  .case-montage-card{border-radius:24px;}
  .case-editorial-frame{inset:16px; border-radius:18px;}
  .case-editorial-note h2,
  .section-headline h2,
  .case-montage-card--copy h3{max-width:none;}
  .case-priority-grid{gap:14px;}
}


/* =========================================================
   STEP57 · echte Website-/Instagram-Ausschnitte
   ========================================================= */
.real-snippets{
  padding:18px 0 84px;
  background:var(--case-bg);
}

.real-snippets-head{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(320px,.65fr);
  gap:30px;
  align-items:end;
  margin-bottom:28px;
}

.real-snippets-head h2{
  margin:9px 0 0;
  max-width:10ch;
  color:var(--case-ink);
  font-size:clamp(2.25rem,4.6vw,4rem);
  line-height:.92;
}

.real-snippets-head>p{
  margin:0;
  color:var(--case-muted);
  line-height:1.75;
}

.real-web-grid{
  display:grid;
  grid-template-columns:1.18fr .82fr;
  grid-template-areas:
    "wide a"
    "wide b"
    "strip strip";
  gap:20px;
}

.real-shot{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:var(--case-card);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 24px 58px rgba(0,0,0,.10);
}

.real-shot--wide{grid-area:wide; min-height:590px}
.real-shot--a{grid-area:a; min-height:285px}
.real-shot--b{grid-area:b; min-height:285px}
.real-shot--strip{grid-area:strip; min-height:300px}

.real-shot img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
  transition:transform .7s cubic-bezier(.2,.8,.2,1);
}

.real-shot:hover img{transform:scale(1.025)}

.real-shot::after,
.real-feed-overview::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 72%,rgba(0,0,0,.18));
}

.real-shot figcaption,
.real-feed-overview figcaption{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  margin:0;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(8,8,8,.74);
  color:#fff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.04em;
  backdrop-filter:blur(9px);
}

.real-social-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:22px;
  align-items:start;
}

.real-feed-overview{
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:28px;
  background:#111;
  box-shadow:0 25px 62px rgba(0,0,0,.12);
}

.real-feed-overview img{
  width:100%;
  display:block;
}

.real-post-stack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.real-post{
  margin:0;
  aspect-ratio:1;
  overflow:hidden;
  border-radius:22px;
  background:#111;
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 18px 44px rgba(0,0,0,.11);
}

.real-post img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .58s ease;
}

.real-post:hover img{transform:scale(1.04)}

.case-theme--stone .real-shot{
  box-shadow:0 22px 58px rgba(56,73,79,.12);
}

.case-theme--praxis .real-shot{
  box-shadow:0 18px 50px rgba(92,80,71,.08);
}

.case-theme--sport .real-snippets{
  background:
    radial-gradient(circle at 12% 0%,rgba(68,199,255,.08),transparent 25%),
    var(--case-bg);
}

.case-theme--sport .real-shot,
.case-theme--sport .real-feed-overview,
.case-theme--sport .real-post{
  border-color:rgba(255,255,255,.08);
  box-shadow:0 25px 64px rgba(0,0,0,.30);
}

@media(max-width:980px){
  .real-snippets-head,
  .real-web-grid,
  .real-social-grid{
    grid-template-columns:1fr;
  }

  .real-web-grid{
    grid-template-areas:"wide" "a" "b" "strip";
  }

  .real-shot--wide{min-height:64vw}
  .real-shot--a,
  .real-shot--b,
  .real-shot--strip{min-height:46vw}
}

@media(max-width:640px){
  .real-snippets{padding:8px 0 58px}
  .real-snippets-head{gap:14px;margin-bottom:18px}
  .real-snippets-head h2{max-width:none;font-size:clamp(2rem,10vw,3rem)}
  .real-shot,
  .real-feed-overview{border-radius:20px}
  .real-post{border-radius:15px}
  .real-post-stack{gap:10px}
}


/* =========================================================
   STEP58 · Bergsport JA Featured Case
   editorial / warm / image-led
   ========================================================= */

.bergsport-case{
  --bs-bg:#efd1a5;
  --bs-panel:#f6dfbd;
  --bs-ink:#11110f;
  --bs-muted:rgba(17,17,15,.66);
  --bs-gold:#a78341;
  --bs-orange:#ff7a00;
  background:var(--bs-bg);
  color:var(--bs-ink);
}

.bergsport-case .work-wrap{
  width:min(1120px,calc(100% - 42px));
}

.bergsport-intro{
  padding:72px 0 34px;
  background:var(--bs-bg);
}

.bergsport-intro-copy{
  max-width:900px;
}

.bergsport-intro h1{
  margin:12px 0 16px;
  max-width:13ch;
  font-size:clamp(3rem,7.2vw,7rem);
  line-height:.86;
  letter-spacing:-.065em;
  color:var(--bs-ink);
}

.bergsport-subline{
  max-width:62ch;
  margin:0;
  color:var(--bs-muted);
  font-size:clamp(1rem,1.25vw,1.18rem);
  line-height:1.65;
}

.bergsport-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid rgba(17,17,15,.18);
}

.bergsport-meta div{
  display:grid;
  gap:6px;
}

.bergsport-meta small{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.67rem;
  font-weight:900;
  color:rgba(17,17,15,.52);
}

.bergsport-meta strong,
.bergsport-meta a{
  color:var(--bs-ink);
  text-decoration:none;
  font-size:.96rem;
  line-height:1.45;
}

.bergsport-hero-stage,
.bergsport-services,
.bergsport-craft,
.bergsport-final-image{
  background:var(--bs-bg);
}

.bergsport-hero-stage{
  padding:12px 0 74px;
}

.bergsport-hero-card{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  box-shadow:0 28px 72px rgba(73,48,18,.14);
}

.bergsport-hero-card img{
  display:block;
  width:100%;
  height:auto;
}

.bergsport-case-label{
  position:absolute;
  right:18px;
  top:18px;
  z-index:2;
  padding:9px 12px;
  border-radius:999px;
  background:rgba(17,17,15,.78);
  color:#fff;
  font-size:.65rem;
  letter-spacing:.12em;
  font-weight:900;
  backdrop-filter:blur(8px);
}

.bergsport-story{
  padding:74px 0;
  background:#f2d8b2;
}

.bergsport-story-grid,
.bergsport-motion-grid,
.bergsport-regional-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:38px;
  align-items:center;
}

.bergsport-story-copy h2,
.bergsport-section-head h2,
.bergsport-motion-copy h2,
.bergsport-regional-copy h2{
  margin:10px 0 16px;
  color:var(--bs-ink);
  font-size:clamp(2.4rem,5vw,4.8rem);
  line-height:.92;
  letter-spacing:-.045em;
}

.bergsport-story-copy p,
.bergsport-section-head p,
.bergsport-motion-copy p,
.bergsport-regional-copy p{
  color:var(--bs-muted);
  line-height:1.75;
}

.bergsport-photo{
  margin:0;
  overflow:hidden;
  border-radius:26px;
  background:#ddd;
  box-shadow:0 22px 54px rgba(73,48,18,.12);
}

.bergsport-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.bergsport-photo--portrait{
  min-height:480px;
}

.bergsport-photo--portrait img{
  min-height:480px;
  object-position:center;
}

.bergsport-services{
  padding:76px 0 86px;
}

.bergsport-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.7fr);
  gap:30px;
  align-items:end;
  margin-bottom:28px;
}

.bergsport-section-head h2{
  max-width:11ch;
}

.bergsport-section-head>p{
  margin:0;
}

.bergsport-ui-shot{
  margin:0;
  overflow:hidden;
  border-radius:28px;
  box-shadow:0 30px 74px rgba(73,48,18,.12);
}

.bergsport-ui-shot img{
  display:block;
  width:100%;
  height:auto;
}

.bergsport-motion{
  padding:76px 0;
  background:#11100e;
  color:#fff;
}

.bergsport-motion .work-mini,
.bergsport-motion-copy p{
  color:rgba(255,255,255,.68);
}

.bergsport-motion-copy h2{
  color:#fff;
}

.bergsport-video-card{
  overflow:hidden;
  border-radius:28px;
  background:#000;
  box-shadow:0 26px 70px rgba(0,0,0,.34);
}

.bergsport-video-card video{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

.bergsport-craft{
  padding:84px 0 88px;
}

.bergsport-craft-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:26px;
  align-items:stretch;
}

.bergsport-photo--wide{
  min-height:520px;
}

.bergsport-photo--wide img{
  min-height:520px;
  object-position:center;
}

.bergsport-photo figcaption{
  position:absolute;
}

.bergsport-copy-card{
  padding:32px;
  border-radius:28px;
  background:#f6dfbd;
  border:1px solid rgba(17,17,15,.09);
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-shadow:0 20px 50px rgba(73,48,18,.08);
}

.bergsport-copy-card h3{
  margin:10px 0 16px;
  max-width:10ch;
  font-size:clamp(2rem,3.8vw,3.4rem);
  line-height:.94;
  color:var(--bs-ink);
}

.bergsport-copy-card p:last-child{
  margin-bottom:0;
  color:var(--bs-muted);
  line-height:1.8;
}

.bergsport-regional{
  padding:82px 0;
  background:#f7e7ce;
}

.bergsport-photo--family{
  min-height:620px;
}

.bergsport-photo--family img{
  min-height:620px;
  object-position:center top;
}

.bergsport-points{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}

.bergsport-points span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(17,17,15,.07);
  border:1px solid rgba(17,17,15,.08);
  color:var(--bs-ink);
  font-size:.82rem;
  font-weight:800;
}

.bergsport-principles{
  padding:78px 0 90px;
  background:#11100e;
  color:#fff;
}

.bergsport-principles .work-mini,
.bergsport-principles .bergsport-section-head p{
  color:rgba(255,255,255,.60);
}

.bergsport-principles .bergsport-section-head h2{
  color:#fff;
}

.bergsport-principle-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.bergsport-principle-grid article{
  min-height:250px;
  padding:24px;
  border-radius:24px;
  background:#1b1916;
  border:1px solid rgba(255,255,255,.08);
}

.bergsport-principle-grid article:nth-child(1){background:#ef7921;color:#fff;}
.bergsport-principle-grid article:nth-child(2){background:#2c2b28;color:#fff;}
.bergsport-principle-grid article:nth-child(3){background:#d1b06c;color:#111;}
.bergsport-principle-grid article:nth-child(4){background:#f5ead7;color:#111;}

.bergsport-principle-grid span{
  display:block;
  margin-bottom:34px;
  font-size:.7rem;
  letter-spacing:.16em;
  font-weight:900;
  opacity:.72;
}

.bergsport-principle-grid h3{
  margin:0 0 12px;
  font-size:1.55rem;
  color:inherit;
}

.bergsport-principle-grid p{
  margin:0;
  line-height:1.65;
  color:inherit;
  opacity:.82;
}

.bergsport-final-image{
  padding:80px 0 90px;
}

.bergsport-photo--cinema{
  border-radius:30px;
  min-height:560px;
}

.bergsport-photo--cinema img{
  min-height:560px;
  object-position:center;
}

/* Featured overview card */
.work-teaser--bergsport{
  margin-bottom:76px;
}

.work-teaser--bergsport .work-teaser-stage--bergsport{
  min-height:620px;
  background:#e9c68f;
}

.work-teaser--bergsport .work-teaser-frame{
  inset:34px 34px 54px;
}

.work-teaser--bergsport .work-teaser-head h2{
  max-width:9ch;
}

@media(max-width:980px){
  .bergsport-meta,
  .bergsport-story-grid,
  .bergsport-motion-grid,
  .bergsport-regional-grid,
  .bergsport-section-head,
  .bergsport-craft-grid,
  .bergsport-principle-grid{
    grid-template-columns:1fr;
  }

  .bergsport-principle-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bergsport-photo--portrait,
  .bergsport-photo--portrait img,
  .bergsport-photo--family,
  .bergsport-photo--family img,
  .bergsport-photo--wide,
  .bergsport-photo--wide img,
  .bergsport-photo--cinema,
  .bergsport-photo--cinema img{
    min-height:unset;
  }
}

@media(max-width:640px){
  .bergsport-case .work-wrap{
    width:min(100% - 26px,1120px);
  }

  .bergsport-intro{
    padding:54px 0 24px;
  }

  .bergsport-intro h1{
    font-size:clamp(2.8rem,15vw,4.6rem);
  }

  .bergsport-meta{
    gap:14px;
  }

  .bergsport-hero-stage{
    padding-bottom:48px;
  }

  .bergsport-hero-card,
  .bergsport-photo,
  .bergsport-ui-shot,
  .bergsport-video-card{
    border-radius:20px;
  }

  .bergsport-story,
  .bergsport-services,
  .bergsport-motion,
  .bergsport-craft,
  .bergsport-regional,
  .bergsport-principles,
  .bergsport-final-image{
    padding:54px 0;
  }

  .bergsport-story-copy h2,
  .bergsport-section-head h2,
  .bergsport-motion-copy h2,
  .bergsport-regional-copy h2{
    max-width:none;
  }

  .bergsport-principle-grid{
    grid-template-columns:1fr;
  }

  .bergsport-principle-grid article{
    min-height:0;
  }

  .work-teaser--bergsport .work-teaser-stage--bergsport{
    min-height:74vw;
  }

  .work-teaser--bergsport .work-teaser-frame{
    inset:18px 18px 24px;
  }
}


/* =========================================================
   STEP59 · additional case signatures
   ========================================================= */
.step59-signature,.step59-social-showcase{padding:28px 0 90px;background:var(--case-bg);}
.step59-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:30px;align-items:end;margin-bottom:30px;}
.step59-head h2{margin:8px 0 0;color:var(--case-ink);font-size:clamp(2.2rem,4.8vw,4.4rem);line-height:.92;max-width:11ch;}
.step59-head>p{margin:0;color:var(--case-muted);line-height:1.75;}

/* stone */
.stone-signature{background:#d9e0e3;}
.stone-real-grid{display:grid;grid-template-columns:1.22fr .78fr;grid-template-areas:"crane rose" "crane copy";gap:22px;}
.stone-real{margin:0;position:relative;overflow:hidden;border-radius:28px;background:#cbd2d5;box-shadow:0 24px 58px rgba(42,53,58,.13);}
.stone-real img{width:100%;height:100%;display:block;object-fit:cover;}
.stone-real--crane{grid-area:crane;min-height:690px}.stone-real--crane img{object-position:center;}
.stone-real--rose{grid-area:rose;min-height:335px}.stone-real--rose img{object-position:center 58%;}
.stone-real figcaption{position:absolute;left:16px;bottom:16px;padding:9px 12px;border-radius:999px;background:rgba(19,29,33,.75);color:#fff;font-size:.72rem;font-weight:800;}
.stone-real blockquote{position:absolute;left:24px;right:24px;bottom:22px;margin:0;color:#fff;font-size:clamp(1.6rem,3vw,2.5rem);line-height:.98;font-weight:800;text-shadow:0 4px 22px rgba(0,0,0,.5);}
.stone-real-copy{grid-area:copy;padding:28px;border-radius:28px;background:#eef2f3;border:1px solid rgba(35,55,65,.08);display:flex;flex-direction:column;justify-content:center;}
.stone-real-copy h3{margin:8px 0 12px;color:#23343b;font-size:clamp(1.8rem,3vw,2.7rem);line-height:.96;max-width:10ch}.stone-real-copy p:last-child{line-height:1.75;color:#526268;}

/* Dornach website */
.dornach-signature{background:#ead0a6;}
.dornach-editorial-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-areas:"main copy" "main detail";gap:22px;}
.dornach-editorial-main{grid-area:main;margin:0;min-height:650px;overflow:hidden;border-radius:30px;box-shadow:0 28px 60px rgba(103,74,31,.12);}
.dornach-editorial-main img,.dornach-editorial-detail img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;}
.dornach-editorial-copy{grid-area:copy;padding:30px;border-radius:30px;background:#f7e5c6;display:flex;flex-direction:column;justify-content:center;}
.dornach-editorial-copy h3{margin:10px 0 14px;color:#4e3b20;font-size:clamp(2rem,3.6vw,3.1rem);line-height:.94;max-width:9ch}.dornach-editorial-copy p:last-child{line-height:1.75;color:#786445;}
.dornach-rule{display:block;width:72px;height:3px;border-radius:999px;background:#aa8545;margin-bottom:20px;}
.dornach-editorial-detail{grid-area:detail;margin:0;min-height:300px;overflow:hidden;border-radius:30px;box-shadow:0 20px 48px rgba(103,74,31,.10);}

/* Praxis */
.praxis-signature{background:#f1ede5;}
.praxis-magazine{display:grid;grid-template-columns:.78fr 1.22fr;grid-template-areas:"copy shot" "note shot";gap:22px;align-items:stretch;}
.praxis-magazine-copy{grid-area:copy;padding:34px;border-radius:32px;background:#faf7f1;border:1px solid rgba(103,92,81,.08);display:flex;flex-direction:column;justify-content:center;}
.praxis-magazine-copy h2{margin:10px 0 16px;color:#554a41;font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.2rem,4.3vw,4rem);font-weight:500;line-height:.98;max-width:10ch}.praxis-magazine-copy p:last-child{color:#7b6d62;line-height:1.8;}
.praxis-magazine-shot{grid-area:shot;margin:0;overflow:hidden;border-radius:32px;box-shadow:0 24px 58px rgba(92,80,71,.08);min-height:690px}.praxis-magazine-shot img{width:100%;height:100%;object-fit:cover;object-position:center top;}
.praxis-magazine-note{grid-area:note;display:grid;gap:10px;padding:24px;border-radius:28px;background:#dfe8df}.praxis-magazine-note span{display:block;padding:12px 14px;border-bottom:1px solid rgba(72,94,75,.12);color:#556c58;font-weight:800;}

/* Vinzenz */
.vinzenz-signature{background:#070b0f;color:#fff;}
.vinzenz-signature .work-mini{color:#48c9f0}
.vinzenz-performance-head{display:grid;grid-template-columns:1fr .7fr;gap:30px;align-items:end;margin-bottom:28px}
.vinzenz-performance-head h2{margin:8px 0 0;color:#fff;font-size:clamp(2.4rem,5vw,4.8rem);line-height:.9;max-width:11ch}
.vinzenz-performance-head>p{margin:0;color:rgba(255,255,255,.68);line-height:1.75}
.vinzenz-performance-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:20px;align-items:stretch}
.vinzenz-performance-shot{margin:0;overflow:hidden;border-radius:30px;background:#0c1218;box-shadow:0 30px 70px rgba(0,0,0,.42)}
.vinzenz-performance-shot img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.vinzenz-metrics{display:grid;gap:16px}
.vinzenz-metrics article{padding:28px;border-radius:26px;background:linear-gradient(145deg,#101923,#0b1016);border:1px solid rgba(72,201,240,.15);display:flex;flex-direction:column;justify-content:center}
.vinzenz-metrics strong{font-size:clamp(2.7rem,5vw,5rem);line-height:.85;color:#4bcdf5}
.vinzenz-metrics span{margin-top:10px;color:rgba(255,255,255,.72);font-weight:700}

/* social */
.social-showcase{position:relative;overflow:hidden}
.social-reel-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:22px;align-items:start}
.social-feed-full{margin:0;overflow:hidden;border-radius:28px;background:#111;box-shadow:0 24px 60px rgba(0,0,0,.12)}
.social-feed-full img{width:100%;display:block}
.social-reel-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.social-reel-card,.skiclub-feature{appearance:none;border:0;padding:0;margin:0;position:relative;overflow:hidden;border-radius:24px;background:#111;cursor:pointer;text-align:left;box-shadow:0 18px 44px rgba(0,0,0,.14)}
.social-reel-card{aspect-ratio:1}
.social-reel-card img,.skiclub-feature img{width:100%;height:100%;display:block;object-fit:cover}
.social-reel-card::after,.skiclub-feature::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,0,0,.58));pointer-events:none}
.play-dot{position:absolute;left:50%;top:50%;z-index:2;transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:56px;border-radius:999px;background:#fff;color:#111;font-size:1rem;box-shadow:0 10px 32px rgba(0,0,0,.28)}
.play-dot--large{width:72px;height:72px;font-size:1.2rem}
.social-reel-card small,.skiclub-feature small{position:absolute;left:16px;bottom:14px;z-index:2;color:#fff;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.social-showcase--dornach{background:#ead0a6}
.social-showcase--skiclub{background:#e7f0f4}
.skiclub-social-layout{display:grid;grid-template-columns:1.15fr .75fr;grid-template-areas:"feature post" "feature copy";gap:20px}
.skiclub-feature{grid-area:feature;min-height:680px}
.skiclub-post{grid-area:post;margin:0;overflow:hidden;border-radius:26px;background:#fff;box-shadow:0 20px 50px rgba(43,78,92,.11)}
.skiclub-post img{width:100%;display:block}
.skiclub-post figcaption{padding:14px 16px;color:#45616d;font-size:.78rem;font-weight:800}
.skiclub-social-copy{grid-area:copy;padding:26px;border-radius:26px;background:#fff;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 44px rgba(43,78,92,.08)}
.skiclub-social-copy strong{font-size:clamp(1.8rem,3vw,2.7rem);line-height:.95;color:#19333e}
.skiclub-social-copy p{margin:12px 0 0;line-height:1.75;color:#58717b}

/* viewer */
.social-viewer{position:fixed;inset:0;z-index:99999;display:none;place-items:center;padding:24px;background:rgba(6,8,9,.86);backdrop-filter:blur(12px)}
.social-viewer.is-open{display:grid}
.social-viewer-panel{position:relative;width:min(920px,100%);max-height:90vh;border-radius:24px;overflow:auto;background:#111;color:#fff;box-shadow:0 30px 90px rgba(0,0,0,.46)}
.social-viewer-panel img{display:block;width:100%;height:auto}
.social-viewer-title{padding:14px 56px 16px 18px;font-size:.86rem;font-weight:800;color:rgba(255,255,255,.8)}
.social-viewer-close{position:absolute;right:14px;top:14px;z-index:2;width:38px;height:38px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(0,0,0,.55);color:#fff;font-size:1.15rem;cursor:pointer}

@media(max-width:980px){
  .step59-head,.stone-real-grid,.dornach-editorial-grid,.praxis-magazine,.vinzenz-performance-head,.vinzenz-performance-grid,.social-reel-layout,.skiclub-social-layout{grid-template-columns:1fr}
  .stone-real-grid{grid-template-areas:"crane" "rose" "copy"}
  .dornach-editorial-grid{grid-template-areas:"main" "copy" "detail"}
  .praxis-magazine{grid-template-areas:"copy" "shot" "note"}
  .skiclub-social-layout{grid-template-areas:"feature" "post" "copy"}
  .stone-real--crane,.praxis-magazine-shot,.skiclub-feature{min-height:520px}
}
@media(max-width:640px){
  .step59-signature,.step59-social-showcase{padding:18px 0 58px}
  .step59-head{gap:14px;margin-bottom:18px}
  .step59-head h2{max-width:none;font-size:clamp(2rem,10vw,3.1rem)}
  .stone-real,.dornach-editorial-main,.dornach-editorial-copy,.dornach-editorial-detail,.praxis-magazine-copy,.praxis-magazine-shot,.praxis-magazine-note,.vinzenz-performance-shot,.vinzenz-metrics article,.social-reel-card,.skiclub-feature,.skiclub-post,.skiclub-social-copy{border-radius:20px}
  .social-reel-grid{gap:10px}
  .stone-real--crane,.praxis-magazine-shot,.skiclub-feature{min-height:380px}
}


/* STEP60 real-case refinements */

.step60-page{position:relative;overflow:hidden}
.step60-page--skiclub{--step60-accent:#c71820;--step60-accent-2:#cfa33a;--step60-bg:#fff6ef;--step60-panel:#ffffff;--step60-text:#2a1714}
.step60-page--stone{--step60-accent:#506073;--step60-accent-2:#98a8b9;--step60-bg:#eef2f5;--step60-panel:#ffffff;--step60-text:#16202b}
.step60-page--praxis{--step60-accent:#6c7e64;--step60-accent-2:#cdb895;--step60-bg:#f7f3eb;--step60-panel:#fffdf8;--step60-text:#544b46}
.step60-page--dornach{--step60-accent:#9d5f24;--step60-accent-2:#d6b06b;--step60-bg:#fbf3e4;--step60-panel:#fffaf2;--step60-text:#3d2814}
.step60-page{background:var(--step60-bg);color:var(--step60-text)}
.step60-hero{padding:80px 0 26px;background:
radial-gradient(circle at top right, color-mix(in srgb, var(--step60-accent-2) 32%, transparent), transparent 28%),
linear-gradient(180deg, color-mix(in srgb, var(--step60-accent) 8%, #fff) 0%, var(--step60-bg) 100%)}
.step60-hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:28px;align-items:end}
.step60-hero-copy h1{margin:10px 0 18px;font-size:clamp(2.8rem,5vw,5.7rem);line-height:.92;max-width:11ch}
.step60-chip-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.step60-chip-row span{display:inline-flex;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.08);backdrop-filter:blur(10px);font-size:.92rem}
.step60-meta-box{background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.08);border-radius:28px;padding:24px;box-shadow:0 18px 48px rgba(0,0,0,.08);backdrop-filter:blur(14px)}
.step60-logo-pill{width:96px;height:96px;display:grid;place-items:center;border-radius:24px;background:#fff;box-shadow:0 14px 35px rgba(0,0,0,.08);margin-bottom:18px}
.step60-logo-pill img{max-width:72px;max-height:72px;display:block}
.step60-stage,.step60-praxis-stage,.step60-device-stage-wrap,.step60-stone-gallery,.step60-embed-section,.step60-quote-band,.step60-priorities{padding:30px 0 52px}
.step60-collage{display:grid;gap:22px}
.step60-collage--skiclub{grid-template-columns:1.05fr .9fr;grid-template-areas:'action copy' 'kids copy'}
.step60-collage--dornach{grid-template-columns:1.1fr .85fr;grid-template-areas:'wide copy' 'wide small'}
.step60-panel{position:relative;background:var(--step60-panel);border-radius:28px;overflow:hidden;box-shadow:0 22px 56px rgba(0,0,0,.10);border:1px solid rgba(0,0,0,.06)}
.step60-panel img{display:block;width:100%;height:100%;object-fit:cover}
.step60-panel figcaption{position:absolute;left:18px;right:18px;bottom:16px;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.88);font-size:.95rem;box-shadow:0 10px 25px rgba(0,0,0,.06)}
.step60-panel--action{grid-area:action;min-height:430px}
.step60-panel--kids{grid-area:kids;min-height:330px}
.step60-panel--wide{grid-area:wide;min-height:520px}
.step60-panel--small{grid-area:small;min-height:220px}
.step60-panel--copy{grid-area:copy;padding:34px 30px;display:flex;flex-direction:column;justify-content:center;gap:14px;min-height:100%;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.82))}
.step60-panel--copy.warm{background:linear-gradient(180deg, rgba(255,249,240,.96), rgba(255,245,232,.88))}
.step60-panel--copy h2,.step60-stone-copy h3{margin:0;font-size:clamp(1.9rem,3.4vw,3.5rem);line-height:1}
.step60-headline-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:end;margin-bottom:22px}
.step60-headline-row h2{margin:8px 0 0;font-size:clamp(2rem,4vw,3.7rem);line-height:.96}
.step60-embed-grid{display:grid;gap:22px}
.step60-embed-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.step60-embed-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.step60-embed-shell{background:var(--step60-panel);border-radius:28px;overflow:hidden;min-height:480px;box-shadow:0 20px 50px rgba(0,0,0,.09);border:1px solid rgba(0,0,0,.07)}
.step60-embed-shell iframe{width:100%;height:100%;min-height:480px;border:0;background:#fff}
.step60-embed-card{position:relative;width:100%;height:100%;min-height:480px;border:0;background:#111;color:#fff;display:block;cursor:pointer;padding:0;text-align:left}
.step60-embed-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.05)}
.step60-embed-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.45) 68%, rgba(0,0,0,.68))}
.step60-embed-card strong,.step60-embed-card small,.step60-play{position:absolute;z-index:2}
.step60-play{left:24px;top:24px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.9);color:#111;font-size:1.2rem;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.step60-embed-card strong{left:24px;right:24px;bottom:50px;font-size:1.25rem}
.step60-embed-card small{left:24px;bottom:24px;opacity:.88;font-size:.92rem}
.step60-embed-card:hover .step60-play{transform:scale(1.06)}
.step60-device-stage{position:relative;min-height:580px;background:linear-gradient(180deg, rgba(255,255,255,.3), rgba(255,255,255,.05)), color-mix(in srgb, var(--step60-accent) 12%, #fff);border:1px solid rgba(0,0,0,.06);border-radius:34px;overflow:hidden;box-shadow:0 28px 70px rgba(0,0,0,.08)}
.step60-device-stage::before{content:'';position:absolute;inset:auto -15% -35% 35%;height:360px;border-radius:50%;background:radial-gradient(circle, color-mix(in srgb, var(--step60-accent-2) 34%, transparent), transparent 62%)}
.step60-device{position:absolute;background:#111;border-radius:28px;padding:14px;box-shadow:0 24px 55px rgba(0,0,0,.18);overflow:hidden;animation:step60-float 7s ease-in-out infinite}
.step60-device img{display:block;width:100%;height:100%;object-fit:cover;border-radius:18px}
.step60-device-bar{display:flex;gap:6px;padding:0 0 10px 2px}
.step60-device-bar span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.4)}
.step60-device--desktop{left:6%;top:10%;width:min(68%,820px);aspect-ratio:16/10}
.step60-device--tablet{right:8%;top:18%;width:min(26%,290px);aspect-ratio:4/5;animation-delay:-2s}
.step60-device--phone{right:15%;bottom:10%;width:min(20%,220px);aspect-ratio:9/18;animation-delay:-4s}
.step60-device--browser{position:relative;left:auto;top:auto;width:100%;aspect-ratio:16/10;animation:none}
.step60-device--soft{background:#f0ebe0;box-shadow:0 24px 60px rgba(64,56,42,.12)}
.step60-device-stack{display:grid;gap:20px}
.step60-praxis-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:26px;align-items:center}
.step60-praxis-photo,.step60-quote-card,.step60-stone-copy,.step60-stone-card{background:var(--step60-panel);border-radius:28px;overflow:hidden;border:1px solid rgba(0,0,0,.06);box-shadow:0 20px 50px rgba(0,0,0,.08)}
.step60-praxis-photo img,.step60-stone-card img,.step60-quote-card figure img{width:100%;display:block;height:100%;object-fit:cover}
.step60-praxis-photo figcaption{padding:14px 18px;font-size:.95rem}
.step60-stone-grid{display:grid;grid-template-columns:1fr 1fr 1.05fr;gap:22px;align-items:stretch}
.step60-stone-card{min-height:270px}
.step60-stone-card--tall{grid-row:span 2;min-height:560px}
.step60-stone-card figcaption{padding:14px 16px;font-size:.95rem}
.step60-stone-copy{padding:30px;display:flex;flex-direction:column;justify-content:center;grid-row:span 2}
.step60-quote-card{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:stretch}
.step60-quote-card blockquote{margin:0;padding:36px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.step60-quote-card blockquote p{margin:0;font-size:clamp(1.8rem,3vw,3rem);line-height:1.04}
.step60-quote-card blockquote span{font-size:1rem;opacity:.78}
.step60-quote-card--soft{grid-template-columns:1fr;background:linear-gradient(135deg, rgba(255,255,255,.9), rgba(246,240,230,.96));padding:0}
.step60-quote-card--soft blockquote{padding:44px 40px;text-align:center}
.step60-quote-card--soft blockquote p{color:var(--step60-accent)}
.step60-meta-box--skiclub{background:linear-gradient(180deg, rgba(255,250,246,.95), rgba(255,243,228,.92))}
.step60-meta-box--stone{background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,247,252,.92))}
.step60-meta-box--praxis{background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(250,246,239,.94))}
.step60-meta-box--dornach{background:linear-gradient(180deg, rgba(255,253,248,.95), rgba(252,245,232,.92))}
.social-viewer{position:fixed;inset:0;background:rgba(10,10,10,.72);z-index:999;display:none;align-items:center;justify-content:center;padding:24px}
.social-viewer.is-open{display:flex}
.social-viewer-panel{position:relative;max-width:min(92vw,920px);max-height:88vh;background:#fff;border-radius:24px;padding:18px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.social-viewer-panel img,.social-viewer-panel iframe{display:block;width:100%;max-height:72vh;border:0;border-radius:18px}
.social-viewer-title{margin-top:12px;font-weight:700}
.social-viewer-close{position:absolute;right:10px;top:10px;width:42px;height:42px;border-radius:50%;border:0;background:#111;color:#fff;font-size:1.35rem;cursor:pointer}
@keyframes step60-float{0%,100%{transform:translateY(0px)}50%{transform:translateY(-10px)}}
@media (max-width: 1100px){
  .step60-embed-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .step60-hero-grid,.step60-headline-row,.step60-praxis-grid{grid-template-columns:1fr}
  .step60-stone-grid{grid-template-columns:1fr 1fr}
  .step60-device--desktop{width:min(74%,640px)}
  .step60-device--tablet{width:min(28%,250px)}
}
@media (max-width: 860px){
  .step60-collage--skiclub,.step60-collage--dornach{grid-template-columns:1fr;grid-template-areas:'action' 'copy' 'kids';}
  .step60-collage--dornach{grid-template-areas:'wide' 'copy' 'small'}
  .step60-stone-grid{grid-template-columns:1fr}
  .step60-stone-card--tall,.step60-stone-copy{grid-row:auto;min-height:auto}
  .step60-device-stage{min-height:740px}
  .step60-device--desktop{left:5%;top:6%;width:90%}
  .step60-device--tablet{right:8%;top:auto;bottom:25%;width:40%}
  .step60-device--phone{right:6%;bottom:5%;width:34%}
  .step60-quote-card{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .step60-embed-grid--four,.step60-embed-grid--three{grid-template-columns:1fr}
  .step60-panel--action,.step60-panel--kids,.step60-panel--wide{min-height:320px}
  .step60-embed-shell,.step60-embed-card,.step60-embed-shell iframe{min-height:420px}
  .step60-hero-copy h1{max-width:12ch}
  .step60-device-stage{min-height:650px}
}
