/* 01 Hero */
.hero {
  padding: 76px 0 var(--section-space);
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  gap: 72px;
  align-items: center;
}
.hero-copy .eyebrow { margin-bottom: 18px; }
.hero-copy .display { color: var(--fl-purple-dark); }
.hero-copy .display em { color: var(--fl-green); font-weight: 400; }
.hero-copy .lead { margin-top: 28px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 34px; }
.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 30px;
  color: var(--fl-ink-soft);
  font-size: 14px;
}
.hero-meta span { display: inline-flex; align-items: center; gap: 7px; }
.hero-meta span::before { content: "•"; color: var(--fl-purple); }
.hero-media .media-placeholder { min-height: 610px; border-radius: 44px 44px 140px 44px; }

/* section heading */
.section-head {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 60px;
  align-items: end;
  margin-bottom: 48px;
}
.section-head .lead { justify-self: end; max-width: 500px; }

/* 03 Workshops */
.workshop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.workshop-card { min-width: 0; }
.workshop-card .media-placeholder { min-height: 260px; border-radius: 0; }
.workshop-date {
  display: inline-flex;
  padding: 8px 12px;
  margin-bottom: 14px;
  border-radius: var(--radius-pill);
  background: var(--fl-cream);
  color: var(--fl-purple-dark);
  font-family: var(--font-accent);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.workshop-card h3 { margin-bottom: 10px; }
.workshop-card p { color: var(--fl-ink-soft); }
.workshop-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin: 22px 0;
  padding-top: 18px;
  border-top: 1px solid var(--fl-line-light);
  font-size: 14px;
}
.workshop-info strong { display: block; color: var(--fl-purple-dark); }

/* 04 Why */
.why-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 48px; }
.why-item { padding: 32px; border-top: 2px solid var(--fl-purple-dark); }
.why-index { color: var(--fl-purple); font-family: var(--font-accent); font-size: 12px; letter-spacing: .1em; }
.why-item h3 { margin: 20px 0 12px; }
.why-item p { color: var(--fl-ink-soft); }

/* 05 Editorial image */
.editorial-break { padding: 0 var(--gutter) var(--section-space); background: var(--fl-cream); }
.editorial-break .media-placeholder { width: min(100%, 1540px); min-height: 700px; margin-inline: auto; border-radius: 44px; }

/* 06 Steps */
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 54px; border-top: 1px solid var(--fl-line); }
.step { padding: 30px 26px 0 0; position: relative; }
.step + .step { padding-left: 26px; border-left: 1px solid var(--fl-line); }
.step-number { font-family: var(--font-display); font-size: 54px; line-height: 1; color: var(--fl-purple); }
.step h3 { margin: 18px 0 10px; }
.step p { color: var(--fl-ink-soft); }

/* 07 Knowledge brand */
.knowledge-brand { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; }
.knowledge-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.knowledge-fact {
  min-height: 190px;
  padding: 26px;
  border: 1px solid rgba(245,241,197,.24);
  border-radius: var(--radius-card);
  background: rgba(255,255,255,.05);
}
.knowledge-fact strong { display: block; font-family: var(--font-display); font-size: 56px; line-height: 1; color: var(--fl-green-light); font-weight: 400; }
.knowledge-fact span { display: block; margin-top: 16px; color: rgba(245,241,197,.78); }

/* 08 Gallery */
.gallery-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr 1fr;
  grid-template-rows: 300px 340px;
  gap: 16px;
  margin-top: 48px;
}
.gallery-item { overflow: hidden; border-radius: var(--radius-image); }
.gallery-item .media-placeholder { min-height: 100%; height: 100%; border-radius: 0; }
.gallery-item--wide { grid-column: span 2; }
.gallery-item--tall { grid-row: span 2; }

