/* Virtual Workshops. Existing site palette; teal is shared with aeo.css. */
.ws { --ws-teal:#1f6f78; --ws-mist:#e3f0f1; }
.ws h1 { font-size:clamp(2.25rem,4.5vw,3.6rem); line-height:1.12; }
.ws h2 { font-size:clamp(1.8rem,3vw,2.5rem); }
.ws p + p { margin-top:1rem; }
.ws p { line-height:1.8; }
.ws a:not(.btn):not(.ws-card) { text-decoration:underline; text-underline-offset:4px; }
.ws .btn { margin-top:1.6rem; white-space:normal; text-align:center; }
.ws .eyebrow { color:var(--color-navy); }
.ws-index-hero { padding:8rem 0 4.5rem; background:var(--color-gold-pale); }
.ws-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center; }
.ws-index-hero h1 { margin:1rem 0 1.4rem; }
.ws-lead { font-size:1.25rem; line-height:1.6; margin:1.5rem 0; }
.ws-photo { margin:0; }
.ws-photo img { width:100%; height:auto; aspect-ratio:4/5; max-height:560px; object-fit:cover; object-position:center 25%; border-radius:var(--radius-lg); }
.ws-index-hero .ws-photo { border-bottom:12px solid var(--ws-teal); padding-bottom:1.2rem; }
.ws-section-heading { display:grid; grid-template-columns:1fr 1fr; gap:3rem; margin-bottom:2.5rem; align-items:end; }
.ws-section-heading p { max-width:38rem; margin:0; }
.ws-section-heading h2 { margin-top:.5rem; }
.ws-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.ws-card { display:flex; flex-direction:column; padding:2rem; background:var(--color-bg-soft); color:var(--color-text); border:1px solid var(--color-bg-border); border-top:5px solid var(--color-gold); border-radius:var(--radius); transition:transform .2s,box-shadow .2s; }
.ws-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); color:var(--color-text); }
.ws-card:focus-visible { outline:3px solid var(--color-navy); outline-offset:4px; }
.ws-card h3 { font-size:1.45rem; line-height:1.3; margin:0 0 1rem; }
.ws-card .ws-purpose { color:var(--color-navy); font-weight:600; margin:0; }
.ws-card .ws-benefit { margin:1rem 0 1.5rem; line-height:1.75; }
.ws-card .ws-length { margin:auto 0 0; padding-top:1rem; border-top:1px solid var(--color-bg-border); font-size:.9rem; color:var(--color-navy); }
.ws-card-systems { border-top-color:var(--ws-teal,#1f6f78); }
.ws-card-winback { background:var(--color-gold-pale); }
.ws-card-ai-search { background:var(--ws-mist,#e3f0f1); border-top-color:var(--ws-teal,#1f6f78); }
.ws-method { background:var(--ws-mist); }
.ws-method-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; }
.ws-method-photo { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:14px; margin-top:2rem; display:block; box-shadow:0 18px 40px rgba(15,29,51,.14); }
.ws-method h2 { margin:.5rem 0 1.5rem; }
.ws-method-list { list-style:none; counter-reset:method; }
.ws-method-list li { position:relative; padding:0 0 1.5rem 3.5rem; margin-bottom:1.5rem; border-bottom:1px solid var(--color-bg-border); counter-increment:method; }
.ws-method-list li::before { content:counter(method); position:absolute; left:0; color:var(--ws-teal); font-size:1.8rem; font-weight:700; }
.ws-method-list h3 { margin-bottom:.8rem; }
.ws-index-close { background:var(--color-bg-warm); text-align:center; }
.ws-index-close h2 { margin:.8rem 0 1.2rem; }
.ws-index-close p { max-width:44rem; margin:auto; }
.ws-detail-hero { padding:7rem 0 4rem; background:var(--color-navy); color:#fff; }
.ws-detail-hero h1,.ws-detail-hero h2 { color:#fff; }
.ws-detail-hero .eyebrow { color:var(--color-gold-light); }
.ws-detail-hero .ws-back { color:#fff; display:inline-block; margin-bottom:2.5rem; }
.ws-detail-grid { display:grid; grid-template-columns:1.2fr .8fr; align-items:center; gap:4rem; }
.ws-detail-hero h1 { margin:.8rem 0 1.2rem; }
.ws-subtitle { color:var(--color-gold-light); font-weight:600; font-size:1.15rem; }
.ws-hero-meta { font-size:.95rem; }
.ws-takeaway { padding:2rem; border:1px solid var(--color-gold); border-radius:var(--radius-lg); }
.ws-takeaway h2 { font-size:1.4rem; line-height:1.45; margin:1rem 0 1.4rem; }
.ws-takeaway ul { padding-left:1.25rem; }
.ws-takeaway li { margin-bottom:1rem; }
.ws-takeaway p { font-size:.9rem; }
.ws-concept-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:5rem; align-items:start; }
.ws-concept h2 { margin:.7rem 0 1.5rem; }
.ws-change { background:var(--color-bg-soft); border-radius:var(--radius-lg); padding:2rem; }
.ws-change div + div { padding-top:1.5rem; margin-top:1.5rem; border-top:1px solid var(--color-bg-border); }
.ws-change span { color:var(--ws-teal); font-weight:700; font-size:.9rem; }
.ws-change p { font-size:1.2rem; margin-top:.5rem; color:var(--color-navy); }
.ws-change small { display:block; margin-top:1.5rem; line-height:1.7; }
.ws-sessions { background:var(--color-gold-pale); }
.ws-session-list { list-style:none; margin:0; }
.ws-session-list li { display:grid; grid-template-columns:10rem 1fr; gap:2rem; padding:2rem 0; border-top:1px solid var(--color-gold); }
.ws-session-number { font-weight:700; color:var(--color-navy); font-size:1.1rem; }
.ws-session-list h3 { font-size:1.4rem; margin-bottom:1rem; }
.ws-deliverable { border-left:3px solid var(--ws-teal); padding-left:1rem; }
.ws-extras { padding:1.5rem 2rem; background:#fff; border-radius:var(--radius); margin-top:1.5rem; }
.ws-fit { background:var(--color-bg-soft); }
.ws-fit h2 { margin:.7rem 0 1.2rem; }
.ws-facts { margin:1.5rem 0; }
.ws-facts div { padding:1rem 0; border-bottom:1px solid var(--color-bg-border); }
.ws-facts dt { font-weight:700; color:var(--color-navy); }
.ws-facts dd { margin-top:.3rem; }
.ws-register { background:var(--ws-mist); scroll-margin-top:5rem; }
.ws-register-grid { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; }
.ws-register h2 { margin:.8rem 0 1.4rem; }
.ws-rounds { list-style:none; margin:1.8rem 0; }
.ws-rounds li { padding:1.3rem 0; border-top:1px solid var(--ws-teal); display:grid; gap:.4rem; }
.ws-rounds small { line-height:1.7; }
.ws-booking { background:#fff; padding:2.5rem; border-radius:var(--radius-lg); }
.ws-booking h3 { font-size:1.25rem; }
.ws-booking .ws-price { font-size:2.3rem; color:var(--color-navy); font-weight:700; margin:.6rem 0; }
.ws-booking hr { border:0; border-top:1px solid var(--color-bg-border); margin:2rem 0; }
.ws-booking .btn { display:block; }
.ws-small { font-size:.9rem; margin-top:1.5rem; }
.ws-guarantee { background:var(--color-navy); color:#fff; }
.ws-guarantee .container { max-width:900px; text-align:center; }
.ws-guarantee h2 { color:#fff; margin-bottom:1.5rem; }
.ws-guarantee p { font-size:1.15rem; }
.ws-faq .container { max-width:900px; }
.ws-faq h2 { margin:.7rem 0 2rem; }
.ws-faq details { padding:1.4rem 0; border-top:1px solid var(--color-bg-border); }
.ws-faq summary { cursor:pointer; font-size:1.08rem; font-weight:600; color:var(--color-navy); }
.ws-faq details p { margin-top:1rem; }
.ws-final { background:var(--color-bg-warm); text-align:center; }
.ws-final p { margin:1.3rem auto 0; max-width:45rem; }
.ws-other { display:block; margin-top:1.8rem; }
.ws-placement { background:var(--color-gold-pale); }
.ws-index-link { margin-top:1.8rem; font-weight:600; }
.ws-theme-systems .ws-sessions,.ws-theme-ai-search .ws-sessions { background:var(--ws-mist); }
.ws-theme-systems .ws-register,.ws-theme-ai-search .ws-register { background:var(--color-gold-pale); }
.ws-theme-winback .ws-detail-hero { background:var(--color-navy-deep); }
.ws-notice-form { color:var(--color-text); }
.ws-notice-form .apx-form-h { font-size:1.5rem; }
@media(max-width:900px) {
  .ws-hero-grid,.ws-detail-grid,.ws-concept-grid,.ws-register-grid,.ws-method-grid { grid-template-columns:1fr; gap:2.5rem; }
  .ws-section-heading { grid-template-columns:1fr; gap:1rem; }
  .ws-index-hero { padding:6.5rem 0 3rem; }
  .ws-detail-hero { padding:6.5rem 0 3rem; }
  .ws-fit .ws-photo { max-width:720px; }
}
@media(max-width:600px) {
  .ws-cards { grid-template-columns:1fr; }
  .ws-card,.ws-takeaway,.ws-change,.ws-booking { padding:1.5rem; }
  .ws-session-list li { grid-template-columns:1fr; gap:.75rem; }
  .ws-detail-hero .ws-back { margin-bottom:1.6rem; }
  .ws .btn { width:100%; }
  .ws h1 { overflow-wrap:break-word; }
}

.ws-notice-form { --a-accent:var(--color-gold); --a-accent-ink:var(--color-navy-deep); }
.ws-stories { background:var(--color-bg-warm); }
.ws-stories h2 { margin:.7rem 0 2rem; }
.ws-stories article { display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; padding:1.8rem 0; border-top:1px solid var(--color-bg-border); }
.ws-stories h3 { font-size:1.4rem; line-height:1.4; }
@media(max-width:700px) { .ws-stories article { grid-template-columns:1fr; gap:1rem; } }
/* Global paragraph colors are dark; explicitly restore copy on dark sections. */
.ws-detail-hero p,.ws-guarantee p { color:#fff; }
.ws-detail-hero .ws-subtitle { color:var(--color-gold-light); }

.ws-photo figcaption { margin-top:.75rem; font-size:.9rem; color:var(--color-navy); }

.ws .ws-refund-line { font-size:.95rem; line-height:1.65; font-weight:600; color:var(--color-navy); margin-top:1rem; border-left:3px solid var(--color-gold); padding-left:1rem; }
.ws-index-guarantee { margin-top:2rem; padding:2rem; background:var(--color-gold-pale); border-radius:var(--radius); }
.ws-index-guarantee h3 { font-size:1.4rem; margin-bottom:.8rem; }
.ws-index-guarantee p { margin-top:.6rem; }

.ws-guarantee-personal { display:grid; grid-template-columns:140px 1fr; gap:2rem; align-items:center; }
.ws-guarantee-personal img { width:140px; height:180px; object-fit:cover; border-radius:var(--radius); }
.ws-guarantee-personal div { text-align:left; }
.ws-guarantee-personal .ws-promise-owner { font-size:.95rem; color:var(--color-gold-light); margin-top:1rem; }
@media(max-width:600px) { .ws-guarantee-personal { grid-template-columns:1fr; gap:1.5rem; } .ws-guarantee-personal img { width:100px; height:128px; } }

.ws-photo-scene img { aspect-ratio:3/2; max-height:none; object-fit:contain; }
.ws-photo-scene figcaption { font-size:.8rem; line-height:1.6; }

.ws-extras h3 { margin-bottom:1rem; }
.ws-extras ul { padding-left:1.25rem; }
.ws-extras li + li { margin-top:.85rem; }
