/* Workshops page styles */

/* Layout override for full-bleed hero */
body.workshops #main{ max-width:none; margin:0; padding:0; }

/* SECTION 1 — Hero */
.workshops-hero{ 
  position:relative; 
  width:100vw; 
  left:50%; 
  margin-left:-50vw; 
  right:50%; 
  margin-right:-50vw; 
  min-height:90vh; 
  background:#000 center/cover no-repeat; 
  display:block; 
  margin-bottom:0; 
  background-position: 50% 35%; 
  overflow:hidden;
}
/* Video background */
.workshops-hero .hero-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
/* Fallback background image for browsers that don't support video */
.workshops-hero{ background-image:url('/public/images/workshops/workshops-1.jpg'); }
@media (min-width: 981px){
  .workshops-hero{ background-size: 120% auto; background-position: 50% 32%; }
}
.workshops-hero .hero-overlay{ 
  position:absolute; 
  inset:0; 
  background: linear-gradient(135deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.35) 30%, rgba(0,0,0,.5) 70%, rgba(0,0,0,.55) 100%);
}
.workshops-hero .hero-inner{ 
  position:relative; 
  z-index:1; 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:80px var(--container-pad,24px); 
  min-height:85vh; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
}
.workshops-hero .hero-copy{ 
  max-width: 80ch; 
  color:#fff; 
  text-align:center; 
  margin-left:auto; 
  margin-right:auto; 
  position:relative;
}
.workshops-hero h1{ 
  margin:0 0 32px; 
  font-size: clamp(32px, 5.5vw, 64px); 
  line-height:1.1; 
  font-weight:800; 
  letter-spacing:-0.02em;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #e2e8f0 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-shadow: 0 4px 20px rgba(0,0,0,.4);
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.3));
}
.workshops-hero .lead{ 
  margin:24px auto 45px; 
  max-width: 35ch; 
  font-size: clamp(18px, 2.2vw, 22px); 
  color:#f8f8f8; 
  font-family: 'Inter', Arial, sans-serif;
  font-weight:300; 
  line-height:1.5;
  text-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.workshops-hero .cta-row{
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
.workshops-hero .btn-primary{ 
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:18px 36px; 
  border-radius:50px; 
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 50%, #a855f7 100%);
  color:#fff; 
  text-decoration:none; 
  font-weight:600; 
  font-size:16px;
  transition:all .3s ease; 
  min-width:240px; 
  text-align:center;
  box-shadow: 0 12px 40px rgba(108,43,217,.4), 0 4px 16px rgba(0,0,0,.2);
  border: 2px solid transparent;
  position:relative;
  overflow:hidden;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.workshops-hero .btn-primary::before{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(255,255,255,.2) 0%, rgba(255,255,255,0) 100%);
  opacity:0;
  transition:opacity .3s ease;
}
.workshops-hero .btn-primary:hover{ 
  transform:translateY(-3px); 
  box-shadow: 0 16px 50px rgba(108,43,217,.5), 0 8px 24px rgba(0,0,0,.3);
  background: linear-gradient(135deg, #8b5cf6 0%, var(--primary) 50%, #7c3aed 100%);
}
.workshops-hero .btn-primary:hover::before{
  opacity:1;
}
.workshops-hero .btn-primary:active{
  transform:translateY(0);
}

/* SECTION 2 — Vertical Tabs + Dynamic Info Panel */
/* Outcomes Stat Band */
.ws-stats{ 
  position:relative; 
  padding:80px 0; 
  margin-bottom:100px; 
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
  overflow:hidden;
}
.ws-stats::before{
  content:'';
  position:absolute;
  inset:0;
  background: radial-gradient(ellipse at 50% 0%, rgba(108,43,217,.08) 0%, transparent 70%);
  pointer-events:none;
}
.ws-stats .wrap{ 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:0 var(--container-pad,24px); 
  position:relative;
  z-index:1;
}
.ws-stats .stats{ 
  list-style:none; 
  margin:0; 
  padding:0; 
  display:grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap:24px; 
  align-items:center; 
}
.ws-stats .stats li{ 
  background: rgba(255,255,255,.85); 
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border:1px solid rgba(255,255,255,.4); 
  border-radius:24px; 
  padding:40px 28px; 
  text-align:center; 
  box-shadow: 0 12px 40px rgba(0,0,0,.12), 0 2px 0 rgba(255,255,255,.6) inset; 
  display:flex; 
  flex-direction:column; 
  justify-content:center; 
  align-items:center; 
  min-height:160px; 
  position:relative; 
  overflow:hidden; 
  transition: all .4s ease; 
  will-change: transform; 
  --rx:0deg; 
  --ry:0deg; 
  transform: perspective(700px) rotateX(var(--rx)) rotateY(var(--ry));
}
.ws-stats .stats li::before{
  content:'';
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(108,43,217,.1) 0%, rgba(108,43,217,.05) 100%);
  opacity:0;
  transition:opacity .3s ease;
}
.ws-stats .stats li::after{ 
  content:""; 
  position:absolute; 
  inset:0; 
  border-radius:20px; 
  padding:2px; 
  background: linear-gradient(135deg, rgba(108,43,217,.6), rgba(108,43,217,.2)); 
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); 
  mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); 
  -webkit-mask-composite: xor; 
  mask-composite: exclude; 
  pointer-events:none; 
  opacity:0; 
  transition: opacity .3s ease; 
}
@media (hover: hover) and (pointer: fine){
  .ws-stats .stats li:hover{ 
    transform: perspective(700px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-4px); 
    box-shadow: 0 20px 40px rgba(0,0,0,.12), 0 1px 0 rgba(255,255,255,.6) inset;
  }
  .ws-stats .stats li:hover::before{
    opacity:1;
  }
  .ws-stats .stats li:hover::after{ 
    opacity:1; 
  }
}
.reduce-motion .ws-stats .stats li{ transition:none; }
.ws-stats .num{ 
  font-size: clamp(36px, 5vw, 48px); 
  font-weight:800; 
  letter-spacing:-0.02em;
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 50%, #a855f7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin-bottom:12px;
  filter: drop-shadow(0 2px 4px rgba(108,43,217,.2));
}
.ws-stats .label{ 
  color:var(--muted); 
  font-weight:600; 
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.ws-stats-bg{ 
  position:absolute; 
  inset:auto 0 0 0; 
  height:58%; 
  background: radial-gradient(60% 80% at 50% 100%, rgba(108,43,217,.10), rgba(108,43,217,0)); 
  pointer-events:none; 
}
@media (max-width: 760px){
  .ws-stats .stats{ grid-template-columns: repeat(2, 1fr); gap:16px; }
  .ws-stats .stats li{ padding:24px 16px; min-height:120px; }
}
.ws-tabs{ 
  padding:100px 0; 
  margin-bottom:120px; 
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.ws-tabs .wrap{ 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:0 var(--container-pad,24px); 
}
.ws-grid{ 
  display:grid; 
  grid-template-columns: clamp(360px, 34vw, 420px) 1fr; 
  gap:48px; 
  align-items:stretch; 
}
.ws-col.tabs{ 
  display:grid; 
  grid-template-columns: 32px 1fr; 
  align-items:start; 
  min-height: clamp(340px, 42vh, 460px); 
}
.tab-chevron{ 
  color:var(--primary); 
  font-size:32px; 
  line-height:1; 
  transform: translateX(-8px); 
  transition: transform .3s ease; 
  filter: drop-shadow(0 2px 8px rgba(108,43,217,.2));
}
.visually-hidden{ 
  position:absolute !important; 
  height:1px; 
  width:1px; 
  overflow:hidden; 
  clip:rect(1px,1px,1px,1px); 
  white-space:nowrap; 
}
.tablist{ 
  display:flex; 
  flex-direction:column; 
  gap:16px; 
  justify-content:center; 
  height:100%; 
  padding:8px 0; 
}
.tab{ 
  appearance:none; 
  -webkit-appearance:none; 
  display:block; 
  width: clamp(320px, 28vw, 380px); 
  height:80px; 
  text-align:left; 
  background: rgba(255,255,255,.9); 
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border:2px solid rgba(108,43,217,.15); 
  border-radius:24px; 
  padding:0 28px; 
  box-shadow: 0 8px 32px rgba(0,0,0,.08); 
  cursor:pointer; 
  color:#333; 
  transition: all .4s ease; 
  font-weight:600; 
  font-size: clamp(16px, 1.8vw, 18px); 
  display:flex; 
  align-items:center; 
  justify-content:flex-start; 
  position:relative;
  overflow:hidden;
}
.tab::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:4px;
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
  transform:scaleY(0);
  transition:transform .3s ease;
  transform-origin:bottom;
}
.tab:hover{ 
  transform: translateY(-4px); 
  box-shadow: 0 16px 48px rgba(0,0,0,.15);
  border-color:rgba(108,43,217,.3);
  background: rgba(255,255,255,.95);
}
.tab:hover::before{
  transform:scaleY(1);
}
.tab[aria-selected="true"]{ 
  background: linear-gradient(135deg, rgba(108,43,217,.08) 0%, rgba(108,43,217,.04) 100%);
  color:var(--primary); 
  box-shadow:0 12px 40px rgba(108,43,217,.2);
  border-color:var(--primary);
  outline:none;
  transform: translateY(-2px);
}
.tab[aria-selected="true"]::before{
  transform:scaleY(1);
}
.tab:focus-visible{ 
  outline:2px solid var(--primary); 
  outline-offset:2px; 
}
.ws-col.panel{ 
  align-self:start; 
  position:relative; 
  min-height: clamp(340px, 42vh, 460px); 
}
.tabpanel{ 
  background: linear-gradient(135deg, rgba(255,255,255,.95) 0%, rgba(248,250,252,.95) 100%);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border:1px solid rgba(255,255,255,.4);
  border-radius:28px; 
  padding:56px; 
  box-shadow: 0 24px 48px rgba(0,0,0,.12), 0 2px 0 rgba(255,255,255,.6) inset; 
  opacity:0; 
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translateY(12px); 
  transition: all .4s ease; 
  will-change: transform; 
  box-sizing:border-box; 
  position:absolute; 
  inset:0; 
  display:flex; 
  align-items:center; 
  justify-content:center; 
  --mx:50%; 
  --my:50%; 
  --glow:0; 
  --rx:0deg; 
  --ry:0deg; 
}
.tabpanel::before{ 
  content:""; 
  position:absolute; 
  inset:-2px; 
  border-radius:inherit; 
  pointer-events:none; 
  opacity:var(--glow); 
  background: radial-gradient(220px 220px at var(--mx) var(--my), rgba(108,43,217,.2), rgba(108,43,217,0) 60%); 
  filter: blur(20px); 
  transition: opacity .3s ease; 
}
@media (hover: hover) and (pointer: fine){
  .tabpanel:hover{ 
    filter: drop-shadow(0 0 24px rgba(108,43,217,.2)); 
    --glow:1; 
  }
}
.reduce-motion .tabpanel{ transition: none; }
.reduce-motion .tabpanel::before{ display:none; }
.tabpanel.active{ 
  opacity:1; 
  transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); 
}
.tabpanel[hidden]{ display:none; }
.checklist{ 
  list-style:none; 
  padding:0; 
  margin:0; 
  display:grid; 
  gap:24px; 
}
.checklist li{ 
  position:relative; 
  padding-left:56px; 
  font-size: clamp(14px, 1.6vw, 18px); 
  font-weight:400; 
  color:#333; 
  line-height:1.7;
  margin-bottom: 8px;
}
.checklist li::before{ 
  content:""; 
  position:absolute; 
  left:0; 
  top:50%; 
  transform:translateY(-50%); 
  width:28px; 
  height:28px; 
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
  border:2px solid var(--primary);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23667eea" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>');
  background-size:14px 14px;
  background-repeat:no-repeat;
  background-position:center;
  box-shadow: 0 6px 16px rgba(108,43,217,.3);
}

