/* W03 canonical workshop-detail architecture.
   Applies to all loaded workshop events: light hero, deterministic workbench rhythm,
   event-driven content, compact fit/FAQ, private venue logistics removed from public detail,
   venue identity reduced to the linked logo without redundant public address/CTA. */
body.workshop-detail-canonical{--w02-shell:min(1280px,calc(100vw - 96px));--w02-rail:260px;--w02-gap:56px;background:#fffdf8}
body.workshop-detail-canonical .event-v2{--event-v2-max:1280px;overflow:visible}
body.workshop-detail-canonical .event-v2 .container{width:var(--w02-shell);max-width:1280px}

/* Hero */
.event-w02-hero{position:relative;padding:48px 0 54px;overflow:hidden;background:linear-gradient(125deg,#fffdf8 0%,#fffdf8 52%,#f7f0f5 100%)}
.event-w02-hero::after{content:"";position:absolute;right:-80px;top:40px;width:230px;height:230px;border-radius:50%;background:rgba(176,200,153,.22);pointer-events:none}
.event-w02-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:clamp(42px,5vw,72px);align-items:center}
.event-w02-hero__copy{max-width:680px}.event-w02-hero__copy .display{max-width:none;font-size:clamp(46px,4.1vw,64px);line-height:.98;letter-spacing:-.025em;overflow-wrap:normal;word-break:normal;hyphens:none}
.event-w02-hero__lead{max-width:52ch;margin-top:16px;font-size:clamp(17px,1.2vw,20px);line-height:1.55}
.event-w02-facts{display:grid;grid-template-columns:1.45fr 1.25fr .62fr .9fr;gap:10px;margin-top:24px}
.event-w02-fact{min-width:0;padding:11px 13px;border:1px solid rgba(84,22,80,.10);border-radius:14px;background:rgba(255,255,255,.52)}
.event-w02-fact span,.event-w02-rail__facts span{display:block;margin-bottom:4px;font:600 9px/1.2 var(--font-accent);letter-spacing:.12em;text-transform:uppercase;color:var(--fl-ink-soft)}
.event-w02-fact strong{display:block;color:var(--fl-purple-dark);font-size:13px;line-height:1.35;font-weight:650;overflow-wrap:normal}
.event-w02-hero__actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.event-w02-hero__media{position:relative;margin:0;height:clamp(430px,38vw,560px);max-height:560px;border-radius:28px 76px 28px 28px;overflow:hidden;background:#e9e2dc;box-shadow:0 24px 70px rgba(84,22,80,.10)}
.event-w02-hero__media img{width:100%;height:100%;object-fit:cover}.event-w02-hero__media::after{content:"";position:absolute;inset:auto 22px 22px auto;width:72px;height:72px;border-radius:50%;border:1px solid rgba(255,255,255,.62);box-shadow:inset 0 0 0 10px rgba(255,255,255,.12);pointer-events:none}

/* Main flow + protected workshop pass */
.event-w02-layout{display:grid;grid-template-columns:minmax(0,1fr) var(--w02-rail);gap:var(--w02-gap);align-items:start;padding-top:72px;padding-bottom:76px}
.event-w02-flow{min-width:0;display:grid;gap:68px}
.event-w02-rail{position:sticky;top:92px;padding:20px 0 0;border-top:2px solid var(--fl-purple-dark)}
.event-w02-rail__eyebrow{margin:0 0 15px;font:600 11px/1.2 var(--font-accent);letter-spacing:.12em;text-transform:uppercase;color:var(--fl-purple-dark)}
.event-w02-rail__facts{display:grid;gap:14px}.event-w02-rail__facts strong{display:block;font-size:15px;color:var(--fl-purple-dark);line-height:1.35}
.event-w02-rail__price{margin:20px 0 16px;padding-top:17px;border-top:1px solid rgba(84,22,80,.12)}.event-w02-rail__price strong{display:block;font:400 40px/1 var(--font-display);color:var(--fl-purple-dark)}.event-w02-rail__price span{display:block;margin-top:5px;color:var(--fl-ink-soft);font-size:13px}.event-w02-price-note{display:block;margin-top:5px;color:var(--fl-ink-soft);font-size:11px;line-height:1.35;font-weight:500}.event-w02-rail .btn{width:100%;justify-content:center}

/* Preserved event copy: admin-entered short/detail descriptions remain visible in the canonical layout. */
.event-w02-intro{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:38px;align-items:start;padding:26px 0;border-block:1px solid rgba(84,22,80,.10)}
.event-w02-intro__head .h2{margin:6px 0 0;font-size:clamp(32px,2.7vw,40px);line-height:1}.event-w02-intro__copy{max-width:64ch}.event-w02-intro__copy p{margin:0;color:var(--fl-ink-soft);font-size:15px;line-height:1.68}.event-w02-intro__copy p+p{margin-top:14px}.event-w02-intro__lead{color:var(--fl-ink)!important;font-size:17px!important;font-weight:500}

/* Workbench */
.event-w02-section-head{display:grid;grid-template-columns:minmax(0,.82fr) minmax(260px,.55fr);gap:30px;align-items:end;margin-bottom:28px}
.event-w02-section-head .h2{margin:5px 0 0;max-width:none;font-size:clamp(39px,3.15vw,49px);line-height:.99}.event-w02-workbench__title span{display:block;white-space:nowrap}
.event-w02-section-head>p{max-width:48ch;margin:0;color:var(--fl-ink-soft);line-height:1.62}
.event-w02-plan{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1fr);gap:26px;align-items:start;margin:-2px 0 24px;padding:16px 18px;border:1px solid rgba(84,22,80,.10);border-radius:18px;background:#fbf8f3}.event-w02-plan>div{display:grid;gap:5px}.event-w02-plan span{font:600 9px/1.2 var(--font-accent);letter-spacing:.12em;text-transform:uppercase;color:var(--fl-purple)}.event-w02-plan strong{font-size:17px;line-height:1.35;color:var(--fl-purple-dark)}.event-w02-plan p{margin:0;color:var(--fl-ink-soft);font-size:13px;line-height:1.55}.event-w02-plan__notes{display:grid;gap:7px}.event-w02-plan__notes strong{font-size:13px;color:var(--fl-purple-dark)}
.event-w02-workbench__grid{display:grid;grid-template-columns:minmax(360px,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.event-w02-workbench__stage{position:sticky;top:104px;height:clamp(410px,34vw,490px);border-radius:26px;overflow:hidden;background:#e8e1da;box-shadow:0 18px 56px rgba(84,22,80,.08)}
.event-w02-workbench__image{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.018);transition:opacity 560ms ease,transform 760ms var(--ease-out);pointer-events:none}
.event-w02-workbench__image.is-active{opacity:1;transform:scale(1)}.event-w02-workbench__image img{width:100%;height:100%;object-fit:cover}
.event-w02-workbench__steps{display:grid}
.event-w02-step{position:relative;display:flex;min-height:250px;flex-direction:column;justify-content:center;padding:34px 0 38px 48px;border-top:1px solid rgba(84,22,80,.14)}
.event-w02-step:last-child{border-bottom:1px solid rgba(84,22,80,.14)}.event-w02-step>span{position:absolute;left:0;top:50%;transform:translateY(-50%);font:600 11px/1 var(--font-accent);letter-spacing:.12em;color:var(--fl-purple)}
.event-w02-step h3{margin:0 0 8px;font:400 clamp(27px,2vw,33px)/1.04 var(--font-display);color:var(--fl-purple-dark);transition:color 240ms ease}.event-w02-step p{margin:0;max-width:48ch;line-height:1.58;color:var(--fl-ink-soft)}.event-w02-step.is-active h3{color:var(--fl-purple)}

/* Outcomes */
.event-w02-outcomes{position:relative;padding:36px 40px;border-radius:26px;background:linear-gradient(135deg,#e9f0e3 0%,#f3f4df 100%);overflow:hidden}.event-w02-outcomes::after{content:"";position:absolute;right:-42px;bottom:-52px;width:180px;height:180px;border-radius:50%;border:28px solid rgba(84,22,80,.055)}
.event-w02-outcomes__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.72fr) minmax(300px,1fr);gap:34px}.event-w02-outcomes .h2{margin:6px 0 0;max-width:none;font-size:clamp(32px,2.7vw,40px);line-height:1.02}.event-w02-outcomes__title span{display:block;white-space:nowrap}
.event-w02-outcomes__list{display:grid;gap:0;margin:0;padding:0;list-style:none}.event-w02-outcomes__list li{position:relative;padding:11px 0 11px 27px;border-top:1px solid rgba(64,83,58,.18);font-size:15px;line-height:1.45}.event-w02-outcomes__list li:last-child{border-bottom:1px solid rgba(64,83,58,.18)}.event-w02-outcomes__list li::before{content:"↗";position:absolute;left:0;top:11px;color:var(--fl-purple-dark)}.event-w02-outcomes__included{margin:16px 0 0;color:var(--fl-ink-soft);font-size:13px;line-height:1.55}

/* Fit: compact decision aid, no statement wall */
.event-w02-fit{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:42px;align-items:start;padding:26px 0;border-block:1px solid rgba(84,22,80,.10)}
.event-w02-fit .h2{margin:6px 0 0;max-width:14ch;font-size:clamp(30px,2.65vw,40px);line-height:1.02}.event-w02-fit__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.event-w02-fit__facts>div{padding:16px 17px;border:1px solid rgba(84,22,80,.10);border-radius:16px;background:#fff}.event-w02-fit__facts span{display:block;margin-bottom:7px;font:600 10px/1.2 var(--font-accent);text-transform:uppercase;letter-spacing:.12em;color:var(--fl-purple)}.event-w02-fit__facts p{margin:0;font-size:15px;line-height:1.55}

/* Venue: public essentials only */
.event-w02-location__media{margin:0;border-radius:26px;overflow:hidden;aspect-ratio:16/6.1;background:#e7e0d8}.event-w02-location__media img{width:100%;height:100%;object-fit:cover}.event-w02-location__body{display:grid;grid-template-columns:minmax(0,.8fr) minmax(420px,1fr);gap:30px;align-items:center;padding-top:20px}.event-w02-location__body .h2{margin:5px 0 0;font-size:clamp(34px,2.8vw,44px);line-height:1}.event-w02-location__identity{display:grid;place-items:center;min-width:0;min-height:126px}.event-w02-location__brand{display:grid;place-items:center;width:min(100%,300px);min-width:0;min-height:110px;padding:16px 20px;border:1px solid rgba(84,22,80,.10);border-radius:18px;background:#fff;text-decoration:none;transition:transform 180ms ease,box-shadow 180ms ease,border-color 180ms ease}.event-w02-location__brand[href]:hover{transform:translateY(-2px);border-color:rgba(84,22,80,.20);box-shadow:0 12px 30px rgba(84,22,80,.08)}.event-w02-location__brand img{display:block;max-width:100%;max-height:74px;object-fit:contain}.event-w02-location__brand strong{font:400 28px/1 var(--font-display);color:var(--fl-purple-dark)}
@media(min-width:901px){.event-w02-location__identity{transform:translateY(18px)}}

/* Real mini FAQ */
.event-w02-faq{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:38px;align-items:start}.event-w02-faq__head .h2{margin:6px 0 0;font-size:clamp(32px,2.7vw,40px);line-height:1}.event-w02-faq__items{border-top:1px solid rgba(84,22,80,.14)}
.event-w02-faq details{border-bottom:1px solid rgba(84,22,80,.14)}.event-w02-faq summary{position:relative;padding:16px 32px 16px 0;cursor:pointer;color:var(--fl-purple-dark);font-weight:650;list-style:none}.event-w02-faq summary::-webkit-details-marker{display:none}.event-w02-faq summary::after{content:"+";position:absolute;right:4px;top:15px;font-size:20px;font-weight:400}.event-w02-faq details[open] summary::after{content:"–"}.event-w02-faq__answer{padding:0 30px 16px 0;color:var(--fl-ink-soft);font-size:14px;line-height:1.6}.event-w02-faq__answer p{margin:0}.event-w02-faq__answer p+p{margin-top:9px}.event-w02-faq__answer ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 22px;margin:0;padding-left:18px}.event-w02-faq__answer a{color:var(--fl-purple-dark);text-decoration:underline;text-underline-offset:3px}

/* Closing atmosphere image */
.event-w02-community{padding-bottom:64px}.event-w02-community__media{margin:0;aspect-ratio:16/5.8;border-radius:28px;overflow:hidden;background:#e7e0d8;box-shadow:0 18px 50px rgba(84,22,80,.07)}.event-w02-community__media img{width:100%;height:100%;object-fit:cover}

/* Warm invitation block; canonical footer remains a distinct component below. */
.event-w02-booking{position:relative;padding:64px 0;background:linear-gradient(122deg,#faf4df 0%,#f4dea0 100%);border-top:1px solid rgba(84,22,80,.10);overflow:hidden}.event-w02-booking::before{content:"";position:absolute;left:-82px;bottom:-100px;width:250px;height:250px;border-radius:50%;border:38px solid rgba(84,22,80,.075)}
.event-w02-booking__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.68fr);gap:clamp(46px,6vw,76px);align-items:center}.event-w02-booking .eyebrow{color:var(--fl-purple)}.event-w02-booking .h2{max-width:12ch;margin:7px 0 14px;color:var(--fl-purple-dark);font-size:clamp(46px,4.3vw,62px);line-height:.98}.event-w02-booking__lead{max-width:54ch;color:var(--fl-ink-soft);font-size:16px;line-height:1.65}.event-w02-booking__meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:18px;color:var(--fl-purple-dark);font-size:14px}.event-w02-booking__action{padding:24px;border:1px solid rgba(84,22,80,.10);border-radius:24px;background:#fff;box-shadow:0 16px 44px rgba(84,22,80,.09)}.event-w02-booking__price{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px}.event-w02-booking__price strong{font:400 44px/1 var(--font-display);color:var(--fl-purple-dark)}.event-w02-booking__price span{font-size:13px;color:var(--fl-ink-soft);text-align:right}.event-w02-booking .event-cart-form{display:grid;gap:13px}.event-w02-booking .event-cart-form label{display:grid;gap:8px;font-size:12px;font-weight:650;color:var(--fl-purple-dark)}.event-w02-booking .event-cart-form .btn{width:100%;justify-content:center}.event-w02-booking .event-cart-form small{color:var(--fl-ink-soft);line-height:1.45}
.event-w02-mobilebar{display:none}

@media(max-width:1180px){
  body.workshop-detail-canonical{--w02-shell:min(100% - 48px,1120px);--w02-rail:250px;--w02-gap:38px}
  .event-w02-hero{padding:42px 0 48px}.event-w02-hero__grid{grid-template-columns:minmax(0,.9fr) minmax(390px,1fr);gap:46px}.event-w02-hero__media{height:clamp(380px,44vw,500px)}
  .event-w02-facts{grid-template-columns:1.4fr 1.2fr}.event-w02-layout{grid-template-columns:minmax(0,1fr) var(--w02-rail);padding-top:62px;padding-bottom:68px}.event-w02-flow{gap:60px}.event-w02-workbench__grid{grid-template-columns:minmax(320px,.9fr) minmax(0,1fr)}
  .event-w02-step{min-height:260px}
}

@media(max-width:900px){
  body.workshop-detail-canonical{--w02-shell:min(100% - 40px,760px)}
  .event-w02-hero{padding:34px 0 42px}.event-w02-hero__grid,.event-w02-booking__grid{grid-template-columns:1fr}.event-w02-hero__grid{gap:28px}.event-w02-hero__copy .display{font-size:clamp(44px,7.7vw,58px);max-width:none}.event-w02-hero__media{height:clamp(285px,48vw,370px);max-height:370px;border-radius:24px 54px 24px 24px}
  .event-w02-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.event-w02-fact{padding:10px 12px}.event-w02-layout{grid-template-columns:1fr;padding-top:54px;padding-bottom:58px}.event-w02-rail{display:none}.event-w02-flow{gap:54px}
  .event-w02-intro,.event-w02-section-head,.event-w02-plan,.event-w02-outcomes__grid,.event-w02-fit,.event-w02-location__body,.event-w02-faq{grid-template-columns:1fr}.event-w02-intro{gap:18px}.event-w02-section-head{gap:14px;margin-bottom:20px}.event-w02-plan{gap:10px;margin-bottom:20px}.event-w02-outcomes__grid{gap:24px}.event-w02-location__body{gap:18px}.event-w02-faq{gap:22px}
  .event-w02-workbench__grid{grid-template-columns:1fr;gap:20px}.event-w02-workbench__stage{display:block;position:relative;top:auto;height:320px;margin:0;border-radius:24px}.event-w02-step{min-height:0;padding:20px 0 22px 42px}.event-w02-step>span{top:26px;transform:none}.event-w02-step h3{font-size:29px}
  .event-w02-outcomes{padding:30px}.event-w02-fit__facts{grid-template-columns:1fr 1fr}.event-w02-community{padding-bottom:48px}.event-w02-community__media{aspect-ratio:16/7.5}
  .event-w02-booking{padding:54px 0 68px}.event-w02-booking__grid{gap:30px}.event-w02-booking .h2{font-size:clamp(44px,7vw,54px)}.event-w02-booking__action{max-width:none}
  .event-w02-mobilebar{position:fixed;z-index:90;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:9px 9px 9px 16px;border:1px solid rgba(84,22,80,.12);border-radius:18px;background:rgba(255,253,248,.96);box-shadow:0 16px 44px rgba(84,22,80,.18);backdrop-filter:blur(14px);transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform 220ms ease,opacity 220ms ease}.event-w02-mobilebar.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}.event-w02-mobilebar__meta{min-width:0}.event-w02-mobilebar__meta strong{display:block;color:var(--fl-purple-dark);font-size:16px}.event-w02-mobilebar__meta span{display:block;color:var(--fl-ink-soft);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-w02-mobilebar .btn{min-height:46px;padding:11px 16px}
}

@media(max-width:560px){
  body.workshop-detail-canonical{--w02-shell:calc(100% - 30px)}
  .event-w02-hero{padding:24px 0 34px}.event-w02-hero__copy .display{font-size:clamp(38px,10vw,44px);line-height:.97}.event-w02-hero__lead{margin-top:13px;font-size:16px;line-height:1.5}.event-w02-facts{margin-top:19px}.event-w02-fact{min-height:61px;padding:9px 10px}.event-w02-fact strong{font-size:12px}.event-w02-hero__actions{align-items:flex-start;flex-direction:column;margin-top:18px;gap:12px}.event-w02-hero__actions .btn{width:100%;justify-content:center}.event-w02-hero__media{height:70vw;max-height:300px;margin-top:2px;border-radius:20px 44px 20px 20px}
  .event-w02-layout{padding-top:44px;padding-bottom:50px}.event-w02-flow{gap:46px}.event-w02-section-head{gap:10px}.event-w02-section-head .h2{font-size:34px;line-height:1.01}.event-w02-workbench__title span{white-space:normal}.event-w02-workbench__stage{height:240px;border-radius:20px}.event-w02-step{padding:17px 0 19px 36px}.event-w02-step>span{top:21px}.event-w02-step h3{font-size:27px}
  .event-w02-outcomes{padding:24px 20px;border-radius:22px}.event-w02-outcomes .h2{font-size:31px}.event-w02-outcomes__title span{white-space:normal}.event-w02-outcomes__grid{gap:20px}.event-w02-fit{gap:22px;padding:22px 0}.event-w02-fit .h2{font-size:31px;max-width:none}.event-w02-fit__facts{grid-template-columns:1fr}.event-w02-location__media{aspect-ratio:4/3;border-radius:20px}.event-w02-location__body{padding-top:17px}.event-w02-location__body .h2{font-size:34px}.event-w02-location__identity{min-height:0}.event-w02-location__brand{min-width:0;width:min(100%,300px);min-height:80px}.event-w02-location__brand img{max-height:56px}.event-w02-intro__head .h2,.event-w02-faq__head .h2{font-size:31px}.event-w02-faq__answer ul{grid-template-columns:1fr}.event-w02-community{padding-bottom:38px}.event-w02-community__media{aspect-ratio:4/3;border-radius:20px}
  .event-w02-booking{padding:46px 0 62px}.event-w02-booking .h2{font-size:40px}.event-w02-booking__lead{font-size:15px}.event-w02-booking__meta{gap:8px 14px;font-size:13px}.event-w02-booking__action{padding:18px;border-radius:20px}.event-w02-booking__price strong{font-size:40px}
  .event-w02-mobilebar{left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));min-height:62px}.event-w02-mobilebar__meta span{max-width:135px}
}

@media(prefers-reduced-motion:reduce){.event-w02-workbench__image,.event-w02-mobilebar{transition:none!important}.event-w02-workbench__image{transform:none!important}}