/* 09 Testimonial */
.testimonial-wrap { max-width: 980px; margin-inline: auto; text-align: center; }
.testimonial-quote { font-family: var(--font-display); font-size: clamp(38px, 5.2vw, 68px); line-height: 1.08; color: var(--fl-purple-dark); }
.testimonial-author { margin-top: 24px; color: var(--fl-ink-soft); }

/* 10 Team events */
.split-feature { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split-feature .media-placeholder { min-height: 520px; border-radius: 120px 36px 36px 36px; }
.split-feature .lead { margin: 22px 0 30px; }

/* 11 Knowledge teasers */
.knowledge-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 48px; }
.knowledge-card { padding: 30px; min-height: 270px; display: flex; flex-direction: column; justify-content: space-between; }
.knowledge-card p { margin-top: 14px; color: var(--fl-ink-soft); }
.knowledge-card .text-link { align-self: flex-start; margin-top: 28px; }

/* 12 Partners */
.partner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 46px; }
.partner-card { padding: 32px; display: grid; grid-template-columns: 170px 1fr; gap: 28px; align-items: center; }
.partner-logo-frame {
  min-height: 130px;
  border-radius: 20px;
  background: var(--fl-surface);
  display: grid;
  place-items: center;
  padding: 18px;
  border: 1px solid rgba(84,22,80,.08);
}
.partner-logo-frame img { max-width: 100%; max-height: 96px; width: auto; height: auto; object-fit: contain; }
.partner-logo-frame--heuboden img { max-height: 88px; }
.partner-logo-frame--wischhof img { max-height: 58px; }
.partner-card p { margin: 10px 0 18px; color: var(--fl-ink-soft); }

/* 13 FAQ */
.faq { margin-top: 38px; border-top: 1px solid var(--fl-line); }
.faq details { border-bottom: 1px solid var(--fl-line); }
.faq summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  font-family: var(--font-display);
  font-size: 26px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--fl-purple-dark); font-family: var(--font-body); font-size: 24px; font-weight: 400; }
@media (hover:hover) and (pointer:fine) {
  .faq summary { transition: color 180ms ease; }
  .faq summary:hover { color: var(--fl-purple-dark); }
  .faq summary:hover::after { color: var(--fl-purple); }
}
.faq details[open] summary::after { content: "–"; }
.faq-answer { padding: 0 54px 24px 4px; color: var(--fl-ink-soft); max-width: 820px; }

/* 14 Final CTA */
.final-cta { text-align: center; }
.final-cta .h2 { max-width: 900px; margin-inline: auto; }
.final-cta .lead { margin: 22px auto 32px; }

@media (max-width: 1024px) {
  .hero-grid { grid-template-columns: 1fr; gap: 48px; }
  .hero-copy { max-width: 820px; }
  .hero-media .media-placeholder { min-height: 520px; }
  .workshop-grid, .why-grid, .knowledge-cards { grid-template-columns: repeat(2, 1fr); }
  .workshop-grid > :last-child, .why-grid > :last-child, .knowledge-cards > :last-child { grid-column: 1 / -1; }
  .steps { grid-template-columns: 1fr 1fr; }
  .step:nth-child(3) { border-left: 0; padding-left: 0; }
  .step:nth-child(n+3) { border-top: 1px solid var(--fl-line); margin-top: 28px; padding-top: 28px; }
  .knowledge-brand, .split-feature { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 260px 260px 260px; }
  .gallery-item--wide { grid-column: span 1; }
  .gallery-item--tall { grid-row: span 2; }
  .partner-card { grid-template-columns: 130px 1fr; }
}