/* Stagger checklist items on show (kept subtle) */
.tabpanel .checklist li{ opacity:.001; transform: translateY(6px); }
.tabpanel.active .checklist li{ opacity:1; transform:none; transition: opacity .22s ease, transform .22s ease; }
.tabpanel.active .checklist li:nth-child(1){ transition-delay: 20ms; }
.tabpanel.active .checklist li:nth-child(2){ transition-delay: 40ms; }
.tabpanel.active .checklist li:nth-child(3){ transition-delay: 60ms; }
.tabpanel.active .checklist li:nth-child(4){ transition-delay: 80ms; }
.tabpanel.active .checklist li:nth-child(5){ transition-delay: 100ms; }
.tabpanel.active .checklist li:nth-child(6){ transition-delay: 120ms; }
.tabpanel.active .checklist li:nth-child(7){ transition-delay: 140ms; }
.tabpanel.active .checklist li:nth-child(8){ transition-delay: 160ms; }

/* SECTION 3 — Video Testimonial */
.ws-video{ 
  padding:100px 0; 
  margin-bottom:100px; 
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
}
.ws-video .wrap{ 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:0 var(--container-pad,24px); 
}
.ws-video-grid{ 
  display:grid; 
  grid-template-columns: 1fr 1fr; 
  gap:48px; 
  align-items:center; 
  grid-template-areas: 'video copy'; 
}
.video-placeholder{ 
  background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e1 50%, #94a3b8 100%); 
  border:2px solid rgba(255,255,255,.6); 
  border-radius:24px; 
  min-height:320px; 
  display:grid; 
  place-items:center; 
  position:relative; 
  box-shadow: 0 24px 48px rgba(0,0,0,.15), 0 2px 0 rgba(255,255,255,.6) inset; 
  width:100%; 
  max-width: 420px; 
  justify-self:center; 
  overflow:hidden;
}
.video-placeholder{ grid-area: video; }
.video-copy{ 
  grid-area: copy; 
  padding:20px 0;
}
.video-frame{ 
  position:relative; 
  width:100%; 
  border-radius:20px;
  overflow:hidden;
}
.video-cover{ 
  position:absolute; 
  inset:0; 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  border-radius:20px; 
  background:#eaeaea; 
  display:none; 
}
.video-play{ 
  position:absolute; 
  inset:0; 
  display:grid; 
  place-items:center; 
  background:rgba(0,0,0,.3); 
  border:none; 
  cursor:pointer; 
  border-radius:20px;
  transition:background .3s ease;
}
.video-play:hover{
  background:rgba(0,0,0,.4);
}
.video-play svg{ 
  transition: all .3s ease; 
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.3));
}
.video-play:hover svg{ 
  transform: scale(1.1); 
  filter: drop-shadow(0 8px 20px rgba(0,0,0,.4)); 
}
.video-play:focus-visible{ 
  outline:3px solid var(--primary); 
  outline-offset:4px; 
  border-radius:20px; 
}
.video-placeholder .play{ 
  width:88px; 
  height:88px; 
  border-radius:50%; 
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
  box-shadow: 0 8px 32px rgba(108,43,217,.4); 
  position:relative; 
  transition: all .3s ease;
}
.video-placeholder .play:hover{
  transform:scale(1.05);
  box-shadow: 0 12px 40px rgba(108,43,217,.5);
}
.video-placeholder .play::after{ 
  content:""; 
  position:absolute; 
  left:36px; 
  top:28px; 
  border-left:20px solid #fff; 
  border-top:14px solid transparent; 
  border-bottom:14px solid transparent; 
}
.video-placeholder figcaption{ 
  position:absolute; 
  left:20px; 
  top:20px; 
  color:rgba(255,255,255,.9); 
  font-weight:600; 
  background:rgba(0,0,0,.5);
  padding:8px 12px;
  border-radius:8px;
  backdrop-filter:blur(10px);
}
.video-copy h2{ 
  margin:0 0 20px; 
  font-size: clamp(32px, 4.5vw, 42px); 
  font-weight:700;
  background: linear-gradient(135deg, #1e293b 0%, #475569 50%, #64748b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.1));
}
.video-copy p{ 
  font-size: clamp(16px, 1.8vw, 18px); 
  color:#64748b;
  line-height:1.6;
  font-weight:400;
}

/* SECTION 4 — Gallery */
.ws-gallery{ 
  padding:100px 0; 
  margin-bottom:120px; 
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
}
.ws-gallery .wrap{ 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:0 var(--container-pad,24px); 
}
.ws-gallery h2{ 
  margin:0 0 48px; 
  font-size: clamp(32px, 4.5vw, 42px); 
  font-weight:700;
  text-align:center;
  background: linear-gradient(135deg, #1e293b 0%, #475569 50%, #64748b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.1));
}
.gallery{ 
  position:relative; 
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
  border-radius:28px;
  padding:32px;
  box-shadow: 0 24px 48px rgba(0,0,0,.12);
  border: 1px solid rgba(255,255,255,.5);
}
.g-viewport{ 
  overflow:hidden; 
  border-radius:20px; 
  position:relative; 
  box-shadow: 0 12px 40px rgba(0,0,0,.15);
}
.g-track{ 
  display:flex; 
  transition: transform .5s ease; 
  will-change: transform; 
}
.g-slide{ 
  flex:0 0 100%; 
  width:100%; 
  aspect-ratio: 16 / 9; 
  background:#eaeaea; 
  border-radius:20px;
  overflow:hidden;
}
.g-slide img{ 
  width:100%; 
  height:100%; 
  object-fit:cover; 
  display:block; 
  transition:transform .3s ease;
}
.g-slide:hover img{
  transform:scale(1.02);
}
.g-btn{ 
  position:absolute; 
  top:50%; 
  transform:translateY(-50%); 
  width:64px; 
  height:64px; 
  border-radius:50%; 
  border:2px solid rgba(255,255,255,.9); 
  background:rgba(255,255,255,.95); 
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  display:grid; 
  place-items:center; 
  cursor:pointer; 
  z-index:2; 
  transition:all .4s ease;
  box-shadow: 0 12px 32px rgba(0,0,0,.2);
  color:var(--primary);
  font-size:22px;
  font-weight:bold;
}
.g-btn:hover{
  background: linear-gradient(135deg, var(--primary) 0%, #8b5cf6 100%);
  color:#fff;
  transform:translateY(-50%) scale(1.15);
  box-shadow: 0 16px 40px rgba(108,43,217,.4);
}
.g-btn.prev{ left:16px; }
.g-btn.next{ right:16px; }
.g-dots{ 
  display:flex; 
  justify-content:center; 
  gap:12px; 
  margin-top:24px; 
}
.g-dots button{ 
  width:12px; 
  height:12px; 
  padding:0; 
  border-radius:50%; 
  border:none; 
  background:rgba(108,43,217,.2); 
  cursor:pointer; 
  display:inline-block; 
  line-height:0; 
  box-sizing:border-box; 
  appearance:none; 
  -webkit-appearance:none; 
  flex:0 0 auto; 
  transition:all .3s ease;
}
.g-dots button[aria-current="true"]{ 
  background:var(--primary); 
  transform:scale(1.2);
}
.g-dots button:hover{
  background:rgba(108,43,217,.4);
  transform:scale(1.1);
}
.g-dots button:focus-visible{ 
  outline:2px solid var(--primary); 
  outline-offset:2px; 
}

/* FAQ */
.ws-faq{ 
  padding:100px 0; 
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 50%, #e2e8f0 100%);
}
.ws-faq .wrap{ 
  max-width: var(--container-max, 1200px); 
  margin:0 auto; 
  padding:0 var(--container-pad,24px); 
}
.ws-faq h2{ 
  margin:0 0 56px; 
  font-size: clamp(32px, 4.5vw, 42px); 
  font-weight:700;
  text-align:center;
  background: linear-gradient(135deg, #1e293b 0%, #475569 50%, #64748b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.1));
}
.faq{ 
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(24px);
  -webkit-backdrop-filter:blur(24px);
  border-radius:24px;
  padding:40px;
  box-shadow: 0 24px 48px rgba(0,0,0,.12);
  border:1px solid rgba(255,255,255,.4);
}
.faq-item{ 
  border-bottom:1px solid rgba(108,43,217,.1); 
  transition:all .3s ease;
}
.faq-item:last-child{
  border-bottom:none;
}
.faq-item:hover{
  background:rgba(108,43,217,.02);
  border-radius:12px;
  margin:0 -12px;
  padding:0 12px;
}
.faq-q{ 
  all:unset; 
  display:flex; 
  justify-content:space-between; 
  align-items:center; 
  width:100%; 
  cursor:pointer; 
  padding:20px 0; 
  font-weight:600; 
  font-size:16px;
  color:#1e293b;
  transition:color .3s ease;
}
.faq-q:hover{
  color:var(--primary);
}
.faq-q::after{ 
  content:'+'; 
  color:var(--primary); 
  font-size:20px;
  font-weight:bold;
  transition: all .3s ease; 
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(108,43,217,.1);
  border-radius:50%;
}
.faq-q[aria-expanded="true"]::after{ 
  content:'−'; 
  transform: rotate(0.001deg); 
  background:var(--primary);
  color:#fff;
}
.faq-a{ 
  padding:0 0 20px; 
  color:#64748b; 
  line-height:1.6;
  font-size:15px;
}

/* Responsive */
@media (max-width: 980px){
  .ws-grid{ grid-template-columns: 280px 1fr; gap:32px; }
  .ws-tabs{ padding:60px 0; }
}

@media (max-width: 760px){
  .ws-grid{ grid-template-columns: 1fr; gap:24px; }
  .tab-chevron{ display:none; }
  .ws-col.tabs{ grid-template-columns: 1fr; min-height:auto; }
  .tablist{ 
    flex-direction:column; 
    overflow:visible; 
    gap:12px; 
    padding-bottom:0; 
    justify-content:center; 
    align-items:center; 
    height:auto; 
  }
  .tab{ 
    width:100%; 
    max-width:520px; 
    min-width:0; 
    height:64px; 
    font-size: clamp(16px, 4vw, 18px); 
    padding:0 20px;
  }
  .ws-col.panel{ min-height:unset; }
  .tabpanel{ 
    position:static; 
    margin-top:20px; 
    width:100%; 
    padding:32px 24px;
  }
  .ws-stats{ padding:40px 0; }
  .ws-stats .stats{ gap:16px; }
  .ws-stats .stats li{ padding:24px 16px; min-height:120px; }
  .ws-tabs{ padding:60px 0; margin-bottom:60px; }
  .ws-video{ padding:60px 0; margin-bottom:60px; }
  .ws-gallery{ padding:60px 0; margin-bottom:60px; }
  .ws-faq{ padding:60px 0; }
}

@media (max-width: 700px){
  .ws-video-grid{ 
    grid-template-columns: 1fr; 
    grid-template-areas: 'copy' 'video'; 
    gap:32px;
  }
  .video-placeholder{ 
    max-width: 100%; 
    min-height:240px;
  }
  .video-copy{ 
    text-align:center; 
    padding:0;
  }
  .video-copy h2{ 
    font-size: clamp(24px, 6.5vw, 28px); 
  }
  .gallery{
    padding:16px;
  }
  .g-btn{
    width:48px;
    height:48px;
    font-size:18px;
  }
  .g-btn.prev{ left:12px; }
  .g-btn.next{ right:12px; }
  .faq{
    padding:24px 20px;
  }
  .faq-q{
    padding:16px 0;
    font-size:15px;
  }
}

@media (max-width: 480px){
  .workshops-hero .hero-inner{
    padding:60px var(--container-pad,20px);
  }
  .workshops-hero h1{
    font-size: clamp(28px, 8vw, 40px);
  }
  .workshops-hero .lead{
    font-size: clamp(16px, 4vw, 18px);
  }
  .workshops-hero .btn-primary{
    padding:14px 24px;
    font-size:15px;
    min-width:200px;
  }
  .ws-stats .stats{ 
    grid-template-columns: 1fr; 
    gap:12px; 
  }
  .ws-stats .stats li{ 
    padding:20px 16px; 
    min-height:100px; 
  }
  .tab{
    height:56px;
    padding:0 16px;
  }
  .tabpanel{
    padding:24px 20px;
  }
  .checklist li{
    font-size:16px;
    padding-left:40px;
  }
  .checklist li::before{
    width:20px;
    height:20px;
    background-size:10px 10px;
  }
}