@media (max-width: 768px) {
  .hero { padding-top: 52px; }
  .hero-media .media-placeholder { min-height: 420px; border-radius: 32px 32px 92px 32px; }
  .section-head { grid-template-columns: 1fr; gap: 20px; }
  .section-head .lead { justify-self: start; }
  .workshop-grid, .why-grid, .knowledge-cards, .partner-grid { grid-template-columns: 1fr; }
  .workshop-grid > :last-child, .why-grid > :last-child, .knowledge-cards > :last-child { grid-column: auto; }
  .editorial-break .media-placeholder { min-height: 470px; border-radius: 28px; }
  .steps { grid-template-columns: 1fr; }
  .step, .step + .step { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--fl-line); margin-top: 0; }
  .step:first-child { border-top: 0; }
  .knowledge-facts { grid-template-columns: 1fr 1fr; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, 220px); }
  .gallery-item--tall { grid-row: span 1; }
  .split-feature .media-placeholder { min-height: 430px; border-radius: 72px 28px 28px 28px; }
  .partner-card { grid-template-columns: 1fr; }
  .partner-logo-frame { min-height: 110px; }
}

@media (max-width: 430px) {
  .hero-actions .btn { width: 100%; }
  .hero-meta { display: grid; gap: 8px; }
  .hero-media .media-placeholder { min-height: 360px; }
  .knowledge-facts { grid-template-columns: 1fr; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .gallery-item, .gallery-item--tall, .gallery-item--wide { height: 260px; grid-column: auto; grid-row: auto; }
  .testimonial-quote { font-size: 38px; }
  .faq summary { font-size: 23px; }
}

/* ===== F1.3 content + motion polish ===== */
.hero--animated { position: relative; overflow: clip; isolation: isolate; padding-bottom: 0; }
.hero--animated .hero-grid { padding-bottom: var(--section-space); }
.hero-orb { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .46; pointer-events: none; z-index: -1; }
.hero-orb--one { width: 420px; height: 420px; right: -150px; top: 80px; background: rgba(176,200,153,.42); }
.hero-orb--two { width: 280px; height: 280px; left: -110px; bottom: 70px; background: rgba(186,120,168,.2); }
.hero-media-wrap { position: relative; min-width: 0; }
.hero-media { min-height: 610px; overflow: hidden; border-radius: 44px 44px 140px 44px; box-shadow: 0 28px 90px rgba(84,22,80,.14); background: #e7dfd8; }
.hero-media img { width: 100%; height: 100%; min-height: 610px; object-fit: cover; }
.hero-note {
  position: absolute;
  left: -34px;
  bottom: 56px;
  width: min(270px, 60%);
  padding: 20px 22px;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 22px;
  background: rgba(255,253,248,.88);
  backdrop-filter: blur(18px);
  box-shadow: 0 18px 60px rgba(84,22,80,.12);
  color: var(--fl-purple-dark);
}
.hero-note__kicker { display: block; margin-bottom: 5px; font-family: var(--font-accent); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.hero-note strong { font-family: var(--font-display); font-size: 25px; line-height: 1.05; font-weight: 400; }
.taste-rail { overflow: hidden; border-block: 1px solid var(--fl-line-light); background: rgba(245,241,197,.45); }
.taste-rail__track { display: flex; width: max-content; align-items: center; gap: 28px; padding: 16px 0; color: var(--fl-purple-dark); font-family: var(--font-accent); font-size: 11px; font-weight: 600; letter-spacing: .16em; white-space: nowrap; }
.taste-rail__track i { color: var(--fl-purple); font-style: normal; }

.workshop-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(390px, 43%);
  gap: 22px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  scrollbar-width: none;
  padding: 4px 4px 28px;
  margin: 0 -4px;
  cursor: grab;
  touch-action: pan-y pinch-zoom;
}
.workshop-track.is-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.workshop-track::-webkit-scrollbar { display: none; }
.workshop-card { scroll-snap-align: start; }
.workshop-image { position: relative; height: 310px; overflow: hidden; background: #e5ddd7; }
.workshop-image img { width: 100%; height: 100%; object-fit: cover; }
.workshop-image--winter img { filter: saturate(.96) contrast(1.02); }
.workshop-badge {
  position: absolute;
  left: 18px;
  top: 18px;
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,253,248,.9);
  backdrop-filter: blur(12px);
  color: var(--fl-purple-dark);
  font-family: var(--font-accent);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .09em;
}
.workshop-kicker { margin-bottom: 8px; color: var(--fl-purple); font-family: var(--font-accent); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }

.why-section .h2 em,
.gallery-section .h2 em,
.partners-section .h2 em,
.brand-panel .h2 em { color: var(--fl-green); font-weight: 400; }
.brand-panel .h2 em { color: var(--fl-green-light); }

.editorial-media { position: relative; width: min(100%, 1540px); height: min(72vw, 760px); min-height: 560px; margin-inline: auto; overflow: hidden; border-radius: 44px; background: #e6ded7; }
.editorial-media img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.07); filter: saturate(.94); }
.editorial-caption {
  position: absolute;
  left: clamp(24px, 5vw, 72px);
  bottom: clamp(24px, 5vw, 62px);
  width: min(560px, calc(100% - 48px));
  padding: 24px 26px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 22px;
  background: rgba(65,30,67,.78);
  backdrop-filter: blur(18px);
  color: var(--fl-cream);
}
.editorial-caption span { display: block; margin-bottom: 7px; color: var(--fl-green-light); font-family: var(--font-accent); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.editorial-caption strong { display: block; font-family: var(--font-display); font-size: clamp(28px, 3.2vw, 44px); line-height: 1.05; font-weight: 400; }

.brand-panel { position: relative; overflow: hidden; isolation: isolate; }
.brand-panel::after { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .18; background-image: radial-gradient(rgba(245,241,197,.35) .65px, transparent .65px); background-size: 9px 9px; mask-image: linear-gradient(to right, transparent, #000 18%, #000 82%, transparent); }
.brand-panel__glow { position: absolute; right: -170px; top: -210px; width: 520px; height: 520px; border-radius: 50%; background: rgba(176,200,153,.14); filter: blur(4px); pointer-events: none; }
.knowledge-brand .btn { margin-top: 30px; }

.gallery-grid--motion .gallery-item { background: #e3ddd4; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; }

.testimonial-section { position: relative; overflow: hidden; }
.testimonial-section::before { content: "“"; position: absolute; left: 4vw; top: -90px; color: rgba(84,22,80,.08); font-family: var(--font-display); font-size: 330px; line-height: 1; pointer-events: none; }

.split-feature__media { min-height: 520px; overflow: hidden; border-radius: 120px 36px 36px 36px; background: #e3ddd4; }
.split-feature__media img { width: 100%; min-height: 520px; height: 100%; object-fit: cover; }

.knowledge-label { display: inline-block; margin-bottom: 14px; color: var(--fl-purple); font-family: var(--font-accent); font-size: 10px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.knowledge-card--feature { background: var(--fl-purple-dark); color: var(--fl-cream); }
.knowledge-card--feature p { color: rgba(245,241,197,.75); }
.knowledge-card--feature .text-link { color: var(--fl-green-light); }

.partners-section { background: linear-gradient(180deg, var(--fl-surface) 0%, #fbf7ef 100%); }

.final-cta--motion { position: relative; overflow: hidden; isolation: isolate; }
.final-cta__orb { position: absolute; z-index: -1; left: 50%; top: 50%; width: 680px; height: 320px; transform: translate(-50%, -50%); border-radius: 50%; background: radial-gradient(circle, rgba(186,120,168,.22), rgba(176,200,153,.12) 48%, transparent 70%); filter: blur(18px); }

.footer-orb { position: absolute; z-index: -1; width: 440px; height: 440px; right: -170px; bottom: -280px; border-radius: 50%; background: rgba(176,200,153,.12); }

@media (max-width: 1024px) {
  .workshop-track { grid-auto-columns: minmax(360px, 62%); }
  .hero-note { left: 24px; bottom: 32px; }
}

@media (max-width: 768px) {
  .hero-media, .hero-media img { min-height: 470px; }
  .hero-note { width: min(250px, calc(100% - 48px)); }
  .workshop-track { grid-auto-columns: minmax(300px, 82%); }
  .workshop-image { height: 280px; }
  .slider-controls { justify-content: start; grid-template-columns: 44px minmax(90px, 180px) 44px; }
  .editorial-media { min-height: 470px; height: 72vh; border-radius: 28px; }
  .split-feature__media, .split-feature__media img { min-height: 430px; }
}

@media (max-width: 430px) {
  .hero-media, .hero-media img { min-height: 410px; }
  .hero-note { left: 16px; bottom: 18px; padding: 16px 18px; }
  .hero-note strong { font-size: 22px; }
  .workshop-track { grid-auto-columns: 92%; gap: 14px; }
  .workshop-image { height: 250px; }
  .editorial-media { min-height: 420px; }
  .editorial-caption { left: 16px; bottom: 16px; width: calc(100% - 32px); padding: 18px; }
}

.hero-media img { object-position: center center; }
.editorial-media img { object-position: center 58%; }
.gallery-item:first-child img { object-position: center 32%; }
.gallery-item:nth-child(2) img { object-position: center center; }
.gallery-item:nth-child(3) img { object-position: center 48%; }
.gallery-item:nth-child(4) img { object-position: center center; }
.gallery-item:nth-child(5) img { object-position: center center; }
.split-feature__media img { object-position: center 45%; }

/* ===== F1.4 breakpoint hardening ===== */
.hero-copy { min-width: 0; }
.hero-copy .lead { max-width: 640px; }
.workshop-card .card__body { display: flex; min-height: 360px; flex-direction: column; }
.workshop-card .card__body > .btn { margin-top: auto; align-self: flex-start; }
.workshop-card .card__body > p:not(.workshop-kicker) { margin-bottom: 0; }
.workshop-info { margin-top: auto; }

@media (max-width: 1200px) and (min-width: 1025px) {
  .hero-grid { gap: 48px; grid-template-columns: minmax(0, 1fr) minmax(390px, .9fr); }
  .desktop-nav ul { gap: 18px; }
  .desktop-nav a { font-size: 13px; }
  .header-inner { gap: 20px; }
}

@media (max-width: 1024px) {
  .hero { padding-top: 58px; }
  .hero-media { width: min(100%, 820px); }
  .hero-media, .hero-media img { min-height: 560px; }
  .hero-note { left: 26px; }
  .section-head { align-items: start; }
  .knowledge-brand { gap: 46px; }
  .split-feature { gap: 42px; }
  .partner-grid { gap: 18px; }
}

@media (max-width: 768px) {
  .hero--animated .hero-grid { padding-bottom: 76px; }
  .hero-copy .display { max-width: 11ch; }
  .hero-media, .hero-media img { min-height: 500px; }
  .hero-meta { max-width: 560px; }
  .workshop-card .card__body { min-height: 350px; }
  .why-item { padding: 26px 6px 10px 0; }
  .knowledge-facts { gap: 12px; }
  .knowledge-fact { min-height: 170px; padding: 22px; }
  .knowledge-fact strong { font-size: 48px; }
  .gallery-grid { gap: 12px; }
  .partner-card { padding: 26px; }
  .faq summary { min-height: 68px; }
}

@media (max-width: 560px) {
  .hero { padding-top: 42px; }
  .hero--animated .hero-grid { padding-bottom: 64px; }
  .hero-copy .lead { margin-top: 22px; }
  .hero-actions { margin-top: 28px; }
  .hero-media, .hero-media img { min-height: 430px; }
  .hero-note { left: 14px; right: 14px; bottom: 14px; width: auto; }
  .taste-rail__track { gap: 22px; padding-block: 13px; }
  .slider-controls { width: 100%; grid-template-columns: 44px minmax(0, 1fr) 44px; }
  .workshop-track { grid-auto-columns: 88%; }
  .workshop-card .card__body { min-height: 330px; padding: 22px; }
  .workshop-info { grid-template-columns: 1fr; gap: 6px; }
  .knowledge-facts { grid-template-columns: 1fr; }
  .knowledge-fact { min-height: auto; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: none; }
  .gallery-item, .gallery-item--tall, .gallery-item--wide { height: 300px; grid-column: auto; grid-row: auto; }
  .editorial-media { height: 74vh; min-height: 500px; }
  .editorial-caption strong { font-size: clamp(27px, 9vw, 38px); }
  .testimonial-quote { font-size: clamp(34px, 10vw, 48px); }
  .partner-card { padding: 22px; }
  .partner-logo-frame { min-height: 104px; }
  .faq-answer { padding-right: 8px; }
}

@media (max-width: 430px) {
  .hero-copy .display { max-width: 10ch; }
  .hero-media, .hero-media img { min-height: 390px; }
  .workshop-track { grid-auto-columns: 90%; }
  .workshop-image { height: 235px; }
  .gallery-item, .gallery-item--tall, .gallery-item--wide { height: 270px; }
  .final-cta .btn { width: 100%; }
}

@media (max-width: 375px) {
  .hero-actions { gap: 10px; }
  .hero-actions .btn { min-height: 48px; padding-inline: 18px; }
  .hero-media, .hero-media img { min-height: 360px; }
  .workshop-track { grid-auto-columns: 94%; }
  .workshop-badge { left: 14px; top: 14px; }
  .card__body { padding: 20px; }
  .partner-card { padding: 20px; }
}


/* ===== F1.5 responsive edge-case hardening ===== */
.hero-grid > *, .section-head > *, .knowledge-brand > *, .split-feature > * { min-width: 0; }
.workshop-track { max-width: 100%; }
.workshop-card { width: 100%; }
.workshop-card .h3, .partner-card .h3, .knowledge-card .h3 { overflow-wrap: break-word; }

@media (max-width: 1024px) {
  .hero-media { margin-inline: auto; }
}

@media (max-width: 560px) {
  .section-head { margin-bottom: 34px; }
  .workshop-track { padding-right: var(--gutter); }
  .partner-logo-frame img { max-width: min(240px, 90%); }
  .footer-copy { max-width: none; }
}

@media (max-width: 340px) {
  .hero-actions .btn, .final-cta .btn, .mobile-nav .btn { width: 100%; }
  .workshop-track { grid-auto-columns: 96%; gap: 10px; }
  .workshop-image { height: 220px; }
  .workshop-badge { font-size: 9px; padding: 8px 10px; }
  .gallery-item, .gallery-item--tall, .gallery-item--wide { height: 240px; }
  .editorial-media { min-height: 440px; }
  .editorial-caption { left: 12px; right: 12px; width: auto; bottom: 12px; padding: 16px; }
  .faq summary { font-size: 21px; gap: 14px; }
  .partner-card { padding: 18px; }
}

/* ===== F5.11.30 – canonical homepage density (replaces F5.11.8/24/25/27/28/29 overrides) ===== */
.editorial-break{padding:32px var(--gutter) 48px}
.workshop-badge--availability{left:auto;right:14px;background:rgba(236,244,229,.96);color:#40533a;border:1px solid rgba(64,83,58,.12);box-shadow:0 0 0 1px rgba(186,120,168,.08)}
.workshop-badge--availability-low{background:rgba(255,240,220,.98);color:#754b22;border-color:rgba(117,75,34,.14)}
.workshop-badge--availability-full{background:rgba(245,237,242,.98);color:#6a405d;border-color:rgba(106,64,93,.14)}
.workshop-image__fallback{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#f4eff2,#f5f1c5);color:var(--fl-purple-dark);font-family:var(--font-display);font-size:26px}
.workshop-card{border-color:rgba(84,22,80,.09);box-shadow:0 2px 6px rgba(84,22,80,.045),0 9px 22px rgba(84,22,80,.04);transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.workshop-card:hover{transform:translateY(-2px);border-color:rgba(186,120,168,.28);box-shadow:0 4px 10px rgba(84,22,80,.055),0 13px 28px rgba(84,22,80,.05)}
.workshop-card .card__body{gap:9px}
.workshop-card .workshop-kicker{margin:0;color:var(--fl-purple-dark)}
.workshop-card .h3{margin:0;line-height:1.08}
.workshop-card .card__body>p:not(.workshop-kicker){line-height:1.48}
.workshop-card .workshop-info{margin:12px 0 0;padding-top:12px}
.workshop-card .card__body>.btn{width:100%;justify-content:center;margin-top:8px}
.workshop-card .card__body>.btn::after{content:'→';margin-left:8px;transition:transform 180ms ease}
.workshop-card .card__body>.btn:hover::after{transform:translateX(3px)}
.slider-shell.is-single-item .slider-controls{display:none}
.slider-shell.is-single-item .workshop-track{display:flex;justify-content:flex-start;overflow:visible;padding:0;scroll-snap-type:none;cursor:default;touch-action:auto}
.slider-shell.is-single-item .workshop-card{flex:0 1 340px;width:min(100%,340px);max-width:340px}
@media (min-width:901px){
  .hero{padding:48px 0 var(--section-space)}
  .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(340px,.84fr);gap:46px}
  .hero-copy .lead{margin-top:20px}.hero-actions{margin-top:24px}.hero-meta{margin-top:22px}
  .hero-media,.hero-media img{min-height:0!important;height:clamp(340px,31vw,430px)!important}
  .section-head{gap:38px;margin-bottom:30px}
  .workshop-track{grid-auto-columns:calc((100% - 44px)/3);gap:22px}
  .workshop-image{height:205px}
  .workshop-card .card__body{min-height:250px;padding:20px}
  .workshop-card .h3{font-size:26px}
  .slider-shell.is-single-item .workshop-image{height:150px}
  .slider-shell.is-single-item .workshop-card .card__body{min-height:0;padding:18px}
  .slider-shell.is-single-item .workshop-card .h3{font-size:24px}
  .editorial-media{height:clamp(290px,28vw,390px)!important;min-height:0!important;width:min(100%,1080px)}
  .split-feature__media,.split-feature__media img{min-height:0!important;height:clamp(320px,31vw,410px)!important}
  .gallery-grid{grid-template-columns:1.08fr .92fr .92fr 1.08fr;grid-template-rows:210px 240px;gap:14px;margin-top:32px}
  .gallery-grid .gallery-item:nth-child(1){grid-column:1;grid-row:1 / 3}
  .gallery-grid .gallery-item:nth-child(2){grid-column:2 / 4;grid-row:1}
  .gallery-grid .gallery-item:nth-child(3){grid-column:4;grid-row:1}
  .gallery-grid .gallery-item:nth-child(4){grid-column:2;grid-row:2}
  .gallery-grid .gallery-item:nth-child(5){grid-column:3 / 5;grid-row:2}
}
@media (max-width:900px){
  .workshop-image{height:220px}.workshop-card .card__body{min-height:0;padding:20px}
  .hero-media,.hero-media img{min-height:0!important;height:clamp(320px,58vw,420px)!important}
  .editorial-media{height:clamp(300px,58vw,420px)!important;min-height:0!important}
  .split-feature__media,.split-feature__media img{min-height:0!important;height:clamp(310px,60vw,420px)!important}
  .slider-shell.is-single-item .workshop-track{justify-content:center}
}
@media (max-width:560px){.workshop-image{height:205px}.hero-media,.hero-media img{height:340px!important}.editorial-media{height:320px!important}.split-feature__media,.split-feature__media img{height:330px!important}}
@media(prefers-reduced-motion:reduce){.workshop-card{transition:none}.workshop-card:hover{transform:none}.workshop-card .card__body>.btn::after{transition:none}}
